A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Vývojář | Donald Ervin Knuth |
---|---|
První vydání | 1979 |
Aktuální verze | 2.71828182 (5. února 2021) |
Typ softwaru | programovací jazyk, deklarativní programovací jazyk a font file format |
Licence | permissive free software license |
Některá data mohou pocházet z datové položky. |
Metafont je popisný jazyk sloužící k definování vektorových fontů. Je to také název programu, který interpretuje metafontovský kód a generuje soubory obsahující bitmapy znaků fontu, které mohou být potom vloženy např. do PostScriptového souboru. Metafont vyvinul Donald Knuth jako doplněk sázecího systému TeX.
Jednou z charakteristik Metafontu je, že všechny tvary glyfů jsou definovány geometrickými rovnicemi. Například lze definovat určitý bod jako průsečík úsečky a Bézierovy křivky.
Jednou z charakteristik Metafontu je, že body definující tvary glyfů – například horní část stonku nebo průsečík stonku a příčky – jsou definovány pomocí geometrických rovnic; záměr, že tři větve 'm' jsou rovnoměrně rozmístěny vodorovně, lze vyjádřit jako {\displaystyle x_{2}-x_{1}=x_{3}-x_{2}}{\displaystyle x_{2}- x_{1}=x_{3}-x_{2}}, pokud jsou body 1, 2 a 3 na spodních koncích tří stonků, zatímco záměr, aby všechny končily ve stejné vertikální poloze, by byl {\displaystyle y_{1}=y_{2}=y_{3}}{\displaystyle y_{1}=y_{2}=y_{3}}.
Metafont je jazyk maker, kde se operace jako „nakreslete horní část patky malým písmenem v bodě 4“ mohou objevit jako jedna makro instrukce (s bodem jako argumentem) v programu pro písmeno. Pro popis tvarů má Metafont bohatou sadu operací vytváření cest, které většinou zbavují uživatele nutnosti počítat kontrolní body.
Mnoho rodin písem Metafont je nastaveno tak, že hlavní zdrojový soubor pro písmo definuje pouze malý počet parametrů návrhu (výška x, šířka em, sklon, šířka svislého tahu atd.), a pak se zavolá samostatný zdrojový soubor common pro celou řadu písem skutečně kreslit jednotlivé glyfy; toto je meta aspekt systému.
Způsob práce
Metafont podporuje vyplňování oblastí ohraničených uzavřenou cestou, jako je tomu u rozšířených formátů obrysových fontů (například TrueType nebo PostScript Type 1). V Metafontu existuje ale také jiný způsob kresby písma: program vytváří glyf několika tahy pera o konečné šířce. Například kaligrafická matematická písma z rodiny Computer Modern tvoří glyf několika tahy poměrně širokého plochého pera. Jiná písma, jako je například antikva v Computer Modern, kreslí tenkým kruhovým perem obrys, který je pak vyplněn; výsledek se podobá obrysovému fontu, ale má „měkké“ rohy, které odrážejí tvar použitého pera.
Protože tvary písma jsou určeny řešením systému rovnic, je možné pracovat s parametry (jako je poměr stran, sklon písma, šířka tahu, velikost patek a podobně) jako se vstupními hodnotami v definici glyfu (která pak určuje ne jeden font, ale meta-font). Změnou hodnoty jednoho z těchto parametrů na jednom místě v metafontovém programu lze zajistit konzistentní změnu v celém fontu. Na antikvě fontu Computer Modern lze ukázat mnoho využití této variability; typická instalace TeXu obsahuje několik verzí písma ve velikosti od 5 do 17 pt, jejichž šířky tahů se mění nelineárně a v menších velikostech je v zájmu dobré čitelnosti volen jiný poměr stran. Dalším příkladem možností této parametrizace je, že v Computer Modern jsou písmo psacího stroje a bezpatková písma definována s použitím metafontového programu pro antikvu, jen s jiným souborem parametrů.
Křivky jsou v Metafontu jsou definovány jako kubické spliny, ne kvadratické; výhodou je větší univerzálnost, cenou za to je složitější výpočet.[1]
V Metafontu lze vytvářet různé grafické výstupy, ne jen glyfy. Nicméně pro matematické ilustrace jsou nyní spíše preferovány programy MetaPost a Asymptote. Metafont je nejčastěji volán na pozadí, bez přímého požadavku od uživatele. Soubory formátu DVI mohou obsahovat pouze odkazy na písma, ne přímo rastrové nebo vektorové glyfy, jako umožňují další formáty, jako je PostScript. V důsledku toho musí být glyfy přístupné vždy, když je třeba DVI soubor zobrazit, vytisknout nebo převést do jiného formátu. Většina TeXových distribucí je nakonfigurována tak, že všechna písma, které nejsou právě k dispozici v požadovaném tiskovém rozlišení, jsou generována voláním Metafontu. Fonty jsou pak uloženy pro pozdější použití.
Metafont může být také spuštěn interaktivně a má příkazy pro zobrazení výsledných bitmap na obrazovce. Knuth prohlásil, že používá Metafont pro řešení složitých rovnic jako určitý typ stolní kalkulačky, i když pro vytváření matematických ilustrací teď využívá MetaPost.
Konverze do formátu PostScript Type 1
Existuje několik nástrojů pro konverzi metafontových programů na fonty ve formátu PostScript Type 1. Většina z nich využívá schopnost programu MetaPost převést podmnožinu jazyka Metafont do obrysů v jazyce Encapsulated PostScript, které lze následně převést na font typu PostScript Type 1. Generování vektorových obrysů tahů pera přímo v Metafontu je netriviální, protože jeho výstupem jsou vyrastrované bitmapy, ne vektorové obrysy.
Obvyklým přístupem ke generování písem Type 1 s tahy pera je vygenerovat rastrový obrázek o vysokém rozlišení a pak použít autotracer, který implementují balíčky jako mftrace[2] a TeXtrace[3].
Použití
I když někteří známí návrháři písma, jako například Hermann Zapf, spolupracovali s Knuthem na vytváření nových fontů pomocí Metafontu, systém se mezi profesionálními typografy příliš neujal. Knuth to připisuje tomu, že „je těžké žádat po umělcích, aby ovládli matematiku natolik, aby dokázali napsat font se 60 parametry.“[4]
Metafont umožňuje zpracovat písma neobvyklými způsoby; v roce 1982 Knuth ukázal, jak to lze využít k morfingu písma, kdy patkový font plynule přechází do bezpatkového.[5]
Historie
Donald Knuth začal pracovat na softwaru pro tvorbu písma v roce 1977 a první verzi Metafontu vytvořil v roce 1979. S vědomím nedostatků v původní verzi Metafontu Knuth v roce 1984 napsal zcela nový Metafont a tento upravený systém se používá dodnes. Metafont má systém verzí podobný TeXu, kde s každou revizí jeho číslo asymptoticky blíží e.[6]
Reference
V tomto článku byl použit překlad textu z článku Metafont na anglické Wikipedii.
- ↑ KNUTH, Donald. Interview: Donald E. Knuth. www.advogato.org. January 25, 2000. Dostupné online . Archivovaná kopie. www.advogato.org . . Dostupné v archivu pořízeném z originálu dne 2009-01-22.
- ↑ mftrace – a small Python program that lets you trace a TeX bitmap font into a PFA or PFB font (A PostScript Type1 Scalable Font) or TTF (TrueType) font
- ↑ TeXtrace – a collection of scripts for UNIX that convert any TeX font into a Type1 .pfb outline font immediately suitable for use with dvips, pdftex, acroread (and any many other programs)
- ↑ CSTUG, Charles University, Prague, March 1996, Questions and Answers with Prof. Donald E. Knuth, reproduced in TUGboat 17 (4) (1996), 355–67. Citation is from page 361. Available online at http://www.tug.org/TUGboat/Articles/tb17-4/tb53knuc.pdf
- ↑ KNUTH, Donald. The Concept of a Meta-Font. Visible Language. 1982, s. 3–27. Dostupné online .
- ↑ KNUTH. Computers and Typesetting . . Dostupné v archivu pořízeném dne 2011-06-06. (anglicky)
Externí odkazy
- Obrázky, zvuky či videa k tématu Metafont na Wikimedia Commons
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antény
Chemické zdroje elektriny
Chladenie v elektrotechnike
Elektrická sústava automobilu
Elektrická trakcia
Elektrické prístroje
Elektrické súčiastky
Elektrické spotrebiče
Elektrické stroje
Čítanie (elektrotechnika)
Činný výkon
Štatistická dynamika
Živý vodič
Admitancia
Antiparalelné zapojenie
Asynchrónny motor
Blúdivý prúd
Bočník (elektrotechnika)
Diak (polovodičový prvok)
Displej s kvapalnými kryštálmi
Elektrická inštalácia
Elektrická rezonancia
Elektrická sila
Elektrická vodivosť
Elektrické zariadenie
Elektrický obvod
Elektrický zvonec
Elektroenergetika
Elektromer
Elektrometer
Elektromobil
Elektromotor
Elektromotorické napätie
Elektrotechnický náučný slovník
Elektrotechnika
Elektrotechnológia
Fázor
Faradayova klietka
Frekvencia (fyzika)
Graetzov mostík
Impedancia
Indukčnosť
Induktancia
Istič
Izolácia (elektrotechnika)
Izolant
Jadro vodiča
Jednobran
Jednosmerný prúd
Joulovo teplo
Katóda
Koaxiálny kábel
Kompenzácia účinníka
Konduktometria
Konektor (elektrotechnika)
Korónový výboj
Lanko (elektrotechnika)
Leptanie
Logické hradlo
Magnetická susceptibilita
Magnetizácia (veličina)
Merný elektrický odpor
Mobilné zariadenie
Napájací zdroj
Napäťový chránič
Napäťový násobič
Nortonova veta
Odpínač
Odpojovač
OLED
Olovený akumulátor
Paralelné zapojenie
Peltierov článok
Plošná hustota elektrického prúdu
Poistka (elektrotechnika)
Posuvný prúd
Prúdový chránič
Prenosové médium
Prieletový klystrón
Primárny elektrochemický článok
Reaktancia
Rekuperácia (dopravný prostriedok)
Relé
Reproduktorová výhybka
Rezistancia
Rozhranie (interface)
Sériové zapojenie
Seebeckov jav
Sekundárny elektrochemický článok
Settopbox
Skrat
Sonar
Spínač
Spínaný zdroj
Straty v mikropásikových vedeniach
Striedavý prúd
Stupeň ochrany krytom
Svetelná výbojka
Symetrizačný člen
Technická normalizácia
Tepelné relé
Tepelne vodivostný detektor
Termočlánok
Théveninova veta
Transformátor
Transformátor s fázovou reguláciou
Trojfázová sústava
Tuhá fáza (elektronika)
Tyratrón
Usmerňovač (elektrotechnika)
Uzemnenie
Uzol (vodiče)
Vírivý prúd
Výbojka
Varistor
Ventilátor
Vodič (elektrotechnika)
Voltov stĺp
Vstavaný systém
Zásuvka (elektrotechnika)
Zdroj (elektrotechnika)
Zisk antény
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk