SuSE Linux: Od verze 7.0
StarOffice 5.2
, která je součástí
SuSE Linuxu 7.0 a rádi byste četli a tiskli, mimo jiné, i .doc
soubory a tabulky.
Počeštění sestává z několika kroků, tím prvním je instalace českých fontů do prostředí X Window System.
Nejprve budeme potřebovat nějaké české škálovatelné fonty. Type1 fonty v kódování ISO-8859-2 jsou k dispozici například na http://www.suse.cz/cz/download, sice zatím jen ve formě RPM balíku, ale i z něj je lze vyextrahovat a použít třeba v GNU/Debian Linuxu.
Předpokládejme, že fonty nainstalujeme do adresáře
/usr/X11R6/lib/X11/fonts/latin2/Type1
. K tomu budeme s největší
pravděpodobností potřebovat rootovská práva. Pokud použijeme výše uvedené
fonty, měli bychom mít po rozbalení RPM balíku v adresáři 102 souborů, od
každého řezu písma tři, plus tři další soubory fonts.alias
,
fonts.dir
a fonts.scale
. Například řez URW Gothic L
EE Book je definovaný v souborech ae10013l.afm.gz
,
ae10013l.pfb
, ae10013l.pfm.gz
.
Politikou SuSE je dodávat soubory metrik komprimované, ale v tomhle případě je to spíš na obtíž. Takže je ještě rozzipuje:
root@manikin:/usr/X11R6/lib/X11/fonts/latin2/Type1 > gunzip *.gz2. V konfiguračním souboru
XF86Config
upravíme sekci Files tak,
aby XFree86 věděl o našich nových fontech:
Section "Files" . . . # Přidat tuto řádku: FontPath "/usr/X11R6/lib/X11/fonts/latin2/Type1" . . .3. Po restartu X Window System by fonty měly být k dispozici. V KDE můžete spustit třeba
kfontmanager
, ve kterém by se měly zobrazit se
správnou diakritikou pod jmény bookman l ee, century schoolbook l ee, chancery
l ee, gothic l ee, nimbus mono l ee, nimbus roman no9 l ee, nimbus sans l ee a
palladio l ee. Pokud je vše v pořádku, přikročíme k další části. Jinak projděte
předchozí kroky ještě jednou a přesvědčte se, že cesty jsou správně zadané a že
práva adresářů a souborů dovolují čtení všem uživatelům.
Pokračujte tlačítkem Next až na obrazovku Select Installation Type, kde vyberte `Standard Workstation Installation'. Druhá volba nemá v tomto případě smysl, protože by vlastně zdvojila instalaci StarOffice na vašem počítači.
Po stisku tlačítka Next instalační program vytvoří adresář office52 v uživatelově domovském adresáři - v tomto případě v adresáři uživatele root. Instalaci lze dokončit tlačítkem Complete.
Volitelně, pokud je na počítači více prostředí pro jazyk Java, zeptá se instalátor, kterou verzi použít. Podporu Javy lze i úplně vypnout.
Po instalaci spusťte StarOffice, stále jako root, znovu příkazem:
root@manikin:/root > /opt/office52/program/sofficeNa desktopu zvolte Printer Setup a klepněte na tlačítko Add Fonts... a v dialogu Font Path tlačítko Initialize Paths. Okno se naplní cestami načtenými z
XF86Config
. Smažte všechny až na
/usr/X11R6/lib/X11/fonts/Type1
a stiskněte OK. Objeví se okénko se
jmény fontů, která už známe z programu kfontmanager
. Stiskněte OK.
V novém okně pak stiskněte tlačítko Convert Metric File..., vyberte All fonts a
stiskněte OK a nakonec Close a ještě jednou Close.
Tím je instalace fontů hotová. Nedoporučujeme měnit typ tiskárny. Ve StarOffice byste měli používat Default printer a případné úpravy tiskového jazyka dělat až na nižší úrovni - viz dále.
Ukončete Printer Setup a spusťte StarWriter.
Ve StarWriteru zvolte některé z písem s koncovkou EE a zkuste napsat text
obsahující české znaky. Pak zadejte povel k tisku do souboru (menu
File-Print-Print to file) a jako jméno souboru zadejte test.ps
ve
vašem domácím adresáři.
Máte-li nainstalované programy Ghostscript a Ghostview, můžete výstup zkontrolovat na obrazovce. V terminálu v domácím adresáři zadejte:
gv test.psMěla by se vám zobrazit stránka ze StarWriteru. Pokud jsou české znaky špatně, podívejte se, jestli skutečně bylo použito jedno z výše uvedených písem. Je-li vše v pořádku, máte další část za sebou.
Problém mnoha uživatelů tkví právě v instalaci fontů do StarOffice. Špatná instalace se projeví mimo jiné tím, že fonty jsou viditelné v StarCalcu ale ne ve StarWriteru. StarOffice totiž ve StarCalcu umožní psát libovolným fontem instalovaným na počítači, tedy i tím, který není nainstalovaný ve StarOffice, a pro tisk případně použije jiný. Ve StarWriteru se takový font nenabídne.
Každé Adobe Postscript L2 kompatibilní zařízení obsahuje zabudovanou sadu fontů. Vynecháme-li písma obsahující grafické symboly, jsou to Times, Bookman, Avant Garde, Charter, Courier, Helvetica, New Century Schoolbook a Palatino. V novějších postscriptových procesorech tyto fonty obsahují i české znaky. Proč je tedy nevyužít?
Stačí jen v souboru /opt/office52/share/xp3/psstd.fonts
ke
každé řádce jako:
Times-Roman, -adobe-times-medium-r-normal--%d-%d-%d-%d-p-0-iso8859-1přidat další řádku:
Times-Roman, -adobe-times-medium-r-normal--%d-%d-%d-%d-p-0-iso8859-2Některé znaky ale mají špatné metriky a při tisku lezou přes sebe. Na tom ještě pracujeme.
V této sekci provedeme závěrečné úpravy, které sice nepatří mezi nejčistější, ale docela nám usnadní život.
První je nadefinování písem Arial, Times New Roman a Courier New, tedy základní sady písem dostupné na platformě MS Windows. Tato písma nelze instalovat tak, jako jsme to udělali v předchozím případě, protože nejsou v postscriptovém formátu Type1 a také proto, že jejich distribuce přináší jisté licenční potíže. Problém první lze vyřešit instalací truetypového fontserveru a poskytnutím truetypových písem Linuxu. My se však vydáme cestou, která nám poskytne nezávislost na truetypech.
Sada fontů, která byla uvedena na začátku, je sestavena tak, že odpovídá písmům definovaným standardem Adobe Postscript L2. Vzhledem k tomu, že třeba písmo MS Arial vzniklo za stejným účelem jako Nimbus Sans, tedy jako náhrada písma Adobe Helvetica, lze říci, že jsou si navzájem velice podobná. To samé platí o písmech Courier New a Nimbus Mono a Times New Roman a Nimbus Roman No9. Písma nejsou úplně stejná, ale jsou si velmi podobná. A protože naše hlavní potřeba je dokázat načíst a vytisknout dokument z MS Windows se správnou diakritikou, nastavíme StarOffice tak, že bude místo písma Arial používat Nimbus Sans.
A jak to tedy provedeme?
Postup si předvedeme na písmu Arial. Pro ostatní fonty je odpovídající. Jak jsme si řekli, Arialu je podobný Nimbus Sans. Arial má čtyři řezy:
Arial-Bold Arial-BoldItalic Arial-Italic Arial-MediumTomu odpovídají řezy písma Nimbus Sans (uvádím i soubory, ve kterých jsou definované):
NimbusSanLEE-Bold (ne19004l.afm) NimbusSanLEE-BoldItal (ne19024l.afm) NimbusSanLEE-ReguItal (ne19023l.afm) NimbusSanLEE-Regu (ne19003l.afm)V adresáři
/opt/office52/share/xp3/fontmetrics/afm
musíme pro
"pseudoarial" ručně vytvořit metriky. Vyjdeme přitom ze stávajících souborů pro
Nimbus Sans:
root@manikin:/opt/office52/share/xp3/fontmetrics/afm > cp ne19004l.afm \ ariab___.afm root@manikin:/opt/office52/share/xp3/fontmetrics/afm > cp ne19024l.afm \ ariabi__.afm root@manikin:/opt/office52/share/xp3/fontmetrics/afm > cp ne19023l.afm \ ariai___.afm root@manikin:/opt/office52/share/xp3/fontmetrics/afm > cp ne19003l.afm \ ariam___.afmOtevřeme si
ariab___.afm
v editoru a nahradíme v hlavičče řádky:
FontName NimbusSanLEE-Bold FullName Nimbus Sans L EE Bold FamilyName Nimbus Sans L EEza:
FontName Arial-Bold FullName Arial-Bold FamilyName ArialPodobně pak postupujeme pro NimbusSanLEE-BoldItal (Arial-BoldItalic), NimbusSanLEE-ReguItal (Arial-Italic) a NimbusSanLEE-Regu (Arial-Medium).
Pak v adresáři /opt/office52/share/xp3/pssoftfonts
vytvoříme
odkazy:
root@manikin:/opt/office52/share/xp3/pssoftfonts > ln -s \ /usr/X11R6/lib/X11/fonts/latin2/Type1/ne19004l.pfb ariab___.pfb root@manikin:/opt/office52/share/xp3/pssoftfonts > ln -s \ /usr/X11R6/lib/X11/fonts/latin2/Type1/ne19024l.pfb ariabi__.pfb root@manikin:/opt/office52/share/xp3/pssoftfonts > ln -s \ /usr/X11R6/lib/X11/fonts/latin2/Type1/ne19023l.pfb ariai___.pfb root@manikin:/opt/office52/share/xp3/pssoftfonts > ln -s \ /usr/X11R6/lib/X11/fonts/latin2/Type1/ne19003l.pfb ariam___.pfbA na závěr ještě na konec souboru
/opt/office52/share/xp3/psstd.fonts
přidáme řádky:
# Aliases for some of URW++ fonts ariab___, -ms-Arial-bold-r-normal--%d-%d-%d-%d-p-0-adobe-fontspecific ariabi__, -ms-Arial-bold-i-normal--%d-%d-%d-%d-p-0-adobe-fontspecific ariai___, -ms-Arial-medium-i-normal--%d-%d-%d-%d-p-0-adobe-fontspecific ariam___, -ms-Arial-medium-r-normal--%d-%d-%d-%d-p-0-adobe-fontspecificSpusťte StarOffice a vyzkoušejte, jestli ve StarWriteru máte v nabídce písem Arial. Jestli ano, zkuste něco napsat. Pokud o řádku níž napíšete stejný text písmem Nimbus Sans, zjistíte, že jsou úplně stejná. Tak je to správně, náš Arial je ve skutečnosti jen obraz písma Nimbus Sans. Celý tento složitý proces jsme dělali proto, aby se při otevírání dokumentu z MS Windows správně namapovala písma.
Ještě stále ale nejsme u konce. Arial se nám sice správně zobrazuje, ale při tisku bychom byli nemile překvapeni. Místo českých znaků by se na papíře objevily paznaky. To je důledek našeho mapování písem. Problém vyřešíme tak, že na konec tiskové fronty zařadíme filtr, který vše opraví. Filtr vypadá následovně:
#!/usr/bin/perl -w # This script translates all occurences of names of # basic MS Windows fonts Arial, TimesNew Roman and Courier # in postscript output with their workalikes provided by URW++. # The point of this translation is to allow users to use # the same font names in StarOffice under Windows and Linux. # Also, when document comes from MS Windows, there is high # probability, it'll contain some of these fonts. If yes, # we map those correctly. # This script should be used as a printer filter, like # default_queue=sofc | lpr # in ~/.Xpdefaults # Author: Radim Gelner <gelnerr@suse.cz> package main; use locale; use strict; # order of strings in @fontnames matters! # otherwise Arial-Bold may be found before Arial-BoldItalic # in Arial-BoldIntalic string... my @fontnames = ( [ "Arial-BoldItalic", "NimbusSanLEE-BoldItal" ], [ "Arial-Bold", "NimbusSanLEE-Bold" ], [ "Arial-Italic", "NimbusSanLEE-ReguItal" ], [ "Arial-Medium", "NimbusSanLEE-Regu" ], [ "CourierNew-BoldItalic", "NimbusMonLEE-BoldObli" ], [ "CourierNew-Bold", "NimbusMonLEE-Bold" ], [ "CourierNew-Italic", "NimbusMonLEE-ReguObli" ], [ "CourierNew-Medium", "NimbusMonLEE-Regu" ], [ "TimesNewRoman-BoldItalic", "NimbusRomNo9LEE-MediItal" ], [ "TimesNewRoman-Bold", "NimbusRomNo9LEE-Medi" ], [ "TimesNewRoman-Italic", "NimbusRomNo9LEE-ReguItal" ], [ "TimesNewRoman-Medium", "NimbusRomNo9LEE-Regu" ] ); while ( <> ) { for ( my $i=0; $i<=$#fontnames; $i++ ) { s/$fontnames[$i][0]/$fontnames[$i][1]/g; } print "$_" } #---------------------------------------------------------------------Uložíme ho například pod jménem
sofc
do adresáře
/usr/bin
a nastavíme mu příznak spuštění.
Ještě změníme soubor /opt/office52/share/xp3/Xpdefaults
tak, že
místo řádky:
default_queue=lpruvedeme:
default_queue=sofc | lprTeď se Arial bude i správně tisknout. Pokud byste si chtěli soubor prohlédnout přes Ghostview, jako jsme to dělali předtím, nezapomeňte, že tisk do souboru výstupní filtr nepoužívá. Proto, máte-li výstup v souboru
test.ps
,
je ještě třeba udělat:
sofc < test.ps > test2.psa pak teprve:
gv test2.ps
Protože tato část vznikala původně pro uživatele SuSE Linuxu, budou v něm zmíněny nástroje, které jsou specifické pro tuto distribuci.
1. Tiskárnu je třeba nejprve instalovat v konfiguračním programu YaST. V něm lze vybrat typ tiskárny, rozměr papíru, atd.
YaST vás bude informovat, že vytvořil nové tiskové fronty. Například při konfiguraci tiskárny HP-DJ 550 obdržíte hlášení:
INFORMACE Konfigurace apsfiltru byla úspěšná! Následující tiskárny byly vytvořeny na vašem systému: ### cdj550 a4 mono 300 ### ascii|lp1|cdj550-a4-ascii-mono-300|cdj550 a4 ascii mono 300 lp|lp2|cdj550-a4-auto-mono-300|cdj550 a4 auto mono 300 raw|lp3|cdj550-a4-raw|cdj550 a4 raw2. Ve StarOffice v programu Printer Setup vyberte tiskárnu Generic Printer na Default queue.
3. Ve StarWriteru zvolte písmo obsahující české znaky, např. Arial, Times New Roman, Courier New nebo některé z písem s koncovkou EE. Pak zkuste napsat nějaký text obsahující české znaky. Pokud se vám české znaky nezobrazují na obrazovce, zkuste jiné písmo.
Pak zadejte povel k tisku do souboru (menu File-Print-Print to file) a jako
jméno souboru zadejte test.ps
ve vašem domácím adresáři.
4. Z terminálu v domácím adresáři zadejte:
sofc < test.ps > test2.psA potom:
gv test2.psMěl by se vám zobrazit postscriptový výstup ze StarWriteru. Pokud se neobjeví české znaky, podívejte se, jestli skutečně bylo použito jedno z výše uvedených písem.
5. Jestli je vše v pořádku, zkuste v terminálu zadat:
lpr test2.psA výstup by měl vyjet z tiskárny. Pokud ne, je tiskárna chybně nastavená. Podívejte se znovu do konfiguračního programu YaST.
Všechny výše uvedené postupy jsou součástí počešťujících balíčků pro
StarOffice 5.1 a 5.2, které jsou k dispozici na
http://www.suse.cz/cz/download.
Uživatelům SuSE Linuxu je stačí jen doinstalovat k balíku StarOffice. Bližší
informace jsou uvedeny v souboru README
.
SDB-rg_staroffice_cz
)