[cstex] Jakym zpusobem lze v postscriptu napsat znaky s carkou nebo hackem?

Petr Olsak petr at olsak.net
Thu Jan 17 17:33:25 CET 2013


Dobrý den,

možná daleko přímočařejší než měnit /Encoding vektor je v tomto případě 
použít přímo název znaku následovaný glyphshow. PostScriptový Type1 font 
sice pro příkaz show zpracovává stringy pomocí /Encoding vektoru a znak 
ve stringu má pouze 256 možností, ale můžete se taky
na jakékoli kódování úplně vybodnout a lovit znaky pomocí názvů.
Počet znaků ve fontu není neomezen.

Slovo ,,přízrak`` vytisknete v PostScriptovém fontu Times-Roman bez 
nastavování /Encoding vektoru takto:

/Times-Roman findfont 30 scalefont setfont
100 100 moveto
(p) show /rcaron glyphshow /iacute glyphshow (zrak) show

Zdravím

Petr Olšák


On Sun, 13 Jan 2013, Zdenek Wagner wrote:

> Dne 13. ledna 2013 19:12 Jaroslav Fojtik <jafojtik at seznam.cz> napsal(a):
>> Dobry den,
>>
>> Potreboval bych vyresit jeden problem. Chtel jsem aby se v postsctiptovych
>> obrazcich zobrazovaly i ceske znaky
>>
>> Kdyz si nadefinuji nejaky znak:
>> /$F2psDict 200 dict def
>> $F2psDict begin
>> /AEacute 16#01FC def
>> /AEsmall 16#F7E6 def
>> /Aacute 16#00C1 def
>> end
>>
>> //////////////////////////////////////////////////
>>
>> A pak ho pouziju, tak se mi nic nezobrazi na netusim proc:
>> /Times-Roman findfont
>> 22.00 scalefont setfont
>> newpath 288.03 280.40 moveto
>> 0 0 0 setrgbcolor
>> AEacute Aacute
>> (P_en__en_ informace)
>> show
>>
> Postscript neumi pouzit znak podle jmena ani s danym kodem a neumi
> primo pouzit Unicode. Postskriptovy font muze obsahovat libovolny
> pocet pojmenovanych znaku, ale v danem okamziku lze pouzit nejvyse 256
> znaku definovanych ve vektoru /Encoding, ktery je ve fontu definovan.
> Vlastni font je vlastne dictionary s urcitou strukturou. Je tedy mozno
> jej zkopirovat a vymenit v nem /Encoding, cimz se ziska jine kodovani.
> Nez se vsak novy /Encoding nadefinuje, je nutno zjistit, zda prislusny
> znak ve fontu je a jak se jmenuje. Nekteri tvurci ceskych fontu
> pouzivaji zcela obskurni jmena. Kdysi jsem na to napsal program primo
> v postscriptu. Umi zobrazit vsechny znaky vcetne tech, ktere nejsou v
> /Encoding. Delam to tak, ze v kopii fontu postupne /Encoding menim.
> Soubor prikladam, navod k pouziti je na konci souboru.
>>
>> //////////////////////////////////////////////////
>>
>> LaTeX to dela tak, ze pouziva font CMR10 a hardkoduje zde znaky
>> \024 \023
>>
>> (XX\023)-45 exch show tail(oXX)31 b(XX)-5 exch show tail(\024)-41 b(rXX)30 b(XX\023)-45
>>
> Tak se to dela v kodovani OT1, \024 je samotny hacek, \023 je samotna
> carka. Pak je samozrejme nutno vlozit odpovidajici horizontalni posun.
> V kodovanich T1 a IL2 je vlozen primo kod znaku, pokud je ve fontu.
> Pokud znak ve fontu neni a je to reseno virtualnim fontem, dopadne to
> nakonec obdovne jako v CM fontech.
>>
>> //////////////////////////////////////////////////
>> Do uzivatelskeho obrazku mi nepripada vhodne zatahovat znova font CMR10.
>>
>> mozna se to dela uplne jinak, ale netusim jak.
>>
>> Napada me PStricks a menit primo texty v embedovanem obrazku do LaTeXu.
>> To mi pripada prilis silene.
>>
> Na dopisovani textu k obrazkum staci obycejne prostredi picture,
> dokonce je mozno si vystacit i s TeXovymi primitivy \hbox a \vbox, ale
> picture je pohodlnejsi. Na rotaci textu staci rotating. Je zbytecne
> natahovat mamuti PSTricks, pokud se nebude pouzivat i k jinym ukolum.
>
>> dekuji za nejaky namet
>>   J.Fojtik
>>
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>
>
>
> -- 
> Zdeněk Wagner
> http://hroch486.icpf.cas.cz/wagner/
> http://icebearsoft.euweb.cz
>


More information about the csTeX mailing list