تبدیل TTF به WOFF با استفاده از C#

فونت ها نمایش گرافیکی یک کاراکتر را در متن تعریف می کنند، مانند اندازه، سبک نمایش، وزن، رنگ، و غیره. صفحه نمایش و در اسناد چاپی از طرف دیگر، WOFF (فرمت فونت باز وب) بیشتر در صفحات وب استفاده می شود. این شامل فشرده سازی فرمت خاص و فراداده XML اضافی است. در موارد خاص، ممکن است نیاز داشته باشیم که فونت های نوع واقعی را به فونت های وب تبدیل کنیم. در این مقاله نحوه تبدیل TTF به WOFF با استفاده از سی شارپ را خواهیم آموخت.

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

C# TTF به WOFF تبدیل API

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

PM> Install-Package Aspose.Font

تبدیل TTF به WOFF با استفاده از C#

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

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

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

// این مثال کد نحوه تبدیل TTF به WOFF را نشان می دهد.
// مسیر فایل TTF
string fontPath = @"D:\Files\font\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 = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

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

تبدیل TTF به WOFF2 در سی شارپ

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

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

// این مثال کد نحوه تبدیل TTF به WOFF2 را نشان می دهد.
// مسیر فایل TTF
string fontPath = @"D:\Files\font\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 = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

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

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

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

نتیجه

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

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