Символ латинського алфавіту — це символ у формі знака, знака або слова. Шрифт визначає, як символи/символи мають відображатися в цифровому вигляді або у формі для друку за допомогою набору властивостей. Файл шрифту містить дизайн та іншу інформацію про шрифт. У деяких випадках нам може знадобитися перевірити, чи підтримує певний шрифт латинські символи чи ні. У цій статті ми дізнаємося, як перевірити підтримку латинських символів для шрифтів TrueType або Type1 у C#.
У цій статті будуть розглянуті такі теми:
- API C# для визначення підтримки латинських символів у шрифтах
- Виявлення латинських символів у шрифтах TrueType за допомогою C#
- Виявлення латинських символів у шрифтах Type1 за допомогою C#
C# API для виявлення підтримки латинських символів у шрифтах
Для визначення підтримки латинських символів у шрифтах ми будемо використовувати API Aspose.Font for .NET. Він дозволяє завантажувати, зберігати та видобувати інформацію з підтримуваних типів шрифтів. Завантажте DLL API або встановіть його за допомогою NuGet.
PM> Install-Package Aspose.Font
Виявлення латинських символів у шрифтах TrueType за допомогою C#
Ми можемо виявити латинські символи у шрифтах TrueType, виконавши наведені нижче дії.
- По-перше, завантажте файл шрифту за допомогою класу FontFileDefinition.
- Потім ініціалізуйте об’єкт класу FontDefinition за допомогою FontType(TTF) і об’єкта FontFileDefinition як аргументи.
- Потім викличте метод Font.Open() з об’єктом FontDefinition як аргументом та ініціалізуйте об’єкт класу TtfFont.
- Після цього перегляньте різні коди та розшифруйте їх у Гліф ідентифікатори.
- Нарешті перевірте ідентифікатори гліфів на підтримку латинських символів.
У наведеному нижче прикладі коду показано, як визначити, чи підтримує певний шрифт TrueType латинські символи в C#.
// Цей приклад коду демонструє, як визначити, чи підтримує певний шрифт TrueType латинські символи чи ні.
// Шлях до файлу TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";
// Завантажте файл шрифту
FontFileDefinition fontFileDefinition = new FontFileDefinition("ttf", new FileSystemStreamSource(fontPath));
// Об’єкт визначення шрифту
FontDefinition fd = new FontDefinition(FontType.TTF, fontFileDefinition);
// Відкрийте шрифт
TtfFont font = (TtfFont)Font.Open(fd);
var latinText = true;
// Перевірте підтримку латинських символів
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);
}
Виявлення латинських символів у шрифтах Type1 за допомогою C#
Ми також можемо виявити латинські символи у шрифтах Type1, виконавши наведені нижче дії:
- По-перше, завантажте файл шрифту за допомогою класу FontFileDefinition.
- Далі ініціалізуйте об’єкт класу FontDefinition за допомогою FontType(Type1) і об’єкта FontFileDefinition як аргументи.
- Потім викличте метод Font.Open() з об’єктом FontDefinition як аргументом та ініціалізуйте об’єкт класу Type1Font.
- Після цього перегляньте різні коди та розшифруйте їх у ідентифікатори Гліф.
- Нарешті перевірте ідентифікатори гліфів на підтримку латинських символів.
У наведеному нижче прикладі коду показано, як визначити, чи певний шрифт Type1 підтримує латинські символи чи ні в C#.
// Цей приклад коду демонструє, як визначити, чи підтримує певний шрифт Type1 латинські символи чи ні.
// Шлях до файлу шрифту Type1
string fontPath = @"D:\Files\font\courier.pfb";
// Завантажте файл шрифту
FontFileDefinition fontFileDefinition = new FontFileDefinition("pfb", new FileSystemStreamSource(fontPath));
// Об’єкт визначення шрифту
FontDefinition fd = new FontDefinition(FontType.Type1, fontFileDefinition);
// Відкрийте шрифт
Type1Font font = (Type1Font)Font.Open(fd);
var latinText = true;
// Перевірте підтримку латинських символів
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);
}
Отримайте безкоштовну ліцензію
Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.
Висновок
У цій статті ми дізналися, як визначити, чи підтримує певний шрифт TrueType або Type1 латинські символи в C#. Крім того, ви можете дізнатися більше про Aspose.Font for .NET API за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на форумі.