Hello, I have been using the FreeSans font in an application that displays Yiddish text using Unicode combining characters. In Yiddish, for the "pasekh tsvey yudn" and "khirik yud" character combinations, the convention is to "raise" the vowel. This is done for Yiddish only, not Hebrew. With FreeSans, "pasekh tsvey yudn" is displayed properly; however, "khirik yud" is not. I looked through the source code of FreeSans.sfd to try to determine why this was happening and saw that there was a yodhiriqhebrew ("khirik yud") definition set up; however, it was not being displayed. The yodyodpatahhebrew ("pasekh tsvey yudn") definition was being displayed properly so I looked through the source to see why it was being displayed and the yodhiriqhebrew combination was not.
First, since "pasekh tsvey yudn" is displaying with a raised vowel, I looked at the definition for it in the font source: StartChar: yodyodpatahhebrew Encoding: 64287 64287 1299 Width: 400 Flags: HMW LayerCount: 2 Fore Refer: 853 1463 S 1 0 0 1 -99 280 2 Refer: 2821 1522 S 1 0 0 1 0 0 2 Validated: 32769 Ligature2: "'ccmp' Glyph Composition/Decomposition in Yiddish" yodyodhebrew patahhebrew LCarets2: 1 0 Ligature2: "'liga' Standard Ligatures in Hebrew subtable" yodyodhebrew patahhebrew EndChar I noted that the "Ligature2" element has two separate definitions for ccmp & liga. Then, I looked for the definition of "khirik yud" in the source: StartChar: yodhiriqhebrew Encoding: 64285 64285 1297 Width: 200 Flags: HMW LayerCount: 2 Fore Refer: 875 1497 N 1 0 0 1 0 0 2 Refer: 850 1460 N 1 0 0 1 -203 278 2 Validated: 32769 Ligature2: "'ccmp' Glyph Composition/Decomposition in Yiddish" yodhebrew hiriqhebrew EndChar The "Ligature2" element had only one definition for ccmp. So, I used FontForge to add the Ligature2 liga reference: StartChar: yodhiriqhebrew Encoding: 64285 64285 1297 Width: 200 Flags: HMW LayerCount: 2 Fore Refer: 875 1497 N 1 0 0 1 0 0 2 Refer: 850 1460 N 1 0 0 1 -203 278 2 Validated: 32769 Ligature2: "'liga' Standard Ligatures in Hebrew subtable" yodhebrew hiriqhebrew Ligature2: "'ccmp' Glyph Composition/Decomposition in Yiddish" yodhebrew hiriqhebrew EndChar Now, for both "pasekh tsvey yudn" and "khirik yud" combinations, the vowels are raised. So, for Yiddish-only, this modification works fine and the mod could potentially be incorporated into the font. Unfortunately, the vowels are raised regardless of whether I display Hebrew text (the vowels shouldn't be raised for Hebrew) with an HTML xml:lang="he" lang="he" or Yiddish text (the vowels should be raised for Yiddish) with an HTML xml:lang="yi" lang="yi". So, my question is: how is it possible to specify that the "pasekh tsvey yudn" and "khirik yud" combinations will be used with raised vowels for Yiddish but without raised vowels for Hebrew? Is this a bug in the font definition or do I need to do something else in my HTML code to correctly indicate whether the font should use the 'liga' lookup definitions? - Ze'ev