% Dingbat characters as of 3-3-89 by Doug Henderson
% To be run with plain.bas.
% Last modified on 3-20-96 by Marcus Ohlhaut (MO)

font_size=10pt#; % make the pxl or pk files be in ...\pixel\pxl1500

def clear_all =
  clearit; clearxy;
enddef;

%%%
% turn pt,in,cm etc. into pixel values
%%%

mode_setup;

%%%
% define your variables here
%%%
string s[];
picture p[];
numeric anchor_scale;
anchor_scale=10;
path the_anchor,ring_of_anchor,tilted_anchor,tilted_ring;
% how much to tilt the anchor
numeric akilter;
akilter:=20;
picture holdit,holdem,flower_x,flower_y;
path collar, thumb, index_finger, the_bird, ring_finger, pinky_finger ;
a#:=12pt#;
b#:=12pt#;
glyph_width#:=10pt#;
glyph_height#:=7pt#;
uniform_square#:=20pt#;
triangle_size#:=12pt#;
check_width#:=10pt#;
check_height#:=10pt#;
check_depth#:=0pt#;
dash#:=2pt#;
%flu_width#:=31pt#;
%flu_height#:=15pt#;
flu_width#:=62pt#;
flu_height#:=30pt#;
anchor_height#:=150pt#/anchor_scale;
anchor_width#:=130pt#/anchor_scale;
anchor_depth#:=0pt#;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Very thin weight stroke for flouron (not advised for < 600dpi)
%thinish#:=.25pt#;
%thinthick#:=.45pt#;
%thickish#:=.75pt#;

% Normal weight stroke for flouron
thinish#:=.5pt#;
thinthick#:=1pt#;
thickish#:=1.5pt#;

% Heavy weight stroke for flouron
%thinish#:=1pt#;
%thinthick#:=2pt#;
%thickish#:=2.5pt#;

% Strokes widths for the flower from 1-12 (= 1 pixel - 4.5pt)
flower_one#:=.25;
flower_two#:=.5;
flower_three#:=.5pt#/1.5;
flower_four#:=.5pt#/1.5;
flower_five#:=1pt#/1.5;
flower_six#:=1.5pt#/1.5;
flower_seven#:=2pt#/1.5;
flower_eight#:=2.5pt#/1.5;
flower_nine#:=3pt#/1.5;
flower_ten#:=3.5pt#/1.5;
flower_eleven#:=4pt#/1.5;
flower_twelve#:=4.5pt#/1.5;
hand_scale=6;
hand_width#:=110pt#/hand_scale;
hand_height#:=80pt#/hand_scale;
hand_depth#:=0pt#;

%%%
% define your pixels here, do this for each variable defined above
%%%

define_pixels(glyph_width,glyph_height,uniform_square,triangle_size);
define_pixels(check_width,check_height,check_depth,dash,thinish,thickish);
define_pixels(thinthick,flu_width,flu_height,a,b);
define_pixels(flower_one,flower_two,flower_three,flower_four,flower_five);
define_pixels(flower_six,flower_seven,flower_eight,flower_nine,flower_ten);
define_pixels(flower_eleven,flower_twelve);
define_pixels(hand_width,hand_height,hand_depth,dash);
define_pixels(anchor_height,anchor_weight,anchor_depth);

%%%
% define a macro which pauses until the user hits the return key
%%%

