}w!"#$%&'()+,-./012345<ya



Σχετικά έγγραφα
PRUŽNOSŤ A PEVNOSŤ PRE ŠPECIÁLNE INŽINIERSTVO

Motivácia Denícia determinantu Výpo et determinantov Determinant sú inu matíc Vyuºitie determinantov. Determinanty. 14. decembra 2010.

Cenník za dodávku plynu pre odberateľov kategórie domácnosť ev.č. D/1/2015

Microsoft EXCEL XP. Súradnice (adresa) aktuálnej bunky, kde sme nastavení kurzorom Hlavné menu Panel s nástrojmi Pracovná plocha tabuľky

HMOTNOSTNÉ PRIETOKOMERY NA KVAPALINY

Vestník Ministerstva zdravotníctva Slovenskej republiky. Osobitné vydanie Dňa 15. augusta 2007 Ročník 55 O B S A H:

Matematika Funkcia viac premenných, Parciálne derivácie

OCHRANA PRED ATMOSFÉRICKOU ELEKTRINOU (STN EN )

Ministerstvo dopravy pôšt a telekomunikácií SR Sekcia dopravnej infraštruktúry

TECHNOLÓGIA ZHUTŇOVANIA BIOMASY DO NOVÉHO TVARU BIOPALIVA

Mzdy a personalistika

Manometre. 0,3% z rozsahu / 10K pre odchýlku od normálnej teploty 20 C

PROFILY VÔD NA KÚPANIE: OVERENÉ SKÚSENOSTI A METODICKÝ NÁVOD (december 2009)

HMOTNOSTNÉ PRIETOKOMERY NA PLYNY

Priamkové plochy. Ak každým bodom plochy Φ prechádza aspoň jedna priamka, ktorá (celá) na nej leží potom plocha Φ je priamková. Santiago Calatrava

Řečtina I průvodce prosincem a začátkem ledna prezenční studium

Škola pre mimoriadne nadané deti a Gymnázium

Ekvačná a kvantifikačná logika

STREDOŠKOLSKÁ MATEMATIKA

Domáci zvukový systém

PRÍLOHA MI-006 VÁHY S AUTOMATICKOU ČINNOSŤOU

Podnikateľ 90 Mobilný telefón Cena 95 % 50 % 25 %

KOMPARO. celoslovenské testovanie žiakov 9. ročníka ZŠ. Matematika. exam KOMPARO

MATURITA 2014 MATEMATIK A

Γραμματοσειρά (font ή typeface) είναι ένα σύνολο χαρακτήρων.

Zatepľovanie nie je módnou záležitosťou, ale krok k zdravému bývaniu a k šetreniu energií

AerobTec Altis Micro

Štandard WIPO ST.22 (neoficiálny preklad ÚPV SR) 1/28 ŠTANDARD ST.22

EPR spektroskopia. E E(M s

Okrem finančnej a energetickej úspore má však zateplenie aj množstvo ďalších výhod:

Start. Vstup r. O = 2*π*r S = π*r*r. Vystup O, S. Stop. Start. Vstup P, C V = P*C*1,19. Vystup V. Stop

OBSAH. Svahy Kršlenice nad Plaveckým Mikulášom wettersteinská fácia veterlínskeho príkrovu. Foto: M. Havrila

Pevné ložiská. Voľné ložiská

Praktikum z fyziky v 8. ročníku

Fyzika. 1 Časová dotácia: Vzdelávacia oblasť. Človek a príroda. Názov predmetu. Stupeň vzdelania ISCED 2. Dátum poslednej zmeny UO 1.

Formáty videa z hľadiska rozlišovacej schopnosti

Obvod a obsah štvoruholníka

BEZPEČNOSŤ ELEKTRICKÝCH ZARIADENÍ, OCHRANA PROTI PREPÄTIAM

Margita Rybecká NIEKOĽKO PROBLÉMOVÝCH ÚLOH Z MATEMATIKY PRE 5. ROČNÍK ZÁKLADNEJ ŠKOLY

Inovovaný školský vzdelávací program Základná škola s materskou školou, Kamienka 113

Zbierka gradovaných úloh k učebnici matematiky pre 5. ročník ZŠ

3. KONŠTRUKCIA ULOŽENIA

Prechod z 2D do 3D. Martin Florek 3. marca 2009

Estimation of grain boundary segregation enthalpy and its role in stable nanocrystalline alloy design

1. Limita, spojitost a diferenciálny počet funkcie jednej premennej

Η/Τ: asyropoulos at yahoo dot com

NARIADENIE KOMISIE (EÚ)

PREPRAVNÉ SUDY A PREPRAVNÉ TANKY

BRAND MANUAL AND USER GUIDELINES

2742/ 207/ / «&»

DIGITΑLNΝ VENKOVNΝ ANTΙNA ANT 708 OI NΑVOD K OBSLUZE

ODBORNÝ ČASOPIS PRE LEKÁRNIKOV A LABORANTOV 09 10/2009

3. Striedavé prúdy. Sínusoida

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

1. NÁZVOSLOVIE ANORGANICKEJ CHÉMIE

POLYOXIDONIUM preparát výberu na liečenie infekčného zápalu

TABUĽKA STATICKÝCH HODNÔT

HASLIM112V, HASLIM123V, HASLIM136V HASLIM112Z, HASLIM123Z, HASLIM136Z HASLIM112S, HASLIM123S, HASLIM136S

KONŠTRUKČNÝ SYSTÉM YTONG PRE STROPY A STRECHY

VYUŽITIE ZVUKOVEJ KARTY POČÍTAČA AKO GENERÁTORA STRIEDAVÉHO PRÚDU

EURÓPSKEHO PARLAMENTU A RADY

1. písomná práca z matematiky Skupina A

Ministerstvo dopravy, pôšt a telekomunikácií Slovenskej republiky Nám. slobody č. 6, Bratislava, P.O. Box č.100 Sekcia dopravnej politiky

Bezpečnostné informácie Skôr, než začnete Parametre Príslušenstvo Ovládacie prvky a funkcie 9

Pohodlný domov s elektroinštaláciami Merlin Gerin

s Pavlom Hammelom ČO SO SEBOU NA DOVOLENKU SKÔR AKO VYRAZÍME NA CESTU ROZHOVOR Na slovíčko Brusnice dobré kamarátky Nepríjemné mykózy pošvy HEMOROIDY

M6: Model Hydraulický systém dvoch zásobníkov kvapaliny s interakciou

NÁVRH SANÁCIE KLENBOVÉHO ŽELEZNIČNÉHO MOSTA V NOVÝCH ZÁMKOCH. Ing. Vladimír Piták, Ing. Ján Sandanus, Ing. Karol Dobosz, ReminConsult, a.s.

ΓΗ ΚΑΙ ΣΥΜΠΑΝ. Εικόνα 1. Φωτογραφία του γαλαξία μας (από αρχείο της NASA)

Νόµοςπεριοδικότητας του Moseley:Η χηµική συµπεριφορά (οι ιδιότητες) των στοιχείων είναι περιοδική συνάρτηση του ατοµικού τους αριθµού.

A N A L I S I S K U A L I T A S A I R D I K A L I M A N T A N S E L A T A N S E B A G A I B A H A N C A M P U R A N B E T O N

ViaDIA SPRIEVODCA DIABETIKA NA CESTE ŽIVOTOM. Vladimír Uličiansky Zbynek Schroner Marián Mokáň

Goniometrické rovnice a nerovnice. Základné goniometrické rovnice

2. ZÁKLADNÁ MAPA VEĽKEJ MIERKY - KATASTRÁLNA MAPA 2.1 Prehľad vývoja katastrálneho mapovania na území Slovenska

Cvičenie č. 4,5 Limita funkcie

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Βιβλιογραφία. Εισαγωγή. Κείµενο. Καγιάφας [2000]: Κεφάλαιο 5, [link] Vaughan [2004]: Chapter 4

Obvod a obsah geometrických útvarov

HMOTA, POLIA, LÁTKY HMOTNOSŤ A ENERGIA

TECHNOLÓGIA DRUHOSTUPŇOVÉHO SPRACOVANIA DREVA

Návrh vzduchotesnosti pre detaily napojení

(1) Osobitné označenia sú vyobrazené v prílohe č. 1 I. diele časti IV. VYHLÁŠKA. Ministerstva vnútra Slovenskej republiky

TKP časť 15 BETÓNOVÉ KONŠTRUKCIE VŠEOBECNE

Motto: Nie to, čo mám, ale to, čo viem je mojím bohatstvom. Thomas Carlyle

Praktická úloha č. 1. Biochémia

Tehlový systém POROTHERM Profi

ŽILINSKÁ UNIVERZITA V ŽILINE FAKULTA PREVÁDZKY EKONOMIKY DOPRAVY A SPOJOV KATEDRA LETECKEJ DOPRAVY

Manuál pre užívateľa - VODNÉ INTERIEROVÉ PECE - VODNÉ EXTERIEROVÉ KOTLE. Ecologica Idro - Comfort Idro - Duchessa Idro -

Návod k použití SN 56T552 EU

Japanese Fuzzy String Matching in Cooking Recipes

KATALÓG VÝROBKOV. Stavebných a technických izolácií. Sklená vlna Kamenná vlna Polystyrén Styrodur C

BULLETIN SAL14 OBSAH

7. FUNKCIE POJEM FUNKCIE

AKO PUBLIKOVAŤ V BIOMEDICÍNSKYCH VEDÁCH

EPOXIDOVÉ A POLYURETÁNOVÉ PODLAHY A NÁTERY

ARMA modely čast 2: moving average modely (MA)

7. Snímače neelektrických veličín

pre hrubú stavbu Novinky

Kontrolné otázky na kvíz z jednotiek fyzikálnych veličín. Upozornenie: Umiestnenie správnej a nesprávnych odpovedí sa môže v teste meniť.

ΝΟΜΟΣ ΤΗΣ ΠΕΡΙΟ ΙΚΟΤΗΤΑΣ : Οι ιδιότητες των χηµικών στοιχείων είναι περιοδική συνάρτηση του ατοµικού τους αριθµού.

Jedna předplněná injekční stříkačka obsahuje immunoglobulinum humanum anti-d 1500 IU (300 mikrogramů).

Transcript:

}w!"#$%&'()+,-./012345<ya Masarykova univerzita Fakulta informatiky Comenia fonty pre TEX Diplomová práca Tomáš Fábry Brno 2013

