diff options
Diffstat (limited to 'Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex')
-rw-r--r-- | Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex b/Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex new file mode 100644 index 00000000000..4b4b770f71b --- /dev/null +++ b/Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex @@ -0,0 +1,274 @@ +% This file is based on Knuth's and Levy's "testfont"files +% +% The text is taken from the book of Kwsto'ula Mhtropo'ulou, Za'ar 19. +% +\tracinglostchars=0 +\tolerance=1000 +\raggedbottom +\nopagenumbers +\parindent=0pt +\newlinechar=`@ +\input rgreekmacros %not necessary if you have a greek format + +\newcount\m \newcount\n \newcount\p \newdimen\dim +\chardef\other=12 + +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\def\hours{\n=\time \divide\n 60 + \m=-\n \multiply\m 60 \advance\m \time + \twodigits\n\twodigits\m} +\def\twodigits#1{\ifnum #1\lt10 0\fi \number#1} + +{\catcode`\|=0 \catcode`\\=\other +|gdef|help{|message{% +\init switches to another font;@% +\end or \bye finishes the run;@% +\table prints the font layout in tabular format;@% +\text prints a sample text, assuming TeX text font conventions;@% +\sample combines \table and \text;@% +\mixture mixes a background character with a series of others;@% +\alternation interleaves a background character with a series;@% +\alphabet prints all lowercase letters within a given background;@% +\alphabets does one \alphabet for each lowercase background letter;@% +\ALPHABET prints all uppercase letters within a given background;@% +\ALPHABETs does one \ALPHABET for each uppercase background letter;@% +\accents prints all lowercase vowels with accents and breathings;@% +\series prints a series of letters withing a given background;@% +\lowers prints a comprehensive test of lowercase;@% +\uppers prints a comprehensive test of uppercase;@% +\digits prints a comprehensive test of numerals;@% +\math prints a comprehensive test of TeX math italic;@% +\names prints a text that mixes upper and lower case;@% +\punct prints a punctuation test;@% +\bigtest combines many of the above routines;@% +\help repeats this message;@% +and you can use ordinary TeX commands (e.g., to \input a file).}}} + +\def\setbaselineskip{\setbox0=\hbox{\n=0 +\loop\char\n \ifnum \n\lt255 \advance\n 1 \repeat} +\baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 } + +\def\setchar#1{{\escapechar-1\message{\string#1 character = }% + \def\do##1{\catcode`##1=\other}\dospecials + \read-1 to\next + \expandafter\finsetchar\next\next#1}} +\def\finsetchar#1#2\next#3{\global\chardef#3=`#1 + \ifnum #3=`\# \global\chardef#3=#2 \fi} +\def\promptthree{\setchar\background + \setchar\starting \setchar\ending} + +\def\init{\message{@Name of the font to test = } + \read-1 to\fontname + \font\testfont=\fontname + \headline={\sevenrm Test of \fontname\unskip\ on \today\ at \hours\hfil + Page \folio} + \testfont \setbaselineskip + \ifdim\fontdimen6\testfont\lt10pt \rightskip=0pt plus 20pt + \else\rightskip=0pt plus 2em \fi + \spaceskip=\fontdimen2\testfont % space between words (\raggedright) + \xspaceskip=\fontdimen2\testfont \advance\xspaceskip by\fontdimen7\testfont + \message{Now type a test command (\string\help\space for help):}} + +\def\mixture{\promptthree \domix\mixpattern} +\def\alternation{\promptthree \domix\altpattern} +\def\mixpattern{\0\1\0\0\1\1\0\0\0\1\1\1\0\1} +\def\altpattern{\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0} +\def\domix#1{\par\chardef\0=\background \n=\starting + \until\ifnum\n=\ending\do\chardef\1=\n #1\par\n=\count\n \repeat} + +\count`w=`a\count`a=`b\count`b=`g\count`g=`d\count`d=`e\count`e=`z +\count`z=`h\count`h=`j\count`j=`i\count`i=`k\count`k=`l\count`l=`m +\count`m=`n\count`n=`x\count`x=`o\count`o=`p\count`p=`r\count`r=`c +\count`c=`t\count`t=`u\count`u=`f\count`f=`q\count`q=`y\count`y=`w +\count`W=`A\count`A=`B\count`B=`G\count`G=`D\count`D=`E\count`E=`Z +\count`Z=`H\count`H=`J\count`J=`I\count`I=`K\count`K=`L\count`L=`M +\count`M=`N\count`N=`X\count`X=`O\count`O=`P\count`P=`R\count`R=`S +\count`S=`T\count`T=`U\count`U=`F\count`F=`Q\count`Q=`Y\count`Y=`W +\count`0=`1\count`1=`2\count`2=`3\count`3=`4\count`4=`5 +\count`5=`6\count`6=`7\count`7=`8\count`8=`9\count`9=`0 + +\long\def\until#1\do#2\repeat{\def\body{#2}\def\cond{#1}\etareti} +\def\etareti{\cond\let\next=\relax\else\let\next=\etareti\fi\body\next} + +\def\alphabet{\setchar\background \dosseries{`a}{`w}} +\def\ALPHABET{\setchar\background \doseries{`A}{`W}} +\def\series{\promptthree \doseries\starting\ending} +\def\doseries#1#2{\def\!{\discretionary{\background}{\background}{\background}} + \!\n=#1\until\ifnum\n=#2\do\char\n\!\n=\count\n \repeat\par} +\def\dosseries#1#2{\def\!{\discretionary{\background}{\background}{\background}} + \!\n=#1\until\ifnum\n=#2\do\char\n\!\n=\count\n \repeat s\par} + +\def\lowers{\docomprehensive hs{`a}{`w}} +\def\uppers{\docomprehensive HO{`A}{`W}} +\def\digits{\docomprehensive H0{`0}{`9}} +\def\docomprehensive#1#2#3#4{\par\n=#3 + \until\ifnum\n=#4\do\line{\altr#1\hfil\altr#2}\n=\count\n\repeat} +\def\altr#1{\setbox0=\hbox{#1}\setbox2=\hbox{#1\char\n}% + \dim=.5\hsize \advance\dim-\wd0 \divide\dim\wd2 \multiply\dim\wd2 + \xleaders\box2\hskip\dim\box0} +\def\alphabets{\m=`a\until\ifnum\m=`w + \do\chardef\background=\m{\dosseries{`a}{`w}}\m=\count\m \repeat} +\def\ALPHABETS{\m=`A\until\ifnum\m=`W + \do\chardef\background=\m{\doseries{`A}{`W}}\m=\count\m \repeat} + +\def\separator{\vfil\penalty-100\vfilneg + \medskip\leaders\hrule height.4pt\vskip.4pt\medskip} + +\def\bigtest{% +\sample\vfil\break +\accents\separator +\names\separator +\punct\separator +\alphabets\separator +\lowers\separator +\uppers\separator +\digits} + +\def\math{\message{(Sorry, that's not here yet.)}} + +\def\oct#1{\hbox{\tenrm\'{}\kern-.2em\tenit#1\/\kern.05em}} % octal constant +\def\hex#1{\hbox{\tenrm\H{}\tentt#1}} % hexadecimal constant +\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal + \m=\n \divide\m by 64 \xdef\0{\the\m}% + \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}} +\def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}% + \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F% + \global\p=\lastpenalty}} % \p=1 if none of the characters exist +\def\oddline{\cr + \noalign{\nointerlineskip} + \multispan{19}\hrulefill& + \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr + \noalign{\nointerlineskip}} +\newif\ifskipping +\def\evenline{\loop\skippingfalse + \ifnum\n\lt128 \m=\n \divide\m 16 \chardef\next=\m + \expandafter\setdigs\meaning\next \testrow + \ifnum\p=1 \skippingtrue \fi\fi + \ifskipping \global\advance\n 16 \repeat + \ifnum\n=128 \let\next=\endchart\else\let\next=\morechart\fi + \next} +\def\morechart{\cr\noalign{\hrule} + \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m} + \chartline \evenline} +\def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&} +\def\chartstrut{\lower4.5pt\vbox to14pt{}} +\def\table{$$\global\n=0 + \halign to\hsize\bgroup + \chartstrut##\tabskip0pt plus10pt& + &\hfil##\hfil&\vrule##\cr + \lower6.5pt\null + &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline} +\def\endchart{\cr\noalign{\hrule} + \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B& + &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par} +\def\:{\setbox0=\hbox{\char\n}% + \ifdim\ht0>7.5pt\reposition + \else\ifdim\dp0>2.5pt\reposition\fi\fi + \box0\global\advance\n 1 } +\def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0 + \advance\dim 2pt \dp0=\dim} +\def\centerlargechars{ + \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}} + +\begingreek + +\def\accents{\longseries a\shortseries e\longseries h\mediumseries i +\shortseries o\mediumseries u\longseries w \rseries} +\def\longseries#1{#1 `#1 '#1 ~#1 #1| `#1| '#1| ~#1| <#1 <`#1 <'#1 <~#1 <#1| + <`#1| <'#1| <~#1| >#1 >`#1 >'#1 >~#1 >#1| >`#1| >'#1| >~#1| \par} +\def\shortseries#1{#1 `#1 '#1 <#1 <`#1 <'#1 >#1 >`#1 >'#1 \par} +\def\mediumseries#1{#1 `#1 '#1 ~#1 % + <#1 <`#1 <'#1 <~#1 >#1 >`#1 >'#1 >~#1 "#1 "`#1 "'#1 "~#1 \par} +\def\rseries{r <r >r\par} +\def\names{ >Afrod'ith Beatr'ikh Gi'annhc Dhm'htrhc E>ugen'ia + Zw'h <Hrakl~hc Je'ofiloc >Iw'anna Kl'aouc Louk~ac + Mar'ia N'ikh Xanjo'ula O>id'ipouc Pl'atwn Rox'anh S'ilbio + Ter'eza <Upat'ia F'ilippoc Qar'a Yuq'h >Wrig'enhc \par} +\def\punct{{\hyphenpenalty=10000\par\dopunct{ka'i}\dopunct{t~hs}\dopunct{<'ena} + \dopunct{<ELLAS}\par}} +\def\dopunct#1{#1, #1: #1; ''#1'' #1? #1! ((#1)) (#1) [#1] #1* #1.\par} +\def\from#1{{\sevenrm\unskip\nobreak\hfil\penalty50\hskip2em\hbox{} + \nobreak\hfil (From #1)\parfillskip=0pt\finalhyphendemerits=0 \par}} + +\def\text{{\advance\baselineskip-4pt +\setbox0=\hbox{abcdefghijklmnopqrstuvwxyz} +\ifdim\hsize\gt2\wd0 \ifdim 15pc\gt2\wd0 \hsize=15pc \else \hsize=2\wd0 \fi\fi +((T'o br~hka!)) f'wnaxe. ((T'o br~hka! E>~isai <'ena pr'oswpo m'esa >ap'o +<'ena bibl'io po'u pot'e d'en gr'afthke, giat'i >eg'w prosp'ajhsa, >eg'w +m'ono, ka'i m''a>ut'h t'h nekr'h gl'wssa ka'i d'en mp'oresa n'a t'o p~w, n'a +t'o fti'axw, d'en mp'oresa pot'e, giat'i <h gl'wssa e>~inai nekr'h, +>endi'amesh, mi'a gl'wssa gi'a poiht'ec, gi'a >anjr'wpouc po'u >oneire'uontai +s'an a>ut'o t'o paid'i, t'on >Ast'erh po'u to~u f'ortwsan >'adika du'o +jan'atouc ka'i d'en m'ilhse. D'en e>~inai mi'a gl'wssa gi'a >emp'orio to'uth +>ed~w <h dik'h mou ka'i gi''a>ut'o d'en s'e >anagn'wrise kan'enac <'otan +milo~usa gi'a s'ena. D'en j'a mporo~use pot'e n'a e>~inai s'ugqronh <h pr'axh +m'e t'h fantas'ia. Pot'e >'idia <h pragmatik'h <istor'ia m'e t'h nekr'h +gl'wssa. Pot'e. T'a pr'oswpa <up'hrxane, na'i, e>~inai >al'hjeia, <up'hrxane +>all'a pot'e s'e sq'esh m'e t'hn pragmatik'othta po'u dihg'hjhka m'e t'h +nekr'h, >'aqrhsth gl'wssa t~wn qam'enwn >Etro'uskwn. <Up'hrxane s'e qr'ono +ka'i q~wro parwqhm'eno, >'asqeto, qr'ono mhd'en, pr'oswpa po'u <h +pragmatik'othta <h dik'h mac t'a e>~iqe de~i >alli~wc. Ka'i m'ono >es'u, +m'ono >es'u e>~isai mis'oc, e>~isai KANENAS, giat'i >eg'w d'en pr'oftasa +n'a s'e k'anw >al'hjeia, >eg'w d'en mp'oresa n'a s'e k'anw pr'oswpo +<uparkt'o m'esa >ap'o t'h fjor'a. E>~isai <'ena pr'oswpo m'esa >ap'o <'ena +mujist'orhma po'u pot'e d'en gr'afthke giat'i <h gl'wssa a>ut'h e>~inai +m'ono gi'a t'oso, t'oso l'igo, <'oso >~htan o<i 19 m'erec s'e ke~ino t'o +Sept'embrh ka'i >'etsi >~htan po'u s''>'afhsa mis'o, s''<'ena trago'udi +m'esa, s'e mi'a l'exh pali'a, s''<'ena >anastenagm'o, s'e mis'o >'oneiro +spasm'eno. S''>'afhsa >'etsi ka'i d'en >'eginec pot'e mi'a >al'hjeia gi'a +to'uc >'allouc, gi'a to'uc tr'itouc, gi'a to'uc logiko'uc, gi'a <'osouc +rwto~usan gi'a s'ena, gi'a t'h guna'ika sou >ak'oma po'u nom'izei p'wc s'e +x'erei ka'i d'en x'erei t'ipota >ap'o s'ena. >Eg'w fta'iw >ag'aph mou ka'i +p'ali >ag'aph j'a so~u''dina ka'i l'exeic nekr'ec, >'aqrhstec ka'i +m''a>ut'ec j'a prospajo~usa, j'a >'hjela n'a g'ineic <'ena >ast'eri ka'i mi'a +ter'astia fwtein'h gramm'h st'hn >'akrh to~u k'osmou, >en~w >es'u mo~u +mil~ac gi'a qrus'afi ka'i p'wc gi''a>ut'o t'o mis'o qrus'afi, mis'o ka'i +klemm'eno, sk'otwsec du'o >aj'wouc, du'o x'enouc, du'o zw'ec, >es'u, t'o +>'astro mou ka'i t'o f~wc mou. M'ilhs'e mou loip'on, p'ec mou p'wc >'eqw +>'adiko ka'i p'wc d'en e>~inai gi'a s'ena <'ola to~uta, p'ec mou t'hn +>al'hjeia >'h <'ena y'ema, p'ec mou, p'ec mou Za'ar >ag'aph mou...)) + +Logik'oc. M'e t'ic l'exeic metrhm'enec. Du'o, t'esseric, >oqt'w, d'wdeka. <O +>'erwt'ac tou kr'athse <'oso krat~ane o<i >epoq'ec. Mi'a >epoq'h. M'e broq'ec +ka'i ke~ino t'o jamp'o k'itrino <'hlio. Sept'embrhc. <'Enac. M'ono. Met'a +xanag'urise st'o sp'iti tou. X'enoc. Ka'i m'onoc. Ka'i >'emeine >eke~i. +X'eqase. >'H o>'ute ki a>ut'o. P'erase st'hn >'allh >'oqjh, st'o pot'ami, +p'anta t'o''lege p'wc <h >'allh >'oqjh e>~inai <h pi'o e>'ukolh. >'Oqi a>ut'h +>ed~w po'u t'hn perpat~ame. <H >'allh. A>ut'h po'u d'en t'hn x'eroume >ak'oma. +Za'ar, t'o d'eqthke n'a t'on l'eei m'ono >eke'inh. Na'i e>~iqe skot'wsei. Du'o +>aj'wouc. >'Enoqouc. D'en e>~iqe shmas'ia. >'Afhse n'a <upoyiasto~un t'on +>Ast'erh. >Eke~inoc >'agnwstoc. Ka'i m'ono gi'a t'o qrus'afi milo~use. <O +>Ast'erhc j'a pono~use. <'Opwc p'onese >eke'inh. >'Oqi, d'en >'hjele n'a +pon~ane o<i >'anjrwpoi. >'Oqi po'u noiaz'otan. >'Oqi po'u d'en t'o >'anteqe. +<'Omwc fob'otan. Fob'otan pol'u k'aje for'a po'u >'emene m'onoc m'e t'on +<eaut'o tou. Ka'i <h logik'h d'en >'eftane. T'ote, d'en >'eftane <h logik'h. +>'Htane gi'a to'uc pol'u >aj'wouc a>ut'h <h logik'h. A>ut'oc tetrag'wnize to'uc +k'uklouc. T'esseric gwn'iec. M'ia, d'uo, tre~ic, t'esseric. Gwn'ies. <'Olec. +Ka'i <h logik'h tou. <O >'erwt'ac tou m'ono mi'a >epoq'h. + +((>Eg'w d'en >erwte'uomai)) e>~iqe pe~i. D'en t'on e>~iqe pist'eyei. >~Htan <o +k'itrinoc jamp'oc Sept'embrhc ka'i <h l'imnh ka'i o<i stajmo'i ka'i o<i n'uqtec +m'e t'on >'erwta. D'en t'on e>~iqe pist'eyei. + +((T'i >'eqeic n'a mo~u pe~ic t'wra? S''t'o e>~iqa pe~i. <H gl'wssa po'u +>epim'eneic n'a mil~ac, <h dik'h sou <h gl'wssa e>~inai >'aqrhsth >entel~wc +ka'i d'en mpore~i kan'enac n'a t'hn zwntan'eyei. >Eg'w >'emeina p'anta <o +x'enoc, t'o e>~idec, t'o x'ereic, t'o''majec pi'a. Giat'i >epim'eneic? T'i +zht~ac >ap'o m'ena? >Eg'w >'etsi <'opwc e>~imai ftiagm'enoc d'en qwr'aw s'e +kan'ena >'oneiro, d'en qwr'aw s'e kami'a nekr'h di'alekto. E>~imai <o x'enoc +ka'i d'en j'a s''>anagnwr'izw s'e l'igo. D'en j'a x'erw giat'i ka'i p~wc ka'i +p'oso m''>ag'aphsec. Ka'i j'a''jela st''>al'hjeia n'a mo~u t'o pe~ic a>ut'o: +Nom'izeic <'oti m''>ag'amhsec? >Es'u, >em'ena!! M'a poi'a sq'esh j'a mporo~use +n'a <up'arqei >an'ames'a mac? M'ila mou. S'>ako'uw. E>~imai <o x'enoc. >'Emeina +<o x'enoc. K'anenac d'en kat'alabe t'hn >erhmi'a mou. Pot'e. M'onoc ka'i +x'enoc. Ka'i s'e koit'azw st'a m'atia. P~wc s'e l'ene? Poi'a e>~isai? Giat'i +s''>ar'esei n'a >epim'eneic <'oti m''>ag'aphsec? T'i x'ereic >es'u >ap'o +m'ena?))}} + +\def\sample{\names\table\text} + +\init + |