def
 whoa= s0:= readstring;
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Define all the pens we use
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pickup pensquare scaled .2pt;
smallpen:=savepen;
pickup pensquare scaled .4pt;
bigpen:=savepen;
pickup pensquare scaled .8pt;
bigger:=savepen;
pickup pencircle scaled .1pt;
razorpen:=savepen;
pickup pencircle scaled 2pt;
bigdotpen:=savepen;
pickup pencircle scaled 1.1pt;
lildotpen:=savepen;
pickup pensquare scaled 1.6pt;
chunkypen:=savepen;
pickup pencircle scaled .35pt;
ringpen:=savepen;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Let the dingbat characters begin
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Anchor for TUG dingbat contest";
beginchar("O",anchor_width#,anchor_height#,anchor_depth#);
 %%%
 % x variables
 %%%
 x1=8/130w;                % x1
 x2=6/130w;                % x2
 x3=13/130w;               % x3
 x4=x25=x26=x31=30/130w;   % x4  x25  x26 x31
 x5=x22=60/130w;           % x5
 x6=x14=x18=x19=90/130w;   % x6  x14  x18  x19
 x27=x28=x45=54/130w;      % x27 x28  x45
 x17=x35=x56=66/130w;      % x17 x35 x56

 x7=107/130w;              % x7
 x8=114/130w;              % x8
 x10=112/130w;             % x10
 x12=94/130w;              % x12
 x13=99/130w;              % x13
 x15=72/130w;              % x15
 x16=67/130w;              % x16
 x20=70/130w;              % x20
 x21=65/130w;              % x21
 x23=55/130w;              % x23
 x24=50/130w;              % x24

 x29=53/130w;              % x29
 x30=48/130w;              % x30
 x32=21/130w;              % x32
 x33=26/130w;              % x33

 %%%
 % y variables
 %%%
 y1=y10=65/150h;           % y1  y10
 y2=y8=43/150h;            % y2  y8
 y3=y7=45/150h;            % y3  y7

 y4=y6=25/150h;            % y4  y6
 y5=13/150h;               % y5
 y21=y23=130/150h;         % y21 y23
 y22=136/150h;             % y22
 y45=y56=20/150h;          % y45 y56

 y18=y26=y27=y35=118/150h; % y18 y26 y27 y35
 y19=y20=y24=y25=124/150h; % y19 y20 y24 y25
 y17=y28=40/150h;          % y17 y28
 y16=y29=36/150h;          % y16 y29
 y15=y30=35/150h;          % y15 y30
 y14=y31=38/150h;          % y14 y31
 y13=y32=50/150h;          % y13 y32
 y12=y33=54/150h;          % y12 y33

 %%%
 % path assignments
 %%%
 the_anchor = z25--z26--z27--z28 & z28..z29..z31..z32 &
    z32--z33--z1--z2--z3 &  z3..z4..z45 & z45--z5--z56 & z56..z6..z7 &
    z7--z8--z10--z12--z13 &  z13..z14..z16..z17 &
    z17--z35--z18--z19--cycle;
 ring_of_anchor =  z20..z22..z24;

 tilted_anchor = the_anchor rotated akilter;
 tilted_ring = ring_of_anchor rotated akilter;
 %%%
 % draw the character, show how ring meets anchor
 %%%
 pickup razorpen;
 fill the_anchor;
 pickup ringpen;
 draw ring_of_anchor;

 %%%
 % after clearing previous path (upright anchor) fill the tilted path
 %%%
 %clearit;
 %fill tilted_anchor;
 %draw tilted_ring;
 %showit;
 %message"When thru viewing, press Enter to continue";
 %whoa;

 labels(range 1 thru 4,45,5,56,range 6 thru 19);
 labels(range 20 thru 33,35);

endchar;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
"Hand pointer to the left";
beginchar("N",hand_width#,hand_height#,hand_depth#);
 %%%
 % x variables
 %%%
 x1=9.5/110w;           % x1
 x2=15/110w;            % x2
 x3=x6=20/110w;         % x3 x6
 x4=19/110w;            % x4
 x5=x8=16/110w;         % x5 x8
 x7=21/110w;            % x7
 x9=10.5/110w;          % x8
 x10=5/110w;            % x10
 x11=42.5/110w;         % x11
 x1112=61/110w;         % x1112 (a point between 11 and 12)
 x12=67/110w;           % x12
 x13=x24=70/110w;       % x13 x24
 x14=57.5/110w;         % x14
 x15=76/110w;           % x15
 x16=77/110w;           % x16
 x17=58/110w;           % x17
 x18=82.5/110w;         % x18
 x19=83/110w;           % x19
 x20=57/110w;           % x20
 x21=94/110w;           % x21
 x22=102/110w;          % x22
 x23=90/110w;           % x23
 x25=43.5/110w;         % x25
 x26=62.5/110w;         % x26
 x27=75/110w;           % x27
 x28=74/110w;           % x28

 %%%
 % y variables
 %%%
 y1=y24=63/80h;         % y1 y24
 y2=y25=64/80h;         % y2 y25
 y3=63.5/80h;           % y3
 y4=59/80h;             % y4
 y5=y17=40/80h;         % y5 y17
 y6=18/80h;             % y6
 y7=13/80h;             % y7
 y8=12.5/80h;           % y8
 y9=13.5/80h;           % y9
 y10=39.5/80h;          % y10
 y11=15/80h;            % y11
 y1112=17.5/80h;        % y1112 (a point between 11 and 12)
 y12=20/80h;            % y12
 y13=27.5/80h;          % y13
 y14=28/80h;            % y14
 y15=32/80h;            % y15
 y16=39/80h;            % y16
 y18=44/80h;            % y18
 y19=y21=50/80h;        % y19
 y20=51/80h;            % y20
 y22=55/80h;            % y22
 y23=62/80h;            % y23
 y26=71/80h;            % y26
 y27=72/80h;            % y27
 y28=67/80h;            % y28

 collar=z1..z2..z3  &  z3..z4..z5..z6..z7  & z7..z8..z9  & z9..z10..z1;
 thumb=z25..z26..z27..z28..z24;
 index_finger=z4..z25..z24..z23..z22..z21..z19..z20;
 the_bird=z17--z16..z18..z19;
 ring_finger=z14--z13..z15..z16;
 pinky_finger=z6..z11..z1112  &  z1112..z12..z13;

 pickup razorpen;

 draw collar; draw thumb; draw index_finger;
 draw the_bird; draw ring_finger; draw pinky_finger;
 labels(range 1 thru 11,1112,range 12 thru 28);
endchar;

"Flowery flouron";
beginchar("J",flu_width#,flu_height#,0);
 % first stroke = x1 thru x8
 x1=.02w; x2=.10w; x3=.23w; x4=.38w; x5=.51w;
 x6=.73w; x7=.85w; x8=x14=x19=.98w;
 % second stroke = x9 thru x14
 x9=.22w; x10=.17w; x11=.165w; x12=.20w;
 x13=.58w; % x14=x8=x19
 % third stroke = x15 thru x19
 x15=.32w; x16=.46w; x17=.65w; x18=.82w; % x19=x8=x14
 % first stroke = y1 thru y8
 y1=.05h; y2=.19h; y3=.26h; y4=.24h; y5=.18h;
 y6=.13h; y7=.14h; y8=y14=y19=.19h;
 % second stroke = y9 thru y14
 y9=.99h; y10=.92h; y11=.85h;
 y12=.71h; y13=.32h;         % y14=y8
 % third stroke = y15 thru y19
 y15=.67h; y16=.74h; y17=.71h; y18=.48h;
 % pen positions for stroke 1
 penpos1(flower_one,135); penpos2(flower_five,135); penpos3(flower_nine,90);
 penpos4(flower_twelve,90); penpos5(flower_ten,67); penpos6(flower_five,85);
 penpos7(flower_four,90); penpos8(flower_three,135);
 % pen positions for stroke 2
 penpos9(flower_one,135); penpos10(flower_seven,180);
 penpos11(flower_eight,180); penpos12(flower_seven,210);
 penpos13(flower_six,210); penpos14(flower_three,270);
 % pen positions for stroke 3
 penpos15(flower_one,115); penpos16(flower_seven,100);
 penpos17(flower_nine,70); penpos18(flower_five,45);
 penpos19(flower_three,45);
 % now draw our three strokes
 penstroke z1e..z2e..z3e..z4e..z5e..z6e..z7e..z8e;
 penstroke z9e...z10e...z11e...z12e{dir 315}...z13e...z14e;
 penstroke z15e..z16e..z17e..z18e{dir 315}..z19e;
 penlabels(range 1 thru 19);
 flower_x:=currentpicture;
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Right flower";
beginchar("K",flu_width#,flu_height#,0);
 currentpicture:=currentpicture+flower_x;
 currentpicture:=currentpicture reflectedabout((.5[0,0],1),(.5[0,0],0));
 currentpicture:=currentpicture shifted (w,0);
 flower_y:=currentpicture;
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
"Flipped left flower--matches J";
beginchar("L",flu_width#,flu_height#,0);
 currentpicture:=currentpicture+flower_y;
 currentpicture:=currentpicture reflectedabout((0,.5[0,h]),(1,.5[0,h]));
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Flipped right flower--matches K";
beginchar("M",flu_width#,flu_height#,0);
 currentpicture:=currentpicture+flower_x;
 currentpicture:=currentpicture reflectedabout((0,.5[0,h]),(1,.5[0,h]));
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"DLA satelite dish";
beginchar("I",a#,b#,0);
 numeric zero; zero=0;
 % define the coordinates we will work with here
 z1=origin; z2=(a,zero); z3=(a,b/5); z4=(zero,b/5);
 x5=3/10(x2-x1); y5=y4=y6; x6=7/10(x2-x1);
 x7=4/10(x2-x1); y7=y8=y9=3/10(b); x8=6/10(x2-x1);
 x9=x10=1/2(x2-x1);
 x11=1/10(x2-x1); y11=9/10(b); x12=3/10(x2-x1);
 y12=.53(b); x13=9/10(x2-x1); y13=5/10(b);
 y10=4.5/10(b);

 % draw the bottom platform of the dish
  pickup pensquare xscaled .5pt yscaled .5pt
  filldraw z1--z2--z3--z4--cycle;
 % draw the base of the dish, which sits on top of the bottom platform
  pickup penrazor;
  filldraw z5--z7--z8--z6--cycle;
 % draw the arm holding the dish, which sits on the base of the dish
  pickup penrazor xscaled .5pt;
  draw z9--z10;
 % draw the dish now
  pickup pencircle xscaled .5pt yscaled .5pt;
  draw z11..z12..z13;
 % dish mod, complete the dish top
%  draw z11--z13;
  labels(range 1 thru 13);
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Left flouron";
beginchar("E",flu_width#,flu_height#,0);
 pickup pencircle;
 x1=.23w; x2=.10w; x3=.05w; x4=.10w; x5=.19w;
 x6=.25w; x7=.26w; x8=.20w; x9=.22w; x10=.26w;
 x11=.48w; x12=.62w; x13=.71w; x14=.84w; x15=.90w;
 x16=.97w; x17=.93w; x18=.84w;
 y1=.07h; y2=.07h; y3=.33h; y4=.57h; y5=.65h;
 y6=.61h; y7=.53h; y8=.55h; y9=.75h; y10=.80h;
 y11=.67h; y12=.56h; y13=.53h; y14=.55h; y15=.60h;
 y16=.80h; y17=.92h; y18=.87h;
 penpos1(thinish,270);  penpos2(thinish,225);
 penpos3(thickish,180); penpos4(thinish,135);
 penpos5(thinish,90);   penpos6(thinish,45);
 penpos7(thinish,0);    penpos8(thinish,225);
 penpos9(thinish,135);  penpos10(thinish,90);
 penpos11(thinish,45); penpos12(thinish,45);
 penpos13(thinish,90); penpos14(thinthick,135);
 penpos15(thinthick,135); penpos16(thinthick,180);
 penpos17(thinish,225); penpos18(thinish,270);
 penstroke z1e..z2e..z3e..z4e..z5e..z6e..z7e..z8e..z9e..z10e..z11e..z12e..
  z13e..z14e..z15e..z16e..z17e..z18e;
 penlabels(range 1 thru 18);
holdit:=currentpicture;
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Right flouron";
beginchar("F",flu_width#,flu_height#,0);
 currentpicture:=currentpicture+holdit;
% currentpicture:=currentpicture reflectedabout((.5[l,r],1),(.5[l,r],0));
 currentpicture:=currentpicture reflectedabout((.5[0,0],1),(.5[0,0],0));
 currentpicture:=currentpicture shifted (w,0);
 holdem:=currentpicture;
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Flipped left flouron--matches F";
beginchar("G",flu_width#,flu_height#,0);
 currentpicture:=currentpicture+holdem;
 currentpicture:=currentpicture reflectedabout((0,.5[0,h]),(1,.5[0,h]));
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Flipped right flouron--matches E";
beginchar("H",flu_width#,flu_height#,0);
 currentpicture:=currentpicture+holdit;
 currentpicture:=currentpicture reflectedabout((0,.5[0,h]),(1,.5[0,h]));
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Check mark";
beginchar("D",check_width#,check_height#,check_depth#);
 pickup pencircle;
 y1=.4h; y2=.15h; y3=.85h;
 x1l=0+eps; x2=1/3w; x3=.85w;
 penpos1(dash,45); penpos2(dash,90); penpos3(dash,170);
 penstroke z1e--z2e--z3e;
 penlabels(1,2,3);
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Square (filled) with dots border design";
beginchar("C",triangle_size#,triangle_size#,0);
x1=x3=good.x(1/2triangle_size);
x2=good.x(1/10triangle_size);
x4=good.x(9/10triangle_size);
x5=x6=good.x(3/10triangle_size);
x7=x8=good.x(7/10triangle_size);
x9=x10=good.x(2/10triangle_size);
x12=x11=good.x(8/10triangle_size);

y1=good.y(1/10triangle_size);
y9=y12=good.y(2/10triangle_size);
y5=y8=good.y(3/10triangle_size);
y2=y4=good.y(1/2triangle_size);
y6=y7=good.y(7/10triangle_size);
y10=y11=good.y(8/10triangle_size);
y3=good.y(9/10triangle_size);

pickup razorpen;
fill z1..z5..z2 & z2..z6..z3 & z3..z7..z4 & z4..z8..z1..cycle;
pickup bigdotpen;
drawdot z9; drawdot z12; drawdot z10; drawdot z11;

labels(range 1 thru 12);

endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Square (unfilled) with dots border design";
beginchar("B",triangle_size#,triangle_size#,0);
 x1=x3=good.x(1/2triangle_size);
 x2=good.x(1/10triangle_size);
 x4=good.x(9/10triangle_size);
 x5=x6=good.x(3/10triangle_size);
 x7=x8=good.x(7/10triangle_size);
 x9=x10=good.x(2/10triangle_size);
 x12=x11=good.x(8/10triangle_size);

 y1=good.y(1/10triangle_size);
 y9=y12=good.y(2/10triangle_size);
 y5=y8=good.y(3/10triangle_size);
 y2=y4=good.y(1/2triangle_size);
 y6=y7=good.y(7/10triangle_size);
 y10=y11=good.y(8/10triangle_size);
 y3=good.y(9/10triangle_size);

 pickup bigpen;
 draw z1..z5..z2;
 draw z2..z6..z3;
 draw z3..z7..z4;
 draw z4..z8..z1;

 pickup bigdotpen;
 drawdot z9; drawdot z12; drawdot z10; drawdot z11;
 pickup lildotpen;
 erase drawdot z9; erase drawdot z12; erase drawdot z10;erase drawdot z11;

 labels(range 1 thru 12);

endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Z border design";
beginchar("Z",glyph_width#,glyph_height#,0);
pickup bigger;
% define our x values for the border design
x1=x6=x7=good.x(glyph_width);
x4=6/8good.x(glyph_width);
x8=2/8good.x(glyph_width);
x2=x3=x5=0;
% design our y values for the border design
y1=y2=0;
y7=y8=1/3good.y(glyph_height);
y3=y4=2/3good.y(glyph_height);
y5=y6=good.y(glyph_height);

draw z5--z6--z7--z8;
draw z1--z2--z3--z4;
%draw bot z5--z3;
%draw top z1--z7;

labels(range 1 thru 8);

endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"S border design";
beginchar("S",glyph_width#,glyph_height#,0);
pickup bigger;
% define our x values for the border design
x1=x6=x7=0;
x2=x3=x8=good.x(glyph_width);
x4=good.x(2/8glyph_width);
x5=good.x(6/8glyph_width);

y1=y2=0;
y5=y6=good.y(1/3glyph_height);
y3=y4=good.y(2/3glyph_height);
y7=y8=good.y(glyph_height);

draw z1--z2--z3--z4;
draw z5--z6--z7--z8;
%draw top z1--z6;
%draw bot z8--z3;
cullit;

labels(range 1 thru 8);

endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Overlapping thick\thin line border design--- character 1 (top-left)";
beginchar("a",uniform_square#,uniform_square#,0);

x1=x2=good.x(1/10uniform_square);
x3=x4=good.x(4/10uniform_square);
x5=x8=good.x(uniform_square);
x6=x7=good.x(2/10uniform_square);

y1=y6=good.y(0);
y2=y3=good.y(6/10uniform_square);
y7=y8=good.y(8/10uniform_square);
y4=y5=good.y(9/10uniform_square);

pickup chunkypen;
draw z1--z2--z3--z4--z5;
pickup bigpen;
draw z6--z7--z8;
p1:=currentpicture;

labels(range 1 thru 8);

endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Overlapping thick\thin line border design--- character 2 (top-middle)";
beginchar("b",uniform_square#,uniform_square#,0);

x1=x3=good.x(0);
x2=x4=good.x(uniform_square);

y1=y2=good.y(9/10uniform_square);
y3=y4=good.y(8/10uniform_square);

pickup chunkypen;
draw z1--z2;
pickup bigpen;
draw z3--z4;
p2:=currentpicture;

labels(1,2,3,4);

endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Overlapping thick\thin line border design--- character 3 (top-right)";
beginchar("c",uniform_square#,uniform_square#,0);

x1=x6=good.x(0);
x2=x3=good.x(6/10uniform_square);
x7=x8=good.x(8/10uniform_square);
x4=x5=good.x(9/10uniform_square);

y1=y2=good.y(9/10uniform_square);
y6=y7=good.y(8/10uniform_square);
y3=y4=good.y(6/10uniform_square);
y5=y8=good.y(0);

pickup chunkypen;
draw z1--z2--z3--z4--z5;
pickup bigpen;
draw z6--z7--z8;
p3:=currentpicture;

labels(range 1 thru 8);

endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Overlapping thick\thin line border design--- character 4 (middle-left)";
beginchar("d",uniform_square#,uniform_square#,0);

x1=x2=good.x(1/10uniform_square);
x3=x4=good.x(2/10uniform_square);
y1=y3=good.y(0);
y2=y4=good.y(uniform_square);

pickup chunkypen;
draw z1--z2;
pickup bigpen;
draw z3--z4;
p4:=currentpicture;

labels(1,2,3,4);

endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% (MO) The following commented-out lines are Doug's original definitions.
%
% "Overlapping thick\thin line border design--- character 5 (middle-right)";
% beginchar("e",uniform_square#,uniform_square#,0);
% currentpicture:=currentpicture + p4;
% currentpicture:=currentpicture reflectedabout((.5[0,0],0),(.5[0,0],1));
% endchar;
%
% They have been replaced by

"Overlapping thick\thin line border design--- character 5 (middle-right)";
beginchar("e",uniform_square#,uniform_square#,0);
x1=x2=good.x(9/10uniform_square);
x3=x4=good.x(8/10uniform_square);
y1=y3=good.y(0);
y2=y4=good.y(uniform_square);
pickup chunkypen;
draw z1--z2;
pickup bigpen;
draw z3--z4;
p4:=currentpicture;
labels(1,2,3,4);
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Overlapping thick\thin line border design--- character 6 (bottom-left)";
beginchar("f",uniform_square#,uniform_square#,0);
currentpicture:=currentpicture + p1;
currentpicture:=currentpicture
reflectedabout((0,.5[0,uniform_square]),(1,.5[0,uniform_square]));
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Overlapping thick\thin line border design--- character 7 (bottom-middle)";
beginchar("g",uniform_square#,uniform_square#,0);
currentpicture:=currentpicture + p2;
currentpicture:=currentpicture
reflectedabout((0,.5[0,uniform_square]),(1,.5[0,uniform_square]));
endchar;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

"Overlapping thick\thin line border design--- character 8 (bottom-right)";
beginchar("h",uniform_square#,uniform_square#,0);
currentpicture:=currentpicture + p3;
currentpicture:=currentpicture
reflectedabout((0,.5[0,uniform_square]),(1,.5[0,uniform_square]));
endchar;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bye
