![fontforge sort glyphs fontforge sort glyphs](http://legionfonts.com/img-fonts/dragon-order/og-dragon-order-font-abc.jpg)
What comes after - the OpenType Layout features substituting and positioning glyphs - follows from what the shaping engine understands the text to be, and the path from the character code to the glyph index and through the layout features. The shaping engine is entirely dependent on the Unicode script property of the character in the text, and the mapping of the character code to a glyph index in the font cmap table. The shaping engine has no idea what the glyph looks like or whether it's shape is Hebrew or Syriac. If you want Syriac shaping, you have to provide Syriac characters to the shaping engine if you provide Hebrew characters, you're going to get Hebrew shaping.Ī glyph is just an index in a font.
![fontforge sort glyphs fontforge sort glyphs](http://legionfonts.com/img-fonts/dragon-order/dragon-order-font-preview.jpg)
There is no mechanism by which you can encode text as Hebrew and tell it to behave like Syriac, because Syriac shaping behaviour is based on the text being encoded as Syriac characters. There are two interfaces between character space and glyph space: the font cmap table, which maps characters to their default glyphs and the shaping engine, which activates some of the glyph features in the font based on analysis of the text string. if you want to be able to display Hebrew text in Syriac, you should actually convert the text to Syriac characters using a macro of some kind.īut I am having the same thoughts as Michel's: doesn't Opentype support some kind of pre-transform function of Unicode points? Really, this sort of thing should be happening at the text processing level, not the font level. So it is difficult to get Syriac shaping to happen on Hebrew characters. The Hebrew shaping engine does not do this kind of analysis and does not apply those features, because Hebrew is not treated as a joining script by Unicode. The biggest difference between Hebrew and Syriac shaping engines is that the latter does joining property analysis on the text and applies associated shaping features etc. This means that any OpenType GSUB and GPOS lookups you want to be applied to the glyphs mapped from those characters a) need to be associated with the script tag, and b) need to be associated with layout features that are processed by the Hebrew shaping engine. So when you have a sequence of Hebrew Unicode characters, these are going to be identified as Hebrew by the software, and passed to the Hebrew shaping engine.
FONTFORGE SORT GLYPHS SOFTWARE
The first step of OpenType Layout processing is for software to itemise runs of text according to Unicode script property of the characters, and then to pass the itemised runs to the appropriate shaping engine. To confirm I understand, you are mapping Syriac glyphs to Hebrew Unicode codepoints in the font cmap table? I can guess why you might be doing this, but it isn't really a good idea.