Skip to content

ttf files in root of project confuse build #78

@bobh0303

Description

@bobh0303

Apparently the presence of a ttf file (at least if it has the same file name as a built ttf) confuses smith.

Example:

  • Clone Lateef
  • Build just the Regular font by executing
smith distclean; smith configure; smith build -v -j1 --regOnly

Note the first step of the build is psfcreateinstances, as it should be:

[ 1/14] source/instances/Lateef-Regular.ufo: source/lateef.designspace -> results/source/instances/Lateef-Regular.ufo
13:54:27 runner " psfcreateinstances -q ... 

For this analysis, the pertinent build steps include, in order:
-- psfcreateinstances
-- psfufo2ttf
-- psfexportanchors
-- psfmakefea
-- psfbuildfea
-- psfchangettfglyphnames

  • Copy the built ttf to the root:
cp results/Lateef-Regular.ttf .
  • Now build again with the same distclean/configure/build -v -j1 --regOnly as above
  • Notice that the build fails
  • Notice also how the build does not start with psfcreateinstances:
[ 1/15] tmp/Lateef-Regular.ttf: Lateef-Regular.ttf -> results/tmp/Lateef-Regular.ttf
13:56:52 runner ['cp', '../Lateef-Regular.ttf', 'tmp/Lateef-Regular.ttf']
[ 2/15] source/instances/Lateef-Regular.ufo: source/lateef.designspace -> results/source/instances/Lateef-Regular.ufo
13:56:52 runner " psfcreateinstances -q -l  ...

It appears to be copying the ttf file from the root into the results tree.

Worse, the sequence of build steps are now:
-- psfcreateinstances
-- psfufo2ttf
-- psfexportanchors
-- psfmakefea
-- psfchangettfglyphnames
-- psfbuildfea
Those last two steps are in the reverse order -- it renames the glyphs to production names and then tries to compile the fea, which of course fails.

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