Hyperglot hilft Typen, Designer zu beantworten, eine scheinbar einfache Frage der Sprachunterstützung in Schriftarten: Wann kann ich Schriftart A verwenden, um Texte in Sprache B festzulegen? Es erfordert eine pragmatische Antwort, indem ein Standardcharakter für jede von einer Sprache verwendete Orthographie identifiziert wird. Die Datenbank, die derzeit Informationen für über 640 Sprachen enthält, ist eine laufende Arbeit, die zum Wachstum entwickelt wurde.
Wir erfassen für jede Orthographie einer Sprache eine Grund- und alle Hilfszeichensätze. Beachten Sie, dass nur aktiv verwendete Orthographien (ihr Status auf primary eingestellt wird) verwendet werden, wenn die Sprachunterstützung in einer Schriftart erfasst. Andere, sekundäre oder historische Orthographien werden nur für Informationszwecke angezeigt.
Wie relevant, bieten wir auch einen kurzen Entwurfsnotiz mit Tipps zur Formgebung und Positionierungsanforderungen, die über Unicode -Charaktercodepunkte hinausgehen. Hyperglot sollte nur verwendet werden, um festzustellen, ob eine Schriftart für die Verwendung mit einer bestimmten Sprache in Betracht gezogen werden kann. Es sagt nichts über die Qualität des Designs einer Schriftart aus.
Hyperglot ist eine laufende Arbeit, die so gut geliefert wird, und die Gültigkeit seiner Sprachdaten variiert. Um die Gültigkeit der von Ihnen angezeigten Ergebnisse zu beurteilen, wird jede Sprache in der Datenbank mit einem Etikett geliefert, das die Qualität der Daten für sie angibt (z. B. werden drafts betrachtet, einige wurden verified ). Wir haben die Informationen mit verschiedenen Online- und Offline -Quellen überprüft und verpflichten uns, sie kontinuierlich zu verbessern. Wir geben jedoch zu, dass die Zuordnung aller Sprachen der Welt auf diese Weise über unsere Fähigkeit hinausgeht - wir brauchen Hilfe von Benutzern jeder jeweiligen Sprache! Wenn Sie also ein Problem erkennen oder bemerken, dass Ihre Lieblingssprache in der Datenbank insgesamt fehlt, wenden Sie sich an. Wir werden Ihr Feedback gerne einbeziehen und Ihnen gutschreiben.
Lesen Sie mehr über Hyperglot in der Web -App zur Seite
Der Vergleich von Hyperglot und dem Unicode CLDR
Es gibt verschiedene Möglichkeiten, wie die Datenbank verwendet wird:
pip install hyperglot finden Sie unter Verwendung von Nutzungsnotizen unten)pip install hyperglot )Ein paar Hinweise, um zu veranschaulichen, warum die Frage der Sprachunterstützung kompliziert ist:
Es ist wichtig anzumerken, dass die Sprachunterstützung in Schriftarten mehr als die Unterstützung einer Reihe von Codepunkten gibt . Eine Schriftart muss Glyphen mit akzeptablen/lesbaren Formen der Zeichen für eine bestimmte Sprache enthalten. Manchmal gibt es regionale oder sprachliche Variationen für denselben Codepunkt, was bedeutet, dass unterschiedliche Sprachen unterschiedliche Anforderungen an die Form eines Zeichens aufweisen, aber identische Anforderungen am Codepunkt des Charakters. Darüber hinaus müssen Glyphen wie erwartet durch die Konvention eines bestimmten Skripts/einer bestimmten Orthographie interagieren. Beispielsweise erfordern einige Sprachen/Skripte bestimmte Glyphenkombinationen, um Ligaturen oder einige Glyphenkombinationen zu bilden (oder erwarten), zusätzliche Abstandskorrekturen (Kerdel) zu erfordern, um Zusammenstöße oder Lücken zu verhindern. Daher sollte der von den Hyperglot -Tools erstellte Bericht nur verwendet werden, um festzustellen, ob eine Schriftart zur Verwendung mit einer bestimmten Sprache in Betracht gezogen werden kann. Es sagt nichts über die Qualität des Designs aus.
Lesen Sie mehr darüber in der Web -App zur Seite
Zeichen werden mit Unicode-Codepunkten in digitalen Texten dargestellt, z. B. im Latin-Skript-Buchstaben a enthält einen Codepunkt U+0061 . Digital OpenType -Schriftarten kartieren diese Codepunkte auf Glyphen, visuelle Darstellungen von Zeichen. Um herauszufinden, ob man eine Schriftart für Texte in einer bestimmten Sprache verwenden kann, muss man wissen, welche Zeichencodepunkte für die Sprache erforderlich sind. Dafür ist die Hyperglot -Datenbank gedacht.
Eine Liste von CodePoints wird von einer Schriftart erhalten.
Auf die Datenbank kann in zwei Modi zugegriffen werden:
ä ), Codepoints für Basiszeichen und Kombination von Markzeichen (z. a und kombiniertes ¨ ) aus diesen Kombinationen, es sei denn, die Kombination hat keine codierte Form oder das Flag --marks -Flag wird verwendet.--decomposed Flag -Schriftarten ist erforderlich, um den Grundcharakter und die Kombination von Markierungen für eine Sprache zu enthalten (z. B. Sprachen mit ä passen zu Schriftarten, die nur a haben und ¨ aber nicht ä als codiertes Glyphen kombinieren). Das angegebene validity wird verwendet, um Spracheinträge mit einer niedrigeren (was ungewisse) Gültigkeit herauszufiltern.
Bei Anfrage werden base und aux (Auxiliary) -Listen von CodePoints kombiniert, um strengere Kriterien mit der Option --support -Option zu erwerben. Die marks in den Daten sind basierend auf den --decomposed und --marks -Flaggen erforderlich. Markierungen, die nur in aux -Zeichen erscheinen, sind nicht für base erforderlich.
Bei der Erkennung von Sprachunterstützung werden Codepunkte für eine primäre Orthographie für eine bestimmte Sprache berücksichtigt. Orthographien mit historical und secondary Status werden ignoriert. Wenn mehrere Orthographien den Wert preferred_as_group haben, werden sie als eine Orthographie angesehen, auch wenn mehrere Skripte einbezogen werden.
Bei der Erkennung von orthographieunterstützung, verwenden Sie --include-all-orthographies , alle Orthographien für eine bestimmte Sprache werden individuell überprüft. Orthografien mit secondary sind enthalten. Orthographien mit historical Status werden ignoriert.
Wenn die Liste der Codepunkte in der Schriftart alle Codepunkte aus der Liste der CodePoints aus den Punkten 5 oder 6 enthält, wird in Betracht gezogen, um diese Sprache/Orthographie zu unterstützen. Darüber hinaus wird das Verbindungsverhalten und der Markierungsanhang validiert und eine Sprache/Orthographie wird nur als unterstützt angesehen, wenn die Schrift diese korrekt prägt. In Listen werden die unterstützten Sprachen nach Skripten gruppiert.
In der Sprach-Agorthography-Kombination ist eine Sprache, die mehrere Orthografien mit unterschiedlichen Skripten (z. B. Serbisch oder Japanisch) ausübt, unter allen diesen Skripten in der Ausgabe der Tools aufgeführt.
Wichtiger Hinweis: Die Web -App enthält derzeit nicht die Shaping -Checks!
Es wird ein einfaches CLI -Tool zur Verfügung gestellt, um Sprachunterstützungsdaten für eine in der Schriftart übergebene Schriftdatei auszugeben.
Sie müssen Python 3 installieren lassen. Installieren Sie über PIP:
pip install hyperglothyperglot path/to/font.otf oder um mehrere Schriftarten auf einmal oder deren kombinierte Berichterstattung zu überprüfen (mit -m union )
hyperglot path/to/font.otf path/to/anotherfont.otf ...Zusätzliche Optionen :
-s, --support : Geben Sie an, welche Unterstützungstufe zu überprüfen ist (derzeit sind Optionen "Basis" (Standard, wenn es weggelassen) oder "Aux").-m, --marks : Flag, um zu signalisieren, dass eine Schriftart auch alle kombinierten Markierungen enthalten sollte, die für eine Sprache verwendet werden -standardmäßig sind nur diese Marken erforderlich, die nicht Teil von vorgekündigten Zeichen sind (Standard ist falsch)-d, --decomposed : Flag, um zu signalisieren, dass eine Schriftart eine Sprache unterstützt, solange sie über alle Grundglyphen und Markierungen verfügt, um eine Sprache zu schreiben -standardmäßig auch codierte vorkodierte Glyphen erforderlich (Standard ist falsch)-a, --autonyms : Ausgabe der Sprachnamen in ihrer Muttersprache und ihres Skripts ausgeben--speakers : OUPENE Wie viele Sprecher jede Sprache hat (soweit verfügbar)--sort : Geben Sie "Sprecher" an, um nach Sprechern zu sortieren (Standard ist "alphabetisch")--sort-dir : Geben Sie "Desc" an, um in absteigender Reihenfolge zu sortieren (Standard ist "ASC" für aufsteigende Reihenfolge)-o, --output : Geben Sie einen Dateipfad an, um die Ausgabe im YAML -Format zu schreiben. Für eine einzelne Eingangsschrift ist dies eine Teilmenge der Hyperglot -Datenbank mit den Sprachen und Orthographien, die die Schriftart unterstützt. Wenn mehrere Schriftarten bereitgestellt werden, verfügt die YAML -Datei für jede Datei über eine Diktatschlüssel auf der höchsten Ebene. Wenn die Option -m bereitgestellt wird, enthält die YAML -Datei das spezifische Intersektions- oder Gewerkschaftsergebnis-c, --comparison : So verarbeiten Sie Eingaben, wenn mehrere Dateien bereitgestellt werden (derzeit sind Optionen "individuell", "Gewerkschaft" und "Kreuzung")--include-all-orthographies : Überprüfen Sie alle Orthografien einer Sprache, nicht nur ihre primären (en)--validity : Geben Sie das Filter durch die Gültigkeit der Sprachdaten an (Standard ist "vorläufig")--include-historical : Option, Sprachen und Orthographien als historisch einzuschließen (Standard ist falsch)--include-constructed : Option, Sprachen und Orthographien einzuschließen, die als konstruiert gekennzeichnet sind (Standard ist falsch)--strict-iso : Sprachnamen und Makrolanguage-Daten streng nach ISO anstellen (Standard ist falsch)-v, --verbose : Weitere Protokollierungsinformationen (Standard ist falsch)-V, --version : Drucken Sie die Versionshyperglot -Versionsnummer (Standard ist falsch) Die Installation des PIP-Pakets installierte außerdem die Befehle hyperglot-validate und hyperglot-save , mit denen die YAML-Daten auf strukturierte und kompatible Weise geprüft und gespeichert werden können.
Hyperglot verfügt über einen hyperglot-report -Befehl, der die gleichen Optionen wie der Haupt- hyperglot Befehl nutzt (siehe oben). Außerdem werden diese Optionen für die Ausgabe der Berichterstattung darüber benötigt, welche Zeichen oder Formungen fehlen, um Sprachen zu unterstützen, die als nicht unterstützt erkannt wurden:
--report-missing : Parameter, um unerreichte Sprachen zu melden, denen n oder weniger Zeichen fehlen. Wenn N 0 ist, sind alle Sprachen mit einer beliebigen Anzahl fehlender Zeichen aufgeführt (Standard).--report-marks : Parameter zum Meldungssprachen, denen keine Anhangsequenzen für Marke fehlen. Wenn n 0 ist, sind alle Sprachen mit einer beliebigen Anzahl von fehlenden Markierungsanhängesequenzen aufgeführt (Standard).--report-joining : Parameter, um Sprachen zu melden, denen n oder weniger Verbindungssequenzen fehlen. Wenn N 0 ist, sind alle Sprachen mit einer beliebigen Anzahl fehlender Verbindungssequenzen aufgeführt (Standard).--report-all : Parameter zum Setzen/Überschreiben aller anderen --report-xxx -Parameter. Die Datenstruktur wird in einer separaten Datei zusammen mit Richtlinien für den Beitrag beschrieben.
Updates werden mit der master Branch mit der neuesten veröffentlichten Version in die dev Branch zusammengefasst/fusioniert.
Datenbank und beitragen
base + mark -Kombinationen durch die Schriftanweisungen beeinflusst werden Die Hyperglot -Datenbank und die Tools wurden ursprünglich von Rosetta, World Typografiespezialisten, Verlegern und Herstellern Originalschriften, die sich mit den Anforderungen der globalen Typografie befassen, entwickelt.
Bisher wurde die Werkzeugentwicklung von Rosetta, Antonio Cavedoni (@verbosus) unterstützt, und wir bewerben uns für mehr Finanzmittel. Sie können auch Hyperglot über GitHub sponsern.
Hauptversorgungsmitglieder, bisher:
Die vollständige Liste der Mitwirkenden