pdflatex, pismenka bez diakritiky po copy-and-paste z Acrobatu

Vit Zyka vit.zyka at seznam.cz
Sun Sep 5 21:57:28 CEST 2004


> On Fri, Sep 03, 2004 at 12:13:54PM +0200, Luboš Kloc wrote:
> 
>>>>Aha. Tak to nějak souvisí s kódováním fontů v pdf souboru.
>>>>
>>>>Když je kódování fontů tzv. "built-in" je problém s písmeny ľśšťźžĽŚŠŤŹŽ, 
>>>>když je ale kódování "custom" (což je můj případ), tak je problém s 
>>>>jinými písmeny (řč...).
>>>>Čili předpokládám, že teď už je to problém Windows (možná Acrobat 
>>>>Readeru) a z hlediska TeXu s tím nejde nic dělat...

No jo, mate pravdu, /ToUnicode je ke sptavnemu copy&paste a hledani treba.

>>>K tomu prave slouzi ToUnicode, ale az od Acrobatu 5. V pdftexu to urcite
>>>jde udelat a prislusne mapovaci soubory i pro cestinu jsou na CTAN, ale ja
>>>to neumim.
>>Nasel by se tu nekdo, kdo to umi? Nejake sikovne HOWTO by se asi mnohym
>>hodilo.
> 
> Pan Volovich uz na to udelal package:
> \usepackage{cmap}
> 
> --ps

Aha. Ale ma to nekolik hacku:
1) je to jen pro LaTeX
2) neni k tomu CMAP pro cs fonty

Udelal jsem tedy podporu po pdfplain a CMAP tabulky pro fonty v kodovani 
IL2cs (tj. cs-fonty), IL2 a 1250. Je vystavena na
   http://typokvitek.com/typokv-download-TeX-cz.html

Pouziti je jednoduche:
1) \input cmap
2) nastavte kodovani fontu; pro cs-fonty: \cmapencoding{il2cs}
2) Za prvnim pouzitim fontu uvedte \cmaphook tj. napr.

    \bf\cmaphook Muj text
    \it\cmaphook Text v italice
    \bf opet tucny

    tim se vlozi danemu fontu odkaz na tabulku CMAP podle hodnoty v
    \cmapencoding. Tato hodnota musi byt shodna s nazvem souboru .cmap
    bez koncovky.

    Namisto: \font\f=csss10 at1cm \f\cmaphook
    lze pouzit: \cmapfont\f=csss10 at1cm

    Za stejne fonty se povazuji ty (pravdepodobne), odkazujici na jeden a
    ten samy PDF font resource, tedy napr. jeden .pfb. Znamena to napr.,
    ze pro metriku pouzitou v ruznych velikostech staci pouzit \cmphook 

    jen jednou.

Poznamka: Muj AR 6.0.2 pro win se choval nasledovne:
- pokud kopirovany text obsahoval znak, ktery v kodovani nebyl
   definovan, pak se VSECHNY znaky prevedly tak, jako by /ToUnicode
   nebylo vlozeno.

Poznamka pro uzivatele LaTeXu:
- Pokud puzijete styl p. Voloviche v pdfcslatexu
   \usepackege{cmap,czech}
   je kodovani (makro \f at encoding) (cslatexem ?) nastaveno na IL2 a nacte
   se tak tabulka il2.cmap.
   Protoze se ale v nekterych znacich cs-fonty od IL2 lisi (napr. ceske
   uvozovky) bude kopirovani techto znaku spatne.

   At se vyjadri nekdo v kodovani a fontech zbehlejsi, ale nemelo by byt
   kodovani cslatexu IL2cs nebo 8z?

Poznamka pro uzivatele ConTeXtu:
- Ve zdrojacich jsem se docetl, ze podpora CMAP je v ConTeXtu jiz 4 roky
   a to iniciativou p. Ferduse a Vachy. Podobne jako LaTeX i ConTeXt trpi
   zmatky v kodovani (pro zmenu vsak opacne: CMAPa je v IL2, ale IL2
   kodovani je v ConTeXtu IL2cs). Navic pro drobnou chybku podpora unguje
   jen pro prvni font. Verim, ze Hans chybu rychle opravi.

Tak ted doufam, ze jsem v tech kodovanich il2 a cs-fontu neco 
neprehledl. Divim se, ze by v tom mohl byt takovy zmatek.

Dobrou noc
Vitek Zyka




More information about the csTeX mailing list