Closed scottkz closed 3 years ago
The error is ./build.sh: line 20: ttx: command not found
That means the shell can't find ttx
on the PATH
.
What do you see when you run where ttx
or where fonttools
?
I use pyenv
to manage my Python install. Did you install Python using Homebrew?
I had previously installed it directly from python.org and had to clean up my files of all those files before I installed it using pyenv. I used pyenv on an older mac and it works great. I'm getting it set up now, and see if it can find ttx and fonttools after. I'll let you know as soon as I do. Thanks!
Works now that I'm using pyenv. Thanks again!
This didn't fix the issue for me. Neither with system python, pyenv python or when installing fonttools into a local virtualenv
Any ideas?
ERROR: File not found: "./original/OperatorMonoSSm-Bold.otf"
Reading original font file ./original/OperatorMonoSSm-Bold.ttx
node:internal/fs/utils:320
throw err;
^
Error: ENOENT: no such file or directory, open './original/OperatorMonoSSm-Bold.ttx'
at Object.openSync (node:fs:495:3)
at Object.readFileSync (node:fs:396:35)
at main (/Users/david/src/operator-mono-lig/index.js:31:18)
at Object.<anonymous> (/Users/david/src/operator-mono-lig/index.js:436:1)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Module.load (node:internal/modules/cjs/loader:973:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
at node:internal/main/run_main_module:17:47 {
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: './original/OperatorMonoSSm-Bold.ttx'
}
usage: ttx [options] inputfile1 [... inputfileN]
TTX -- From OpenType To XML And Back
If an input file is a TrueType or OpenType font file, it will be
decompiled to a TTX file (an XML-based text format).
If an input file is a TTX file, it will be compiled to whatever
format the data is in, a TrueType or OpenType/CFF font file.
Output files are created so they are unique: an existing file is
never overwritten.
General options:
-h Help: print this message.
--version: show version and exit.
-d <outputfolder> Specify a directory where the output files are
to be created.
-o <outputfile> Specify a file to write the output to. A special
value of - would use the standard output.
-f Overwrite existing output file(s), ie. don't append numbers.
-v Verbose: more messages will be written to stdout about what
is being done.
-q Quiet: No messages will be written to stdout about what
is being done.
-a allow virtual glyphs ID's on compile or decompile.
Dump options:
-l List table info: instead of dumping to a TTX file, list some
minimal info about each table.
-t <table> Specify a table to dump. Multiple -t options
are allowed. When no -t option is specified, all tables
will be dumped.
-x <table> Specify a table to exclude from the dump. Multiple
-x options are allowed. -t and -x are mutually exclusive.
-s Split tables: save the TTX data into separate TTX files per
table and write one small TTX file that contains references
to the individual table dumps. This file can be used as
input to ttx, as long as the table files are in the
same directory.
-g Split glyf table: Save the glyf data into separate TTX files
per glyph and write a small TTX for the glyf table which
contains references to the individual TTGlyph elements.
NOTE: specifying -g implies -s (no need for -s together with -g)
-i Do NOT disassemble TT instructions: when this option is given,
all TrueType programs (glyph programs, the font program and the
pre-program) will be written to the TTX file as hex data
instead of assembly. This saves some time and makes the TTX
file smaller.
-z <format> Specify a bitmap data export option for EBDT:
{'raw', 'row', 'bitwise', 'extfile'} or for the CBDT:
{'raw', 'extfile'} Each option does one of the following:
-z raw
* export the bitmap data as a hex dump
-z row
* export each row as hex data
-z bitwise
* export each row as binary in an ASCII art style
-z extfile
* export the data as external files with XML references
If no export format is specified 'raw' format is used.
-e Don't ignore decompilation errors, but show a full traceback
and abort.
-y <number> Select font number for TrueType Collection (.ttc/.otc),
starting from 0.
--unicodedata <UnicodeData.txt> Use custom database file to write
character names in the comments of the cmap TTX output.
--newline <value> Control how line endings are written in the XML
file. It can be 'LF', 'CR', or 'CRLF'. If not specified, the
default platform-specific line endings are used.
Compile options:
-m Merge with TrueType-input-file: specify a TrueType or OpenType
font file to be merged with the TTX file. This option is only
valid when at most one TTX file is specified.
-b Don't recalc glyph bounding boxes: use the values in the TTX
file as-is.
--recalc-timestamp Set font 'modified' timestamp to current time.
By default, the modification time of the TTX file will be used.
--no-recalc-timestamp Keep the original font 'modified' timestamp.
--flavor <type> Specify flavor of output font file. May be 'woff'
or 'woff2'. Note that WOFF2 requires the Brotli Python extension,
available at https://github.com/google/brotli
--with-zopfli Use Zopfli instead of Zlib to compress WOFF. The Python
extension is available at https://pypi.python.org/pypi/zopfli
ERROR: File not found: "./build/OperatorMonoSSmLig-Bold.ttx"
Figured it out. I wasn't aware how picky it is about the file names
I need to update the build scripts to quit on error and display a meaningful message instead of giving you a big wall of text. Sorry for the confusion.
I installed fonttools with
pip3 install fonttools
, and I have node.js installed as well, v14.15.1 (LTS), I placed my two files in the original folder and I get this error. Filenames areOperatorMono-Book.otf
andOperatorMono-BookItalic.otf
. Am I doing something wrong here?./build.sh
67.87.22.204 41% Building OperatorMonoLig-Book ./build.sh: line 20: ttx: command not found Reading original font file ./original/OperatorMono-Book.ttx internal/fs/utils.js:307 throw err; ^
Error: ENOENT: no such file or directory, open './original/OperatorMono-Book.ttx' at Object.openSync (fs.js:476:3) at Object.readFileSync (fs.js:377:35) at main (/Users/Scott/operator-mono-lig/index.js:31:18) at Object. (/Users/Scott/operator-mono-lig/index.js:436:1)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47 {
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: './original/OperatorMono-Book.ttx'
}
./build.sh: line 23: ttx: command not found
./build.sh: line 25: fonttools: command not found
Building OperatorMonoLig-BookItalic
./build.sh: line 20: ttx: command not found
Reading original font file ./original/OperatorMono-BookItalic.ttx
internal/fs/utils.js:307
throw err;
^
Error: ENOENT: no such file or directory, open './original/OperatorMono-BookItalic.ttx' at Object.openSync (fs.js:476:3) at Object.readFileSync (fs.js:377:35) at main (/Users/Scott/operator-mono-lig/index.js:31:18) at Object. (/Users/Scott/operator-mono-lig/index.js:436:1)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47 {
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: './original/OperatorMono-BookItalic.ttx'
}
./build.sh: line 23: ttx: command not found
./build.sh: line 25: fonttools: command not found