Staroffice 5.2, TrueType fonty a čeština


(verze 0.02, 12.října 2000. Dokument byl vytvořen pomocí StarOffice 5.2)


Jan Kučera


Výcuc


V tomto dokumentu popisuji, jak jsem získal a upravoval TrueType fonty pro Staroffice 5.2 a jak jsem posléze konfiguroval Staroffice pro jejich použití. Nevyhýbám se ani problémům. Výsledkem je fungující balík převedených Postscriptových fontů v kódování iso8859-1 a iso8859-2, umožňující uživatelům Staroffice plnohodnotnou práci v češtině i v západoevropských jazycích v rámci jednoho dokumentu.


Co potřebujeme?


  1. Napřed potřebujeme nějaké TrueTypové fonty. Já jsem většinu fontů (vlastně všechny kvalitní běžně potřebné, jež pocházejí od Microsoftu) stáhl z adresy http://www.microsoft.com/typography/fontpack/. Stahněte 32-bitovou verzi fontů, jelikož je v Unicode a obsahuje podporu všemožných jazyků.

  2. Dále potřebujeme debianovský balík xfstt a návod TT-Debian (True Type Fonts in Debian mini-HOWTO).

  3. Ke konverzi potřebujeme ttf2pt1-321.tgz.


Instalace TTF serveru


Nainstalujeme balíky xfs a xfstt, provedeme konfiguraci podle TT-Debian, v /etc/init.d/xfstt změníme položku ARGS na


ARGS="--port $portno $daemon

--encoding iso8859-1,iso8859-2,windows-1250,symbol-0

--user $newuser"


(vše na jedné řádce, mezi názvy jednotlivých kódování musí být 1 čárka a 0 mezer).


Instalace TTF fontů


Fonty jsem přenesl na počítač s Windows-95, rozbalil pomocí tam přítomného WinZipu a soubory s příponami .ttf, resp. .TTF překopíroval na linuxový počítač do adresáře /usr/share/fonts/truetype/. Kdo nemá počítač s Windows, může klidně nainstalovat Wine a funguje to taky (při defaultním nastavení jako v Debianu jsou pak soubory TTF v adresáři /tmp). Obsah adresáře /usr/share/fonts/truetype/ je u mně následující:


celkem 7623

-r--r--r-- 1 root root 105468 zář 21 22:27 AndaleMo.TTF

-r--r--r-- 1 root root 117028 zář 21 22:27 AriBlk.TTF

-r--r--r-- 1 root root 275572 zář 21 22:27 Arial.TTF

-r--r--r-- 1 root root 286620 zář 21 22:27 Arialbd.TTF

-r--r--r-- 1 root root 224692 zář 21 22:27 Arialbi.TTF

-r--r--r-- 1 root root 206132 zář 21 22:27 Ariali.TTF

-r--r--r-- 1 root root 123976 zář 21 22:27 Arialn.ttf

-r--r--r-- 1 root root 127720 zář 21 22:27 Arialnb.ttf

-r--r--r-- 1 root root 126980 zář 21 22:27 Arialnbi.ttf

-r--r--r-- 1 root root 130180 zář 21 22:27 Arialni.ttf

-r--r--r-- 1 root root 150412 zář 21 22:27 Bookos.ttf

-r--r--r-- 1 root root 150900 zář 21 22:27 Bookosbi.ttf

-r--r--r-- 1 root root 149704 zář 21 22:27 Bookosi.ttf

-r--r--r-- 1 root root 126364 zář 21 22:27 Comic.TTF

-r--r--r-- 1 root root 111476 zář 21 22:27 Comicbd.TTF

-r--r--r-- 1 root root 185680 zář 21 22:27 Gara.ttf

-r--r--r-- 1 root root 186744 zář 21 22:27 Garabd.ttf

-r--r--r-- 1 root root 176916 zář 21 22:27 Garait.ttf

-r--r--r-- 1 root root 142964 zář 21 22:27 Georgia.TTF

-r--r--r-- 1 root root 139584 zář 21 22:27 Georgiab.TTF

