summaryrefslogtreecommitdiff
path: root/fonts/rsfs
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/rsfs
Initial commit
Diffstat (limited to 'fonts/rsfs')
-rw-r--r--fonts/rsfs/README62
-rw-r--r--fonts/rsfs/rsfs10.mf80
-rw-r--r--fonts/rsfs/rsfs5.mf76
-rw-r--r--fonts/rsfs/rsfs7.mf76
-rw-r--r--fonts/rsfs/script.mf40
-rw-r--r--fonts/rsfs/scriptu.mf650
-rw-r--r--fonts/rsfs/scrload.tex14
-rw-r--r--fonts/rsfs/type1/README36
-rw-r--r--fonts/rsfs/type1/afm/rsfs10.afm57
-rw-r--r--fonts/rsfs/type1/afm/rsfs5.afm107
-rw-r--r--fonts/rsfs/type1/afm/rsfs7.afm57
-rw-r--r--fonts/rsfs/type1/map/rsfs.map4
-rw-r--r--fonts/rsfs/type1/pfm/rsfs10.pfmbin0 -> 642 bytes
-rw-r--r--fonts/rsfs/type1/pfm/rsfs5.pfmbin0 -> 740 bytes
-rw-r--r--fonts/rsfs/type1/pfm/rsfs7.pfmbin0 -> 640 bytes
-rw-r--r--fonts/rsfs/type1/rsfs10.pfbbin0 -> 16077 bytes
-rw-r--r--fonts/rsfs/type1/rsfs5.pfbbin0 -> 16482 bytes
-rw-r--r--fonts/rsfs/type1/rsfs7.pfbbin0 -> 16298 bytes
18 files changed, 1259 insertions, 0 deletions
diff --git a/fonts/rsfs/README b/fonts/rsfs/README
new file mode 100644
index 0000000000..52f38b23f2
--- /dev/null
+++ b/fonts/rsfs/README
@@ -0,0 +1,62 @@
+RSFS - Ralph Smith's Formal Script Symbol Fonts
+------------------------------------------------
+
+Version 1.0, Released October 1991
+
+This package contains METAFONT sources for fonts of uppercase
+script letters for use as symbols in scientific and mathematical
+typesetting. For example, script D, N, and S are often used in
+functional analysis for domain, nullspace, and Schwartz class.
+Script L and H are the standard symbols for lagrangian and
+hamiltonian densities in quantum field theory. These formal
+script symbols may be contrasted with informal scripts such
+as the one designed by H. Zapf and used as `calligraphic'
+symbols in the TeX math symbol font.
+I have tried to be fairly conservative, and closely imitated
+a formal script type designed by R. Hunter Middleton. This is
+similar to Typo Script and Marina, as well as the font used
+by the typesetters at Springer Verlag. All are based on the
+so-called Spencerian or Copperplate hand lettering which
+prevailed in the eighteenth century.
+
+These programs were not designed with much `meta-ness' in mind.
+Although formal script is subject to many stylistic variations,
+radical changes in weight or slant violate my sense of taste.
+This is a first revision, and certainly does not reflect much
+expertise in METAFONT programming. It has been checked for
+legibility and spacing.
+
+I have tested these fonts on some 300dpi printers (ink-jet and laser),
+but not at other resolutions. I suspect they won't look very good at
+low resolution (because of the instrinsic detail). Comments from users
+of the fonts are welcome; please describe your printer and metafont
+parameters when relevant. I will probably revise the sources and hope
+to add lowercase letters to make a text font.
+
+You are welcome to use and distribute these files; if you modify them,
+please change the name but give credit to the original author!
+
+ - Ralph Smith
+ Physics 0319
+ Univ. of California -- San Diego
+ 9500 Gilman Drive, La Jolla CA 92093-0319
+
+ E-mail: rasmith@ucsd.edu
+
+
+Notes on the files:
+
+README - this file
+rsfsX.mf (X = 5,7,10) - set sizes for Xpt font and calls driver
+script.mf - driver
+scriptu.mf - character programs
+scrload.tex - TeX code to make these symbols available with
+ a \scr macro (to be used like \cal)
+
+To compile a font, run Metafont with CMBASE: at the MF prompt, type
+
+ &cm \mode=localfont; input rsfs10
+
+Then run gftopk, put the PK and TFM files in the appropriate places,
+and TeX away.
+
diff --git a/fonts/rsfs/rsfs10.mf b/fonts/rsfs/rsfs10.mf
new file mode 100644
index 0000000000..c6a9ee3802
--- /dev/null
+++ b/fonts/rsfs/rsfs10.mf
@@ -0,0 +1,80 @@
+% Formal Script Math Symbols 10 point
+%
+% Ralph A. Smith, September 1991
+
+if unknown cmbase: input cmbase fi
+
+font_identifier:="RSFS"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=252/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=84/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=44/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=100/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=7/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=22/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+
+dot_size#:=30/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=20/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=9/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=9/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.707; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=true; % should math-mode spacing be used?
+
+% input scrmac; % only needed for lower case - not yet provided
+generate script % switch to the driver file
diff --git a/fonts/rsfs/rsfs5.mf b/fonts/rsfs/rsfs5.mf
new file mode 100644
index 0000000000..49f224b6da
--- /dev/null
+++ b/fonts/rsfs/rsfs5.mf
@@ -0,0 +1,76 @@
+% Formal Script Math Symbols 5 point
+% Ralph A. Smith, September 1991
+if unknown cmbase: input cmbase fi
+
+font_identifier:="RSFS"; font_size 5pt#;
+
+u#:=12.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=2/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=10/36pt#; % extra space added to all sidebars
+
+body_height#:=135/36pt#; % height of tallest characters
+asc_height#:=100/36pt#; % height of lowercase ascenders
+cap_height#:=126/36pt#; % height of caps
+fig_height#:=116/36pt#; % height of numerals
+x_height#:=42/36pt#; % height of lowercase without ascenders
+math_axis#:=45/36pt#; % axis of symmetry for math symbols
+bar_height#:=43.5/36pt#; % height of crossbar in lowercase e
+comma_depth#:=35/36pt#; % depth of comma below baseline
+desc_depth#:=50/36pt#; % depth of lowercase descenders
+
+crisp#:=6/36pt#; % diameter of serif corners
+tiny#:=6/36pt#; % diameter of rounded corners
+fine#:=5/36pt#; % diameter of sharply rounded corners
+thin_join#:=5/36pt#; % width of extrafine details
+hair#:=7.5/36pt#; % lowercase hairline breadth
+stem#:=15.5/36pt#; % lowercase stem breadth
+curve#:=17.5/36pt#; % lowercase curve breadth
+ess#:=12/36pt#; % breadth in middle of lowercase s
+flare#:=18.5/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=22/36pt#; % diameter of dots
+cap_hair#:=8/36pt#; % uppercase hairline breadth
+cap_stem#:=19/36pt#; % uppercase stem breadth
+cap_curve#:=12/36pt#; % uppercase curve breadth
+cap_ess#:=13.5/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.28pt#; % thickness of lines in math symbols
+
+dish#:=.7/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=17/36pt#; % protrusion of lowercase serifs
+cap_jut#:=20/36pt#; % protrusion of uppercase serifs
+beak_jut#:=6/36pt#; % horizontal protrusion of beak serifs
+beak#:=35/36pt#; % vertical protrusion of beak serifs
+vair#:=6/36pt#; % vertical diameter of hairlines
+notch_cut#:=5pt#; % maximum breadth above or below notches
+bar#:=8/36pt#; % lowercase bar thickness
+slab#:=8/36pt#; % serif and arm thickness
+cap_bar#:=8/36pt#; % uppercase bar thickness
+cap_band#:=8/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=5pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.7/36pt#; % for small refinements of stem breadth
+vair_corr#:=.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.707; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=true; % should math-mode spacing be used?
+
+generate script % switch to the driver file
diff --git a/fonts/rsfs/rsfs7.mf b/fonts/rsfs/rsfs7.mf
new file mode 100644
index 0000000000..29dd14ca7a
--- /dev/null
+++ b/fonts/rsfs/rsfs7.mf
@@ -0,0 +1,76 @@
+% Formal Script Math Symbols 7 point
+% Ralph A. Smith, September 1991
+if unknown cmbase: input cmbase fi
+
+font_identifier:="RSFS"; font_size 7pt#;
+
+u#:=15.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=4/36pt#; % extra space added to all sidebars
+
+body_height#:=189/36pt#; % height of tallest characters
+asc_height#:=140/36pt#; % height of lowercase ascenders
+cap_height#:=176.4/36pt#; % height of caps
+fig_height#:=162.4/36pt#; % height of numerals
+x_height#:=58.8/36pt#; % height of lowercase without ascenders
+math_axis#:=63/36pt#; % axis of symmetry for math symbols
+bar_height#:=60.9/36pt#; % height of crossbar in lowercase e
+comma_depth#:=49/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=7/36pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=8.5/36pt#; % lowercase hairline breadth
+stem#:=19.5/36pt#; % lowercase stem breadth
+curve#:=22.5/36pt#; % lowercase curve breadth
+ess#:=21/36pt#; % breadth in middle of lowercase s
+flare#:=23.5/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=29/36pt#; % diameter of dots
+cap_hair#:=9/36pt#; % uppercase hairline breadth
+cap_stem#:=24/36pt#; % uppercase stem breadth
+cap_curve#:=15/36pt#; % uppercase curve breadth
+cap_ess#:=22.5/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.34pt#; % thickness of lines in math symbols
+
+dish#:=.9/36pt#; % amount erased at top or bottom of serifs
+bracket#:=14/36pt#; % vertical distance from serif base to tangent
+jut#:=21/36pt#; % protrusion of lowercase serifs
+cap_jut#:=26/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.6/36pt#; % horizontal protrusion of beak serifs
+beak#:=49/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=7pt#; % maximum breadth above or below notches
+bar#:=9/36pt#; % lowercase bar thickness
+slab#:=9/36pt#; % serif and arm thickness
+cap_bar#:=9/36pt#; % uppercase bar thickness
+cap_band#:=9/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.9/36pt#; % for small refinements of stem breadth
+vair_corr#:=.9/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.707; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.6; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=true; % should math-mode spacing be used?
+
+generate script % switch to the driver file
diff --git a/fonts/rsfs/script.mf b/fonts/rsfs/script.mf
new file mode 100644
index 0000000000..dd78d68bf4
--- /dev/null
+++ b/fonts/rsfs/script.mf
@@ -0,0 +1,40 @@
+% Formal Script Math Symbol Family
+% Author: Ralph A. Smith, September 1991
+%
+
+font_coding_scheme := "RAS Script";
+mode_setup; font_setup;
+% input scriptl; % not yet provided
+input scriptu;
+font_slant slant; font_x_height x_height#;
+font_quad 18u#+4letter_fit#;
+skewchar=oct"177"; skew#=.5u#;
+ligtable "A": skewchar kern 14skew#;
+ligtable "B": skewchar kern 7skew#;
+ligtable "C": skewchar kern 10skew#;
+ligtable "D": skewchar kern 4skew#;
+ligtable "E": skewchar kern 5skew#;
+ligtable "F": skewchar kern 8skew#;
+ligtable "G": skewchar kern 9skew#;
+ligtable "H": skewchar kern 12skew#;
+ligtable "I": skewchar kern 12skew#;
+ligtable "J": skewchar kern 15skew#;
+ligtable "K": skewchar kern 13skew#;
+ligtable "L": skewchar kern 11skew#;
+ligtable "M": skewchar kern 16skew#;
+ligtable "N": skewchar kern 14skew#;
+ligtable "O": skewchar kern 6skew#;
+ligtable "P": skewchar kern 8skew#;
+ligtable "Q": skewchar kern 10skew#;
+ligtable "R": skewchar kern 7skew#;
+ligtable "S": skewchar kern 12skew#;
+ligtable "T": skewchar kern 8skew#;
+ligtable "U": skewchar kern 9skew#;
+ligtable "V": skewchar kern 8skew#;
+ligtable "W": skewchar kern 9skew#;
+ligtable "X": skewchar kern 10skew#;
+ligtable "Y": skewchar kern 7skew#;
+ligtable "Z": skewchar kern 11skew#;
+
+bye.
+
diff --git a/fonts/rsfs/scriptu.mf b/fonts/rsfs/scriptu.mf
new file mode 100644
index 0000000000..55c46b6d91
--- /dev/null
+++ b/fonts/rsfs/scriptu.mf
@@ -0,0 +1,650 @@
+% Formal Script upper case letters:
+% These letters were coded by R. A. Smith in the Fall of 1991,
+% based upon the Formal Script designed by R. Hunter Middleton.
+% Computer Modern parameters and macros are used.
+
+% Character codes \0101 through \0132 and \0177 are generated.
+
+% Initial version (1.0) September 1991.
+def bulb(suffix $,$$,$$$) =
+ z$$$r=z$$r; numeric dist; dist=y$r-y$$r;
+ path_.l:=z$l{x$$r-x$r,0}...{0,y$$r-y$r}z$$l;
+ filldraw path_.l--z$$r{0,y$r-y$$r}...{x$r-x$$r,0}z$r--cycle; % link
+ path_.r:=z$$$l{-slant*dist,dist}..z$$$r{slant*dist,-dist}; % near-circle
+ filldraw subpath(0,xpart(path_.r intersectiontimes path_.l)) of path_.r
+ --z$$r{0,y$$r-y$r}..cycle; % bulb
+ enddef;
+
+cmchar "Script letter A";
+beginchar("A",14u#,cap_height#,0);
+italcorr h#*slant-3u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,110); pos3(vair,90); pos5(cap_curve,-20);
+x1l=hround w-u; y1=.2h; x3=w-3u; y3=.08h; x5l=hround u; y5=.55h;
+pos7(vair,-90); pos9(cap_hair,-180);
+x7=2.5u; top y7l=.65h; x11l=10u; bot y9=0;
+pos11(cap_stem,0); pos13(cap_hair,0);
+x11r=x9l; bot y11=0; x13l=x11l; top y13=h+apex_o;
+filldraw stroke z1e..{left}z3e...z5e{up}
+...z7e{right}...{.5 slant,-1}z9e; % crossbar
+filldraw stroke z11e--z13e; % right ascender
+pos15(.5[vair,cap_curve],-90); pos17(cap_hair,0); pos19(cap_hair,0);
+rt x15l=rt x13r; y15l=y13r; x17=8.5u; y17=.8h; x19=6u; y19=.25h;
+pos21(vair,-90); pos23(vair,-180); pos25(flare,-180);
+bot y21r=-oo; x21=3.5u; y25=.15h; lft x25r=hround u;
+filldraw stroke z15e..z17e...{down}z19e...{left}z21e; % left ascender
+bulb(21,23,25);
+penlabels(1,3,5,7,9,11,13,15,17,19,21,23,25);
+math_fit(-.15h#*slant,.2h#*slant);
+endchar;
+
+
+cmchar "Script letter B";
+beginchar("B",17u#,cap_height#,0);
+italcorr h#*slant-5.5u#;
+adjust_fit(0,0); pickup fine.nib;
+ pos1(cap_hair,-45); x1r=11u; top y1l=h;
+pos2(cap_stem,0); pos3(vair,-90); pos4(hair,-180); pos5(flare,-180);
+x2r=10u; y2=.3h; bot y3l=-oo; x3=6.5u; x5r=hround 3u; y5=.17h;
+filldraw stroke z1e{-1,-1}...z2e{down}...{left}z3e; % stem
+bulb(3,4,5);
+pos6(vair,-270); pos8(vair,-180); pos10(vair,-90); pos12(cap_curve,0); %-15
+pos14(vair,90); pos16(.5[cap_curve,cap_stem],180); pos18(vair,270);
+pos20(cap_curve,360); pos22(vair,450); pos24(cap_hair,540);
+pos26(vair,630); pos28(cap_curve,720); pos30(vair,750);
+x6=13u; y6=.3h; x8r=11u; y8=.2h; x10=13.5u; bot y10r=-oo;
+rt x12r=hround w-u; y12=.2h; x14=11u; y14=.52h;
+x16l=10.5u; y16=.48h; x18=11u; y18=.44h; x20r=13.5u; y20=.65h;
+x22=6u; top y22r=h+oo; lft x24r=hround u; y24=.7h;
+x26=4.5u; y26=.4h; x28=6.5u; y28=.55h; x30=5.5u; y30=.8h;
+filldraw stroke pulled_arc.e(6,8)&pulled_arc.e(8,10)&pulled_arc.e(10,12)
+&pulled_arc.e(12,14)&pulled_arc.e(14,16)&pulled_arc.e(16,18)
+&pulled_arc.e(18,20)&pulled_arc.e(20,22)&pulled_arc.e(22,24)
+&pulled_arc.e(24,26)&pulled_arc.e(26,28)..{dir(130)}z30e;
+%z6e{left}...z8e{down}...z10e{right}
+%...z12e..z14e{left}...z16e{down}...z18e{right}
+%...z20e{up}...z22e{left}...z24e{down}...z26e{right}
+%...z28e{up}..z30e;
+penlabels(1,2,3,4,5,6,8,10,12,14,16,18,20,22,24,26,28,30);
+math_fit(-.15h#*slant-2u#,.3h#*slant);
+endchar;
+
+cmchar "Script letter C";
+beginchar("C",16u#,cap_height#,0);
+italcorr h#*slant-2.75u#;
+adjust_fit(0,0); pickup fine.nib;
+pos0(vair,210); pos1(cap_hair,180); pos2(vair,90);
+pos3(cap_curve,0); pos4(vair,-90); pos5(cap_stem,-180);
+pos6(vair,-270);
+pos7(cap_hair,-360); pos8(vair,-450); pos9(cap_curve,-540); pos10(vair,-630);
+lft x0r=12u; bot y0r=.1h;
+x1=11u; bot y1=.25h; x2=12.25u; y2=.4h; x3=15u; y3=.15h;
+x4=13u; y4=-oo; lft x5r=hround 7.5u; y5=.5h; x6=11.5u; top y6l=h+oo;
+rt x7r=hround 14u; y7=.8h; x8=7u; bot y8r=.5h; lft x9r=hround u; y9=.8h;
+x10=4u; y10=.95h;
+filldraw stroke z0e..pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4);
+filldraw stroke pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7);
+filldraw stroke pulled_arc.e(7,8)&pulled_arc.e(8,9)&pulled_arc.e(9,10);
+penlabels(1,2,3,4,5,6,7,8,9,10);
+math_fit(-.8h#*slant,.35h#*slant);
+endchar;
+
+cmchar "Script letter D";
+beginchar("D",15u#,cap_height#,0);
+italcorr 0.8h#*slant-2.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,90); pos2(cap_stem,180); pos3(vair,90);
+x1=hround w-3u; y1=0.8h;
+x2=.5[x1,x3]; y2=.5[y1,y3];
+x3=8u; bot y3l=-o;
+pos4(cap_curve,0); pos5(vair,-90); pos6(vair,-90);
+lft x4l=hround 5u; y4=y3+0.03h; x5=7u; y5=y3+0.06h; x6=w-2.5u; bot y6r=-o;
+pos7(cap_hair,0); pos8(vair,90); pos9(cap_curve,180);
+x7r=hround w-u; y7=0.33h; x8=5u; top y8r=h+oo; x9r=hround u; y9=0.75h;
+pos10(vair,270); pos11(cap_hair,360); pos12(vair,380);
+x10=5u; y10r=0.4h; x11r=7u; y11=0.6h; x12l=6u; y12r=0.8h;
+filldraw stroke z1e{left}...z2e{down}...z3e{left}...z4e{up} % stem
+...z5e{right}...z6e..z7e..z8e{left}...z9e{down} % bowl
+...z10e{right}...z11e{up}..z12e; % flourish
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+math_fit(-4u#,.33h#*slant);
+endchar;
+
+
+cmchar "Script letter E";
+beginchar("E",11u#,cap_height#,0);
+italcorr .8h#*slant-2u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,-270); pos2(cap_hair,-180); pos3(vair,-90);
+numeric light_stem; hv_curve=.5[cap_curve,cap_stem];
+pos4(cap_hair,0); pos5(.3[vair,cap_curve],90); pos6(hv_curve,180);
+pos7(vair,270); pos8(cap_hair,360); pos9(vair,450); pos10(hv_curve,540);
+pos11(vair,630); pos12(cap_curve,720); pos13(vair,810);
+pos14(vair,930);
+x1=6u; top y1r=.9h; x2r=5u; y2=.8h; x3=7u; y3=.65h; x4=8u; y4=.75h;
+x5=4u; top y5r=h+oo; lft x6r=hround 1.2u; y6=.8h; x7=5.5u; y7=.51h;
+x8=6u; y8=.53h; x9=4.5u; y9=.57h; lft x10r=hround u; y10=.38h;
+x11=7u; bot y11r=-oo; rt x12r=hround w-u; y12=.18h; x13=6u; y13=.38h;
+x14r=5.5u; y14r=.15h;
+filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4)
+&pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8)
+&pulled_arc.e(8,9)&pulled_arc.e(9,10)&pulled_arc.e(10,11)&pulled_arc.e(11,12)
+&pulled_arc.e(12,13)..{dir(300)}z14e;
+%filldraw stroke z1e{left}...z2e{down}...z3e{right}...z4e{up}
+%...z5e{left}...z6e{down}...z7e{right}...z8e{up}...z9e{left}
+%...z10e{down}...z11e{right}...z12e{up}...z13e{left}..z14e;
+math_fit(-.3h#*slant,.2h#*slant);
+endchar;
+
+cmchar "Script letter F";
+beginchar("F",14u#,cap_height#,0);
+italcorr h#*slant-2.0u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,-45); pos2(cap_curve,0); pos3(cap_stem,0); pos4(vair,-90);
+pos5(hair,-180); pos6(flare,-180);
+x1r=9.3u; y1=.85h; lft x2l=8u; y2=.65h; rt x3r=10u; y3=.3h;
+x4=6.25u; bot y4l=-o; lft x6r=hround 2u; y6=.17h;
+filldraw stroke z1e..z2e{down}...z3e{down}...{left}z4e; % stem
+bulb(4,5,6);
+pos7(cap_curve,90); rt x7=hround 12u; top y7r=.93h;
+pos9(cap_curve,90); x9=5u; top y9=h+oo;
+pos10(cap_hair,180); lft x10r=hround u; y10=.75h;
+pos11(vair,270); x11=4u; bot y11r=.5h;
+pos12(cap_curve,360); rt x12r=7u; y12=.65h;
+pos13(vair,415); x13=5u; y13=.85h;
+filldraw stroke z7e{left}...pulled_arc.e(9,10)&pulled_arc.e(10,11)
+&pulled_arc.e(11,12)..z13e; % cap
+pos14(cap_hair,0); pos15(vair,-90); pos16(cap_hair,0);
+pos17(vair,90); pos18(.5[cap_hair,cap_curve],180);
+pos19(.2[cap_curve,cap_stem],210);
+lft x14l=hround 5u; y14=.28h; x15=9u; y15=.4h; rt x16r=hround 13u; y16=.5h;
+x17=12u; top y17r=.58h; lft x18r=11u; y18=.45h; rt x19l=12.3u; bot y19r=.3h;
+filldraw stroke pulled_arc.e(14,15)&pulled_arc.e(15,16)&pulled_arc.e(16,17)
+&pulled_arc.e(17,18)..z19e; % bar
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+math_fit(-.15h#*slant-u#,.5h#*slant);
+endchar;
+
+
+cmchar "Script letter G";
+beginchar("G",15.2u#,cap_height#,0);
+italcorr .85h#*slant-2u#;
+adjust_fit(0,0); pickup fine.nib;
+pos0(vair,-270); pos1(cap_curve,-180); pos2(vair,-90); pos3(cap_curve,0);
+pos4(vair,90); pos5(cap_stem,180); pos6(vair,270); pos7(vair,315);
+x0=3.5u; y0=.95h; lft x1r=hround u; y1=.75h; x2=6.5u; bot y2r=vround .4h;
+rt x3r=hround 12u; y3=.85h; x4=9.5u; top y4r=h+o; lft x5r=hround 6.7u;
+y5=.6h; x6=10.5u; y6=.3h; x7=13u; y7=.6h;
+filldraw stroke pulled_arc.e(0,1)&pulled_arc.e(1,2)&pulled_arc.e(2,3)
+&pulled_arc.e(3,4)&pulled_arc.e(4,5)&pulled_arc.e(5,6)..{dir(45)}z7e;
+pos8(cap_hair,-45); pos9(.2[cap_curve,cap_stem],0);
+pos10(cap_stem,0); pos11(vair,-90);
+pos12(hair,-180); pos13(flare,-180);
+z8=z7; lft x9l=hround 12u; y9=.4h; rt x10r=hround 14.2u; y10=.12h;
+x11=11.25u; bot y11l=-o; x13r=hround 7u; y13=.17h;
+filldraw stroke z8e{dir(225)}..z9e{down}...z10e{down}...{left}z11e;
+bulb(11,12,13);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13);
+math_fit(-.75h#*slant,.5h#*slant-2u#);
+endchar;
+
+cmchar "Script letter H";
+beginchar("H",17u#,cap_height#,0);
+italcorr 0.8h#*slant;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,180); pos2(vair,90);
+pos3(cap_stem,0); pos4(vair,-90);
+pos5(cap_hair,-180); pos6(vair,-270);
+pos7(cap_hair,-180);
+x1l=hround w-u; y1=0.2h; x2=w-2.5u; bot y2l=-oo; x3=w-6u; y3=.4h;
+x4=w-3.5u; top y4l=h+oo; x5l=hround w-u; y5=0.75h; x6=9u; y6=.55h;
+x7r=hround 3u; y7=.35h;
+filldraw stroke z1e{down}...z2e{left}...z3e{up}...z4e{right} % hook, rt stem
+...z5e{down}...z6e{left}...{down}z7e; % crossbar
+pos8(cap_hair,180); pos9(vair,90); pos10(cap_curve,0);
+pos11(vair,90); pos12(cap_hair,180);
+x8r=hround u; y8=.725h; x9=2u; top y9r=.9h; x10r=4u; y10=.75h;
+x11=5u; bot y11l=.65h; x12r=7u; y12=.8h;
+filldraw stroke z8e{up}...z9e{right}...z10e{down}...z11e{right}
+...{up}z12e; % flourish
+ pos13(cap_hair,-45); x13r=8u; top y13l=h+apex_o;
+pos14(cap_stem,0); pos15(vair,-90); pos16(hair,-180); pos17(flare,-180);
+x14=7u; y14=.3h; bot y15l=-o; x15=4.5u; x17r=hround u; y17=.17h;
+filldraw stroke z13e..z14e{down}...{left}z15e; % left stem
+bulb(15,16,17);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+math_fit(-.15h#*slant,.2h#*slant);
+endchar;
+
+
+cmchar "Script letter I";
+beginchar("I",11u#,cap_height#,0);
+italcorr h#*slant-u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,135); pos2(cap_curve,180);
+pos3(vair,270); pos4(cap_hair,360); pos5(vair,390);
+pos6(cap_hair,-45); x6r=9u; top y6l=h+apex_o;
+z1r=z6l; x2r=3u; y2=.7h; x3=8u; y3l=.35h; x4l=10u; y4=.5h;
+x5r=9u; y5r=.7h;
+filldraw stroke z1e{dir(210)}..pulled_arc.e(2,3)&pulled_arc.e(3,4)
+..{dir(130)}z5e;
+pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180);
+x7l=7u; y7=.3h; bot y8r=-o; x8=4.5u; x10r=hround u; y10=.17h;
+pos11(cap_curve,0); x11l=6.75u; y11=.67h;
+filldraw stroke z6e..z11e{down}...z7e{down}...{left}z8e;
+bulb(8,9,10);
+penlabels(1,2,3,4,5,6,7,8,9,10,11);
+math_fit(-.1h#*slant,.5h#*slant);
+endchar;
+
+
+cmchar "Script letter J";
+beginchar("J",12u#,cap_height#,desc_depth#);
+italcorr h#*slant-u#;
+adjust_fit(.7d#*slant,0); pickup fine.nib;
+pos1(vair,135); pos2(cap_curve,180);
+pos3(vair,270); pos4(cap_hair,360); pos5(vair,390);
+pos6(cap_hair,-45); x6r=9u; top y6l=h+apex_o;
+z1r=z6l; x2r=3u; y2=.7h; x3=8u; y3l=.35h; x4l=10u; y4=.5h;
+x5r=9u; y5r=.7h;
+filldraw stroke z1e{dir(210)}..pulled_arc.e(2,3)&pulled_arc.e(3,4)
+..{dir(130)}z5e;
+pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(hair,-180);
+x7l=7u; y7=.25h; bot y8l=-d-o; x8=4.5u; rt x9r=hround 2u; y9=-.5d;
+rt x10l=hround 11u; y10=.2h;
+pos11(cap_curve,0); x11l=6.75u; y11=.67h;
+pos12(vair,-240); z12=.5[z9,z10];
+filldraw stroke z6e..{down}z11e...{down}z7e&pulled_arc.e(7,8)
+&pulled_arc.e(8,9)...z12e{dir(15)}...{up}z10e;
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+math_fit(0,.5h#*slant);
+endchar;
+
+cmchar "Script letter K";
+beginchar("K",16u#,cap_height#,0);
+italcorr h#*slant-1.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,180); pos2(vair,90);
+pos3(.5[cap_curve,cap_stem],0); pos4(vair,90);
+pos5(cap_hair,180); pos6(vair,270);
+pos7(.75[cap_hair,cap_curve],360); pos8(vair,315);
+x1l=hround w-u; y1=0.2h; x2=w-2.5u; bot y2l=-o; x3=w-6u; y3=.35h;
+x4=8.5u; top y4l=.55h; x5l=8u; y5=0.475h; x6=8.5u; y6=.45h;
+x7r=hround w-4u; y7=.825h; x8l=hround w-2u; top y8l=h;
+filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3) % hook
+&pulled_arc.e(3,4)&pulled_arc.e(4,5) % right leg
+&pulled_arc.e(5,6)&pulled_arc.e(6,7)..z8e; % right arm
+pos9(cap_hair,180); pos10(vair,90); pos11(cap_curve,0);
+pos13(vair,90); pos12(cap_hair,180);
+x9r=hround u; y9=.715h; x10=2u; top y10r=.9h; x11r=4u; y11=.75h;
+x13=5u; bot y13l=.65h; x12r=7u; y12=.8h;
+filldraw stroke pulled_arc.e(9,10)&pulled_arc.e(10,11)
+&pulled_arc.e(11,13)&pulled_arc.e(13,12); % flourish
+pos14(cap_hair,-45); x14r=8u; top y14l=h+apex_o;
+pos15(cap_stem,0); pos16(vair,-90); pos17(hair,-180); pos18(flare,-180);
+x15=7u; y15=.3h; bot y16l=-o; x16=4.5u; x18r=hround u; y18=.17h;
+filldraw stroke z14e..z15e{down}...{left}z16e; % stem
+bulb(16,17,18);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,13,12,14,15,16,17,18);
+math_fit(-.15h#*slant,.2h#*slant);
+endchar;
+
+cmchar "Script letter L";
+beginchar("L",15.5u#,cap_height#,0);
+italcorr 0.75 h#*slant-u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,180); pos2(0.8[vair,cap_curve],90);
+pos3(vair,90);
+x1l=hround w-u; y1=0.2h; x2=12u; bot y2l=-o; x3=4u; y3=0.12h;
+pos4(cap_curve,180); pos5(vair,270); pos6(cap_stem,360);
+x4r=hround 2u; x5=5u; x6=8.5u;
+y4=0.06h; bot y5r=-o; y6=0.3h;
+pos7(vair,270); pos8(0.5[cap_hair,cap_curve],180); pos9(vair,90);
+x7=10u; top y7l=h+o; x8l=hround w-2.5u; y8=0.75h; x9=7u; y9r=.5h;
+pos10(cap_curve,0); pos11(vair,-90);
+x10l=hround u; y10=0.8h; x11=4u; top y11l=h;
+filldraw stroke z1e{down}...z2e{left}...z3e{left} % foot
+...z4e{down}...z5e{right}...z6e{up}...z7e{right}...z8e{down} % stem
+...z9e{left}...z10e{up}..z11e; % flourish
+penlabels(1,2,3,4,5,6,7,8,9,10,11);
+math_fit(-2u#,.25h#*slant);
+endchar;
+
+cmchar "Script letter M";
+beginchar("M",19u#,cap_height#,0);
+italcorr h#*slant-4.25u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,-15); pos2(.6[cap_curve,cap_stem],0);
+pos3(cap_stem,0); pos4(vair,90); pos5(cap_hair,180);
+rt x1r=hround 14.25u; top y1=h+apex_o; lft x3l=hround 13u; y3=.25h;
+x4=16u; y4=-o; top y5=.2h; rt x5l=hround 18u;
+rt x2r=14u; y2=.8h; % should be intersectionpoint!
+filldraw stroke z1e{dir(-105)}---z2e{down}...
+% {down}z3e...{right}z4e..{up}z5e; % right descender
+pulled_arc.e(3,4)&pulled_arc.e(4,5);
+pos6(.2[vair,cap_stem],90); pos7(cap_stem,0); pos8(cap_hair,-20);
+x6=10.25u; bot y6r=-apex_o; x8=9.5u; top y8=h+apex_o;
+pos9(cap_hair,0); pos10(vair,-90); pos11(cap_hair,-180); pos12(flare,-180);
+x9=6u; y9=.45h; x10=3.5u; bot y10r=-oo; lft x12r=hround u; y12=.13h;
+filldraw stroke z8e{dir(-110)}..{dir(-100)}z9e..{left}z10e; % left descender
+bulb(10,11,12);
+x7l=8u; y7=.25h; pos15(.5[cap_curve,cap_stem],0);
+rt x15r=hround 9.5u; y15=.8h; % should be intersectionpoint!
+pos13(cap_hair,165); z13=z1; pos14(cap_hair,180); x14=11.5u; y14=.45h;
+filldraw stroke z13e{dir(-105)}...{dir(-98)}z14e...
+% {left}z6e...{up}z7e
+pulled_arc.e(6,7)...{up}z15e---{dir(70)}z8e;
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+math_fit(-.15h#*slant,.2h#*slant);
+endchar;
+
+cmchar "Script letter N";
+beginchar("N",15u#,cap_height#,0);
+italcorr h#*slant;
+adjust_fit(0,0); pickup fine.nib;
+pos1(.5[cap_hair,cap_curve],-60); pos2(cap_hair,0);
+x1=14u; y1=h; lft x2l=hround 12u; y2=.65h;
+pos4(cap_hair,0); pos5(cap_stem,0); x4l=13u; y4=0; x5=10u; y5=.5h;
+pos6(cap_hair,0); x6l=6.75u; top y6=h;
+filldraw stroke z1e{dir(-150)}..{down}z2e..z4e;
+filldraw stroke z6e{down}..z5e..{dir(-80)}z4e;
+pos7(cap_hair,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180);
+x7l=6.75u; y7=.3h; bot y8l=-o; x8=4.5u; x10r=hround u; y10=.17h;
+filldraw stroke z6e...z7e...{left}z8e;
+bulb(8,9,10);
+penlabels(1,2,3,4,5,6,7,8,9,10);
+math_fit(-.15h#*slant,.4h#*slant-u#);
+endchar;
+
+cmchar "Script letter O";
+beginchar("O",11.5u#,cap_height#,0);
+italcorr h#*slant-3u#;
+adjust_fit(0,0); pickup fine.nib;
+pos0(vair,-110); pos1(vair,-90); pos2(cap_hair,0);
+pos3(vair,90); pos4(cap_stem,180); pos5(vair,270); pos6(cap_curve,360);
+pos7(vair,450); pos8(cap_hair,540); pos9(cap_hair,570); x0=6u; y0=.7h;
+x1=8.5u; y1=.65h; rt x2r=hround 10u; y2=.75h; x3=5u; top y3r=h+oo;
+lft x4r=hround u; y4=.6h; x5=7.5u; bot y5r=-oo; rt x6r=hround 10.5u; y6=.3h;
+x7=5.5u; y7=.8h; x8=3.7u; y8=.5h; x9=5u; y9=.17h;
+filldraw stroke z0e{dir(-20)}..pulled_arc.e(1,2)
+&pulled_arc.e(2,3)&pulled_arc.e(3,4)
+&pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8)
+..{dir(-60)}z9e;
+penlabels(0,1,2,3,4,5,6,7,8,9);
+math_fit(-.3h#*slant,.5h#*slant);
+endchar;
+
+cmchar "Script letter P";
+beginchar("P",16u#,cap_height#,0);
+italcorr max(.8h#*slant-1.5u#,h#*slant-3u#);
+adjust_fit(0,0); pickup fine.nib;
+ pos1(cap_hair,-45); x1r=12u; top y1l=h;
+pos2(cap_stem,0); pos3(vair,-90); pos4(cap_hair,-180); pos5(flare,-180);
+x2l=10u; y2=.35h; bot y3l=-o; x3=6.5u; x5r=hround 3u; y5=.17h;
+filldraw stroke z1e{-1,-1}...z2e{down}...{left}z3e; % stem
+bulb(3,4,5);
+pos14(vair,-270); pos16(cap_hair,-180); pos18(vair,-90);
+pos20(.5[cap_curve,cap_stem],0); pos22(vair,90); pos24(cap_hair,180);
+pos26(vair,270); pos28(.5[cap_hair,cap_curve],360); pos30(vair,390);
+x6=13u; y6=.3h; x8r=11u; y8=.2h; x10=13.5u; bot y10r=-oo;
+rt x12r=hround w-u; y12=.2h; x14=9u; y14=.62h;
+x16l=8.5u; y16=.55h; x18=12u; y18=.4h; rt x20r=hround 15u; y20=.55h;
+x22=6u; top y22r=h+o; lft x24r=hround u; y24=.7h;
+x26=4.5u; y26=.4h; x28r=7u; y28=.65h; x30=5.5u; top y30r=.9h;
+filldraw stroke pulled_arc.e(14,16)&pulled_arc.e(16,18)
+&pulled_arc.e(18,20)&pulled_arc.e(20,22)&pulled_arc.e(22,24)
+&pulled_arc.e(24,26)&pulled_arc.e(26,28)..{dir(130)}z30e;
+penlabels(1,2,3,4,5,6,8,10,12,14,16,18,20,22,24,26,28,30);
+math_fit(-.25h#*slant,.5h#*slant);
+endchar;
+
+cmchar "Script letter Q";
+beginchar("Q",16u#,cap_height#,0);
+italcorr max(.2h#*slant-.5u#,.8h#*slant-4.75u#);
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270);
+lft x1l=5u; y1l=.85h; rt x2r=hround 8u; y2=.6h; x3=5u; bot y3r=vround .42h;
+pos4(cap_curve,180); pos5(vair,90); pos6(cap_stem,0);
+lft x4r=hround u; y4=.75h; x5=5u; top y5r=h+o; rt x6r=hround 12u; y6=.5h;
+filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3)
+&pulled_arc.e(3,2)..{dir(150)}z1e; % flourish and top
+pos7(vair,-90); pos8(.5[cap_hair,cap_curve],-180); pos9(cap_curve,-270);
+pos10(.6[vair,cap_curve],-270); pos11(cap_hair,-180);
+x7=5.5u; bot y7r=-o; lft x8r=hround 2u; y8=.12h; x9=4u;
+top y9r= vround (y8+cap_curve); x10=12.5u; bot y10l=-o; rt x11l=hround 15u;
+y11=.2h;
+filldraw stroke pulled_arc.e(6,7)&pulled_arc.e(7,8)&pulled_arc.e(8,9)..
+pulled_arc.e(10,11); % bottom
+penlabels(1,2,3,4,5,6,7,8,9,10,11);
+math_fit(-.1h#*slant-u#,.2h#*slant);
+endchar;
+
+cmchar "Script letter R";
+beginchar("R",17.5u#,cap_height#,0);
+italcorr h#*slant-6u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270);
+x1=5.5u; y1=.8h; rt x2r=hround 6.5u; y2=.55h;
+x3=4.5u; bot y3r=vround .38h;
+pos4(cap_hair,180); pos5(vair,90); pos6(cap_curve,0);
+lft x4r=hround u; y4=.7h; x5=6u; top y5r=h+o; rt x6r=hround 13.5u; y6=.65h;
+filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3)
+&pulled_arc.e(3,2)..{dir(130)}z1e; % flourish and bowl top
+pos7(vair,-90); pos8(cap_hair,-180); pos9(vair,-270); pos10(cap_stem,-360);
+pos11(cap_stem,-360); pos12(vair,-450); pos13(cap_hair,-540);
+x7=10u; bot y7r=vround .45h; lft x8r=hround 8.5u; y8=.5h;
+x9=10.5u; top y9r=vround .52h; rt x10r=rt x11r=hround 13.2u; y10=.3h;
+y11=.15h; x12=14.8u; bot y12r=-o; rt x13l=hround (w-u); y13=.2h;
+filldraw stroke pulled_arc.e(10,9)&pulled_arc.e(9,8)&pulled_arc.e(8,7)
+&pulled_arc.e(7,6); % inner loop
+filldraw stroke z10e..pulled_arc.e(11,12)&pulled_arc.e(12,13); % leg
+pos14(cap_hair,-45);
+pos16(cap_stem,0); pos17(vair,-90);
+pos18(cap_hair,-180); pos19(flare,-180);
+x14r=11u; top y14l=h; x15r=8.8u; y15=.8h; x16r=10u; y16=.3h;
+x17=6.5u; bot y17=-oo; x19r=hround 3u; y19=.17h;
+filldraw stroke z14e{-1,-1}..{down}z16e...{left}z17e; % stem
+bulb(17,18,19);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+math_fit(-.2h#*slant-2.2u#,.2h#*slant);
+endchar;
+
+cmchar "Script letter S";
+beginchar("S",12.5u#,cap_height#,0);
+italcorr h#*slant-u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,-450); pos2(.5[cap_hair,cap_curve],-360);
+pos3(vair,-270); pos4(cap_hair,-180);
+lft x1=5u; top y1l=.95h; lft x2r=hround u; y2=.75h; x3=7.5u; bot y3l=.45h;
+rt x4l=hround 12u; y4=.75h;
+pos5(vair,-90); x5r=10u; top y5l=h+oo;
+pos6(cap_stem,0); x6l=7.75u; y6=.67h;
+pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180);
+x7l=7.5u; y7=.3h; bot y8l=-o; x8=4.5u; x10r=hround u; y10=.17h;
+filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4)
+&pulled_arc.e(4,5)..z6e{down}...z7e{down}...{left}z8e;
+bulb(8,9,10);
+penlabels(1,2,3,4,5,6,7,8,9,10,11);
+math_fit(-.15h#*slant,.5h#*slant);
+endchar;
+
+cmchar "Script letter T";
+beginchar("T",13u#,cap_height#,0);
+italcorr h#*slant-1.0u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,-45); pos2(cap_curve,0); pos3(cap_stem,0); pos4(vair,-90);
+pos5(hair,-180); pos6(flare,-180);
+x1r=10.3u; y1=.85h; lft x2l=9u; y2=.65h; rt x3r=11u; y3=.3h;
+x4=7.25u; bot y4l=-o; x6r=hround 3u; y6=.17h;
+filldraw stroke z1e..z2e{down}...z3e{down}...{left}z4e; % stem
+bulb(4,5,6);
+pos7(cap_curve,90); rt x7=hround 12u; top y7r=.93h;
+pos9(cap_curve,90); x9=5u; top y9=h+oo;
+pos10(cap_hair,180); lft x10r=hround u; y10=.75h;
+pos11(vair,270); x11=4u; bot y11r=.5h;
+pos12(cap_curve,360); rt x12r=7u; y12=.65h;
+pos13(vair,415); x13=5u; y13=.85h;
+filldraw stroke z7e{left}...pulled_arc.e(9,10)&pulled_arc.e(10,11)
+&pulled_arc.e(11,12)..z13e; % cap
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+math_fit(-.25h#*slant,.3h#*slant);
+endchar;
+
+cmchar "Script letter U";
+beginchar("U",18.25u#,cap_height#,0);
+italcorr .87h#*slant-1.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270);
+lft x1l=4.5u; y1l=.85h; rt x2r=hround 6.5u; y2=.6h; x3=4u;
+bot y3r=vround .43h;
+pos4(cap_hair,180); pos5(vair,90); pos6(.5[cap_curve,cap_stem],0);
+lft x4r=hround u; y4=.7h; x5=5u; top y5r=h+o; rt x6r=hround 10u; y6=.6h;
+pos7(cap_stem,0); pos8(vair,90); pos9(cap_hair,180);
+rt x7r=hround 10u; y7=.25h; x8=11u; bot y8l=-o;
+lft x9r=hround 12.7u; y9=.2h; % should be intersectionpoint or tangent
+filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3)
+&pulled_arc.e(3,2)..{dir(120)}z1e; % flourish and bowl top
+filldraw stroke z6e---pulled_arc.e(7,8)&pulled_arc.e(8,9);
+pos10(cap_stem,0); pos11(cap_stem,0); pos12(vair,90); pos13(cap_hair,180);
+rt x10r=hround 15u; y10=.87h; lft x11l=lft x9r; y11=.2h;
+x12=15u; bot y12l=-o; rt x13l=hround 17.25u; y13=.18h;
+filldraw stroke z10e..pulled_arc.e(11,12)&pulled_arc.e(12,13);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+math_fit(-.5h#*slant-u#,.18h#*slant);
+endchar;
+
+cmchar "Script letter V";
+beginchar("V",13.8u#,cap_height#,0);
+italcorr h#*slant-.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,180); pos2(vair,90); pos3(cap_curve,0); pos4(vair,90);
+pos5(cap_hair,180); pos5'(cap_hair,180);
+lft x1r=hround u; y1=.68h; top y2r=vround .86h; x2=3u; lft x3l=hround 3.8u;
+y3=.75h; bot y4l=vround .62h; x4=5.5u; x5r=6.7u; y5=.8h;
+x5'l=hround 7u; top y5'=h+apex_o;
+filldraw stroke pulled_arc.e(1,2)...z3e{dir(-105)}
+...pulled_arc.e(4,5); % flourish
+pos6(cap_stem,180); pos7(cap_hair,180); pos8(cap_hair,180);
+pos9(.5[cap_hair,cap_curve],135);
+x6=8.5u; y6=.5h; rt x7l=10u; bot y7=-apex_o; x8=11.5u; y8=.5h;
+x9l=12.8u; top y9r=h;
+filldraw stroke z5'e{dir(-105)}...z6e...{dir(-105)}z7e; % stem
+filldraw stroke z7e{dir(80)}..{up}z8e..{(1,1)}z9e; % right arm
+penlabels(1,2,3,4,5,5',6,7,8,9);
+math_fit(-.68h#*slant,.5h#*slant-u#);
+endchar;
+
+cmchar "Script letter W";
+beginchar("W",17.5u#,cap_height#,0);
+italcorr h#*slant-.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(cap_hair,0); pos2(cap_stem,0); pos3(cap_hair,0);
+x1l=hround 11u; x3l=hround 12.5u; x2=.5[x1,x3]; top y1=h+apex_o;
+bot y3=-apex_o; y2=.5h;
+filldraw stroke z1e{down}...z2e...{down}z3e; % inner left
+pos4(cap_hair,0); x4=.5[x3,x5]; y4=.5h;
+pos5(cap_hair,0); pos6(cap_stem,0); pos7(cap_hair,0);
+x5l=hround 7u; x7l=hround 8.5u; x6=.5[x5,x7]; top y5=h+apex_o;
+bot y7=-apex_o; y6=.5h;
+filldraw stroke z1e{dir(-105)}...z4e...{dir(-105)}z7e; % inner right
+filldraw stroke z5e{dir(-105)}...z6e...{dir(-105)}z7e; % right arm
+pos8(cap_hair,180); pos9(vair,90); pos10(cap_curve,0);
+pos11(vair,90); pos12(cap_hair,180);
+x8r=hround u; y8=.725h; x9=2u; top y9r=.9h; x10r=4u; y10=.75h;
+x11=5u; bot y11l=.65h; x12r=7u; y12=.8h;
+filldraw stroke z8e{up}...z9e{right}...z10e{dir(-105)}...z11e{right}
+...{up}z12e; % flourish
+pos13(cap_hair,0); pos14(.5[cap_hair,cap_curve],-60);
+lft x13l=hround 15u; y13=.5h; rt x14r=hround 16.5u; top y14l=h;
+filldraw stroke z14e{dir(-150)}..{down}z13e..{dir(-105)}z3e;
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13);
+math_fit(-.725h#*slant,.5h#*slant-u#);
+endchar;
+
+cmchar "Script letter X";
+beginchar("X",17u#,cap_height#,0);
+italcorr h#*slant-2u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180);
+pos5(vair,90); pos6(cap_stem,0); pos7(vair,-90); pos8(cap_hair,-180);
+pos9(flare,-180);
+lft x1l=4u; top y1r=.9h; rt x2r=hround 6u; y2=.65h; x3=4u; bot y3r=vround .5h;
+lft x4r=hround u; y4=.8h; x5=3.75u; top y5r=h+o; rt x6r=hround 10u; y6=.45h;
+x7=6.5u; bot y7r=-o; lft x9r=hround 3u; y9=.17h;
+filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5)
+&pulled_arc.e(5,6)&pulled_arc.e(6,7); % left side
+bulb(7,8,9);
+pos10(vair,90); pos11(vair,90); x10=7u; x11=11.5u; y10r=y11r=vround .5h;
+filldraw stroke z10e..z11e; % crossbar
+pos12(flare,0); pos13(cap_hair,0); pos14(vair,90); pos15(cap_hair,180);
+pos16(vair,270); pos17(cap_hair,360);
+rt x12r=hround 14u; y12=.95h; x14=12u; top y14r=h+o; z15l=z6r;
+x16=14u; bot y16r=-o; rt x17r=hround 16u; y17=.25h;
+bulb(14,13,12);
+filldraw stroke pulled_arc.e(14,15)&pulled_arc.e(15,16)&pulled_arc.e(16,17);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+math_fit(-.25h#*slant,.25h#*slant);
+endchar;
+
+cmchar "Script letter Y";
+beginchar("Y",15u#,cap_height#,0);
+italcorr h#*slant-.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180);
+pos5(vair,90); pos6(cap_stem,0); pos7(cap_stem,0); pos8(vair,90);
+pos9(cap_hair,180);
+lft x1l=4u; top y1r=.9h; rt x2r=hround 6.5u; y2=.6h;
+x3=4.5u; bot y3r=vround .4h;
+lft x4r=hround u; y4=.7h; x5=5u; top y5r=h+o; rt x6r=hround 10u; y6=.7h;
+rt x7r=hround 10u; y7=.5h; x8=11.5u; bot y8l=vround .27h; x9=13u; y9=.4h;
+filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5)
+&pulled_arc.e(5,6)---pulled_arc.e(7,8)&pulled_arc.e(8,9); % left side
+pos10(vair,-45); pos11(cap_curve,0); pos12(cap_stem,0); pos13(vair,-90);
+pos14(cap_hair,-180); pos15(flare,-180);
+rt x10r=hround 14u; top y10l=h; lft x11l=hround 12u; y11=.8h;
+rt x12r=hround 14u; y12=.35h; x13=10u; bot y13r=-o; lft x15r=hround 6u;
+y15=.17h;
+filldraw stroke z10e{dir(-135)}..z11e{down}...z12e{down}...{left}z13e;
+bulb(13,14,15);
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+math_fit(-.6h#*slant,.35h#*slant);
+endchar;
+
+cmchar "Script letter Z";
+beginchar("Z",16u#,cap_height#,0);
+italcorr h#*slant-2.8u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180);
+pos5(vair,90); pos6(cap_stem,0); pos7(cap_stem,0); pos8(vair,90);
+pos9(cap_hair,180);
+lft x1l=4u; top y1r=.85h; rt x2r=hround 6u; y2=.65h;
+x3=4u; bot y3r=vround .5h;
+lft x4r=hround u; y4=.75h; x5=4.5u; top y5r=h+o; rt x6r=hround 7.5u; y6=.85h;
+rt x7r=hround 7.5u; y7=.75h; x8=9.5u; bot y8l=vround .7h;
+rt x9l=hround 13.7u; y9=.85h;
+pos10(vair,270); pos11(vair,-90); pos12(cap_stem,0); pos13(vair,-90);
+pos14(cap_hair,-180); pos15(vair,-270); pos16(cap_curve,-270);
+pos17(cap_hair,-180);
+top y10l=h+oo; x10=11.5u; z11=z10; x12=10u; y12=.5h; x13=6.5u; bot y13r=-oo;
+lft x14r=hround 4u; x15=6u; top y15r=vround .16h; x16=12.5u; bot y16l=-o;
+y14=.075h; rt x17l=hround 15u; top y17=vround .2h;
+filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5)
+&pulled_arc.e(5,6)&pulled_arc.e(6,8)&pulled_arc.e(8,9)&pulled_arc.e(9,10);
+filldraw stroke z11e{left}..{down}z12e..{left}z13e...{up}z14e...{right}z15e
+...{right}z16e..{up}z17e; % stem and foot
+pos18(vair,90); pos19(vair,90); x18=8u; x19=13u; y18r=y19r=vround .5h;
+filldraw stroke z18e..z19e; % crossbar;
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+math_fit(max(-3u#,-.75h#*slant-u#),.2h#*slant);
+endchar;
+
+cmchar "Tie accent";
+beginchar(oct"177",5u#,asc_height#,0);
+italcorr 4/9[x_height#,asc_height#]*slant+4.5u#+2letter_fit#+.5hair#;
+adjust_fit(if monospace:2u#,2u# else:serif_fit#,serif_fit# fi);
+pickup fine.nib; pos1(hair,180); pos2(vround 1/5[vair,stem],90); pos3(hair,0);
+lft x1r=hround(.5w-.5hair); x2=.5[x1,x3];
+rt x3r=hround(w+4u+2letter_fit+.5hair);
+y1=y3=4/9[x_height,asc_height]; top y2r=vround 8/9[x_height,asc_height];
+filldraw stroke super_arc.e(1,2) & super_arc.e(2,3); % arc
+penlabels(1,2,3); endchar;
diff --git a/fonts/rsfs/scrload.tex b/fonts/rsfs/scrload.tex
new file mode 100644
index 0000000000..ca38e676f7
--- /dev/null
+++ b/fonts/rsfs/scrload.tex
@@ -0,0 +1,14 @@
+% The following allows the use of Ralph Smith's Formal Script symbols
+% in Plain TeX documents. Use \scr like \cal.
+% Set the font sizes and restore the `at' clauses if you want them bigger.
+% You can use this method in LaTeX, but only at one basic size.
+% If you need symbols in LaTeX titles, captions, etc., work it out or ask
+% a LaTeXpert.
+
+\font\tenscr=rsfs10 % scaled \magstep1
+\font\sevenscr=rsfs7 % scaled \magstep1
+\font\fivescr=rsfs5 % scaled \magstep1
+\skewchar\tenscr='177 \skewchar\sevenscr='177 \skewchar\fivescr='177
+\newfam\scrfam \textfont\scrfam=\tenscr \scriptfont\scrfam=\sevenscr
+\scriptscriptfont\scrfam=\fivescr
+\def\scr{\fam\scrfam}
diff --git a/fonts/rsfs/type1/README b/fonts/rsfs/type1/README
new file mode 100644
index 0000000000..8c44610fcf
--- /dev/null
+++ b/fonts/rsfs/type1/README
@@ -0,0 +1,36 @@
+
+Hi there,
+
+This directory contains a Type 1 version of (some of) the
+Metafont sources from the directory above. The pfb files
+are intended to be used with the original TFM files,
+_don't_ run finst or afmtotfm on the afm files!
+
+The afm and pfm files are provided just in case you want to
+install the files on your windowing system. I'm sorry for
+the Macintosh users amongst you, but I don't know how to
+create the MacType1 files.
+
+The fonts should give exactly the same output results as
+the .mf originals, up to the point of sillyness. All bugs
+in the metafont sources have been kept (and there might be
+new ones).
+
+Files are herewith donated to the public domain, and
+provided as is. Note that I feel that the copyright
+from the metafont sources still applies, my only statement
+here is that I do not impose extra restrictions.
+
+Conversion process:
+ .mf -> metapost (c) Hobby -> .eps
+ .eps -> metafog (c) Kinch -> .pfb
+ .pfb -> hinted & touched up with FontLab v3.0c
+
+More fonts should follow in the next few months. I can be reached for
+propositions/bugs at: taco.hoekwater@wkap.nl
+
+Greetings,
+
+Taco Hoekwater
+
+ \ No newline at end of file
diff --git a/fonts/rsfs/type1/afm/rsfs10.afm b/fonts/rsfs/type1/afm/rsfs10.afm
new file mode 100644
index 0000000000..c86ec353bb
--- /dev/null
+++ b/fonts/rsfs/type1/afm/rsfs10.afm
@@ -0,0 +1,57 @@
+StartFontMetrics 2.0
+Comment Copyright Conversion from mf curves by Metafog (c) 1995 Richard Kinch
+Comment Panose 3 0 5 5 4 0 0 9 0 2
+FullName rsfs10
+FontName rsfs10
+FamilyName rsfs10
+Weight Roman
+Notice Copyright (c) Taco Hoekwater, 1998. All rights reserved.
+Version 001.000
+IsFixedPitch false
+ItalicAngle -12.00
+FontBBox -2 -300 1240 728
+Ascender 700
+Descender -200
+XHeight 233
+CapHeight 728
+UnderlinePosition -100
+UnderlineThickness 50
+StdHW 22
+StdVW 22
+EncodingScheme FontSpecific
+StartCharMetrics 27
+C 66 ; WX 908 ; N B ; B 34 -14 928 708 ;
+C 67 ; WX 666 ; N C ; B 26 -19 812 714 ;
+C 68 ; WX 774 ; N D ; B 63 -31 849 708 ;
+C 69 ; WX 562 ; N E ; B 45 -8 711 708 ;
+C 70 ; WX 895 ; N F ; B 41 -22 990 728 ;
+C 71 ; WX 610 ; N G ; B 11 -22 737 717 ;
+C 72 ; WX 969 ; N H ; B 33 -22 1240 717 ;
+C 73 ; WX 809 ; N I ; B 58 -17 952 717 ;
+C 74 ; WX 1052 ; N J ; B 98 -300 1139 717 ;
+C 75 ; WX 914 ; N K ; B 33 -22 1200 717 ;
+C 76 ; WX 874 ; N L ; B 12 -17 1033 717 ;
+C 77 ; WX 1080 ; N M ; B 29 -36 1215 719 ;
+C 78 ; WX 902 ; N N ; B 33 -22 1206 719 ;
+C 79 ; WX 738 ; N O ; B 95 -8 803 708 ;
+C 80 ; WX 1013 ; N P ; B 94 -22 1033 717 ;
+C 81 ; WX 883 ; N Q ; B 54 -17 884 717 ;
+C 82 ; WX 850 ; N R ; B -2 -17 887 717 ;
+C 83 ; WX 868 ; N S ; B 32 -22 1018 708 ;
+C 84 ; WX 747 ; N T ; B 94 -22 995 728 ;
+C 85 ; WX 800 ; N U ; B 54 -17 959 717 ;
+C 86 ; WX 622 ; N V ; B 55 -17 857 717 ;
+C 87 ; WX 805 ; N W ; B 47 -17 1032 717 ;
+C 88 ; WX 944 ; N X ; B 103 -17 1132 717 ;
+C 89 ; WX 710 ; N Y ; B 57 -17 965 717 ;
+C 90 ; WX 821 ; N Z ; B 81 -17 1034 717 ;
+C 127 ; WX 278 ; N tie ; B 394 368 796 520 ;
+C 65 ; WX 803 ; N A ; B 35 -8 1000 717 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1
+KPX B tie 194
+
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/fonts/rsfs/type1/afm/rsfs5.afm b/fonts/rsfs/type1/afm/rsfs5.afm
new file mode 100644
index 0000000000..5e84678ac3
--- /dev/null
+++ b/fonts/rsfs/type1/afm/rsfs5.afm
@@ -0,0 +1,107 @@
+StartFontMetrics 2.0
+Comment Copyright Conversion of metafont curves by Metafog (c) 1995 Richard Kinch
+Comment Panose 3 0 0 7 2 0 0 2 0 2
+FullName rsfs5
+FontName rsfs5
+FamilyName rsfs5
+Weight Medium
+Notice Copyright (c) Taco Hoekwater, 1998. All rights reserved.
+Version 001.000
+IsFixedPitch false
+ItalicAngle -12.00
+FontBBox 0 -306 1512 731
+Ascender 700
+Descender -200
+XHeight 233
+CapHeight 731
+UnderlinePosition -100
+UnderlineThickness 50
+StdHW 33
+StdVW 43
+EncodingScheme FontSpecific
+StartCharMetrics 27
+C 66 ; WX 1227 ; N B ; B 97 -17 1142 711 ;
+C 67 ; WX 1000 ; N C ; B 100 -28 1053 717 ;
+C 68 ; WX 1038 ; N D ; B 132 -42 1020 711 ;
+C 69 ; WX 826 ; N E ; B 123 -11 878 711 ;
+C 70 ; WX 1187 ; N F ; B 108 -28 1192 731 ;
+C 71 ; WX 904 ; N G ; B 90 -28 954 722 ;
+C 72 ; WX 1316 ; N H ; B 96 -28 1512 722 ;
+C 73 ; WX 1073 ; N I ; B 121 -22 1134 723 ;
+C 74 ; WX 1329 ; N J ; B 176 -306 1322 723 ;
+C 75 ; WX 1247 ; N K ; B 96 -28 1451 722 ;
+C 76 ; WX 1172 ; N L ; B 63 -22 1239 722 ;
+C 77 ; WX 1455 ; N M ; B 98 -42 1467 725 ;
+C 78 ; WX 1207 ; N N ; B 96 -28 1460 726 ;
+C 79 ; WX 1009 ; N O ; B 183 -11 992 711 ;
+C 80 ; WX 1346 ; N P ; B 185 -28 1284 722 ;
+C 81 ; WX 1202 ; N Q ; B 124 -22 1078 722 ;
+C 82 ; WX 1174 ; N R ; B 58 -22 1092 722 ;
+C 83 ; WX 1152 ; N S ; B 96 -28 1229 711 ;
+C 84 ; WX 1039 ; N T ; B 183 -28 1212 731 ;
+C 85 ; WX 1151 ; N U ; B 117 -22 1208 722 ;
+C 86 ; WX 911 ; N V ; B 125 -22 1090 722 ;
+C 87 ; WX 1146 ; N W ; B 111 -22 1310 722 ;
+C 88 ; WX 1292 ; N X ; B 200 -22 1380 722 ;
+C 89 ; WX 1029 ; N Y ; B 135 -22 1209 722 ;
+C 90 ; WX 1113 ; N Z ; B 152 -22 1232 722 ;
+C 127 ; WX 458 ; N tie ; B 473 363 1087 520 ;
+C 65 ; WX 1108 ; N A ; B 105 -11 1204 722 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 26
+KPX B tie 243
+
+KPX C tie 347
+
+KPX D tie 138
+
+KPX E tie 173
+
+KPX F tie 277
+
+KPX G tie 312
+
+KPX H tie 416
+
+KPX I tie 416
+
+KPX J tie 520
+
+KPX K tie 451
+
+KPX L tie 381
+
+KPX M tie 555
+
+KPX N tie 486
+
+KPX O tie 208
+
+KPX P tie 277
+
+KPX Q tie 347
+
+KPX R tie 243
+
+KPX S tie 416
+
+KPX T tie 277
+
+KPX U tie 312
+
+KPX V tie 277
+
+KPX W tie 312
+
+KPX X tie 347
+
+KPX Y tie 243
+
+KPX Z tie 381
+
+KPX A tie 486
+
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/fonts/rsfs/type1/afm/rsfs7.afm b/fonts/rsfs/type1/afm/rsfs7.afm
new file mode 100644
index 0000000000..551bb0b57d
--- /dev/null
+++ b/fonts/rsfs/type1/afm/rsfs7.afm
@@ -0,0 +1,57 @@
+StartFontMetrics 2.0
+Comment Copyright Conversion of metafont curves by Metafog (c) 1995 Richard Kinch
+Comment Panose 3 0 5 7 4 0 0 2 0 2
+FullName rsfs7
+FontName rsfs7
+FamilyName rsfs7
+Weight Roman
+Notice Copyright (c) Taco Hoekwater, 1998. All rights reserved.
+Version 001.000
+IsFixedPitch false
+ItalicAngle -12.00
+FontBBox 0 -302 1349 728
+Ascender 700
+Descender -200
+XHeight 233
+CapHeight 728
+UnderlinePosition -100
+UnderlineThickness 50
+StdHW 28
+StdVW 33
+EncodingScheme FontSpecific
+StartCharMetrics 27
+C 66 ; WX 1029 ; N B ; B 52 -14 1012 710 ;
+C 67 ; WX 793 ; N C ; B 50 -24 907 714 ;
+C 68 ; WX 872 ; N D ; B 85 -36 915 710 ;
+C 69 ; WX 659 ; N E ; B 71 -10 774 710 ;
+C 70 ; WX 1005 ; N F ; B 62 -24 1068 728 ;
+C 71 ; WX 720 ; N G ; B 38 -24 822 720 ;
+C 72 ; WX 1102 ; N H ; B 51 -24 1349 720 ;
+C 73 ; WX 906 ; N I ; B 76 -20 1024 720 ;
+C 74 ; WX 1155 ; N J ; B 123 -302 1211 720 ;
+C 75 ; WX 1041 ; N K ; B 51 -24 1299 720 ;
+C 76 ; WX 986 ; N L ; B 24 -20 1114 720 ;
+C 77 ; WX 1225 ; N M ; B 51 -37 1315 722 ;
+C 78 ; WX 1017 ; N N ; B 51 -24 1308 722 ;
+C 79 ; WX 838 ; N O ; B 126 -10 876 710 ;
+C 80 ; WX 1140 ; N P ; B 124 -24 1131 720 ;
+C 81 ; WX 1004 ; N Q ; B 76 -20 959 720 ;
+C 82 ; WX 973 ; N R ; B 16 -20 965 720 ;
+C 83 ; WX 974 ; N S ; B 51 -24 1100 710 ;
+C 84 ; WX 856 ; N T ; B 123 -24 1079 728 ;
+C 85 ; WX 934 ; N U ; B 74 -20 1058 720 ;
+C 86 ; WX 730 ; N V ; B 77 -20 951 720 ;
+C 87 ; WX 935 ; N W ; B 65 -20 1144 720 ;
+C 88 ; WX 1077 ; N X ; B 136 -20 1231 720 ;
+C 89 ; WX 831 ; N Y ; B 83 -20 1062 720 ;
+C 90 ; WX 930 ; N Z ; B 103 -20 1111 720 ;
+C 127 ; WX 339 ; N tie ; B 418 365 898 520 ;
+C 65 ; WX 918 ; N A ; B 58 -10 1079 720 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1
+KPX B tie 215
+
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/fonts/rsfs/type1/map/rsfs.map b/fonts/rsfs/type1/map/rsfs.map
new file mode 100644
index 0000000000..2d481ff2c8
--- /dev/null
+++ b/fonts/rsfs/type1/map/rsfs.map
@@ -0,0 +1,4 @@
+% Thomas Esser, 1998, public domain.
+rsfs10 rsfs10 <rsfs10.pfb
+rsfs5 rsfs5 <rsfs5.pfb
+rsfs7 rsfs7 <rsfs7.pfb
diff --git a/fonts/rsfs/type1/pfm/rsfs10.pfm b/fonts/rsfs/type1/pfm/rsfs10.pfm
new file mode 100644
index 0000000000..d85ba497fd
--- /dev/null
+++ b/fonts/rsfs/type1/pfm/rsfs10.pfm
Binary files differ
diff --git a/fonts/rsfs/type1/pfm/rsfs5.pfm b/fonts/rsfs/type1/pfm/rsfs5.pfm
new file mode 100644
index 0000000000..203c980612
--- /dev/null
+++ b/fonts/rsfs/type1/pfm/rsfs5.pfm
Binary files differ
diff --git a/fonts/rsfs/type1/pfm/rsfs7.pfm b/fonts/rsfs/type1/pfm/rsfs7.pfm
new file mode 100644
index 0000000000..623138d0fc
--- /dev/null
+++ b/fonts/rsfs/type1/pfm/rsfs7.pfm
Binary files differ
diff --git a/fonts/rsfs/type1/rsfs10.pfb b/fonts/rsfs/type1/rsfs10.pfb
new file mode 100644
index 0000000000..9ad23742a8
--- /dev/null
+++ b/fonts/rsfs/type1/rsfs10.pfb
Binary files differ
diff --git a/fonts/rsfs/type1/rsfs5.pfb b/fonts/rsfs/type1/rsfs5.pfb
new file mode 100644
index 0000000000..ef215239fe
--- /dev/null
+++ b/fonts/rsfs/type1/rsfs5.pfb
Binary files differ
diff --git a/fonts/rsfs/type1/rsfs7.pfb b/fonts/rsfs/type1/rsfs7.pfb
new file mode 100644
index 0000000000..9ae6f6a3dd
--- /dev/null
+++ b/fonts/rsfs/type1/rsfs7.pfb
Binary files differ