%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % CIPHERED FONT BY SIMEONE LEVI % %--------------------------------------------------------------------% % filename: simbase.mf % % date: December 1996 % % author: Emanuele Viterbo % % e-mail: viterbo@polito.it % % description: base file for character definitions % % related files: sim.mf driver file (font size, etc.) % % gosim.mf generates the characters % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def maxwd(suffix t,b)= (ceiling (max(ofl.t,ofl.b)+max(ofr.t,ofr.b)))*u# enddef; def maxof(suffix t,b)= (max(ofl.t,ofl.b))*u enddef; % ------------------------------------------------------------------- % ------------------ Segni vocali dopo consonanti ------------------- % ------------------------------------------------------------------- % -- a -- ofr.atop:=10; ofl.atop:=23; def a_top(expr slop) = path atop; pair atop[]; atop1=(0,0); atop2=atop1 + (-6u,30u); atop3=atop1 + (-20u,10u); atop = atop1{dir slop}..atop2{dir 180}..{dir -100}atop3; enddef; % -- e -- ofr.etop:=35; ofl.etop:=10; def e_top(expr slop) = path etop; pair etop[]; etop1=(0,0); etop2=etop1 + (20u,30u); etop3=etop1 + (-10u,0); etop = etop1{dir slop}...etop2{dir 0}...{dir -160}(rt etop3); enddef; % -- ebig -- ofr.etopbig:=30; ofl.etopbig:=20; def e_top_big(expr slop) = path etopbig; pair etopb[]; etopb1=(0,0); etopb2=etopb1 + (20u,30u); etopb3=etopb1 + (-20u,-20u); etopbig = etopb1{dir slop}...etopb2{dir 0}...{dir -140}etopb3; enddef; % -- i -- ofr.itop:=36; ofl.itop:=25; def i_top(expr slop) = path itop; pair itop[]; itop1=(0,0); itop2=itop1+(25u,30u); itop3=itop2+(0,-15u); itop4=itop2+(-40u,0); itop5=itop4+(2u,-13u); itop = itop1{dir slop}...itop2{dir 0}... {left}itop3..{left}itop4...{dir 30}itop5; enddef; % -- o -- ofr.otop:=25; ofl.otop:=24; def o_top(expr slop) = path otop; pair otop[]; otop1=(0,0); otop2=otop1 + (ctg(slop)*30u+5u, 30u); otop3=otop2 + (-25u,0); otop4=otop3 + (-10u,-20u); otop = otop1{dir slop}...{dir 50}otop2 & otop2{dir -130}... {dir 130}otop3 & otop3{down}...otop4; enddef; % -- u -- ofr.utop:=30; ofl.utop:=0; def u_top(expr slop) = path utop; pair utop[]; utop1=(0,0); utop2=utop1 + (20u,30u); utop3=utop2 +(6u,-5u); utop4=utop2 + (-4u,-11u); utop = utop1{dir slop}...utop2{right}... utop3{down}...{dir 120}utop4; enddef; % -- nessuna vocale -- ofr.notop:=14; ofl.notop:=7; def no_top(expr slop) = path notop; pair notop[]; notop1=(0,0); notop2=notop1 + (ctg(slop)*30u, 30u); notop3=notop1 + (-7u,5u); notop = notop1--notop2..{dir -135}notop3; enddef; % ------------------------------------------------------------------- % -------------------------- Consonanti ----------------------------- % ------------------------------------------------------------------- path bb,ccc,ddd,ff,gg,hh,jj,jjbot,kk,ll,mmm,nn,nnbot, pp,ppbot,qq,qqbot,rr,ss,tt,vv,yy,ww,zz; pair bb[],ccc[],ddd[],ff[],gg[],hh[],jj[],ll[],mmm[],nn[]; pair pp[],qq[],rr[],ss[],tt[],vv[],yy[],ww[],zz[]; % ---- b ---------------------------------------------- bb1=(0,0); bb2=-rh*(ctg(alpha)*u,u); bb = reverse (bb1--bb2); ofr.bb:= 0; ofl.bb:=-(xpart bb2)/u; % ---- c ---------------------------------------------- ccc1= (0,0); ccc2=-rl*(ctg(alpha)*u,u); ccc = reverse (ccc1--ccc2); ofr.ccc:= 0; ofl.ccc:=-(xpart ccc2)/u; % ---- d ---------------------------------------------- ddd1=(0,0); ddd2=(rh-rl)*(ctg(alpha)*u,u); ddd3=(5u,-30u); ddd4=(30u,-10u); ddd = (reverse (ddd2--ddd1{dir (180+alpha)}..ddd3{right}.. {dir 45}ddd4)) shifted -ddd2; ofr.ddd:= 10; ofl.ddd:=(xpart ddd2)/u+6; % ---- f ---------------------------------------------- ff1= (0,0); ff2=-(rh+rd)*(ctg(alpha)*u,u); ff = reverse (ff1--ff2); ofr.ff:= 0; ofl.ff:=-(xpart ff2)/u; % ---- g ---------------------------------------------- gg1=(0,0); gg2=-(rl+rd)*(ctg(alpha)*u,u); gg = reverse (gg1--gg2); ofr.gg:= 0; ofl.gg:=-(xpart gg2)/u; % ---- h ---------------------------------------------- % vedere dopo la n % ---- j ---------------------------------------------- jj=gg; jj1=(0,0); jj2=(10u,-5u); jj3=(25u,5u); jjbot=(jj1...jj2...jj3) shifted (-(rl-5)*(ctg(alpha)*u,u)); ofl.jj:= ofl.gg; ofr.jj:= 20; % ---- k ---------------------------------------------- ofl.kk:= 52; ofr.kk:= 14; i_top(alpha); kk = reverse ( ( ((rh-rl)*(ctg(alpha)*u,u))--bb1 & ( (itop rotated 180) xscaled 1.1) ) shifted -((rh-rl)*(ctg(alpha)*u,u)) ); % ---- l ---------------------------------------------- ll1=(0,0); ll2=-rh*(ctg(alpha)*u,u); ll3=ll1+(8u,-10u); ll12=ll2+(15u,10u); ll23=ll2+(-5u,20u); ll = reverse (ll1{-(dir alpha)}..ll12..{left}ll2...ll23...{dir 40}ll3); ofr.ll:=5; ofl.ll:=rh*ctg(alpha)+10; % ---- m ---------------------------------------------- mmm1=(0,0); mmm2=(0,-30u); mmm3=(20u,-20u); mmm = reverse (mmm1{dir (180+beta2)}... mmm2{right}...{dir 45}mmm3); ofr.mmm:= 20; ofl.mmm:= 10; % ---- n ---------------------------------------------- def nn_bot(expr slop) = path nn,nnbot; pair nn[]; nn1=(0,0); nn2=nn1+(15u,10u); nn3=nn1+(35u,0); nn4=nn1+(50u,10u); nnbot = nn1{dir 45}..nn2{right}..nn3{right}..{dir 45}nn4; nn5=rl*(ctg(slop)*u,u); nn = reverse ((nn5--nn1 & nnbot) shifted -nn5); enddef; nn_bot(beta1); ofl.nn:= (xpart nn5)/u; ofr.nn:= (xpart nn4)/u-ofl.nn; % ---- h ---------------------------------------------- hh = reverse ((-bb2--bb1 & (nnbot xscaled 1.1)) shifted bb2); ofl.hh:= ofl.bb; ofr.hh:= (xpart (nn4 xscaled 1.1))/u -ofl.bb; % ---- p ---------------------------------------------- pp = gg; ppbot = (nnbot xscaled 0.9) shifted (-rl*(ctg(alpha)*u,u)); ofr.pp:= 37; ofl.pp:=ofl.gg; % ---- qu ---------------------------------------------- qq=gg; qq1=(0,0); qq2=(-10u,-10u); qq3=(-15u,-5u); qq4=(22u,-10u); qq5=(37u,0); qq6 = -20*(ctg(alpha)*u,u); qqbot = (qq1{dir (180+alpha)}..qq2{left}..qq3{up}..qq4{right}.. {dir 45}qq5) shifted qq6; ofr.qq:= 38+(xpart qq6)/u; ofl.qq:= ofl.gg; % ---- r ---------------------------------------------- % vedere in def rr.. %i_top(alpha); %rr =reverse (itop rotated 180); ofr.rr:= ofl.itop; ofl.rr:= ofr.itop; % ---- s ---------------------------------------------- def ss_bot(expr slop) = path ss; pair ss[]; ss1=(0,0); ss2=ss1+(-12u,-30u); ss3=ss1+(10u,2u); ss = reverse (ss1{dir (180+slop)}.. ss2{left}...{dir 30}ss3); enddef; ofr.ss:= 12; ofl.ss:= 23; % ---- t ---------------------------------------------- tt1=(0,0); tt2=tt1+(5u,-30u); tt3=tt1+(10u,20u); tt4=tt3+(20u,10u); tt5=(rh-rl)*(ctg(alpha)*u, u); tt = reverse (tt5..tt1{dir (180+alpha)}...tt2{right}... {dir 120}tt3{right}...tt4) shifted -tt5; ofr.tt:= 20; ofl.tt:= 20; % ---- v ---------------------------------------------- vv1 = (0,0); vv2 = vv1+(0,-30u); vv3 = vv1+(5u,0); vv4 = vv3+(20u,0); vv = reverse (vv1{dir (180+alpha)}...vv2{right}... {dir 120}vv3{dir -30}..{dir 45}vv4); ofr.vv:= 20; ofl.vv:= 9; % ---- w ---------------------------------------------- def ww_bot(expr slop) = path ww; pair ww[]; ww1= (0,0); ww2= ww1+(5u,-rl*u); ww3= ww1+(40u,-20u); ww4= ww3+(-8u,-10u); ww5= ww3-(65u,0); ww23=ww3+(-8u,12u); ww45=ww5+(15u,12u); ww6= ww5+(8u,-10u); ww7= ww6+(5u,3u); ww = reverse (ww1{-(dir slop)}...ww2{right}..ww23{right}..ww3{down}... ww4{left}..ww45{left}..ww5{down}..{right}ww6..{dir 60}ww7 ); enddef; ofr.ww:= 43; ofl.ww:= 27; % ---- x ---------------------------------------------- def xx_bot(expr slop) = path xx; pair xx[]; xx1=(0,0); xx2=-rl*(ctg(slop)*u, u); xx3=xx2+(50u,0); xx4=xx2+(10u,-20u); xx5=xx3+(5u,-20u); xx = reverse (xx1--xx2{dir 20}...xx3{down}..xx4{down}...{dir 45}xx5 ) enddef; %xx_bot(alpha); ofl.xx:= rl*ctg(beta1)+2; ofr.xx:= 55-ofl.xx+5; % ---- y ---------------------------------------------- yy1=(0,0); yy2=(-25u,-(rl+rd)*u); yy3=yy1+(5u,-8u); yy12=yy2+(12u,10u); yy23=yy2+(-5u,20u); yy = reverse (yy1{-(dir alpha)}..yy12... yy2{left}...{dir alpha}yy23..{dir 60}yy3); ofr.yy:= 5; ofl.yy:= -(xpart yy2)/u+10; % ---- z ---------------------------------------------- zz1 = (0,0); zz2 = zz1+(-5u,-70u); zz3 = zz1+(3u,-5u); zz4 = zz3+(20u,0); zz = reverse (zz1{dir (180+alpha)}...zz2{right}... {dir 95}zz3{dir -30}..{dir 45}zz4); ofr.zz:= 25; ofl.zz:= 17; % ------------------------------------------------------------------- % ---------------------- Consonanti + Vocali ------------------------ % ------------------------------------------------------------------- % ------------------------------------------------------------------- % ------------------------------------------------------------------- % bbno; bba; bbe; bbi; bbo; bbu; def bbno = beginchar("b",maxwd(bb,notop),htup#,0); "The sign: b"; pickup mypen; no_top(alpha); draw (bb & notop) shifted (maxof(bb,notop),rh*u); endchar; enddef; def bba = beginchar(151,maxwd(bb,atop),htup#,0); "The sign: ba"; pickup mypen; a_top(alpha); draw (bb & atop) shifted (maxof(bb,atop),rh*u); endchar; enddef; def bbe = beginchar(152,maxwd(bb,etopbig),htup#,0); "The sign: be"; pickup mypen; e_top_big(alpha); draw (bb & etopbig) shifted (maxof(bb,etopbig),rh*u); endchar; enddef; def bbi = beginchar(153,maxwd(bb,itop),htup#,0); "The sign: bi"; pickup mypen; i_top(alpha); draw (bb & itop) shifted (maxof(bb,itop),rh*u); endchar; enddef; def bbo = beginchar(154,maxwd(bb,otop),htup#,0); "The sign: bo"; pickup mypen; o_top(alpha); draw (bb & otop) shifted (maxof(bb,otop),rh*u); endchar; enddef; def bbu = beginchar(155,maxwd(bb,utop),htup#,0); "The sign: bu"; pickup mypen; u_top(alpha); draw (bb & utop) shifted (maxof(bb,utop),rh*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % ccno; cca; cce; cci; cco; ccu; def ccno = beginchar("c",maxwd(ccc,notop),htx#,0); "The sign: c"; pickup mypen; no_top(alpha); draw (ccc & notop) shifted (maxof(ccc,notop),rl*u); endchar; enddef; def cca = beginchar(156,maxwd(ccc,atop),htx#,0); "The sign: ca"; pickup mypen; a_top(alpha); draw (ccc & atop) shifted (maxof(ccc,atop),rl*u); endchar; enddef; def cce = beginchar(157,maxwd(ccc,etop),htx#,0); "The sign: ce"; pickup mypen; e_top(alpha); draw (ccc & etop) shifted (maxof(ccc,etop),rl*u); endchar; enddef; def cci = beginchar(158,maxwd(ccc,itop),htx#,0); "The sign: ci"; pickup mypen; i_top(alpha); draw (ccc & itop) shifted (maxof(ccc,itop),rl*u); endchar; enddef; def cco = beginchar(159,maxwd(ccc,otop),htx#,0); "The sign: co"; pickup mypen; o_top(alpha); draw (ccc & otop) shifted (maxof(ccc,otop),rl*u); endchar; enddef; def ccu = beginchar(160,maxwd(ccc,utop),htx#,0); "The sign: cu"; pickup mypen; u_top(alpha); draw (ccc & utop) shifted (maxof(ccc,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % ddno; dda; dde; ddi; ddo; ddu; def ddno = beginchar("d",maxwd(ddd,notop),htup#,0); "The sign: d"; pickup mypen; no_top(alpha); draw (ddd & notop) shifted (maxof(ddd,notop),rh*u); endchar; enddef; %------------------------------------------ def dda = beginchar(161,maxwd(ddd,atop),htup#,0); "The sign: da"; pickup mypen; a_top(alpha); draw (ddd & atop) shifted (maxof(ddd,atop),rh*u); endchar; enddef; %------------------------------------------ def dde = beginchar(162,maxwd(ddd,etopbig),htup#,0); "The sign: de"; pickup mypen; e_top_big(alpha); draw (ddd & etopbig) shifted (maxof(ddd,etopbig),rh*u); endchar; enddef; %------------------------------------------ def ddi = beginchar(163,maxwd(ddd,itop),htup#,0); "The sign: di"; pickup mypen; i_top(alpha); draw (ddd & itop) shifted (maxof(ddd,itop),rh*u); endchar; enddef; %------------------------------------------ def ddo = beginchar(164,maxwd(ddd,otop),htup#,0); "The sign: do"; pickup mypen; o_top(alpha); draw (ddd & otop) shifted (maxof(ddd,otop),rh*u); endchar; enddef; %------------------------------------------ def ddu = beginchar(165,maxwd(ddd,utop),htup#,0); "The sign: du"; pickup mypen; u_top(alpha); draw (ddd & utop) shifted (maxof(ddd,utop),rh*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % ffno; ffa; ffe; ffi; ffo; ffu; def ffno = beginchar("f",maxwd(ff,notop),htup#,htdw#); "The sign: f"; pickup mypen; no_top(alpha); draw (ff & notop) shifted (maxof(ff,notop),rh*u); endchar; enddef; %------------------------------------------ def ffa = beginchar(166,maxwd(ff,atop),htup#,htdw#); "The sign: fa"; pickup mypen; a_top(alpha); draw (ff & atop) shifted (maxof(ff,atop),rh*u); endchar; enddef; %------------------------------------------ def ffe = beginchar(167,maxwd(ff,etopbig),htup#,htdw#); "The sign: fe"; pickup mypen; e_top_big(alpha); draw (ff & etopbig) shifted (maxof(ff,etopbig),rh*u); endchar; enddef; %------------------------------------------ def ffi = beginchar(168,maxwd(ff,itop),htup#,htdw#); "The sign: fi"; pickup mypen; i_top(alpha); draw (ff & itop) shifted (maxof(ff,itop),rh*u); endchar; enddef; %------------------------------------------ def ffo = beginchar(169,maxwd(ff,otop),htup#,htdw#); "The sign: fo"; pickup mypen; o_top(alpha); draw (ff & otop) shifted (maxof(ff,otop),rh*u); endchar; enddef; %------------------------------------------ def ffu = beginchar(170,maxwd(ff,utop),htup#,htdw#); "The sign: fu"; pickup mypen; u_top(alpha); draw (ff & utop) shifted (maxof(ff,utop),rh*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % ggno; gga; gge; ggi; ggo; ggu; def ggno = beginchar("g",maxwd(gg,notop),htx#,htdw#); "The sign: g"; pickup mypen; no_top(alpha); draw (gg & notop) shifted (maxof(gg,notop),rl*u); endchar; enddef; def gga = beginchar(171,maxwd(gg,atop),htx#,htdw#); "The sign: ga"; pickup mypen; a_top(alpha); draw (gg & atop) shifted (maxof(gg,atop),rl*u); endchar; enddef; def gge = beginchar(172,maxwd(gg,etop),htx#,htdw#); "The sign: ge"; pickup mypen; e_top(alpha); draw (gg & etop) shifted (maxof(gg,etop),rl*u); endchar; enddef; def ggi = beginchar(173,maxwd(gg,itop),htx#,htdw#); "The sign: gi"; pickup mypen; i_top(alpha); draw (gg & itop) shifted (maxof(gg,itop),rl*u); endchar; enddef; def ggo = beginchar(174,maxwd(gg,otop),htx#,htdw#); "The sign: go"; pickup mypen; o_top(alpha); draw (gg & otop) shifted (maxof(gg,otop),rl*u); endchar; enddef; def ggu = beginchar(175,maxwd(gg,utop),htx#,htdw#); "The sign: gu"; pickup mypen; u_top(alpha); draw (gg & utop) shifted (maxof(gg,utop),rl*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % hhno; hha; hhe; hhi; hho; hhu; def hhno = beginchar("h",maxwd(hh,notop),htup#,0); "The sign: h"; pickup mypen; no_top(alpha); draw (hh & notop) shifted (maxof(hh,notop),rh*u); endchar; enddef; def hha = beginchar(176,maxwd(hh,atop),htup#,0); "The sign: ha"; pickup mypen; a_top(alpha); draw (hh & atop) shifted (maxof(hh,atop),rh*u); endchar; enddef; def hhe = beginchar(177,maxwd(hh,etop),htup#,0); "The sign: he"; pickup mypen; e_top_big(alpha); draw (hh & etopbig) shifted (maxof(hh,etop),rh*u); endchar; enddef; def hhi = beginchar(178,maxwd(hh,itop),htup#,0); "The sign: hi"; pickup mypen; i_top(alpha); draw (hh & itop) shifted (maxof(hh,itop),rh*u); endchar; enddef; def hho = beginchar(179,maxwd(hh,otop),htup#,0); "The sign: ho"; pickup mypen; o_top(alpha); draw (hh & otop) shifted (maxof(hh,otop),rh*u); endchar; enddef; def hhu = beginchar(180,maxwd(hh,utop),htup#,0); "The sign: hu"; pickup mypen; u_top(alpha); draw (hh & utop) shifted (maxof(hh,utop),rh*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % jjno; jja; jje; jji; jjo; jju; def jjno = beginchar("j",maxwd(jj,notop),htx#,htdw#); "The sign: j"; pickup mypen; no_top(alpha); draw (jj & notop) shifted (maxof(jj,notop),rl*u); draw (jjbot) shifted (maxof(jj,notop),rl*u); endchar; enddef; def jja = beginchar(181,maxwd(jj,atop),htx#,htdw#); "The sign: ja"; pickup mypen; a_top(alpha); draw (jj & atop) shifted (maxof(jj,atop),rl*u); draw (jjbot) shifted (maxof(jj,atop),rl*u); endchar; enddef; def jje = beginchar(182,maxwd(jj,etop),htx#,htdw#); "The sign: je"; pickup mypen; e_top(alpha); draw (jj & etop) shifted (maxof(jj,etop),rl*u); draw (jjbot) shifted (maxof(jj,etop),rl*u); endchar; enddef; def jji = beginchar(183,maxwd(jj,itop),htx#,htdw#); "The sign: ji"; pickup mypen; i_top(alpha); draw (jj & itop) shifted (maxof(jj,itop),rl*u); draw (jjbot) shifted (maxof(jj,itop),rl*u); endchar; enddef; def jjo = beginchar(184,maxwd(jj,otop),htx#,htdw#); "The sign: jo"; pickup mypen; o_top(alpha); draw (jj & otop) shifted (maxof(jj,otop),rl*u); draw (jjbot) shifted (maxof(jj,otop),rl*u); endchar; enddef; def jju = beginchar(185,maxwd(jj,utop),htx#,htdw#); "The sign: ju"; pickup mypen; u_top(alpha); draw (jj & utop) shifted (maxof(jj,utop),rl*u); draw (jjbot) shifted (maxof(jj,utop),rl*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % kkno; kka; kke; kki; kko; kku; def kkno = beginchar("k",maxwd(kk,notop),htup#,0); "The sign: k"; pickup mypen; no_top(alpha); draw (kk & notop) shifted (maxof(kk,notop),rh*u); endchar; enddef; def kka = beginchar(186,maxwd(kk,atop),htup#,0); "The sign: ka"; pickup mypen; a_top(alpha); draw (kk & atop) shifted (maxof(kk,atop),rh*u); endchar; enddef; def kke = beginchar(187,maxwd(kk,etop),htup#,0); "The sign: ke"; pickup mypen; e_top_big(alpha); draw (kk & etopbig) shifted (maxof(kk,etop),rh*u); endchar; enddef; def kki = beginchar(188,maxwd(kk,itop),htup#,0); "The sign: ki"; pickup mypen; i_top(alpha); draw (kk & itop) shifted (maxof(kk,itop),rh*u); endchar; enddef; def kko = beginchar(189,maxwd(kk,otop),htup#,0); "The sign: ko"; pickup mypen; o_top(alpha); draw (kk & otop) shifted (maxof(kk,otop),rh*u); endchar; enddef; def kku = beginchar(190,maxwd(kk,utop),htup#,0); "The sign: ku"; pickup mypen; u_top(alpha); draw (kk & utop) shifted (maxof(kk,utop),rh*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % llno; lla; lle; lli; llo; llu; def llno = beginchar("l",maxwd(ll,notop),htup#,0); "The sign: l"; pickup mypen; no_top(alpha); draw (ll & notop) shifted (maxof(ll,notop),rh*u); endchar; enddef; def lla = beginchar(191,maxwd(ll,atop),htup#,0); "The sign: la"; pickup mypen; a_top(alpha); draw (ll & atop) shifted (maxof(ll,atop),rh*u); endchar; enddef; def lle = beginchar(192,maxwd(ll,etopbig),htup#,0); "The sign: le"; pickup mypen; e_top_big(alpha); draw (ll & etopbig) shifted (maxof(ll,etopbig),rh*u); endchar; enddef; def lli = beginchar(193,maxwd(ll,itop),htup#,0); "The sign: li"; pickup mypen; i_top(alpha); draw (ll & itop) shifted (maxof(ll,itop),rh*u); endchar; enddef; def llo = beginchar(194,maxwd(ll,otop),htup#,0); "The sign: lo"; pickup mypen; o_top(alpha); draw (ll & otop) shifted (maxof(ll,otop),rh*u); endchar; enddef; def llu = beginchar(195,maxwd(ll,utop),htup#,0); "The sign: lu"; pickup mypen; u_top(alpha); draw (ll & utop) shifted (maxof(ll,utop),rh*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % mmno; mma; mme; mmi; mmo; mmu; def mmno = beginchar("m",maxwd(mmm,notop),htx#,0); "The sign: m"; pickup mypen; no_top(beta2); draw (mmm & notop) shifted (maxof(mmm,notop),rl*u); endchar; enddef; def mma = beginchar(196,maxwd(mmm,atop),htx#,0); "The sign: ma"; pickup mypen; a_top(beta2); draw (mmm & atop) shifted (maxof(mmm,atop),rl*u); endchar; enddef; def mme = beginchar(197,maxwd(mmm,etop),htx#,0); "The sign: me"; pickup mypen; e_top(beta2); draw (mmm & etop) shifted (maxof(mmm,etop),rl*u); endchar; enddef; def mmi = beginchar(198,maxwd(mmm,itop),htx#,0); "The sign: mi"; pickup mypen; i_top(beta2); draw (mmm & itop) shifted (maxof(mmm,itop),rl*u); endchar; enddef; def mmo = beginchar(199,maxwd(mmm,otop),htx#,0); "The sign: mo"; pickup mypen; o_top(beta2); draw (mmm & otop) shifted (maxof(mmm,otop),rl*u); endchar; enddef; def mmu = beginchar(200,maxwd(mmm,utop),htx#,0); "The sign: mu"; pickup mypen; u_top(beta2); draw (mmm & utop) shifted (maxof(mmm,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % nnno; nna; nne; nni; nno; nnu; def nnno = beginchar("n",maxwd(nn,notop),htx#,0); "The sign: n"; pickup mypen; no_top(beta1); nn_bot(beta1); draw (nn & notop) shifted (maxof(nn,notop),rl*u); endchar; enddef; def nna = beginchar(201,maxwd(nn,atop),htx#,0); "The sign: na"; pickup mypen; a_top(beta1); nn_bot(beta1); draw (nn & atop) shifted (maxof(nn,atop),rl*u); endchar; enddef; def nne = beginchar(202,maxwd(nn,etop),htx#,0); "The sign: ne"; pickup mypen; e_top(beta1); nn_bot(beta1); draw (nn & etop) shifted (maxof(nn,etop),rl*u); endchar; enddef; def nni = beginchar(203,maxwd(nn,itop),htx#,0); "The sign: ni"; pickup mypen; i_top(beta1); nn_bot(beta1); draw (nn & itop) shifted (maxof(nn,itop),rl*u); endchar; enddef; def nno = beginchar(204,maxwd(nn,otop),htx#,0); "The sign: no"; pickup mypen; o_top(beta1); nn_bot(beta1); draw (nn & otop) shifted (maxof(nn,otop),rl*u); endchar; enddef; def nnu = beginchar(205,maxwd(nn,utop),htx#,0); "The sign: nu"; pickup mypen; u_top(beta2); nn_bot(beta2); draw (nn & utop) shifted (maxof(nn,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % ppno; ppa; ppe; ppi; ppo; ppu; def ppno = beginchar("p",maxwd(pp,notop),htx#,htdw#); "The sign: p"; pickup mypen; no_top(alpha); draw (pp & notop) shifted (maxof(pp,notop),rl*u); draw (ppbot) shifted (maxof(pp,notop),rl*u); endchar; enddef; def ppa = beginchar(206,maxwd(pp,atop),htx#,htdw#); "The sign: pa"; pickup mypen; a_top(alpha); draw (pp & atop) shifted (maxof(pp,atop),rl*u); draw (ppbot) shifted (maxof(pp,atop),rl*u); endchar; enddef; def ppe = beginchar(207,maxwd(pp,etop),htx#,htdw#); "The sign: pe"; pickup mypen; e_top(alpha); draw (pp & etop) shifted (maxof(pp,etop),rl*u); draw (ppbot) shifted (maxof(pp,etop),rl*u); endchar; enddef; def ppi = beginchar(208,maxwd(pp,itop),htx#,htdw#); "The sign: pi"; pickup mypen; i_top(alpha); draw (pp & itop) shifted (maxof(pp,itop),rl*u); draw (ppbot) shifted (maxof(pp,itop),rl*u); endchar; enddef; def ppo = beginchar(209,maxwd(pp,otop),htx#,htdw#); "The sign: po"; pickup mypen; o_top(alpha); draw (pp & otop) shifted (maxof(pp,otop),rl*u); draw (ppbot) shifted (maxof(pp,otop),rl*u); endchar; enddef; def ppu = beginchar(210,maxwd(pp,utop),htx#,htdw#); "The sign: pu"; pickup mypen; u_top(alpha); draw (pp & utop) shifted (maxof(pp,utop),rl*u); draw (ppbot) shifted (maxof(pp,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % qqno; qqa; qqe; qqi; qqo; qqu; def qqno = beginchar("q",maxwd(qq,notop),htx#,htdw#); "The sign: qu"; pickup mypen; no_top(alpha); draw (qq & notop) shifted (maxof(qq,notop),rl*u); draw (qqbot) shifted (maxof(qq,notop),rl*u); endchar; enddef; def qqa = beginchar(211,maxwd(qq,atop),htx#,htdw#); "The sign: qua"; pickup mypen; a_top(alpha); draw (qq & atop) shifted (maxof(qq,atop),rl*u); draw (qqbot) shifted (maxof(qq,atop),rl*u); endchar; enddef; def qqe = beginchar(212,maxwd(qq,etop),htx#,htdw#); "The sign: que"; pickup mypen; e_top(alpha); draw (qq & etop) shifted (maxof(qq,etop),rl*u); draw (qqbot) shifted (maxof(qq,etop),rl*u); endchar; enddef; def qqi = beginchar(213,maxwd(qq,itop),htx#,htdw#); "The sign: qui"; pickup mypen; i_top(alpha); draw (qq & itop) shifted (maxof(qq,itop),rl*u); draw (qqbot) shifted (maxof(qq,itop),rl*u); endchar; enddef; def qqo = beginchar(214,maxwd(qq,otop),htx#,htdw#); "The sign: quo"; pickup mypen; o_top(alpha); draw (qq & otop) shifted (maxof(qq,otop),rl*u); draw (qqbot) shifted (maxof(qq,otop),rl*u); endchar; enddef; def qqu = beginchar(215,maxwd(qq,utop),htx#,htdw#); "The sign: quu"; pickup mypen; u_top(alpha); draw (qq & utop) shifted (maxof(qq,utop),rl*u); draw (qqbot) shifted (maxof(qq,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % rrno; rra; rre; rri; rro; rru; def rrno = beginchar("r",maxwd(rr,notop),htx#,0); "The sign: r"; pickup mypen; no_top(beta2); i_top(beta2); draw ((reverse (itop rotated 180)) & notop) shifted (maxof(rr,notop),rl*u); endchar; enddef; def rra = beginchar(216,maxwd(rr,atop),htx#,0); "The sign: ra"; pickup mypen; a_top(beta1); i_top(beta1); draw ((reverse (itop rotated 180)) & atop) shifted (maxof(rr,atop),rl*u); endchar; enddef; def rre = beginchar(217,maxwd(rr,etop),htx#,0); "The sign: re"; pickup mypen; e_top(alpha); i_top(alpha); draw ((reverse (itop rotated 180)) & etop) shifted (maxof(rr,etop),rl*u); endchar; enddef; def rri = beginchar(218,maxwd(rr,itop),htx#,0); "The sign: ri"; pickup mypen; i_top(alpha); i_top(alpha); draw ((reverse (itop rotated 180)) & itop) shifted (maxof(rr,itop),rl*u); endchar; enddef; def rro = beginchar(219,maxwd(rr,otop),htx#,0); "The sign: ro"; pickup mypen; o_top(beta2); i_top(beta2); draw ((reverse (itop rotated 180)) & otop) shifted (maxof(rr,otop),rl*u); endchar; enddef; def rru = beginchar(220,maxwd(rr,utop),htx#,0); "The sign: ru"; pickup mypen; u_top(alpha); i_top(alpha); draw ((reverse (itop rotated 180)) & utop) shifted (maxof(rr,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % ssno; ssa; sse; ssi; sso; ssu; def ssno = beginchar("s",maxwd(ss,notop),htx#,0); "The sign: s"; pickup mypen; ss_bot(alpha); no_top(alpha); draw (ss & notop) shifted (maxof(ss,notop),rl*u); endchar; enddef; def ssa = beginchar(221,maxwd(ss,atop),htx#,0); "The sign: sa"; pickup mypen; a_top(alpha); draw (ss & atop) shifted (maxof(ss,atop),rl*u); endchar; enddef; def sse = beginchar(222,maxwd(ss,etop),htx#,0); "The sign: se"; pickup mypen; ss_bot((alpha+7)); e_top((alpha+7)); draw (ss & etop) shifted (maxof(ss,etop),rl*u); endchar; enddef; def ssi = beginchar(223,maxwd(ss,itop),htx#,0); "The sign: si"; pickup mypen; ss_bot(alpha); i_top(alpha); draw (ss & itop) shifted (maxof(ss,itop),rl*u); endchar; enddef; def sso = beginchar(224,maxwd(ss,otop),htx#,0); "The sign: so"; pickup mypen; ss_bot(alpha); o_top(alpha); draw (ss & otop) shifted (maxof(ss,otop),rl*u); endchar; enddef; def ssu = beginchar(225,maxwd(ss,utop),htx#,0); "The sign: su"; pickup mypen; ss_bot((alpha+5)); u_top((alpha+5)); draw (ss & utop) shifted (maxof(ss,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % ttno; tta; tte; tti; tto; ttu; def ttno = beginchar("t",maxwd(tt,notop),htup#,0); "The sign: t"; pickup mypen; no_top(alpha); draw (tt & notop) shifted (maxof(tt,notop),rh*u); endchar; enddef; %------------------------------------------ def tta = beginchar(226,maxwd(tt,atop),htup#,0); "The sign: ta"; pickup mypen; a_top(alpha); draw (tt & atop) shifted (maxof(tt,atop),rh*u); endchar; enddef; %------------------------------------------ def tte = beginchar(227,maxwd(tt,etopbig),htup#,0); "The sign: te"; pickup mypen; e_top_big(alpha); draw (tt & etopbig) shifted (maxof(tt,etopbig),rh*u); endchar; enddef; %------------------------------------------ def tti = beginchar(228,maxwd(tt,itop),htup#,0); "The sign: ti"; pickup mypen; i_top(alpha); draw (tt & itop) shifted (maxof(tt,itop),rh*u); endchar; enddef; %------------------------------------------ def tto = beginchar(229,maxwd(tt,otop),htup#,0); "The sign: to"; pickup mypen; o_top(alpha); draw (tt & otop) shifted (maxof(tt,otop),rh*u); endchar; enddef; %------------------------------------------ def ttu = beginchar(230,maxwd(tt,utop),htup#,0); "The sign: tu"; pickup mypen; u_top(alpha); draw (tt & utop) shifted (maxof(tt,utop),rh*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % vvno; vva; vve; vvi; vvo; vvu; def vvno = beginchar("v",maxwd(vv,notop),htx#,0); "The sign: v"; pickup mypen; no_top(alpha); draw (vv & notop) shifted (maxof(vv,notop),rl*u); endchar; enddef; def vva = beginchar(231,maxwd(vv,atop),htx#,0); "The sign: va"; pickup mypen; a_top(alpha); draw (vv & atop) shifted (maxof(vv,atop),rl*u); endchar; enddef; def vve = beginchar(232,maxwd(vv,etop),htx#,0); "The sign: ve"; pickup mypen; e_top(alpha); draw (vv & etop) shifted (maxof(vv,etop),rl*u); endchar; enddef; def vvi = beginchar(233,maxwd(vv,itop),htx#,0); "The sign: vi"; pickup mypen; i_top(alpha); draw (vv & itop) shifted (maxof(vv,itop),rl*u); endchar; enddef; def vvo = beginchar(234,maxwd(vv,otop),htx#,0); "The sign: vo"; pickup mypen; o_top(alpha); draw (vv & otop) shifted (maxof(vv,otop),rl*u); endchar; enddef; def vvu = beginchar(235,maxwd(vv,utop),htx#,0); "The sign: vu"; pickup mypen; u_top(alpha); draw (vv & utop) shifted (maxof(vv,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % xxno; xxa; xxe; xxi; xxo; xxu; def xxno = beginchar("x",maxwd(xx,notop),htx#,htdw#); "The sign: x"; pickup mypen; no_top(beta1); xx_bot(beta1); draw (xx & notop) shifted (maxof(xx,notop),rl*u); endchar; enddef; def xxa = beginchar(241,maxwd(xx,atop),htx#,htdw#); "The sign: xa"; pickup mypen; a_top((beta1-5)); xx_bot((beta1-5)); draw (xx & atop) shifted (maxof(xx,atop),rl*u); endchar; enddef; def xxe = beginchar(242,maxwd(xx,etop),htx#,htdw#); "The sign: xe"; pickup mypen; e_top(beta1); xx_bot(beta1); draw (xx & etop) shifted (maxof(xx,etop),rl*u); endchar; enddef; def xxi = beginchar(243,maxwd(xx,itop),htx#,htdw#); "The sign: xi"; pickup mypen; i_top(beta1); xx_bot(beta1); draw (xx & itop) shifted (maxof(xx,itop),rl*u); endchar; enddef; def xxo = beginchar(244,maxwd(xx,otop),htx#,htdw#); "The sign: xo"; pickup mypen; o_top(beta1); xx_bot(beta1); draw (xx & otop) shifted (maxof(xx,otop),rl*u); endchar; enddef; def xxu = beginchar(245,maxwd(xx,utop),htx#,htdw#); "The sign: xu"; pickup mypen; u_top(beta2); xx_bot(beta2); draw (xx & utop) shifted (maxof(xx,utop)-2u,rl*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % yyno; yya; yye; yyi; yyo; yyu; def yyno = beginchar("y",maxwd(yy,notop),htx#,htdw#); "The sign: y"; pickup mypen; no_top(alpha); draw (yy & notop) shifted (maxof(yy,notop),rl*u); endchar; enddef; def yya = beginchar(246,maxwd(yy,atop),htx#,htdw#); "The sign: ya"; pickup mypen; a_top(alpha); draw (yy & atop) shifted (maxof(yy,atop),rl*u); endchar; enddef; def yye = beginchar(247,maxwd(yy,etop),htx#,htdw#); "The sign: ye"; pickup mypen; e_top(alpha); draw (yy & etop) shifted (maxof(yy,etop),rl*u); endchar; enddef; def yyi = beginchar(248,maxwd(yy,itop),htx#,htdw#); "The sign: yi"; pickup mypen; i_top(alpha); draw (yy & itop) shifted (maxof(yy,itop),rl*u); endchar; enddef; def yyo = beginchar(249,maxwd(yy,otop),htx#,htdw#); "The sign: yo"; pickup mypen; o_top(alpha); draw (yy & otop) shifted (maxof(yy,otop),rl*u); endchar; enddef; def yyu = beginchar(250,maxwd(yy,utop),htx#,htdw#); "The sign: yu"; pickup mypen; u_top(alpha); draw (yy & utop) shifted (maxof(yy,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % wwno; wwa; wwe; wwi; wwo; wwu; def wwno = beginchar("w",maxwd(ww,notop),htx#,0); "The sign: w"; pickup mypen; no_top(alpha); ww_bot(alpha); draw (ww & notop) shifted (maxof(ww,notop),rl*u); endchar; enddef; def wwa = beginchar(236,maxwd(ww,atop),htx#,0); "The sign: wa"; pickup mypen; a_top(beta1); ww_bot(beta1); draw (ww & atop) shifted (maxof(ww,atop),rl*u); endchar; enddef; def wwe = beginchar(237,maxwd(ww,etop),htx#,0); "The sign: we"; pickup mypen; e_top(alpha); ww_bot(alpha); draw (ww & etop) shifted (maxof(ww,etop),rl*u); endchar; enddef; def wwi = beginchar(238,maxwd(ww,itop),htx#,0); "The sign: wi"; pickup mypen; i_top(alpha); ww_bot(alpha); draw (ww & itop) shifted (maxof(ww,itop),rl*u); endchar; enddef; def wwo = beginchar(239,maxwd(ww,otop),htx#,0); "The sign: wo"; pickup mypen; o_top(beta1); ww_bot(beta1); draw (ww & otop) shifted (maxof(ww,otop),rl*u); endchar; enddef; def wwu = beginchar(240,maxwd(ww,utop),htx#,0); "The sign: wu"; pickup mypen; u_top(alpha); ww_bot(alpha); draw (ww & utop) shifted (maxof(ww,utop),rl*u); endchar; enddef; % --------------------------------------------------------- % --------------------------------------------------------- % zzno; zza; zze; zzi; zzo; zzu; def zzno = beginchar("z",maxwd(zz,notop),htx#,htdw#); "The sign: z"; pickup mypen; no_top(alpha); draw (zz & notop) shifted (maxof(zz,notop),rl*u); endchar; enddef; def zza = beginchar(251,maxwd(zz,atop),htx#,htdw#); "The sign: za"; pickup mypen; a_top(alpha); draw (zz & atop) shifted (maxof(zz,atop),rl*u); endchar; enddef; def zze = beginchar(252,maxwd(zz,etop),htx#,htdw#); "The sign: ze"; pickup mypen; e_top(alpha); draw (zz & etop) shifted (maxof(zz,etop),rl*u); endchar; enddef; def zzi = beginchar(253,maxwd(zz,itop),htx#,htdw#); "The sign: zi"; pickup mypen; i_top(alpha); draw (zz & itop) shifted (maxof(zz,itop),rl*u); endchar; enddef; def zzo = beginchar(254,maxwd(zz,otop),htx#,htdw#); "The sign: zo"; pickup mypen; o_top(alpha); draw (zz & otop) shifted (maxof(zz,otop),rl*u); endchar; enddef; def zzu = beginchar(255,maxwd(zz,utop),htx#,htdw#); "The sign: zu"; pickup mypen; u_top(alpha); draw (zz & utop) shifted (maxof(zz,utop),rl*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------- Vocali singole -------------------------- % ------------------------------------------------------------------- % -- a -- ofl.abot:=ctg(beta1)*30; ofr.abot:=40-ofl.abot; def a_bot(expr slop) = path abot; pair abot[]; abot1=(0,0); abot2=abot1 - (ctg(slop)*30u, 30u); abot3=abot1 + (20u,0); abot4=abot3 + (-5u, -30u); abot = reverse (abot1--abot2--abot3--abot4); enddef; % -- e -- ofl.ebot:=10; ofr.ebot:=30; def e_bot(expr slop) = path ebot; pair ebot[]; ebot1=(0,0); ebot2=ebot1 + (0, -30u); ebot3=ebot2 + (20u,20u); ebot4=ebot3 + (0,-20u); ebot5=ebot4 + (10u,5u); ebot = reverse (ebot1{-(dir slop)}..ebot2{right}.. {dir 80}ebot3{down}..ebot4{right}..ebot5{dir 30}); enddef; % -- i -- ofl.ibot:=ctg(beta2)*30; ofr.ibot:=48-ofl.ibot; def i_bot(expr slop) = path ibot; pair ibot[]; ibot1 = (ctg(slop)*30u, 30u); ibot2 = (15u,10u); ibot3 = (30u,0); ibot4 = (45u,20u); ibot5 = ibot4+(2u,-20u); ibot = (reverse (ibot1--(0,0){dir 45}..ibot2{right}..ibot3{right}.. {up}ibot4--ibot5)) shifted -ibot1; enddef; % -- o -- ofl.obot:=32; ofr.obot:=22; def o_bot(expr slop) = path obot; pair obot[]; obot1=(0,0); obot2=obot1+(-25u,-30u); obot3=obot1+(-30u,-25u); obot4=obot1+(5u,-30u); obot5=obot1+(20u,-10u); obot6= obot5-(-2u,20u); obot = reverse (obot1{dir (180+slop)}...obot2{left}.. obot3{up}..obot4{right}..{up}obot5 --obot6); enddef; % -- u -- ofl.ubot:=ofl.vv+2; ofr.ubot:=ofr.vv+7; def u_bot(expr slop) = path ubot; pair ubot[]; ubot1= vv4-(bot (3u,30u)); ubot = reverse (vv1{dir (180+slop)}...vv2{right}... {dir 120}vv3{right}..{dir 30}vv4--ubot1); enddef; % ---------------------------------------------------------------------- % ---------------------------------------------------------------------- % ano; eno; ino; ono; uno; def ano = beginchar("a",maxwd(abot,notop),htx#,0); "The sign: a"; pickup mypen; no_top(beta1); a_bot(beta1) draw (abot & notop) shifted (maxof(abot,notop),rl*u); endchar; enddef; % ------------------------------------- def eno = beginchar("e",maxwd(ebot,notop),htx#,0); "The sign: e"; pickup mypen; no_top(beta1); e_bot(beta1) draw (ebot & notop) shifted (maxof(ebot,notop),rl*u); endchar; enddef; % ------------------------------------- def ino = beginchar("i",maxwd(ibot,notop),htx#,0); "The sign: i"; pickup mypen; no_top(beta1); i_bot(beta1) draw (ibot & notop) shifted (maxof(ibot,notop),rl*u); endchar; enddef; % ------------------------------------- def ono = beginchar("o",maxwd(obot,notop),htx#,0); "The sign: o"; pickup mypen; no_top(beta1); o_bot(beta1) draw (obot & notop) shifted (maxof(obot,notop),rl*u); endchar; enddef; % ------------------------------------- def uno = beginchar("u",maxwd(ubot,notop),htx#,0); "The sign: u"; pickup mypen; no_top(beta1); u_bot(beta1) draw (ubot & notop) shifted (maxof(ubot,notop),rl*u); endchar; enddef; % ---------------------------------------------------------------------- % ----------------------- Vocali precedute da vocali ------------------- % ---------------------------------------------------------------------- % Aa;Ae;Ai;Ao;Au;Ea;Ee;Ei;Eo;Eu;Ia;Ie;Ii;Io;Iu; % Oa;Oe;Oi;Oo;Ou;Ua;Ue;Ui;Uo;Uu; % ------------------------------------- % ------------------------------------- % Aa; Ae; Ai; Ao; Au; def Aa = beginchar(123,maxwd(abot,atop),htx#,0); "The sign: Aa"; pickup mypen; a_top(beta1); a_bot(beta1); draw (abot & atop) shifted (maxof(abot,atop),rl*u); endchar; enddef; % ------------------------------------- def Ae = beginchar(128,maxwd(ebot,atop),htx#,0); "The sign: Ae"; pickup mypen; a_top(beta1); e_bot(beta1); draw (ebot & atop) shifted (maxof(ebot,atop),rl*u); endchar; enddef; % ------------------------------------- def Ai = beginchar(133,maxwd(ibot,atop),htx#,0); "The sign: Ai"; pickup mypen; a_top(50); i_bot(50); draw (ibot & atop) shifted (maxof(ibot,atop)+5u,rl*u); endchar; enddef; % ------------------------------------- def Ao = beginchar(138,maxwd(obot,atop),htx#,0); "The sign: Ao"; pickup mypen; pair obot[]; a_top(beta1); o_bot(beta1); draw (obot & atop) shifted (maxof(obot,atop),rl*u); endchar; enddef; % ------------------------------------- def Au = beginchar(143,maxwd(ubot,atop),htx#,0); "The sign: Au"; pickup mypen; a_top(beta1); u_bot(beta1); draw (ubot & atop) shifted (maxof(ubot,atop),rl*u); endchar; enddef; % ------------------------------------- % ------------------------------------- % Ea; Ee; Ei; Eo; Eu; def Ea = beginchar(124,maxwd(abot,etop),htx#,0); "The sign: Ea"; pickup mypen; e_top(beta2); a_bot(beta2); draw (abot & etop) shifted (maxof(abot,etop),rl*u); endchar; enddef; % ------------------------------------- def Ee = beginchar(129,maxwd(ebot,etop),htx#,0); "The sign: Ee"; pickup mypen; e_top(beta1); e_bot(beta1); draw (ebot & etop) shifted (maxof(ebot,etop),rl*u); endchar; enddef; % ------------------------------------- def Ei = beginchar(134,maxwd(ibot,etop),htx#,0); "The sign: Ei"; pickup mypen; e_top(beta1); i_bot(beta1); draw (ibot & etop) shifted (maxof(ibot,etop),rl*u); endchar; enddef; % ------------------------------------- def Eo = beginchar(139,maxwd(obot,etop),htx#,0); "The sign: Eo"; pickup mypen; e_top(beta2); o_bot(beta2); draw (obot & etop) shifted (maxof(obot,etop),rl*u); endchar; enddef; % ------------------------------------- def Eu = beginchar(144,maxwd(ubot,etop),htx#,0); "The sign: Eu"; pickup mypen; e_top(beta1); u_bot(beta1); draw (ubot & etop) shifted (maxof(ubot,etop),rl*u); endchar; enddef; % ------------------------------------- % ------------------------------------- % Ia; Ie; Ii; Io; Iu; def Ia = beginchar(125,maxwd(abot,itop),htx#,0); "The sign: Ia"; pickup mypen; i_top(beta1); a_bot(beta1); draw (abot & itop) shifted (maxof(abot,itop),rl*u); endchar; enddef; % ------------------------------------- def Ie = beginchar(130,maxwd(ebot,itop),htx#,0); "The sign: Ie"; pickup mypen; i_top(beta1); e_bot(beta1); draw (ebot & itop) shifted (maxof(ebot,itop),rl*u); endchar; enddef; % ------------------------------------- def Ii = beginchar(135,maxwd(ibot,itop),htx#,0); "The sign: Ii"; pickup mypen; pair itop[]; i_top(beta2); i_bot(beta2); draw (ibot & itop) shifted (maxof(ibot,itop),rl*u); endchar; enddef; % ------------------------------------- def Io = beginchar(140,maxwd(obot,itop),htx#,0); "The sign: Io"; pickup mypen; i_top(beta2); o_bot(beta2); draw (obot & itop) shifted (maxof(obot,itop),rl*u); endchar; enddef; % ------------------------------------- def Iu = beginchar(145,maxwd(ubot,itop),htx#,0); "The sign: Iu"; pickup mypen; i_top(beta1); u_bot(beta1); draw (ubot & itop) shifted (maxof(ubot,itop),rl*u); endchar; enddef; % ------------------------------------- % ------------------------------------- % Oa; Oe; Oi; Oo; Ou; def Oa = beginchar(126,maxwd(abot,otop),htx#,0); "The sign: Oa"; pickup mypen; o_top(beta1); a_bot(beta1); draw (abot & otop) shifted (maxof(abot,otop),rl*u); endchar; enddef; % ------------------------------------- def Oe = beginchar(131,maxwd(ebot,otop),htx#,0); "The sign: Oe"; pickup mypen; o_top(beta1); e_bot(beta1); draw (ebot & otop) shifted (maxof(ebot,otop),rl*u); endchar; enddef; % ------------------------------------- def Oi = beginchar(136,maxwd(ibot,otop),htx#,0); "The sign: Oi"; pickup mypen; pair otop[],ibot[]; o_top(beta1); i_bot(beta1); draw (ibot & otop) shifted (maxof(ibot,otop),rl*u); endchar; enddef; % ------------------------------------- def Oo = beginchar(141,maxwd(obot,otop),htx#,0); "The sign: Oo"; pickup mypen; pair otop[],obot[]; o_top(beta1); o_bot(beta1); draw (obot & otop) shifted (maxof(obot,otop),rl*u); endchar; enddef; % ------------------------------------- def Ou = beginchar(146,maxwd(ubot,otop),htx#,0); "The sign: Ou"; pickup mypen; o_top(beta1); u_bot(beta1); draw (ubot & otop) shifted (maxof(ubot,otop),rl*u); endchar; enddef; % ------------------------------------- % ------------------------------------- % Ua; Ue; Ui; Uo; Uu; def Ua = beginchar(127,maxwd(abot,utop),htx#,0); "The sign: Ua"; pickup mypen; pair abot[]; u_top(beta2); a_bot(beta2); draw (abot & utop) shifted (maxof(abot,utop),rl*u); endchar; enddef; % ------------------------------------- def Ue = beginchar(132,maxwd(ebot,utop),htx#,0); "The sign: Ue"; pickup mypen; u_top(beta2); e_bot(beta2); draw (ebot & utop) shifted (maxof(ebot,utop),rl*u); endchar; enddef; % ------------------------------------- def Ui = beginchar(137,maxwd(ibot,utop),htx#,0); "The sign: Ui"; pickup mypen; pair utop[]; u_top(beta2); i_bot(beta2); draw (ibot & utop) shifted (maxof(ibot,utop),rl*u); endchar; enddef; % ------------------------------------- def Uo = beginchar(142,maxwd(obot,utop),htx#,0); "The sign: Uo"; pickup mypen; u_top(alpha); o_bot(alpha); draw (obot & utop) shifted (maxof(obot,utop),rl*u); endchar; enddef; % ------------------------------------- def Uu = beginchar(147,maxwd(ubot,utop),htx#,0); "The sign: Uu"; pickup mypen; u_top(beta2); u_bot(beta2); draw (ubot & utop) shifted (maxof(ubot,utop),rl*u); endchar; enddef; % ------------------------------------------------------------------- % ----------------- Coppie di consonanti speciali ------------------- % ------------------------------------------------------------------- % ch; cha; che; chi; cho; chu; % gn; gna; gne; gni; gno; gnu; % gl; glia; glie; gli; glio; gliu; % gh; gha; ghe; ghi; gho; ghu; % ------------------------------------- % ch; cha; che; chi; cho; chu; % ofr.chh:= 10; ofl.chh:= rh*ctg(alpha); %ofl.chh1:= rl*ctg(alpha); def ch = beginchar("A",maxwd(chh,notop),htup#,0); "The sign: ch"; pickup mypen; no_top(alpha); a_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); %draw (abot--z1 & (notop shifted z1)) shifted (maxof(chh1,notop),rl*u); draw (abot--z1 & (notop shifted z1)) shifted (12u,rl*u); endchar; enddef; % ------------------------------------- def cha = beginchar("B",maxwd(chh,atop),htup#,0); "The sign: cha"; pickup mypen; a_top(alpha); a_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); %draw (abot--z1 & (atop shifted z1)) shifted (maxof(chh,atop),rl*u); draw (abot--z1 & (atop shifted z1)) shifted (12u,rl*u); endchar; enddef; % ------------------------------------- def che = beginchar("C",maxwd(chh,etopbig),htup#,0); "The sign: che"; pickup mypen; e_top_big(alpha); a_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); %draw (abot--z1 & (etopbig shifted z1)) % shifted (maxof(chh1,etopbig),rl*u); draw (abot--z1 & (etopbig shifted z1)) shifted (12u,rl*u); endchar; enddef; % ------------------------------------- def chi = beginchar("D",maxwd(chh,itop),htup#,0); "The sign: chi"; pickup mypen; i_top(alpha); a_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); %draw (abot--z1 & (itop shifted z1)) shifted (maxof(chh1,itop),rl*u); draw (abot--z1 & (itop shifted z1)) shifted (12u,rl*u); endchar; enddef; % ------------------------------------- def cho = beginchar("E",maxwd(chh,otop),htup#,0); "The sign: cho"; pickup mypen; o_top(alpha); a_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); %draw (abot--z1 & (otop shifted z1)) shifted (maxof(chh1,otop),rl*u); draw (abot--z1 & (otop shifted z1)) shifted (12u,rl*u); endchar; enddef; % ------------------------------------- def chu = beginchar("F",maxwd(chh,utop),htup#,0); "The sign: chu"; pickup mypen; u_top(alpha); a_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); %draw (abot--z1 & (utop shifted z1)) shifted (maxof(chh1,utop),rl*u); draw (abot--z1 & (utop shifted z1)) shifted (12u,rl*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % gn; gna; gne; gni; gno; gnu; % ofr.gnn:= 14; ofl.gnn:= rh*ctg(alpha)+20; def gn = beginchar("I",maxwd(gnn,notop),htup#,0); "The sign: gn"; pickup mypen; no_top(alpha); o_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (obot--z1 & (notop shifted z1)) shifted (maxof(gnn,notop)-10u,rl*u); endchar; enddef; % ------------------------------------- def gna = beginchar("J",maxwd(gnn,atop),htup#,0); "The sign: gna"; pickup mypen; a_top(alpha); o_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (obot--z1 & (atop shifted z1)) shifted (maxof(gnn,atop)-10u,rl*u); endchar; enddef; % ------------------------------------- def gne = beginchar("K",maxwd(gnn,etopbig),htup#,0); "The sign: gne"; pickup mypen; e_top_big(alpha); o_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (obot--z1 & (etopbig shifted z1)) shifted (maxof(gnn,etopbig)-10u,rl*u); endchar; enddef; % ------------------------------------- def gni = beginchar("L",maxwd(gnn,itop),htup#,0); "The sign: gni"; pickup mypen; i_top(alpha); o_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (obot--z1 & (itop shifted z1)) shifted (maxof(gnn,itop)-10u,rl*u); endchar; enddef; % ------------------------------------- def gno = beginchar("M",maxwd(gnn,otop),htup#,0); "The sign: gno"; pickup mypen; o_top(alpha); o_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (obot--z1 & (otop shifted z1)) shifted (maxof(gnn,otop)-10u,rl*u); endchar; enddef; % ------------------------------------- def gnu = beginchar("N",maxwd(gnn,utop),htup#,0); "The sign: gnu"; pickup mypen; u_top(alpha); o_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (obot--z1 & (utop shifted z1)) shifted (maxof(gnn,utop)-10u,rl*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % gl; glia; glie; gli; glio; gliu; ofr.gll:= 30; ofl.gll:= rh*ctg(alpha); ofl.gll1:= rl*ctg(alpha)*u; def gl = beginchar("O",maxwd(gll,notop),htup#,0); "The sign: gl"; pickup mypen; no_top(alpha); i_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ibot--z1 & (notop shifted z1)) shifted (maxof(gll,notop)-ofl.gll1,rl*u); endchar; enddef; % ------------------------------------- def glia = beginchar("P",maxwd(gll,atop),htup#,0); "The sign: glia"; pickup mypen; a_top(alpha); i_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ibot--z1 & (atop shifted z1)) shifted (maxof(gll,atop)-ofl.gll1,rl*u); endchar; enddef; % ------------------------------------- def glie = beginchar("Q",maxwd(gll,etopbig),htup#,0); "The sign: glie"; pickup mypen; e_top_big(alpha); i_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ibot--z1 & (etopbig shifted z1)) shifted (maxof(ibot,etopbig)-ofl.gll1,rl*u); endchar; enddef; % ------------------------------------- def gli = beginchar("R",maxwd(gll,itop),htup#,0); "The sign: gli"; pickup mypen; i_top(alpha); i_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ibot--z1 & (itop shifted z1)) shifted (maxof(gll,itop)-ofl.gll1-2u,rl*u); endchar; enddef; % ------------------------------------- def glio = beginchar("S",maxwd(gll,otop),htup#,0); "The sign: glio"; pickup mypen; o_top(alpha); i_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ibot--z1 & (otop shifted z1)) shifted (maxof(gll,utop)-ofl.gll1,rl*u); endchar; enddef; % ------------------------------------- def gliu = beginchar("T",maxwd(gll,utop),htup#,0); "The sign: gliu"; pickup mypen; u_top(alpha); i_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ibot--z1 & (utop shifted z1)) shifted (maxof(ubot,utop),rl*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % gh; gha; ghe; ghi; gho; ghu; ofr.ghh:= 20; ofl.ghh:= rh*ctg(alpha); def gh = beginchar("U",maxwd(ghh,notop),htup#,0); "The sign: gh"; pickup mypen; no_top(alpha); e_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ebot--z1 & (notop shifted z1)) shifted (maxof(ghh,notop)-14u,rl*u); endchar; enddef; % ------------------------------------- def gha = beginchar("V",maxwd(ghh,atop),htup#,0); "The sign: gha"; pickup mypen; a_top(alpha); e_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ebot--z1 & (atop shifted z1)) shifted (maxof(ghh,atop)-14u,rl*u); endchar; enddef; % ------------------------------------- def ghe = beginchar("W",maxwd(ghh,etopbig),htup#,0); "The sign: ghe"; pickup mypen; e_top_big(alpha); e_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ebot--z1 & (etopbig shifted z1)) shifted (maxof(ghh,etopbig)-14u,rl*u); endchar; enddef; % ------------------------------------- def ghi = beginchar("X",maxwd(ghh,itop),htup#,0); "The sign: ghi"; pickup mypen; i_top(alpha); e_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ebot--z1 & (itop shifted z1)) shifted (maxof(ghh,itop)-14u,rl*u); endchar; enddef; % ------------------------------------- def gho = beginchar("Y",maxwd(ghh,otop),htup#,0); "The sign: gho"; pickup mypen; o_top(alpha); e_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ebot--z1 & (otop shifted z1)) shifted (maxof(ghh,otop)-14u,rl*u); endchar; enddef; % ------------------------------------- def ghu = beginchar("Z",maxwd(ghh,utop),htup#,0); "The sign: ghu"; pickup mypen; u_top(alpha); e_bot(alpha); z1=(rh-rl)*(ctg(alpha)*u,u); draw (ebot--z1 & (utop shifted z1)) shifted (maxof(ghh,utop)-14u,rl*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------- Punteggiatura --------------------------- % ------------------------------------------------------------------- % % vrg; Avrg; Evrg; Ivrg; Ovrg; Uvrg; % ptv; Aptv; Eptv; Iptv; Optv; Uptv; % duep; Aduep; Eduep; Iduep; Oduep; Uduep; % pun; Apun; Epun; Ipun; Opun; Upun; % pin; Apin; Epin; Ipin; Opin; Upin; % pesc path vg,vgbot, pv,pvbot, dup,dupbot, pu, pin; pair vg[],pv[],dup[],pu[],pin[]; % ------------------------------------------------------------------- % ------------ virgola ---------------------------------------------- % vrg; Avrg; Evrg; Ivrg; Ovrg; Uvrg; % vg1=(0,0); vg2=ff2; vg3=bb2+(2u,5u); vg4=bb2+(10u,0); vg5=vg3+(18u,5u); vg = reverse (vg1--vg2); vgbot = (vg3...{right}vg4..{dir 50}vg5); ofr.vg:= 0; ofl.vg:= -(xpart vg2)/u; % ------------------------------------- def vrg = beginchar(",",maxwd(vg,notop),htup#,htdw#); "The sign: virgola"; pickup mypen; no_top(alpha); draw (vg & notop) shifted (maxof(vg,notop),rh*u); draw (vgbot) shifted (maxof(vg,notop),rh*u); endchar; enddef; % ------------------------------------- def Avrg = beginchar(8,maxwd(vg,atop),htup#,htdw#); "The sign: Avirgola"; pickup mypen; a_top(alpha); draw (vg & atop) shifted (maxof(vg,atop),rh*u); draw (vgbot) shifted (maxof(vg,atop),rh*u); endchar; enddef; % ------------------------------------- def Evrg = beginchar(9,maxwd(vg,etopbig),htup#,htdw#); "The sign: Avirgola"; pickup mypen; e_top_big(alpha); draw (vg & etopbig) shifted (maxof(vg,etopbig),rh*u); draw (vgbot) shifted (maxof(vg,etopbig),rh*u); endchar; enddef; % ------------------------------------- def Ivrg = beginchar(10,maxwd(vg,itop),htup#,htdw#); "The sign: Avirgola"; pickup mypen; i_top(alpha); draw (vg & itop) shifted (maxof(vg,itop),rh*u); draw (vgbot) shifted (maxof(vg,itop),rh*u); endchar; enddef; % ------------------------------------- def Ovrg = beginchar(11,maxwd(vg,otop),htup#,htdw#); "The sign: Avirgola"; pickup mypen; o_top(alpha); draw (vg & otop) shifted (maxof(vg,otop),rh*u); draw (vgbot) shifted (maxof(vg,otop),rh*u); endchar; enddef; % ------------------------------------- def Uvrg = beginchar(12,maxwd(vg,utop),htup#,htdw#); "The sign: Avirgola"; pickup mypen; u_top(alpha); draw (vg & utop) shifted (maxof(vg,utop),rh*u); draw (vgbot) shifted (maxof(vg,utop),rh*u); endchar; enddef; % ------------------------------------------------------------------- % ---- punto e virgola ---------------------------------------------- % ptv; Aptv; Eptv; Iptv; Optv; Uptv; % pv1=(0,0); pv2=ff2; pv3=bb2; pv4=bb2+(17u,0); pv5=pv3+(27u,5u); pv = reverse (pv1--pv2); pvbot = (pv3{dir 50}..{right}pv4..{dir 50}pv5); ofr.pv:= 5; ofl.pv:= -(xpart pv2)/u; % ------------------------------------- def ptv = beginchar(";",maxwd(pv,notop),htup#,htdw#); "The sign: punto e virgola"; pickup mypen; no_top(alpha); draw (pv & notop) shifted (maxof(pv,notop),rh*u); draw (pvbot) shifted (maxof(pv,notop),rh*u); endchar; enddef; % ------------------------------------- def Aptv = beginchar(13,maxwd(pv,atop),htup#,htdw#); "The sign: Avirgola"; pickup mypen; a_top(alpha); draw (pv & atop) shifted (maxof(pv,atop),rh*u); draw (pvbot) shifted (maxof(pv,atop),rh*u); endchar; enddef; % ------------------------------------- def Eptv = beginchar(14,maxwd(pv,etopbig),htup#,htdw#); "The sign: Avirgola"; pickup mypen; e_top_big(alpha); draw (pv & etopbig) shifted (maxof(pv,etopbig),rh*u); draw (pvbot) shifted (maxof(pv,etopbig),rh*u); endchar; enddef; % ------------------------------------- def Iptv = beginchar(15,maxwd(pv,itop),htup#,htdw#); "The sign: Avirgola"; pickup mypen; i_top(alpha); draw (pv & itop) shifted (maxof(pv,itop),rh*u); draw (pvbot) shifted (maxof(pv,itop),rh*u); endchar; enddef; % ------------------------------------- def Optv = beginchar(16,maxwd(pv,otop),htup#,htdw#); "The sign: Avirgola"; pickup mypen; o_top(alpha); draw (pv & otop) shifted (maxof(pv,otop),rh*u); draw (pvbot) shifted (maxof(pv,otop),rh*u); endchar; enddef; % ------------------------------------- def Uptv = beginchar(17,maxwd(pv,utop),htup#,htdw#); "The sign: Avirgola"; pickup mypen; u_top(alpha); draw (pv & utop) shifted (maxof(pv,utop),rh*u); draw (pvbot) shifted (maxof(pv,utop),rh*u); endchar; enddef; % ------------------------------------------------------------------- % ---------- due punti ---------------------------------------------- % duep; Aduep; Eduep; Iduep; Oduep; Uduep; % dup1=(0,0); dup2=ff2; dup3=bb2; dup4=bb2+(17u,0); dup5=dup3+(27u,5u); dup = reverse (dup1--dup2); dupbot = qqbot shifted -((rh-rl)*(ctg(alpha)*u,u)); ofr.dup:= 19; ofl.dup:= -(xpart dup2)/u+1; % ------------------------------------- def duep= beginchar(":",maxwd(dup,notop),htup#,htdw#); "The sign: due punti"; pickup mypen; no_top(alpha); draw (dup & notop) shifted (maxof(dup,notop),rh*u); draw (dupbot) shifted (maxof(dup,notop),rh*u); endchar; enddef; % ------------------------------------- def Aduep = beginchar(18,maxwd(dup,atop),htup#,htdw#); "The sign: A:"; pickup mypen; a_top(alpha); draw (dup & atop) shifted (maxof(dup,atop),rh*u); draw (dupbot) shifted (maxof(dup,atop),rh*u); endchar; enddef; % ------------------------------------- def Eduep = beginchar(19,maxwd(dup,etopbig),htup#,htdw#); "The sign: E:"; pickup mypen; e_top_big(alpha); draw (dup & etopbig) shifted (maxof(dup,etopbig),rh*u); draw (dupbot) shifted (maxof(dup,etopbig),rh*u); endchar; enddef; % ------------------------------------- def Iduep = beginchar(20,maxwd(dup,itop),htup#,htdw#); "The sign: I:"; pickup mypen; i_top(alpha); draw (dup & itop) shifted (maxof(dup,itop),rh*u); draw (dupbot) shifted (maxof(dup,itop),rh*u); endchar; enddef; % ------------------------------------- def Oduep = beginchar(21,maxwd(dup,otop),htup#,htdw#); "The sign: O:"; pickup mypen; o_top(alpha); draw (dup & otop) shifted (maxof(dup,otop),rh*u); draw (dupbot) shifted (maxof(dup,otop),rh*u); endchar; enddef; % ------------------------------------- def Uduep = beginchar(22,maxwd(dup,utop),htup#,htdw#); "The sign: U:"; pickup mypen; u_top(alpha); draw (dup & utop) shifted (maxof(dup,utop),rh*u); draw (dupbot) shifted (maxof(dup,utop),rh*u); endchar; enddef; % ------------------------------------------------------------------- % ---------- punto -------------------------------------------------- % pun; Apun; Epun; Ipun; Opun; Upun; % pu1=(0,0); pu2= top (ff2+(5u,0)); pu3=pu1+(5u,-20u); pu12=pu2+(20u,30u); pu23=pu2+(-5u,20u); pu = reverse (pu1{-(dir alpha)}..pu12... pu2{left}...{up}pu23..{dir 60}pu3); ofr.pu:= 15; ofl.pu:= -(xpart pu2)/u+7; % ------------------------------------- def pun= beginchar(".",maxwd(pu,notop),htup#,htdw#); "The sign: punto"; pickup mypen; no_top(alpha); draw (pu & notop) shifted (maxof(pu,notop),rh*u); endchar; enddef; % ------------------------------------- def Apun = beginchar(23,maxwd(pu,atop),htup#,htdw#); "The sign: punto"; pickup mypen; a_top(alpha); draw (pu & atop) shifted (maxof(pu,atop),rh*u); endchar; enddef; % ------------------------------------- def Epun = beginchar(24,maxwd(pu,etopbig),htup#,htdw#); "The sign: punto"; pickup mypen; e_top_big(alpha); draw (pu & etopbig) shifted (maxof(pu,etopbig),rh*u); endchar; enddef; % ------------------------------------- def Ipun = beginchar(25,maxwd(pu,itop),htup#,htdw#); "The sign: punto"; pickup mypen; i_top(alpha); draw (pu & itop) shifted (maxof(pu,itop),rh*u); endchar; enddef; % ------------------------------------- def Opun = beginchar(26,maxwd(pu,otop),htup#,htdw#); "The sign: punto"; pickup mypen; o_top(alpha); draw (pu & otop) shifted (maxof(pu,otop),rh*u); endchar; enddef; % ------------------------------------- def Upun = beginchar(27,maxwd(pu,utop),htup#,htdw#); "The sign: punto"; pickup mypen; u_top(alpha); draw (pu & utop) shifted (maxof(pu,utop),rh*u); endchar; enddef; % ------------------------------------------------------------------- % ---------- punto interrogativo ------------------------------------ % pint; Apint; Epint; Ipint; Opint; Upint; % pin1 = (0,0); pin2 = top (pin1+(-15u,-(rh+rd)*u)); pin3 = pin1+(-5u,-35u); pin4 = pin3+(20u,10u); pin = reverse (pin1{dir (180+alpha)}...pin2{right}... {dir 100}pin3{dir -30}..{dir 60}pin4); ofr.pin:= 23; ofl.pin:= -(xpart pin2)/u+12; % ------------------------------------- def pint= beginchar("?",maxwd(pin,notop),htup#,htdw#); "The sign: punto interrogativo"; pickup mypen; no_top(alpha); draw (pin & notop) shifted (maxof(pin,notop),rh*u); endchar; enddef; % ------------------------------------- def Apint = beginchar(28,maxwd(pin,atop),htup#,htdw#); "The sign: punto interrogativo"; pickup mypen; a_top(alpha); draw (pin & atop) shifted (maxof(pin,atop),rh*u); endchar; enddef; % ------------------------------------- def Epint = beginchar(29,maxwd(pin,etopbig),htup#,htdw#); "The sign: punto interrogativo"; pickup mypen; e_top_big(alpha); draw (pin & etopbig) shifted (maxof(pin,etopbig),rh*u); endchar; enddef; % ------------------------------------- def Ipint = beginchar(30,maxwd(pin,itop),htup#,htdw#); "The sign: punto interrogativo"; pickup mypen; i_top(alpha); draw (pin & itop) shifted (maxof(pin,itop),rh*u); endchar; enddef; % ------------------------------------- def Opint = beginchar(31,maxwd(pin,otop),htup#,htdw#); "The sign: punto interrogativo"; pickup mypen; o_top(alpha); draw (pin & otop) shifted (maxof(pin,otop),rh*u); endchar; enddef; % ------------------------------------- def Upint = beginchar(32,maxwd(pin,utop),htup#,htdw#); "The sign: punto interrogativo"; pickup mypen; u_top(alpha); draw (pin & utop) shifted (maxof(pin,utop),rh*u); endchar; enddef; % ------------------------------------------------------------------- % ---------- punto esclamativo -------------------------------------- def escl = beginchar("!",42*u#,htup#,htdw#); "The sign: !"; pickup mypen; pair pes[]; pes1=(40u,(rh+rl)*u); pes2=pes1-(19u,0); pes3= rt (pes2-(20u,0)); draw (2u,-rd*u)--pes1 & pes1{down}...{up}pes2 & pes2{down}...{up}pes3; endchar; enddef; % ------------------------------------------------------------------- % ----------------------------- Cifre ------------------------------- % ------------------------------------------------------------------- path ucf, ucfa, ncf, ncfa, ztop, setop, ottop, novtop; pair ucf[], ncf[], ztop[], setop[], ottop[], novtop[]; % ------------------- top per la cifra 0 ---------------------------- ztop1=rl*(ctg(alpha)*u,u); ztop2=ztop1-(15u,0); ztop3=rt (ztop2-(15u,0)); ztop = (0,0)--ztop1 & ztop1{-(dir alpha)}...{up}ztop2 & ztop2{down}...{up}ztop3; ofl.ztop:= 30-rl*ctg(alpha); ofr.ztop:= 0; % ------------------- top per la cifra 7 ---------------------------- setop1=rl*(ctg(alpha)*u,u); setop2=rt (setop1-(30u,0)); setop = (0,0)--setop1 & setop1{-(dir alpha)}...{up}setop2; ofl.setop:=30-rl*ctg(alpha); ofr.setop:= 0; % ------------------- top per la cifra 8 ---------------------------- ottop1=(-27u,-rc*u); ottop2=(-30u,30u); ottop12=ottop1+(10u,15u); ottop3=rt (ottop2+(-10u,-20u)); ottop = (0,0){-(dir 30)}...ottop1{right}..{up}ottop12.. {dir 100}ottop2 & ottop2{-(dir 70)}...{-(dir 45)}ottop3; ofl.ottop:= 40; ofr.ottop:= 0; % ------------------- top per la cifra 9 ---------------------------- novtop1=vv3+(23u,10u); novtop2=vv1+(25u,40u); novtop3=vv1+(-5u,10u); novtop = reverse ( (novtop 3{(dir 30)}...novtop2{left}... vv1{dir (180+alpha)}...vv2{right}...{dir 120}vv3{dir -30}.. {dir 45}novtop1) shifted -novtop1); ofl.novtop:=37; ofr.novtop:= 0; % ----------- base per unita', centinaia, ... ----------------------- ucf1=(0,0); ucf2=ucf1+(0,-rc*u); ucf3=ucf1+(25u,0); ucf4=ucf2+(25u,0); ucf5=ucf3+(20u,0); ucf6=ucf4+(20u,0); ucf7=lft (ucf6+(10u,10u)); ucf = reverse (ucf1{-(dir alpha)}...ucf2{right}...{dir alpha}ucf3 & ucf3{-(dir alpha)}...ucf4{right}...{dir alpha}ucf5 & ucf5{-(dir alpha)}...ucf6{right}...{dir 60}ucf7 ); ucfa = reverse ((ucf3{-(dir alpha)}...ucf4{right}...{dir alpha}ucf5 & ucf5{-(dir alpha)}...ucf6{right}...{dir 60}ucf7) shifted -ucf3 ); ofl.ucf:= 10; ofr.ucf:= 55; ofl.ucfa:= 10; ofr.ucfa:= 30; % ----------- base per decine, migliaia, ... ----------------------- ncf1= (0,0); ncf2= ncf1-rc*(ctg(alpha)*u,u); ncf3= ncf1+(25u,0); ncf4= ncf2+(25u,0); ncf5= ncf3+(20u,0); ncf6= ncf4+(20u,0); ncf = reverse (ncf1--ncf2--ncf3--ncf4--ncf5--ncf6); ncfa= reverse ((ncf3--ncf4--ncf5--ncf6) shifted -ncf3); ofl.ncf:= rc*ctg(alpha)+2; ofr.ncf:= 47; ofl.ncfa:= 10; ofr.ncfa:= 22; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % Nzer; Nuno; Ndue; Ntre; Nqua; Ncin; Nsei; Nset; Nott; Nnov; % ------------------------------------- def Nzer = beginchar(35,maxwd(ncf,ztop),htcf#,0); "The sign: N0 (zero)"; pickup mypen; a_top(alpha); draw (ncf & ztop) shifted (maxof(ncf,ztop),rc*u); endchar; enddef; % ------------------------------------- def Nuno = beginchar(36,maxwd(ncf,notop),htcf#,0); "The sign: N1 (uno)"; pickup mypen; no_top(alpha); draw (ncf & notop) shifted (maxof(ncf,notop),rc*u); endchar; enddef; % ------------------------------------- def Ndue = beginchar(37,maxwd(ncf,atop),htcf#,0); "The sign: N2 (due)"; pickup mypen; a_top(alpha); draw (ncf & atop) shifted (maxof(ncf,atop),rc*u); endchar; enddef; % ------------------------------------- def Ntre = beginchar(38,maxwd(ncf,etop),htcf#,0); "The sign: N3 (tre)"; pickup mypen; e_top(alpha); draw (ncf & etop) shifted (maxof(ncf,etop),rc*u); endchar; enddef; % ------------------------------------- def Nqua = beginchar(40,maxwd(ncf,itop),htcf#,0); "The sign: N4 (quattro)"; pickup mypen; i_top(alpha); draw (ncf & itop) shifted (maxof(ncf,itop),rc*u); endchar; enddef; % ------------------------------------- def Ncin = beginchar(41,maxwd(ncf,otop),htcf#,0); "The sign: N5 (cinque)"; pickup mypen; o_top(alpha); draw (ncf & otop) shifted (maxof(ncf,otop),rc*u); endchar; enddef; % ------------------------------------- def Nsei = beginchar(42,maxwd(ncf,utop),htcf#,0); "The sign: N6 (sei)"; pickup mypen; u_top(alpha); draw (ncf & utop) shifted (maxof(ncf,utop),rc*u); endchar; enddef; % ------------------------------------- def Nset = beginchar(43,maxwd(ncf,setop),htcf#,0); "The sign: N7 (sette)"; pickup mypen; draw (ncf & setop) shifted (maxof(ncf,setop),rc*u); endchar; enddef; % ------------------------------------- def Nott = beginchar(47,maxwd(ncfa,ottop),htcf#,0); "The sign: N8 (otto)"; pickup mypen; draw (ncfa & ottop) shifted (maxof(ncfa,ottop),rc*u); endchar; enddef; % ------------------------------------- def Nnov = beginchar(64,maxwd(ncfa,novtop),htcf#,0); "The sign: N9 (nove)"; pickup mypen; draw (ncfa & novtop) shifted (maxof(ncfa,novtop),rc*u); endchar; enddef; % ------------------------------------------------------------------- % ------------------------------------------------------------------- % Uzer; Uuno; Udue; Utre; Uqua; Ucin; Usei; Uset; Uott; Unov; def Uzer = beginchar("0",maxwd(ucf,ztop),htcf#,0); "The sign: U0 (zero)"; pickup mypen; a_top(alpha); draw (ucf & ztop) shifted (maxof(ucf,ztop),rc*u); endchar; enddef; % ------------------------------------- def Uuno = beginchar("1",maxwd(ucf,notop),htcf#,0); "The sign: U1 (uno)"; pickup mypen; no_top(alpha); draw (ucf & notop) shifted (maxof(ucf,notop),rc*u); endchar; enddef; % ------------------------------------- def Udue = beginchar("2",maxwd(ucf,atop),htcf#,0); "The sign: U2 (due)"; pickup mypen; a_top(alpha); draw (ucf & atop) shifted (maxof(ucf,atop),rc*u); endchar; enddef; % ------------------------------------- def Utre = beginchar("3",maxwd(ucf,etop),htcf#,0); "The sign: U3 (tre)"; pickup mypen; e_top(alpha); draw (ucf & etop) shifted (maxof(ucf,etop),rc*u); endchar; enddef; % ------------------------------------- def Uqua = beginchar("4",maxwd(ucf,itop),htcf#,0); "The sign: U4 (quattro)"; pickup mypen; i_top(alpha); draw (ucf & itop) shifted (maxof(ucf,itop),rc*u); endchar; enddef; % ------------------------------------- def Ucin = beginchar("5",maxwd(ucf,otop),htcf#,0); "The sign: U5 (cinque)"; pickup mypen; o_top(alpha); draw (ucf & otop) shifted (maxof(ucf,otop),rc*u); endchar; enddef; % ------------------------------------- def Usei = beginchar("6",maxwd(ucf,utop),htcf#,0); "The sign: U6 (sei)"; pickup mypen; u_top(alpha); draw (ucf & utop) shifted (maxof(ucf,utop),rc*u); endchar; enddef; % ------------------------------------- def Uset = beginchar("7",maxwd(ucf,setop),htcf#,0); "The sign: U7 (sette)"; pickup mypen; draw (ucf & setop) shifted (maxof(ucf,setop),rc*u); endchar; enddef; % ------------------------------------- def Uott = beginchar("8",maxwd(ucfa,ottop),htcf#,0); "The sign: U8 (otto)"; pickup mypen; draw (ucfa & ottop) shifted (maxof(ucfa,ottop),rc*u); endchar; enddef; % ------------------------------------- def Unov = beginchar("9",maxwd(ucfa,novtop),htcf#,0); "The sign: U9 (nove)"; pickup mypen; draw (ucfa & novtop) shifted (maxof(ucfa,novtop),rc*u); endchar; enddef; % ------------------------------------------------------------------- % -------------------------- Altri segni ---------------------------- % ------------------------------------------------------------------- % apostrofo, trattino, accento. <<, >>, [, ] %apo 39 %tra 45 %acc 96 %avi 61 %cvi 62 %aq 91 %cq 93 % ------------------------------------- def apo = beginchar("'",20u#,htup#,0); "The sign: apostrofo"; pickup mypen; draw (8u,60u){dir 60}..(8u,75u); endchar; enddef; % bbno; bba; bbe; bbi; bbo; bbu; % ccno; cca; cce; cci; cco; ccu; % ddno; dda; dde; ddi; ddo; ddu; % ffno; ffa; ffe; ffi; ffo; ffu; % ggno; gga; gge; ggi; ggo; ggu; % hhno; hha; hhe; hhi; hho; hhu; % llno; lla; lle; lli; llo; llu; % mmno; mma; mme; mmi; mmo; mmu; % nnno; nna; nne; nni; nno; nnu; % ppno; ppa; ppe; ppi; ppo; ppu; % qqno; qqa; qqe; qqi; qqo; qqu; % rrno; rra; rre; rri; rro; rru; % ssno; ssa; sse; ssi; sso; ssu; % ttno; tta; tte; tti; tto; ttu; % vvno; vva; vve; vvi; vvo; vvu; % wwno; wwa; wwe; wwi; wwo; wwu; % xxno; xxa; xxe; xxi; xxo; xxu; % yyno; yya; yye; yyi; yyo; yyu; % zzno; zza; zze; zzi; zzo; zzu; % ano; eno; ino; ono; uno; % Aa;Ae;Ai;Ao;Au; % Ea;Ee;Ei;Eo;Eu;Ia;Ie;Ii;Io;Iu; % Oa;Oe;Oi;Oo;Ou;Ua;Ue;Ui;Uo;Uu; % ch; cha; che; chi; cho; chu; % gn; gna; gne; gni; gno; gnu; % gl; glia; glie; gli; glio; gliu; % gh; gha; ghe; ghi; gho; ghu; % vrg; Avrg; Evrg; Ivrg; Ovrg; Uvrg; % ptv; Aptv; Eptv; Iptv; Optv; Uptv; % duep; Aduep; Eduep; Iduep; Oduep; Uduep; % pun; Apun; Epun; Ipun; Opun; Upun; % pint; Apint; Epint; Ipint; Opint; Upint; % pesc % Uzer; Uuno; Udue; Utre; Uqua; Ucin; Usei; Uset; Uott; Unov; % Nzer; Nuno; Ndue; Ntre; Nqua; Ncin; Nsei; Nset; Nott; Nnov;