-r--r--r-- 1 root root 156668 zář 21 22:27 Georgiai.TTF

-r--r--r-- 1 root root 158796 zář 21 22:27 Georgiaz.TTF

-r--r--r-- 1 root root 136076 zář 21 22:27 Impact.TTF

-r--r--r-- 1 root root 115068 zář 21 22:27 LUCON.TTF

-r--r--r-- 1 root root 17412 zář 21 22:27 MARLETT.TTF

-r--r--r-- 1 root root 7656 zář 21 22:27 Mtextra.ttf

-r--r--r-- 1 root root 76920 zář 21 22:27 Mtsorts.ttf

-r--r--r-- 1 root root 69464 zář 21 22:27 SYMBOL.TTF

-r--r--r-- 1 root root 249012 zář 21 22:27 TAHOMA.TTF

-r--r--r-- 1 root root 243684 zář 21 22:27 TAHOMABD.TTF

-r--r--r-- 1 root root 330412 zář 21 22:27 Times.TTF

-r--r--r-- 1 root root 333900 zář 21 22:27 Timesbd.TTF

-r--r--r-- 1 root root 238612 zář 21 22:27 Timesbi.TTF

-r--r--r-- 1 root root 247092 zář 21 22:27 Timesi.TTF

-r--r--r-- 1 root root 65100 zář 21 22:27 Trebuc.TTF

-r--r--r-- 1 root root 65300 zář 21 22:27 Trebucbd.TTF

-r--r--r-- 1 root root 65296 zář 21 22:27 Trebucbi.TTF

-r--r--r-- 1 root root 71320 zář 21 22:27 Trebucit.TTF

-r--r--r-- 1 root root 139640 zář 21 22:27 Verdana.TTF

-r--r--r-- 1 root root 136032 zář 21 22:27 Verdanab.TTF

-r--r--r-- 1 root root 154264 zář 21 22:27 Verdanai.TTF

-r--r--r-- 1 root root 153324 zář 21 22:27 Verdanaz.TTF

-r--r--r-- 1 root root 143368 zář 21 22:27 bookosb.ttf

-r--r--r-- 1 root root 302688 zář 21 22:27 cour.ttf

-r--r--r-- 1 root root 311508 zář 21 22:27 courbd.ttf

-r--r--r-- 1 root root 234788 zář 21 22:27 courbi.ttf

-r--r--r-- 1 root root 244156 zář 21 22:27 couri.ttf

-r--r--r-- 1 root root 7360 zář 21 22:27 mapsym.ttf



Konverze z TrueType do Type 1


TTF fonty jsem zkonvertoval pomocí výše zmíněného programu ttf2pt1 do formátu pfa (PostScript Font Ascii) v kódováních iso-8859-1 a iso-8859-2 (stojí za to, přečíst si dokumentaci tohoto programu).


Fonty, vytvořené výše zmíněným postupem, fungují velmi dobře s ghostscriptem, ale vložím-li je do postscriptového souboru, který pak pošlu na postscriptovou tiskárnu, soubor se nevytiskne. Metodou pokusu a omylu se ukázalo, že odebere-li se ze zašifrované části příslušného fontu ve formátu pfa posledních 24 znaků před 512 nulami, jimiž je tato část souboru dle standardu Adobe Type 1 vždy zakončena, fonty fungují nejen v ghostscriptu, ale i na postscriptových tiskárnách HP s emulátorem PostScriptu 2 (při porovnání disassemblovaných fontů jsem zjistil, že zašifrované programy jsou bez oněch posledních 24 znaků obsahově stejné jako s nimi, ale mají jednodušší textový formát bez tabelátorů apod).


Zpřístupnění fontů pro StarOffice


Takto vytvořené fonty *.pfa jsem zkopíroval do adresáře


$OFFICE_HOME/share/xp3/pssoftfonts/


a jim příslušné metrické soubory *.afm do adresáře


$OFFICE_HOME/share/xp3/fontmetrics/afm/


