Font-Line es una herramienta Libre de línea de comandos de código abierto para informes de métricas verticales OpenType y modificaciones de espaciado de línea de fuentes basadas en línea. Admite compilaciones de fuente .ttf y .otf .
$ pip3 install font-line$ font-line report [font path]$ font-line percent [integer %] [font path]$ font-line --help Font-Line está construida con Python y admite Python 3.7+ intérpretes. Verifique su versión de Python instalada en la línea de comando con el comando:
$ python3 --version
Use cualquiera de los siguientes métodos para instalar Font-Line en su sistema.
La última versión de la línea de fuente está disponible a través del índice de paquetes de Python y se puede instalar con PIP:
$ pip3 install font-line
Para actualizar a una nueva versión de Font-Line después de una instalación de PIP, use el comando pip3 install --upgrade font-line .
La versión actual del repositorio (que puede estar por delante de la versión de PYPI) se puede instalar descargando el repositorio o clonándola con git:
git clone https://github.com/source-foundry/font-line.git
Navegue al directorio de repositorio de nivel superior e ingrese el siguiente comando:
$ pip3 install .
Siga las mismas instrucciones para actualizar a una nueva versión de la aplicación si instala con este enfoque.
Font-línea funciona a través de subcomcomando al ejecutable de línea de comandos de la font-line . Los siguientes submands están disponibles:
percent : modifique el espacio de línea de una fuente a un porcentaje del ascendente a la distancia descendentereport : informa los valores de métricos de OpenType para una fuenteEl uso de estos subcomcomandos se describe en detalle a continuación.
Los siguientes valores de métricas verticales de OpenType y los valores calculados derivados de estos datos se muestran con el subcommand report :
report el uso del subcomcomandanteIngrese uno o más argumentos de ruta de fuente al comando:
$ font-line report [fontpath 1] <fontpath ...>
Aquí hay un ejemplo del informe generado con el archivo de tipos de tipos de hack Hack-Regular.ttf usando el comando:
$ font-line report Hack-Regular.ttf
=== Hack-Regular.ttf ===
Version 3.003;[3114f1256]-release
SHA1: b1cd50ba36380d6d6ada37facfc954a8f20c15ba
::::::::::::::::::::::::::::::::::::::::::::::::::
Metrics
::::::::::::::::::::::::::::::::::::::::::::::::::
[head] Units per Em: 2048
[head] yMax: 2027
[head] yMin: -605
[OS/2] CapHeight: 1493
[OS/2] xHeight: 1120
[OS/2] TypoAscender: 1556
[OS/2] TypoDescender: -492
[OS/2] WinAscent: 1901
[OS/2] WinDescent: 483
[hhea] Ascent: 1901
[hhea] Descent: -483
[hhea] LineGap: 0
[OS/2] TypoLineGap: 410
::::::::::::::::::::::::::::::::::::::::::::::::::
Ascent to Descent Calculations
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to Descent: 2384
[OS/2] TypoAscender to TypoDescender: 2048
[OS/2] WinAscent to WinDescent: 2384
::::::::::::::::::::::::::::::::::::::::::::::::::
Delta Values
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to [OS/2] TypoAscender: 345
[hhea] Descent to [OS/2] TypoDescender: -9
[OS/2] WinAscent to [OS/2] TypoAscender: 345
[OS/2] WinDescent to [OS/2] TypoDescender: -9
::::::::::::::::::::::::::::::::::::::::::::::::::
Baseline to Baseline Distances
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics: 2384
typo metrics: 2458
win metrics: 2384
[OS/2] fsSelection USE_TYPO_METRICS bit set: False
::::::::::::::::::::::::::::::::::::::::::::::::::
Ratios
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics / UPM: 1.16
typo metrics / UPM: 1.2
win metrics / UPM: 1.16
El informe incluye la cadena de la versión de fuente, un resumen del hash SHA-1 del archivo de fuentes y las métricas de tabla OpenType que están asociadas con el espacio de línea en la fuente.
Los usuarios de Unix/Linux/OS X pueden escribir este informe en un archivo con el Idiom de línea de comandos > :
$ font-line report TheFont.ttf > font-report.txt
Modifique la ruta del archivo font-report.txt arriba a la cadena de ruta del archivo de su elección.
Los cálculos de línea de base a la distancia de línea de base (BTBD) se realizan de acuerdo con las recomendaciones de Microsoft para las fuentes OpenType y la especificación de tabla OpenType OS/2.
BTBD = hhea.Ascent + abs(hhea.Descent) + hhea.LineGap
BTBD = OS/2.typoAscent + abs(OS/2.typoDescent) + OS/2.typoLineGap
BTBD = OS/2.winAscent + OS/2.winDescent + [External Leading]
Donde la cabeza externa se define como:
MAX(0, hhea.LineGap - ((OS/2.WinAscent + OS/2.winDescent) - (hhea.Ascent - hhea.Descent)))
La línea de fuentes admite modificaciones automatizadas de espaciado de línea a un porcentaje definido por el usuario de las unidades por métrica EM. Este valor se abreviará como UPM a continuación.
percent de uso del subcomcomandanteIngrese el porcentaje deseado de la UPM como el primer argumento al comando. Esto debe ingresarse como un valor entero . Luego ingrese una o más rutas de fuentes a las que desea aplicar sus cambios en las métricas de fuentes.
$ font-line percent [percent change] [fontpath 1] <fontpath ...>
Un valor predeterminado común utilizado por los diseñadores de tipos de tipos es 20% UPM. Para modificar una fuente en la ruta TheFont.ttf al 20% de la métrica UPM, ingresaría el siguiente comando:
$ font-line percent 20 TheFont.ttf
Aumente o disminuya el valor entero para aumentar o disminuir el espacio de su línea en consecuencia.
El archivo de fuente original se conserva en una versión no modificada y la escritura de archivo modificado tiene lugar en una nueva ruta definida como [original filename]-linegap[percent].[ttf|otf] . La ruta al archivo se le informa en la salida estándar después de completar la modificación. Font-Line no modifica el conjunto de glifos o sugerencias aplicadas a la fuente. Consulte la sección Detalles a continuación para obtener una descripción de las modificaciones de la tabla OpenType que ocurren cuando la aplicación se usa en un archivo de fuente.
Puede inspeccionar las métricas verticales en el nuevo archivo de fuentes con el subcommand report (consulte el uso anterior).
percent subcomcomandante La interpretación y visualización de estos múltiples valores de métricas verticales depende de la plataforma y la aplicación. No hay un enfoque "mejor" ampliamente aceptado. Como tal, los intentos de la línea de fuentes para preservar el diseño de métricas originales en la fuente cuando se realizan modificaciones con el percent de submand.
La línea de fuentes actualmente admite tres enfoques de métricas verticales comúnmente utilizados.
Enfoque de métricas verticales 1 :
Donde las métricas se definen como:
Font-Line calcula un valor delta para la altura total esperada en función del valor de % UPM definido en la línea de comando. La diferencia entre este valor y el número observado de unidades que abarcan los valores de [OS/2] a los valores de Windescent se divide por la mitad y luego se suma a (para un mayor espacio de línea) o se restan de (para un espacio de línea disminuido) cada uno de los tres conjuntos de valores de ascender/descender en la fuente. Los valores [OS/2] Typolinegap y [HHEA] LINEGAP no se modifican.
Enfoque de métricas verticales 2
Donde las métricas se definen como:
Font-Line calcula un valor delta para la altura total esperada en función del valor de % UPM definido en la línea de comando. La diferencia entre este valor y el número observado de unidades que abarcan los valores [OS/2] Winascent to Windescent se divide por la mitad y luego se suma a (para un mayor espacio de línea) o se restan de (para el espacio de línea disminuido) los valores [OS/2] Winasc/Windesc y [HheA] ASC/DESC. Los valores [OS/2] TIPOASC/TyetoSc no se modifican y mantienen una definición de valor = valor UPM. Los valores [OS/2] Typolinegap y [HHEA] LINEGAP no se modifican.
Enfoque de métricas verticales 3
Donde las métricas se definen como:
Los cambios en los valores de las métricas en la fuente se definen como :
Tenga en cuenta que las modificaciones principales internas se dividen uniformemente en los valores de ascenso y descenso [HHEA], y a través de [OS/2] valores de winescente y windescente. Agregamos la mitad del nuevo valor typolinegap [OS/2] al original [OS/2] TypoCender o TypeDescender para definir estas nuevas propiedades de métricas. El valor [HHEA] LINGAP siempre se define como cero.
Los valores de métricas verticales recientemente definidos pueden conducir a un recorte de componentes del glifo si no se definen correctamente. No hay pruebas en la línea de fuentes para garantizar que esto no ocurra. Suponemos que el usuario está versado en estos problemas antes del uso de la aplicación y deja esta prueba al diseñador / usuario antes de que las fuentes modificadas se usen en una configuración de producción.
Envíe un nuevo informe de problemas sobre el repositorio del proyecto.
Font-línea está construida con la fantástica biblioteca de FontTools Python.
Licencia MIT. Vea la licencia.md para más detalles.