tonsky / tonsky/FiraCode

Build is broken on current gftools

Open
#1,105 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Clojure
Stars
82k
Forks
3.2k
PR merge metrics
No merged PRs in 30d

Description

Building the font with gftools 0.3.14 is broken:

Traceback (most recent call last):
  File "/usr/bin/gftools-fix-vf-meta.py", line 206, in <module>
    main()
  File "/usr/bin/gftools-fix-vf-meta.py", line 196, in main
    update_nametable(roman_font)
  File "/usr/bin/gftools-fix-vf-meta.py", line 134, in update_nametable
    raise ValueError(f"Fvar instance coord {wght_val} needs to be "
ValueError: Fvar instance coord 450.0 needs to be within range 0-1000 and be a multiple of 100

This can be hacked around to build by disabling these two lines:

gftools fix-vf-meta $firaCodeVF
mv $firaCodeVF.fix $firaCodeVF

Obviously that isn't the right fix, but I don't know what is. Probably a map between the hundred-increment weight classes and the actual point on the weight interpolation scale you want it to map too.

(Just checked and the latest gftools 0.4.0 is giving the same error.)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with gftools 0.3.14 or 0.4.0 using the build invocation that runs gftools fix-vf-meta and moves the .fix file back. Inspect the font build inputs and weight interpolation values around the reported 450.0 coordinate. Done means the font builds successfully without disabling those two commands.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.