From: Martin H. <mar...@si...> - 2013-11-13 08:21:29
|
Dear Krzysztof, > PS. Your hints make me think about redesigning my font to less based on > glyphs to more based on rules. As perhaps in most of alphabets, we can find > returning fragments of glyphs, that can be glued together into complete > glyph by rules of positioning. That might be interesting experiment, and > such a font could be easier to be graphically redesigned, as it would have > to redraw only these parts of glyphs. Of course, first I want to finish > this, what I had begun. This raises an issue that needs to be more widely understood. GDL supports the concept of pseudo glyphs, and they can be really useful. But there is a situation where they can become problematic and that is where the pseudo glyph is given a Unicode value. In effect the GDL author is trying to add an entry into the cmap to a pseudo glyph. Given a string of characters containing a character for which there is a pseudo glyph, the graphite engine will do the right thing. The problem is that in the places where Graphite runs, there is also another dynamic going on which is font linking. If a character is missing from a font, the application will take remedial steps either to find a glyph for that one character from another font, or even switch font from there on. The applications often do this without consulting Graphite at all. They look in the cmap of the font, find that there is no entry and so assume the font doesn't support the character. They then break the run at that point and Graphite never gets to see the presumed missing character for it to do pseudoglyph replacement on it. So my advice is that people not use pseudo-glyphs which specify a Unicode cmap entry. Instead add a dummy glyph to the font and put a real entry in the cmap, using some other tool such as a font editor like fontforge. Yours, Martin |