Este módulo proporciona una cadena de herramientas para diseñar texto. Es principalmente un puerto de las bibliotecas C Harfbuzz y Graphite.
Este repositorio es una copia superficial de https://github.com/benoitkugler/textlayout. Todos los créditos van a Benoit Kugler y otros (ver la historia detallada).
A partir de V0.1.0, el contenido de este repositorio se ha dividido, con paquetes más experimentales de nivel y más experimentales.
Los paquetes restantes son la lógica más estable y de bajo nivel utilizada por GO-Text.
A partir de V0.1.1, los archivos de fuentes solo utilizados para las pruebas internas se han movido en un módulo separado, de modo que las compilaciones regulares no tienen que descargar estos archivos grandes (esto requiere GO1.17 para la carga perezosa del módulo).
El paquete de fuentes proporciona las primitivas de bajo nivel para cargar y leer archivos de fuentes. Una vez que se selecciona una fuente, HarfBuzz es responsable de exponer una línea de texto, que está transformando una secuencia de puntos Unicode (runas) a una secuencia de glifos posicionados. Las fuentes de grafito se admiten a través del paquete de grafito. Una biblioteca de nivel superior puede envolver estas herramientas para proporcionar una interfaz capaz de diseñar un texto completo.
Este proyecto es un trabajo en progreso. Algunas partes ya se pueden utilizar: fuentes/TrueType, Harfbuzz y grafito, pero los cambios de ruptura pueden cometirse sobre la marcha.
Este módulo se proporciona bajo la licencia MIT.