Takto vytvořené fonty nejsou (vzhledem ke své relativní složitosti dané tím, že vznikly převodem mezi dvěma zcela odlišně matematicky definovanými formáty) příliš vhodné pro použití v X-windows, ale hodí se k velmi kvalitnímu tisku na postscriptové tiskárně. Strategie tedy byla používat těchto fontů k náhradě TrueTypových fontů při tisku. K tomu stačilo přidat do souboru


$OFFICE_HOME/share/xp3/psstd.fonts


odpovídajicí položky pro jednotlivé řezy všech písem.


Postup ukážeme na písmu Verdana. Příkaz

ls -l $OFFICE_HOME/share/xp3/pssoftfonts/verdana*

poskytne výstup

-rw-rw-r-- 1 root root 58474 zář 27 18:47 verdana.iso8859-1.pfa

-rw-rw-r-- 1 root root 52954 zář 27 18:42 verdana.iso8859-2.pfa

-rw-rw-r-- 1 root root 60241 zář 27 18:49 verdanab.iso8859-1.pfa

-rw-rw-r-- 1 root root 54195 zář 27 18:43 verdanab.iso8859-2.pfa

-rw-rw-r-- 1 root root 61689 zář 27 18:52 verdanai.iso8859-1.pfa

-rw-rw-r-- 1 root root 55933 zář 27 18:46 verdanai.iso8859-2.pfa

-rw-rw-r-- 1 root root 62915 zář 27 18:50 verdanaz.iso8859-1.pfa

-rw-rw-r-- 1 root root 57147 zář 27 18:44 verdanaz.iso8859-2.pfa


Po zadání

ls -l $OFFICE_HOME/share/xp3/fontmetrics/afm/verdana*

dostaneme

-rw-rw-r-- 1 root root 20986 zář 27 15:45 verdana.iso8859-1.afm

-rw-rw-r-- 1 root root 16311 zář 27 15:43 verdana.iso8859-2.afm

-rw-rw-r-- 1 root root 12312 zář 27 15:45 verdanab.iso8859-1.afm

-rw-rw-r-- 1 root root 12199 zář 27 15:43 verdanab.iso8859-2.afm

-rw-rw-r-- 1 root root 12356 zář 27 15:45 verdanai.iso8859-1.afm

-rw-rw-r-- 1 root root 12229 zář 27 15:43 verdanai.iso8859-2.afm

-rw-rw-r-- 1 root root 12376 zář 27 15:45 verdanaz.iso8859-1.afm

-rw-rw-r-- 1 root root 12254 zář 27 15:43 verdanaz.iso8859-2.afm


Příkazem

xlsfonts | grep verdana

dostaneme

-ttf-verdana-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1

-ttf-verdana-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-2

-ttf-verdana-bold-i-normal-bold italic-0-0-0-0-p-0-symbol-0

-ttf-verdana-bold-i-normal-bold italic-0-0-0-0-p-0-windows-1250

-ttf-verdana-bold-r-normal-bold-0-0-0-0-p-0-iso8859-1

-ttf-verdana-bold-r-normal-bold-0-0-0-0-p-0-iso8859-2

-ttf-verdana-bold-r-normal-bold-0-0-0-0-p-0-symbol-0

-ttf-verdana-bold-r-normal-bold-0-0-0-0-p-0-windows-1250

-ttf-verdana-medium-i-normal-italic-0-0-0-0-p-0-iso8859-1

-ttf-verdana-medium-i-normal-italic-0-0-0-0-p-0-iso8859-2

-ttf-verdana-medium-i-normal-italic-0-0-0-0-p-0-symbol-0

-ttf-verdana-medium-i-normal-italic-0-0-0-0-p-0-windows-1250

-ttf-verdana-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1

-ttf-verdana-medium-r-normal-regular-0-0-0-0-p-0-iso8859-2

-ttf-verdana-medium-r-normal-regular-0-0-0-0-p-0-symbol-0

-ttf-verdana-medium-r-normal-regular-0-0-0-0-p-0-windows-1250


(to, že jsme pomocí xfstt exportovali fonty i v kódování win1250, s souvisí s jejich použitím v Netscape; přítomnost fontů v "kódování" symbol-0 je dána nepříliš podrobnými možnostmi ovládání xfstt a budeme ji ignorovat).


