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?
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ů.
Dále potřebujeme debianovský balík xfstt a návod TT-Debian (True Type Fonts in Debian mini-HOWTO).
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
http://www.suse.cz/cz/download/ "počeštěné" fonty URW++ ke stažení, informace o počešťování StarOffice.
http://www.penguin.cz/~michlv/software/type1-fonts výše uvedené fonty URW++ přebalené do ".deb"
http://www.linux.cz/linuxdoc/HOWTO/mini/TT-Debian.html TrueType Fonts in Debian mini-HOWTO.
http://pegasus.rutgers.edu/~elflord/font_howto/ Linux Font HOWTO.
http://www.microsoft.com/typography/fontpack/ TrueType fonty ke stažení.
http://ttf2pt1.sourceforge.net/download.html Program ke konverzi z True Type do Type 1. Použil jsem verzi ttf2pt1-321.tgz.
http://home.sprynet.com/~kleinjb/so51a_ttf.html Jeden z mnoha návodů na síti.
http://www.root.cz/clanek.phtml?id=480 Staroffice vs. nabodeníčka, sága pokračuje. Návod, jak počeštit StarOffice 5.2 bez použití TrueType fontů.
Literatura
Thomas Merz: TerminalBuch PostScript, Fonts und Programmiertechnik, München Wien 1991.