Skip to content

otfcc-driven patching workflow #83

@be5invis

Description

@be5invis

Given that some of the programming fonts (like Iosevka) may contain special metadata to achieve some special targets (like being used within Windows console window). Therefore the current patching script (using FontForge) may not be appropriate since FontForge cannot generate a font with such specialized data. A replacement used for patching may be involved with otfcc, which is a high-performance font manipulator dumps a font into JSON, and vice versa.

We can investigate an alternative patching script using otfcc, to create a “special-data-preserving” font patching workflow.


PROPOSAL

  1. Dump <target.ttf> into JSON <target.otd> using otfccdump.
  2. Build a <patch.ttf> containing Nerd symbols matching <target.otd>’s head.unitsPerEm.
  3. Dump <patch.ttf> into JSON <patch.otd> with glyph names prefixed.
  4. Merge <patch.otd> into <target.otd> (using some script. Python?), with the following tables merged:
    • cmap
    • glyf
  5. Build <product.ttf> from <target.otd> using otfccbuild with --keep-average-char-width and --ship options.
  6. (optional) Autohint <product.ttf> with ttfautohint.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions