چگونه با فونت های TTF در Python کار کنیم

چگونه با فونت های TTF در Python کار کنیم

این راهنمای نشان می دهد که چگونه برای بارگذاری فونت های TTF، بررسی TtfFont ویژگی ها، جدول های خواندن، فونت های متغیر فوری و تبدیل به فرمت های دیگر با استفاده از Aspose.Font FOSS برای Python..ttf) رایج ترین فرمت فونت هستند. Aspose.Font FOSS آنها را به عنوان TtfFont مثال ها، دسترسی به جدول ها و محورهای فونت متغیر، داده های گلیف و ابزار تبدیل را فراهم می کند.

راهنمای گام به گام

مرحله اول: نصب بسته بندی

نصب بسته FOSS از PyPI با استفاده از دستور Pip زیر:

pip install "aspose-font>=1.0.0"

مرحله دوم: کلاس های مورد نیاز واردات

Import FontLoader و TtfFont برای بارگذاری یک فونت TTF و دسترسی به ویژگی های تایپ شده آن:

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

مرحله 3: بارگذاری و بررسی یک فونت TTF

دانلود فایل TTF با استفاده از FontLoader.open() و ویژگی های اساسی مانند نام، خانواده و شمار گلیف را بخوانید:

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.font_family)
print(ttf_font.num_glyphs)

مرحله چهارم: جدول هسته را بخوانید.

دسترسی به ttf_tables اموال و بررسی حضور جدول هسته با نام:

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
kern = ttf_font.ttf_tables.kern
print("kern present:", kern is not None)

مرحله پنجم: یک فونت متغیر را نصب کنید.

فایل های متن متغیر را بارگذاری کنید، چک کنید. is_variable,و تماس instantiate() با یک فرهنگ لغت محور برای تولید یک مثال استاتیک:

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
if ttf_font.is_variable:
    static = ttf_font.instantiate({"wght": 700.0})
    print("Instantiated:", static.font_name)

مرحله 6 : تبدیل به WOFF2

تبدیل یک فونت TTF بارگذاری شده به فرمت WOFF2 با عبور از FontType.WOFF2 به FontConverter.convert():

from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType

font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)

مشکلات و اصلاحات مشترک

AttributeError: Font has no attribute ttf_tables استفاده از ttf_font: TtfFont = FontLoader.open(...). و این ttf_tables املاک در حال حاضر TtfFont,نه پایه ای Font.

is_variable در یک فونت متغیر جعلی است. برخی از فونت های متغیر از یک غیر استاندارد استفاده می کنند. fvar فرم های صفحه نمایش: چک کنید ttf_font.fvar is not None به عنوان یک جایگزین.

instantiate() افزایش KeyError - برچسب محور باید یک برچسب ثبت شده 4 شار باشد. (برای مثال ج. "wght", "wdth") چک کنید ttf_font.axes برای تگ های موجود.

پرسش های متداول

تفاوت بین TTF و OTF چیست؟?

OTF و TTF همان کانتینر باینری (SFNT) را به اشتراک می گذارند. در حالی که فونت های TTF از منحنی TrueType مربع استفاده می کنند. FontLoader.open().

آیا می توانم از یک فونت TTF استفاده کنم؟?

بله استفاده کنید TtfFont.get_kern_pairs() برای دریافت یک لیست از KernPair اشیاء .

آیا کتابخانه از مجموعه های فونت (.ttc) پشتیبانی می کند؟?

بله استفاده کنید FontLoader.open(source, collection_index=N) برای انتخاب یک فونت خاص از یک فایل TTC جمع آوری شده است.

See Also

 فارسی