Soy un desarrollador de fuentes. Quiero fusionar un código DSIG en una fuente con formato TrueType (TTF) que lo hace compatible con las aplicaciones de Microsofts que utilizan características OpenType. He tenido este trabajo antes, pero ahora sólo puede producir un archivo font.ttf de cero bytes. Estoy usando Kit de desarrollo de Adobe Font (AFDKO) ). como se indica junto con el Terminal para hacer la fusión. Agradecería saber por qué me sale un archivo de cero bytes.
Aquí está mi método paso a paso, seguido del código resultante de la ventana del Terminal.
-
Inicie una nueva sesión de Terminal e introduzca
which ttx
Un camino que termina en ttx significa que se puede ir.
-
Pega este fragmento
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
después de introducir la tecla de retorno:
open .
Esto crea una nueva carpeta en el escritorio titulada 'Dsig fldr'. Dentro habrá un archivo recién creado titulado 'dsig.ttx' para usar con esta rutina:
-
Arrastre la aplicación TTX a la Terminal (ya que aceptó su fragmento Dsig fldr):
/Users/adrianshome/Downloads/fonttools-2.4/Tools/ttx
-
Escriba: -m (sin olvidar un espacio después de la m).
/Users/adrianshome/Desktop/Dsig\ fldr/SassoBooIta.ttf /Users/adrianshome/Desktop/Dsig\ fldr/dsig.ttx
En primer lugar, elimine todos los archivos dsig#.ttf en el fldr Dsig si hay alguno.
A continuación, para cada archivo de fuentes:
- Arrastre el archivo de fuentes ttf al terminal (por ejemplo, SassoBoo.ttf)
- Arrastra dsig.ttx al terminal y pulsa return
Eso compilará sólo dsig.ttx, fusionará el DSIG en SassoBoo.ttf y producirá un archivo llamado dsig.ttf en el fldr de Dsig, así que ahora
- Cambiar el nombre de dsig.ttf por SassoBoo algo.ttf (el nombre original del archivo TrueType)
Hay formas mucho mejores de proceder utilizando scripts.
No cambie los pasos 3 y 4. Tienes que poner el archivo .ttf antes del archivo .ttx.
Notas: dsig.ttx y todos sus archivos .ttf deben residir en la carpeta Dsig fldr. La aplicación TTX puede vivir en cualquier lugar, ya que al arrastrarla se inserta la ruta cada vez.
Este es el código resultante de la Terminal:
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'
0 votos
Intentaré editar esto para que el formato sea más claro, aunque puede que tengas que volver a introducir algunos datos si me equivoco...
0 votos
Parece que se han añadido algunos espacios y saltos de línea adicionales. Una cosa a tratar sería utilizar un editor de texto para comprobar o volver a hacer el archivo en el
cat
paso. Parece que tienes una secuencia de dígitos y luego un salto de línea antes de que termine el archivo. Intente lo siguientenano
para editar ese archivo, ya que no codifica el texto y tiene ayuda en pantalla. También - ¿tiene un ejemplo de trabajo para comprobar contra el que falla?