diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/genealogy |
Initial commit
Diffstat (limited to 'fonts/genealogy')
-rw-r--r-- | fonts/genealogy/README | 25 | ||||
-rw-r--r-- | fonts/genealogy/drgen.mf | 131 | ||||
-rw-r--r-- | fonts/genealogy/drgen10.mf | 20 | ||||
-rw-r--r-- | fonts/genealogy/drgen10.tfm | bin | 0 -> 524 bytes | |||
-rw-r--r-- | fonts/genealogy/licence.txt | 5 | ||||
-rw-r--r-- | fonts/genealogy/testgen.tex | 26 |
6 files changed, 207 insertions, 0 deletions
diff --git a/fonts/genealogy/README b/fonts/genealogy/README new file mode 100644 index 0000000000..47f55b8731 --- /dev/null +++ b/fonts/genealogy/README @@ -0,0 +1,25 @@ +Genealogy symbols in METAFONT +----------------------------- + +Files in this distribution: + + drgen10.mf % the mf driver file + drgen10.tfm % tfm file for TeX + drgen.mf % the mf character definitions + testgen.tex % a test file + README % this file + licence.txt % licence conditions + +The MF files in this distribution are a simple compilation +of the genealogical symbols found in the `wasy' and `gen' font. +Actually, all I have done was to add the male and female symbols +to Knuth's `gen' font. Thus, it avoids loading two fonts +when you need only genealogical symbols. + +Hope this is helpful to somebody. + +Denis Roegel, May 30, 1996. (updated March 2, 1999) +(roegel@loria.fr) + + + diff --git a/fonts/genealogy/drgen.mf b/fonts/genealogy/drgen.mf new file mode 100644 index 0000000000..10c0f42454 --- /dev/null +++ b/fonts/genealogy/drgen.mf @@ -0,0 +1,131 @@ +% drgen.mf +% D. Roegel, 20 april 1996 +% Adapted from rsym.mf and gen.mf + +cmchar "female"; +beginchar(hex"19",x_height#+2u#,1.7x_height#-desc_depth#,desc_depth#); +italcorr 1/2x_height#*slant; +adjust_fit(if monospace: u#,u# else: 0,0 fi); +pickup rule.nib; autorounded; +lft x6=hround u; x8=good.x (.5x_height + u); +y6 = good.y (h-.5x_height); y8-y4=x2-x6; +circle_points; +x9 := x8; +numeric a; a = round .5(h+d-x_height) + eps; +x10=x8-a; +x11=x8+a; +y10 = y11; y11 = -d+a; +y9 = -desc_depth; +draw_circle; +draw z10--z11; draw z4--z9; +math_fit(0,ic#); +labels(1,2,3,4,5,6,7,8,9,10,11); endchar; + +cmchar "male"; +numeric this_size#; +this_size# = x_height#*(1+0.9/sqrt2); +beginchar(hex"1A",this_size#+1.7u#,this_size#,0); +italcorr this_size#*slant; +adjust_fit(if monospace: u#,u# else: 0,0 fi); +pickup rule.nib; autorounded; +lft x6=hround u; x2=x_height+2u-x6; y2=.5x_height; bot y4=0; +circle_points; +z9 = 1.9[z5,z1]; +draw_circle; +x9 := good.x x9; +y9 := good.y y9; +x10 = x9; y11 = y9; +y10 = y9-3.5u; x11 = x9-3.5u; +draw z1--z9; +draw z10--z9--z11; +labels(1,2,3,4,5,6,7,8,9); endchar; + +cmchar "Cross (death symbol)"; +beginchar("d",9u#,.65[x_height#,asc_height#],.1(asc_height#-x_height#)); +adjust_fit(0,0); pickup tiny.nib; 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; + +cmchar "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; + +cmchar "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; + +cmchar "Divided rings (divorce symbol)"; +beginchar("1",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; + +cmchar "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; diff --git a/fonts/genealogy/drgen10.mf b/fonts/genealogy/drgen10.mf new file mode 100644 index 0000000000..756d36e4aa --- /dev/null +++ b/fonts/genealogy/drgen10.mf @@ -0,0 +1,20 @@ +% drgen10.mf +% D. Roegel, 20 april 1996 +% Adapted 1) from wasy10.mf, rsym.mf, wasychr.mf, +% 2) from gen10.mf and gen.mf (Knuth's genealogical symbols) +% + +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmr10; font_setup; + +font_identifier:="DRGEN"; +font_slant slant; font_x_height x_height#; +font_normal_space 6u#+2letter_fit#; +font_quad 18u#+4letter_fit#; + +input drgen; % symbols + +bye. diff --git a/fonts/genealogy/drgen10.tfm b/fonts/genealogy/drgen10.tfm Binary files differnew file mode 100644 index 0000000000..ecf4e52dd3 --- /dev/null +++ b/fonts/genealogy/drgen10.tfm diff --git a/fonts/genealogy/licence.txt b/fonts/genealogy/licence.txt new file mode 100644 index 0000000000..e53351c2f7 --- /dev/null +++ b/fonts/genealogy/licence.txt @@ -0,0 +1,5 @@ +% Copyright 1999 Denis Roegel +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or any later version. diff --git a/fonts/genealogy/testgen.tex b/fonts/genealogy/testgen.tex new file mode 100644 index 0000000000..a10087d7e2 --- /dev/null +++ b/fonts/genealogy/testgen.tex @@ -0,0 +1,26 @@ +% D. Roegel, 30 May 1996 +% roegel@loria.fr + +\font\gensymbols=drgen10 +\def\male{{\gensymbols\char"1A}} +\def\female{{\gensymbols\char"19}} +\def\died{{\gensymbols d}} +\def\married{{\gensymbols m}} +\def\born{{\gensymbols b}} +\def\divorced{{\gensymbols1}} +\def\leaf{{\gensymbols l}} + +\centerline{\bf Genealogical symbols from {\tt wasy} and {\tt gen} fonts} + +\bigskip +\centerline{\vbox{\halign{#\hfil&\quad#\hfil\cr +Male&\male\cr +Female&\female\cr +Born&\born\cr +Married&\married\cr +Divorced&\divorced\cr +Died&\died\cr +Leaf&\leaf\cr}}} + +\bye + |