Font adalah kumpulan karakter yang dapat dicetak atau ditampilkan dengan gaya, bobot, dll yang berbeda. Font digunakan untuk menambahkan tampilan dan nuansa yang berbeda ke dokumen atau halaman web berdasarkan kebutuhan yang berbeda. File font berisi desain dan informasi lain mengenai font. Pada artikel ini, kita akan menggunakan file font untuk mendeteksi apakah font mendukung simbol Latin atau tidak secara terprogram dengan Java.

API Java untuk Mendeteksi Simbol Latin dalam Font TrueType dan Type1

Aspose.Font for Java adalah library untuk bekerja dengan font seperti TrueType, CFF, Type1, dll. API mendukung pemuatan, penyimpanan, dan penggalian informasi mengenai font. API juga memungkinkan Anda mendeteksi dukungan untuk simbol Latin di font. Anda dapat mengunduh API menggunakan Maven atau mengunduh JAR dari bagian unduhan.

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

Deteksi Simbol Latin di TrueType Fonts menggunakan Java

Berikut ini adalah langkah-langkah untuk mendeteksi apakah font TrueType tertentu mendukung simbol Latin atau tidak.

  • Buat instance dari kelas FontDefinition menggunakan file font.
  • Buat instance kelas TtfFont menggunakan objek FontDefinition yang dibuat di langkah sebelumnya.
  • Ulangi kode yang berbeda dan dekodekan menjadi ID mesin terbang.
  • Periksa ID mesin terbang untuk dukungan simbol Latin.

Kode contoh berikut menunjukkan cara mendeteksi apakah font TrueType tertentu mendukung simbol Latin atau tidak.

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

// Muat file font
FontDefinition fd = new FontDefinition(FontType.TTF, new FontFileDefinition("ttf", new FileSystemStreamSource(fileName)));
TtfFont ttfFont = (TtfFont) Font.open(fd);

boolean latinText = true;

// Periksa dukungan simbol latin
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()));
}

Deteksi Simbol Latin di Font Type1 menggunakan Java

Proses untuk mendeteksi dukungan untuk simbol Latin di font Type1 mirip dengan font TrueType. Satu-satunya perbedaan adalah kita akan menggunakan kelas Type1Font untuk mengakses informasi font. Berikut adalah langkah-langkah untuk mendeteksi dukungan simbol Latin pada font Type1.

  • Buat instance dari kelas FontDefinition menggunakan file font.
  • Buat instance dari kelas Type1Font menggunakan objek FontDefinition yang dibuat pada langkah sebelumnya.
  • Ulangi kode yang berbeda dan dekodekan menjadi ID mesin terbang.
  • Periksa ID mesin terbang untuk dukungan simbol Latin.

Kode contoh berikut menunjukkan cara mendeteksi apakah font Type1 tertentu mendukung simbol Latin atau tidak.

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

// Muat file font
FontDefinition fd = new FontDefinition(FontType.Type1, new FontFileDefinition("pfb", new FileSystemStreamSource(fileName)));
Type1Font font = (Type1Font) Font.open(fd);

boolean latinText = true;

// Periksa dukungan simbol latin
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()));
}

Dapatkan Lisensi Gratis

Untuk mencoba API tanpa batasan evaluasi, Anda dapat meminta lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mendeteksi dukungan untuk simbol Latin di font menggunakan Java. Contoh kode yang dibagikan memungkinkan Anda untuk mendeteksi apakah font tertentu mendukung simbol Latin atau tidak. Aspose.Font for Java menyediakan banyak fitur tambahan untuk bekerja dengan font yang dapat Anda jelajahi secara mendetail dengan mengunjungi dokumentasi resmi. Jika ada pertanyaan, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga