Skip to content

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

@Yukinoroh

Description

@Yukinoroh

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 (2023-01-01).

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, across the fonts,
( 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions