La documentación del usuario y la documentación del desarrollador están disponibles en Read the Docs.
FontTools requiere Python 3.8 o posterior. Intentamos seguir el mismo cronograma de compatibilidad con la versión mínima de Python que NumPy (consulte NEP 29).
El paquete aparece en el Índice de paquetes de Python (PyPI), por lo que puede instalarlo con pip:
pip install fonttools
Si desea contribuir a su desarrollo, puede clonar el repositorio desde GitHub, instalar el paquete en modo "editable" y modificar el código fuente. Recomendamos crear un entorno virtual, utilizando virtualenv o el módulo venv de Python 3.
# download the source code to 'fonttools' folder
git clone https://github.com/fonttools/fonttools.git
cd fonttools
# create new virtual environment called e.g. 'fonttools-venv', or anything you like
python -m virtualenv fonttools-venv
# source the `activate` shell script to enter the environment (Unix-like); to exit, just type `deactivate`
. fonttools-venv/bin/activate
# to activate the virtual environment in Windows `cmd.exe`, do
fonttools-venv S cripts a ctivate.bat
# install in 'editable' mode
pip install -e .
El paquete fontTools
actualmente no tiene dependencias externas (obligatorias) además de los módulos incluidos en la biblioteca estándar de Python. Sin embargo, algunos de sus módulos requieren algunas dependencias adicionales, que son necesarias para desbloquear funciones opcionales. La distribución PyPI fonttools
también admite los llamados "extras", es decir, un conjunto de palabras clave que describen un grupo de dependencias adicionales, que se pueden utilizar al instalar mediante pip o al especificar un requisito. Por ejemplo:
pip install fonttools[ufo,lxml,woff,unicode]
Este comando instalará fonttools, así como las dependencias opcionales necesarias para desbloquear las funciones adicionales denominadas "ufo", etc.
Lib/fontTools/misc/etree.py
El módulo exporta una API similar a ElementTree para leer/escribir archivos XML y permite utilizar como backend el módulo xml.etree
integrado o lxml. Se prefiere este último siempre que esté presente, ya que generalmente es más rápido y seguro.
Adicional: lxml
Lib/fontTools/ufoLib
Paquete para leer y escribir archivos fuente de OVNIs; requiere:
pyfilesystem2
) capa de abstracción del sistema de archivos.enum
incorporado (solo se requiere en Python <3.4). Extra: ufo
Lib/fontTools/ttLib/woff2.py
Módulo para comprimir/descomprimir fuentes web WOFF 2.0; requiere:
Extra: woff
Lib/fontTools/ttLib/sfnt.py
Para comprimir mejor las fuentes web WOFF 1.0, se puede utilizar el siguiente módulo en lugar de la biblioteca zlib
incorporada:
Extra: woff
Lib/fontTools/unicode.py
Para mostrar los nombres de los caracteres Unicode al volcar la tabla cmap
con ttx
usamos el módulo unicodedata
en la Biblioteca estándar. La versión incluida allí varía entre las diferentes versiones de Python. Para utilizar los últimos datos disponibles, puede instalar:
unicodedata
para Python 3.x actualizado a la última versión Unicode 15.0. Adicional: unicode
Lib/fontTools/varLib/interpolatable.py
Módulo para encontrar contornos/orden de componentes incorrectos entre diferentes maestros. Requiere uno de los siguientes paquetes para resolver el llamado "problema de coincidencia perfecta de peso mínimo en gráficos bipartitos", o el problema de Asignación:
Para trazar los resultados en formato PDF o HTML, también necesita instalar:
Extra: interpolatable
Lib/fontTools/varLib/plot.py
Módulo para visualizar DesignSpaceDocument y el VariationModel resultante.
Adicional: plot
Lib/fontTools/misc/symfont.py
Módulo avanzado para análisis estadístico de fuentes simbólicas; requiere:
Adicional: symfont
Lib/fontTools/t1Lib.py
Para obtener el creador del archivo y el tipo de fuentes PostScript Type 1 de Macintosh en Python 3, necesita instalar el siguiente módulo, ya que el antiguo módulo MacOS
ya no está incluido en Mac Python:
Adicional: type1
Lib/fontTools/ttLib/removeOverlaps.py
Simplifique los glifos TrueType fusionando contornos y componentes superpuestos.
Extra: pathops
Lib/fontTools/pens/cocoaPen.py
y Lib/fontTools/pens/quartzPen.py
Los bolígrafos para dibujar glifos con Cocoa NSBezierPath
o CGPath
requieren:
Lib/fontTools/pens/qtPen.py
Lápiz para dibujar glifos con QPainterPath
de Qt, requiere:
Lib/fontTools/pens/reportLabPen.py
Lápiz para dibujar glifos como imágenes PNG, requiere:
Lib/fontTools/pens/freetypePen.py
El lápiz para dibujar glifos con FreeType como imágenes rasterizadas requiere:
Lib/fontTools/ttLib/tables/otBase.py
Utilice la biblioteca Harfbuzz para serializar GPOS/GSUB usando el método hb_repack
, requiere:
Extra: repacker
NEWS.rst
con todos los cambios desde la última versión. Escriba una entrada en el registro de cambios para cada RP, con una o dos oraciones cortas que lo resuma, así como enlaces al RP y los temas relevantes abordados por el RP. No pongas un título nuevo, el siguiente comando lo hará por ti.pip install -r dev-requirements.txt
, luego ejecute el comando python setup.py release
desde la punta de la rama main
. De forma predeterminada, esto solo resalta el tercer dígito o el 'parche', a menos que pase --major
o --minor
para resaltar respectivamente el primer o segundo dígito. Esto modifica la cadena de versión del paquete, extrae los cambios desde la última versión de NEWS.rst
y usa ese texto para crear una etiqueta git anotada (o una etiqueta git firmada si pasa la opción --sign
y su cuenta git y Github están configurado para firmar confirmaciones utilizando una clave GPG). También comete un aumento de versión adicional que abre la rama principal para el ciclo de desarrollo posterior.git push --follow-tags
. Nota: también puede impulsar otras etiquetas locales, tenga cuidado.En orden alfabético:
aschmitz, Olivier Berten, Samyak Bhuta, Erik van Blokland, Petr van Blokland, Jelle Bosma, Sascha Brawer, Tom Byrer, Antonio Cavedoni, Frédéric Coiffier, Vincent Connare, David Corbett, Simon Cozens, Dave Crossland, Simon Daniels, Peter Dekkers, Behdad Esfahbod, Behnam Esfahbod, Hannes Famira, Sam Fishman, Matt Fontaine, Takaaki Fuji, Rob Hagemans, Yannis Haralambous, Greg Hitchcock, Jeremie Hornus, Khaled Hosny, John Hudson, Denis Moyogo Jacquerye, Jack Jansen, Tom Kacvinsky, Jens Kutilek, Antoine Leca, Werner Lemberg, Tal Leming, Peter Lofting, Cosimo Lupo , Olli Meier, Masaya Nakamura, Dave Opstad, Laurence Penney, Roozbeh Pournader, Garret Rieger, Read Roberts, Colin Rofls, Guido van Rossum, Just van Rossum, Andreas Seidel, Georg Seifert, Chris Simpkins, Miguel Sousa, Adam Twardoch, Adrien Tétar, Vitaly Volkov, Paul Wise.
Copyright (c) 2000 BeOpen.com. Reservados todos los derechos.
Copyright (c) 1995-2001 Corporación para Iniciativas Nacionales de Investigación. Reservados todos los derechos.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Ámsterdam. Reservados todos los derechos.
¡Divertirse!