Întrebări frecvente
Licențiere și Open Source
Care este modelul de licențiere?
Aspose.Font FOSS for Python is released under the Licență MIT.Poţi folosi, copiează., modificarea, fuziunea, publicarea și distribuirea copiilor software-ului fără a le acorda licențe suplimentare. Singura cerinţă este ca notificarea de drepturi de autor şi textul licenţei să fie înregistrate. incluse în toate copiile sau părțile substanțiale ale software-ului.
Pot să o folosesc în produse comerciale?
Da, licența MIT permite utilizarea în produse cu sursă închisă și comerciale. Nu există obligații de drepturi sau atribuire dincolo de păstrarea titlului copyright-ului în copiile dvs. ale bibliotecii proprii.
Există o versiune plătită cu mai multe caracteristici?
Aspose.Font FOSS is the open-source edition. The FOSS edition covers TTF, OTF, CFF, Type 1, WOFF, WOFF2, and EOT — which covers the majority of real-world font work.
Instalare & Cerințe
Cum să instalați Aspose.Note FOSS pentru Python?
Instalați pachetul de la PyPI (requer Python 3.10+):
pip install "aspose-font>=1.0.0"Nu sunt necesare dependențe native la nivel de sistem.
Ce versiuni de Python sunt acceptate?
Python 3.10 și mai târziu. Biblioteca folosește doar caracteristici standard ale bibliotecii, astfel încât funcționează pe implementările CPython și PyPy care suportă Python 3.0+.
Există dependențe native sau de platformă?
Nu. Aspose.Font FOSS pentru Python nu are extensii C, nici fonturi de sistem și nici API-uri platforme. Acesta funcționează identic pe Windows, macOS și Linux.
Formatul de suport
Ce tipuri de font pot fi citite?
FontLoader.open() poate încărca TTF, OTF și CFF (de tip independent), de tipul 1, WOFF, WOff2 și EOT.
from aspose_font.loader import FontLoader
font = FontLoader.open("MyFont.ttf")Ce formate pot fi scrise?
FontConverter.convert() suportă conversia în TTF, CFF, WOFF și WOff2. font poate fi salvat în bați sau un flux de fișiere.
Este decompresia WOFF2 încorporată?
Da. WOFF2 Brotli comprimarea și decomprimarea sunt implementate în întregime în bibliotecă. Nu este necesar niciun pachet extern de brotli.
Folosirea focului
Cum pot încărca un font și să-i inspectez metadatele?
Utilizare: FontLoader.open() care returnează o Font În cazul tipurilor TTF/OTF, se aplică: TtfFont pentru a accesa proprietăți specifice TTF:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.num_glyphs)Cum convertesc un TTF în WOFF2?
Încărcați fontul cu: FontLoader.open(), apoi trece-l la FontConverter.convert() care precizează: FontType.WOFF2 Obiectul returnat este un obiect de tip “S” sau “T”. Woff2Font Instanţă gata de serializare:
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)Cum pot subset o font pentru livrare web?
Utilizare: FontSubsetter.subset_by_text() pentru a produce o nouă fontă care include numai glifele necesare pentru renderizarea șirului de text furnizat, reducând dimensiunea fișierului pentru încorporarea paginii web:
from aspose_font.loader import FontLoader
from aspose_font.subsetter import FontSubsetter
font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")Cum accesez simbolurile individuale?
Utilizare: Font.glyph_accessor care implementează: GlyphAccessor.Sună-mă. get_glyph_by_unicode() cu un punct de cod Unicode pentru a obține obiectivul glif corespunzător și să inspecteze metricile sau conturul acestuia:
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041) # 'A'
print(glyph.glyph_id)Limitări cunoscute
Font.to_bytes ((() este implementat?
Clasa de bază abstractă Font.to_bytes() creșteri de valoare NotImplementedError dacă sun direct. Cu toate acestea, toate clasele de fonturi concrete TtfFont, CffFont, WoffFont, Woff2Font, EotFont, și Type1Font implementare to_bytes() Încărcați un font cu: FontLoader.open() şi sună-l. to_bytes() pe exemplul concret returnat. FontConverter.convert() poate fi şi să producă un nou font în orice format țintă suportat.
Sunt toate tipurile de tabele în TtfTableSet completate?
Numai tabele comune (head, hhea, maxp, os2, name, post, cmap, loca, hmtx, kern) sunt expunerea ca proprietăți denumite pe TtfTableSet.Alte tabele pot fi citite ca byte brute. prin intermediul TtfFont.get_table_bytes(tag).
Biblioteca suportă instanțierea fontului variabil?
- Da, am fost.
TtfFont.instantiate()produce o stare statică.TtfFontla coordonatele axului specificate. Utilizare:TtfFont.is_variableși de:TtfFont.axespentru a detecta mai întâi axe de variație.