% Syriac Serto FONT `sertofont.mf' % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Designed and (c) by Johannes Heinecke % % Please send any improvements, corrections, suggestions, enhancements etc. % to the Author! % % Version 0.7 as of 29th September 2007 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % input sertomacros; %% Endarabeske für beth etc %def arabesque (suffix $)(expr length) = % z$aa = (x$, y$-.5basestroke); % z$ac = (x$, y$+.5basestroke); % z$ab = (x$-length*hu, y$aa); % z$ad = (x$-(length-.2)*hu, y$ac); % z$ae = (x$ab-hu, y$ad+vu); % fill z$aa--z$ab{left}..{up}z$ae{dir -45}..{right}z$ad--z$ac--cycle; % labels($aa, $ab, $ac, $ad, $ae); %enddef; % %% baseline, if needed %def baseline (suffix $)(expr length) = % z$bz = z$; % to allow several baselines from one point % z$ba = (x$, y$-.5basestroke); % z$bc = (x$, y$+.5basestroke); % z$bb = (x$-length*hu, y$ba); % z$bd = (x$-length*hu, y$bc); % fill z$ba--z$bb--z$bd--z$bc--cycle; % labels($ba, $bb, $bc, $bd); %enddef; % %% dalath/resh dot %def sertodot (suffix $) (expr size) = % z$ca = (x$-.3hu, y$+.4vu); penpos$ca(size*basestroke, 45); % z$cb = (x$+.3hu, y$-.4vu); penpos$cb(size*basestroke, 45); % penstroke z$ca.e..z$cb.e; % labels($ca, $cb) %enddef; % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Order: alphabetically, isolated-final-medial-initial % olaf - isolated sertochar "olaf - isolated '"; beginchar(65, 2hu#, 8vu#, 0); z1 = (.5hu, 0); penpos1(basestroke, 0); z2 = (.4hu, 2vu); penpos2(.9basestroke, 0); z3 = (hu, 5vu); penpos3(.5basestroke, 10); %z4 = (.4hu, 7.5vu); penpos4(basestroke, 45); z4 = (.4hu, 7.5vu); penpos4(1.2basestroke, 45); penstroke z1e..z2e..z3e..z4e; penlabels(range 1 thru 4); endchar; % olaf - final sertochar "olaf - final '"; beginchar(66, 2hu#, 8vu#, 0); %z1 = (2hu, .5vu); penpos1(basestroke, 90); %z2 = (1.1hu, 1.1vu); penpos2(.9basestroke, 40); %z3 = (.5hu, 4vu); penpos3(.7basestroke, 0); %z4 = (.5hu, 8vu); penpos4(.7basestroke, 0); %z5r = z2l; %z5l = (0, y2l); %z6 = (-.3hu, -vu); penpos6(.4basestroke, -45); %penstroke z1e{left}..z2e..z3e..z4e; %penstroke z4e..z3e..z5e..z6e; z1 = (2hu, .5vu); penpos1(basestroke, 90); z2 = (x1-1.5hu, 2.5vu); penpos2(basestroke, 0); z3 = (x2, 4.5vu); penpos3(basestroke, 0); z4l = z3l + (0, 3.2vu); z4r = z3r + (0, 3.8vu); z14l = z13l + (0, 3.8vu); z14r = z13r + (0, 3.2vu); z6 = (-.8hu, -1.5vu); penpos6(.2basestroke, -45); penstroke z4e..z3e..z2e{down}..{right}z1e; penstroke z2e{down}..z6e; %penstroke z4e..z3e..z5e..z6e; penlabels(range 1 thru 6); endchar; def bethcommon = z1 = (6hu, .5vu); penpos1(basestroke, -90); %z2 = (x1+.5hu, 4vu/3); penpos2(basestroke, 30); z2 = (x1+.5basestroke, 4basestroke/3); penpos2(basestroke, 30); z4 = (3hu, 3.4vu); penpos4(basestroke, 90); z5 = (.7hu, 2.5vu); penpos5(.45basestroke, 135); penstroke z1e{right}..z2e..z4e..z5e; penlabels(range 1 thru 5); enddef; % beth - isolated sertochar "beth - isolated b"; beginchar(67, 8hu#, 4vu#, 0); bethcommon; arabesque(1, 5); endchar; % beth - final sertochar "beth - final b"; beginchar(68, 8hu#, 4vu#, 0); bethcommon; baseline(1, -2); arabesque(1, 5); endchar; % beth - medial sertochar "beth - medial b"; beginchar(69, 8hu#, 4vu#, 0); bethcommon; z6 = z1; baseline(1, 6); baseline(6, -2); penlabels(6); endchar; % beth - initial sertochar "beth - initial b"; beginchar(70, 8hu#, 4vu#, 0); bethcommon; baseline(1, 6); endchar; def gammalcommon = z1 = (2.5hu, 1.25vu); penpos1(basestroke, -135); z3 = (7.25hu, -2.25vu); penpos3(.6basestroke, -120); %z4r = z3r; z5r = z3r; %z4l = (x4r+1.5hu, y4r); z5l = (x5r, y5r-.7hu); z6 = (3.5hu, -1.45vu); penpos6(.8basestroke, 45); %z7 = (hu, .5vu); z7l = (hu, -.3hu); penpos7(.9basestroke, 50); penstroke z1e{dir -45}..z3e; penstroke z3e{dir -32}..z5e; penstroke z5e{left}..z6e..z7e; penlabels(range 1 thru 7); enddef; def gammalarabesque = z8 = (x7l, 2.5vu); fill z7l{z7l-z6l}..z8 & z8{dir -100}..{z6r-z7r}z7r--cycle; penlabels(8) enddef; %endinput; % gamal - isolated sertochar "gamal - isolated g"; beginchar(71, 7hu#, 1vu#, 3vu#); gammalcommon; gammalarabesque; endchar; % gamal - final sertochar "gamal - final g"; beginchar(72, 7hu#, 1vu#, 3vu#); gammalcommon; gammalarabesque; z9 = (4hu, .5vu); penpos9(basestroke, -90); baseline(9, -3); penstroke z9e{left}..z1e; penlabels(9); endchar; % gamal - medial sertochar "gamal - medial g"; beginchar(73, 7hu#, 1vu#, 3vu#); gammalcommon; z8 = (0, .5vu); penpos8(basestroke, 90); penstroke z7e{z7e-z6e}..{left}z8e; z9 = (4hu, .5vu); penpos9(basestroke, -90); baseline(9, -3); penstroke z9e{left}..z1e; penlabels(9); penlabels(8) endchar; % gamal - initial sertochar "gamal - initial g"; beginchar(74, 7hu#, 1vu#, 3vu#); gammalcommon; z8 = (0, .5vu); penpos8(basestroke, 90); penstroke z7e{z7e-z6e}..{left}z8e; penlabels(8) endchar; def dr_isolated_common = %z1 = (.5hu, -1vu); z2 = (2.5hu, 2vu); z3 = (1hu, 4vu); z4 = (0, 2.5vu); z5 = (1hu, 1vu); z1 = (.6hu, -.7vu); %fill z4{down}..z5..{dir -135}z1 % & z1{dir 45}..z2{up}..z3{left}..cycle; fill z4{down}..z5..{dir -115}z1{dir 45}..z2{up}..z3{left}..cycle; penlabels(range 1 thru 5); enddef; % dalath - isolated sertochar "dalath - isolated d"; beginchar(75, 4hu#, 4vu#, 2vu#); dr_isolated_common; z6 = (1hu, y1-1.2vu); sertodot(6, 1); penlabels(6); endchar; def dr_final_common = z1 = (3.5hu, .5vu); penpos1(basestroke, 90); z2 = (hu, 1.5vu); penpos2(1.2basestroke, 45); penstroke z1e{left}..z2e; z3 = (x2r, -vu); %fill z2r{dir -80}..z3 & z3..{dir 130}z2l--cycle; fill z2r{dir -80}..{right}z1r & z1r--z1l & z1l{left}..z3 & z3..{dir 130}z2l--cycle; penlabels(range 1 thru 3); enddef; % dalath - final sertochar "dalath - final d"; beginchar(76, 3.5hu#, 2vu#, 3vu#); dr_final_common; z4 = (x3, y3-1.2vu); sertodot(4, 1); penlabels(4); endchar; def heecommon = z1 = (5.5hu, 0); penpos1(.2basestroke, 0); z2 = (6hu, 2.8vu); penpos2(.6basestroke, 0); z3 = (5.5hu, 4.5vu); penpos3(basestroke, 90); z4 = (2.5hu, .5vu); penpos4(basestroke, 90); z5 = (.2hu, y2); penpos5(.5basestroke, 0); z6 = (x4, y3); penpos6(basestroke, -90); z7 = (5hu, 3vu); penpos7(.9basestroke, -135); penstroke z1e..z2e..z3e & z3e{dir -105}..z4e..z5e..z6e..z7e; penlabels(range 1 thru 7); enddef; % he isolated sertochar "he - isolated h"; beginchar(77, 7hu#, 5vu#, 0); heecommon; endchar; % he final sertochar "he - final h"; beginchar(78, 7.5hu#, 5vu#, 0); heecommon; z8 = (x1+.5hu, 2vu); penpos8(basestroke, 90); z9 = (x1+2hu, .5vu); penpos9(basestroke, 90); penstroke z8e..{right}z9e; penlabels(8, 9); endchar; def wawcommon (suffix $) = pickup serto_pen; bot z$a = (x$ + 2hu, y$); lft z$b = (x$, y$ + 2vu); top z$c = (x$a, y$ + 5vu); rt z$d = (x$ + 4hu, y$ + 2vu); draw z$a..z$b..z$c..z$d..cycle; penlabels($a, $b, $c, $d); enddef; % waw isolated sertochar "waw - isolated w"; beginchar(79, 5hu#, 5vu#, 0); z1 = (0, 0); wawcommon(1); endchar; % waw final sertochar "waw - final w"; beginchar(80, 5hu#, 5vu#, 0); z1 = (0, 0); wawcommon(1); z5 = (.6[x1a,x1d], vu); penpos5(basestroke, 50); z6 = (5hu, .5vu); penpos6(basestroke, 90); penstroke z6e{left}..z5e; penlabels(5, 6); endchar; % o-waw isolated sertochar "waw - isolated o"; beginchar(159, 5hu#, 5vu#, 0); z1 = (0, 0); wawcommon(1); z7 = (x1c, 7hu); sertodot(7, 1); endchar; % o-waw final sertochar "waw - final o"; beginchar(160, 5hu#, 5vu#, 0); z1 = (0, 0); wawcommon(1); z5 = (.6[x1a,x1d], vu); penpos5(basestroke, 50); z6 = (5hu, .5vu); penpos6(basestroke, 90); z7 = (x1c, 7hu); sertodot(7, 1); penstroke z6e{left}..z5e; penlabels(5, 6, 7); endchar; def zaincommon = z1 = (2hu, .5vu); penpos1(basestroke, 90); z2 = (1.1hu, 1.1vu); penpos2(.9basestroke, 40); z3 = (.5hu, 4vu); penpos3(.7basestroke, 0); z5r = z2l; z5l = (0, y2l); z6 = (-.3hu, -1.3vu); penpos6(.3basestroke, -45); penstroke z3e{down}..z5e..z6e; penlabels(range 1 thru 6); enddef; % zain - isolated sertochar "zain - isolated z"; beginchar(81, 2hu#, 4vu#, 1.5vu#); zaincommon; endchar; % zain - final sertochar "zain - final z"; beginchar(82, 2hu#, 4vu#, 1.5vu#); zaincommon; penstroke z1e..z2e..{up}z3e; endchar; def hhethcommon (expr xoffs, init) = if init = 1: z1 = (xoffs + 3.8hu, 2.4vu); z11 = (xoffs + 4.5hu, 2.2vu); else: z1 = (xoffs + 4.3hu, 2.6vu); z11 = (xoffs + 4.7hu, y1); fi; %z1 = (xoffs + 4.5hu, 2.6vu); penpos1(.2basestroke, 0); %z3 = (x1-3hu, y1); penpos3(.2basestroke, -180); %z2 = (.5[x3,x1], .5vu); penpos2(basestroke, -90); %z4 = (1.5[x1,x3], y2); penpos4(basestroke, -270); %penstroke z1e{down}..z2e..{up}z3e; %penstroke z3e{down}..{left}z4e; z2 = (xoffs + 3hu, (vu-basestroke)/2); z3 = (xoffs + 1.5hu, .5vu); z4 = (xoffs, y2); z5 = (x4, y2+basestroke); z6 = (x3-.2basestroke, 2.6vu); z7 = (x3+.2basestroke, y6); z8 = (x2, y5); if init = 0: z12 = (xoffs+6hu, y5); z13 = (x12, y2); z14 = (xoffs+4.5hu, y3); fill z11{down}..{right}z12--z13{left}..z14 & z14..z2{left}..z3 & z3..{left}z4--z5{right}..{up}z6--z7{down}..{right}z8..z1--cycle; else: fill z11..z2{left}..z3 & z3..{left}z4--z5{right}..{up}z6--z7{down}..{right}z8..z1--cycle; fi; penlabels(range 1 thru 14); enddef; % .heth isolated sertochar ".heth - isolated .h"; beginchar(83, 6.8hu#, 3vu#, 0); hhethcommon(1.2hu, 1); z10 = (.5[z4,z5]); arabesque(10, .2); endchar; % .heth final sertochar ".heth - final .h"; beginchar(84, 7.2hu#, 3vu#, 0); hhethcommon(1.2hu, 0); z10 = (.5[z4,z5]); arabesque(10, .2); endchar; % .heth medial sertochar ".heth - medial .h"; beginchar(85, 6hu#, 3vu#, 0); hhethcommon(0hu, 0); endchar; % .heth initial sertochar ".heth - initial .h"; beginchar(86, 5.5hu#, 3vu#, 0); hhethcommon(0hu, 1); endchar; def tethcommon (expr xoffs) = z1 = (xoffs+3.5hu, 8vu); penpos1(basestroke, 0); z2 = (x1-1.5hu, 1.5vu); penpos2(.5basestroke, 0); % z3 = (x1-3hu, -3vu); penpos3(basestroke, 0); % z4 = (x1-hu, -4.5vu); penpos4(.7basestroke, 90); z4 = (x1-hu, -3.5vu); penpos4(.7basestroke, 90); z3 = (x1-3hu, y4+1.5vu); penpos3(basestroke, 0); z5 = (x1+.5hu, 0); penpos5(basestroke, 225); z6 = (x2, .5vu); penpos6(basestroke, 270); z7 = (xoffs, .5vu); penpos7(basestroke, 270); penstroke z1e{down}..z2e..z3e..z4e..z5e..{left}z6e..z7e; penlabels(range 1 thru 7); enddef; % .teth isolated sertochar ".teth - isolated .t"; beginchar(87, 6.2hu#, 8vu#, 4vu#); tethcommon(1.2hu); arabesque(7, .2); endchar; % .teth final sertochar ".teth - final .t"; beginchar(88, 8.2hu#, 8vu#, 4vu#); tethcommon(1.2hu); arabesque(7, .2); z8 = (8.2hu, .5vu); penpos8(basestroke, 90); penstroke z8e{left}..{up}z1e; endchar; % .teth medial sertochar ".teth - medial .t"; beginchar(89, 7hu#, 8vu#, 4vu#); tethcommon(0hu); z8 = (7hu, .5vu); penpos8(basestroke, 90); penstroke z8e{left}..{up}z1e; endchar; % .teth initial sertochar ".teth - initial .t"; beginchar(90, 5hu#, 8vu#, 4vu#); tethcommon(0hu); endchar; def iodhcommon (expr xoffs) = z1 = (xoffs, .5(vu-basestroke)); z2 = (x1, .5(vu+basestroke)); z21 = (x1-1hu, y2); z3 = (x1+hu, 2.5basestroke); z4 = (x1+2hu, y2); z5 = (x1+2.2hu, .5vu); z6 = (x1+1.5hu, y1); fill z1--z21{right}..z3--z4{z4-z3} % ..z5{down} ..{left}z6--cycle; penlabels(range 1 thru 21); enddef; % iod isolated sertochar "iod - isolated y"; beginchar(105, 6hu#, 2.5vu#, 0); iodhcommon(3hu); z7 = (.5[z1, z2]); %baseline(7, 1) arabesque(7, 2); endchar; % iod final sertochar "iod - final y"; beginchar(106, 6hu#, 2.5vu#, 0); iodhcommon(3hu); z8 = (.5[z1, z2]); arabesque(8, 2); z7 = (x1 + 1.5hu, .5[y1, y2]); baseline(7, -1.5) endchar; % iod medial sertochar "iod - medial y"; beginchar(107, 4hu#, 2.5vu#, 0); iodhcommon(1hu); z8 = (.5[z1, z2]); baseline(8, 1) z7 = (x1 + 1.5hu, .5[y1, y2]); baseline(7, -1.5) endchar; % iod initial sertochar "iod - initial y"; beginchar(108, 4hu#, 2.5vu#, 0); iodhcommon(1hu); z7 = (.5[z1, z2]); baseline(7, 1) endchar; % kaf - isolated sertochar "kaf - isolated k (needs improvement)"; beginchar(109, 6hu#, 2.5vu#, 3vu#); z1 = (3hu, (vu-basestroke)/2); z2 = (x1, .5vu+.5basestroke); z21 = (x1-hu, y2); z3 = (x1+hu, 2.5basestroke); z4 = (x1+2hu, y2); z5 = (x1+2.2hu, .5basestroke); z6 = (x1+1.5hu, y1); fill z1--z21{right}..z3--z4{z4-z3} % ..z5{down} ..{left}z6--cycle; z7 = (x1, .5vu); arabesque(7, 2); z8 = (3.5[z3, z2]); z9 = (x8+.2hu, y8-.2vu); fill z2--z8--z9--z4--cycle; penlabels(range 1 thru 9); endchar; % kaf - final sertochar "kaf - final k (needs improvement)"; beginchar(110, 6hu#, 2.5vu#, 3vu#); z1 = (3hu, 0); z2 = (x1, .5vu+.5basestroke); z21 = (x1-hu, y2); z3 = (x1+hu, 2.5basestroke); z4 = (x1+2hu, y2); z5 = (x1+2.2hu, .5basestroke); z6 = (x1+1.5hu, 0); fill z1--z21{right}..z3--z4{z4-z3} % ..z5{down} ..{left}z6--cycle; z7 = (x1, .5vu); arabesque(7, 2); baseline(7, -3); z8 = (3.5[z3, z2]); z9 = (x8+.2hu, y8-.2vu); fill z2--z8--z9--z4--cycle; penlabels(range 1 thru 21); endchar; def kafcommon = z1 = (1.5hu, 2vu); penpos1(basestroke, 0); z3 = (5.5hu, y1+.5hu); penpos3(basestroke, -180); z2 = (.5[x1,x3], 4vu); penpos2(.4basestroke, -90); z4 = (x2+hu, .5vu); penpos4(basestroke, -270); penstroke z1e{up}..z2e..z3e..{left}z4e; penlabels(range 1 thru 5); enddef; % kaf - medial sertochar "kaf - medial k"; beginchar(111, 7hu#, 4vu#, 0); kafcommon; z5 = (7hu, y4); baseline(5, 7) endchar; % kaf - initial sertochar "kaf - initial k"; beginchar(112, 7hu#, 4vu#, 0); kafcommon; baseline(4, 4.5) endchar; def lamadfinalcommon = z1 = (.5hu, 7vu); penpos1(basestroke, 40); z2 = (6.5hu, 1vu); penpos2(basestroke, 40); z3 = (9hu, 1vu); penpos3(.2basestroke, 120); z4 = (x1+3hu, y1); penpos4(basestroke, 40); z5 = (x2+3hu, y2); penpos5(basestroke, 40); penstroke z1e--z2e{z2-z1}..z3e; penstroke z4e--z5e; penlabels(range 1 thru 5); enddef; sertochar "lamad - isolated"; beginchar(113, 11.5hu#, 7vu#, 0); lamadfinalcommon; z6 = (whatever[z4, z5]); penpos6(basestroke, 40); y6l = 0; penstroke z5e--z6e; penlabels(6); endchar; sertochar "lamad - final"; beginchar(114, 10.5hu#, 7vu#, 0); lamadfinalcommon; z6 = (x5+1hu, .5vu); penpos6(basestroke, 90); penstroke z5e{z5-z4}..z6e; penlabels(6); endchar; def lamadnonfinalcommon = z1 = (.5hu, 7vu); penpos1(basestroke, 40); z2 = (5hu, 1vu); penpos2(basestroke, 40); penstroke z1e--z2e; penlabels(range 1 thru 2); enddef; sertochar "lamad - medial"; beginchar(115, 6.5hu#, 7vu#, 0); lamadnonfinalcommon; z3 = (6.5hu, .5vu); penpos3(basestroke, 90); % penstroke z2e{z2-z1}..{right}z3e; % z1e--z2e is already drawn in Cainnonfinalcommon % we redraw it to avoit some white pixel on z2e. penstroke z1e--z2e..{right}z3e; % z4 = (whatever[z1l, z2l]); penpos4(basestroke, 90); % y4l = .5(vu-basestroke); % z5 = (0, .5vu); penpos5(basestroke, 90); % penstroke z4e--z5e; z10 = (x2-1.5hu, basestroke+.5vu); z4 = (whatever[z1, z2]); penpos4(basestroke, 40); z10 = (whatever[z4r, z4l]); z5 = (x10, .5vu); penpos5(basestroke, -90); z6 = (0, .5vu); penpos6(basestroke, -90); penstroke z4e..{left}z5e..z6e; penlabels(3, 4, 5, 6, 10); endchar; sertochar "lamad - initial"; beginchar(116, 7hu#, 7vu#, 0); lamadnonfinalcommon; z3 = (whatever[z1, z2]); penpos3(basestroke, 40); y3l = .5(vu-basestroke); penstroke z2e--z3e; % z4 = (whatever[z1l, z3l]); penpos4(basestroke, 90); % y4l = y3l; % z5 = (0, .5vu); penpos5(basestroke, 90); % penstroke z4e--z5e; z10 = (x2-1.5hu, basestroke+.5vu); z4 = (whatever[z1, z3]); penpos4(basestroke, 40); z10 = (whatever[z4r, z4l]); z5 = (x10, .5vu); penpos5(basestroke, -90); z6 = (0, .5vu); penpos6(basestroke, -90); penstroke z4e..{left}z5e..z6e; penlabels(3, 4, 5, 6, 10); endchar; def mimcommon (expr final, exOne) = % z1 = (.5hu, 4.5vu); penpos1(basestroke, 45); % z2 = (5hu, .5vu); penpos2(basestroke, 90); % z3 = (7hu, 2.25vu); penpos3(.5basestroke, 180); % z4 = (x2, 4vu); penpos4(basestroke, 270); % if final = 0: % z5 = (3hu, y3); penpos5(.5basestroke, 360); % else: % z5 = (2.5hu, 2vu); penpos5(basestroke, 315); % fi; % z7 = (3hu, 1.5vu); penpos7(basestroke, 45); % % z6 = (1hu, -3vu); penpos6(.4basestroke, 315); z1 = (exOne, 4.5vu); penpos1(basestroke, 45); z2 = (x1+4.5hu, .5vu); penpos2(basestroke, 90); z3 = (x2+2hu, 2.25vu); penpos3(.5basestroke, 180); z4 = (x2, 4vu); penpos4(basestroke, 270); if final = 0: z5 = (x1+2.5hu, y3); penpos5(.5basestroke, 360); else: z5 = (x1+2hu, 2vu); penpos5(basestroke, 315); fi; z7 = (x1+2.5hu, 1.5vu); penpos7(basestroke, 45); z6 = (x1+.5hu, -3vu); penpos6(.4basestroke, 315); if final = 0: penstroke z1e--z7e{z7-z1}..z2e{right}..z3e{up}..z4e{left}..z5e..{right}z2e; else: penstroke z1e--z7e{z7-z1}..z2e{right}..z3e{up}..z4e{left}..{z6-z5}z5e; fi; penlabels(range 1 thru 7); enddef; sertochar "mim - isolated"; beginchar(117, 8hu#, 4.5vu#, 3vu#); mimcommon(1, 0.5hu); penstroke z5e--z6e; endchar; sertochar "mim - final"; beginchar(118, 8hu#, 4vu#, 1vu#); mimcommon(1, 0.5hu); penstroke z5e--z6e; baseline(2, -3); endchar; sertochar "mim - medial"; beginchar(119, 8hu#, 4vu#, 0); mimcommon(0, 0.5hu); z8 = (0, y2); baseline(8, -8); endchar; sertochar "mim - initial"; beginchar(120, 8.5hu#, 4vu#, 0); mimcommon(0, 1hu); baseline(2, 5.5); endchar; def nunnonfinalcommon = z1 = (1.25hu, 4vu); penpos1(1.1basestroke, 20); z2 = (1.5hu, 1.1vu); penpos2(basestroke, 0); z3 = (0.9hu, .5vu); penpos3(basestroke, -90); z4 = (0, .5vu); penpos4(basestroke, -90); penstroke z1e{down}..{down}z2e..{left}z3e--z4e; penlabels(range 1 thru 4); enddef; sertochar "nun - isolated"; beginchar(121, 3.5hu#, 1vu#, 4vu#); z1 = (.5hu, .5vu); penpos1(1.3basestroke, 42); z2 = (x1+1.5hu, -2vu); penpos2(basestroke, 45); z3 = (x1+5hu, -4.2vu); penpos3(.4basestroke, 80); penstroke z1e..z2e..z3e; penlabels(range 1 thru 3); endchar; sertochar "nun - final"; beginchar(122, 5hu#, 1vu#, 4vu#); z1 = (.5hu, 0vu); penpos1(basestroke, 0); z4 = (1.1hu, .5vu); penpos4(basestroke, -90); z2 = (1.5hu, -2vu); penpos2(basestroke, 45); z3 = (5hu, -4.2vu); penpos3(.25basestroke, 80); penstroke z1e..z2e..z3e; penstroke z4e{left}..z1e; baseline(4, -3.9); penlabels(range 1 thru 4); endchar; sertochar "nun - medial"; beginchar(129, 3hu#, 4vu#, 0); nunnonfinalcommon; baseline(4, -3); endchar; sertochar "nun - initial"; beginchar(130, 3hu#, 4vu#, 0); nunnonfinalcommon; endchar; %def qofsemkathcommon (expr xoffs) = % z1 = (xoffs+2hu, .5vu); penpos1(basestroke, -90); % z2 = (x1+1.25hu, 2vu); penpos2(.5basestroke, 0); % z3 = (x1, y1+3.5hu); penpos3(basestroke, 90); % z4 = (xoffs+.25hu, y2); penpos4(basestroke, -180); % % penstroke z1e..z2e..z3e..z4e..{right}cycle; % penlabels(range 1 thru 4); %enddef; def penpoint (suffix $) (expr xval, yval, large, angle) = z$ = (xval, yval); penpos$(large, angle); enddef; def semkathcommon (expr xoffs) = penpoint(1, xoffs, .5vu, basestroke, -90); penpoint(11, xoffs+2hu, y1, basestroke, -90); penpoint(2, xoffs+3hu, 1.2vu, .4basestroke, -45); penpoint(3, xoffs+2.25hu, 4vu, basestroke, 90); penpoint(4, xoffs-.25hu, .4vu, .4basestroke, 135); penstroke z1e..z11e{right}...z2e..{left}z3e..{dir 245}z4e; penpoint(5, xoffs-hu, y3, basestroke, -90); penpoint(6, x5-1.4hu, 3vu, .4basestroke, -45); penpoint(7, xoffs-1.4hu, y1, basestroke, 90); penpoint(8, xoffs, y1, basestroke, 90); penstroke z4e{dir 65}..{left}z5e..z6e..{right}z7e...z8e; penlabels(range 1 thru 11); enddef; %def semkathcommon (expr xoffs) = % qofsemkathcommon(xoffs); % z5 = (x1+2.5hu, y1); penpos5(basestroke, -90); % z6 = (x5+1.5hu, y2); penpos6(basestroke, 0); % z7 = (x5, y3); penpos7(basestroke, 90); % z8 = (x2, y2+.5vu); penpos8(.5basestroke, 145); % % penstroke z1e--z5e{right}..z6e..z7e..z8e; % penlabels(range 5 thru 8); %enddef; sertochar "semkath - isolated"; beginchar(131, 9hu#, 4.5vu#, 0); semkathcommon(4.5hu); arabesque(7, 2); endchar; sertochar "semkath - final"; beginchar(132, 9hu#, 4.5vu#, 0); semkathcommon(4.5hu); arabesque(7, 2); baseline(11, -2.5); endchar; sertochar "semkath - medial"; beginchar(133, 8.5hu#, 4.5vu#, 0); semkathcommon(4hu); baseline(11, -2.5); baseline(8, 4); endchar; sertochar "semkath - initial"; beginchar(134, 8.5hu#, 4.5vu#, 0); semkathcommon(4hu); baseline(8, 4); endchar; def Cainfinalcommon = z1 = (.5hu, 4vu); penpos1(basestroke, 40); z2 = (3hu, 1vu); penpos2(basestroke, 40); z3 = (6hu, 1vu); penpos3(.2basestroke, 120); z4 = (x1+2.5hu, y1); penpos4(basestroke, 40); z5 = (x2+2.5hu, y2); penpos5(basestroke, 40); penstroke z1e--z2e{z2-z1}..z3e; penstroke z4e--z5e; penlabels(range 1 thru 5); enddef; sertochar "`e - isolated"; beginchar(135, 7.5hu#, 4vu#, 0); Cainfinalcommon; z6 = (whatever[z4, z5]); penpos6(basestroke, 40); y6l = 0; penstroke z5e--z6e; penlabels(6); endchar; sertochar "`e - final"; beginchar(136, 6.5hu#, 4vu#, 0); Cainfinalcommon; z6 = (x5+1hu, .5vu); penpos6(basestroke, 90); penstroke z5e{z5-z4}..z6e; penlabels(6); endchar; def Cainnonfinalcommon = z1 = (.5hu, 4vu); penpos1(basestroke, 40); z2 = (3hu, 1vu); penpos2(basestroke, 40); penstroke z1e--z2e; penlabels(range 1 thru 2); enddef; sertochar "`e - medial"; beginchar(137, 4.5hu#, 4vu#, 0); Cainnonfinalcommon; z3 = (4.5hu, .5vu); penpos3(basestroke, 90); %penstroke z2e{z2-z1}..{right}z3e; % z1e--z2e is already drawn in Cainnonfinalcommon % we redraw it to avoit some white pixel on z2e. penstroke z1e--z2e..{right}z3e; %z4 = (whatever[z1l, z2l]); penpos4(basestroke, 90); %y4l = 0; %z5 = (0, .5vu); penpos5(basestroke, 90); %penstroke z4e--z5e; z10 = (x2-1.5hu, basestroke+.5vu); z4 = (whatever[z1, z2]); penpos4(basestroke, 40); z10 = (whatever[z4r, z4l]); z5 = (x10, .5vu); penpos5(basestroke, -90); z6 = (0, .5vu); penpos6(basestroke, -90); penstroke z4e..{left}z5e..z6e; penlabels(3, 4, 5, 6, 10); endchar; sertochar "`e - initial"; beginchar(138, 5hu#, 4vu#, 0); Cainnonfinalcommon; z3 = (whatever[z1, z2]); penpos3(basestroke, 40); y3l = 0; penstroke z2e--z3e; % z4 = (whatever[z1l, z3l]); penpos4(basestroke, 90); % y4l = 0; % z5 = (0, .5vu); penpos5(basestroke, 90); % penstroke z4e--z5e; z10 = (x2-1.5hu, basestroke+.5vu); z4 = (whatever[z1, z2]); penpos4(basestroke, 40); z10 = (whatever[z4r, z4l]); z5 = (x10, .5vu); penpos5(basestroke, -90); z6 = (0, .5vu); penpos6(basestroke, -90); penstroke z4e..{left}z5e..z6e; penlabels(3, 4, 5, 6, 10); endchar; %def pecommon (expr xoffs) = % %z1 = (xoffs, .5hu); penpos1(basestroke, -90); % z2 = (xoffs+2hu, .5hu); penpos2(basestroke, -90); % z3 = (x2+2hu, 3hu); penpos3(basestroke, 0); % z4 = (x2, 4.75hu); penpos4(.5basestroke, 90); % z5 = (xoffs+.5hu, 3.5hu); penpos5(basestroke, 180); % z6 = (x4, y3-.5hu); penpos6(basestroke, 270); % z7r = z3; penpos7(.4basestroke, 315); % % penstroke z2e{right}..{up}z3e..z4e..z5e..{right}z6e..z7e; % penlabels(range 2 thru 7); %enddef; def pecommon (expr xoffs) = pickup pe_pen; z1 = (xoffs, .5vu); z2 = z1 + (2hu, 0); z21 = z2 + (.5hu, 1.5vu); z3 = z1 + (0, 3.5hu); z4 = z1 + (-hu, 2.5vu); z5 = (x2-.4hu, 3.2hu); draw z1---z2..z21..z3..z4..tension 1.3..z5; penlabels(range 1 thru 12); enddef; sertochar "pe - isolated"; beginchar(139, 5.5hu#, 5hu#, 0); pecommon(2hu); arabesque(1, 1); endchar; sertochar "pe - final"; beginchar(140, 6hu#, 5hu#, 0); pecommon(2hu); arabesque(1, 1); baseline(2, -2); endchar; sertochar "pe - medial"; beginchar(141, 6hu#, 5hu#, 0); pecommon(2hu); baseline(1, 2); baseline(2, -2); endchar; sertochar "pe - initial"; beginchar(142, 6hu#, 5hu#, 0); pecommon(2hu); baseline(1, 2); endchar; def sadecommon (expr xoffs, iso) = z1 = (xoffs, -2vu); penpos1(1.4basestroke, -80); z2 = (x1+3hu, -3.5vu); penpos2(.8basestroke, -90); z3 = (x1+4.5hu, -2.25vu); penpos3(.5basestroke, -45); z4 = (x3-.25hu, -.75vu); penpos4(basestroke, 45); z5 = (x3-.5hu, .5vu); penpos5(.6basestroke, 0); if iso = 0: % isolated sade z6 = (x4, 1.5vu); penpos6(.8basestroke, 32); z7 = (x6-.5hu, y6+vu); penpos7(basestroke, 70); penstroke z1e..{right}z2e..z3e..z4e..z5e..z6e..z7e; else: % final sade z6 = (x4-.3hu, 1vu); penpos6(.8basestroke, 32); penstroke z1e..{right}z2e..z3e..z4e..z5e..{dir 122}z6e; z7 = (xoffs+5.5hu, .5vu); penpos7(basestroke, 90); penstroke z6e..{right}z7e; fi; penlabels(range 1 thru 7); enddef; sertochar ".sade - isolated"; beginchar(143, 5.5hu#, 2vu#, 4vu#); sadecommon(0, 0); endchar; sertochar ".sade - final"; beginchar(144, 5hu#, 2vu#, 4vu#); sadecommon(0, 1); endchar; %def qoffinalcommon (expr xoffs) = % qofsemkathcommon(xoffs); % z5 = (xoffs, .5vu); penpos5(basestroke, -90); % arabesque(5, .75); % z6 = (x4l, 1.5hu); penpos6(.4basestroke, -45); % penstroke z5e{right}..z6e; % % penlabels(5, 6); %enddef; %def qofnonfinalcommon (expr xoffs) = % qofsemkathcommon(xoffs); % z5 = (xoffs, .5vu); penpos5(basestroke, -90); % baseline(5, 1.5); % z6 = (x4l, 1.5hu); penpos6(.4basestroke, -45); % penstroke z5e{right}..z6e; % % penlabels(5, 6); %enddef; def qofright = % works only if called after wawcommon z7 = (.6[x1a,x1d], .8vu); penpos7(basestroke, 50); z6 = (x1a+3hu, .5vu); penpos6(basestroke, 90); penstroke z6e{left}..z7e; penlabels(6, 7); enddef; def qoffinalcommon (expr xoffs) = z1 = (xoffs+.25hu, 0); wawcommon(1); z5 = (xoffs, .5vu); penpos5(basestroke, -90); arabesque(5, .75); z4 = .5[z1a, z1b]; penpos4(.4basestroke, -45); penstroke z5e{right}..z4e; penlabels(1, 4, 5); enddef; def qofnonfinalcommon (expr xoffs) = z1 = (xoffs+.25hu, 0); wawcommon(1); z5 = (xoffs, .5vu); penpos5(basestroke, -90); baseline(5, .5); z4 = .5[z1a, z1b]; penpos4(.4basestroke, -45); %z6 = (x4l, 1.5hu); penpos6(.4basestroke, -45); penstroke z5e{right}..z4e; penlabels(5, 6); enddef; sertochar "qof - isolated"; beginchar(145, 7hu#, 5vu#, 0); qoffinalcommon(1.75hu); endchar; sertochar "qof - final"; beginchar(146, 7hu#, 5vu#, 0); qoffinalcommon(1.75hu); qofright; % z7 = (.6[x1a,x1d], .8vu); penpos7(basestroke, 50); % z6 = (x1a+3hu, .5vu); penpos6(basestroke, 90); % penstroke z6e{left}..z7e; % % penlabels(6, 7); endchar; sertochar "qof - medial"; beginchar(147, 5.75hu#, 5vu#, 0); qofnonfinalcommon(.5hu); qofright; endchar; sertochar "qof - initial"; beginchar(148, 6hu#, 5vu#, 0); qofnonfinalcommon(.5hu); endchar; % resh - isolated sertochar "resh - isolated"; beginchar(149, 4hu#, 6vu#, 0); dr_isolated_common; z6 = (1hu, y3+1.2vu); sertodot(6, 1); penlabels(6); endchar; % resh - final sertochar "resh - final"; beginchar(150, 3hu#, 4vu#, 1vu#); dr_final_common; z4 = (x3, y2r+1.2vu); sertodot(4, 1); penlabels(4); endchar; def shincommon (expr xoffs) = z1 = (xoffs, .5vu); z2 = (x1+1.5hu, 2vu); z3 = (x1, 2vu+basestroke); z4 = (x1-1.5hu, y2); fill z1{dir 45}..{up}z2..z3..z4{down}..{dir 315}cycle; z5 = (x1-hu, y1); penpos5(basestroke, -90); z6r = z1 + (basestroke-hu, basestroke-hu); penpos6(hu, -45); penstroke z5e{right}..z6e; z7l = z1 + (-(basestroke-hu), basestroke-hu); penpos7(hu, 45); z8 = (x1+hu, y1); penpos8(basestroke, 90); penstroke z8e{left}..z7e; penlabels(range 1 thru 8); enddef; def shinfinal (expr xoffs) = shincommon(xoffs); arabesque(5, .75); enddef; def shinnonfinal (expr xoffs) = shincommon(xoffs); baseline(5, 1.5); enddef; def shininit (suffix $)(expr length) = z$aa = (x$, y$-.5basestroke); z$ac = (x$, y$+.5basestroke); z$ab = (x$+length*hu, y$aa); z$ad = (x$+(length-.2)*hu, y$ac); z$ae = (x$ab+hu, y$ad+.5vu); fill z$aa--z$ab{right}..{up}z$ae{dir 225}..{left}z$ad--z$ac--cycle; penlabels($aa, $ab, $ac, $ad, $ae); enddef; sertochar "shin - isolated"; beginchar(151, 5.75hu#, 3vu#, 0); shinfinal(2.75hu); shininit(8, .25); endchar; sertochar "shin - final"; beginchar(152, 4.75hu#, 3vu#, 0); shinfinal(2.75hu); baseline(8, -1); endchar; sertochar "shin - medial"; beginchar(153, 4.5hu#, 3vu#, 0); shinnonfinal(2.5hu); baseline(8, -1); endchar; sertochar "shin - initial"; beginchar(154, 5.5hu#, 3vu#, 0); shinnonfinal(2.5hu); shininit(8, .25); endchar; def taucommon = z1 = (0, 0); z2 = (4.5hu, .5vu); penpos2(basestroke, 67); z3 = (1hu, 1.1vu); %z4 = (1hu, 8vu); penpos4(basestroke, 20); z4 = (1hu, 8vu); penpos4(basestroke, 20); z5l = z1; z5r = z3; penstroke z4e{down}..z5e & z5e{dir 17}..z2e; penlabels(range 1 thru 5); enddef; sertochar "tau - isolated"; beginchar(155, 5.75hu#, 8vu#, 0); taucommon; endchar; sertochar "tau - final"; beginchar(156, 6.5hu#, 8vu#, 0); taucommon; z6 = (x2+2hu, y2); penpos6(basestroke, 90); %z7 = (x6+hu, y6); penpos7(basestroke, 90); penstroke z4e{dir -50}..tension 1.8 ..{right}z6e; %---z7e; penlabels(6, 7) endchar; % resh doubledotted - isolated sertochar "resh doubledotted - isolated"; beginchar(157, 4hu#, 6vu#, 0); dr_isolated_common; z6 = (.6hu, y3+1.2vu); z7 = z6 + (1.5hu, 0); sertodot(6, 1); sertodot(7, 1); penlabels(6, 7); endchar; % resh doubledotted- final sertochar "resh doubledotted - final"; beginchar(158, 3hu#, 4vu#, 1vu#); dr_final_common; z4 = (x3-.7hu, y2r+1.2vu); z5 = z4 + (1.5hu, 0); sertodot(4, 1); sertodot(5, 1); penlabels(4, 4); endchar; % ligatures sertochar "olaf lamad - initial"; beginchar(171, 9.5hu#, 7vu#, 0); lamadnonfinalcommon; z3 = (whatever[z1, z2]); penpos3(basestroke, 40); y3l = 0; penstroke z2e--z3e; z11 = (x1+2.5hu, y1); penpos11(basestroke, 40); z13 = (x3+2.5hu, y3); penpos13(basestroke, 40); penstroke z11e--z13e; z4 = (whatever[z1l, z3l]); penpos4(basestroke, 90); y4l = 0; z5 = (0, .5vu); penpos5(basestroke, 90); penstroke z4e--z5e; penlabels(3, 4, 5, 11, 13); endchar; def lamadolafcommon = z1 = (1.5hu, .5vu); penpos1(basestroke, 90); z2 = (x1-hu, 1.5vu); penpos2(basestroke, 0); z12 = (x1+hu, y2); penpos12(basestroke, 180); %z3 = (x2, 4.5vu); penpos3(.8basestroke, 0); %z13 = (x12, y3); penpos13(.8basestroke, 180); z3 = (x2, 4.5vu); penpos3(basestroke, 0); z13 = (x12, y3); penpos13(basestroke, 180); %z4 = (x2, 8vu); penpos4(basestroke, 20); %z14 = (x12, y4); penpos14(basestroke, 200); z4l = z3l + (0, 3.2vu); z4r = z3r + (0, 3.8vu); z14l = z13l + (0, 3.8vu); z14r = z13r + (0, 3.2vu); %z6 = (-.3hu, -vu); penpos6(.4basestroke, -45); z6 = (-.8hu, -1.5vu); penpos6(.2basestroke, -45); penstroke z4e..z3e..z2e{down}..z1e..{up}z12e..z13e..z14e; penstroke z2e{down}..z6e; penlabels(range 1 thru 14); enddef; sertochar "lamad olaf - isolated"; beginchar(172, 4hu#, 8vu#, 0); lamadolafcommon; endchar; sertochar "lamad olaf - final"; beginchar(173, 4hu#, 8vu#, 0); lamadolafcommon; z7 = z1 + (2.5hu, 0); penpos7(basestroke, 270); penstroke z12e{down}..{right}z7e; penlabels(7); endchar; % Plural Sign sertochar "sey=ame"; beginchar(7, 3hu#, 6vu#, 0); z4 = (hu, 5.7vu); z5 = z4 + (1.5hu, 0); sertodot(4, 1); sertodot(5, 1); penlabels(4, 4); endchar; %% Vowels input syriacvowels; %sertochar "peto.ho a"; %beginchar(1, 3hu#, 5vu#, 0); % pickup vowel_pen; % z11 = (0, 3vu); % z12 = (x1+3hu, y1+3vu); % z1 = (.1[z11,z12]); % z2 = (.9[z11,z12]); % z3 = (.3[z11,z12]); % z4 = (.7[z11,z12]); % %z5 = (x1+.5hu, y2); % z16 = (.5[z11,z12]); % Hilfspunkt % z6 = z16 + 2hu*dir(angle(z2-z1)+90); % draw z1--z2; % draw z3--z6--z4; % penlabels(1,2,3,4,6) %endchar; % % %sertochar "revo.so e"; %beginchar(2, 3hu#, 6vu#, 0); % pickup vowel_pen; % z1 = (0, 4vu); % z2 = (x1+2.2hu, y1+vu); % z3 = (x1+3hu, y1-vu); % z4 = z2 + whatever*dir(-110); % z4 = whatever[z1,z3]; % % draw z1..z2..z3; % draw z2--z4; % % penlabels(1,2,3,4); %endchar; % % %sertochar ".hevo.so i"; %beginchar(3, 3hu#, 6vu#, 0); % pickup vowel_pen; % % z1 = (.8hu, 3vu); % z2 = z1 + (2.9hu, 1.5vu); % z3 = z1 + (-.8hu, 1vu); % z4 = z3 + (3hu, 1.5vu); % z5 = .4[z3, z4]; % z6 = .5[z1, z2]; % % draw z1--z2; % draw z3--z4; % draw z5--z6; % % penlabels(1,2,3,4,5,6); %endchar; % %sertochar "zeqopo o"; %beginchar(4, 3hu#, 6vu#, 0); % pickup vowelII_pen; % % z1 = (0, 3vu); % z2 = z1 + (2hu, 3vu); % z3 = z1 + (1.3hu, 1.5vu); % % draw z1{dir 30}..{dir 135}z2..{right}z3; % penlabels(1,2,3); %endchar; % %sertochar "`e.so.so u"; %beginchar(5, 3hu#, 8vu#, 0); % pickup vowel_pen; % % z1 = (0, 5vu); % z2 = z1 + (3hu, 3vu); % z3 = .47[z1, z2]; % z4 = z1 + (2.5hu, -.5vu); % % draw z1--z2; % draw z3--z4; % % pickup vowelIII_pen; % z5 = z1 + (1.4hu, 0); % z6 = z5 - (.5hu, .6vu); % % draw z5..z6..cycle; % % penlabels(range 1 thru 6) %endchar; % % %sertochar "qu^s^soyo (hard sign)"; %beginchar(6, 1hu#, 4vu#, 0); % z1 = (.5hu, 4vu); % sertodot(1, 1.2); %endchar; % % %sertochar "peto.ho a invers"; %beginchar(17, 3hu#, 5vu#, 0); % pickup vowel_pen; % z11 = (0, 1vu); % z12 = (x1+3hu, y1+3vu); % z1 = (.1[z11,z12]); % z2 = (.9[z11,z12]); % z3 = (.3[z11,z12]); % z4 = (.7[z11,z12]); % %z5 = (x1+.5hu, y2); % z16 = (.5[z11,z12]); % Hilfspunkt % z6 = z16 - 2hu*dir(angle(z2-z1)+90); % draw z1--z2; % draw z3--z6--z4; % penlabels(1,2,3,4,6) %endchar; % % %sertochar "revo.so e invers"; %beginchar(18, 3hu#, 6vu#, 0); % pickup vowel_pen; % z1 = (0, 4vu); % z2 = (x1+hu, y1-2.2vu); % z3 = (x1+3hu, y1-vu); % z4 = z2 + whatever*dir(-110); % z4 = whatever[z1,z3]; % % draw z1..z2..z3; % draw z2--z4; % % penlabels(1,2,3,4); %endchar; % % %sertochar ".hevo.so i"; %beginchar(19, 3hu#, 4vu#, 0); % pickup vowel_pen; % % z1 = (.8hu, 1vu); % z2 = z1 + (2.9hu, 1.5vu); % z3 = z1 + (-.8hu, 1vu); % z4 = z3 + (3hu, 1.5vu); % z5 = .4[z3, z4]; % z6 = .5[z1, z2]; % % draw z1--z2; % draw z3--z4; % draw z5--z6; % % penlabels(1,2,3,4,5,6); %endchar; % %sertochar "zeqopo o invers"; %beginchar(20, 3hu#, 6vu#, 0); % pickup vowelII_pen; % % z1 = (2.5hu, 5vu); % z2 = z1 - (2hu, 3vu); % z3 = z1 - (1.3hu, 1.5vu); % % draw z1{dir -150}..{dir -45}z2..{left}z3; % penlabels(1,2,3); %endchar; % %sertochar "`e.so.so u invers"; %beginchar(21, 3hu#, 8vu#, 0); % pickup vowel_pen; % % z1 = (3hu, 5vu); % z2 = z1 - (3hu, 3vu); % z3 = .47[z1, z2]; % z4 = z1 - (2.5hu, -.5vu); % % draw z1--z2; % draw z3--z4; % % pickup vowelIII_pen; % z5 = z1 - (1.4hu, 0); % z6 = z5 + (.5hu, .6vu); % % draw z5..z6..cycle; % % penlabels(range 1 thru 6) %endchar; % % % %sertochar "rukko_ho (soft sign)"; %beginchar(22, 1hu#, 2vu#, 0); % z1 = (.5hu, 0vu); % sertodot(1, 1.2); %endchar; sertochar "mvatlono (silent bar below)"; beginchar(23, 4hu#, 2vu#, 0); penpoint(1, 0, .5vu, basestroke, 75); penpoint(2, 3hu, .5vu, basestroke, 75); penstroke z1e--z2e; endchar; sertochar "mvatlono (silent bar above)"; beginchar(8, 4hu#, 2vu#, 0); penpoint(1, 0, .5vu, basestroke, 75); penpoint(2, 3hu, .5vu, basestroke, 75); penstroke z1e--z2e; endchar; % interpunction sertochar "full stop"; beginchar(46, 3hu#, 1vu#, 0); z1 = (1hu, 1vu); sertodot(1, 1); endchar; sertochar "colon"; beginchar(58, 3hu#, 4vu#, 0); z1 = (1hu, 1vu); z2 = (1hu, 4vu); sertodot(1, 1); sertodot(2, 1); endchar; sertochar "underscore"; beginchar(95, 5hu#, 4vu#, 0); pickup punct_pen; bot z1 = (0,0); bot z2 = (5hu,0); draw z1--z2; % penpoint(1, 0, .2hu, .4basestroke, 90); % penpoint(2, 5hu, .2hu, .4basestroke, 90); % penstroke z1e--z2e; endchar; sertochar "stretch"; beginchar(45, 3hu#, 1vu#, 0); penpoint(1, 0, .5vu, basestroke, 90); penpoint(2, 3hu, .5vu, basestroke, 90); penstroke z1e--z2e; endchar; def paraIplusII (suffix $)= pickup para_pen; z$a = z$ + (2hu, 0); z$b = z$ + (0, 2vu); z$c = z$a + (0, 4vu); z$d = z$b + (4hu, 0); %sertodot(8, 1); drawdot z$a; drawdot z$b; drawdot z$c; drawdot z$d; penlabels($a, $b, $c, $d); enddef; sertochar "end paragraph 1"; beginchar(33, 6hu#, 5vu#, 0); pickup punct_pen; z1 = (.5hu, .5vu); z2 = z1 + (4hu, 4vu); z3 = z1 + (0, 4vu); z4 = z1 + (4hu, 0); draw z1--z2; draw z3--z4; penlabels(1,2,3,4); paraIplusII(1); endchar; sertochar "end paragraph 2"; beginchar(34, 6hu#, 5vu#, 0); z1 = (.5hu, .5vu); penlabels(1); paraIplusII(1); endchar; sertochar "end paragraph 3"; beginchar(35, 6hu#, 5vu#, 0); pickup para_pen; z1 = (1hu, 1vu); z2 = z1 + (3hu, 3vu); z3 = z1 + (0, 3vu); z4 = z1 + (3hu, 0); drawdot z1; drawdot z2; drawdot z3; drawdot z4; penlabels(1,2,3,4); endchar; sertochar "end paragraph 4"; beginchar(36, 6hu#, 5vu#, 0); pickup para_pen; z1 = (2.5hu, 1vu); z2 = z1 + (0, 3vu); drawdot z1; drawdot z2; pickup punct_pen; z3 = (.5hu, 2.5vu); z4 = z3 + (4hu, 0); draw z3--z4; penlabels(1,2,3,4); endchar; sertochar "end paragraph 5"; beginchar(37, 8hu#, 3vu#, 0); pickup para_pen; z1 = (2hu, 1.5vu); z2 = z1 + (4hu, 1vu); drawdot z1; drawdot z2; pickup punct_pen; z3 = (0, 2vu); z4 = z3 + (2hu, 1vu); z5 = z3 + (4hu, 0); z6 = z3 + (6hu, -1vu); z7 = z3 + (8hu, 0); draw z3..z4..z5..z6..z7; penlabels(range 1 thru 7); endchar; sertochar "end paragraph 6"; beginchar(38, 3hu#, 6vu#, 1vu#); pickup para_pen; z1 = (1.5hu, .5vu); z2 = z1 + (-1hu, 4vu); drawdot z1; drawdot z2; pickup punct_pen; z3 = (0, -1vu); z4 = z3 + (1hu, 3.5vu); z5 = z4 + (1hu, 3.5vu); draw z3{up}..z4..{up}z5; penlabels(range 1 thru 5); endchar; endinput;