Allsorts ist ein Schriftart -Parser, eine Formungsmotor und ein Subsetter für OpenType, WOFF und WOFF2, der vollständig in Rost geschrieben ist. Es wurde aus Prince extrahiert, einem Werkzeug, das HTML- und CSS -Dokumente in PDF enthält und darstellt.
Die Allsorts -Formungsmotor wurde in Verbindung mit einer Spezifikation für die OpenType -Formung entwickelt, mit der das Verhalten des Openentyp -Schriftartbilds angeben soll.
glyf , CFF , CFF2 ), WOFF und WOFF2 -Dateien.Eine Schriftformung ist der Prozess des Textes in Form von Unicode -CodePoints und einer Schriftart und der Entsorgung von Glyphen aus der Schriftart gemäß dem Text. Dies beinhaltet die Auszeichnung von Kerning, Ligaturen und Substitutionen, die durch die Schriftart angegeben sind. Für einige Sprachen ist dies relativ einfach. Für andere, wie z. B. Indic -Skripte, ist es ziemlich komplex. Nach der Formung ist eine andere Bibliothek wie Pathfinder oder Freetyp für die Rendern der Glyphen verantwortlich. Um mehr über das Rendern von Text zu erfahren, hat Andrea Cognolato einen guten Überblick über die moderne Schriftart unter Linux. Die Konzepte bleiben auf anderen Plattformen ähnlich.
Informationen zu einer Reihe von Tools, die Allsorts -Schriftart analysieren, formen und untermengen, finden Sie im Allsorts Tools Repository.
Wir unterstützen derzeit nicht:
Bekannte Einschränkungen:
Allsorts steht noch in aktiver Entwicklung, hat aber mit seiner Aufnahme in Prince 13 im Jahr 2019 seinen ersten Meilenstein für die Veröffentlichung erreicht. In Prince ist es für alle Schriftarten und Schriftarten verantwortlich.
Derzeit wird der Schriftart -Parsing -Code handgeschrieben. Es ist geplant, dass dies schließlich durch einen maschinengenerierten Code über unser deklaratives Datendefinitionsprojekt ersetzt wird.
Allsorts CI führt Tests unter Linux, MacOS und Windows aus. Über Prince ist es auch für FreeBSD gebaut.
Minimum unterstützte Rostversion: 1.66.0
Um die Kiste zu bauen, stellen Sie sicher, dass Sie Rost 1.66.0 oder neuer installiert haben.
Bauen Sie mit cargo build und führen Sie die Tests mit cargo test durch.
| Besonderheit | Beschreibung | Standard aktiviert | Zusätzliche Abhängigkeiten |
|---|---|---|---|
outline | Aktivieren Sie den Code für den Zugriff auf Glyph -Umrisse | ✅ | |
flate2_zlib | Verwenden Sie das ZLIB -Backend zum Flate2 | ✅ | zlib |
flate2_rust | Verwenden Sie das Rost -Backend, um2 | miniz_oxide | |
prince | Aktivieren Sie Prince -spezifische Tests und Code | ||
specimen | Aktivieren Sie das Modul zur Erzeugung von HTML -Schriftarten | upon unicode-blocks |
HINWEIS: Bei unserem Testen war das zlib flate2 -Backend schneller, aber Sie können das Rost -Backend für eine reine Rostlösung beim Zusammenstellen von WASM oder ähnlichem bevorzugen.
Beiträge sind willkommen. Weitere Informationen finden Sie im beitragenden Dokument.
Wir wollen die Rust -Community -Standards aufrechterhalten:
Wir sind bestrebt, ein freundliches, sicheres und einladendes Umfeld für alle zu schaffen, unabhängig von Geschlecht, sexueller Orientierung, Behinderung, ethnischer Zugehörigkeit, Religion oder ähnlichem persönlichen Merkmal.
Wir folgen dem Rost -Verhaltenskodex.
Allsorts wird unter den Bestimmungen der Apache -Lizenz (Version 2.0) verteilt.
Weitere Informationen finden Sie in Lizenz.