Příslušné položky v souboru $OFFICE_HOME/share/xp3/psstd.fonts pak budou vypadat následovně:


verdanaz.iso8859-1, -ttf-verdana-bold-i-normal-bold italic-%d-%d-%d-%d-p-0-iso8859-1

verdanaz.iso8859-2, -ttf-verdana-bold-i-normal-bold italic-%d-%d-%d-%d-p-0-iso8859-2

verdanab.iso8859-1, -ttf-verdana-bold-r-normal-bold-%d-%d-%d-%d-p-0-iso8859-1

verdanab.iso8859-2, -ttf-verdana-bold-r-normal-bold-%d-%d-%d-%d-p-0-iso8859-2

verdanai.iso8859-1, -ttf-verdana-medium-i-normal-italic-%d-%d-%d-%d-p-0-iso8859-1

verdanai.iso8859-2, -ttf-verdana-medium-i-normal-italic-%d-%d-%d-%d-p-0-iso8859-2

verdana.iso8859-1, -ttf-verdana-medium-r-normal-regular-%d-%d-%d-%d-p-0-iso8859-1

verdana.iso8859-2, -ttf-verdana-medium-r-normal-regular-%d-%d-%d-%d-p-0-iso8859-2


(tj. čtyři nuly v popisu parametrů fontu jsme nahradili pomocí %d).

Fonty URW++/SuSe


Naneštěstí se ukázalo, že automaticky generované metriky v konvertovaných fontech nejsou zejména u některých písem (Times) příliš dobré. V poslední době však dala firma URW++ zdarma ve spolupráci se SuSe CZ k disposici své profesionální Type-1 fonty i v kódování iso-8859-2. Zatímco fonty v kódování iso-8859-1 jsou již delší dobu součástí standardní distribuce ghostscriptu a v Debianu je najdete v adresáři /usr/lib/ghostscript/fonts, jejich ekvivalenty v českém kódování zatím nejsou součástí standardní distribuce, ale je třeba je stahnout z adresy http://www.suse.cz/cz/download/ (přebalené pro Debian jsou k disposici na http://www.penguin.cz/~michlv/software/type1-fonts). Tyto fonty (podobně jako běžné MS-TrueTypové fonty Arial, Bookman Old Style, Courier New, Times New Roman) byly vytvořeny s cílem nahradit standardní postscriptové fonty firmy Adobe. Stačí tedy zkopírovat jejich pfb soubory do adresáře $OFFICE_HOME/share/xp3/pssoftfonts/, jejich metriky afm do adresáře $OFFICE_HOME/share/xp3/fontmetrics/afm/ a doplnit příslušné položky do $OFFICE_HOME/share/xp3/psstd.fonts. Výsledkem mého snažení je soubor psstd.fonts (laskavý čtenář zde bohužel nenalzezne žádná písma, jelikož licence MicroSoftu bohužel veřejné šíření odvozenin původních TrueTypových fontů neumožňuje; případní zájemci z řad fyzikálního ústavu nechť se na mne proto obrátí osobně).


Závěrem


Popsané úpravy umožňují českému uživateli příjemnou práci se StarOfficem 5.2 a kvalitní tisk dokumentů na postscriptových tiskárnách. Bohužel při importu dokumentů z Wordu a z Excellu dochází k mírnému přeformátování - zatím neumím říci, zda je to díky odlišnostem v informacích o metrických vlastnostech původních TrueTypových fontů a jejich náhrad Type-1 fonty nebo prostě díky odlišným nastavením ve Staroffice od nastavení v MS-Office. Snad později, budu-li mít čas.

Je mi jasné, že řadu věcí lze udělat elegantněji, např. fonty i metriky pouze přilinkovat z adresáře /usr/lib/ghostscript/fonts či odjinud, vzhledem k tomu, že u námi používaných počítačů dochází k častým rekonfiguracím a k momentálnímu dostatku diskového prostoru jsem zvolil méně úsporné řešení.


Zdroje na WEBu



Literatura





StarOffice na našich PC Odskok na hlavní stránku.