Czcionki to zestaw znaków, które można wydrukować lub wyświetlić, o różnych stylach, gramaturach itp. Służą do nadania dokumentom lub stronom internetowym innego wyglądu i działania w oparciu o różne wymagania. Pliki czcionek zawierają projekt i inne informacje dotyczące czcionki. W tym artykule użyjemy plików czcionek do wykrycia, czy czcionka obsługuje symbole łacińskie programowo w Javie.

Java API do wykrywania symboli łacińskich w czcionkach TrueType i Type1

Aspose.Font for Java to biblioteka do pracy z czcionkami, takimi jak TrueType, CFF, Type1 itp. API obsługuje ładowanie, zapisywanie i wyodrębnianie informacji dotyczących czcionek. Interfejs API umożliwia również wykrywanie obsługi symboli łacińskich w czcionkach. Możesz pobrać API za pomocą Mavena lub pobrać JAR z sekcji downloads.

<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>

Wykryj symbole łacińskie w czcionkach TrueType za pomocą języka Java

Poniżej przedstawiono kroki, aby wykryć, czy dana czcionka TrueType obsługuje symbole łacińskie, czy nie.

  • Utwórz instancję klasy FontDefinition przy użyciu pliku czcionek.
  • Utwórz instancję klasy TtfFont przy użyciu obiektu FontDefinition utworzonego w poprzednim kroku.
  • Przejrzyj różne kody i zdekoduj je na identyfikatory glifów.
  • Sprawdź identyfikatory glifów pod kątem obsługi symboli łacińskich.

Poniższy przykładowy kod pokazuje, jak wykryć, czy dana czcionka TrueType obsługuje symbole łacińskie, czy nie.

// Ścieżka pliku czcionki
String fileName = Utils.getDataDir() + "Montserrat-Regular.ttf"; //Font file name with full path

// Załaduj plik czcionki
FontDefinition fd = new FontDefinition(FontType.TTF, new FontFileDefinition("ttf", new FileSystemStreamSource(fileName)));
TtfFont ttfFont = (TtfFont) Font.open(fd);

boolean latinText = true;

// Sprawdź obsługę symboli łacińskich
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()));
}

Wykryj symbole łacińskie w czcionkach Type1 przy użyciu języka Java

Proces wykrywania obsługi symboli łacińskich w czcionkach Type1 jest podobny do czcionek TrueType. Jedyna różnica polega na tym, że do uzyskania dostępu do informacji o czcionkach użyjemy klasy Type1Font. Poniżej przedstawiono kroki wykrywania obsługi symboli łacińskich w czcionkach Type1.

  • Utwórz instancję klasy FontDefinition przy użyciu pliku czcionek.
  • Utwórz instancję klasy Type1Font przy użyciu obiektu FontDefinition utworzonego w poprzednim kroku.
  • Przejrzyj różne kody i zdekoduj je na identyfikatory glifów.
  • Sprawdź identyfikatory glifów pod kątem obsługi symboli łacińskich.

Poniższy przykładowy kod pokazuje, jak wykryć, czy dana czcionka Type1 obsługuje symbole łacińskie, czy nie.

// Ścieżka pliku czcionki
String fileName = Utils.getDataDir() + "courier.pfb"; //Font file name with full path

// Załaduj plik czcionki
FontDefinition fd = new FontDefinition(FontType.Type1, new FontFileDefinition("pfb", new FileSystemStreamSource(fileName)));
Type1Font font = (Type1Font) Font.open(fd);

boolean latinText = true;

// Sprawdź obsługę symboli łacińskich
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()));
}

Uzyskaj bezpłatną licencję

Aby wypróbować interfejs API bez ograniczeń ewaluacyjnych, możesz poprosić o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak wykryć obsługę symboli łacińskich w czcionkach przy użyciu języka Java. Udostępnione próbki kodu umożliwiają wykrycie, czy dana czcionka obsługuje symbole łacińskie, czy nie. Aspose.Font for Java zapewnia wiele dodatkowych funkcji do pracy z czcionkami, które można szczegółowo zbadać, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań skontaktuj się z nami na naszym bezpłatnym forum pomocy technicznej.

Zobacz też