Skip to content

Monospace output fonts lose some OpenType feature code that they ideally shouldn’t lose  #26

@arrowtype

Description

@arrowtype

Note: this probably isn’t a huge issue if you are using the Monospace fonts here, in code editors, unless you really need localized forms, or advanced accent placement features that aren’t covered by Recursive’s precomposed accent glyphs.


The issue

In #25, I take a more surgical/simple approach to updating code ligatures from dlig to calt feature tags. However, I can’t do that in the fully monospace output fonts, because they need code ligatures to become monospace, and therefore they need entirely different code ligature logic, with LIG glyphs added in to fill space.

So, I should ideally be taking a more surgical approach to updating calt code in the monospace fonts, as well. But, it’s harder to do there.

While I’m in the headspace of all this, here’s a guess at how I might be able to approach it:

  1. Use otf2fea to extract .fea syntax code from the output fonts.
  2. Remove only code that is related to dlig/calt features (probably easier said than done... and possibly, this step could simply be skipped? Maybe duplicate feature code wouldn’t be a problem, here, so long as calt comes second... or possibly, you could just remove something small to deactivate the old dlig feature... this needs testing!)
  3. Add the premade calt feature code to the extracted feature code, at the end.
  4. Use the fontTools.feaLib builder.addOpenTypeFeatures() to replace existing OT feature code with newly edited feature code.

I probably won’t do this super soon, as no issues have come in about people actually missing the extended feature code in Rec Mono Code fonts. But, this would be nice to fix, all the same.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions