METAFONT |
| Vyhledávání podle slov v CS-FAQ Hledaný řetězec: ### Jak dostat z METAFONTu to, co chcete METAFONT vám umožňuje vytvořit si vlastní font, ale většina uživatelů TeXu ho nikdy nepoužívá. METAFONT, na rozdíl od TeXu, vyžaduje nekterá speciální nastavení. Každé výstupní zařízení, pro které se generuje font, potřebuje přidružený mód. Módy se definují použitím konvencí `mode_def` popsaných na straně 94 v The METAFONTbook (viz Knihy o TeXu a příbuzná literatura). Je potřeba mít soubor zpravidla nazvaný `local.mf` obsahující `mode_def`s, které budete používat. Jestliže `local.mf` ještě neexistuje, dobrým výchozím bodem může být kolekce módů od Karla Berryho, dostupná jako CTAN: modes-file. Lze ji použít jako `local.mf` beze změn pro ,,dostatečně širokou`` implementaci METAFONTu. Výpis nastavení pro nejrůznější výstupní zařízení bývá také pravidelně zveřejňován v TUGboatu (viz Co je to TUG a TUGboat). Nyní vytvořte bázový soubor `plain` s použitím inimf, `plain.mf` a `local.mf`:
       % inimf

       This is METAFONT....

       **plain # napište plain

       (output)

       *input local # zadejte toto

       (output)

       *dump # zadejte toto

       Beginning to dump on file plain....

       (output)
Tím se vytvoří bázový soubor pojmenovaný `plain.base` (případně něco podobného; například v MSDOSu to bude `PLAIN.BAS`), který je třeba přemístit do adresáře, jenž ve vašem systému obsahuje bázové soubory. (Některé systémy obsahují i dva nebo více takových adresářů, každý pro jinou ,,velikost`` použitého METAFONTu.) Nyní se potřebujete ujistit, že METAFONT při spuštění čte tuto novou bázi. Jestliže METAFONT načítá na vašem systému implicitně `plain` bázi, jste připraveni. Pod Unixem (za použití běžné distribuce web2c) to tak skutečně funguje, ale mohli bychom třeba definovat příkaz mf, který vykonává `virmf &plain` načtením `plain` bázového souboru. Obvyklý způsob, jak vytvořit font s `plain` METAFONTem, je začít řádkem
    \mode=; mag=; input
