OpenOfficeCZ a české písmo
Pavel Janík
Pavel na Janik.cz
Pátek Červenec 12 10:51:19 CEST 2002
From: Radim Roženek <radim.rozenek na osu.cz>
Date: Fri, 12 Jul 2002 09:04:01 +0200
Zdravím,
> Neni to do oci bijici, ale je to viditelne, zajimalo by me, jestli je
> to problem jen u me, nebo u vsech. Je to jen u pisem s diakritikou.
je to drobný problém OOo způsobený "latin-1-is-everything" myšlením
vývojářů ;-). Na konci tohoto dopisu nastíním i řešení.
Zkuste si napsat do prázdného dokumentu jenom písmena eě např. fontem
Arial. Vytiskněte do souboru a podívejte se na výsledný
PostScript... Pochopíte, proč je tam rozdíl. Uvidíte tam něco jako:
/CharProcs 2 dict def
CharProcs begin
/.notdef {} def
/glyph0 {
556 0 36 -11 514 719 setcachedevice <<<<<<<<<<<<
[...]
fill <<<<<<<<<<<<
} bind def
end
[...]
Zkuste si spustit gs a na jeho prompt poslat vše mezi označenými řádkami
(včetně)...
OOo si prostě to písmenko namaluje sám a nepoužije k tomu ve výsledném
PostScriptu definici původního písma, kterým ale písmeno e opravdu
napíše. No a tady je kámen úrazu. Při generování definice znaků
s diakritikou je vlastně použito jiné definice písma než pro písmena, která
jsou obsažená v PS RIPu. Ve výsledném PostScriptu to tedy vypadá tak, že
písmeno e je napsáno klasickou Helveticou, která je vestavěná v RIPu,
zatímco písmeno ě je vygenerováno z opravdového fontu Arial.
Zkuste si to ověřit například na písmu Andale Mono. Tohle písmo se
standardně nenahrazuje žádným jiným písmem a proto ve výsledném PostScriptu
bude jak písmeno e, tak i ě z toho stejného fontu a tudíž v pořádku.
Závěr: OpenOffice.org standardně při tisku používá náhradu písem
a nahrazuje některé fontu za fonty, které jsou přímo v RIPu.
Řešení: Nicméně řešení samozřejmě existuje a je dokonce velmi elegantní :-)
Spustíme program spadmin, vybereme požadovanou tiskárnu (nebo výchozí
tiskárnu), klikneme na Vlastnosti a v záložce Náhrada písem zakážeme
nahrazování písem.
Ale musím se přiznat, že já jsem to osobně udělal změnou souboru
/opt/OpenOffice.org1.0.1/share/psprint/psprint.conf, kde stačí nahradit
PerformFontSubstitution=true
za
PerformFontSubstitution=false
Každopádně díky za oznámení této chyby ve standardní konfiguraci
OpenOffice.org CZ. Možná vhodnější fórum pro tento dotaz je konference
uživatelů OpenOffice.org CZ.
Pro ostatní členy lokalizačního týmu: navrhuji pro další verzi
OpenOffice.org CZ změnit výchozí nastavení tak, aby náhrada písem nebyla
prováděna. Názory?
--
Pavel Janík
An innovation a day keeps the monopolist away.
-- Alan Cox in linux-kernel
Další informace o konferenci Linux