[cstex] Fwd: accent pre yfonts a zvacsenie pisma

Zdenek Wagner zdenek.wagner at gmail.com
Mon Dec 31 15:28:42 CET 2012


Dne 31. prosince 2012 13:24 peter knezel <peter.knezel at gmail.com> napsal(a):
> Vid moje poznamky v maily.
> S pozdravom,
>
> Peter Knezel
>
> 2012/12/31 Zdenek Wagner <zdenek.wagner at gmail.com>
>>
>> Dne 31. prosince 2012 11:32 peter knezel <peter.knezel at gmail.com>
>> napsal(a):
>> > Zdravim pan Wagner,
>> >
>> > dakujem za vysvetlenie a aj odkaz na knihu pana Olsaka pripadne aj na
>> > linky
>> > na literaturu v tejto knihe.
>> > Ak dovolite, mam este jednu otazku na tie cisla pre dany znak? Odkial
>> > vedel
>> > napr. pan Olsak, ze dana vyska pre i bez bodky sa ma zmenit presne na
>> > 0.472223? Preco nie ine cislo? Plati tu dajake pravidlo pre spravnu
>> > vysku
>>
>> Na zacatku souboru .pl najdete sekci FONTDIMEN a v ni hodnotu XHEIGHT.
>> To je hodnota, kterou TeX vidi jako jednotku ex a mela by odpovidat
>> vysce maleho x. V typograficke terminologii je to vyska minuskove
>> dotaznice, tedy vyska vetsiny malych pismen. Proto ma i bez tecky mit
>> tuto vysku.
>
>
> OK, teraz mi je to jasne.
>>
>>
>> > akcentu pre dany typ pisma? Ide o to, aby horny okraj znaku ' bol presne
>> > na
>> > urovni horneho okraju najvyssieho pisma? Alebo ine pravidlo?
>> >
>> > Skusal som este nasledujucu vec: zobrazit dva akcenty (znak \') nad i
>> > bez
>> > bodky, ale toto sa mi nepodarilo zobrazit.
>> > Zobrazil sa mi totiz znak ' a hned za tym znak i bez bodky a nad nim '.
>> > Asi som este nepochopil uplne spravne fungovanie zob
>> >
>> Neni mi presne jasne, ceho chcete docilit. Primitiv \accent umi
>> umistit pouze jeden akcent nad pismeno. Pokud chcete mit vice akcentu
>> (napr. vietnamstina pouziva az tri akcenty u pismene), pak je nutno
>> pouzit slozitejsi postup vyuzivajici boxu.
>
>
> Myslel som si, ze TeX umoznuje jednoduchym sposobom davat nad seba viac
> akcentov alebo posuvanie tychto accentov do lubovolnej vysky/hlbky nad/pod
> znakom ako aj posuvanie tychto accentov napravo/nalavo od daneho znaku.
> Islo mi vlastne o obycajny graficky test moznosti TeX-u, ktore ma napadli po
> Vasom vysvetleni.
>>
Primitiv \accent tohle neumi. Chcete-li proniknout hloubeji do
algoritmu TeXu, pak mohu doporucit knihu TeXbook naruby od Petra
Olsaka. Muzete ji ziskat i v elektronicke podobe zde:
http://petr.olsak.net/tbn.html
>>
>> > Chapem aj to, ze by sa nemali miesat prikazy z plain texu v latex
>> > zdrojovom
>> > kode.
>> >
>> Michat je samozrejme muzete, pokud vite, co delaji. LaTeX si udrzuje
>> svuj vnitrni stav a nektera makra jsou definovana tak, ze se na
>> jistych mistech automaticky vkladaji prikazy, ktere plynou prave z
>> toho vnitrniho stavu. Kdyz vlozite plainovske makro na nevhodne misto,
>> muze prave z tohoto duvodu dojit ke kolizi. Navic nektera makra maji v
>> LaTeXu jinou definici nez v plainu, konkretne se to tyka \', \v, \",
>> \line a jinych.
>
>
> OK.
>>
>>
>> > Skusim este urobit par testov.
>> >
>> > S pozdravom,
>> >
>> > Peter Knezel
>> >
>> >
>> >
>> > 2012/12/29 Zdenek Wagner <zdenek.wagner at gmail.com>
>> >>
>> >> Dne 29. prosince 2012 12:28 peter knezel <peter.knezel at gmail.com>
>> >> napsal(a):
>> >> > Zdravim pan Olsak,
>> >> >
>> >> > vyskusal som Vas "hints" a snazim sa pochopit dane zmeny.
>> >> >
>> >> > po zmene ygoth.pl pre i (bez bodky)
>> >> >
>> >> > (CHARACTER O 20 %=======znak i bez bodky
>> >> >    (CHARWD R 0.166057)
>> >> >    (CHARHT R 0.472223)
>> >> >    )
>> >> > (CHARACTER O 21 %=======znak j bez bodky
>> >> >    (CHARWD R 0.149389)
>> >> >    (CHARHT R 0.675751)
>> >> >    (CHARDP R 0.154333)
>> >> >    )
>> >> >
>> >> > sa mi znak \' posunul nizsie - tak ako ste to napisali. Co presne
>> >> > vyjadruju
>> >> > tie cisla? Aka jednotka sa tu pouziva?
>> >>
>> >> Obvykle velikost fontu. Jednotka je uvedena na zacatku toho souboru.
>> >>
>> >> > Mohol by som najst niekde v literature viac o CHARWD, CHARHT, CHARDP
>> >> > a o
>> >> > skriptoch:
>> >> >
>> >> Jiz jsem ji doporucoval, je to v knize Typograficky system TeX, kterou
>> >> napsal Petr Olsak.
>> >>
>> >> > tftopl ygoth.tfm ygoth.pl
>> >> > edit ygoth.pl
>> >> > pltotf ygoth.pl
>> >> >
>> >> >
>> >> > Tipujem, ze to suvisi so sirkou a vyskou pisma. Alebo sa mylim?
>> >> >
>> >> > Predpokladam, ze tieto pravidla platia aj pre ine pisma - nie iba pre
>> >> > yfonts...
>> >> >
>> >> Mate v zasade 2 typy fontu. Do prvniho typu patri fonty, ktere umi
>> >> pouzivat puvodni Knuthuv TeX. Ten umi pracovat pouze s metrickymi
>> >> udaji, ktere ziskava z TFM souboru. Program tftopl nedela nic jineho,
>> >> nez ze binarni TFM zkonvertuje do lidsky citelneho tvaru, pltotf
>> >> provadi opacnou konverzi. V puvodnim Knuthove TeXu tedy nemuzete
>> >> pouzit font, ktery nema TFM. Do druheho typu patri fonty TrueType a
>> >> OpenType, ktere TFM nemaji, ale XeTeX a LuaTeX si prectou metricke
>> >> informace primo z fontu.
>> >>
>> >> Jeste bych rad upozornil, ze nemuzete pouzit uplne libovolnou vysku.
>> >> TFM ma omezeni pouze na 16 ruznych vysek, pokud zadate jinou hodnotu,
>> >> takze prekrocite pocet 16 hodnot, dojde k zaokrouhleni, mozna i uplne
>> >> spatnemu. Male "o" bude ve fontu pravdepodobne o nekolik pixelu vyssi
>> >> nez "v" a "x", aby vypadalo opticky stejne, ale v TFM bude
>> >> pravdepodobne jeho vyska stejna. Vyska "i bez tecky" by tedy mela
>> >> odpovidat minuskove dotaznici.
>> >>
>> >> > Skusal som aj \char17 cize j bez bodky ako aj ine accents ako
>> >> > \accent19
>> >> > cize
>> >> > znak \' (napr. \accent20 = znak \v{}, ako aj \accent21 = znak \u{}).
>> >> >
>> >> > Existuje aj tabulka pre vsetky znaky \accentn, kde n je cislo?
>> >> >
>> >> Tady bych se jeste vratil ke sve poznamce z jednoho z minulych mailu.
>> >> Psal jsem, ze v baliku ygoth maji nektere fonty kodovani LY, nektere
>> >> LYG. Pismeno L znamena, ze je to lokalni nestandardni kodovani. Je
>> >> tedy videt, ze pismo nebude dobre fungovat ve standardnim prostredi a
>> >> nemuzete stejny primitiv \accent pouzit pro libovolny font (tedy
>> >> musite pro stejny ucinek pouzit jinou hodnotu). Prave pro tyto ucely
>> >> slouzi NFSS2. V LaTeXu se totiz makro \' expanduje ruzne. Nejprve se
>> >> hleda, zda je v danem kodovani definovan primo kompozitni znak makrem
>> >> \DeclareTextComposite. Pokud neni, hleda se definice
>> >> \DeclareTextAccent, ktera expanduje na \accent s odpovidajicim cislem.
>> >> Specialni znaky (i bez tecky aod.) jsou definovany pomoci
>> >> \DeclareTextSymbol. Kdyz tedy napisete
>> >>
>> >> ...
>> >> \usepackage[T1]{fontenc}
>> >> ...
>> >> \font\ygoth=ygoth
>> >> {\ygoth \v{c}\'{\i}\z{z}ek}
>> >>
>> >> pak makra z NFSS2 zjisti, ze \v{c} je v kodovani T1 dostupne jako
>> >> kompozitni znak a pouziji ho, stejne tak dalsi pouzite znaky s
>> >> diakritikou. \i ma v T1 take svuj kod. Ve fontu ygoth pravdepodobne na
>> >> techto pozicich prislusna pismena nejsou. Pokud si vymyslite napriklad
>> >> \'w, pak se vezme carka z mista, kde je v T1 kodovani. Kdyz vynechate
>> >> \usepackage[T1]{fontenc}, bude pouzito kodovani OT1, tedy kodovani
>> >> sedmibitovych CM fontu. Kompozitni znaky v tomto kodovani nejsou,
>> >> takze se vse bude expandovat pomoci primitivu \accent a pouziji se
>> >> kody diakritickych znamenek z CM fontu.
>> >>
>> >> Pokud chcete nejakym fontem psat delsi text, je dobre jej zavest
>> >> LaTeXovym zpusobem a nesmesovat plain a LaTeX. Pokud opravdu chcete v
>> >> casti LaTeXoveho dokumentu pouzivat plainovske konstrukce, musite v te
>> >> casti dusledne odstranit vsechny pozustatky LaTeXu a uvest prostredi
>> >> do cisteho plainoveho stavu, coz da docela hodne prace.
>> >>
>> >> Tabulky kodovani se daji vycist ze souboru *enc.def a najdete je take
>> >> v jiz zminene knize Typograficky system TeX.
>> >>
>> >> > Dakujem Vam vopred za vysvetlenie.
>> >> >
>> >> > S pozdravom,
>> >> >
>> >> > Peter Knezel
>> >> >
>> >> >
>> >> > 2012/12/28 Petr Olsak <petr at olsak.net>
>> >> >>
>> >> >>
>> >> >> On Fri, 28 Dec 2012, peter knezel wrote:
>> >> >>
>> >> >>> Zdravim,
>> >> >>>
>> >> >>> skusal som generovat tabulky - pomohlo mi to aspon zobrazit vsetky
>> >> >>> mozne
>> >> >>> znaky pre
>> >> >>> dany typ pisma.
>> >> >>> Pre znaky a,e,o som nasiel 2 rozne varianty (okrem zakladneho znaku
>> >> >>> bez
>> >> >>> accentu) a
>> >> >>> to
>> >> >>> a) male e nad pismenom
>> >> >>> b) dvojbodka nad pismenom
>> >> >>>
>> >> >>> Znak i som nasiel v zakladnej forme - cize klasicke i - s bodkou
>> >> >>> nad
>> >> >>> zakladnou ako
>> >> >>> aj bez bodky na pozicii 00 - tak ako ste vysvetlili.(pozicia 020
>> >> >>> pre
>> >> >>> ygoth)
>> >> >>>
>> >> >>> Co sa mi vsak podarilo zistit, ze \yfrak a \yswab dovoluje pouzit
>> >> >>> zvacsene pismena
>> >> >>> pre á a í, pricom pri pouziti
>> >> >>> \ygoth sa mi znaky zuzia - prekryvaju sa a neda sa zistit, ci sa
>> >> >>> znaky
>> >> >>> á
>> >> >>> a í
>> >> >>> zobrazuju spravne.
>> >> >>
>> >> >>
>> >> >> Kdyz se podivate do tabulky fontu ygoth, zjistite, ze na pozici 19
>> >> >> neni
>> >> >> akcent ale nejaka specialni ligatura. Zatimco ve fontu yfrak je na
>> >> >> pozici 19
>> >> >> potrebny akcent. Makro \' pravdepodobne expanduje ve Vasem pripade
>> >> >> na
>> >> >> \accent19, takze yfrak zpracuje spravne a ygoth nikoli. Tam se
>> >> >> prekryva
>> >> >> zakladni znak s tou specialni ligaturou, takze vidite na vystupu
>> >> >> zmet
>> >> >> znaku.
>> >> >> Na velikosti fontu pritom nenazlezi.
>> >> >>
>> >> >>
>> >> >>> S pouzitim \accent bohuzial, nemam ziadne skusenosti. Mohli by ste
>> >> >>> mi
>> >> >>> vysvetlit, ako ho pouzivat?
>> >> >>
>> >> >>
>> >> >> Muzete tedy vyzkouset prime pouziti pritivu \accent a kombinovat dva
>> >> >> ruzne
>> >> >> fonty. Na TeX-primitivni urovni vytvorite slovo KaHira takto:
>> >> >>
>> >> >> -------------
>> >> >>
>> >> >> \font\g=ygoth scaled 2000
>> >> >> \font\f=yfrak scaled 2000
>> >> >>
>> >> >> \f K\accent19 aH\accent19 \char16 ra           % yfrak
>> >> >>
>> >> >> \g K\f\accent19\g aH\f\accent19 \g\char16 ra   % ygoth, accents from
>> >> >> yfrak
>> >> >>
>> >> >> \end
>> >> >>
>> >> >> -------------
>> >> >>
>> >> >> Jak vidite, mylil jsem se, kdyz jsem psal, ze bezteckove i je na
>> >> >> pozici
>> >> >> 00, ve skutecnosti je na pozici 16 (nepozorne jsem se do te tabulky
>> >> >> podival).
>> >> >>
>> >> >> Kdyz si podrobne prohlidnete druhy vysledek, zjistite, ze carka nad
>> >> >> bezteckovym i je ulitla prilis nahoru. To je chyba v metrice fontu
>> >> >> ygoth, kde je bezteckove i na pozici 16 prilis vysoke (zrejme
>> >> >> odvozene
>> >> >> chybne z vysky teckoveho i). Chcete-li to spravit, provedte
>> >> >> nasledujici:
>> >> >>
>> >> >> tftopl ygoth.tfm ygoth.pl
>> >> >> edit ygoth.pl
>> >> >>
>> >> >> vyhledejete CHARACTER O 20 (protoze 16 je 20 oktalove) a tam
>> >> >> nahradte
>> >> >> vysku:  CHARHT R 0.675751  za vysku  CHARHT R 0.472223 (protoze to
>> >> >> je
>> >> >> vyska
>> >> >> maleho pismene a). Ulozte soubor ygoth.pl a provedte
>> >> >>
>> >> >> pltotf ygoth.pl
>> >> >>
>> >> >> Tim vznikne v aktualnim adresari metrika ygoth.tfm, ktera ma
>> >> >> prednost
>> >> >> pred
>> >> >> metrikou v TeXové distribuci. Po novem TeXovani mate carku na
>> >> >> spravnem
>> >> >> miste.
>> >> >>
>> >> >> Zdravim
>> >> >>
>> >> >> Petr Olsak
>> >> >>
>> >> >> PS. Pan Wagner se myli, kdyz pise, ze problem zavisi na velikosti
>> >> >> fontu,
>> >> >> protoze je metafontovy. Font muzete libovolne zvetsovat, dokud se
>> >> >> metafont
>> >> >> ,,nezriti``. Navic, mate-li TeXovou distribuci ne starsi deseti let,
>> >> >> vyskytuji se v ni soubory yfrak.pfb, ygoth.pfb atd., ktere jsou
>> >> >> implicitne
>> >> >> pouzity, takze metafont neni vubec pro zvetsovani potreba.
>> >> >> Vase velikosti scaled4400 nedelaly na mem pocitaci zadne potize.
>> >> >>
>> >> >> _______________________________________________
>> >> >> csTeX mailing list
>> >> >> csTeX at cs.felk.cvut.cz
>> >> >> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>> >> >>
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > 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
>> >>
>> >> _______________________________________________
>> >> csTeX mailing list
>> >> csTeX at cs.felk.cvut.cz
>> >> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>> >
>> >
>> >
>> > _______________________________________________
>> > 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
>>
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>
>
>
> _______________________________________________
> 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