> > classes > > <Alike> = A :A 'A `A ... ; > > <CJKpunct> = U+3000 - U+303F; > > <Hiragana> = U+3040 - U+309F; > > ... > > > > <CJK> = <CJKpunct> <Hiragana> ... ; > > > > properties > > <CJK> width 24 > > ... > > <Alike> kern V -3 > > I see. I had imagined the same thing with just the properties and > no classes, like the POSIX locale files.
Interesting. Maybe we can reuse some code for quicker coding. I'm open to suggestions how the syntax should look like. Note that a glyph name within groff is almost arbitrary; to mark classes as such we need an escape mechanism in case the class marker(s) is used elsewhere in the `classes' and `properties' sections. > The classes make it easier to write small font files. On the other > hand, the classes are arbitrary: two font files can describe exactly > the same properties with very different class definitions. Not sure > whether that's good or bad. For the moment, I don't care. Later on, we could provide an `include' section which makes it possible to load default classes from another file, to be overwritten on demand. > > I've no idea how to store such information efficiently within > > memory. > > The three-level tables that are used in glibc's localedef program > appear suitable here. They can store for example an complete width > table for Unicode in ca. 12 KB, with an O(1) access (ca. 3 memory > references). Sounds great! Werner _______________________________________________ Groff mailing list Groff@gnu.org http://lists.gnu.org/mailman/listinfo/groff