Prehlásenie Prehlasujem, že táto diplomová práca je mojím pôvodným autorským dielom, ktoré som vypracoval samostatne. Všetky zdroje, pramene a literatúru, ktoré som pri vypracovaní používal alebo z nich čerpal, v práci riadne citujem s uvedením úplného odkazu na príslušný zdroj. Tomáš Fábry Vedúci práce: doc. RNDr. Petr Sojka, Ph.D. ii

Poďakovanie Chcel by som poďakovať vedúcemu diplomovej práce doc. RNDr. Petrovi Sojkovi, Ph.D. za jeho vedenie, ochotu a konzultácie. Tiež ďakujem Zdeňkovi Wagnerovi za jeho rady na odbornej diskusnej skupine cz.comp.cstex. iii

Zhrnutie Hlavnou úlohou tejto diplomovej práce bolo vytvoriť balíček s podporou pre písmový systém Comenia do typografického systému TEX. Táto podpora má slúžiť študentom Masarykovej univerzity pri písaní záverečných prác pomocou L A TEXového štýlu fithesis tak, že budú môcť použiť písma Comenia ako alternatívu k bežne používaným písmam. iv

Kľúčové slová Comenia fonty, podpora fontov v TEXu, digitálne formáty písma, Open- Type fonty, L A TEXový štýl fithesis v

Obsah 1 Úvod................................. 1 2 Comenia fonty............................ 3 2.1 Základné pojmy......................... 3 2.2 Písmová superrodina Comenia................. 3 2.3 Písmová rodina Comenia Serif................. 4 2.4 Písmová rodina Comenia Sans................. 4 2.5 Písmové rodiny Comenia Script................. 5 3 Digitálne formáty písma...................... 7 3.1 Formát Type 1.......................... 7 3.1.1 Matematický popis kriviek.............. 7 3.1.2 Hintovacie informácie................. 7 3.1.3 Fyzická reprezentácia................. 8 3.2 Formát TrueType........................ 9 3.2.1 Matematický popis kriviek.............. 9 3.2.2 Hintovacie informácie................. 9 3.2.3 Fyzická reprezentácia................. 9 3.3 Formát OpenType........................ 10 3.3.1 Matematický popis kriviek.............. 10 3.3.2 Hintovacie informácie................. 10 3.3.3 Fyzická reprezentácia................. 10 3.3.4 Lepšia jazyková podpora............... 11 3.3.5 Pokročilá typografia.................. 11 4 Fonty a ich použitie v systéme TEX................ 12 4.1 Sadzba v systéme T E X...................... 12 4.2 Fonty v systéme T E X....................... 12 4.3 Kódovanie v systéme T E X.................... 13 4.4 Virtuálne fonty......................... 14 4.5 Štruktúra podpory fontov.................... 14 5 Tvorba podpory OpenType fontov do systému TEX...... 17 5.1 Nástroje pre tvorbu podpory OpenType fontov......... 17 5.1.1 Nástroj otfinfo..................... 17 5.1.2 Nástroj otftotfm.................... 17 5.1.3 Nástroj cfftot1..................... 19 5.1.4 Nástroj ttftotype42................... 19 5.1.5 Nástroj t1dotlessj.................... 19 5.2 Tvorba podpory OpenType fontov pre systém T E X....... 20 5.2.1 Voľba kódovania.................... 20 vi

5.2.2 Voľba systému pre pomenovanie metrík TFM.... 20 5.2.3 Generovanie súborov podpory pomocou otftotfm. 22 5.2.4 Tvorba mapovacieho súboru MAP.......... 24 5.2.5 Tvorba FD súborov................... 24 5.2.6 Tvorba súborov STY a TEX (pre OFS)........ 25 5.2.7 Kompletizácia balíčka podpory............ 28 6 Inštalácia a prístup k podpore Comenia fontov........ 29 6.1 Inštalácia podpory Comenia fontov............... 29 6.2 Prístup k fontom Comenia v systéme T E X............ 30 6.2.1 Príkaz \font v plaintexu............... 30 6.2.2 Makro NFSS (The New Font Selection Scheme).. 31 6.2.3 Makro OFS (Olšákův Fontový Systém)........ 32 6.3 Prístup k fontom Comenia prostredníctvom OS........ 32 6.3.1 Inštalácia nového fontu................ 33 6.3.2 Príkaz \font...................... 33 6.3.3 Balíček fontspec................... 33 7 Štýlopis fithesis........................... 36 7.1 Úprava štýlopisu......................... 36 7.2 Príkazy balíčka comenia..................... 36 8 Záver................................. 37 A Ukážky fontov Comenia...................... 41 A.1 Comenia Serif.......................... 41 A.2 Comenia Sans.......................... 41 A.3 Comenia Script......................... 42 B Obsah priloženého CD....................... 43 vii

1 Úvod Písmo patrí bez akýchkoľvek pochybností k najväčším objavom v dejinách ľudstva. Jeho rozvinuté používanie je preukázané už v dobe okolo 4. storočia pred Kristom [1]. Podoba písma sa v priebehu histórie vyvíjala a s príchodom Gutenbergovej kníhtlače v 15. storočí vznikol aj samostatný umelecko-technický odbor typografia, ktorý sa písmom zaoberá. Typografia sa usiluje pomocou použitia vhodného písma a usporiadania jeho znakov vnášať do tlačených dokumentov zrozumiteľnosť a estetiku. Kým v minulosti sa sadzbe dokumentov a kníh venovali iba skutoční majstri čierneho remesla, dnes sa môže tejto činnosti vďaka počítačom venovať doslova každý. Môžeme tak byť svedkami dokumentov, ktoré používajú nevhodnú typografickú úpravu. Ešte smutnejšie je, keď je takýmto dokumentom záverečná písomná práca študenta vysokej školy. Príčin môže byť viacero, či už použitie nekvalitného typografického systému, neznalosť autora, neexistujúci štandard pre odovzdávanie písomných prác alebo kombinácia uvedených faktorov. Na Fakulte informatiky Masarykovej univerzity vznikol v snahe zvýšiť kvalitu úpravy záverečných prác L A TEXový štýl fithesis [2]. Tento štýl implementuje doporučenú úpravu pre záverečné práce a zaisťuje tak ich jednotný vzhľad. O profesionálnu sadzbu sa stará typografický systém L A TEX. Študenti tak majú zdarma k dispozícii nástroj, ktorý im sadzbu záverečných prác značne uľahčuje. K vysokej úrovni estetiky záverečnej práce značne prispieva aj použitie kvalitného písma. Použité písmo má totiž na celkový vzhľad dokumentu zásadný vplyv. Pomocou kvalitného a vhodne zvoleného písma je možné udržať pozornosť čitateľa a zlepšiť tak jeho porozumenie textu. Medzi písma s dobrými optickými kvalitami a precíznou diakritikou patria aj Comenia fonty, ktoré sú predstavené v druhej kapitole. Hlavnou úlohou tejto diplomovej práce bolo vytvoriť podporu písmového systému Comenia pre systém TEX a jeho nasledovníkov 1 a upraviť štýl fithesis tak, aby podporoval Comenia fonty ako jeden z alternatívnych štýlov záverečných prác. Comenia fonty, tak ako aj takmer všetky súčasné fonty, sú distribuované vo formáte OpenType. Tento formát je relatívne nový a v podstate kombinuje charakteristiky formátov Type 1 a TrueType, ktoré sú už na 1. V nasledujúcom texte sa bude namiesto spojenia systém TEX a jeho nasledovníci používať len označenie TEX. Ak bude daná časť textu špecifická len pre konkrétny formát TEXu, bude explicitne uvedený jeho názov. 1

