Vanliga frågor

Vanliga frågor

Licensiering & öppen källkod

Vad är licensmodellen?

Aspose.Font FOSS för Python släpps under the MIT License. Du kan använda, kopiera, modifiera, slå ihop, publicera, distribuera, licensiera vidare eller sälja kopior av mjukvaran utan restriktioner. Det enda kravet är att upphovsrättsmeddelandet och licenstexten inkluderas i alla kopior eller väsentliga delar av mjukvaran.

Kan jag använda den i kommersiella produkter?

Ja. MIT-licensen tillåter användning i slutna källkods‑ och kommersiella produkter. Det finns inga royalty‑ eller tillskrivningskrav förutom att behålla upphovsrättshuvudet i dina kopior av själva biblioteket. Obs: the CffFont klassen har uppdaterats (API_MODIFIED); befintlig kod kan kräva mindre justeringar.

Finns det en betald version med fler funktioner?Aspose.Font FOSS är den öppna källkodsutgåvan. FOSS-utgåvan täcker TTF, OTF, CFF,

Type 1, WOFF, WOFF2 och EOT — vilket täcker majoriteten av verkligt fontarbete.


Installation & krav

Hur installerar jag Aspose.Font FOSS för Python?

Installera det uppdaterade paketet (kräver Python 3.10+):

git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .

Fonten API har modifierats (API_MODIFIED). Inga systemnivå-inbyggda beroenden krävs.

Vilka Python-versioner stöds?

Python 3.10 och senare. Biblioteket använder endast standardbiblioteksfunktioner, så det fungerar på CPython och PyPy-implementationer som stödjer Python 3.10+.

Finns det några inbyggda eller plattformsberoenden?

Nej. Aspose.Font FOSS för Python har inga C-tillägg, inga systemtypsnitt och inga plattforms-API:er. Den fungerar identiskt på Windows, macOS och Linux.


Formatstöd

Vilka typsnittformat kan läsas?

FontLoader.open() kan läsa in TTF, OTF, CFF (fristående), Type 1, WOFF, WOFF2 och EOT.

from aspose_font import FontLoader

font = FontLoader.open("MyFont.ttf")

Vilka format kan skrivas?

FontConverter.convert() stödjer konvertering till TTF, CFF, WOFF och WOFF2. Utdata-typsnittet kan sparas som bytes eller i en filström.

Är WOFF2-dekomprimering inbyggd?

Ja. WOFF2 Brotli-komprimering och -dekomprimering är helt implementerade i biblioteket. Inget externt brotli-paket krävs.


API Usage

Hur laddar jag ett teckensnitt och inspekterar dess metadata?

Använd FontLoader.open() som returnerar en Font instans. För TTF/OTF teckensnitt kasta till TtfFont för att komma åt TTF-specifika egenskaper:

from aspose_font import FontLoader
from aspose_font import TtfFont

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

Hur konverterar jag en TTF till WOFF2?

Läs in teckensnittet med FontLoader.open(), skicka sedan det till FontConverter.convert() och ange FontType.WOFF2 som mål. Det returnerade objektet är en Woff2Font instans redo att serialiseras:

from aspose_font import FontLoader
from aspose_font.converter import FontConverter  # internal API — may change between releases
from aspose_font import FontType

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

Hur skapar jag en delmängd av ett teckensnitt för webbleverans?

Använd FontSubsetter.subset_by_text() för att skapa ett nytt teckensnitt som endast innehåller de glyfer som krävs för att rendera den angivna textsträngen, vilket minskar filstorleken för inbäddning på webbsida:

from aspose_font import FontLoader
from aspose_font import FontSubsetter

font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")

Hur får jag åtkomst till enskilda glyfer?

Använd Font.glyph_accessor som implementerar GlyphAccessor. Anropa get_glyph_by_unicode() med en Unicode-kodpunkt för att hämta motsvarande glyfobjekt och inspektera dess mått eller kontur:

from aspose_font import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041)  # 'A'
print(glyph.glyph_id)

Kända begränsningar

Är Font.to_bytes() implementerad?

Den abstrakta basklassen Font.to_bytes(font_type) kastar NotImplementedError om den anropas direkt. Alla konkreta teckensnittsklasser — TtfFont, CffFont, WoffFont, Woff2Font, EotFont och Type1Font — implementerar to_bytes() fullt ut. Ladda ett teckensnitt med FontLoader.open() och anropa to_bytes() på den returnerade konkreta instansen. FontConverter.convert() kan också skapa ett nytt teckensnitt i vilket som helst av de stödjade målformaten.

Är alla tabelltyper i TtfTableSet ifyllda?

Endast vanliga tabeller (head, hhea, maxp, os2, name, post, cmap, loca, hmtx, kern) exponeras som namngivna egenskaper på TtfTableSet. Andra tabeller kan läsas som råa byte via TtfFont.get_table_bytes(tag).

Stöder biblioteket instansiering av variabla teckensnitt?

Ja. TtfFont.instantiate(coordinates) producerar ett statiskt TtfFont vid angivna axelkoordinater. Använd TtfFont.is_variable och TtfFont.axes för att först identifiera variationsaxlar.

Se även

 Svenska