Bug 67328 - Wrong vertical placement of bottom vowel signs (nikkud) in Hebrew for short and tall letters
Summary: Wrong vertical placement of bottom vowel signs (nikkud) in Hebrew for short a...
Status: RESOLVED NOTOURBUG
Alias: None
Product: HarfBuzz
Classification: Unclassified
Component: src (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Behdad Esfahbod
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-26 01:17 UTC by Yotam Benshalom
Modified: 2013-08-04 22:03 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Problematic and non-problematic fonts (17.59 KB, application/vnd.oasis.opendocument.text)
2013-08-03 20:48 UTC, Yotam Benshalom
Details
ok vs. bad "below" vowel placement (32.63 KB, image/png)
2013-08-04 22:01 UTC, Yotam Benshalom
Details

Description Yotam Benshalom 2013-07-26 01:17:07 UTC
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.
Comment 1 Khaled Hosny 2013-08-03 19:42:35 UTC
Please specify the font used and/or attach sample document showing the described issue.
Comment 2 Yotam Benshalom 2013-08-03 20:48:37 UTC
Created attachment 83595 [details]
Problematic and non-problematic fonts
Comment 3 Yotam Benshalom 2013-08-03 20:49:43 UTC
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.
Comment 4 Khaled Hosny 2013-08-03 22:00:39 UTC
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.
Comment 5 Yotam Benshalom 2013-08-03 22:05:45 UTC
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?
Comment 6 Khaled Hosny 2013-08-04 06:25:31 UTC
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.
Comment 7 Behdad Esfahbod 2013-08-04 21:47:21 UTC
Please attach a screenshot of good/bad please.
Comment 8 Behdad Esfahbod 2013-08-04 21:49:14 UTC
Perhaps the "below" marks should never rise above the baseline?  Jonathan?
Comment 9 Yotam Benshalom 2013-08-04 22:00:24 UTC
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.
Comment 10 Yotam Benshalom 2013-08-04 22:01:20 UTC
Created attachment 83629 [details]
ok vs. bad "below" vowel placement
Comment 11 Behdad Esfahbod 2013-08-04 22:03:56 UTC
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.