[cstex] Fwd: accent pre yfonts a zvacsenie pisma

Zdenek Wagner zdenek.wagner at gmail.com
Mon Dec 31 12:02:12 CET 2012


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.

> 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.

> 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.

> 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




More information about the csTeX mailing list