Utilia

Smanjivanje fontova (subsetting)

Smanji font na znakove koje trebaš pomoću HarfBuzza, u pregledniku. Dobij manji TTF/OTF i WOFF, pregled i @font-face pravilo s unicode-range.

Najprije provjeri licencu fonta

Subsetting mijenja datoteku fonta. Mnoge komercijalne licence zabranjuju izmjenu ili pretvaranje fontova ili to dopuštaju samo za web uz uvjete. Otvorene licence poput SIL Open Font License (OFL) i Apache 2.0 to dopuštaju (kod OFL-a podskup koji zadržava rezervirani naziv fonta mora se preimenovati). Pročitaj licencu svog fonta prije objave rezultata.

Znakovi koje treba zadržati

Odabrani znakovi: 0

Kako smanjiti font (subsetting)

  1. Provjeri licencu. Subsetting stvara izmijenjenu kopiju fonta. Otvorene licence poput SIL Open Font License (OFL) i Apache 2.0 to dopuštaju; mnoge komercijalne licence za radnu površinu i web to ne dopuštaju ili samo uz uvjete. Najprije pročitaj licencu svog fonta.
  2. Ispusti TTF, OTF ili WOFF datoteku na zonu za ispuštanje ili klikni na nju da je odabereš. Ploča Izvorni font prikazuje obitelj, format, veličinu datoteke, broj glifova i broj znakova koje font pokriva.
  3. Odaberi Znakove koje treba zadržati: Osnovni latinski, Latin-1, Latinski, kao u Google Fontsu, Francuski i Znamenke i brojevni znakovi mogu se kombinirati. Dodaj vlastite znakove u Znakovi iz teksta (zadržava se svaki različit znak teksta) ili u Unicode rasponi, zapisane kao u CSS-u: U+0020-007E, U+2013, U+04??.
  4. Uključi Ukloni hinting ako želiš najmanju moguću datoteku.
  5. Klikni Smanji font. Alat (oko 650 KB) učitava se prvi put, a zatim se font obrađuje na tvom uređaju.
  6. Usporedi veličine u Rezultat, pogledaj Pregled podskupa, zatim upotrijebi Preuzmi TTF (ili OTF) i Preuzmi WOFF te kopiraj pravilo CSS @font-face.

Na hrvatskoj stranici već su uključeni Latinski, kao u Google Fontsu i prošireni latinski (Latin Extended), koji pokrivaju slova č, ć, đ, š i ž. Prije pokretanja provjeri da font ta slova doista ima: ako ih nema, pojavit će se u retku Nema u fontu.

Datoteka fonta nikad ne napušta tvoje računalo: čita se, smanjuje i ponovno pakira u pregledniku.

Što radi subsetting

Font često sadrži stotine ili tisuće glifova: ćirilicu, grčki, vijetnamski, simbole, alternativne oblike. Stranica napisana na hrvatskom koristi samo njihov dio. Ovaj alat pokreće hb-subset, alat za smanjivanje iz tekstualnog stroja HarfBuzz (isti kod koriste Google Fonts i mnogi alati za izgradnju), preveden u WebAssembly. Zadržava glifove za odabrane znakove i glifove koje OpenType značajke trebaju za njihov prikaz (ligature poput „fi“, kapitele i naglašene oblike kad su dohvatljivi iz tvojih znakova), a ostalo uklanja. Kerning i druge tablice rasporeda smanjuju se u skladu s tim.

Tipični rezultati: pun font s latinicom, ćirilicom i grčkim od 300 KB može pasti na 20 ili 30 KB za latinični tekst, a font logotipa sveden na slova jedne riječi često teži nekoliko kilobajta.

Redak Nema u fontu navodi znakove koje si tražio, a font ih nema. Preglednici će ih nacrtati zamjenskim fontom.

Izlazni formati i unicode-range

  • TTF/OTF: podskup zadržava vrstu obrisa izvornika (TrueType ili CFF).
  • WOFF: isti font sa svakom tablicom komprimiranom pomoću zlib-a. Čitaju ga svi aktualni preglednici. WOFF ulaz najprije se dekomprimira.
  • WOFF2 nije dostupan: njegova Brotli kompresija i transformacije tablica nemaju koder u pregledniku, a ni WOFF2 datoteke se ovdje ne mogu čitati. Najprije pretvori WOFF2 u TTF (na primjer pomoću fontTools). Tvoj poslužitelj također može usput komprimirati TTF/OTF pomoću gzipa ili Brotlija.

Pravilo CSS @font-face na prvo mjesto stavlja WOFF datoteku, postavlja font-display: swap i dodaje unicode-range izgrađen od znakova koji su stvarno u podskupu. Uz unicode-range preglednik preuzima datoteku samo kad stranica koristi neki od tih znakova, pa obitelj možeš podijeliti na više datoteka (na primjer latinicu i ćirilicu) i svakom posjetitelju dati da učita samo ono što mu treba. Uredi naziv font-family da odgovara nazivu u tvojoj stilskoj datoteci.

Česta pitanja

Je li zakonito smanjivati font?

Ovisi o licenci, ne o alatu. SIL Open Font License izričito dopušta izmjene; ako font ima rezervirani naziv (Reserved Font Name), izmijenjena inačica mora se distribuirati pod drugim nazivom. Mnoge komercijalne licence zabranjuju mijenjanje, pretvaranje ili posluživanje fonta s vlastitog poslužitelja. Ako nisi siguran, pitaj ljevaonicu fontova.

Zašto je podskup veći nego što sam očekivao?

OpenType značajke rasporeda povlače dodatne glifove (ligature, alternative, kapitele), a upute za hinting mogu biti velike u TrueType fontovima. Probaj Ukloni hinting i provjeri da slučajno nisi uključio veliki predložak.

Trebam li ukloniti hinting?

Hinting poboljšava prikaz pri malim veličinama na Windowsima sa starijim rasterizatorima. Na macOS-u, iOS-u, Androidu i modernim Windowsima pri uobičajenim veličinama razlika je mala. Za naslove i logotipe uklanjanje je obično u redu.

Mogu li smanjiti varijabilni font?

Možeš. Osi varijacija se zadržavaju pa podskup ostaje varijabilan; smanjuju se samo znakovi.

Što je sa zbirkama fontova (.ttc)?

Smanjuje se samo prvi font zbirke.