%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% The Yi Syllable Font. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% (c) Oliver Corff, Berlin/Beijing/Ulaanbaatar 1997. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Common definitions. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def getpen = pickup pencircle scaled thick; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def eyebrow = % nnnX syllables are covered by this! x97=5/16width; x98=4/8width; x99=11/16width; y97=y99=11/12height; y98=23/24height; getpen; draw z97..z98..z99; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def gong(expr lx, uy, rx, ly) = % The gong-shape appearing so often. numeric x[]; numeric y[]; x1:=lx; y1:=uy; x2:=rx; y2:=uy; x3:=lx; y3:=ly; x4:=rx; y4:=ly; z5=1/2[z1,z2]; z6=1/2[z3,z4]; getpen; draw z1--z2; draw z3--z4; draw z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Ddash(expr lx, uy, rx, ly) = % The Double Dash-shape appearing so often. numeric x[]; numeric y[]; z1=(lx,uy); z2=1/3[z1,z4]; z3=2/3[z1,z4]; z4=(rx,ly); getpen; draw z1--z2; draw z3--z4; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Er(expr lx, uy, rx, ly) =% The er-shape appearing so often. numeric x[]; numeric y[]; x1=lx; y1=uy; x2=rx; y2=uy; x3=lx; y3=ly; x4=rx; y4=ly; getpen; draw z1--z2; draw z3--z4; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def san(expr lx, uy, rx, ly) =% The san-shape appearing so often. numeric x[]; numeric y[]; x1=lx; y1=uy; x2=rx; y2=uy; x3=lx; y3=ly; x4=rx; y4=ly; x5=lx; y5=1/2[ly,uy]; x6=rx; y6=1/2[ly,uy]; getpen; draw z1--z2; draw z3--z4; draw z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def H(expr lx, uy, rx, ly) = % The H-shape appearing so often. numeric x[]; numeric y[]; x1:=lx; y1:=uy; x2:=lx; y2:=ly; x3:=rx; y3:=uy; x4:=rx; y4:=ly; z5=1/2[z1,z2]; z6=1/2[z3,z4]; getpen; draw z1--z2; draw z3--z4; draw z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Ih(expr lx, uy, rx, ly) = % The Single Dash-shape appearing so often. numeric x[]; numeric y[]; z1=(lx,uy); z2=(rx,ly); getpen; draw z1--z2; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def II(expr lx, uy, rx, ly) =% The II-shape appearing so often. numeric x[]; numeric y[]; x1:=lx; y1:=uy; x2:=lx; y2:=ly; x3:=rx; y3:=uy; x4:=rx; y4:=ly; getpen; draw z1--z2; draw z3--z4; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def III(expr lx, uy, rx, ly) =% The III-shape appearing so often. numeric x[]; numeric y[]; x1=lx; y1=uy; x2=lx; y2=ly; x3=rx; y3=uy; x4=rx; y4=ly; x5=1/2[lx,rx]; y5=uy; x6=1/2[lx,rx]; y6=ly; getpen; draw z1--z2; draw z3--z4; draw z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def N(expr lx, uy, rx, ly) = % The N-shape appearing so often. numeric x[]; numeric y[]; x1:=lx; y1:=ly; x2:=lx; y2:=uy; x3:=rx; y3:=ly; x4:=rx; y4:=uy; getpen; draw z1--z2--z3--z4; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Oh(expr lx, uy, rx, ly) = % The O-shape appearing so often. numeric x[]; numeric y[]; x51:=x53:=1/2[lx,rx]; y51:=uy; x52:=rx; y52:=y54:=1/2[uy,ly]; y53:=ly; x54:=lx; getpen; draw z51..z52..z53..z54..cycle; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Otense(expr lx, uy, rx, ly, t) = % The O-shape appearing so often. numeric x[]; numeric y[]; x1=x3=1/2[lx,rx]; y1=uy; x2=rx; y2=y4=1/2[uy,ly]; y3=ly; x4=lx; getpen; draw z1..tension t..z2..tension t..z3..tension t..z4..tension t..cycle; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def S(expr lx, uy, rx, ly) = % The S-shape appearing so often. numeric x[]; numeric y[]; z1=(rx,5/6[ly,uy]); z2=(1/2[lx,rx],uy); z3=(lx,1/4[uy,ly]); z4=(x2,1/2[uy,ly]); z5=(rx,1/4[ly,uy]); z6=(x2,ly); z7=(lx,1/6[ly,uy]); getpen; draw z1..{left}z2{left}..z3..z4..z5..{left}z6{left}..z7; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def T(expr lx, uy, rx, ly) = % The Single Dash-shape appearing so often. Ih(lx,uy,rx,uy); Ih(1/2[lx,rx],uy,1/2[lx,rx],ly); enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Tdash(expr px, uy, ly) = % The Triple Dash-shape appearing so often. numeric x[]; numeric y[]; z1=(px,uy); z2=(x1,1/5[uy,ly]); z3=(x1,2/5[uy,ly]); z4=(x1,3/5[uy,ly]); z5=(x1,4/5[uy,ly]); z6=(x1,ly); getpen; draw z1--z2; draw z3--z4; draw z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def U(expr lx, uy, rx, ly) = % The U-shape appearing so often. numeric x[]; numeric y[]; z1=(lx,uy); z2=(lx,2/3[uy,ly]); z3=(1/2[lx,rx],ly); z4=(rx,y2); z5=(rx,uy); getpen; draw z1---z2..z3..z4---z5; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def X(expr lx, uy, rx, ly) = % The X-shape appearing so often. numeric x[]; numeric y[]; x1:=lx; y1:=uy; x2:=rx; y2:=uy; x3:=lx; y3:=ly; x4:=rx; y4:=ly; getpen; draw z1--z4; draw z2--z3; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Xi(expr lx, uy, rx, ly) = % The XI-shape appearing so often. numeric x[]; % Since there is a syllable numeric y[]; % "XI" in the corpus this one x1:=lx; y1:=uy; % is given as 'Xi'; see also x2:=rx; y2:=uy; % "O" and 'Oh'. This helps us x3:=lx; y3:=ly; % to avoid confusion. x4:=rx; y4:=ly; getpen; draw z1--z4--z2--z3; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def IXI(expr lx, uy, rx, ly) = % The IXI-shape appearing so often. numeric x[]; numeric y[]; x1:=lx; y1:=uy; x2:=rx; y2:=uy; x3:=lx; y3:=ly; x4:=rx; y4:=ly; getpen; draw z1--z4--z2--z3--cycle; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Z(expr lx, uy, rx, ly) = % the inverted Z-shape numeric x[]; numeric y[]; x1:=lx; x4:=rx; x2:=x3:=1/2[x1,x4]; y2:=ly; y3:=uy; y1:=1/6[y2,y3]; y4:=5/6[y2,y3]; getpen; draw z1--z2--z3--z4; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Zdash(expr lx, uy, rx, ly) = % the inverted Z-shape with dash numeric x[]; numeric y[]; x1:=lx; x4:=rx; x2:=x3:=1/2[x1,x4]; y2:=ly; y3:=uy; y1:=1/6[y2,y3]; y4:=5/6[y2,y3]; z5=(lx,1/2[uy,ly]); z6=(rx,y5); getpen; draw z1--z2--z3--z4; draw z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def ZPimmel(expr lx, uy, rx, ly) = % the inverted Z-shape with Pimmel numeric x[]; numeric y[]; x1:=lx; x4:=rx; x2:=x3:=1/2[x1,x4]; y2:=ly; y3:=uy; y1:=1/6[y2,y3]; y4:=5/6[y2,y3]; z5=(1/2[lx,rx],2/5[uy,ly]); z6=(7/8[lx,rx],1/4[ly,uy]); getpen; draw z1--z2--z3--z4; draw z5{z2-z1}..{down}z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Arsch(expr lx, uy, rx, ly) = % the Arsch-shape numeric x[]; numeric y[]; z1=(1/2[lx,rx],uy); z2=(rx,6/24[ly,uy]); z3=(1/2[x2,x4],ly); z4=(x1,y2); z5=(1/2[x4,x6],ly); z6=(lx,y2); getpen; draw z1{right}..tension 1.5..z2{down}..z3..{up}z4 & z4{down}..z5..{up}z6..tension 1.5..{right}z1..cycle; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Blitz(expr lx, uy, rx, ly) = % the Blitz-shape numeric x[]; numeric y[]; z1=(1/2[lx,rx],uy); z2=(lx,1/3[ly,uy]); z3=(rx,1/3[uy,ly]); z4=(x1,ly); getpen; draw z1--z2--z3--z4; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Brunnen(expr lx, uy, rx, ly) = % the Brunnen (jing)-shape numeric x[]; numeric y[]; z1=(1/4[lx,rx],uy); z2=(x1,ly); z3=(3/4[lx,rx],uy); z4=(x3,ly); z5=(lx,1/4[uy,ly]); z6=(rx,y5); z7=(lx,3/4[uy,ly]); z8=(rx,y7); getpen; draw z1--z2; draw z3--z4; draw z5--z6; draw z7--z8; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Busen(expr lx, uy, rx, ly) = % the Busen-shape numeric x[]; numeric y[]; x11:=lx; x15:=rx; x13:=1/2[x11,x15]; x12:=1/2[x11,x13]; x14:=1/2[x13,x15]; y11:=y13:=y15:=uy; y12:=y14:=ly; getpen; draw z11{down}..z12..{up}z13 & z13{down}..z14..{up}z15; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Gasmaske(expr lx, uy, rx, ly) = % the Gasmaske-shape numeric x[]; numeric y[]; Oh(lx,uy,1/3[lx,rx],5/12[uy,ly]); Oh(2/3[lx,rx],uy,rx,5/12[uy,ly]); Oh(1/3[lx,rx],7/12[uy,ly],2/3[lx,rx],ly); numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Huegel(expr lx, uy, rx, ly) = % the Huegel-shape numeric x[]; numeric y[]; z1=(lx,ly); z2=(1/2[lx,rx],uy); z3=(rx,ly); getpen; draw z1{up}..tension 1.2..z2..tension 1.2..{down}z3; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Jalousie(expr lx, uy, rx, ly) = % The Jalousie-shape appearing so often. numeric x[]; numeric y[]; z1=(lx,uy); z2=(rx,1/5[uy,ly]); z3=(x1,2/5[uy,ly]); z4=(x2,3/5[uy,ly]); z5=(x1,4/5[uy,ly]); z6=(x2,ly); getpen; draw z1--z2; draw z3--z4; draw z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Liane(expr lx, uy, rx, ly) = % the Liane-shape numeric x[]; numeric y[]; z1=(lx,uy); z2=(1/2[lx,rx],ly); z3=(rx,uy); getpen; draw z1{down}..tension 1.2..z2..tension 1.2..{up}z3; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Plus(expr lx, uy, rx, ly) = % The Plus-shape appearing so often. numeric x[]; numeric y[]; x1=1/2[lx,rx]; y1=uy; x2=rx; y2=1/2[uy,ly]; x3=lx; y3=y2; x4=x1; y4=ly; getpen; draw z1--z4; draw z2--z3; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Quad(expr lx, uy, rx, ly) = % the Four Strokes-shape numeric x[]; numeric y[]; z1=(lx,uy); z2=(lx,1/3[uy,ly]); z3=(lx,2/3[uy,ly]); z4=(lx,ly); z5=(rx,y1); z6=(rx,y2); z7=(rx,y3); z8=(rx,y4); getpen; draw z1--z2; draw z3--z4; draw z5--z6; draw z7--z8; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Sanduhr(expr lx, uy, rx, ly) = % the Sanduhr-shape numeric x[]; numeric y[]; z1=(lx,uy); z2=(rx,uy); z3=(lx,ly); z4=(rx,ly); getpen; draw z1--z2--z3--z4--cycle; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Sichel(expr lx, uy, rx, ly) = % the Sichel-shape numeric x[]; numeric y[]; x1:=x5:=x6:=lx; x3:=x4:=rx; x2:=1/2[x1,x3]; y2:=uy; y6:=ly; y1:=y3:=1/6[y2,y6]; y4:=y5:=11/16[y2,y6]; x7:=rx; y7:=ly; % Ein Hilfspunkt! getpen; draw z1..z2..z3---z4{z4-z3}..{z5-z7}z5&z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def Smiley(expr lx, uy, rx, ly) = % the Smiley-shape numeric x[]; numeric y[]; z1=(lx,uy); z2=(lx,1/3[uy,ly]); z3=(rx,y1); z4=(rx,y2); z5=(1/2[lx,rx],2/3[uy,ly]); z6=(x5,ly); getpen; draw z1--z2; draw z3--z4; draw z5--z6; numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% The Yi Syllable Font, Common Definitions, ends here. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%