1. Úvod ústupe. Problematika digitálnych formátov písma je popísaná v tretej kapitole. Spôsob, akým systém TEX postupuje pri sadzbe dokumentov a tiež ako pristupuje k samotným fontom, je predstavený v štvrtej kapitole. Čitateľ tu nájde aj popis štruktúry TEXovej podpory pre fonty. Piata kapitola vo svojej prvej časti predstavuje nástroje, ktoré možno použiť pri tvorbe TEXovej podpory pre OpenType fonty. Následne je formou všeobecného návodu popísaný samotný proces tvorby balíčka podpory, ktorý je ilustrovaný na Comenia fontoch. Postup ako nainštalovať a následne aj použiť podporu Comenia fontov nájde čitateľ v šiestej kapitole. K fontom systému TEX je možné v jeho jednotlivých formátoch pristupovať viacerými spôsobmi, táto kapitola popisuje len štyri najviac používané. Proces rozšírenia štýlu fithesis o podporu Comenia fontov a jeho následne použitie popisuje siedma kapitola. Záverečná ôsma kapitola obsahuje zhrnutie dosiahnutých výsledkov a hodnotenie vlastného prínosu práce. 2

2 Comenia fonty 2.1 Základné pojmy Skôr, ako sa čitateľ zoznámi s písmami Comenia, je tu pár definícii niektorých pojmov použitých v tejto práci, ktoré vo všeobecnom ponímaní môžu nadobúdať mierne odlišný význam. Definície pramenia z [3] a [4]: Písmo súbor znakov malej a veľkej abecedy, číslic, interpunkčných znamienok a špeciálnych symbolov. Font súbor s digitalizovaným písmom. Rez kresbový variant písma; okrem základného rezu môžu existovať aj tzv. vyznačovacie rezy určené k zvýrazňovaniu častí textu (napr. tučný, kurzíva, tučná kurzíva...). Písmová rodina skupina rezov písma, ktoré majú rovnakú kresbovú charakteristiku a tiež rovnakú strednú výšku, výšku verzálok a dĺžku horných a dolných doťahov. Písmová superrodina písmový systém serifového a bezserifového písma so zhodným výtvarným pojatím, proporciami a všeobecnými vlastnosťami. 2.2 Písmová superrodina Comenia Písmová superrodina Comenia bola špeciálne navrhnutá pre používanie v školstve, jej tvary, proporcie a estetické kvality sú upravené tak, aby eliminovali únavu očí a viedli k lepšiemu vzhľadu materiálov pre žiakov a študentov [3]. Tvorí ju päť samostatných písmových rodín 1 Comenia Serif serifové písmo, Comenia Sans bezserifové písmo, Comenia Script A serifové písmo pripomínajúce rukopis, Comenia Script B bezserifové písmo pripomínajúce rukopis, Comenia Script Pro bezserifové písmo pripomínajúce rukopis. Superrodina písiem zaisťuje, že vzájomnou kombináciou jej písmových rodín nenarušíme jednotný vzhľad sadzby dokumentu. 1. Ukážky rezov jednotlivých rodín je možné nájsť v prílohe A. 3

2. Comenia fonty 2.3 Písmová rodina Comenia Serif Autorom písmovej rodiny Comenia Serif je František Štorm, popredný český typograf, návrhár písma a tiež zakladateľ spoločnosti Storm Type Foundry (resp. spoločnosti Střešovická písmolijna ), ktorá túto písmovú rodinu zastrešuje. Comenia Serif je určená pre všetky stupne škôl a univerzít. Prináša nové estetické normy, ktoré by mali viesť k zlepšeniu zručností v oblasti čítania a písania, a tiež schopnosti vnímať text. Cieľovou skupinou nie sú len žiaci a študenti, ale aj učitelia a školskí pracovníci v oblasti administratívy a IT. [5] Táto písmová rodina je určená pre sadzbu dlhých textov učebníc, diplomových 2 a vedeckých prác alebo k sadzbe šlabikárov. Diakritika ladí s kresbou malej aj veľkej abecedy a plne rešpektuje zvyklosti stredoeurópskych jazykov. [3] Comenia Serif ponúka základný a tri vyznačovacie rezy písma, ktoré sú obsiahnuté v nasledujúcich súboroch: ComeniaSerif.otf základné písmo, ComeniaSerif-Bold.otf tučné písmo, ComeniaSerif-Italic.otf kurzíva, ComeniaSerif-BoldItalic.otf tučná kurzíva. 2.4 Písmová rodina Comenia Sans Autorom je Tomáš Brousil, český grafik, návrhár písma a zakladateľ spoločnosti Suitcase Type Foundry, ktorá túto písmovú rodinu zastrešuje. Comenia Sans bola vytvorená ako bezserifový variant písmovej rodiny Comenia Serif. Tieto písmové rodiny majú mnoho spoločných charakteristík, ako veľkosť verzálok a mínusok, dĺžku doťahov, ale aj váhu (duktus). Vďaka tomu je možné kombinovať použitie fontov oboch rodín aj v rámci toho istého riadku. [6] Písmová rodina Comenia Sans však na rozdiel od Comenia Serif neobsahuje žiadne okrasné elementy a tieňovanie písmových ťahov. Tieto prvky dodávajú dlhým textom svieži vzhľad, no v textoch s kratším rozsahom nie sú potrebné. [3] 2. Písmová rodinu Comenia Serif je použitá aj pri sadzbe tejto diplomovej práce. 4

2. Comenia fonty Fonty tejto rodiny boli špeciálne navrhované pre použitie na obrazovkách alebo iných zariadeniach s nízkym rozlíšením. Dobrá čitateľnosť je zaručená aj vo veľkosti pod 10 bodov, a to vďaka jednoduchým tvarom a dostatočne veľkým okám. [6] Comenia Sans obsahuje až dvanásť rezov písma, z toho je šesť rezov zhustených. Zhustené rezy sú vhodné v situáciach, keď sme priestorovo limitovaní alebo je potrebné prekvapiť (napr. na plagátoch) [6]. Jednotlivé rezy sú obsiahnuté v nasledujúcich súboroch: ComeniaSans.otf základné písmo, ComeniaSansMedium.otf polotučné písmo, ComeniaSans-Bold.otf tučné písmo, ComeniaSans-Italic.otf kurzíva, ComeniaSansMedium-Italic.otf polotučná kurzíva, ComeniaSans-BoldItalic.otf tučná kurzíva, ComeniaSansCond.otf zhustené písmo, ComeniaSansCondMedium.otf zhustené polotučné písmo, ComeniaSansCond-Bold.otf zhustené tučné písmo, ComeniaSansCond-Italic.otf zhustená kurzíva, ComeniaSansCondMedium-Italic.otf zhustená polotučná kurzíva, ComeniaSansCond-BoldItalic.otf zhustená tučná kurzíva. 2.5 Písmové rodiny Comenia Script Autorkou je Radana Lencová, česká výtvarníčka a grafická návrhárka. Tieto písmové rodiny zastrešuje spoločnosť Storm Type Foundry. Comenia Script je praktické písané písmo pre deti. Vyznačuje sa tým, že je jednoduché, moderné a súčasné. Jeho úlohou je slúžiť ako základný tvar písaných znakov, ktorý bude obohatený o individuálnu tendenciu každého pisára. [7] Všetky tri písmové rodiny Comenia Script, ktoré sú v záujme tejto diplomovej práce, obsahujú len základný rez písma. Jednotlivé rodiny 5

2. Comenia fonty sa vyznačujú nasledujúcimi charakteristikami a sú obsiahnuté v týchto súboroch: ComeniaScriptA.otf písmová rodina Comenia Script A predstavuje rozvinutejšiu serifovú formu písma, ktorá pracuje s výbehmi spojovacích ťahov. Uplatnenie má v bežnej písomnej komunikácii, ale aj v rôznych výtvarných vyjadreniach. [7] ComeniaScriptB.otf písmová rodina Comenia Script B predstavuje jednoduchšiu bezserifovú formu písma, ktorá nemá spojovacie ťahy. Bola vypracovaná pre špeciálne účely, napr. pre dysgrafikov, mentálne či telesne hendikepovaných. Uplatnenie však nachádza aj v nadpisoch alebo ako technické písmo v matematike či geometrii. Vzhľadom pripomína tlačenú formu, je však určená pre bežnú písomnú komunikáciu. [7] ComeniaScriptPro.otf písmová rodina Comenia Script Pro je určená pre počítače, môže slúžiť k sadzbe šlabikárov alebo detskej literatúry. Pre úplnosť okrem vyššie uvedených rodín existuje ešte aj písmová rodina Comenia Script kaligrafická forma s kaligrafickým pojatím písma a písmová rodina Comenia Script Universal, ktorá kombinuje prvky rodín Comenia Script A a Comenia Script B. Písmová rodina Comenia Script Universal bola od septembra 2010 pilotne overovaná Ministerstvom školstva, mládeže a telovýchovy na 33 vybraných základných školách v Českej republike. Na základe zistených výsledkov pri rozvoji písania žiakov uvedeným písmom bolo písmo doporučené ako alternatíva k bežne používanej písanej abecede. [8] 6

