Reputation: 1
(making indic unicode fonts using Fontlab8, but can't seem to find a way to implement the code for Non Zero Width Joiner (NZWJ) and Zero With Joiner (ZWJ)
how to write the code for NZWJ and ZWJ characters in the features file and how to test it once implemented
No help found online or in Microsoft documentation
Upvotes: 0
Views: 64
Reputation: 3650
Your font needs to map the ZWJ and ZWNJ characters to glyph IDs in the cmap table. Then, you reference those glyph IDs in GSUB lookups as needed.
To see an example, you can download and install the Microsoft VOLT tool: https://learn.microsoft.com/en-us/typography/tools/volt/. In the install folder, there will be a "Supplemental Files" subfolder that contains two sample font files: Arabtype.volt.ttf and mangal.volt.ttf. These fonts include VOLT source data. If you launch the VOLT tool then open one of those fonts, you'll see the descriptions for a number of features and lookups that implement those features. One of these lookups includes the glyph for ZWJ, with the glyph name "uni200D":
In this case, uni200D is part of a lookahead context glyph sequence. But it could also have been referenced in an input sequence.
This example is in VOLT, but the principles will be the same in some other feature syntax.
Upvotes: 1