پشتیبانی از نمادهای لاتین برای فونت های TrueType یا Type1 در سی شارپ را بررسی کنید

نماد کاراکتر لاتین کاراکتری به شکل علامت، علامت یا کلمه است. فونت تعیین می کند که چگونه کاراکترها/نمادها باید به صورت دیجیتالی یا به شکل قابل چاپ با استفاده از مجموعه ای از ویژگی ها نمایش داده شوند. فایل فونت شامل طراحی و سایر اطلاعات مربوط به فونت می باشد. در موارد خاص، ممکن است لازم باشد بررسی کنیم که آیا فونت خاصی از نمادهای لاتین پشتیبانی می کند یا خیر. در این مقاله، نحوه بررسی پشتیبانی نمادهای لاتین از فونت های TrueType یا Type1 در سی شارپ را خواهیم آموخت.

موضوعات زیر باید در این مقاله پوشش داده شود:

  1. [C# API برای تشخیص پشتیبانی از نمادهای لاتین در فونت20
  2. تشخیص نمادهای لاتین در فونت های TrueType با استفاده از C#
  3. تشخیص نمادهای لاتین در فونت های Type1 با استفاده از C#

C# API برای تشخیص پشتیبانی از نمادهای لاتین در فونت ها

برای شناسایی پشتیبانی از نمادهای لاتین در فونت‌ها، از Aspose.Font for .NET API استفاده خواهیم کرد. این امکان بارگیری، ذخیره و استخراج اطلاعات از [نوع فونت های پشتیبانی شده] را فراهم می کند. لطفاً DLL API را دانلود یا با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.Font

تشخیص نمادهای لاتین در فونت های TrueType با استفاده از C#

با دنبال کردن مراحل زیر می توانیم نمادهای لاتین را در فونت های TrueType شناسایی کنیم:

  1. ابتدا فایل فونت را با استفاده از کلاس FontFileDefinition بارگیری کنید.
  2. سپس، شی کلاس FontDefinition را با FontType (TTF) و شی FontFileDefinition به عنوان آرگومان مقداردهی کنید.
  3. سپس، متد Font.Open() را با شی FontDefinition به عنوان آرگومان فراخوانی کنید و شی کلاس TtfFont را مقداردهی اولیه کنید.
  4. پس از آن، از طریق کدهای مختلف حلقه بزنید و آنها را به ID Glyph رمزگشایی کنید.
  5. در نهایت، شناسه های گلیف را برای پشتیبانی از نمادهای لاتین بررسی کنید.

نمونه کد زیر نشان می دهد که چگونه می توان تشخیص داد که آیا یک فونت TrueType خاص از نمادهای لاتین پشتیبانی می کند یا نه در سی شارپ.

// این مثال کد نشان می دهد که چگونه می توان تشخیص داد که آیا یک فونت 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 با دنبال کردن مراحل زیر شناسایی کنیم:

  1. ابتدا فایل فونت را با استفاده از کلاس FontFileDefinition بارگذاری کنید.
  2. سپس، شی کلاس FontDefinition را با FontType (Type1) و شی FontFileDefinition به عنوان آرگومان مقداردهی اولیه کنید.
  3. سپس، متد Font.Open() را با شیء FontDefinition به عنوان آرگومان فراخوانی کنید و شی کلاس Type1Font را مقداردهی اولیه کنید.
  4. پس از آن، کدهای مختلف را حلقه بزنید و آنها را به ID Glyph رمزگشایی کنید.
  5. در نهایت، شناسه های گلیف را برای پشتیبانی از نمادهای لاتین بررسی کنید.

نمونه کد زیر نشان می دهد که چگونه می توان تشخیص داد که آیا یک فونت Type1 خاص از نمادهای لاتین در سی شارپ پشتیبانی می کند یا نه.

// این مثال کد نشان می دهد که چگونه می توان تشخیص داد که آیا یک فونت 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 خاصی از نمادهای لاتین در سی شارپ پشتیبانی می کند یا خیر. علاوه بر این، می‌توانید با استفاده از مستندات درباره Aspose.Font for .NET API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس حاصل فرمایید19.

همچنین ببینید