Este módulo fornece uma cadeia de ferramentas para o texto do layout. É principalmente uma porta das bibliotecas C Harfbuzz e Grafite.
Este repositório é uma cópia superficial de https://github.com/benoitkugler/textlayout. Todos os créditos vão para Benoit Kugler e outros (veja a história detalhada).
A partir da v0.1.0, o conteúdo deste repositório foi dividido, com pacotes mais experimentais de nível mais alto movidos para o textProcessing.
Os pacotes restantes são a lógica mais estável e de baixo nível usada por texto GO.
A partir da v0.1.1, os arquivos de fonte usados apenas para testes internos foram movidos em um módulo separado, para que as compilações regulares não precisem baixar esses arquivos grandes (isso requer GO1.17 para carregamento preguiçoso do módulo).
As fontes do pacote fornecem as primitivas de baixo nível para carregar e ler arquivos de fonte. Depois que uma fonte é selecionada, o HarfBuzz é responsável por colocar uma linha de texto, que está transformando uma sequência de pontos Unicode (runas) em uma sequência de glifos posicionados. As fontes de grafite são suportadas pelo pacote de grafite. Alguma biblioteca de nível superior pode embrulhar essas ferramentas para fornecer uma interface capaz de estabelecer um texto inteiro.
Este projeto é um trabalho em andamento. Algumas partes já são utilizáveis: fontes/truetype, harfbuzz e grafite, mas as mudanças de ruptura podem ser cometidas em tempo real.
Este módulo é fornecido sob a licença do MIT.