Pridavani fontu do TeXu jeste jednou

7. 8. 2007 14:35 Jan Krcmar

tak jeste jednou a od zacatku :) i se vsemi postrehy

pridani novych fontu do texu je slozita zalezitost, zvlast kdyz si vyberete pridani do OFS (Olsakuv Fontovy System).

jelikoz uz je to dosti davno a davno, kdy jsem s tim zacinal, bude clanek nejspis misty dosti nejasny (na otazky odpovidam, pokud si vzpomenu na odpovedi :)) cel a vec zacala jednoho krasneho breznoveho dne. dostalo se ke me CD s nejnovejsimi Stormovy fonty z velmi chvalene Stresovicke pismolijny. pisma z katalogu vypadala opravdu moc pekne.


nuze vzal jsem si tedy pripucku pana Olsaka a zacal cist. jeho poznamky a skripty byly napsany srozumitelnou formou, ale vse bylo az prilis psano na miru tehdejsi verzi stresovickych fontu.

no, tak uz do toho skocime pekne pohlave, dost predmluvy.

krok 1: dostat fonty z adresaru do spravne slozeneho adresaroveho stromu. neni zrejme treba popisovat vsechny kroky, takze zkracene:

  • vsechna pismenka v nazvech souboru a adresaru na lowercase
  • vytahat z cd soubory afm a pfb a ty ulozit do svych rodin (v jednom adresari budou pouze soubory afm, pfb prislusne rodiny) s timto budeme dale pracovat
  • soubory pfb a pfm ulozit do stejneho adresaroveho stromu jako na CD, ale lowercase, timto mame pripraveno type1 fonty

pro texlive bude pak adresarovy strom vypadat zhruba takto:

  fonty/work/<rodiny>/(*.afm|*.pfb)
fonty/type1/<rodiny>/(*.pfb|*.pfm)

pak si nekde najdeme sadu skriptu od pana storma treba tady a zkopirujeme obsah do work. je doporuceno pridat si tento adresar do PATH, vyhnete se tim mnoha zdrzovani.

  cd fonty/work; export PATH=$PATH:`pwd`

jsou tam i moc pekne skripty, ode me, ktere napriklad zaridi vyse zminene prejmenovani na mala pismena a vytahani afm/pfb souboru, je to site na miru me, takze si je prepiste podle vlastni chuti :)

vyborne, ted mame hotove type1, hura na metriky a podobne zvrhlosti.

krok 2: v olsakovych skriptech jsou pekne makef soubory, ktere zarizuji generovani metrik a dalsi veci. je tam i nekolik upravenych binarek a zdrojaku pro lepsi funkce potrebne ke generovani. funguji dobre. jelikoz jsem osoba lina, napsal jsem skriptik pro generovani makef souboru. tech rodin bylo fakt moc…

  fonty/work/mkall-fous

skript vygeneruje makef, ktery pote spusti. ucini tak u vsech adresaru uvedenych v

  fonty/work/list

doporucuji pred spustenim zakomentovat prikaz makef a instf, a prohlednout, jestli jsou vsechny makef spravne vygenerovany. mame zde tez nedodelanou podporu pro OSF (old-style-fonts). tudiz pokud si chce nekdo lamat hlavu jeste s timhle, lze mi napsat o radu, nejedna se o nic jineho, nez zruseni OSF cislic a prideleni je ke spravnemu fontu :)

kdyz uz jsme u toho vypousteni fontu a souboru, je dobre fonty procistit (smazat) i o CS verze. tak jako tak je cestina i ve fontech bez oznaceni CS…

jestlize mame vygenerovany a opraveny makef tak jak se nam libi, muzeme postupne spoustet makef soubory. ty se nas pri kazdem fonty zeptaji na jmeno souboru. znovu se budu opakovat, ze fontu je hodne, a tak trochu ignoruji konvenci pojmenovani souboru. puvodni navrh byl sXX. kde s=storm XX je oznaceni rodiny a pak par dalsich pismenek pro urceni typu a rezu fontu. ja jsem vyrobil soubor names, kde jsou pripraveny nazvy saa .. szz a krute je vnutim skriptum.

  cd fonty/work
cat names | for a in `cat list`; do cd $a; ./makef; cd ..; done

vyborne, at zije kamarad bash

tim mame pripraveny vse potrebne. soubory do texu, jeste tak vytvorit katalog pro OFS

  fonty/work/mkkatalog

a vsechny fonty nainstalovat (zkopirovat) do pripraveneho adresare pro tex. s tim nam pomuze instf

  for a in `cat list`; do cd $a; ./instf; cd ..; done

hmmm

a ted uz snad bude vse v poradku :) (jestli jsem na nic nezapomel)

zkopirovat type1 do fonty/work/texmf/fonts/type1/storm a pak uz by mel adresarovy strom fonty/work/texmf spravne fungovat jako zdroj pisem

pokud to snad jeste nekdo bude cist a bude ho to zajimat, nedejboze to bude chtit provozovat a narazi na chybu, staci mi napsat. myslim, ze po 3 mesicich silestvi uz tex&storm&OFS trosku rozumim :)

fous

Sdílet