TTF را با استفاده از جاوا به WOFF و WOFF2 تبدیل کنید.

WOFF (Web Open Font Format) اساساً یک TTF (Font Type True) است اما حاوی فشرده‌سازی فرمت خاص و فراداده XML اضافی است. WOFF2 نسخه توسعه یافته WOFF است. در مقایسه با WOFF فشرده سازی بیشتری را ارائه می دهد. هر دو WOFF و WOFF2 در صفحات وب استفاده می شوند. از سوی دیگر، TTF (True Type Font) روی تمام پلتفرم‌های دیجیتال به خوبی کار می‌کند و کیفیت عالی را روی صفحه و در اسناد چاپی ارائه می‌دهد. در موارد خاص، ممکن است نیاز داشته باشیم که فونت‌های نوع واقعی را به صورت برنامه‌نویسی در برنامه‌های جاوا به فونت‌های وب تبدیل کنیم. در این مقاله نحوه تبدیل TTF به WOFF و WOFF2 با استفاده از جاوا را خواهیم آموخت.

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

Java API برای تبدیل TTF به WOFF و WOFF2

برای تبدیل TTF به WOFF، از API Aspose.Font for Java استفاده خواهیم کرد. کلاس FontFileDefinition را ارائه می کند که تعریف فایل فونت را نشان می دهد. همچنین کلاس FontDefinition را ارائه می کند که تعریف مجموعه فایل Font را نشان می دهد و جزئیات اساسی فونت مانند نام، نوع و غیره را ارائه می دهد. متد Open() این کلاس FontDefinition را برای فایل فونت و نوع فونت برمی گرداند. با استفاده از متد SaveToFormat() کلاس Font می توانیم فونت بارگذاری شده را به فرمت های دیگر تبدیل کنیم. علاوه بر این، API اجازه بارگیری، ذخیره و استخراج اطلاعات از [انواع فونت پشتیبانی شده] را می دهد.

لطفاً JAR API را دانلود کنید یا پیکربندی pom.xml زیر را در یک برنامه جاوا مبتنی بر Maven اضافه کنید.

<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.12</version>
    <type>pom</type>
</dependency>

با استفاده از جاوا TTF را به WOFF تبدیل کنید

با دنبال کردن مراحل زیر می‌توانیم به راحتی فونت‌های True Type (TTF) را به قالب فونت باز وب (WOFF) تبدیل کنیم:

  • ابتدا فایل فونت را با استفاده از کلاس FileSystemStreamSource بارگیری کنید.
  • سپس، یک نمونه از کلاس FontFileDefinition با شی فایل منبع به عنوان آرگومان ایجاد کنید.
  • سپس، شی کلاس FontDefinition را با نوع Font به عنوان TTF و شی FontFileDefinition مقداردهی اولیه کنید.
  • پس از آن، فونت را با استفاده از روش Font باز کنید.Open() با شی FontDefinition به عنوان آرگومان.
  • در نهایت، متد SaveToFormat() را برای ذخیره آن فراخوانی کنید. مسیر فایل خروجی و FontSavingFormats را به عنوان آرگومان WOFF می‌گیرد.

نمونه کد زیر نحوه تبدیل TTF به WOFF با استفاده از جاوا را نشان می دهد.

// این مثال کد نحوه تبدیل TTF به WOFF را نشان می دهد.
// مسیر فایل TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// فایل Font را بارگیری کنید
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// تعریف فایل فونت ایجاد کنید
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// تعریف فونت ایجاد کنید
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// فونت را باز کنید
Font font = Font.open(fontDefinition);

// مسیر خروجی WOFF
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);

// TTF را به WOFF تبدیل کنید
font.saveToFormat(outStream, FontSavingFormats.WOFF);

با استفاده از جاوا TTF را به WOFF2 تبدیل کنید

WOFF2 نسخه به روز شده WOFF است. فشرده سازی بیشتری را ارائه می دهد که به دلیل اندازه فایل کوچکتر است و عملکرد بهتری را برای مرورگرهای مدرن ارائه می دهد. همچنین می‌توانیم TTF را با انجام مراحلی که قبلاً ذکر شد، به WOFF2 تبدیل کنیم. با این حال، ما فقط باید FontSavingFormats را در مرحله آخر به عنوان WOFF2 تنظیم کنیم.

نمونه کد زیر نحوه تبدیل TTF به WOFF2 با استفاده از جاوا را نشان می دهد.

// این مثال کد نحوه تبدیل TTF به WOFF2 را نشان می دهد.
// مسیر فایل TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// فایل Font را بارگیری کنید
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// تعریف فایل فونت ایجاد کنید
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// تعریف فونت ایجاد کنید
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// فونت را باز کنید
Font font = Font.open(fontDefinition);

// مسیر خروجی WOFF
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);

// TTF را به WOFF تبدیل کنید
font.saveToFormat(outStream, FontSavingFormats.WOFF2);

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

شما می توانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله نحوه تبدیل فونت های True Type به فونت های باز وب در جاوا را یاد گرفتیم. ما همچنین دیدیم که چگونه TTF را به عنوان WOFF2 به صورت برنامه نویسی ذخیره کنیم. علاوه بر این، می‌توانید با استفاده از مستندات درباره Aspose.Font for Java API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان تماس بگیرید.

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