تحقق من دعم الرموز اللاتينية لخطوط TrueType أو Type1 في C#

رمز الحرف اللاتيني هو حرف على شكل علامة أو علامة أو كلمة. يحدد الخط كيفية عرض الأحرف / الرموز رقميًا أو في شكل قابل للطباعة باستخدام مجموعة من الخصائص. يحتوي ملف الخط على التصميم والمعلومات الأخرى المتعلقة بالخط. في بعض الحالات ، قد نحتاج إلى التحقق مما إذا كان أي خط معين يدعم الرموز اللاتينية أم لا. في هذه المقالة ، سوف نتعلم كيفية التحقق من دعم الرموز اللاتينية لخطوط TrueType أو Type1 في C#.

سيتم تناول الموضوعات التالية في هذه المقالة:

  1. C# API لاكتشاف دعم الرموز اللاتينية في الخطوط
  2. اكتشاف الرموز اللاتينية في خطوط TrueType باستخدام C#
  3. كشف الرموز اللاتينية في خطوط Type1 باستخدام C#

C# API لاكتشاف دعم الرموز اللاتينية في الخطوط

لاكتشاف دعم الرموز اللاتينية في الخطوط ، سنستخدم Aspose.Font for .NET API. يسمح بتحميل المعلومات وحفظها واستخراجها من أنواع الخطوط المدعومة. يرجى إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته باستخدام NuGet.

PM> Install-Package Aspose.Font

كشف الرموز اللاتينية في خطوط TrueType باستخدام C#

يمكننا اكتشاف الرموز اللاتينية في خطوط TrueType باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بتحميل ملف الخط باستخدام فئة FontFileDefinition.
  2. بعد ذلك ، قم بتهيئة كائن فئة FontDefinition باستخدام FontType(TTF) وكائن FontFileDefinition كوسائط.
  3. ثم ، قم باستدعاء الأسلوب Font.Open() باستخدام كائن FontDefinition كوسيطة وقم بتهيئة كائن فئة TtfFont.
  4. بعد ذلك ، مرر عبر الرموز المختلفة وفك تشفيرها إلى معرفات Glyph.
  5. أخيرًا ، تحقق من معرفات الحروف الرسومية لدعم الرموز اللاتينية.

يُظهر نموذج التعليمات البرمجية التالي كيفية اكتشاف ما إذا كان خط تروتايب معين يدعم الرموز اللاتينية أم لا في C#.

// يوضح مثال الكود هذا كيفية اكتشاف ما إذا كان خط تروتايب معين يدعم الرموز اللاتينية أم لا.
// مسار ملف 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 باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بتحميل ملف الخط باستخدام فئة FontFileDefinition.
  2. بعد ذلك ، قم بتهيئة كائن فئة FontDefinition باستخدام FontType(Type1) وكائن FontFileDefinition كوسائط.
  3. ثم قم باستدعاء الأسلوب Font.Open() باستخدام كائن FontDefinition كوسيطة ثم قم بتهيئة كائن فئة Type1Font.
  4. بعد ذلك ، مرر عبر الرموز المختلفة وفك تشفيرها إلى معرفات Glyph.
  5. أخيرًا ، تحقق من معرفات الحروف الرسومية لدعم الرموز اللاتينية.

يوضح نموذج التعليمات البرمجية التالي كيفية اكتشاف ما إذا كان خط 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 لـ .NET API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا