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