[cstex] Fwd: accent pre yfonts a zvacsenie pisma

peter knezel peter.knezel at gmail.com
Mon Dec 31 13:24:16 CET 2012


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.

>
> > 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20121231/3fa60900/attachment-0003.html>


More information about the csTeX mailing list