Panosifier ist eine Befehlszeilenanwendung von Python 3.6+, die Panose -Daten in Schriftarten bearbeitet. Das Werkzeug bearbeitet die OpenType -Spezifikation OS/2 -Tabellenpanosefelder.
In vielen Fällen können Sie diese Werte in Ihren Typ -Design -Quelldateien definieren und sich auf den Schriftkompiler verlassen, um diese Werte in Ihre Schriftarten zu schreiben. Es gibt jedoch Situationen, in denen dieses Verhalten nicht genau definiert ist und sich von Schriftkompilern in Bezug auf Schriftart unterscheidet.
Ein Beispiel ist der Ansatz zu Panose -Daten, die in variablen Schriftformatdateien geschrieben werden. In diesem Fall ist die OpenType-Spezifikation vage, Umgebungen, in denen diese Daten wesentlich sind, sind nicht genau definiert, und Compiler verarbeiten die definierten Quelldateien definierte Panose-Daten unterschiedlich.
Mit diesem Tool können Sie in diesen Situationen die Entscheidungen für die Bauzeit ändern.
pip install panosifier--panose -Befehlszeile oder individuell mit den zehn verfügbaren OpenType-Panose-Feldoptionen (siehe panosifier --help für eine Liste der verfügbaren Optionen)Weitere Informationen finden Sie in der folgenden Dokumentation.
Dieses Projekt erfordert einen Dolmetscher von Python 3.6+.
Wir empfehlen die Installation in einer virtuellen Python3 -Umgebung.
Verwenden Sie eine der folgenden Installationsansätze:
$ pip3 install panosifier
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install -r requirements.txt .
Der folgende Ansatz installiert das Projekt und die zugehörigen optionalen Entwicklerabhängigkeiten, damit Quellenänderungen ohne Neuinstallation verfügbar sind.
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
Panosifier unterstützt zwei Befehlszeilenansätze zum Bearbeiten von Panose -Daten in einer oder mehreren Befehlszeilen definierte Schriftpfade:
--panoseSie können alle Panose-Felder gleichzeitig mit einer geordneten, mit Komma-delimitierten Liste aller 10 OpenType-Panosewerte definieren. Dies müssen ganzzahlige Werte sein.
Die Feldreihenfolge lautet:
Das folgende Bild veranschaulicht diese Reihenfolge in der Option -Option -Definitions --panose -Panose. Beachten Sie, dass die Werte in diesem Beispiel nicht für eine Schriftart gültig sind, sondern dass die Definitionsreihenfolge auf Felder des Definitionsdefinitions zugeschnitten sind.

Es stehen zehn OpenType -Panose -Definitionen zur Verfügung. Jedes Panose -Feld hat eine entsprechende Option im Panosifier -Tool. Mit diesen Optionen können Sie jedes Feld einzeln definieren und Panose -Definitionen in Skript -Build -Workflows explizit machen. Definieren Sie diese Optionen mit Ganzzahlwerten.
Das folgende Beispiel verändert die Schreiben von Panose-Daten, die im obigen von Comma Delimited List oben mit neuen FamilyTyp- bzw. Anteilswerten von 2 bzw. 9 geschrieben werden:

Verwenden Sie panosifier --help um alle verfügbaren Optionen anzuzeigen.
Hinweis : Dieses Tool führt keine Vernunftprüfungen für Ihre Definitionen durch und kann verwendet werden, um ungültige Definitionen in Schriftarten zu schreiben. Das Tool geht davon aus, dass Sie verstehen, wie diese Panosewerte festgelegt werden. Weitere Informationen finden Sie in der Panose -Dokumentation für einen detaillierten Hintergrund.
Panosifier berichtet, dass Datendefinitionen im Standardausgangsstrom am Ende der Ausführung geplant werden.
Beiträge werden herzlich begrüßt. Eine Entwicklungsabhängigkeitsumgebung kann im bearbeitbaren Modus mit der obigen Entwicklerinstallationsdokumentation installiert werden.
Bitte verwenden Sie den Standard -GitHub Pull Request -Ansatz, um Quelländerungen vorzuschlagen.
Wir haben Python -Quelldateien mit flake8 Lining. Weitere Informationen finden Sie im Ziel von Makefile test-lint .
Durch kontinuierliche Integrationstests erfolgt der GitHub Action -Service mit der pytest Toolchain. Die Testmodule befinden sich im tests des Repositorys.
Führen Sie lokale Python -Interpreter -Versionstests mit dem folgenden Befehl durch, der aus dem Stammwurzel des Repositorys ausgeführt wurde:
$ tox -e [PYTHON INTERPRETER VERSION]
Weitere Informationen finden Sie in der tox -Dokumentation.
Wir führen die Testabdeckungstests mit dem coverage durch. Einzelheiten finden Sie im Ziel von Makefile test-coverage .
Panosifier ist mit der fantastischen kostenlosen Fonttools Python Library gebaut.
Apache -Lizenz v2.0