From: <Sha...@si...> - 2007-07-19 20:53:24
|
One of the things the compiler does is set the directionality for each glyph. This is done by first finding the default value based on the Unicode properties (via ICU) and then using any values spelled out in the GDL. However, there is a line in the compiler that says "Don't bother doing this if the font has no Bidi pass." This isn't quite adequate. Even for a font that isn't right-to-left or bidirectional itself, it needs to be able to reorder whitespace at the end of a line when it is combined with text of a different script and direction. And Graphite wants to use the directionality attribute of the space glyphs to do this. My inclination is to get rid of the test that says, "Don't do this if the font has no Bidi pass." That would add a slight bit of time to the compiler, but who would notice? Really I think the only difference is that maybe you don't want warnings if there is no Bidi pass. But now that we're using ICU, it should always be possible to set the default. If we leave it the way it is, a font developer can still make it work by explicitly putting the directionality codes in the GDL. But it's easy to forget to do that--like I forgot for our Roman fonts--and it really shouldn't be necessary. |