Schriftarten sind eine Reihe von druckbaren oder darstellbaren Zeichen mit unterschiedlichen Stilen, Gewichten usw. Sie werden verwendet, um Dokumenten oder Webseiten je nach Anforderungen ein anderes Erscheinungsbild zu verleihen. Schriftartdateien enthalten das Design und andere Informationen zur Schriftart. In diesem Artikel verwenden wir die Schriftartdateien, um zu erkennen, ob eine Schriftart lateinische Symbole unterstützt oder nicht, programmgesteuert mit Java.

Java API zum Erkennen lateinischer Symbole in TrueType und Type1-Schriftarten

Aspose.Font for Java ist eine Bibliothek zum Arbeiten mit Schriftarten wie TrueType, CFF, Type1 usw. Die API unterstützt das Laden, Speichern und Extrahieren von Informationen über Schriftarten. Mit der API können Sie auch die Unterstützung für lateinische Symbole in Schriftarten erkennen. Sie können die API entweder mit Maven herunterladen oder die JAR Datei aus dem Abschnitt downloads herunterladen.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-font</artifactId>
    <version>21.4</version>
</dependency>

Erkennen Sie lateinische Symbole in TrueType-Schriftarten mit Java

Im Folgenden finden Sie die Schritte zum Erkennen, ob eine bestimmte TrueType-Schriftart lateinische Symbole unterstützt oder nicht.

  • Erstellen Sie mithilfe der Schriftartdatei eine Instanz der Klasse FontDefinition.
  • Erstellen Sie eine Instanz der Klasse TtfFont mithilfe des im vorherigen Schritt erstellten Objekts von FontDefinition.
  • Durchlaufen Sie die verschiedenen Codes und decodieren Sie sie in Glyph-IDs.
  • Überprüfen Sie die Glyphen-IDs auf die Unterstützung lateinischer Symbole.

Der folgende Beispielcode zeigt, wie erkannt wird, ob eine bestimmte TrueType-Schriftart lateinische Symbole unterstützt oder nicht.

// Pfad der Schriftartdatei
String fileName = Utils.getDataDir() + "Montserrat-Regular.ttf"; //Font file name with full path

// Laden Sie die Schriftartdatei
FontDefinition fd = new FontDefinition(FontType.TTF, new FontFileDefinition("ttf", new FileSystemStreamSource(fileName)));
TtfFont ttfFont = (TtfFont) Font.open(fd);

boolean latinText = true;

// Prüfen Sie, ob lateinische Symbole unterstützt werden
for (int code = 65; code < 123; code++)
{
    GlyphId gid = ttfFont.getEncoding().decodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.getNotDef())
    {
        latinText = false;
    }
}

if (latinText)
{
    System.out.println(MessageFormat.format("Font {0} supports latin symbols.", ttfFont.getFontName()));
}
else
{
    System.out.println(MessageFormat.format("Latin symbols are not supported by font {0}.", ttfFont.getFontName()));
}

Erkennen Sie lateinische Symbole in Type1-Schriftarten mit Java

Der Prozess zum Erkennen der Unterstützung für lateinische Symbole in Type1-Schriftarten ist ähnlich wie bei TrueType-Schriftarten. Der einzige Unterschied besteht darin, dass wir die Klasse Type1Font verwenden, um auf die Schriftinformationen zuzugreifen. Im Folgenden finden Sie die Schritte zum Erkennen der Unterstützung für lateinische Symbole in Type1-Schriftarten.

  • Erstellen Sie mithilfe der Schriftartdatei eine Instanz der Klasse FontDefinition.
  • Erstellen Sie eine Instanz der Klasse Type1Font mithilfe des im vorherigen Schritt erstellten Objekts von FontDefinition.
  • Durchlaufen Sie die verschiedenen Codes und decodieren Sie sie in Glyph-IDs.
  • Überprüfen Sie die Glyphen-IDs auf die Unterstützung lateinischer Symbole.

Der folgende Beispielcode zeigt, wie Sie feststellen können, ob eine bestimmte Type1-Schriftart lateinische Symbole unterstützt oder nicht.

// Pfad der Schriftartdatei
String fileName = Utils.getDataDir() + "courier.pfb"; //Font file name with full path

// Laden Sie die Schriftartdatei
FontDefinition fd = new FontDefinition(FontType.Type1, new FontFileDefinition("pfb", new FileSystemStreamSource(fileName)));
Type1Font font = (Type1Font) Font.open(fd);

boolean latinText = true;

// Prüfen Sie, ob lateinische Symbole unterstützt werden
for (int code = 65; code < 123; code++)
{
    GlyphId gid = font.getEncoding().decodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.getNotDef())
    {
        latinText = false;
    }
}

if (latinText)
{
    System.out.println(MessageFormat.format("Font {0} supports latin symbols.", font.getFontName()));
}
else
{
    System.out.println(MessageFormat.format("Latin symbols are not supported by font {0}.", font.getFontName()));
}

Holen Sie sich eine kostenlose Lizenz

Um die API ohne Evaluierungseinschränkungen zu testen, können Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Java die Unterstützung lateinischer Symbole in Schriftarten erkennen. Mit den freigegebenen Codebeispielen können Sie erkennen, ob eine bestimmte Schriftart lateinische Symbole unterstützt oder nicht. Aspose.Font for Java bietet viele zusätzliche Funktionen für die Arbeit mit Schriftarten, die Sie im Detail erkunden können, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.

Siehe auch