notofonts / hebrew

Noto Hebrew
SIL Open Font License 1.1
2 stars 1 forks source link

Regression on Three Yiddish spacing (#39) #52

Closed markhdavid closed 4 months ago

markhdavid commented 5 months ago

When the source for Noto Sans was recently clobbered with a version forked some time ago, the same bug as in issue #39 came back. To test, I loaded the Sans source file into Glyphs App, exported the font, and did similar tests to those in issue #39, which see.

markhdavid commented 5 months ago

NB: fixes for #38 must be reapplied after this issue has been resolved. Fixes for #38 seem to have been applied, and they generally look OK, but I saw in at least one case they're not precisely correct. But I didn't fully check them out, since they need to be done afterwards. I would like to fix both of these together. What do you think @simoncozens ?

simoncozens commented 5 months ago

I've fixed the spacing again, and re-centered the marks. Hopefully now anyone who wants to typeset 30 double-yods and 60 yods in a row will be able to do so...

markhdavid commented 5 months ago

I've fixed the spacing again, and re-centered the marks. Hopefully now anyone who wants to typeset 30 double-yods and 60 yods in a row will be able to do so...

That's just a test case, not a realistic case to be avoided. More common would be totally unexpected wordwrapping differently if you used ligature versions of the combinations vs. not.

markhdavid commented 5 months ago

I've ... re-centered the marks

@simoncozens it appears you are centering the bottom x anchor between the left and right sidebearings of the double-yud or double-vov glyphs, or at least in some cases. That's not not how I specified it in issue #38, and not how I did it for all 3 fonts - Sans, Serif, and Rashi to fix original issue #38. Instead, the bottom x anchor should be centered between the bottom x anchors of the individual Yud or Vov subglyphs when they are placed side by side. The idea is: if the bottom x anchor of a single Yud or single Vov is not precisely centered within its bounding box, then the bottom x anchor of a double Yud or double Vov should also reflect this asymmetry. The formula I used was

(left component anchor x + left component set width + left component anchor x) / 2

Also, though I did not specify this, I round up in cases of results ending .5, since Glyphs App allows only integers.

There are only 2 glyphs to change in 4 weights. Thus, 8 adjustments. Can this be reopened and these adjustments made? I'd be happy to make these 8 adjustments.

simoncozens commented 5 months ago

You're welcome to work on it!

markhdavid commented 4 months ago

I created a fix branch in my fork. First, I did the adjustments to the anchor x as discussed above. In doing so, I realized the patah position in U+FB1F [ײַ] HEBREW_LIGATURE_YIDDISH_YOD_YOD_PATAH should be likewise adjusted. Then in doing so, I noticed the set width for this character was slightly off and still needed adjustment. So I adjusted that character's glyph as well for both the set width and the patah position. Will be in my PR, forthcoming.

simoncozens commented 4 months ago

Thanks for your work on this!