Dieses Modul bietet eine Werkzeugkette zum Layout -Text. Es ist hauptsächlich ein Port der C -Bibliotheken Harbuzz und Graphit.
Dieses Repository ist eine flache Kopie von https://github.com/benoitkugler/textlayout. Alle Credits gehen an Benoit Kugler und andere (siehe die detaillierte Geschichte).
Ab V0.1.0 wurde der Inhalt dieses Repositorys aufgeteilt, wobei mehr experimentelle Pakete in Textverarbeitung verschoben wurden.
Die verbleibenden Pakete sind die stabilere Logik mit niedriger Ebene, die von Go-Text verwendet wird.
Ab V0.1.1 wurden die Schriftdateien, die nur für interne Tests verwendet werden, in einem separaten Modul verschoben, sodass regelmäßige Builds diese großen Dateien nicht herunterladen müssen (dies erfordert Go1.17 für das Modul Lazy Loading).
Die Paketschriften bieten den Primitiven auf niedriger Ebene zum Laden und Lesen von Schriftartdateien. Sobald eine Schriftart ausgewählt ist, ist Harbbuzz dafür verantwortlich, eine Textlinie zu verlegen, die eine Abfolge von Unicode -Punkten (Runen) in eine Abfolge positionierter Glyphen verwandelt. Graphit -Schriftarten werden über das Graphitpaket unterstützt. Einige Bibliothek auf höherer Ebene können diese Tools einwickeln, um eine Schnittstelle bereitzustellen, die einen gesamten Text festlegen kann.
Dieses Projekt ist in Arbeit. Einige Teile davon sind bereits verwendbar: Schriftarten/TrueType, Harbbuzz und Graphit, aber es können sich im laufenden Flug brechen.
Dieses Modul wird unter der MIT -Lizenz bereitgestellt.