Periksa Dukungan Simbol Latin untuk TrueType atau Type1 Fonts di C #

Simbol karakter latin adalah karakter yang berupa tanda, tanda, atau kata. Font menentukan bagaimana karakter/simbol akan ditampilkan secara digital atau dalam bentuk yang dapat dicetak menggunakan seperangkat properti. File font berisi desain dan informasi lain mengenai font. Dalam kasus tertentu, kami mungkin perlu memeriksa apakah font tertentu mendukung simbol Latin atau tidak. Pada artikel ini, kita akan mempelajari cara memeriksa dukungan simbol Latin untuk font TrueType atau Type1 di C#.

Topik-topik berikut akan dibahas dalam artikel ini:

  1. C# API untuk Mendeteksi Dukungan Simbol Latin dalam Font
  2. Deteksi Simbol Latin di TrueType Fonts menggunakan C#
  3. Deteksi Simbol Latin dalam Font Type1 menggunakan C#

C# API untuk Mendeteksi Dukungan Simbol Latin di Font

Untuk mendeteksi dukungan simbol Latin dalam font, kami akan menggunakan Aspose.Font for .NET API. Itu memungkinkan memuat, menyimpan, dan mengekstraksi informasi dari jenis font yang didukung. Harap unduh DLL API atau instal menggunakan NuGet.

PM> Install-Package Aspose.Font

Deteksi Simbol Latin di TrueType Fonts menggunakan C#

Kami dapat mendeteksi simbol Latin di font TrueType dengan mengikuti langkah-langkah berikut:

  1. Pertama, muat file font menggunakan kelas FontFileDefinition.
  2. Selanjutnya, inisialisasi objek kelas FontDefinition dengan FontType (TTF) dan objek FontFileDefinition sebagai argumen.
  3. Kemudian, panggil metode Font.Open() dengan objek FontDefinition sebagai argumen dan inisialisasi objek kelas TtfFont.
  4. Setelah itu, ulangi kode yang berbeda dan dekode menjadi Glyph ID.
  5. Terakhir, periksa ID mesin terbang untuk dukungan simbol Latin.

Contoh kode berikut menunjukkan cara mendeteksi apakah font TrueType tertentu mendukung simbol Latin atau tidak di C#.

// Contoh kode ini menunjukkan cara mendeteksi apakah font TrueType tertentu mendukung simbol Latin atau tidak.
// jalur file TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Muat file font
FontFileDefinition fontFileDefinition = new FontFileDefinition("ttf", new FileSystemStreamSource(fontPath));

// Objek definisi font
FontDefinition fd = new FontDefinition(FontType.TTF, fontFileDefinition);

// Buka fontnya
TtfFont font = (TtfFont)Font.Open(fd);

var latinText = true;

// Periksa dukungan simbol latin
for (uint code = 65; code < 123; code++)
{
    GlyphId gid = font.Encoding.DecodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.NotDefId)
    {
        latinText = false;
    }
}

if (latinText)
{
    Console.WriteLine("Font {0} supports latin symbols.", font.FontName);
}
else
{
    Console.WriteLine("Latin symbols are not supported by font {0}.", font.FontName);
}

Deteksi Simbol Latin dalam Font Type1 menggunakan C#

Kami juga dapat mendeteksi simbol Latin di font Type1 dengan mengikuti langkah-langkah di bawah ini:

  1. Pertama, muat file font menggunakan kelas FontFileDefinition.
  2. Selanjutnya, inisialisasi objek kelas FontDefinition dengan FontType (Type1) dan objek FontFileDefinition sebagai argumen.
  3. Kemudian, panggil metode Font.Open() dengan objek FontDefinition sebagai argumen dan inisialisasi objek kelas Type1Font.
  4. Setelah itu, ulangi kode yang berbeda dan dekode menjadi Glyph ID.
  5. Terakhir, periksa ID mesin terbang untuk dukungan simbol Latin.

Contoh kode berikut menunjukkan cara mendeteksi apakah font Type1 tertentu mendukung simbol Latin atau tidak di C#.

// Contoh kode ini menunjukkan cara mendeteksi apakah font Type1 tertentu mendukung simbol Latin atau tidak.
// Jalur file font tipe1
string fontPath = @"D:\Files\font\courier.pfb";

// Muat file font
FontFileDefinition fontFileDefinition = new FontFileDefinition("pfb", new FileSystemStreamSource(fontPath));

// Objek definisi font
FontDefinition fd = new FontDefinition(FontType.Type1, fontFileDefinition);

// Buka fontnya
Type1Font font = (Type1Font)Font.Open(fd);

var latinText = true;

// Periksa dukungan simbol latin
for (uint code = 65; code < 123; code++)
{
    GlyphId gid = font.Encoding.DecodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.NotDefId)
    {
        latinText = false;
    }
}

if (latinText)
{
    Console.WriteLine("Font {0} supports latin symbols.", font.FontName);
}
else
{
    Console.WriteLine("Latin symbols are not supported by font {0}.", font.FontName);
}

Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba perpustakaan tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, kami telah mempelajari cara menentukan apakah font TrueType atau Type1 tertentu mendukung simbol Latin atau tidak di C#. Selain itu, Anda dapat mempelajari lebih lanjut tentang Aspose.Font for .NET API menggunakan dokumentasi. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum.

Lihat juga