Die Schriftlinie ist ein libre, Open-Source-Befehlszeilen-Tool für OpenType vertikale Metrikenberichterstattung und Befehlszeilenbasierte Änderungen der Schriftzeilenabstand. Es unterstützt .ttf und .otf -Schriftbuilds.
$ pip3 install font-line$ font-line report [font path]$ font-line percent [integer %] [font path]$ font-line --help Die Schriftlinie ist mit Python gebaut und unterstützt Python 3.7+ Dolmetscher. Überprüfen Sie Ihre installierte Python -Version in der Befehlszeile mit dem Befehl:
$ python3 --version
Verwenden Sie eine der folgenden Methoden, um die Schriftzeile auf Ihrem System zu installieren.
Die neueste Schriftart-Veröffentlichung ist über den Python-Paketindex erhältlich und kann mit PIP installiert werden:
$ pip3 install font-line
Um nach einer PIP-Installation auf eine neue Version der Schriftart zu upgraden, verwenden Sie die Befehls pip3 install --upgrade font-line .
Die aktuelle Repository -Version (die möglicherweise vor der PYPI -Version vorhanden ist) kann durch Herunterladen des Repositorys oder Klonen mit Git installiert werden:
git clone https://github.com/source-foundry/font-line.git
Navigieren Sie zum Repository -Verzeichnis der obersten Ebene und geben Sie den folgenden Befehl ein:
$ pip3 install .
Befolgen Sie die gleichen Anweisungen, um auf eine neue Version der Anwendung zu aktualisieren, wenn Sie mit diesem Ansatz installieren.
Die Schriftlinie funktioniert über Unterbefehle in die ausführbare Schriftzeile font-line . Die folgenden Unterbefehle sind verfügbar:
percent - Ändern Sie den Linienabstand einer Schriftart auf einen Prozentsatz des Aufstiegs in die Entfernungreport - Melden Sie Openentypen -Metrikenwerte für eine SchriftartDie Verwendung dieser Unterbefehle wird nachstehend ausführlich beschrieben.
Die folgenden vertikalen Metrikenwerte und berechneten Werte, die aus diesen Daten abgeleitet wurden, werden mit dem Bericht report angezeigt:
report die Nutzung der UnterbefehleGeben Sie einen oder mehrere Argumente für Schriftart Pfad in den Befehl ein:
$ font-line report [fontpath 1] <fontpath ...>
Hier ist ein Beispiel für den Bericht, der mit der Hack-Typa-Datei Hack-Regular.ttf generiert wird, indem Sie den Befehl verwenden:
$ font-line report Hack-Regular.ttf
=== Hack-Regular.ttf ===
Version 3.003;[3114f1256]-release
SHA1: b1cd50ba36380d6d6ada37facfc954a8f20c15ba
::::::::::::::::::::::::::::::::::::::::::::::::::
Metrics
::::::::::::::::::::::::::::::::::::::::::::::::::
[head] Units per Em: 2048
[head] yMax: 2027
[head] yMin: -605
[OS/2] CapHeight: 1493
[OS/2] xHeight: 1120
[OS/2] TypoAscender: 1556
[OS/2] TypoDescender: -492
[OS/2] WinAscent: 1901
[OS/2] WinDescent: 483
[hhea] Ascent: 1901
[hhea] Descent: -483
[hhea] LineGap: 0
[OS/2] TypoLineGap: 410
::::::::::::::::::::::::::::::::::::::::::::::::::
Ascent to Descent Calculations
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to Descent: 2384
[OS/2] TypoAscender to TypoDescender: 2048
[OS/2] WinAscent to WinDescent: 2384
::::::::::::::::::::::::::::::::::::::::::::::::::
Delta Values
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to [OS/2] TypoAscender: 345
[hhea] Descent to [OS/2] TypoDescender: -9
[OS/2] WinAscent to [OS/2] TypoAscender: 345
[OS/2] WinDescent to [OS/2] TypoDescender: -9
::::::::::::::::::::::::::::::::::::::::::::::::::
Baseline to Baseline Distances
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics: 2384
typo metrics: 2458
win metrics: 2384
[OS/2] fsSelection USE_TYPO_METRICS bit set: False
::::::::::::::::::::::::::::::::::::::::::::::::::
Ratios
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics / UPM: 1.16
typo metrics / UPM: 1.2
win metrics / UPM: 1.16
Der Bericht enthält die Schriftversionszeichenfolge, eine SHA-1-Hash-Digest der Schriftart und die OpenType-Tabellenmetriken, die dem Zeilenabstand in der Schriftart zugeordnet sind.
UNIX/Linux/OS X -Benutzer können diesen Bericht mit der > -IDIOM in eine Datei schreiben:
$ font-line report TheFont.ttf > font-report.txt
Ändern Sie den Dateipfad font-report.txt -Datei oben in die Dateipfadzeichenfolge Ihrer Wahl.
Die Berechnungen (Baseline to Baseline Distance) (BTBD) werden gemäß den Microsoft -Empfehlungen für OpenType -Schriftarten und OpenType -OS/2 -Tabellenspezifikation durchgeführt.
BTBD = hhea.Ascent + abs(hhea.Descent) + hhea.LineGap
BTBD = OS/2.typoAscent + abs(OS/2.typoDescent) + OS/2.typoLineGap
BTBD = OS/2.winAscent + OS/2.winDescent + [External Leading]
wo externe Führung definiert ist als:
MAX(0, hhea.LineGap - ((OS/2.WinAscent + OS/2.winDescent) - (hhea.Ascent - hhea.Descent)))
Die Schriftlinie unterstützt automatisierte Änderungen der Linienabstände an einem benutzerdefinierten Prozentsatz der Einheiten pro EM-Metrik. Dieser Wert wird als UPM unten abgekürzt.
percent Nutzung von UnterbekommnissenGeben Sie den gewünschten Prozentsatz des UPM als erstes Argument für den Befehl ein. Dies sollte als ganzzahliger Wert eingegeben werden. Geben Sie dann einen oder mehrere Schriftarten ein, auf die Sie Ihre Schriftartänderungen anwenden möchten.
$ font-line percent [percent change] [fontpath 1] <fontpath ...>
Ein häufiger Standardwert, der von Schriftdesignern verwendet wird, beträgt 20% UPM. Um eine Schriftart auf dem Pfad zu ändern TheFont.ttf
$ font-line percent 20 TheFont.ttf
Erhöhen oder verringern Sie den Ganzzahlwert, um Ihren Linienabstand entsprechend zu erhöhen oder zu verringern.
Die ursprüngliche Schriftart ist in einer nicht modifizierten Version erhalten, und die modifizierte Datei-Schreiben findet auf einem neuen Pfad statt, der als [original filename]-linegap[percent].[ttf|otf] . Der Pfad zur Datei wird Ihnen in der Standardausgabe nach Abschluss der Änderung gemeldet. Die Schriftlinie modifiziert nicht den Glyphensatz oder Hinweise, die auf die Schriftart angewendet werden. Eine Beschreibung der OpenType -Tabellenänderungen finden Sie im Abschnitt Details, die auftreten, wenn die Anwendung in einer Schriftart verwendet wird.
Sie können die vertikalen Metriken in der neuen Schriftart mit dem report über den Bericht untersuchen (siehe Verwendung oben).
percent Unterbefehl Die Interpretation und Anzeige dieser mehrfachen vertikalen Metrikenwerte ist plattform- und anwendungsabhängig. Es gibt keinen allgemein anerkannten "besten" Ansatz. Daher Versuche, das ursprüngliche Metrikendesign in der Schriftart zu erhalten, wenn Änderungen mit dem percent Unterkommando vorgenommen werden.
Die Schriftlinie unterstützt derzeit drei häufig verwendete vertikale Metriken.
Vertikale Metriken Ansatz 1 :
Wo Metriken definiert sind als:
Die Schriftlinie berechnet einen Delta-Wert für die erwartete Gesamthöhe, basierend auf dem in der Befehlszeile definierten % UPM-Wert. Die Differenz zwischen diesem Wert und der beobachteten Anzahl von Einheiten, die den [OS/2] -Winascent bis Wickelwerte überspannen, wird durch die Hälfte geteilt und dann zu (für erhöhten Linienabstände) oder von (für verringerten Linienabstand) jeder der drei Sätze der Ascender-/Abstiegswerte in der Schrift hinzugefügt. Die [OS/2] -Typolinegap- und [hhea] -Leitungswerte werden nicht modifiziert.
Vertikale Metriken Ansatz 2
Wo Metriken definiert sind als:
Die Schriftlinie berechnet einen Delta-Wert für die erwartete Gesamthöhe, basierend auf dem in der Befehlszeile definierten % UPM-Wert. Die Differenz zwischen diesem Wert und der beobachteten Anzahl von Einheiten, die den [OS/2] -Winascent bis Wickelwerte überspannen, wird durch die Hälfte geteilt und dann zu (für erhöhten Linienabstände) oder von (für verringerten Linienabstand) der [OS/2] Winasc/Windesc und [HHEA] ASC/DESC -Werte hinzugefügt. Die [OS/2] typoasc/typodesc -Werte werden nicht modifiziert und behalten eine Definition von Größe = UPM -Wert bei. Die [OS/2] -Typolinegap- und [hhea] -Leitungswerte werden nicht modifiziert.
Vertikale Metriken Ansatz 3
Wo Metriken definiert sind als:
Änderungen der Metrikwerte in der Schriftart sind definiert als :
Beachten Sie, dass die internen führenden Modifikationen gleichmäßig auf [HHEA] -Ancent & Descent -Werte sowie über [OS/2] -Winascent- und Wickelwerte aufgeteilt sind. Wir fügen dem ursprünglichen [OS/2] Typoascender oder Typodescender die Hälfte des neuen [OS/2] -Typolinegap -Werts hinzu, um diese neuen Metrikeneigenschaften zu definieren. Der [Hhea] -Leitungswert wird immer als Null definiert.
Die neu definierten vertikalen Metrikenwerte können zum Ausschneiden von Glyphenkomponenten führen, wenn sie nicht ordnungsgemäß definiert sind. Es gibt keine Tests in der Schriftlinie, um die Gewissheit zu gewährleisten, dass dies nicht auftritt. Wir gehen davon aus, dass der Benutzer vor der Verwendung der Anwendung mit diesen Problemen vertraut ist und diese Tests dem Designer / Benutzer überlassen, bevor die geänderten Schriftarten in einer Produktionseinstellung verwendet werden.
Bitte senden Sie einen neuen Ausgabebericht über das Projektrepository.
Die Schriftart ist mit der fantastischen Fonttools Python Library gebaut.
MIT -Lizenz. Weitere Informationen finden Sie unter Lizenz.MD.