% txgen.mf
%
% (c) Copyright 1995, 1997 J"org Knappen
%
% This file is part of ecfonts version 1.0
%
% Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
% copyrite.txt for further information
%
% You find some documentation in ecdoc.tex (needs LaTeX2e)
%
% was originally |gen.mf| by DEK
% changed |cmchar| to |ecchar|
% moved divorced symbol to position "c" (was "1")
%
% characters for Jill's genealogy publications

version_check(1,0);  % |version_check| was introduced in dc1.3

ecchar "Cross (death symbol)";
beginchar("d",9u#,.65[x_height#,asc_height#],.1(asc_height#-x_height#));
adjust_fit(0,0); pickup tiny.nib; 
numeric light_stem; light_stem=Vround .5[vair,stem];
pos1(stem,0); pos2(.4[hair,stem],0); pos3(stem,0);
%pos4(stem,90); pos5(.5[vair,stem],90); pos6(stem,90);
pos4(light_stem,90); pos5(.5[vair,light_stem],90); pos6(light_stem,90);
x1=x2=x3=.5w; top y1=h; bot y3=-d; y2=y4r;
y4=y5=y6; y4l=good.y .6[-d,h]; x4=good.x u; x6=r-x4; x5=x2;
filldraw z1l...z2l{down}...z3l--z3r...z2r{up}...z1r--cycle; % vertical stroke
filldraw z4l...z5l...z6l--z6r...z5r...z4r--cycle; % horizontal stroke
penlabels(1,2,3,4,5,6); endchar;

ecchar "Rings (marriage symbol)";
beginchar("m",9u#,v_center(x_height#));
adjust_fit(0,0); pickup tiny.nib;
numeric light_stem; light_stem=Vround .5[vair,stem];
pos1(light_stem,90); pos3(light_stem,-90);
pos2(light_stem,180); pos4(.3[hair,light_stem],0);
x1=x3=.5[x2,x4]; lft x2r=hround(-u-.5light_stem); rt x4r=hround(.6w+.5stem);
%top y1r=vround(h+.5light_stem); y2=y4=.5[y1,y3];
%bot y3r=vround(-d-.5light_stem);
top y1r=h; y2=y4=.5[y1,y3];
bot y3r=-d;
pos5(light_stem,90); pos7(light_stem,-90);
pos6(.3[hair,light_stem],180); pos8(light_stem,0);
x5-x1=x6-x2=x7-x3=x8-x4; rt x8r=hround(w+u+.5light_stem);
y5-y1=y6-y2=y7-y3=y8-y4=0;
filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4)
 &pulled_arc.e(4,1); % left ring
filldraw stroke pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8)
 &pulled_arc.e(8,5); % right ring
penlabels(1,2,3,4,5,6,7,8); endchar;

ecchar "Five-pointed star (birth symbol)";
beginchar("b",9u#,v_center(x_height#));
adjust_fit(0,0); pickup tiny.nib;
numeric theta; theta=360/5; % degrees between points
pos0(curve,0); pos1(rule_thickness,90); x0=x1=good.x .5w;
top y1r=vround(math_axis+.5x_height+.5rule_thickness);
ypart(.5[z1,z0+(z1-z2) rotated 2theta])=math_axis;
pos2(curve,theta); pos3(rule_thickness,90+theta);
z2=z0; z3-z0=(z1-z0) rotated theta;
z4=whatever[z0l,z1r]=whatever[z2r,z3r];
filldraw for n=0 upto 4:
 z0+(z1r-z0)rotated(n*theta)--z0+(z4-z0)rotated(n*theta)--endfor
 cycle;  % star
penlabels(0,1,2,3,4); endchar;

ecchar "Divided rings (divorce symbol)";
beginchar("c",9u#,v_center(x_height#));
adjust_fit(0,0); pickup tiny.nib;
numeric light_stem; light_stem=Vround .5[vair,stem];
pos11(stem,0); pos12(.4[hair,stem],0); pos13(stem,0);
x11=x12=x13=.5w; top y11=round 1.3h; bot y13=round(-d-.3h); y12=.6[y13,y11];
filldraw z11l...z12l{down}...z13l
  --z13r...z12r{up}...z11r--cycle; % vertical stroke
pos1(light_stem,90); pos3(light_stem,-90);
pos2(light_stem,180); pos4(.3[hair,light_stem],0);
x1=x3=.5[x2,x4]; lft x2r=hround(-3u-.5light_stem); rt x4r=hround(.25w+.5stem);
top y1r=h; y2=y4=.5[y1,y3];
bot y3r=-d;
pos5(light_stem,90); pos7(light_stem,-90);
pos6(.3[hair,light_stem],180); pos8(light_stem,0);
x5-x1=x6-x2=x7-x3=x8-x4; rt x8r=hround(w+3u+.5light_stem);
y5-y1=y6-y2=y7-y3=y8-y4=0;
filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4)
 &pulled_arc.e(4,1); % left ring
filldraw stroke pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8)
 &pulled_arc.e(8,5); % right ring
penlabels(1,2,3,4,5,6,7,8,11,12,13); endchar;

ecchar "Leaf";
beginchar("l",18u#,asc_height#,0);
adjust_fit(0,0); pickup pencircle scaled .6rule_thickness;
z1=(0,0); z2=(w,h);
z3=.5[z1,z2]+.25((z2-z1)rotated 90);
z4=.5[z1,z2]+.25((z2-z1)rotated-90);
path p[]; p3=z1...z3{z2-z1}...z2; p4=z1...z4{z2-z1}...z2;
draw p3; % upper edge
draw p4; % lower edge
draw z1 -- z2; % stem
z5=1/4[z1,z2]; z6=.55[z1,z2];
z35=p3 intersectionpoint (z5--(x5,2h));
z36=p3 intersectionpoint (z6--(x6,2h));
z45=p4 intersectionpoint (z5--(2w,y5));
z46=p4 intersectionpoint (z6--(2w,y6));
draw z35--z5--z45; % vein
draw z36--z6--z46; % vein
labels(1,2,3,4,5,6,35,36,45,46); endchar;

endinput;