jako odpověď na výzvu ,,`**``` nebo na příkazové řádce METAFONTu. (Pokud `<jméno módu>` je neznámé nebo neplatné, bude použit implicitní mód a METAFONT vyrobí výstupní soubor nazvaný `.2602gf`) `<Zvětšení>` je číslo v plovoucí řádové čárce nebo `magstep' (magstepy jsou definovány v The METAFONTbook a v The TeXbook). Jestliže `mag=<zvětšení>` je neplatné, bude implicitně 1 (magstep 0). Například, pro generování cmr10 zvětšeného na 12pt pro tiskárnu epson byste měli napsat
       mf \mode=epson; mag=magstep 1; input cmr10
Poznamenejme, že pod Unixem jsou znaky `\` a `;` obvykle v uvozovkách nebo se zpětným lomítkem, takže by to zpravidla mělo vypadat takhle:
       mf '\mode=epson; mag=magstep 1; input cmr10'
v bázi, můžete vložit jeho příkazy do souboru (např. `ln03.mf`) a vyvolat ho za běhu příkazem `\smode`. Tak například, aby se vytvořil `cmr10.300gf` pro tiskárnu LN03 za použití souboru
       % This is ln03.mf as of 2/27/90

       % mode_def courtesy of John Sauter

       proofing:=0;

       fontmaking:=1;

       tracingtitles:=0;

       pixels_per_inch:=300;
       blacker:=0.65;

       fillin:=-0.1;

       o_correction:=.5;
(všimněte si nepřítomnosti příkazů `mode_def` a `enddef`), je třeba napsat
       mf \smode="ln03"; input cmr10
Tato technika není jediná, kterou byste správně měli používat, ale může se ukázat užitečná, jestliže máte novou tiskárnu a chcete experimentovat s parametry, či z nějakých jiných důvodů editujete používané parametry. Jakmile jste si jednou ujasnili přípustnou množinu parametrů, můžete je uplatnit při přebudování bázového souboru, který používáte. Souhrn výše uvedeného od Geoffrey Tobina a upozornění na nejčastější nástrahy a úskalí při používání METAFONTu lze nalézt v dokumentu CTAN: mf-beginners ### Které fontové soubory je třeba si nechat METAFONT produkuje při svém běhu tři soubory: metrikové (`tfm`) soubory, soubory s generickými fonty (`gf`) a soubory s popisem překladu (`log`). Všechny tyto soubory mají stejné bázové jméno jako vstup, (např. pokud vstupní soubor byl `cmr10.mf`, výstupem bude `cmr10.tfm`, `cmr10.nnngf` [5] a `cmr10.log`). Pro práci TeXu s fontem je zapotřebí `tfm` soubor, takže si ho musíte nechat. Ale obyčejně chcete generovat tentýž font ve více velikostech a pokaždé se bude (automaticky) generovat další `tfm` soubor. Tyto soubory jsou stejné, proto stačí nechat si jediný z nich. K výrobě obrazovkového nebo tiskového výstupu potřebuje `dvi` procesor rastrový soubor fontu; to je to, co poskytuje `gf` soubor. Avšak, zatímco dříve používané `dvi` procesory uměly pracovat s `gf` soubory, moderní procesory používají komprimované rastrové (`pk`) soubory. Proto je třeba generovat `pk` soubor z `gf` souboru. Tohle za vás udělá program gftopk a jakmile je to jednou hotovo, můžete soubor `gf` odstranit. Pokud nenastanou nějaké problémy, neměl by být soubor `log` nikdy použit. Normálně tedy není třeba nechávat si jej. ### Vytažení bitových map z archívu Většina lidí, kteří začínají používat TeX s laserovou tiskárnou s rozlišením 300 dpi (dots-per-inch) a fonty Computer Modern pro toto rozlišení, je zásobena množstvím TeXovských balíků. Na CTAN jsou také dvě takové sady: CTAN: pk300 (pro černý tisk) a CTAN: pk300w (pro bílý tisk). Ale někteří uživatelé chtějí poslat svou práci na vysoce kvalitní sázecí stroje (obyčejně s rozlišením 1270 dpi nebo více). Též se častěji používají 600 dpi laserové tiskárny. Proč archívy a knihovny neposkytují bitové mapy fontů v těchto velikostech? Důvody jsou dva: Pokud je bitová mapa fontu vytvořena pomocí METAFONTu, je třeba znát charakteristiky zařízení; kdo může vědět, jaký 600 či 1270 dpi přístroj vlastníte? (Tahle námitka se samozřejmě stejně dobře týká 300 dpi tiskáren.) Při vysokých rozlišeních jsou bitové mapy objemné. Kdo ví, které fonty a s jakou velikostí potřebujete? Bylo by možné poskytovat v archívech nějakou sadu 1270 dpi bitových map fontů, ale zabralo by to spoustu místa a možná by to pro vás nebylo to pravé. Tak co s tím? Můžete si sami vytvořit potřebné fonty pomocí METAFONTu; není to tak složité a některé ovladače vám pomohou (dvips a ovladače emTeXu) zkonstruovat příkazy METAFONTu. Můžete se podívat na CTAN do kolekce módů METAFONTu Karla Berryho, do souboru CTAN: modes-file. Na druhé straně, pokud vlastníte PostScriptové zařízení, uvažujte o fontech ve formátu Type 1. Je možné koupit všechny fonty Computer Modern v PostScriptovém tvaru od Blue Sky Research nebo od Y&Y (adresa viz Komerční implementace TeXu), či použít veřejně přístupnou verzi Basila Malysheva v CTAN: ps-type1 (kolekce Paradissa je kompletní, ale postupně je nahrazována lepší kolekcí BaKoMa). [5] Všimněte si, že jméno souboru může být přetvořeno u~takových operačních systémů jako MSDOS, které nepřipouštějí dlouhé názvy souborů.
| (c) 29.04.2002 16:18 Libor Škarvada, Tomáš Hudec, Aleš Vítek Připomínky, opravy a zejména odpovědi na další časté otázky posílejte na adresu cstug-faq@cstug.cz Připomínky k HTML verzi posílejte na adresu libor@fi.muni.cz nebo hudec@fi.muni.cz.