فونت‌ها مجموعه‌ای از کاراکترهای قابل چاپ یا نمایش با سبک‌ها، وزن‌ها و غیره متفاوت هستند. از آنها برای افزودن ظاهر و احساس متفاوت به اسناد یا صفحات وب بر اساس نیازهای مختلف استفاده می‌شود. فایل های فونت حاوی طراحی و سایر اطلاعات مربوط به فونت هستند. در این مقاله از فایل های فونت برای تشخیص اینکه آیا فونت از نمادهای لاتین پشتیبانی می کند یا نه به صورت برنامه نویسی با جاوا استفاده می کنیم.

Java API برای تشخیص نمادهای لاتین در فونت های TrueType و Type1

Aspose.Font for Java کتابخانه ای برای کار با فونت هایی مانند TrueType، CFF، Type1 و غیره است. API از بارگیری، ذخیره و استخراج اطلاعات مربوط به فونت ها API همچنین به شما امکان می دهد پشتیبانی از نمادهای لاتین را در فونت ها تشخیص دهید. می توانید API را با استفاده از Maven دانلود کنید یا JAR را از بخش دانلودها دانلود کنید.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-font</artifactId>
    <version>21.4</version>
</dependency>

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

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

  • یک نمونه از کلاس FontDefinition با استفاده از فایل فونت ایجاد کنید.
  • یک نمونه از کلاس TtfFont با استفاده از شی FontDefinition ایجاد شده در مرحله قبل ایجاد کنید.
  • از میان کدهای مختلف حلقه بزنید و آنها را به شناسه های علامتی رمزگشایی کنید.
  • شناسه های علامت را برای پشتیبانی از نمادهای لاتین بررسی کنید.

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

// مسیر فایل فونت
String fileName = Utils.getDataDir() + "Montserrat-Regular.ttf"; //Font file name with full path

// فایل فونت را بارگیری کنید
FontDefinition fd = new FontDefinition(FontType.TTF, new FontFileDefinition("ttf", new FileSystemStreamSource(fileName)));
TtfFont ttfFont = (TtfFont) Font.open(fd);

boolean latinText = true;

// پشتیبانی از نمادهای لاتین را بررسی کنید
for (int code = 65; code < 123; code++)
{
    GlyphId gid = ttfFont.getEncoding().decodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.getNotDef())
    {
        latinText = false;
    }
}

if (latinText)
{
    System.out.println(MessageFormat.format("Font {0} supports latin symbols.", ttfFont.getFontName()));
}
else
{
    System.out.println(MessageFormat.format("Latin symbols are not supported by font {0}.", ttfFont.getFontName()));
}

تشخیص نمادهای لاتین در فونت های Type1 با استفاده از جاوا

فرآیند تشخیص پشتیبانی از نمادهای لاتین در فونت‌های Type1 مشابه فونت‌های TrueType است. تنها تفاوت این است که ما از کلاس Type1Font برای دسترسی به اطلاعات فونت استفاده خواهیم کرد. مراحل زیر برای شناسایی پشتیبانی از نمادهای لاتین در فونت های Type1 آورده شده است.

  • یک نمونه از کلاس FontDefinition با استفاده از فایل فونت ایجاد کنید.
  • یک نمونه از کلاس Type1Font با استفاده از شی FontDefinition ایجاد شده در مرحله قبل ایجاد کنید.
  • از میان کدهای مختلف حلقه بزنید و آنها را به شناسه های علامتی رمزگشایی کنید.
  • شناسه های علامت را برای پشتیبانی از نمادهای لاتین بررسی کنید.

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

// مسیر فایل فونت
String fileName = Utils.getDataDir() + "courier.pfb"; //Font file name with full path

// فایل فونت را بارگیری کنید
FontDefinition fd = new FontDefinition(FontType.Type1, new FontFileDefinition("pfb", new FileSystemStreamSource(fileName)));
Type1Font font = (Type1Font) Font.open(fd);

boolean latinText = true;

// پشتیبانی از نمادهای لاتین را بررسی کنید
for (int code = 65; code < 123; code++)
{
    GlyphId gid = font.getEncoding().decodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.getNotDef())
    {
        latinText = false;
    }
}

if (latinText)
{
    System.out.println(MessageFormat.format("Font {0} supports latin symbols.", font.getFontName()));
}
else
{
    System.out.println(MessageFormat.format("Latin symbols are not supported by font {0}.", font.getFontName()));
}

مجوز رایگان دریافت کنید

به منظور امتحان API بدون محدودیت ارزیابی، می توانید [مجوز موقت رایگان] را درخواست کنید.

نتیجه

در این مقاله نحوه تشخیص پشتیبانی از علائم لاتین در فونت ها با استفاده از جاوا را یاد گرفتید. نمونه کد مشترک به شما امکان می دهد تشخیص دهید که آیا یک فونت خاص از نمادهای لاتین پشتیبانی می کند یا خیر. Aspose.Font برای جاوا بسیاری از ویژگی‌های اضافی را برای کار با فونت‌ها فراهم می‌کند که می‌توانید با مراجعه به مستندات رسمی جزئیات را بررسی کنید. در صورت وجود هرگونه سوال، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان15 تماس بگیرید.

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