Utilia

Orezanie písma (subset)

Orež písmo na znaky, ktoré potrebuješ, pomocou HarfBuzz priamo v prehliadači. Získaš menší TTF/OTF a WOFF, náhľad a pravidlo @font-face s unicode-range.

Najprv skontroluj licenciu písma

Orezaním sa súbor písma upravuje. Mnohé komerčné licencie zakazujú úpravu alebo konverziu písiem, prípadne ju povoľujú len pre web za určitých podmienok. Otvorené licencie, ako SIL Open Font License (OFL) a Apache 2.0, to povoľujú (pri OFL sa musí podmnožina, ktorá zachováva vyhradený názov písma, premenovať). Prečítaj si licenciu svojho písma, kým výsledok zverejníš.

Znaky na zachovanie

Vybrané znaky: 0

Ako orezať písmo

  1. Skontroluj licenciu. Orezaním vznikne upravená kópia písma. Otvorené licencie, ako SIL Open Font License (OFL) a Apache 2.0, to povoľujú; mnohé komerčné desktopové a webové licencie nie, alebo len za určitých podmienok. Najprv si prečítaj licenciu svojho písma.
  2. Presuň súbor TTF, OTF alebo WOFF do vyznačenej plochy alebo na ňu klikni a vyber súbor. Panel Pôvodné písmo ukazuje rodinu, formát, veľkosť súboru, počet glyfov a počet znakov, ktoré písmo mapuje.
  3. Vyber Znaky na zachovanie: Základná latinka, Latin-1, Latinka ako v Google Fonts, Francúzština a Číslice a znaky čísel sa dajú kombinovať. Vlastné znaky pridaj v Znaky z textu (zachová sa každý odlišný znak textu) alebo v Rozsahy Unicode, zapísané ako v CSS: U+0020-007E, U+2013, U+04??.
  4. Zapni Odstrániť hinting, ak chceš čo najmenší súbor.
  5. Klikni na Orezať písmo. Nástroj (asi 650 KB) sa načíta pri prvom použití, potom sa písmo spracuje na tvojom zariadení.
  6. Porovnaj veľkosti vo Výsledok, pozri si Náhľad orezaného písma, potom použi Stiahnuť TTF (alebo OTF) a Stiahnuť WOFF a skopíruj pravidlo CSS @font-face.

Súbor písma nikdy neopustí tvoj počítač: číta sa, orezáva a znova balí v prehliadači. Tvoje súbory zostávajú na tvojom zariadení: nikdy sa nenahrávajú.

Pre slovenčinu zahrň okrem základnej latinky aj znaky s diakritikou, ktoré predvoľby Latin-1 nepokrývajú: č, ď, ĺ, ľ, ň, ŕ, š, ť, ž (U+010D, U+010F, U+013A, U+013E, U+0148, U+0155, U+0161, U+0165, U+017E a ich veľké tvary) pridaj cez Znaky z textu alebo Rozsahy Unicode. Zo znakov slovenskej abecedy sú v Latin-1 len á, ä, é, í, ó, ô, ú, ý.

Čo orezanie robí

Písmo často obsahuje stovky či tisíce glyfov: cyriliku, gréčtinu, vietnamčinu, symboly, alternatívy. Stránka napísaná v slovenčine alebo angličtine využíva len ich zlomok. Tento nástroj spúšťa hb-subset, orezávač textového jadra HarfBuzz (rovnaký kód používa Google Fonts a mnohé nástroje na build), skompilovaný do WebAssembly. Zachová glyfy pre vybrané znaky plus glyfy, ktoré OpenType funkcie potrebujú na ich zobrazenie (ligatúry ako „fi“, kapitálky a akcentované tvary, ak sú dosiahnuteľné z tvojich znakov), a zvyšok odstráni. Kerning a ďalšie rozloženie tabuliek sa zodpovedajúco zredukuje.

Typické výsledky: plné písmo s latinkou, cyrilikou a gréčtinou s 300 KB sa môže pre slovenský text zmenšiť na 20 či 30 KB a písmo loga orezané na písmená jedného slova často váži niekoľko kilobajtov.

Riadok Nie je v písme uvádza znaky, ktoré si požadoval a písmo ich nemá. Prehliadače ich vykreslia záložným písmom.

Výstupné formáty a unicode-range

  • TTF/OTF: podmnožina si zachová typ obrysov pôvodného písma (TrueType alebo CFF).
  • WOFF: to isté písmo s každou tabuľkou komprimovanou zlib. Číta ho každý súčasný prehliadač. Vstup WOFF sa najprv rozbalí.
  • WOFF2 nie je dostupný: pre jeho kompresiu Brotli a transformácie tabuliek nie je v prehliadači kodér a súbory WOFF2 sa tu nedajú ani čítať. Najprv skonvertuj WOFF2 na TTF (napríklad pomocou fontTools). Tvoj server môže TTF/OTF komprimovať aj za chodu pomocou gzip alebo Brotli.

Pravidlo CSS @font-face uvádza ako prvý súbor WOFF, nastavuje font-display: swap a pridáva unicode-range zostavený zo znakov, ktoré podmnožina skutočne obsahuje. S unicode-range prehliadač stiahne súbor len vtedy, keď stránka použije niektorý z týchto znakov, takže môžeš rodinu rozdeliť na viac súborov (napríklad latinku a cyriliku) a nechať každého návštevníka načítať len to, čo potrebuje. Uprav názov font-family, aby zodpovedal názvu používanému vo tvojom štýle.

Často kladené otázky

Je legálne orezávať písmo?

Závisí to od licencie, nie od nástroja. SIL Open Font License úpravy výslovne povoľuje; ak písmo deklaruje vyhradený názov, upravená verzia sa musí šíriť pod iným názvom. Mnohé komerčné licencie zakazujú úpravu, konverziu či vlastný hosting písma. Ak si nie si istý, spýtaj sa tvorcu písma.

Prečo je podmnožina väčšia, než som očakával?

Funkcie rozloženia OpenType vťahujú ďalšie glyfy (ligatúry, alternatívy, kapitálky) a inštrukcie hintingu môžu byť v písmach TrueType veľké. Skús Odstrániť hinting a skontroluj, či si omylom nezačiarkol veľkú predvoľbu.

Mám odstrániť hinting?

Hinting zlepšuje vykresľovanie pri malých veľkostiach na Windowse so staršími rasterizérmi. Na macOS, iOS, Androide a moderných Windowsoch pri bežných veľkostiach je rozdiel malý. Pri nadpisoch a logách je odstránenie zvyčajne v poriadku.

Môžem orezať variabilné písmo?

Áno. Osi variácií sa zachovajú, takže podmnožina zostane variabilná; zredukujú sa len znaky.

Čo kolekcie písiem (.ttc)?

Orezáva sa len prvé písmo kolekcie.