Closed markhdavid closed 7 months ago
This issue is very similar to issue https://github.com/meirsadan/david-libre/issues/19 for David Libre, filed by yours truly, @markhdavid.
I would like to be assigned this bug. I've been given the go-ahead by @simoncozens to work on https://github.com/notofonts/hebrew/issues/38. Note that the fix for this issue #39 should go in before #38, since it directly impacts it.
Upon further investigation, I tested additional weights, finding that double-yod ligature character (U+05D5 [ו] HEBREW_LETTER_VAV
) in Thin weight for Rashi has this issue. This weight corresponds to Light layer in the .glyphs source file for these characters. I'll include fixes for this in my forthcoming PR.
Here's an hb-view
command to test this and resulting screenshot: (Refer to issue description, under Harfbuzz hb-view and hb-shape
, for additional details.)
hb-view --font-file NotoRashiHebrew-Thin.ttf --text-file test-all-yiddish-ligatures.txt --output-file "rashi-ligatures-Thin.png"
=> resulting rashi-ligatures-Thin.png
image:
Note that the screenshot also reveals defects with double-vav and vav-yud, but those were already known/reported. The newly discovered defect is with the double-yod ligature. Also note that the precomposed double-yod-with-patah ligature (U+FB1F [ײַ] HEBREW_LIGATURE_YIDDISH_YOD_YOD_PATAH
) is correct in this weight.
Font
Where the font came from, and when
Font Version
Issue
For a proportional font such as any of the Noto Hebrew variants Sans, Rashi, or Serif, set widths for the three so-called Yiddish ligatures
and the alphabebetic presentation form variant
ought to be the same as the sums of the set widths for their respective equivalent component base characters. E.g., the set width of
which has as components two VAV characters should be the same as the sum of the set widths of two individual VAV characters, that is, a sequence of two of the following character
U+05D5 [ו] HEBREW_LETTER_VAV
Users ought to be able to expect that for any properly designed proportional font the spacing of a sequence of yod or vav characters will be correct and the same, whether the sequence is via the Yiddish ligature character or via a sequence of the equivalent components.
2 of the 3 Hebrew font families have some version of this general bug: Sans and Rashi. Details below.
An easy way to observe this is to make a line of text consisting of a good number, say 30, of one of the ligature characters, e.g., (װ) side-by-side, with a vertical bar (|) character at the beginning and end. Then under that put a line of the same number of pairs of component characters, e.g., in this example וו, with the same vertical bars. See that the vertical bars line up. If not, this ligature's set width in the font is incorrect, and it ought to be adjusted to match the pair of component characters. (See below under
character data
for a sample text file incorporating the above approach.) Here's a sample test text for double-vav:After trying testing all the combinations in all three fonts Rashi, Sans, and Serif, here's a summary of the problem cases (marked "bad):
Expected these ligature characters to have same set width as their corresponding component pair.
Additional information
Character data
Compare
Here is a text file,
test-all-yiddish-ligatures.txt
, containing all the above cited test text and using the above testing approach, usable in theTools
section below: test-all-yiddish-ligatures.txtScreenshot
Sans: issue demonstrated for
U+05F0 [װ]
:Rashi: issue demonstrated for
U+05F0 [װ]
andU+05F1 [ױ]
:Tools for reporting bugs
Harfbuzz hb-view and hb-shape
To reproduce for each of the two fonts that have this bug: