notofonts / latin-greek-cyrillic

Noto Latin, Greek, Cyrillic
SIL Open Font License 1.1
35 stars 7 forks source link

Noto Serif Italic: Hinting for 'X' is mangled #244

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Check out revision 3bd8e46 or later of 
fonts/individual/hinted/NotoSerif-Italic.ttf.
2. Render the character 'X' in this font on a system with bytecode hinting 
enabled (e.g., Windows, recent versions of Freetype).

What is the expected output? What do you see instead?
Expected: The character looks like a normal X.
Actual: The character looks vaguely like an X, but is extremely misshapen.

What version of the product are you using? On what operating system?
Revision 3bd8e46 or aae16d0; Windows 7.

Please provide any additional information below.
Screenshot of Windows' font rendering is attached.

Original issue reported on code.google.com by codeman38 on 26 Feb 2015 at 4:49

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by stua...@google.com on 28 Feb 2015 at 12:45

marekjez86 commented 9 years ago

jungshik, could we try this somewhere. I wanted to learn more about hints in fonts/systems

jungshik commented 8 years ago

I confirmed this issue with FreeType. See the screenshots below (this has only Latin 'xX', but Cyrilic has the same problem).

With BCI hint ON : image

With Hint OFF: image

With FT's autohint

image

jungshik commented 8 years ago

@waksmonskiMT : can you talk to your team to fix this issue? Thanks

jungshik commented 8 years ago

@marekjez86 : The above screenshots were produced with Freetype's (Freetype demo's) ftview tools. You need to download both freetype2 and ft2demos tarballs and uncompress them side-by-side. Then, build freetype and ft2demos and go to ft2demos/bin. Run ./ftview -m 'xX' 24 <path to a font>. You can control hinting with 'h' and 'H' key in ftview. Press '?' to see the help.

jungshik commented 8 years ago

@BrianKraimerMT FYI.

I confirmed what @davelab6 wrote. Noto Serif Italic 1.03 is fine, but 1.04 has this bug.

jungshik commented 8 years ago

ХхΧχXx

Greek (U+03A7; Χ) and Cyrillic (U+0425; Х) have the same problem. Apparently, they're all mapped to the same glyph as Latin 'X'.

image

Besides, Noto Serif Bold Italic is fine.

jungshik commented 8 years ago

There's no difference between cvt, fpgm and gasp tables between 1.03 and 1.04. In the diff of glyf table between 1.03 and 1.04, I didn't find anything that would prevent us from hot-fixing BCI instruction for 'X', either.

jungshik commented 8 years ago

1.04 with BCI for 'X' transplanted from 1.03 (everything else unchanged).

image

1.04 (original) image

L: native hint (BCI) Center: auto-hinter R: no hint

codeman38 commented 8 years ago

Looking at the TTX decompilation, it looks like somehow the hints from "W" (starting in 183 38 1 ...) got accidentally copied to "X" in 1.04.

jungshik commented 8 years ago

@davelab6 Can you update Noto Serif in Google Font to the latest git version?