Menu

#28 Vertical metrics not saved properly when generating a TTC file

v1.0 (example)
open
nobody
None
5
2024-02-10
2024-02-10
ykawara
No

I have five fonts, in which some glyphs are identical across all fonts but have different vertical metrics in one of them.
I have generated them as one .ttc file with the most recent version of FontForge.

When I open, from the .ttc file, the font in which they are different, the vertical metrics have been altered to that of the other fonts.

For example, take ( U+FE35 and )U+FE36. Originally,
( has different vector data and different metrics,
) has the same vector data and different metrics.

In the generated ttc,
( has correct metrics.
) has mistaken metrics.

I used the ttx command from fonttools to inspect the .ttc file, and the vertical metrics table (vmtx) shows:

<mtx name="uniFE35" height="4096" tsb="2899"/>
<mtx name="uniFE35#1" height="2048" tsb="850"/>
<mtx name="uniFE36" height="4096" tsb="119"/>
<mtx name="uniFE37" height="4096" tsb="2737"/>
<mtx name="uniFE37#1" height="2048" tsb="688"/>

The character map table (cmap) shows:

<map code="0xfe35" name="uniFE35#1"/><!-- PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS -->
<map code="0xfe36" name="uniFE36"/><!-- PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS -->
<map code="0xfe37" name="uniFE37#1"/><!-- PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET -->

There should be a uniFE36#1 in (vmtx) and (cmap) should link to it...

I think the TTC generation should not only check glyph similarity but also vertical metrics!

Discussion


Log in to post a comment.