3 Digitálne formáty písma Postupný nástup počítačovej sadzby v 80. rokoch podnietil aj rozvoj digitálnych formátov písma. Písma vznikali úplne nové alebo podľa už existujúcej predlohy a bolo potrebné reprezentovať ich v počítači vo vhodnej podobe. V začiatkoch sa používali jednoduché bitmapové formáty, ktoré ukladali jednotlivé znaky ako monochromatické obrázky. Tento spôsob uloženia však má jednu zásadnú nevýhodu, a to, že takto uložené znaky sú určené len pre jedno konkrétne rozlíšenie a nie je ich možné kvalitne zväčšovať či zmenšovať [9]. Dnes sa stretneme s týmto prístupom už len vo výnimočných prípadoch, preto sa ním ďalej nebudeme zaoberať. V súčasnosti je výrazne preferovaný vektorový typ formátov, ktorý jednotlivé znaky ukladá ako obrysy vyjadrené matematicky vo forme sústavy kriviek [10]. Tento prístup umožňuje rôzne transformácie znakov skôr, ako sa vygeneruje výsledná bitmapa v požadovanom rozlíšení. Medzi dominujúce vektorové formáty v súčasnosti patrí Type 1, TrueType a OpenType. Tieto formáty sú významné aj z hľadiska tejto diplomovej práce, a preto sú pre predstavu čitateľa stručne popísané v nasledujúcich podkapitolách. 3.1 Formát Type 1 Fonty vo formáte Type 1 sú dielom spoločnosti Adobe Systems. Vznikli v roku 1985 spolu s programovacím jazykom PostScript, na ktorom sú založené. Samotný jazyk PostScript slúži na kompletný popis grafického a textového obsahu tlačových dokumentov. 3.1.1 Matematický popis kriviek Na vyjadrenie tvaru kriviek sa v Type 1 fontoch používajú krivky tretieho stupňa, tzv. Bézierové krivky. 3.1.2 Hintovacie informácie Pojem hintovanie (z anglického hinting ) označuje mechanizmus, pomocou ktorého je možné predchádzať deformáciám, ktoré by mohli vzniknúť pri vykresľovaní znakov fontu v nízkom rozlíšení. 7

3. Digitálne formáty písma V prípade Type 1 fontu môže tvorca riadiť vlastnosti ako horizontálne a vertikálne ťahy, presahy, plytké krivky a iné. Spôsob, akým sa samotné hintovanie vykoná, avšak rozhodne interpret jazyka PostScript. S príchodom novšej verzie interpreta môže byť hintovanie vylepšené. [11] 3.1.3 Fyzická reprezentácia Fonty Type 1 sú reprezentované pomocou dvojice, resp. trojice súborov s nasledujúcimi príponami: PFA (Printer Font ASCII)/PFB (Printer Font Binary): popis tvarov znakov spolu s ich kódovaním a doplňujúcimi informáciami, tvary znakov popisujú procedúry programu v jazyku PostScript, ktoré však využívajú len obmedzenú množinu príkazov tohto jazyka, vďaka čomu je spracovanie fontov jednoduchšie a rýchlejšie, kódovanie priraďuje jednotlivým procedúram čísla znakov, doplňujúce informácie obsahujú údaje, ako napr. názov fontu, verzia fontu atď., verzia PFA obsahuje všetky tieto dáta v čitateľnej (ASCII) podobe, kým verzia PFB obsahuje dáta v binárnej podobe vhodnej na distribuovanie a ukladanie fontov v počítači. AFM (Adobe Font Metrics): metrické informácie fontu v textovej podobe, údaje o jednotlivých znakoch (ich veľkostiach), údaje o skupinách znakov (ligatúrach, kerningových pároch), údaje spoločné pre celý font (výšky písmovej osnovy, veľkosti medzislovných medzier...). INF (Information): nepovinný informačný súbor, obsahuje základné informácie o fonte v textovej podobe. Podrobnú špecifikáciu Type 1 fontov je možné nájsť v oficiálnej dokumentácii [12]. 8

3. Digitálne formáty písma 3.2 Formát TrueType Formát TrueType fontov bol vytvorený spojeným úsilím spoločností Microsoft a Apple ako odpoveď na Type 1 fonty spoločnosti Adobe Systems. Prvýkrát sa objavili fonty tohto formátu v roku 1991 v operačnom systéme System 7 od Apple a rok neskôr aj v systéme Windows 3.1 od Microsoftu. [13]. 3.2.1 Matematický popis kriviek Na vyjadrenie kriviek sa v TrueType fontoch používajú krivky druhého stupňa, tzv. kvadratické B-spliny, ktoré sú podmnožinou kubických Bézierových kriviek použitých v Type 1 [11]. TrueType fonty teda nie sú schopné dosiahnuť takú presnú kresbu ako Type 1 fonty, ale táto nevýhoda je skôr len teoretická, pretože je pohľadom takmer nerozpoznateľná. 3.2.2 Hintovacie informácie Formát TrueType ponúka v oblasti hintovania bohatšie možnosti ako formát Type 1, umožňuje naviac riadiť hintovanie napríklad aj diagonálnych ťahov alebo presun určitých bodov podľa zvolenej veľkosti písma [11]. Dokonca môže obsahovať špeciálne bitmapové bloky, ktoré nahradia vektorový popis v prípade, keď je potrebné vykresliť veľmi malé znaky, čím sa dosiahne ešte väčšia precíznosť. Vďaka týmto rozšíreným možnostiam má tvorca TrueType fontu hintovanie plne pod kontrolou a jeho kvalita tak nezávisí na kvalite interpreta. Na druhej strane sa na tvorcu fontu kladú vyššie nároky, čo môže byť aj nevýhodou. 3.2.3 Fyzická reprezentácia Fonty TrueType sú reprezentované jediným súborom s príponou: TTF (TrueType Font): obsahuje definície kresieb znakov a súčasne aj metrické informácie fontu, ukladá dáta v binárnej podobe, ktorá je pre používateľa nečitateľná. 9

