After updating LibreOffice to 4.1, which uses HarfBuzz, on Ubuntu 13.04, the horizontal placement of Hebrew vowel signs improved greatly. However, the vertical placement has now a problem. Most of the vowel signs are located below the letter. This works well for most of the letters. However, for tall letters that go beneath the line (ן, ק, ף, ך, ץ) and for short letters which start above it (י) this creates a problem. The bottom vowel signs should be at the same height, regardless of the letter. But using HarfBuzz, the Vowel sign is too low for tall letters and too high for the short one. Example: Compare the rendering of the following words in Firefox (vertically correct) and in LibreOffice 4.1 (vertically incorrect): הָיָה (short letter) אֵלֵיךָ (tall letter) Please let me know if I can supply more information.
Please specify the font used and/or attach sample document showing the described issue.
Created attachment 83595 [details] Problematic and non-problematic fonts
Hi Khaled, You are right - this problem occurs only in some fonts. It happens on Naclieli CLM, Aharoni CLM, Drugluin CLM (all from culmus package) and Times New Roman, Arial and Courier New (from msttcorefonts). It does not happen on David CLM, Simple CLM, Frank Ruhel CLM, Hadasim CLM, Miriam Mono CLM (culmus) and on Dejavu Sans, FreeSans and Keter YG. I attach a document demonstrating the issue.
Naclieli CLM, Aharoni CLM and Drugluin CLM are Type1 fonts, as such they lack any mark positioning support. My copies of Times New Roman, Arial and Courier New lack any mark positioning support for Hebrew as well (from Windows XP, newer version might have better support, but I can not check at the moment). In both cases one ends up with HarfBuzz’s mark positioning heuristic, which is, though much better than nothing, still a heuristic and can not substitute proper mark positioning in the fonts.
Thank you for the clarification. But since the rule involved here is simple - the vowel signs that go below the letter (אַאָאִאְאֳאֲאֱאֻ) should all be at the same plane as if the letter is of "normal" height, such as א - can't it be implemented in the mark positioning heuristic?
This seems to be a result of how the marks are placed relative to base line in the font. Even with Uniscribe’s mark positioning heuristic, they are placed vertically at different levels (though for some marks it is slightly different from HarfBuzz’s), so I dodn’t think much can be done here, but I’ll leave this to Behdad to comment on.
Please attach a screenshot of good/bad please.
Perhaps the "below" marks should never rise above the baseline? Jonathan?
I attach a screeenshot of the problem. You may note that in some of the fonts I marked as OK, the vowel sign אְ is indeed above the base line when it is attached to the letter ך. This is ok, although completely optional. There is no problem with a heuristic rule which dictates that "below" marks should never rise above the baseline or sink under it.
Created attachment 83629 [details] ok vs. bad "below" vowel placement
On further thought, given how controversial the heuristic has been in the past, lets not touch it I guess...
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.