Panosifier es una aplicación de línea de comandos Python 3.6+ que edita datos de panose en fuentes. La herramienta edita los campos de panose de tabla de especificación OpenType OS/2.
En muchos casos, puede definir estos valores en sus archivos fuente de diseño de su tipo y confiar en el compilador de fuentes para escribir estos valores en sus instancias de fuentes. Sin embargo, hay situaciones en las que este comportamiento no está bien definido y difiere entre los compiladores de fuentes.
Un ejemplo es el enfoque para las escrituras de datos de Panose en archivos de formato de fuente variable. En este caso, la especificación de OpenType es vago, los entornos donde estos datos son esenciales no están bien definidos y los compiladores manejan los datos de panos definidos del archivo de origen de manera diferente.
Esta herramienta le permite modificar las decisiones de tiempo de compilación en estas situaciones.
pip install panosifier--panose o individualmente con las diez opciones de campo de panose OpenType disponibles (consulte panosifier --help para una lista de opciones disponibles)Consulte la documentación a continuación para obtener detalles adicionales.
Este proyecto requiere un intérprete Python 3.6+.
Recomendamos la instalación en un entorno virtual Python3.
Use cualquiera de los siguientes enfoques de instalación:
$ pip3 install panosifier
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install -r requirements.txt .
El siguiente enfoque instala el proyecto y las dependencias de desarrolladores opcionales asociadas para que los cambios de origen estén disponibles sin la necesidad de reinstalación.
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
Panosifier admite dos enfoques de línea de comandos para editar datos de panose en una o más rutas de fuente definidas por línea de comando:
--panosePuede definir todos los campos de panose a la vez con una lista ordenada de comas delimitada de los 10 valores de panose de óptimos. Estos deben ser valores enteros.
El orden de campo es:
La siguiente imagen ejemplifica este orden en el idioma de definición de opción --panose . Tenga en cuenta que los valores en este ejemplo no están destinados a ser válidos para una fuente, sino para demostrar cómo el orden de definición se asigna a los campos de definición de panose.

Hay diez definiciones de panose OpenType disponibles. Cada campo de Panose tiene una opción correspondiente en la herramienta Panosifier. Estas opciones le permiten definir cada campo individualmente y hacer que las definiciones de Panose explícitas en los flujos de trabajo de compilación con guiones. Defina estas opciones con valores enteros.
El siguiente ejemplo modifica los datos de Panose escritos en la sección Lista de comas delimitada anterior con nuevos valores de tipo familiar y proporción de 2 y 9, respectivamente:

Use panosifier --help para ver todas las opciones disponibles.
Nota : Esta herramienta no realiza verificaciones de cordura en sus definiciones y puede usarse para escribir definiciones no válidas en las fuentes. La herramienta supone que comprende cómo establecer estos valores de panose. Consulte la documentación de Panose para obtener antecedentes detallados.
Panosifier informa definiciones de datos de panose en la secuencia de salida estándar al final de la ejecución.
Las contribuciones son cálidas bienvenidas. Se puede instalar un entorno de dependencia de desarrollo en modo editable con la documentación de instalación del desarrollador anterior.
Utilice el enfoque estándar de solicitud de extracción GitHub para proponer los cambios de origen.
Lints Python Source archivos con flake8 . Consulte el objetivo test-lint MakeFile para más detalles.
Las pruebas de integración continua se realizan en el servicio de acciones GitHub con la cadena de herramientas pytest . Los módulos de prueba se encuentran en el directorio tests del repositorio.
Realice pruebas de versión de intérprete de Python local con el siguiente comando ejecutado desde la raíz del repositorio:
$ tox -e [PYTHON INTERPRETER VERSION]
Consulte la documentación tox para obtener detalles adicionales.
Realizamos pruebas de cobertura de prueba unitaria con la herramienta coverage . Consulte el objetivo test-coverage MakeFile para más detalles.
Panosifier está construido con la fantástica biblioteca FontTools Python.
Licencia de Apache v2.0