Sono uno sviluppatore di font. Voglio unire un codice DSIG in un formato TrueType ( TTF) , che lo rende compatibile con le applicazioni Microsofts che utilizzano le funzionalità OpenType. Ho avuto questo lavoro prima, ma ora può solo produrre un file di byte.ttf zero byte. Utilizzo Adobe Development Kit Kit (AFDKO ). come prescritto insieme a Terminal per fare l'unione. Gradirei sapere perché ottengo un file di byte zero?
Ecco il mio metodo passo-passo, seguito dal codice della finestra Terminale risultante.
-
Avvia una nuova sessione Terminale e inserisci
which ttx
Un percorso che termina con ttx significa andare bene.
-
Incolla questo snippet ...
FLDR="${HOME}/Desktop/Dsig fldr" mkdir -p "$FLDR" cd "$FLDR" cat > dsig.ttx<<EOF <?xml version="1.0" encoding="ISO-8859-1"?> <ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.4"> <DSIG> <hexdata> 00000001 00000000 </hexdata> </DSIG> </ttFont> EOF
quindi dopo aver inserito la chiave di ritorno:
open .
Crea una nuova cartella sul desktop intitolata "Dsig fldr". All'interno verrà creato un file appena creato denominato "dsig.ttx" da utilizzare con questa routine:
-
Trascina l'app TTX su Terminale (dato che ha accettato il frammento di Dsig fldr):
/Users/adrianshome/Downloads/fonttools-2.4/Tools/ttx
-
Scrivi: -m (senza dimenticare uno spazio dopo la m).
/Users/adrianshome/Desktop/Dsig\ fldr/SassoBooIta.ttf /Users/adrianshome/Desktop/Dsig\ fldr/dsig.ttx
Prima rimuovi tutti i file dsig # .ttf in Dsig fldr se ce ne sono.
Quindi per ogni file di font:
- Trascina il file di font ttf sul terminale (ad esempio SassoBoo.ttf)
- Trascina dsig.ttx sul terminale e premi Invio
Questo compilerà solo dsig.ttx, unirà il DSIG in SassoBoo.ttf e produrrà un file chiamato dsig.ttf nel Dsig fldr, quindi ora ...
- Rinomina dsig.ttf come SassoBoo something.ttf (il nome file TrueType originale)
Ci sono modi migliori per procedere usando gli script.
Non passare i passaggi 3 e 4. È necessario inserire il file .ttf prima del file .ttx.
Note: dsig.ttx e tutti i tuoi file .ttf devono risiedere nella cartella Dsig fldr. L'app TTX può vivere ovunque, poiché il trascinamento di esso inserisce il percorso ogni volta.
Ecco il codice terminale risultante:
Last login: Thu Mar 31 11:41:06 on ttys001
Adrians-iMac:~ adrianshome$ which ttx
/Users/adrianshome/bin/FDK/Tools/osx/ttx
Adrians-iMac:~ adrianshome$ FLDR="${HOME}/Desktop/Dsig fldr"
Adrians-iMac:~ adrianshome$ mkdir -p "$FLDR"
Adrians-iMac:~ adrianshome$ cd "$FLDR"
Adrians-iMac:Dsig fldr adrianshome$ cat > dsig.ttx<<EOF
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.4">
> <DSIG>
> <hexdata>
> 00000001 00000000
> </hexdata>
> </DSIG>
> </ttFont>
> EOF
Adrians-iMac:Dsig fldr adrianshome$ open .
Adrians-iMac:Dsig fldr adrianshome$ /Applications/FDK/Tools/osx/ttx -m /Applications/Dsig\ fldr/CUP\ Folder\ alpha/SassPenTra.ttf /Users/adrianshome/Desktop/Dsig\ fldr/dsig.ttx
Compiling "/Users/adrianshome/Desktop/Dsig fldr/dsig.ttx" to "/Users/adrianshome/Desktop/Dsig fldr/dsig.ttf"...
Parsing 'DSIG' table...
Traceback (most recent call last):
File "/Applications/FDK/Tools/osx/../SharedData/FDKScripts/ttx.py", line 329, in <module>
main(sys.argv[1:])
File "/Applications/FDK/Tools/osx/../SharedData/FDKScripts/ttx.py", line 309, in main
process(jobs, options)
File "/Applications/FDK/Tools/osx/../SharedData/FDKScripts/ttx.py", line 294, in process
action(input, output, options)
File "/Applications/FDK/Tools/osx/../SharedData/FDKScripts/ttx.py", line 216, in ttCompile
ttf.save(output)
File "/Applications/FDK/Tools/osx/Python/Current/lib/python2.7/site-packages/FontToo ls/fontTools/ttLib/__init__.py", line 214, in save
self._writeTable(tag, writer, done)
File "/Applications/FDK/Tools/osx/Python/Current/lib/python2.7/site-packages/FontToo ls/fontTools/ttLib/__init__.py", line 629, in _writeTable
tabledata = self.getTableData(tag)
File "/Applications/FDK/Tools/osx/Python/Current/lib/python2.7/site-packages/FontToo ls/fontTools/ttLib/__init__.py", line 642, in getTableData
return self.tables[tag].compile(self)
File "/Applications/FDK/Tools/osx/Python/Current/lib/python2.7/site-packages/FontToo ls/fontTools/ttLib/tables/D_S_I_G_.py", line 60, in compile
packed = sstruct.pack(DSIG_HeaderFormat, self)
File "/Applications/FDK/Tools/osx/Python/Current/lib/python2.7/site-packages/FontToo ls/fontTools/misc/sstruct.py", line 68, in pack
value = obj[name]
KeyError: 'ulVersion'