Arthur Reutenauer wrote:
if i know the precise specs i can build it into the utf collapser
I can work that out for you, but we need to think about how to treat all this consistently, in particular with respect to the questions Mojca raised:
· Equivalent sequences need to be treated the same way (c + combining caron == ccaron). · If we need to compose a glyph out of other glyphs, it may be accounted for by some OpenType feature (in particular GPOS 'mark' and 'mkmk'). · If nothing else is available, the good ol' TeX way using \accent is still valid, but we need to preserve the original Unicode data in the PDF (for searching, etc.).
(1) mkiv already has (actually it was one of the first thing simplemented) an utf composition handler; this one is initialized using the big char table which has information about the formal composition sequences an option is to add more to this (like the lcaron); fo rthose who want to play with it i added a command (beta upload) \definecomposedutf 318 108 126 % lcaron keep in mind that this acts on the input, so it may mess up definitions that contain l~ sequences; any input processing cq. token processing (later stage) is kind of dangerous (2) it is possible (but no handy interface yet, i may make it a 'context' font feature) to complete a font with all it's composed char susing virtual fotn trickery (see mk.pdf) which resolves the missing glyph issue (3) letter this year (after mplib) we will pick up a 'glyph not present in font' callback that's on our agenda (4) another option is to deal with it in the node list handlers, but if possible i want to avoid this (the more passes, the slower) [there is already quite some framework present in mikv, but not always interfaced; much of this is also used in performance testing and such and some is reported in mk.pdf] ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------