Проверка на латинские символы в шрифтах

Решение .NET API, чтобы узнать, поддерживает ли шрифт латинские символы.

 

Aspose.Font API Solution имеет богатый функционал для работы со шрифтами. Преобразование, манипуляции с глифами, загрузка и сохранение шрифтов и многое другое. Некоторые функции связаны с манипуляциями с глифами.

Глиф — это индивидуально разработанный символ шрифта или графическое представление символа/знака. Чтобы узнать больше об этом единице шрифта, прочитайте статью Introduction to Glyph .

Все мы точно знаем, что такие шрифты, как Arial, Times New Roman и Helvetica, содержат латинские символы. А как же остальные шрифты? На этой странице описан вариант поиска глифов латинских символов в шрифте, но вся функциональность подробно описана в статье Использование объектов глифов . Там вы найдете гораздо больше примеров кода C# и узнаете о функциях Aspose.Font для работы с глифами и Aspose.Font.Glyphs пространства имен в частности.

Для работы с глифами нам понадобится:

  • Aspose.Font for .NET API — многофункциональный, мощный и простой в использовании API для работы с документами и преобразования для платформы C#.

  • Откройте диспетчер пакетов NuGet, найдите Aspose.Font и установите его. Вы также можете использовать следующую команду из консоли диспетчера пакетов.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Шаги, чтобы определить, поддерживает ли шрифт латинские символы с помощью C#:

  1. Укажите шрифт, который необходимо проверить.
  2. Определите латинские символы, используя функциональность класса GlyphId .

Код С# для обнаружения латинских символов в шрифтах

    using Aspose.Font;
    using Aspose.Font.Glyphs;
    bool latinText = true;

    //Font to check
    Font font;

    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(string.Format("Font {0} supports latin symbols.", font.FontName));
    }
    else
    {
        Console.WriteLine(string.Format("Latin symbols are not supported by font {0}.", font.FontName));
    }



Часто задаваемые вопросы

1. Что такое латинский символ?

Латинским или римским символом является любой символ латинского алфавита. Большинство современных языков используют латинский алфавит, например английский.

2. Что такое нелатинские символы?

Вот несколько примеров нелатинских языков: азиатские, арабский, кириллица, иврит. Символы этих языков не латинские.

3. Является ли латынь Юникодом?

На официальном сайте Unicode мы можем узнать, что стандарт Unicode фактически начался с базовой латиницы. Так что да, они в основном Unicode. Чтобы проверить, является ли какой-либо символ Unicode, просто изучите Таблицы кодов Unicode .

4. Как определить латинские символы в шрифте?

Укажите шрифт, с которым вы хотите работать. С помощью сущностей класса GlyphId проверьте, содержит ли шрифт латинские символы.