3. Digitálne formáty písma Podrobnú špecifikáciu TrueType fontov je možné nájsť na stránkach spoločnosti Apple (https://developer.apple.com/fonts/ttrefman/), implementácia od spoločnosti Microsoft nie je avšak úplne totožná. 3.3 Formát OpenType OpenType predstavuje najnovší zo spomenutých formátov fontov. Špecifikáciu vo verzii 1.0 uvoľnila spoločnosť Microsoft v roku 1997 a v spolupráci so spoločnosťou Adobe Systems bola postupne vyvíjaná a spresňovaná až do dnešnej podoby, ktorú predstavuje verzia 1.6. Väčšina súčasných fontov je distribuovaná práve v tomto formáte, využívajú ho aj Comenia fonty. Formát OpenType je založený na formáte TrueType, jeho možnosti však výrazne rozširuje a prináša mnoho výhod, niektoré z nich sú popísané v nasledujúcich sekciách. 3.3.1 Matematický popis kriviek OpenType formát umožňuje vyjadriť obrysy znakov pomocou kvadratických B-spline kriviek, ale aj pomocou kubických Bézierových kriviek, čím kombinuje možnosti oboch predchádzajúcich formátov. 3.3.2 Hintovacie informácie Spôsob hintovania je závislý na type kriviek použitých na popis obrysov znakov, pretože ten určuje, aký interpret bude výsledné znaky vykresľovať. 3.3.3 Fyzická reprezentácia Fonty OpenType sú reprezentované jedným súborom, jeho prípona sa však môže líšiť [14]: OTF (PostScript-based OpenType Font): OpenType fonty s kubickým (PostScript) popisom znakov. TTF (TrueType-based OpenType Font): OpenType fonty s kvadratickým (TrueType) popisom znakov. Navyše tento súbor je multiplatformový, takže nie sú potrené rôzne varianty fontu pre rôzne platformy tak, ako pri TrueType a Type 1. 10

3. Digitálne formáty písma 3.3.4 Lepšia jazyková podpora Vďaka kódovaniu Unicode môže byť v jednom fonte špecifikovaných teoreticky až 65515 znakov (kódovanie PostScript fontu je limitované na 256 znakov). OpenType font tak môže obsahovať viacero jazykových balíkov (napr. latinkový, grécky a azbukový), čím uľahčuje sadzbu viacjazyčných dokumentov. [14] 3.3.5 Pokročilá typografia OpenType fonty prispievajú svojimi schopnosťami k precíznejšej typografickej úprave. Veľké množstvo znakov, ktoré môže Unicode kódovanie obsahovať, umožňuje, aby font obsahoval mnoho neštandardných znakov, ako napríklad starobylé číslice, pravé kapitálky, zlomky, ozdobné písmená, titulkové písmená, horné a dolné indexy, kontextové a štylistické alternatívy znakov, kompletnú súpravu ligatúr a iné [14]. Okrem toho, niektoré vysokokvalitné písma môžu zahŕňať rôzne podoby znakov optimalizované pre použitie v určitých veľkostiach. Typicky ide o nasledujúce štyri varianty optických veľkostí: caption (6 8 bodov), regular (9 13 bodov), subhead (14 24 bodov) a display (27 72 bodov). [14] Ďalšie charakteristiky a podrobnú špecifikáciu formátu fontov Open- Type je možné nájsť napríklad na webovom serveri spoločnosti Microsoft (http://www.microsoft.com/typography/otspec/). 11

4 Fonty a ich použitie v systéme TEX Na tomto mieste sú vybrané poznatky o konceptoch, ktoré používa systém TEX pri sadzbe dokumentov a tiež o spôsobe, akým TEX pristupuje k samotným fontom. Tieto poznatky sú dôležité pre porozumenie účelu jednotlivých súborov v balíčku s podporou fontov pre systém TEX, ktorého štruktúra je popísaná v závere kapitoly. 4.1 Sadzba v systéme TEX Základom systému TEX je prekladač, ktorý na vstupe berie textový súbor. Tento súbor je možné vytvoriť ľubovoľným textovým editorom a jeho obsah tvorí samotný text dokumentu spolu s príkazmi, ktoré určujú, ako bude tento text vysádzaný. Hlavnou prácou prekladača je rozmiestnenie jednotlivých znakov do zrkadla sadzby. [11] Spôsob, akým prekladač systému TEXu pracuje, je veľmi nadčasový. Pri práci vôbec nepotrebuje poznať konkrétne tvary znakov, ale vystačí si len s metrickými informáciami potrebuje iba rozmery tzv. boxov, čo sú vlastne obdĺžnikové plochy, ktoré reprezentujú jednotlivé znaky fontu. Každý box je určený svojou výškou, šírkou a hĺbkou voči referenčnému bodu. Prekladač umiestňuje boxy tak, aby boli ich referenčné body v jednej línii. [9] Výstupom TEXu je binárny súbor vo formáte DVI (DeVice Independent). Tento súbor neobsahuje žiadne konkrétne znaky, ale len odkazy na použité fonty [10]. So samotnými fontami pracujú až tzv. DVI ovládače, čo sú vlastne programy, ktoré umožňujú zobrazenie, tlač alebo konverziu výstupného súboru DVI. Vďaka DVI ovládačom je možné spracovať TEXový výstup do ľubovoľnej formy, bez toho, aby sme museli zasahovať do TEXu samotného. 4.2 Fonty v systéme TEX Na rozdiel od väčšiny typografických systémov, systém TEX 1 a následne aj DVI ovládače nepristupujú k fontom prostredníctvom OS, ale pomocou vlastnej a nezávislej štruktúry, ktorá je popísaná v sekcii 4.5. Mimochodom, to je aj dôvod, prečo je nutné pre fonty vytvoriť a nainštalovať tzv. podporu, skôr ako je možné ich v systéme TEX použiť. 1. Výnimkou sú niektoré novšie formáty TEXu, konkrétne X TEX, X L A TEX, LuaTEX a LuaL A TEX. E E 12

4. Fonty a ich použitie v systéme TEX Tento prístup sa môže sprvu javiť ako zbytočne zdĺhavý a komplikovaný, umožňuje však v systéme TEX potencionálne použiť fonty vo formáte, ktorý ešte ani nie je známy. Stačí dodať len metrické informácie a vytvoriť nový DVI ovládač, ktorý bude daný formát fontov podporovať. Metrické informácie, ktoré využíva pri sadzbe systém TEX, sú uložené v súboroch TFM (TEX Font Metrics). Ide o binárne súbory podobné súborom AFM fontov Type 1, ktoré môže obsahovať údaje o maximálne 256 znakoch. Kresby znakov môžu byť reprezentované v rôznych formátoch. V zásade formát kresieb závisí na požadovanom DVI ovládači, ktorý sa má použiť na spracovanie DVI súborov. Napríklad ovládač DVIPS, ktorý spracováva DVI súbor do formátu PS (PostScript) podporuje kresby znakov vo formáte PFB, resp. PFA, no nepodporuje formát TTF. Zvláštnym prípadom je formát TEXu zvaný pdftex, ktorý zastupuje prácu TEXu aj DVI ovládača a produkuje priamo súbory vo formáte PDF (Portable Document Format) bez nutnosti DVI súboru [9]. Mimochodom, pdftex dokáže spracovať kresby znakov aj vo formáte TTF. V prípade, že neexistuje DVI ovládač, ktorý by vedel spracovať zamýšľaný formát fontu alebo chceme použiť taký DVI ovládať, ktorý ho nepodporuje, je jedinou cestou konverzia fontu do iného formátu. Nevýhodou tohto postupuje je, že pri konverzii môže dochádzať k zníženie kvality fontu alebo strate niektorých jeho vlastností. 4.3 Kódovanie v systéme TEX Kódovaním sa nazýva predpis, ktorý priraďuje znakom čísla každému znaku práve jedno (napríklad kódovanie ASCII priraďuje znaku A číslo 65) [9]. Pri práci v systéme TEX rozlišujeme z pohľadu používateľa kódovanie vstupných textov a kódovanie metrík fontov. Samotný systém TEX pracuje vo svojom vnútornom nezávislom kódovaní. Kódovanie vstupných textov je potrebné špecifikovať, aby TEX správne transformoval vstupný text do svojho vnútorného kódovania. Kódovanie metrík fontov potrebuje TEX pri sadzbe dokumentu pre priradenie zodpovedajúcich rozmerov jednotlivým znakom. Kódovanie výstupného DVI súboru je rovnaké ako kódovanie metrík fontov [11]. Pri tvorbe podpory fontov pre systém TEX musíme brať do úvahy aj vnútorné kódovanie samotných fontov. Ak sa toto kódovanie líši od kódovania metrík TFM, je potrebné vykonať prekódovanie fontu pomocou 13

4. Fonty a ich použitie v systéme TEX mapovacieho súboru MAP 2, aby mohol DVI ovládač priradiť jednotlivým znakom ich správne kresby. 4.4 Virtuálne fonty Medzi jeden zo zaujímavých konceptov, ktoré systém TEX implementuje, patria tzv. virtuálne fonty. Pomocou nich je možné zostaviť jeden znak z niekoľkých iných znakov, ktoré dokonca môžu pochádzať z rôznych fontov. Jednotlivé znaky, ktoré tvoria výsledný kompozitný znak, je možné rôzne transformovať (zväčšovať, zmenšovať, skosiť... ) a tiež umiestňovať podľa potreby. Typickým príkladom použitia je tvorba znakov s diakritikou. Iným príkladom použitia virtuálnych fontov je zmena kódovania DVI súboru. Pomocou návodu, ktorý obsahujú, je možné namapovať znaky z DVI súboru do iného kódovania, napríklad do kódovania použitého fontu. [11] Z pohľadu samotného systému TEX neprinášajú virtuálne fonty žiadnu zmenu, pretože kompozitný znak je v metrických informáciach reprezentovaný rovnako ako každý iný znak. Virtuálne fonty teda musia byť podporované iba v DVI ovládačoch, ktoré sa starajú o spracovanie TEXových výstupných DVI súborov, a tým pádom aj o vykresľovanie znakov, ktoré obsahujú. 4.5 Štruktúra podpory fontov Aby sme mohli do systému TEX zaradiť nové fonty a následne ich s úspechom aj použiť, je potrebné dodať všetky súbory, ktoré systém TEX a DVI ovládače pri svojej práci potrebujú. Navyše, tieto súbory je nutné správne zaradiť do adresárovej štruktúry TEXu. Väčšina dnešných implementácii systému TEX dodržiava adresárovú štruktúru popísanú v TDS (TEX Directory Structure) [15]. Balíček s podporou pre fonty je obvykle distribuovaný vo forme zbaleného súboru. Ak daný balíček dodržiava štruktúru podľa TDS, stačí rozbaliť súbor s podporou priamo do texmf stromu. Pri tvorbe podpory fontov nás bude zaujímať len časť štruktúry TDS, konkrétne nasledujúca: 2. Mapovací súbor MAP je bližšie popísaný v sekcii 5.2. 14

4. Fonty a ich použitie v systéme TEX texmf fonts <type> <supplier> <typeface> enc <dvidriver> <supplier> <typeface> lig <dvidriver> <supplier> <typeface> map <dvidriver> <supplier> <typeface> Súbory podpory sú zaradené do jednotlivých adresárov podľa ich typu <type> a následne väčšinou podľa dodávateľa <supplier> a písmovej rodiny <typeface>. Občas sa namiesto dvojice adresárov <supplier> a <typeface> používa iba jeden s názvom balíčku <package>. V TDS sú zarezervované pre jednotlivé typy súborov <type> nasledujúce názvy adresárov [15]: afm metriky AFM a INF súbory, gf nekomprimované bitmapové fonty, opentype OpenType fonty, pk komprimované bitmapové fonty, source zdrojové súbory METAFONT fontov, tfm metriky TFM, truetype TrueType fonty, type1 PostScript Type1 fonty, type3 PostScript Type3 fonty, vf virtuálne fonty. 15

4. Fonty a ich použitie v systéme TEX Názvy adresárov enc, lig a map sú zarezervované pre kódovania fontov, ligatúry a mapovacie súbory. Súbory, ktoré obsahujú, sú ďalej rozdelené do priečinkov navyše podľa DVI ovládača <dvidriver>, napr. dvips. V súčasnosti obsahuje väčšina fontových balíčkov naviac dokumentáciu a súbory štýlov. Tieto sú umiestnené v nasledujúcej štruktúre: texmf doc fonts <supplier> <typeface> súbory dokumentácie a príkladov tex latex <supplier> <typeface>.fd súbory.sty súbory.tex súbory plain <supplier> <typeface>.def súbory.tex súbory 16

5 Tvorba podpory OpenType fontov do systému TEX 5.1 Nástroje pre tvorbu podpory OpenType fontov V tejto sekcii sú popísané nástroje, ktoré boli použité pri vytváraní podpory pre Comenia fonty do systému TEX. Všetky tieto nástroje sú súčasťou inštalácie TEX Live a pochádzajú z balíčka programov LCDF Typetools, ktorého autorom je Eddie Kohler profesor z Harvardovej univerzity. 5.1.1 Nástroj otfinfo Tento nástroj slúži na získavanie informácií o OpenType fontoch. Jeho základná syntax vyzerá nasledovne: otfinfo [options] fontfile Nástroj otfinfo v závislosti na uvedených voľbách programu options umožňuje získať nasledujúce informácie o OpenType fonte fontfile zadanom na vstupe: -i základné informácií o fonte (názov, rodina, autor...), -s podporované jazykové systémy (latinka, cyrilika...), -f podporované neštandardné znaky (kapitálky, zlomky...), -g zoznam všetkých znakov fontu, -t obsah tabuliek OpenType. Ďalšie voľby programu a podrobnejšie informácie je možné nájsť v príslušnom manuáli. 5.1.2 Nástroj otftotfm Nástroj otftotfm slúži na vytváranie metrických súborov TFM z OpenType fontov. Tento nástroj je však schopný s volaním nižšie uvedených nástrojov vytvoriť takmer kompletnú podporu OpenType fontov pre systém TEX. Základná syntax tohoto nástroju vyzerá nasledovne: otftotfm [-a] [options] fontfile [texname] 17

5. Tvorba podpory OpenType fontov do systému TEX Voľba -a umožňuje prepínať medzi automatickým a manuálnym režimom, v ktorom môže program bežať. Pri vytváraní balíčka podpory je vhodné použiť manuálny režim, v ktorom otftotfm zapíše všetky svoje výstupné súbory do aktuálneho priečinku. V automatickom režime, teda pri uvedení voľby -a, by mal nástroj otftotfm naopak zapísať všetky svoje výstupné súbory na príslušné miesta v TDS, ktoré sú popísané v predchádzajúcej kapitole. Niekedy je však nutné najprv nastaviť správne cesty k TEXovej inštalácii do premenných prostredia. Čo je však horšie, program môže skončiť chybovým hlásením v prípade, že je v niektorej ceste použitá medzera. Voľby options je možné rozdeliť do niekoľkých kategórii [16]: voľby neštandardných znakov umožňujú aktivovať vybrané sady neštandardných znakov; napríklad uvedením voľby -fsmcp sa nahradia mínusky pravými kapitálkami; vo všeobecnosti sa požaduje aspoň použitie voľby -fkern na aktiváciu kerningových párov a voľby -fliga na aktiváciu ligatúr, transformačné voľby umožňujú meniť charakteristiky fontu pomocou rôznych transformácií; napríklad voľba -E fac umožňuje rozšíriť alebo zúžiť písmo v závislosti na koeficiente fac, voľby kódovania umožňujú ovplyvniť kódovanie metrík TFM; patrí sem aj povinná voľba -e encoding, pomocou ktorej používateľ špecifikuje vstupné kódovanie encoding; napríklad pre kódovanie T1 (Cork) sa použije voľba -e ec; užitočnou je aj voľba --warn-missing, ktorá aktivuje upozornenia na znaky, ktoré sú obsiahnuté vo zvolenom kódovaní, ale chýbajú v samotnom fonte, voľby automatického módu slúžia na riadenie činnosti nástroja otftotfm v automatickom móde; napríklad voľbou --no-type1 sa zakáže vytvorenie Type 1 fontu s kresbami znakov, voľby výstupu umožňujú ovplyvniť výstup nástroju otftotfm; napríklad voľbou --no-virtual sa zakáže generovanie virtuálnych fontov VF, ostatné voľby patria sem všetky ostatné voľby, napríklad voľba --verbose, ktorá spôsobí, že na štandardný chybový výstup sa budú vypisovať podrobné správy o činnosti nástroja otftotfm. Ďalšie voľby programu a podrobnejšie informácie je možné nájsť v príslušnom manuáli [16]. 18

5. Tvorba podpory OpenType fontov do systému TEX Parameter fontfile predstavuje názov zdrojového OpenType fontu, prípadne aj cestu k nemu. Parameter texname predstavuje názov výsledného metrického súboru, a teda aj názov, ktorým budeme daný font volať zo systému TEX. 5.1.3 Nástroj cfftot1 Nástroj cfftot1 slúži na konverziu OpenType OTF fontov (niekedy nazývaných aj fonty CFF Compact Font Format) do postscriptového formátu Type 1. Základná syntax tohoto nástroju vyzerá nasledovne: cfftot1 [-a] [input [output]] Ak uvedieme voľbu -a, výstupný Type 1 font bude v textovom formáte PFA, v opačnom prípade bude výstupom font v binárnom formáte PFB. Parametre input a output reprezentujú vstupný a výstupný súbor fontu. Ďalšie voľby programu a podrobnejšie informácie je možné nájsť v príslušnom manuáli. 5.1.4 Nástroj ttftotype42 Nástroj ttftotype42 slúži na konverziu TrueType alebo OpenType TTF fontov do postscriptového formátu Type 42. Formát Type 42 je v podstate len postscriptová obálka pre TrueType fonty. Základná syntax tohoto nástroja vyzerá nasledovne: ttftotype42 [input [output]] Parametre input a output reprezentujú vstupný a výstupný súbor fontu. Voľby programu a podrobnejšie informácie je možné nájsť v príslušnom manuáli. 5.1.5 Nástroj t1dotlessj Nástroj t1dotlessj slúži na vygenerovanie chýbajúceho znaku dotless-j (znaku j bez bodky, ktorý je v Unicode na pozícii 0237) pre Type 1 fonty. Základná syntax tohoto nástroja vyzerá nasledovne: text1dotlessj [options] input [output] 19

5. Tvorba podpory OpenType fontov do systému TEX Parameter input je vstupný súbor fontu a parameter output predstavuje výstupný súbor Type 1 fontu, ktorý v zásade bude obsahovať len 3 znaky (.notdef, space a dotlessj). Voľby options a podrobnejšie informácie je možné nájsť v príslušnom manuáli. 5.2 Tvorba podpory OpenType fontov pre systém TEX Táto podkapitola obsahuje všeobecne použiteľný návod pre vytvorenie podpory OpenType fontov do systému TEX. Väčšinu potrebných súborov je možné vytvoriť pomocou nástroja otftotfm. Skôr, ako tento nástroj použijeme, je potrebné zvoliť si systém pomenovania a kódovanie pre metriky TFM. 5.2.1 Voľba kódovania Na kódovaní, ktoré sa použije pri vytváraní podpory, závisí, aké znaky bude môcť systém TEX používať pri sadzbe dokumentov. Podpora fontov Střešovickej písmolijny od Petra Olšáka obsahuje pre každý font 3 metriky 2 základné a 1 rozširujúcu. Základné metriky používajú kódovanie IL2 a T1. Rozširujúca metrika používa extra kódovanie, ktoré vytvoril Olšák a obsiahol v ňom všetky znaky, ktoré sa nevyskytujú v prieniku kódovaní IL2 a T1, ale zároveň sú prítomné v Štormových fontoch [17]. Podpora pre Comenia fonty, ktorá vznikla v rámci tejto diplomovej práce, obsahuje metriky, ktoré sú vytvorené na základe kódovaní XL2 1 a T1. Tieto kódovania 2 poskytujú primeranú podporu pre znaky používané v našej oblasti, a to vrátane znakov s diakritikou. 5.2.2 Voľba systému pre pomenovanie metrík TFM Pretože metrické informácie je nutné vytvoriť pre každý rez fontu a všetky požadované kódovania, môže ich byť vo výsledku pre jednu písmovú rodinu pomerne dosť. Aby bolo možné sa vo vytvorených metrikách vyznať aj s odstupom času, je nutné použiť pri pomenovávaní jednotlivých súborov metrík nejaký systém. 1. Kódovanie XL2 je nadmnožinou kódovania IL2. 2. Použité kódovania boli v jednotkách prípadov upravené tak, aby zodpovedali použité názvy znakov tým, ktoré sú použité vo fontoch, napr. znak ligatúry /ff bol upravený na /f_f atď. Zoznam znakov vo fonte je možné získať nástrojom otfinfo s voľbou -g. 20

5. Tvorba podpory OpenType fontov do systému TEX Petr Olšák použil vo svojej podpore schému názvov Fontname [18] od Karla Berryho. V dobe vzniku tejto schémy bola dĺžka názvov súborov výrazne obmedzená možnosťami súborových systémov (napríklad FAT v MS-DOS povoľoval maximálne osem znakov pre názov súboru a tri znaky pre jeho príponu), informácie o fonte bolo preto potrebné vyjadriť pomerne stručným spôsobom. Schéma Fontname dovoľuje používať v názvoch súborov len písmená (a z) 3, čísla (0 9) a podčiarkovník (_). Symbolický tvar názvu metrického súboru vyzerá nasledovne 4 [18]: S TT W [V...] [N] [E] [DD], kde: S reprezentuje autora/dodávateľa fontu, TT reprezentuje písmovú rodinu fontu, W reprezentuje duktus/váhu fontu, V... reprezentuje varianty/tvary fontu, N reprezentuje kódovanie fontu, E reprezentuje šírku fontu, DD reprezentuje veľkosť fontu 5. Tento systém pomenovania metrík je použitý aj v balíčku podpory Comenia fontov, pričom boli použité tieto hodnoty atribútov: s ako Storm pre dodávateľa, cs pre rodinu Comenia Sans, cf pre rodinu Comenia Serif, sa pre rodinu Comenia Script A, sb pre rodinu Comenia Script B, so pre rodinu Comenia Script Pro (uvedené skratky sú tvorené prvým a posledným písmenom názvu jednotlivých rodín), r pre štandardný rez, b pre tučný rez, m pre polotučný rez, i pre kurzívy, c pre kapitálky, ic pre kapitálky kurzívy, 3. Veľkosť písmen sa nerozlišuje. 4. Medzery sú použité len za účelom zvýšenia čitateľnosti. 5. Pri vektorových fontoch nemá tento atribút zmysel, a preto sa neuvádza. 21

5. Tvorba podpory OpenType fontov do systému TEX 8t pre kódovanie T1, 8z pre kódovanie XL2, r pre štandardné písmo 6, c pre zúžené písmo. Hoci súčasné súborové systémy už podporujú dlhé názvy súborov, je vhodné držať sa uvedenej schémy, a to najmä v prípade, že plánujeme vytvoriť podporu aj pre makro OFS do systému plaintex 7. 5.2.3 Generovanie súborov podpory pomocou otftotfm Keď máme vybrané kódovanie a systém pomenovania pre budúcu podporu, môžeme pristúpiť k samotnému vygenerovaniu súborov. Napríklad pre font ComeniaSerif-Bold.otf a kódovanie T1 bola podpora vygenerovaná nasledujúcim príkazom: otftotfm ComeniaSerif-Bold.otf -e ec.enc -fkern \ -fliga --no-dotlessj --warn-missing scfb8t Na vygenerovanie podpory rezu pravých kapitálok pre rovnaký font bol použitý príkaz: otftotfm ComeniaSerif-Bold.otf -e ec.enc -fkern \ -fliga -fsmcp --no-dotlessj --warn-missing scfbc8t Pri generovaní podpory pre ostatné fonty a ich rezy boli použité obdobné príkazy. Počas generovania súborov sa môžeme stretnúť s rôznymi upozorneniami programu otftotfm, typicky s nasledujúcimi: warning: space has no encoding, ignoring {} Varovanie na chýbajúci znak space v kódovaní; tento znak však TEX nepoužíva, preto môžeme varovanie ignorovať. warning: 7 glyphs not found in font: dotlessj ff ffi ffl fi fl perthousandzero Varovanie s výpisom znakov, ktoré sú obsiahnuté v kódovaní, ale nenašli sa v samotnom fonte. Tento problém môže nastať v dvoch 6. Často sa vynecháva, aj v prípade podpory Comenia fontov. 7. Dôvodom je makro \fotenc, ktoré sa expanduje na skratku kódovania podľa schémy Fontname. Toto makro sa využíva v konfiguračných súboroch OFS v názve metrík. 22

5. Tvorba podpory OpenType fontov do systému TEX prípadoch znak skutočne vo fonte chýba, alebo je vo fonte obsiahnutý pod iným názvom. V druhom prípade je možné problém vyriešiť premenovaním daného znaku v použitom kódovaní (napríklad z ff na f_f). warning: kern feature ignored, not supported by font Toto varovanie nás upozorňuje na to, že font nepodporuje požadovanú vlastnosť, konkrétne v tomto prípade neobsahuje informácie o kerningových pároch. I had to round some heights by 11.0000000 units. Upozornenie na zaokrúhľovanie niektorých metrických informácií, zrejme z dôvodu, že TEX používa iné metrické jednotky ako fonty OpenType. Oveľa zaujímavejšie pre nás sú však súbory, ktoré nástroj otftotfm vygeneruje sú to súbory s nasledujúcimi koncovkami: enc kódovanie, ktoré je v podstate totožné s kódovaním, ktoré sme sami špecifikovali; jediným rozdielom je, že všetky chýbajúce znaky sú v ňom nahradené znakom.notdef, pfb kresby znakov v postscriptovom formáte; ak zdrojový Open- Type font obsahuje TrueType kresby znakov, vznikne tento súbor až po explicitnom uvedení voľby --type42; súbor PFB nevznikne, ak nástroj otftotfm zistí, že TEXová inštalácia ho už obsahuje; môžeme ho však vytvoriť ručne pomocou nástroja cfftot1, prípadne pomocou nástroja ttftotype42, tfm metrické informácie fontu; v prípade, že nástroj otftotfm vygeneruje pre daný font aj virtuálny font, automaticky preň vygeneruje aj zodpovedajúcu metriku; pôvodnú metriku je možné rozoznať podľa prípony --base v jej názve, vf virtuálny font, nástroj otftotfm ho používa na implementáciu niektorých vlastností fontu; iným prípadom je situácia, keď nástroj otftotfm vygeneruje pomocou nástroja t1dotlessj font s chýbajúcim znakom dotlessj, ktorý následne pomocou virtuálneho fontu vloží do pôvodného fontu; virtuálny font používa otftotfm aj na vykreslenie štvorčeka namiesto chýbajúcich znakov. 23

5. Tvorba podpory OpenType fontov do systému TEX 5.2.4 Tvorba mapovacieho súboru MAP Mapovacie súbory MAP slúžia pre DVI ovládače, ktoré sa z ich obsahu dozvedia všetky potrebné informácie pre korektné zavedenie použitých fontov v DVI súbore. Záznamy mapovacieho súboru môžu vyzerať napríklad takto: saar8t AntiqueAncienne "StormT1Encoding \ ReEncodeFont" <stormt1.enc <antiquea.pfb sbbr8tn Biblon "0.800 ExtendFont CorkEncoding \ ReEncodeFont" <ec.enc <biblon.pfb Na prvom mieste záznamu je uvedený názov súboru s metrikami, nasleduje úplný názov fontu, voliteľné lineárne transformácie, príkaz prekódovania, názov súboru kódovania a názov súboru s kresbami znakov. Záznamy mapovacieho súboru môžeme vytvárať ručne, avšak oveľa jednoduchšie bude, ak skopírujeme hotový záznam, ktorý vygeneruje nástroj otftotfm na poslednom riadku štandardného výstupu. Napríklad pre font Comenia Serif a kódovanie T1 vygeneruje otftotfm nasledujúci mapovací záznam 8 : scfr8t--base ComeniaSerif \ "AutoEnc_dn3myln6hzaya5l45doquex2fh \ ReEncodeFont" <a_dn3myl.enc <ComeniaSerif.pfb 5.2.5 Tvorba FD súborov Súbory FD (Font Definition) využíva L A TEXové makro NFSS 9, ktoré slúži na prepínanie medzi fontami pomocou piatich parametrov (kódovanie, rodina, duktus, variant a veľkosť). Väzby medzi týmito parametrami a súbormi metrík sú definované práve v súboroch FD. Nástroj otftotfm FD súbory nevygeneruje automaticky, a preto je potrebné vytvoriť ich ručne. Názvy týchto súborov sú pevne stanovené tvorí ich názov kódovania a TEXová skratka pre názov písmovej rodiny 10. Napríklad pre rodinu Comenia Serif a kódovanie T1 má FD súbor názov t1scf.fd a jeho obsah vyzerá približne takto: 8. Časť príkazu AutoEnc_... je názov kódovania, ktoré vytvoril nástroj otftotfm a ktoré sa použije na prekódovanie kódovania fontu. 9. Bližší popis makra NFSS je možné nájsť v sekcii 6.2.2. 10. TEXové skratky pre názvy rodín Comenia fontov sú popísané v sekcii 6.2.2 24

5. Tvorba podpory OpenType fontov do systému TEX \ProvidesFile{t1scf.fd}[2013/05/12] \typeout{comenia\space Serif} \typeout{created\space by\space T.\space Fabry.} \DeclareFontFamily{T1}{scf}{} \DeclareFontShape{T1}{scf}{m}{n} \ {<-> scfr8t}{} \DeclareFontShape{T1}{scf}{m}{sc} \ {<-> scfrc8t}{} \DeclareFontShape{T1}{scf}{m}{it} \ {<-> scfri8t}{} \DeclareFontShape{T1}{scf}{m}{ic} \ {<-> scfric8t}{} \DeclareFontShape{T1}{scf}{m}{sl} \ {<-> ssub * scf/m/it}{} \endinput. Príkaz \ProvidesFile v prvom riadku obsahuje vlastný názov súboru a voliteľne aj komentár. Príkaz \typeout slúži na výpis informácii na terminál. Ďalej nasledujú vlastné definície rezov rodiny scf. Príkaz \DeclareFontFamily definuje kódovanie fontov, názov ich rodiny a tiež príkazy, ktoré sa vykonajú pri zavedení akéhokoľvek fontu z tejto rodiny. [9] Príkaz \DeclareFontShape slúži na previazanie parametrov NFSS so súbormi metrík. Prvé tri príkazy v ukážke odkazujú priamo na metrické súbory, kým posledný príkaz odkazuje na metriky nepriamo pomocou substitúcie. Na konci súboru FD je použitý príkaz \endinput, ktorý uvedené definície uzatvára. 5.2.6 Tvorba súborov STY a TEX (pre OFS) Petr Olšák, v snahe vyriešiť problém s neintuitívnymi skratkami názvov metrík a rodín fontov, vytvoril makro OFS 11, ktoré umožňuje prepínanie medzi fontami pomocou ich názvov z písmového katalógu. 11. Bližší popis makra OFS je možné nájsť v sekcii 6.2.3. 25

5. Tvorba podpory OpenType fontov do systému TEX Z pohľadu používateľa poskytuje makro OFS rovnaké rozhranie v systéme L A TEX aj v systém plaintex. Avšak z pohľadu tvorby podpory je potrebné pre každý systém ručne vytvoriť samostatný definičný súbor. V systéme plaintex pracuje makro OFS priamo s metrickými súbormi. Využíva pritom súbor TEX, ktorý obsahuje väzby medzi katalógovými názvami fontov a názvami metrík [20]. Súbor scomenia.tex pre Comenia fonty vyzerá približne takto: \ifx \ofsdeclarefamily\undefined \input ofs \fi. \ofsdeclarefamily [ComeniaSerif] {% ComeniaSerif \loadtextfam () scfr\fotenc;% (Bold) scfb\fotenc;% (Italic) scfri\fotenc;% (BoldItalic) scfbi\fotenc;;% \newvariant0 \rmsc (Sc) scfrc\fotenc;;% \newvariant1 \bfsc (BfSc) scfbc\fotenc;;% \newvariant2 \rmitsc (ItSc) scfric\fotenc;;% \newvariant3 \bfitsc (BfItSc) scfric\fotenc;;% } \registerenc: 8z \registerenc: 8t \ofsdeclarefamily [ComeniaScriptA] {% ComeniaScriptA \loadtextfam scar\fotenc;% ;% ;% ;;% } \registerenc: 8z \registerenc: 8t. V prvom riadku je overenie zavedenia makra OFS ak makro nebolo zavedené, tak sa zavedie. Príkaz \ofsdeclarefamily slúži na deklaráciu novej písmovej rodiny, v jeho tele sa zavádzajú štyri základné rezy fontu (príkaz \loadtextfam) a deklarujú nové prepínače pre všetky ostatné varianty (príkaz \newvariant). Makro \fotenc v názve metrík expanduje na hodnotu podľa aktuálneho kódovania, pričom prípustné kódovania vymedzuje príkaz \registerenc. V zátvorkách sú uvedené názvy jednotlivých rezov, nemajú však žiadny funkčný význam, preto je 26

5. Tvorba podpory OpenType fontov do systému TEX možné ich vynechať. Čísla variantov slúžia makru OFS pri prechode na inú rodinu. Ak nová rodina obsahuje variant s rovnakým číslom, tak sa použije, v opačnom prípade sa použije predvolený variant \rm. Ďalšie informácie je možné nájsť v [20]. V systéme L A TEX je makro OFS v podstate len nadstavbou makra NFSS. K svojej práci využíva súbor STY, ktorý obsahuje väzby medzi katalógovými názvami fontov a prepínačmi NFSS [20]. Súbor scomenia.sty pre Comenia fonty vyzerá približne takto: \ifx\ofsprocessoptions\undefined \ProvidesPackage {scomenia} \RequirePackage {ofs} \fi. \OFSdeclarefamily [ComeniaSerif] {scf} \OFSnormalvariants \OFSputfamlist {, \string\rmsc, \string\bfsc, \ \string\rmitsc, \string\bfitsc} \OFSdeclarefamily [ComeniaScriptA] {sca} \OFSputfamlist {\string\rm, \space-, \ \space-, \space-}. \def\rmsc{\fontseries{m}\fontshape{sc}\selectfont} \def\rmitsc{\fontseries{m}\fontshape{ic}\selectfont} \def\bfsc{\fontseries{b}\fontshape{sc}\selectfont} \def\bfitsc{\fontseries{b}\fontshape{ic}\selectfont}. Test v prvých štyroch riadkoch má za úlohu vynechať L A TEXový príkaz \RequirePackage{ofs}, ak ho nie je treba. Obdobne ako v predošlom prípade, príkaz \OFSdeclarefamily slúži na deklaráciu novej písmovej rodiny, základné štyri rezy sa v jeho tele zavádzajú príkazom \OFSnormalvariants a zoznam nových prepínačov sa deklaruje príkazom \OFSputfamlist. Samotné prepínače je možné zadeklarovať pomocou príkazu \def. Podrobnosti je možné nájsť v [20]. 27

5. Tvorba podpory OpenType fontov do systému TEX Implementácia makra OFS pre Comenia fonty sa v jednotlivých formátoch TEXu mierne líši. Konkrétne v prípade rodiny Comenia Sans. Kým v L A TEXu sú všetky rezy tejto rodiny zaradené v rodine ComeniaSans, v plaintexu sú všetky zúžené rezy presunuté do novej, umelo vytvorenej, rodiny s názvom ComeniaSansCond. Táto nekompatibilita pramení z obmedzenia maximálneho počtu neštandardných rezov v deklaráciách písmových rodín pre plaintex na desať, pričom pre rodinu Comenia Sans je k dispozícii až 24 rôznych rezov. 5.2.7 Kompletizácia balíčka podpory Keď už máme k dispozícii všetky potrebné súbory, je vhodné umiestniť ich na správne miesto do adresárovej štruktúry v súlade s TDS, ktorá je popísaná v sekcii 4.5. Takto pripravenú podporu je nutné otestovať a zdokumentovať. Finálne dielo podľa zvyklostí skomprimujeme do jediného súboru, väčšinou s príponou zip. 28

6 Inštalácia a prístup k podpore Comenia fontov 6.1 Inštalácia podpory Comenia fontov Pretože Comenia fonty nie sú voľne šíriteľné, nemôžu byť ani súčasťou podpory, ktorá je v prílohe tejto práce. Z tohoto dôvodu je potrebné si požadované fonty pred inštaláciou najskôr zakúpiť. Ak už fonty vlastníme, tak sa môžeme pustiť do inštalácie podpory podľa nasledujúceho návodu, ktorý popisuje jednotlivé kroky inštalačného procesu: Rozbaliť súbor podpory comenia-support.zip do lokálneho adresáru <texmf>: v distribúcii TEX Live nájdeme tento adresár pomenovaný ako texmf-local, v distribúcii MiKTEX bude potrebné pravdepodobne tento adresár najprv vytvoriť. Skonvertovať súbory Comenia fontov z formátu OpenType do formátu Type 1 1, premenovať výsledné PFB súbory podľa ich postscriptového názvu 2 a takto pripravené fonty zaradiť do adresára <texmf>\fonts\opentype\storm\comenia. Aktualizovať vyhľadávaciu databázu súborov, aby sa programy dozvedeli o nových súboroch: v TEX Live použijeme príkaz mktexlsr, prípadne jeho alias texhash, v MikTEXu príkaz initexmf --update-fndb alebo GUI 3 nástroj Settings, v ktorom na záložke General klikneme na tlačidlo Refresh FNDB. Nakoniec je nutné oznámiť DVI ovládačom, že pribudli nové mapovacie súbory MAP: 1. Konverziu fontov môžeme vykonať pomocou nástroju cfftot1, ktorý je bližšie popísaný v sekcii 5.1.3. Licenčné podmienky konverziu za účelom ich použitia v iných prostrediach umožňujú. 2. Postscriptový názov OpenType fontu zistíme pomocou nástroja otfinfo s voľbou -p. 3. GUI (Graphical User Interface) = grafické používateľské rozhranie. 29