Con OpenType Feature Freezer , puede "congelar" algunas características de OpenType en una fuente.
Estas características están "activadas de forma predeterminada", por lo que los caracteres previamente accesibles a través de características de OpenType solamente (como Capas pequeñas, Números OldStyle o Forms localizados) ahora serán accesibles incluso en aplicaciones que no admiten características de OpenType, como LibreOffice, OpenOffice o en aplicaciones que no admiten una característica particular, como Microsoft Office en caso de pequeñas tapas.
Nota: Esta herramienta realmente reasigna la tabla cmap de la fuente aplicando las características GSUB especificadas. No funcionará para sustituciones donde ninguno de los glifos tiene entradas cmap . Solo se admiten sustituciones individuales y alternativas.
Esta herramienta viene en dos versiones: OTFeatureFreezer : una aplicación simple GUI (gráfica) para macOS y Windows que puede descargar y ejecutar sin ninguna perparación especial, y PyftFeatFreeze : una aplicación CLI (línea de comandos) que requirió Python 3.6 o más nueva para instalarse en su computadora.
Versión actual: 1.32
Esta herramienta requiere que Python 3.6 o superior se instale primero. Consíguelo de https://www.python.org o su administrador de paquetes.
Recomendamos usar PIPX para instalar herramientas de línea de comandos de Python. Pipx los mete bien en su computadora y le brinda una manera fácil de agregar, actualizar y eliminar las herramientas de Python en todas las plataformas, sin dejar un desastre en su instalación de Python.
pipx install opentype-feature-freezer
Instálelo con pip , como cualquier otro paquete de Python.
# This is best done inside a virtual environment, so you don't pollute
# your Python installation and need no special privileges to install anything.
pip install --upgrade opentype-feature-freezer
Si esto no funciona, intente:
python3 -m pip install --user --upgrade opentype-feature-freezer
pip install --upgrade git+https://github.com/twardoch/fonttools-opentype-feature-freezer
Si esto no funciona, use:
python3 -m pip install --user --upgrade git+https://github.com/twardoch/fonttools-opentype-feature-freezer
pip install --upgrade configparser antes de instalar Supongamos que tiene la fuente Charissil-R.TTF (con el nombre del menú "Charis Sil"), y esta fuente incluye verdaderas capas pequeñas accesibles a través de las características de diseño OpenType c2sc (para mayúsculas) y smcp (para minúsculas). Digamos que le gustaría hacer una segunda fuente donde las verdaderas Capas pequeñas estén disponibles de forma predeterminada. Solo corre:
pyftfeatfreeze -f 'c2sc,smcp' -S -U SC -R 'Charis SIL/Charix,CharisSIL/Charix' CharisSIL-R.ttf CharixSC-R.ttf
Obtendrá una nueva fuente Charissil-R.TTF (con el nombre del menú "Charix SC"). Esta fuente tendrá capas pequeñas en lugar de las letras minúsculas y mayúsculas, disponibles en todas las aplicaciones.
Dado que la fuente "Charis Sil" tiene licencia bajo la OFL, y utiliza los nombres de fuentes reservados "Charis" y "Sil", he especificado la opción -R para reemplazar las cadenas de nombre Charis SIL y CharisSIL con Charix . De esta manera, la fuente modificada cumple con el OFL y puedo distribuirla.
El siguiente ejemplo reorganiza la fuente para que los formularios localizados búlgaros estén disponibles de forma predeterminada en todas las aplicaciones (el sufijo "BG" se agregará al nombre del menú):
pyftfeatfreeze -f 'locl' -s 'cyrl' -l 'BGR ' -S -U BG SomeFont.ttf SomeFontBG.ttf
Nota: Para reasignar las características de múltiples scripts o LanguageSyystems, ejecute la herramienta varias veces (tomando la salida de la ejecución anterior como entrada). Use la opción -S solo en la ejecución final.
A continuación se reemplaza la cadena Lato por Otal en todos los nombres de fuentes internos (en las tablas name y CFF ), sin hacer ningún "congelamiento de características". Esto se puede usar para cambiar rápidamente algunos nombres de fuentes internos:
pyftfeatfreeze -R 'Lato/Otal' Lato-Regular.ttf Otal-Regular.ttf
usage: pyftfeatfreeze [-h] [-f FEATURES] [-s SCRIPT] [-l LANG] [-z] [-S]
[-U USESUFFIX] [-R REPLACENAMES] [-i] [-r] [-n] [-v]
[-V]
inpath [outpath]
With pyftfeatfreeze you can "freeze" some OpenType features into a font. These
features are then "on by default", even in apps that don't support OpenType
features. Internally, the tool remaps the "cmap" table of the font by applying
the specified GSUB features. Only single and alternate substitutions are
supported.
positional arguments:
inpath input .otf or .ttf font file
outpath output .otf or .ttf font file (optional)
optional arguments:
-h, --help show this help message and exit
options to control feature freezing:
-f FEATURES, --features FEATURES
comma-separated list of OpenType feature tags, e.g.
'smcp,c2sc,onum'
-s SCRIPT, --script SCRIPT
OpenType script tag, e.g. 'cyrl' (default: 'latn')
-l LANG, --lang LANG OpenType language tag, e.g. 'SRB ' (optional)
-z, --zapnames zap glyphnames from the font ('post' table version 3,
.ttf only)
options to control font renaming:
-S, --suffix add a suffix to the font family name (by default, the
suffix will be constructed from the OpenType feature
tags)
-U USESUFFIX, --usesuffix USESUFFIX
use a custom suffix when --suffix is provided
-R REPLACENAMES, --replacenames REPLACENAMES
search for strings in the font naming tables and
replace them, format is
'search1/replace1,search2/replace2,...'
-i, --info update font version string
reporting options:
-r, --report report languages, scripts and features in font
-n, --names output names of remapped glyphs during processing
-v, --verbose print additional information during processing
-V, --version show program's version number and exit
Examples: pyftfeatfreeze -f 'c2sc,smcp' -S -U SC OpenSans.ttf OpenSansSC.ttf
pyftfeatfreeze -R 'Lato/Otal' Lato-Regular.ttf Otal-Regular.ttf
Consejo: la opción -n genera una lista separada por espacios de glifos "congelados". Si lo redirige a un archivo, puede usar esta lista como entrada para pyftsubset para crear una pequeña fuente que solo incluya los glifos "congelados".
Para informar un problema, abra un problema . Necesita una cuenta de GitHub.
Esta herramienta tiene licencia "tal cual" bajo la licencia Apache, versión 2.0. Al usar la herramienta, acepta todas las condiciones de la licencia, incluido el descargo de responsabilidad de garantía y limitación de responsabilidad. Si usa esta herramienta, consulte si el EULA de su fuente permite modificaciones. Si la fuente tiene licencia debajo del OFL y usa el nombre de fuente reservado, use la opción -R para cambiar el nombre de fuente reservado a otra cosa.
Esta herramienta está escrita para Python 3.6+ y usa FontTools/TTX.
-s (script) para que si no se proporciona, la reasignación está en todos los scripts.-S (sufijo) para que si no se proporciona, no se agrega sufix y agregue las aplicaciones GUI.fonttools-utils ahora están en FontTools-Ttxjson y Mac-OS-X-System-Font-ReplacerPara construir el paquete Python, instale poesía:
pip install poetry
o
python3 -m install --user --upgrade poetry
Luego, en la carpeta principal de la ejecución del proyecto:
poetry build
Para construir el DMG & EXE, necesita macOS. En la subcarpeta de la aplicación, ejecute ./macdeploy all