تحويل TTF إلى WOFF و WOFF2 باستخدام Java.

WOFF (تنسيق خط الويب المفتوح) هو في الأساس TTF (خط نوع حقيقي) ولكنه يحتوي على ضغط خاص بالتنسيق وبيانات تعريف XML إضافية. WOFF2 هو نسخة موسعة من WOFF. يوفر ضغطًا أكبر مقارنةً بـ WOFF. يتم استخدام كل من WOFF و WOFF2 على صفحات الويب. من ناحية أخرى ، يعمل TTF (True Type Font) بشكل جيد على جميع المنصات الرقمية ويعطي جودة ممتازة على الشاشة وفي المستندات المطبوعة. في بعض الحالات ، قد نحتاج إلى تحويل الخطوط من النوع الحقيقي إلى خطوط ويب برمجيًا في تطبيقات Java. في هذه المقالة ، سوف نتعلم كيفية تحويل TTF إلى WOFF و WOFF2 باستخدام Java.

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

Java API لتحويل TTF إلى WOFF & WOFF2

لتحويل TTF إلى WOFF ، سنستخدم Aspose.Font for Java API. يوفر فئة FontFileDefinition التي تمثل تعريف ملف الخط. كما أنه يوفر فئة FontDefinition التي تمثل تعريف مجموعة ملفات Font وتوفر تفاصيل أساسية عن Font ، مثل الاسم والنوع وما إلى ذلك. تقوم طريقة Open() الخاصة بهذه الفئة بإرجاع FontDefinition لملف الخط ونوع الخط. يمكننا تحويل الخط الذي تم تحميله إلى تنسيقات أخرى باستخدام طريقة SaveToFormat() لفئة الخط. علاوة على ذلك ، تسمح واجهة برمجة التطبيقات بتحميل المعلومات وحفظها واستخراجها من أنواع الخطوط المدعومة.

يرجى إما تنزيل JAR الخاص بواجهة برمجة التطبيقات أو إضافة تكوين pom.xml التالي في تطبيق Java المستند إلى 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 باستخدام Java

يمكننا بسهولة تحويل True Type Fonts (TTF) إلى Web Open Font Format (WOFF) باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بتحميل ملف الخط باستخدام فئة FileSystemStreamSource.
  • بعد ذلك ، قم بإنشاء مثيل لفئة FontFileDefinition باستخدام كائن الملف المصدر كوسيطة.
  • بعد ذلك ، قم بتهيئة كائن فئة FontDefinition بنوع الخط ككائن TTF و FontFileDefinition.
  • بعد ذلك ، افتح الخط باستخدام طريقة Font. Open() باستخدام كائن FontDefinition كوسيطة.
  • أخيرًا ، قم باستدعاء الأسلوب SaveToFormat() لحفظه. يأخذ مسار ملف الإخراج و FontSavingFormats إلى WOFF كوسيطات.

يوضح نموذج التعليمات البرمجية التالي كيفية تحويل TTF إلى WOFF باستخدام Java.

// يوضح مثال التعليمات البرمجية هذا كيفية تحويل TTF إلى WOFF.
// مسار ملف TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// قم بتحميل ملف الخط
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 باستخدام Java

WOFF2 هو إصدار محدث من WOFF. إنه يوفر ضغطًا أكبر نظرًا لأنه يكون أصغر في حجم الملف ويوفر أداءً أفضل للمتصفحات الحديثة. يمكننا أيضًا تحويل TTF إلى WOFF2 باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين FontSavingFormats كـ WOFF2 في الخطوة الأخيرة.

يوضح نموذج التعليمات البرمجية التالي كيفية تحويل TTF إلى WOFF2 باستخدام Java.

// يوضح مثال التعليمات البرمجية هذا كيفية تحويل TTF إلى WOFF2.
// مسار ملف TTF
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// قم بتحميل ملف الخط
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 Fonts إلى Web Open Fonts في Java. لقد رأينا أيضًا كيفية حفظ TTF كـ WOFF2 برمجيًا. علاوة على ذلك ، يمكنك معرفة المزيد حول Aspose.Font لـ Java API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا