رمز الحرف اللاتيني هو حرف على شكل علامة أو علامة أو كلمة. يحدد الخط كيفية عرض الأحرف / الرموز رقميًا أو في شكل قابل للطباعة باستخدام مجموعة من الخصائص. يحتوي ملف الخط على التصميم والمعلومات الأخرى المتعلقة بالخط. في بعض الحالات ، قد نحتاج إلى التحقق مما إذا كان أي خط معين يدعم الرموز اللاتينية أم لا. في هذه المقالة ، سوف نتعلم كيفية التحقق من دعم الرموز اللاتينية لخطوط TrueType أو Type1 في C#.
سيتم تناول الموضوعات التالية في هذه المقالة:
- C# API لاكتشاف دعم الرموز اللاتينية في الخطوط
- اكتشاف الرموز اللاتينية في خطوط TrueType باستخدام C#
- كشف الرموز اللاتينية في خطوط Type1 باستخدام C#
C# API لاكتشاف دعم الرموز اللاتينية في الخطوط
لاكتشاف دعم الرموز اللاتينية في الخطوط ، سنستخدم Aspose.Font for .NET API. يسمح بتحميل المعلومات وحفظها واستخراجها من أنواع الخطوط المدعومة. يرجى إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته باستخدام NuGet.
PM> Install-Package Aspose.Font
كشف الرموز اللاتينية في خطوط TrueType باستخدام C#
يمكننا اكتشاف الرموز اللاتينية في خطوط TrueType باتباع الخطوات الواردة أدناه:
- أولاً ، قم بتحميل ملف الخط باستخدام فئة FontFileDefinition.
- بعد ذلك ، قم بتهيئة كائن فئة FontDefinition باستخدام FontType(TTF) وكائن FontFileDefinition كوسائط.
- ثم ، قم باستدعاء الأسلوب Font.Open() باستخدام كائن FontDefinition كوسيطة وقم بتهيئة كائن فئة TtfFont.
- بعد ذلك ، مرر عبر الرموز المختلفة وفك تشفيرها إلى معرفات Glyph.
- أخيرًا ، تحقق من معرفات الحروف الرسومية لدعم الرموز اللاتينية.
يُظهر نموذج التعليمات البرمجية التالي كيفية اكتشاف ما إذا كان خط تروتايب معين يدعم الرموز اللاتينية أم لا في 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 باتباع الخطوات الواردة أدناه:
- أولاً ، قم بتحميل ملف الخط باستخدام فئة FontFileDefinition.
- بعد ذلك ، قم بتهيئة كائن فئة FontDefinition باستخدام FontType(Type1) وكائن FontFileDefinition كوسائط.
- ثم قم باستدعاء الأسلوب Font.Open() باستخدام كائن FontDefinition كوسيطة ثم قم بتهيئة كائن فئة Type1Font.
- بعد ذلك ، مرر عبر الرموز المختلفة وفك تشفيرها إلى معرفات Glyph.
- أخيرًا ، تحقق من معرفات الحروف الرسومية لدعم الرموز اللاتينية.
يوضح نموذج التعليمات البرمجية التالي كيفية اكتشاف ما إذا كان خط 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 باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.