Aspose.Font FOSS برای Python یک جعبهابزار pure-Python برای بارگذاری، بازرسی، تبدیل، زیرمجموعهسازی و پیشنمایش قلمها در فرمتهای TrueType، OpenType، CFF، Type 1، WOFF، WOFF2 و EOT است. این کتابخانه بر روی Python 3.10 یا بالاتر اجرا میشود و نیازی به کتابخانههای قلم سیستمعامل خارجی یا وابستگیهای بومی ندارد.
این کتابخانه یک API تمیز برای بارگذاری قلم از طریق FontLoader، دسترسی به گلیف از طریق GlyphAccessor، تبدیل فرمت از طریق FontConverter، بهینهسازی وب از طریق FontCleaner، زیرمجموعهسازی آگاه به متن از طریق FontSubsetter، و انیمیشن قلم متغیر از طریق AnimationPreviewBuilder ارائه میدهد. فرادادههای قلم مانند نام، خانواده، سبک، تعداد گلیف، رمزگذاری و معیارها از طریق کلاس پایه Font بدون نیاز به تجزیه دستی جداول باینری در دسترس هستند.
Aspose.Font FOSS تحت مجوز MIT است و با یک فرمان pip install از PyPI قابل نصب است. این ابزار برای ابزارهای طراحی قلم، خطوط لوله وبفونت، موتورهای رندرینگ گلیف، و هر برنامه Python که نیاز به خواندن، تبدیل یا تولید فایلهای قلم دارد مناسب است. برای مجموعه محصولات سازمانی، به Aspose.Font — Enterprise Product Family مراجعه کنید.
FontLoader.open() و FontLoader.load() بارگذاری کنید.Font: font_name, font_family,font_style، num_glyphsFontEncoding.unicode_to_gid() و get_all_codepoints() بخوانید.FontMetrics بررسی کنید: صعود، نزول، فاصله خط، مربع emGlyphAccessor.get_glyph_by_id() و get_glyph_by_unicode() بازیافت کنید.GlyphAccessor.get_glyphs_for_text() حل کنید.MoveTo، LineTo, QuadraticTo ، CurveTo،ClosePathGlyph خواصKernPair بخوانید.FontConverter.convert()CurveAdapter.quad_to_cubic() و cubic_to_quads() تطبیق دهید.convert_path_quad_to_cubic() و convert_path_cubic_to_quad() تبدیل کنید.FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() و available_presets()FontSubsetter.analyze_coverage() و analyze_web_coverage() تحلیل کنید.FontCleaner.clean_for_web() حذف کنید.CompatibilityChecker.compare_fonts() و compare_variable_instances() را بررسی کنید.AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path() بسازید.یک فونت TrueType یا OpenTyme را از مسیر فایل باز کنید و متادات پایه آن را بخوانید.
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name) # e.g. "Roboto"
print(font.font_family) # e.g. "Roboto"
print(font.num_glyphs) # e.g. 1294
تمام گلیفهای یک نقطه ی یونیکد را حل کنید و مسیرهای طرح آنها را بررسی کنید.
from aspose_font.loader import FontLoader
font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(0x41) # Unicode for A
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
for cmd in glyph.path.commands:
print(type(cmd).__name__, cmd)
یک APNG متحرک ایجاد کنید که محور متغیر فونت را از شروع تا پایان ارزش پاک کند.
from aspose_font.loader import FontLoader
from aspose_font.animation import AnimationPreviewBuilder
font = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
asset = AnimationPreviewBuilder.build_axis_sweep(
font,
axis_tag="wdth",
start_val=75.0,
end_val=100.0,
frames=3,
fps=10,
text="A",
size=10.0,
bounce=True,
)
asset.write_to("roboto-sweep-wdth.png")
جدول های قدیمی و رکوردهای نام مک را برای کاهش اندازه باینری قبل از سرویس دهی وب حذف کنید.
from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# DSIG, FFTM, meta tables removed; Mac platform name records stripped
این یک کتابخانه رایگان و با مجوز MIT برای بارگیری، بازرسی، تبدیل کردن و زیرنویس کردن فونت ها در فرمت های TTF ، OTF، CFF ، Type 1 ، WOFF، WOff2 و EOT است. هیچ وابستگی بومی مورد نیاز نیست.
pip install "aspose-font>=1.0.0" را اجرا کنید. هیچ وابستگی سطح سیستم مورد نیاز نیست. این کتابخانه در ویندوز، macOS و لینوکس با پایتون 3.10 یا بالاتر کار می کند.
FontLoader.open() TTF، OTF, CFF، Type 1, WOFF, WOff2 و EOT را می خواند. FontConverter.convert() نوشته شده است TFT، CFCF، WOFF و WOWF2. Eot فقط برای خواندن است.
نه. Font.to_bytes() در کلاس پایه اجرا نشده است. برای تولید یک Font جدید با فرمت مورد نظر، از FontConverter.convert() استفاده کنید.
بله. FontSubsetter.subset_by_text(font, text) یک Font جدید را که فقط گلیفهای مورد نیاز برای متن داده شده دارد، باز می گرداند.FontSubsetter.subset(font, codepoints) و subset_by_gids(font, gids) کنترل دقیق تری را به دست می آورند.