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/t1-fraktur |
Initial commit
Diffstat (limited to 'fonts/t1-fraktur')
37 files changed, 6144 insertions, 0 deletions
diff --git a/fonts/t1-fraktur/CHANGELOG b/fonts/t1-fraktur/CHANGELOG new file mode 100644 index 0000000000..9a8072394b --- /dev/null +++ b/fonts/t1-fraktur/CHANGELOG @@ -0,0 +1,69 @@ +FKT1BASE +~~~~~~~~ +- makcen() ... hacek for d' t' l' + +FKT1GEN +~~~~~~~ +- ligature ft *J +- revived *a *e *o *u +- closing quote in proper slot +- T1/IL2 encoding (dc_layout) +- nice formatting of ligtables +- ligature "ss:" and "ss|" renders now as "s{}s|" or "s{s|}" + +FKT1LOW +~~~~~~~ +- adjust_fit for accented letters +- T1/IL2 encoding (dc_layout) +- eth duplicated as d with bar for T1 encoding +- d with hacek (makcen) +- fixed height of l with acute +- l with hacek (makcen) +- fixed comment of n with acute +- t with hacek (makcen) + +FKT1MIS +~~~~~~~ +- ligature ft +- T1/IL2 encoding (dc_layout) +- parametrized charcode for *a *e *o *u +- adjust_fit for accented letters +- duplicate hyphen for IL2 encoding +- degree sign for IL2 encoding (o_umlaut from yfrak) + +FKT1OTH +~~~~~~~ +- duplicate quotes for IL2 encoding +- placeholder for " to keep "a "e "o "u "s working +- fixed height of period +- T1/IL2 encoding (dc_layout) +- removed ligatures for L-bar accent +- fixed height of dotaccent + +FKT1UPP +~~~~~~~ +- adjust_fit for accented letters +- T1/IL2 encoding (dc_layout) +- L with hacek + +====================================== +Footnote about caron, hacek and makcen + +háček (hacek) = h\'{a}\v{c}ek is Czech word for caron +mäkčeň (makcen) = m\"{a}k\v{c}e\v{n} is Slovak word for caron + +Caron usually looks like little letter v, or circumflex upside down. +When it is placed on letters whose upper half consist only of vertical stem, +i.e. L, l, d, t, it looks more like an apostrophe. Note that capital D and T, +use "normal" caron. + +In this font, capital L is IMHO suitable to wear normal caron. The apostrophe +like version I made from half of umlaut (i.e. single dot). It is not the best, +but much better than apostrophe, which is far too big. Perhaps I'll make a new +version if I find some Czech or Slovak book printed in fraktur. + +If anyone will try to make new "apostrophe like" caron, go ahead, but check +out the appearance of your work on words like: šťastný = \v{s}\v{t}astn\'{y} +and koľko = ko\v{l}ko. It is essential that the width of letters with and +without caron is the same, while caron is small enough not to touch the next +letter, and big enough to be easily seen. Challenging task after all. diff --git a/fonts/t1-fraktur/README b/fonts/t1-fraktur/README new file mode 100644 index 0000000000..89e1ea78ca --- /dev/null +++ b/fonts/t1-fraktur/README @@ -0,0 +1,28 @@ +All modifications are enumerated in CHANGELOG. + +The most important changes are: +- letters L, l, d, t with caron +- ligature ft (you can switch it off if you don't like it) +- ligature *J for alternative J glyph +- old umlauts *a *e *o *u are working again +- IL2 (CS) encoded fonts (fkl2*) +- *.fd files for IL2 and OT1 encoding + +IL2 encoding is used mostly by Czech and Slovak TeX users, using +CSTeX. This encoding is fully compatible with old TeX encoding (OT1), +i.e. charcters 0-127 are the same as in original Computer Modern fonts, +so you can use IL2 font as if it were an OT1 font. Actually the *.fd files +provided do it this way :) + +However, fraktur font does not contain all characters from OT1 encoding +(notably the Greek letters) and I have placed the extra ligatures and +old umlauted letters in those empty slots. + +Characters 128-255 correspond to ISO-8859-2 (ISO Latin-2) with few +exceptions and a few extra characters. All accented letters from +ISO Latin-2 are in the right place (except for \c{t}), so you can +write documents directly in ISO and forget about combinig letters and +accents. Write "háček" instead of "h\'a\v cek" :). + +Vladislav Kurz +<vladki@email.cz> diff --git a/fonts/t1-fraktur/TODO b/fonts/t1-fraktur/TODO new file mode 100644 index 0000000000..2231382588 --- /dev/null +++ b/fonts/t1-fraktur/TODO @@ -0,0 +1,20 @@ +FKT1BASE +~~~~~~~~ +- shape of diacritics: acute, makcen, o_umlaut, pointaccent +- shape of punctuation: pointpoint + +FKT1OTH +~~~~~~~ +- shape of punctuation: period, colon, semicolon, comma, quotes, apostrophes + +FKT1UPP +~~~~~~~ +- L' or \v{L} ? + +automatic ligatures for final s and final ss +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- What were the rules for long/short s in other languages than German? +- Did s change on hyphenation? +- How did final ss look in English, Swedish, German,...? +- Czech \v{s} is ss inside a word, ss otherwise does not appear in Czech. +- What about languages using \c{s} and \'{s} ? diff --git a/fonts/t1-fraktur/fkl2bl10.mf b/fonts/t1-fraktur/fkl2bl10.mf new file mode 100644 index 0000000000..e61e8c716f --- /dev/null +++ b/fonts/t1-fraktur/fkl2bl10.mf @@ -0,0 +1,11 @@ +% yfrak transformed to ecfrak/fkt1bl by D. Taupin March 1994-2002 +% fkt1* transformed to fkl2* by V. Kurz 2002 +if unknown cmbase: input cmbase fi +input fkt1base; + +font_identifier:="csfrakbl"; font_size 10pt#; +numeric dc_layout; dc_layout:=0; + +input fkt1bl.mf + +endinput; diff --git a/fonts/t1-fraktur/fkl2bl10.tfm b/fonts/t1-fraktur/fkl2bl10.tfm Binary files differnew file mode 100644 index 0000000000..7f2d58afae --- /dev/null +++ b/fonts/t1-fraktur/fkl2bl10.tfm diff --git a/fonts/t1-fraktur/fkl2bx10.mf b/fonts/t1-fraktur/fkl2bx10.mf new file mode 100644 index 0000000000..b2462f431e --- /dev/null +++ b/fonts/t1-fraktur/fkl2bx10.mf @@ -0,0 +1,11 @@ +% yfrak transformed to ecfrak/fkt1bx by D. Taupin March 1994-2002 +% fkt1* transformed to fkl2* by V. Kurz 2002 +if unknown cmbase: input cmbase fi +input fkt1base; + +font_identifier:="csfrakbx"; font_size 10pt#; +numeric dc_layout; dc_layout:=0; + +input fkt1bx.mf + +endinput; diff --git a/fonts/t1-fraktur/fkl2bx10.tfm b/fonts/t1-fraktur/fkl2bx10.tfm Binary files differnew file mode 100644 index 0000000000..d2e3be7b9c --- /dev/null +++ b/fonts/t1-fraktur/fkl2bx10.tfm diff --git a/fonts/t1-fraktur/fkl2rm10.mf b/fonts/t1-fraktur/fkl2rm10.mf new file mode 100644 index 0000000000..1349aed121 --- /dev/null +++ b/fonts/t1-fraktur/fkl2rm10.mf @@ -0,0 +1,11 @@ +% yfrak transformed to ecfrak/fkt1rm by D. Taupin March 1994-2002 +% fkt1* transformed to fkl2* by V. Kurz 2002 +if unknown cmbase: input cmbase fi +input fkt1base; + +font_identifier:="csfrakrm"; font_size 10pt#; +numeric dc_layout; dc_layout:=0; + +input fkt1rm.mf + +endinput; diff --git a/fonts/t1-fraktur/fkl2rm10.tfm b/fonts/t1-fraktur/fkl2rm10.tfm Binary files differnew file mode 100644 index 0000000000..e4d1ec1a55 --- /dev/null +++ b/fonts/t1-fraktur/fkl2rm10.tfm diff --git a/fonts/t1-fraktur/fkl2sl10.mf b/fonts/t1-fraktur/fkl2sl10.mf new file mode 100644 index 0000000000..68d828086b --- /dev/null +++ b/fonts/t1-fraktur/fkl2sl10.mf @@ -0,0 +1,11 @@ +% yfrak transformed to ecfrak/t1frak by D. Taupin March 1994-2002 +% fkt1* transformed to fkl2* by V. Kurz 2002 +if unknown cmbase: input cmbase fi +input fkt1base; + +font_identifier:="csfraksl"; font_size 10pt#; +numeric dc_layout; dc_layout:=0; + +input fkt1sl.mf + +endinput; diff --git a/fonts/t1-fraktur/fkl2sl10.tfm b/fonts/t1-fraktur/fkl2sl10.tfm Binary files differnew file mode 100644 index 0000000000..93f9261837 --- /dev/null +++ b/fonts/t1-fraktur/fkl2sl10.tfm diff --git a/fonts/t1-fraktur/fkt1base.mf b/fonts/t1-fraktur/fkt1base.mf new file mode 100644 index 0000000000..0b27751de2 --- /dev/null +++ b/fonts/t1-fraktur/fkt1base.mf @@ -0,0 +1,262 @@ +def n_foot(suffix $) = +w':=7.806u; penpos$.1(hair,90); penpos$.2(hair,0); +penpos$.3(hair,-90); +y$.1=y$.3=0.5foot; y$.2=-apex_o; +x$.1=x$l-1/20w'; x$.3=x$r+1/20w'; +x$.2=x$; +filldraw z$.2r{dir75}..z$.3r{dir15}-- +z$.3l{dir165}..z$r{up}--z$l{down}.. +z$.1r{dir195}--z$.1l{dir-15}..z$.2l{dir-65} +--z$.2r & cycle; +enddef; + +def o_umlaut(suffix $) = +pickup pensquare yscaled 0.5hair xscaled 0.3[hair,stem] rotated 30; +z$.1=z$+(0,0.1x_height); +z$.2=z$.1+(stem,0.1x_height); +x$.3=x$.2; y$.3=y$.2+0.1x_height; +x$.4=x$.1; y$.4-y$.3=y$.2-y$.1; +x$.5+x$.3=2x$.4; y$.5=y$.3; +x$.6+x$.2=2x$.1; y$.6=y$.2; +draw z$.1--z$.2--z$.3--z$.4--z$.5--z$.6--z$.1; +penlabels(z$.1,z$.2,z$.3,z$.4,z$.5,z$.6); +enddef; + +def e_umlaut(suffix $) = +penpos$.1(2u,45); z$.1=z$; +pickup pensquare yscaled 0.5hair xscaled 0.3[hair,stem] rotated 30; +z$.2=z$.1r; z$.3=z$.1l; rt x$.4=rt x$.2; top y$.4=y$; +draw z$.3--z$.2..z$.3..z$.4; +enddef; + +def cap_e_umlaut(suffix $) = +penpos$.1(2u,45); z$.1=z$; +pickup pensquare yscaled 0.5hair xscaled 0.3[hair,stem] rotated 30; +z$.2=z$.1r; z$.3=z$.1l; rt x$.4=rt x$.2; top y$.4=y$; +draw z$.3--z$.2..z$.3..z$.4; +enddef; + +def pointpoint = +penpos1(0.23570*(x_height+2apex_o),45); +penpos2(0.23570*(x_height+2apex_o),45); +penpos3(0.23570*(x_height+2apex_o),45); +penpos4(0.23570*(x_height+2apex_o),45); +penpos5(0.23570*(x_height+2apex_o),45); +penpos6(0.23570*(x_height+2apex_o),45); +x1l=x3l=x5l=0.5w; +z2r=z3l; z4r=z5l; +z2-z1=whatever*dir135; +z4-z3=whatever*dir135; +z6-z5=whatever*dir135; +y1l=-apex_o; y6r=x_height+apex_o; +penstroke z1e--z2e; +enddef; + +def pointaccent(suffix $) = +penpos1(0.23570*(x_height+2apex_o),45); +penpos2(0.23570*(x_height+2apex_o),45); +penpos3(0.23570*(x_height+2apex_o),45); +penpos4(0.23570*(x_height+2apex_o),45); +penpos5(0.23570*(x_height+2apex_o),45); +penpos6(0.23570*(x_height+2apex_o),45); +x1l=x3l=x5l=x$; +z2r=z3l; z4r=z5l; +z2-z1=whatever*dir135; +z4-z3=whatever*dir135; +z6-z5=whatever*dir135; +y1l=-apex_o+y$+0.1x_height; y6r=1.1x_height+apex_o+y$; +penstroke z1e--z2e; +enddef; + +def old_e_umlaut(suffix $) = +numeric ww; +ww:=2u; penpos$.1(hair,147); +penpos$.2(1.5hair,90); penpos$.3(2.5hair,0); +penpos$.4(1.2hair,-90); +penpos$.5(hair,-147); +penpos$.6(hair,-57); penpos$.7(hair,-57); +z$.1=z$+(0.4ww,-0.2ww); +z$.2l=z$-(0.111ww,0.556ww); +z$.3l=z$-(0.5ww,apex_o); +z$.4l=(x$,y$+0.556ww); +z$.6-z$=whatever*dir33; x$.6r=x$+0.5ww; +z$.5l=z$.6l; z$.7=whatever[z$,z$.6]; +x$.7=x$.3; +penstroke z$.1e..z$.2e{left}..z$.3e{up} +..z$.4e{right}..z$.5e; +penstroke z$.7e--z$.6e +enddef; + +def umlaut (suffix $) = +y0=0; 0.5[x0,x0']=x$-2u; +z0'=z0+(2.5u,0); +penpos60(hair,145); +z60=(x0+stem,y$+0.090x_height); +z61=(x0+1.522stem,y$+0.387x_height); +z62=(x0+1.956stem,y$+0.324x_height); +z60'=(x0'+stem,y$+0.090x_height); +z61'=(x0'+1.522stem,y$+0.387x_height); +z62'=(x0'+1.956stem,y$+0.324x_height); +filldraw z60l{dir34}..z62{up}..z61{left} +..z60r{dir259}--z60l & cycle; +penpos60'(hair,145); +filldraw z60'l{dir34}..z62'{up}..z61'{left} +..z60'r{dir259}--z60'l & cycle +enddef; + +% hacek for d, t, l +% added by V. Kurz 2002 +def makcen (suffix $) = +y0=0; x0=x$; +penpos60(hair,145); +z60=(x0+stem,y$+0.090x_height); +z61=(x0+1.522stem,y$+0.387x_height); +z62=(x0+1.956stem,y$+0.324x_height); +filldraw z60l{dir34}..z62{up}..z61{left} +..z60r{dir259}--z60l & cycle; +enddef; + +def hat (suffix $) = +z60=(x$-2.5u,0.090x_height+y$); +z61=(x$+0.3u,0.387x_height+y$); +x62=x$-0.3u; y62=0.3333*(2y60+y61); +y60'=y60; x60'+x60=2x$; +filldraw z60--z61--z60'{left}..z62..{left}cycle; +enddef; + +def hungarum (suffix $) = +z60=(x$-2.5u-0.25stem,0.090x_height+y$); +z63=z60+(0.5stem,0); +z61=(x$,0.387x_height+y$); +z62=z61+(stem,0); +filldraw z60--z61--z62--z63--cycle; +filldraw z60--z61--z62--z63--cycle shifted (2.5u,0); +enddef; + +def ellbar (suffix $) = +z60=(x$,y$-0.5u); +z61=(x$+3.5u,0.5u+y$); +pickup pensquare scaled 2hair; +draw z60--z61; +enddef; + +def hacek (suffix $) = +z60=(x$-2.5u,0.387x_height+y$); +z61=(x$-0.3u,0.090x_height+y$); +x62=x$+0.3u; y62=0.3333*(2y60+y61); +y60'=y60; x60'+x60=2x$; +filldraw z60--z61--z60'{left}..z62..{left}cycle; +enddef; + +def breve (suffix $) = +z60=(x$-2.5u,0.387x_height+y$); +z61=(x$-0.3u,0.090x_height+y$); +x62=x$+0.3u; y62=0.3333*(2y60+y61); +y63=y60; x63+x60=2x$; +z60'=z60+(0,hair); +z63'=z63+(0,hair); +filldraw z60..{right}z61{right}..z63--z63'..{left}z62{left}..z60'--cycle; +enddef; + +def tilde (suffix $) = +z60=(x$-2.1u,0.090x_height+y$); +z61=(x$-u,0.387x_height+y$); +z62=(x$+u,0.090x_height+y$); +z63=(x$+2.1u,0.387x_height+y$); +pickup pensquare xscaled stem yscaled hair rotated 30; +draw z60...{right}z61..z62{right}...z63; +enddef; + +def cedilla (suffix $) = +pickup pensquare scaled hair; +z60=z$; +z61=z60+whatever*dir(ext_angle(-45)); +z63=z61+whatever*dir(ext_angle(60)); +x62+x61=2x$; y62=y$-0.30x_height; y61=y62 + 0.2*(y60-y62); +y63=y60 - 0.4*(y60-y62); +penpos60(hair,ext_angle(60)); +penpos61(stem,ext_angle(220)); +penpos62(stem,ext_angle(220)); +penpos63(2hair,0); +%penstroke z60e{dir(ext_angle(-20))}..{dir(ext_angle(30))}z61e..{dir(ext_angle(180-20))}z62e; +penstroke z62e{dir(ext_angle(-20))}..{dir(ext_angle(45))}z61e{dir(ext_angle(45))}..z63e...z60e; +enddef; + +def cedilla (suffix $) = +pickup pensquare scaled hair; +z60=z$; +z61=z60+whatever*dir(ext_angle(-40)); +z62=z60+whatever*dir(ext_angle(-70)); +z63=z60+whatever*dir(ext_angle(-120)); +y62=y$-0.30x_height; +y63=y62+0.35stem; +y61=0.5*(y60+y62); +penpos63(stem,ext_angle(50)); +penpos62(stem,ext_angle(50)); +penpos61(0.5stem,ext_angle(50)); +penpos60(hair,ext_angle(50)); +%penstroke z60e{dir(ext_angle(-20))}..{dir(ext_angle(30))}z61e..{dir(ext_angle(180-20))}z62e; +%penstroke z62e{dir(ext_angle(-20))}..{dir(ext_angle(45))}z61e{dir(ext_angle(45))}..z63e...z60e; +penstroke z63e{right}..z62e; +% penstroke z60e{right}..{left}z61e; +penstroke z60e..{right}z61e; +pickup pensquare scaled hair rotated ext_angle(50); +draw z62l--z61r; +enddef; + +def ogonek (suffix $) = +pickup pensquare scaled hair; +z60=z$; +z61=z60+whatever*dir(ext_angle(180+40)); +x62=x$; y62=y$-0.30x_height; y61=y62 + 0.2*(y60-y62); +penpos60(hair,ext_angle(30)); +penpos61(stem,ext_angle(220)); +penpos62(stem,ext_angle(220)); +penstroke z60e{dir(ext_angle(180+20))}..z61e..{dir(ext_angle(20))}z62e; +enddef; + +def acute (suffix $) = +y0=0; 0.5[x0,x0']=x$-2u; +z0'=z0+(2.5u,0); +penpos60(hair,145); +z60=(x0+stem,y$+0.090x_height); +z61=(x0+1.522stem,y$+0.387x_height); +z62=(x0+1.956stem,y$+0.324x_height); +z60'=(x0'+stem,y$+0.090x_height); +z61'=(x0'+1.522stem,y$+0.387x_height); +z62'=(x0'+1.956stem,y$+0.324x_height); +penpos60'(hair,145); +filldraw z60l{dir34}..z62'{up}..z61'{left} +..z60r{dir259}--z60l & cycle +enddef; + +def grave (suffix $) = +y0=0; 0.5[x0,x0']=x$-2u; +z0'=z0+(2.5u,0); +penpos60(hair,145); +z60=(x0+stem,y$+0.090x_height); +z61=(x0+1.522stem,y$+0.387x_height); +z62=(x0+1.956stem,y$+0.324x_height); +z60'=(x0'+stem,y$+0.090x_height); +z61'=(x0'+1.522stem,y$+0.387x_height); +z62'=(x0'+1.956stem,y$+0.324x_height); +penpos60'(hair,145); +filldraw (z60l{dir34}..z62'{up}..z61'{left} +..z60r{dir259}--z60l & cycle) reflectedabout ((x$,x_height),(x$,0)); +enddef; + +def cap_grave (suffix $) = +y0=0; 0.5[x0,x0']=x$-2u; +z0'=z0+(2.5u,0); +penpos60(hair,145); +z60=(x0+stem,1.090x_height-x_height+y$); +z61=(x0+1.522stem,1.387x_height-x_height+y$); +z62=(x0+1.956stem,1.324x_height-x_height+y$); +z60'=(x0'+stem,1.090x_height-x_height+y$); +z61'=(x0'+1.522stem,1.387x_height-x_height+y$); +z62'=(x0'+1.956stem,1.324x_height-x_height+y$); +filldraw (z60l{dir34}..z62'{up}..z61'{left} +..z60r{dir259}--z60l & cycle) reflectedabout ((x$,x_height),(x$,0)); +enddef; + +picture last_char; diff --git a/fonts/t1-fraktur/fkt1bl.mf b/fonts/t1-fraktur/fkt1bl.mf new file mode 100644 index 0000000000..e69ab498b8 --- /dev/null +++ b/fonts/t1-fraktur/fkt1bl.mf @@ -0,0 +1,105 @@ +u#:=20/36pt#; % unit width +lower_u#:=20/36pt#; +bold_frak:=1; bold_ratio := 1.4; + +u#:= bold_ratio*u#; +lower_u#:= bold_ratio*lower_u#; +u:=bold_ratio*u; + +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#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=167/36pt#; % height of lowercase without ascenders +%x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=7/36pt#; % lowercase hairline breadth +%hair#:=9/36pt#; % lowercase hairline breadth +%stem#:=25/36pt#; % lowercase stem breadth +stem#:=bold_ratio*24/36pt#; % lowercase stem breadth +curve#:=30/36pt#; % lowercase curve breadth +ess#:=bold_ratio*27/36pt#; % breadth in middle of lowercase s +flare#:=33/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +%cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_hair#:=8/36pt#; +cap_amount#:=8/36pt#; +%cap_stem#:=32/36pt#; % uppercase stem breadth +cap_stem#:=bold_ratio*32/36pt#; +cap_curve#:=bold_ratio*37/36pt#; % uppercase curve breadth +cap_ess#:=35/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#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/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#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/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#:=8/36pt#; % amount of overshoot for curves +apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions + +slant:=0.15; % 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:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +numeric usual_right, usual_left; +usual_right#:=0.5u#; +usual_left#:=0.3u#; + +granularity:=1.01; +%aspect_ratio:=2/3aspect_ratio; + +mode_setup; +font_setup; +cap_amount:=8/36pt; +foot:=0.207x_height; +num_height:=1.242x_height; +cap_kern:=4/36pt; +boolean ligature; ligature:=false; +numeric alpha; alpha:=0; +numeric coef, gencoef; gencoef:=1; + +input fkt1gen.mf + +end. + +endinput; + + diff --git a/fonts/t1-fraktur/fkt1bl10.mf b/fonts/t1-fraktur/fkt1bl10.mf new file mode 100644 index 0000000000..9feefb619f --- /dev/null +++ b/fonts/t1-fraktur/fkt1bl10.mf @@ -0,0 +1,10 @@ +% yfrak transformed to ecfrak/fkt1bl by D. Taupin March 1994-2002 +if unknown cmbase: input cmbase fi +input fkt1base; + +font_identifier:="ecfrakbl"; font_size 10pt#; +numeric dc_layout; dc_layout:=1; + +input fkt1bl.mf + +endinput; diff --git a/fonts/t1-fraktur/fkt1bl10.tfm b/fonts/t1-fraktur/fkt1bl10.tfm Binary files differnew file mode 100644 index 0000000000..ae5a02aa31 --- /dev/null +++ b/fonts/t1-fraktur/fkt1bl10.tfm diff --git a/fonts/t1-fraktur/fkt1bx.mf b/fonts/t1-fraktur/fkt1bx.mf new file mode 100644 index 0000000000..e69da05253 --- /dev/null +++ b/fonts/t1-fraktur/fkt1bx.mf @@ -0,0 +1,105 @@ +u#:=20/36pt#; % unit width +lower_u#:=20/36pt#; +bold_frak:=1; bold_ratio := 1.4; + +u#:= bold_ratio*u#; +lower_u#:= bold_ratio*lower_u#; +u:=bold_ratio*u; + +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#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=167/36pt#; % height of lowercase without ascenders +%x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=7/36pt#; % lowercase hairline breadth +%hair#:=9/36pt#; % lowercase hairline breadth +%stem#:=25/36pt#; % lowercase stem breadth +stem#:=bold_ratio*24/36pt#; % lowercase stem breadth +curve#:=30/36pt#; % lowercase curve breadth +ess#:=bold_ratio*27/36pt#; % breadth in middle of lowercase s +flare#:=33/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +%cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_hair#:=8/36pt#; +cap_amount#:=8/36pt#; +%cap_stem#:=32/36pt#; % uppercase stem breadth +cap_stem#:=bold_ratio*32/36pt#; +cap_curve#:=bold_ratio*37/36pt#; % uppercase curve breadth +cap_ess#:=35/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#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/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#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/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#:=8/36pt#; % amount of overshoot for curves +apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % 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:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +numeric usual_right, usual_left; +usual_right#:=0.5u#; +usual_left#:=0.3u#; + +granularity:=1.01; +%aspect_ratio:=2/3aspect_ratio; + +mode_setup; +font_setup; +cap_amount:=8/36pt; +foot:=0.207x_height; +num_height:=1.242x_height; +cap_kern:=4/36pt; +boolean ligature; ligature:=false; +numeric alpha; alpha:=0; +numeric coef, gencoef; gencoef:=1; + +input fkt1gen.mf + +end. + +endinput; + + diff --git a/fonts/t1-fraktur/fkt1bx10.mf b/fonts/t1-fraktur/fkt1bx10.mf new file mode 100644 index 0000000000..bdafe8d8e9 --- /dev/null +++ b/fonts/t1-fraktur/fkt1bx10.mf @@ -0,0 +1,10 @@ +% yfrak transformed to ecfrak/fkt1bx by D. Taupin March 1994-2002 +if unknown cmbase: input cmbase fi +input fkt1base; + +font_identifier:="ecfrakbx"; font_size 10pt#; +numeric dc_layout; dc_layout:=1; + +input fkt1bx.mf + +endinput; diff --git a/fonts/t1-fraktur/fkt1bx10.tfm b/fonts/t1-fraktur/fkt1bx10.tfm Binary files differnew file mode 100644 index 0000000000..3d2a1eadd6 --- /dev/null +++ b/fonts/t1-fraktur/fkt1bx10.tfm diff --git a/fonts/t1-fraktur/fkt1gen.mf b/fonts/t1-fraktur/fkt1gen.mf new file mode 100644 index 0000000000..b37856eb73 --- /dev/null +++ b/fonts/t1-fraktur/fkt1gen.mf @@ -0,0 +1,108 @@ +% ecfrakge.mf General file, shape/series independent for all ecfrak fonts + +% The positions of characters depending on cm or dc layouts + +if dc_layout>0: + ae_ligature:=oct"346"; + Ae_ligature:=oct"306"; + ft_ligature:=oct"030"; + ff_ligature:=oct"033"; + ss_ligature:=oct"034"; + st_ligature:=oct"035"; + sf_ligature:=oct"036"; + tz_ligature:=oct"037"; + ch_ligature:=oct"027"; + ck_ligature:=oct"275"; + a_old:=oct"016"; + e_old:=oct"017"; + o_old:=oct"023"; + u_old:=oct"024"; + s_final:=oct"276"; + en_dash:=oct"025"; + em_dash:=oct"026"; + eszet:=oct"377"; + open_gaens:=oct"022"; + close_gaens:=oct"020"; +else: + ae_ligature:=oct"032"; + Ae_ligature:=oct"035"; + ft_ligature:=oct"005"; + ff_ligature:=oct"013"; + ss_ligature:=oct"014"; + st_ligature:=oct"015"; + sf_ligature:=oct"016"; + tz_ligature:=oct"017"; + ch_ligature:=oct"012"; + ck_ligature:=oct"011"; + a_old:=oct"000"; + e_old:=oct"001"; + o_old:=oct"002"; + u_old:=oct"003"; + s_final:=oct"010"; + en_dash:=oct"173"; + em_dash:=oct"174"; + eszet:=oct"031"; + open_gaens:=oct"134"; + close_gaens:=oct"042"; +fi; + +def ext_angle(expr arg_angle) = angle(dir(arg_angle) xscaled bold_ratio) enddef; +def ext_dir(expr arg_angle) = dir(ext_angle(arg_angle)) enddef; + +%if proofing>1: generate ycurrent; fi % switch to the driver file% + +generate fkt1mis; % -sl 15-3-1991 / 24-3-1994 DT + +generate fkt1low; % -sl 15-3-1991 / 25-3-94 DT + +generate fkt1upp; % -sl 15-3-1991 / 24-3-1994 DT / 5-6-2000 CT + +generate fkt1num; + +generate fkt1oth; % -sl 15-3-1991 / 24-3-1994 DT + +font_slant slant; font_x_height x_height#; +font_normal_space 6u#+2letter_fit#; +font_normal_stretch 3u#; font_normal_shrink 2u#; +font_quad 18u#+4letter_fit#; +font_extra_space 2u#; + +ligtable "c": "h"=:ch_ligature, + "k"=:ck_ligature; +ligtable "f": "t"=:ft_ligature, + "f"=:ff_ligature; +ligtable "t": "z"=:tz_ligature; +ligtable oct"042": "a"=:oct"344", + "e"=:oct"353", + "o"=:oct"366", + "u"=:oct"374", + "s"=:eszet; +ligtable "*": "a"=:a_old, + "e"=:e_old, + "o"=:o_old, + "u"=:u_old, + "J"=:"$"; +ligtable "`": "`"=:open_gaens; +ligtable "'": "'"=:close_gaens; +ligtable "-": "-"=:en_dash; +ligtable en_dash: "-"=:em_dash; +ligtable "s": "z"=:eszet, + "s"=:ss_ligature, + "t"=:st_ligature, + "f"=:sf_ligature, + ":"=:s_final, + "|"=:s_final, +ss_ligature: "b" kern 1.03u#, + "d" kern 1.03u#, + "h" kern 1.03u#, + "k" kern 1.03u#, + "l" kern 1.03u#, + "i" kern 0.4u#, + "j" kern 0.4u#, + ":"|=:s_final, + "|"|=:s_final, + s_final=:|>"s"; +end. + +endinput; + diff --git a/fonts/t1-fraktur/fkt1low.mf b/fonts/t1-fraktur/fkt1low.mf new file mode 100644 index 0000000000..db724fd96a --- /dev/null +++ b/fonts/t1-fraktur/fkt1low.mf @@ -0,0 +1,898 @@ +picture small_letter_e; +picture small_letter_a; +picture small_letter_i; +picture small_letter_j; + +numeric nombre; nombre:= 5gencoef[1,1.155556]; + +numeric test_angle; text_angle := ext_angle(45); + +.cmchar "The Fraktur letter a"; +.beginchar("a",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +penpos1(stem,0); penpos2(stem,0); penpos3(gencoef[hair,2hair],-51); +penpos4(hair,-52); penpos5(hair,-52); penpos6(whatever,angle((w,0.35h))); +penpos8(whatever,0); penpos9(hair,gencoef[-30,-50]); penpos11(whatever,0); +penpos12(whatever,-90); penpos11''(hair,-30); +z1=(gencoef[0.7w,0.779w],gencoef[0.345h,0.24h]); +z2=(x1,gencoef[0.807h,0.74h]); z3r=(gencoef[0.911w,w],gencoef[0.925h,0.829h]); +z4l=(gencoef[x2l,0.452w],h+apex_o); z5=whatever[(0,gencoef[0.74h,0.685h]),z4]; +x5l=gencoef[1/3w,0.288w]; z6l=(0,gencoef[0.462h,0.342h]); x6r=1.083stem; +z9=(gencoef[0.694w,0.764w],y1); z8l=whatever[z9l,(w,gencoef[0.623h,0.404h])]; +y8=-apex_o; z9r-z8r=whatever*(z9l-z8l); z8'=whatever[z8l,z9l]; y8'=y8+apex_o; +z10=whatever[z8l,z9l]; y10=0.228h; +z7=(gencoef[0.439w,0.481w],gencoef[0.203h,0.171h]); +z11''r=(gencoef[0.78w,0.814w],-apex_o); +z12r-z11''r=whatever*((gencoef[x9l,0.6w],y9l)-z8l); +z12l-z11''l=whatever*((gencoef[x9l,0.6w],y9l)-z8l); x12=w; z11r=z11''r; +z12l-z11l=whatever*((gencoef[x9l,0.6w],y9l)-z8l); z11'=whatever[z11l,z12l]; +y11'=y11+apex_o; z12'=whatever[z11l,z12l]; y12'=gencoef[0.217h,y7]; +penpos2'(stem,0); z2'=(x2,gencoef[y2,0.651h]); +filldraw z11'..z1l{up}--z2l--z5r-- z4l{0.7[z2l,z3r]-z4l}..z3l--z3r.. +z2'r{down}---z1r...z12'--z12l--z12r --z11r--z11l--z11' & cycle; penstroke +z6e{up}...z5e---z4e; penstroke z8e--z9e; filldraw z8'..z6l{up}--z6r{down} +..z7..z10{z9-z8} & z10--z8' & cycle; +small_letter_a:=currentpicture; +.endchar; + +nombre:= 4.722gencoef[1,1.129412]; + +.cmchar "The Fraktur letter b"; +.beginchar("b",nombre*lower_u#,1.376x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); penpos2(stem,0); +z1=(gencoef[0.241w,0.208w],gencoef[foot,0.322x_height]); z2=(x1,x_height); +z3=(1/4[x2l,x2r],x_height+gencoef[foot,0.9foot]); z3'=(x2r,gencoef[y3,y2r]); +z3''=(x2l,gencoef[0.633(y3-y2)+y2,y2l]); penpos4(gencoef[hair,2hair],74); +z4=(gencoef[0.5x2l,0],gencoef[1.259x_height,1.205x_height]); +penpos5(gencoef[hair,1.5hair],-90); z5l=(x2r+gencoef[0.875stem,0.396w],h); +penstroke z1e--z2e; filldraw z2l--z3''{up}..z4l--z4r-- +z3{dir(ext_angle(45))}..z5l{right}--z5r{left} ...z3'{down}--z2r--z2l & cycle; +penpos5'(gencoef[hair,1.5hair],gencoef[-40,-90]); +z5'l=(0,gencoef[0.097x_height,0.219x_height]); penpos6(hair,gencoef[-42,-30]); +penpos7(hair,gencoef[-42,-30]); z6r=(gencoef[0.441w,0.521w],-apex_o); +z7-z6=whatever*((w,gencoef[0.36x_height,0.479x_height])-z6); +x7=gencoef[0.653w,0.698w]; z6'=whatever[z6,z7]; y6'=gencoef[y6l+apex_o,y6l]; +penpos8(1.167stem,42); z8r=(w,gencoef[0.545x_height,0.664x_height]); +penpos11(hair,gencoef[-42,-61]); penpos10(hair,gencoef[-42,-61]); +z10l=(gencoef[x8l,0.729w],x_height+apex_o); +z10-z11=whatever*(z7-z6-(0,gencoef[0,0.1x_height])); x11=x1; +penpos9(5/4stem,angle(z10-z11)); z9=whatever[z11l,z10l]; +y9r=y10l+gencoef[-apex_o,0]; penstroke z11e--z10e; penstroke +z6e---z7e...z8e{up}.. z9e; filldraw z5'l..z1l{up}--z1r--z7l-- +z6'{ext_dir(138)}..z5'r--z5'l & cycle; .endchar; + +nombre:= 3.639gencoef[1,1.145038]; + +.cmchar "The Fraktur letter c"; +.beginchar("c",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(gencoef[hair,1.5hair],gencoef[-30,-48]); penpos2(gencoef[hair,1.5hair], +gencoef[-30,-48]); +z2-z1=whatever*((w,gencoef[0.78h,0.5h])); +z1r=(gencoef[0.565w,0.586667w],-apex_o); x2r=w; z1'=whatever[z1,z2]; +y1'=gencoef[y1l+apex_o,y1r]; x1':=gencoef[x1',x1r]; z3=whatever[z1l,z2l]; +x3=gencoef[0.809w,x2l]; z4=(gencoef[2/3w,0.64w],0.176h); +penpos5(1.083stem,angle((w,gencoef[0.4h,0.452h]))); +z5=(gencoef[0.26w,0.226667w],0.214h); penpos6(stem,0); z6l=(0,0.5h); +penpos9(gencoef[hair,1.5hair],gencoef[-68,-22]); +penpos8(gencoef[hair,1.5hair],gencoef[-68,-22]); +penpos8.5(gencoef[hair,1.5hair],gencoef[-68,-22]); +z9l=(gencoef[0.832w,0.546667w],h+apex_o); +z9-z8=whatever*((w,gencoef[0.25h,0.404h])); x8l=gencoef[0.458w,0.2666w]; +z7=whatever[z8l,z9l]; x7=gencoef[0.145w,x8l]; +penpos10(gencoef[stem,1.3stem],angle((w,gencoef[0.25h,0.883562h]))); +z10r=whatever[z9l,z9r]; x10r=w+gencoef[0,apex_o]; z10l-z8.5=whatever*(z10r-z9); +z8.5=whatever[z8,z9]; penstroke z1e--z2e; filldraw z1'..z5l..z6l{up}--z6r{down} +..z5r..z4..z3{z2-z1}--z2l--z2r--z1' & cycle; filldraw z6l{up}..z7 & +z7--z9l--z10r-- z10l--z8.5r & z8.5r{z8-z9}..(x6r,0.738h)..z6r{down}-- z6l & +cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter c cedilla"; +.beginchar(oct"347",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.4*w+0.4u,0); cedilla(100); +endchar; + +.cmchar "The Fraktur letter c hacek"; +if (dc_layout>0): xchar_code:=oct"243"; + else: xchar_code:=oct"350"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5*w,x_height); hacek(100); +endchar; + +.cmchar "The Fraktur letter c acute"; +if (dc_layout>0): xchar_code:=oct"242"; + else: xchar_code:=oct"346"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +.endchar; + +nombre:= 4.944gencoef[1,1.073034]; + +.cmchar "The Fraktur letter d"; +.beginchar("d",nombre*lower_u#,gencoef[1.269x_height#,1.37x_height#],0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); penpos2(stem,0); +z1=(gencoef[0.227w,0.2094w],gencoef[foot,0.274x_height]); z1'=(x1r,foot); +z2=(x1,gencoef[0.817x_height,0.795x_height]); penpos4(hair,-90); +z4=(gencoef[0.5x1l,0],gencoef[0.11x_height,0.188x_height]); penpos5(hair,-38); +z5r=(gencoef[x1r+0.7stem,0.6073w],-apex_o); +penpos6(whatever,gencoef[-18,-38]); +z6l-z5l=whatever*((w,gencoef[0.356x_height,x_height])); +z6r-z5r=whatever*((w,gencoef[0.356x_height,x_height])); +z6-z1'=whatever*((w,gencoef[-0.2x_height,-0.1x_height])); +penpos7(gencoef[1.271stem,0.65stem],gencoef[50,39]); z7r=(w,0.579x_height); +penpos8(stem,angle((w,1.04h))); z8=(gencoef[0.545w,0.52w],0.959x_height); +penpos9(gencoef[0.946stem,0.8stem],25); +z9l=(gencoef[0,-2apex_o],gencoef[1.093x_height,1.178x_height]); +z10=(gencoef[0.303w,0.209w],h); penpos11(hair,-90); +z11l=gencoef[(0.416w,h-apex_o),z10]; penpos3(hair,-57); +z3=z8; +%z3l-z2l=whatever*((w,gencoef[0.39x_height,0.198x_height])); +%y3l=x_height-gencoef[2apex_o,0.075x_height]; +%y3l=x_height-2apex_o; +penstroke z1e--z2e; penstroke +z5e---z6e...z7e{up}..z8e ..z9e{up}; filldraw z2l--z3l--z3r{z2l-z3l}.. +z2r{down}--z2l & cycle; filldraw z4r..{z5r-z5l}z5r--z6--z1'--z1r-- +z1l{down}..z4l--z4r & cycle; filldraw z9l{up}..z10{right}..z11l +--z11r{left}..z9r{down}--z9l & cycle; +last_char:=currentpicture; .endchar; + +.cmchar "The Fraktur letter d (\eth)"; +.beginchar(oct"360",nombre*lower_u#,gencoef[1.269x_height#,1.37x_height#],0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; z100=(0,1.15x_height); ellbar(100); +.endchar; + +.cmchar "The Fraktur letter d with bar"; +if (dc_layout>0): + .beginchar(oct"236",nombre*lower_u#,gencoef[1.269x_height#,1.37x_height#],0); + .adjust_fit(usual_left#,usual_right#); + currentpicture:=last_char; z100=(0,1.15x_height); ellbar(100); + .endchar; +fi; + +% added by V. Kurz 2002 +.cmchar "The Fraktur letter d with hacek"; +if (dc_layout>0): xchar_code:=oct"244"; + else: xchar_code:=oct"357"; + fi; +.beginchar(xchar_code,nombre*lower_u#,gencoef[1.269x_height#,1.37x_height#],0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; z100=(0.1w,1.1x_height); makcen(100); +.endchar; + +nombre:= 3.65gencoef[1,1.230769]; + +.cmchar "The Fraktur letter e"; +.beginchar("e",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); z1l=(0,0.486h); +penpos7(gencoef[hair,1.2hair],gencoef[-45,-56]); +penpos8(gencoef[hair,1.2hair],gencoef[-45,-56]); +z8-z7=whatever*((w,gencoef[0.45h,0.356h])); x8r=gencoef[w,0.9w]; +x7r=gencoef[x1r,0.4125w]; y7r=-apex_o; z7'=whatever[z7,z8]; +y7'=gencoef[y7l,y7r]; x7':=gencoef[x7',x7r]; z9=whatever[z7l,z8l]; +x9=gencoef[0.8w,x8l]; z2=(gencoef[0.092w,0.07475w],0.828h); +penpos3(gencoef[hair,1.2hair],-69); penpos4(gencoef[hair,1.2hair],-69); +y3l=h+apex_o; penpos6(gencoef[hair,1.2hair],-69); z6r=(x1r,0.5h); +z3l-z2=whatever*((w,gencoef[0.3h,0.25h])); x4r=w-gencoef[apex_o,0]; +z4-z6=whatever*((w,gencoef[0.3h,0.226h])); penpos5(1.083stem,angle(z4-z6)); +z5r=z4r; z5'=whatever[z2,z3l]; z5'-z5l=whatever*(z3-z4); penstroke z6e--z4e; +filldraw z5l--z5'--z3l--z4r--z5l & cycle; penpos2'(gencoef[hair,1.2hair],-69); +z3-z2'=whatever*(z4-z6); x2'r=gencoef[x1r,0.5w]; +z10=whatever[(0,0),(w,gencoef[0.301h,0.363h])]; y10=0.193h; penstroke z2'e--z3e; +filldraw z7'{ext_dir(135)}..z1l{up}..z2 & +z2..z2'l{z4-z6}--z2'r{gencoef[down,z6-z4]}..{down}z1r..z10 +..z9{z8-z7}--z8l-- z8r--z7' & cycle; penstroke z7e--z8e; +small_letter_e:=currentpicture; +.endchar; + +.cmchar "The Fraktur ligature ae"; +.beginchar(ae_ligature,2*nombre*lower_u#,x_height#,0); +%.adjust_fit(usual_left#,usual_right#); +currentpicture:=small_letter_a; +addto currentpicture also small_letter_e shifted (4u,0); +.endchar; + +.cmchar "The Fraktur letter f"; +.beginchar("f",4.539lower_u#,1.366x_height#,3.167lower_u#); +.adjust_fit(0,0.05alpha*w#+usual_right#-0.85u#); +w':=w; penpos1.1(hair,0); z1.1=(0.318w',-d); penpos1.2(1.313stem,0); z1.2=(x1.1,0.795x_height); +penpos1.4(3/4stem,-90); z1.4r=(0.857w',y1.2); z1.3=(0,y1.2); z1.12=whatever[z1.1l,z1.2l]; +z1.13=whatever[z1.1r,z1.2r]; y1.12=y1.13=0.512x_height; z1.12'=z1.12-(0.5apex_o,0); +z1.13'=z1.13+(0.5apex_o,0); z1.35=whatever[z1.12,z1.2l]; y1.35=y1.4; penpos1.5(0.917stem,0); +z1.5=(x1.1,y1.4l); penpos1.6(hair,-68); z1.6-z1.5r=whatever*ext_dir(112); z1.6l-z1.5l=whatever*dir72; +penpos1.7(hair,0); z1.7l=z1.5l; penpos1.9(hair,-22); penpos1.11(hair,-22); +z1.11r=(w',1.321x_height); z1.11-z1.9=whatever*dir68; x1.9=0.831w'; penpos1.8(whatever,68); +z1.8l=z1.9l; y1.8r=y1.11r; z1.14=(0.673w',1.366x_height); filldraw z1.1r..z1.13'..z1.2r... +z1.5r---z1.6l & z1.6l--z1.35--z1.2l.. z1.12'..z1.1l--z1.1r & cycle; filldraw +z1.3..z1.6{z1.6-z1.5l}--z1.2l--z1.3 & cycle; filldraw z1.6l{dir72}..z1.14{right}.. +z1.8r{dir-22}--z1.8l{ext_dir(158)}.. z1.6r{z1.5l-z1.6}--z1.6l & cycle; penstroke z1.9e--z1.11e; filldraw +z1.5--z1.4l--z1.4r--z1.2--z1.5 & cycle; +.endchar; + +nombre:= 5.611gencoef[1,1.168317]; + +.cmchar "The Fraktur letter g"; +.beginchar("g",nombre*lower_u#,x_height#,gencoef[2.389lower_u#,3.4446lower_u#]); +.adjust_fit(usual_left#-gencoef[0.315u#,0.3u#],usual_right#); +penpos1(hair,gencoef[0,30]); penpos2(gencoef[hair,1.2hair],gencoef[90,110]); +z1l=(gencoef[0,0.1w],gencoef[0.059h,-0.532d]); z2l=(gencoef[0.426w,0.568w],-d); +z3=gencoef[(0.743w,0),(0.78w,-0.42d)]; +z4=(w-gencoef[apex_o,0],gencoef[0.107h,-0.161d]); penpos5(whatever,0); +z5=gencoef[(0.733w,0.455h),(0.763w,0.199h)]; x5r=gencoef[0.8627w,0.86w]; +penpos6(hair,gencoef[-57,-20]); z6r=(gencoef[w,0.932w],0.845h); +penpos7(4/3stem,gencoef[46,50]); z7r=gencoef[(0.673w,h+apex_o),(0.466w,h)]; +penpos8(hair,gencoef[-24,angle(z6-z7r)]); z8l=z7l; z8'=whatever[z8l,z8r]; +x8'=gencoef[0.688w,0.67w]; penpos9(gencoef[1.292stem,1.1stem],36); +z9=(gencoef[0.228w,0.186441w],0.462h); penpos10(gencoef[hair,1.25hair],-50); +z10r=gencoef[(0.277w,-0.239d),(0.339w,0)]; penpos11(gencoef[hair,1.25hair],-50); +z11-z10=whatever*dir(gencoef[40,32]); x11=gencoef[0.8w,0.763w]; +z13=whatever[z10l,z11l]; x13=gencoef[0.488w,0.466w]; penstroke +z2e{left}..z1e{gencoef[up,ext_dir(135)]}; filldraw z2l{right}..z4 & flex(z4,z5r,z6r) & +z6r--z6l{left}.. {z6l-z6r}z7r---z7l...z9l{down}..z10r--z13 & +z13..z9r{up}..z8r{z7r-z7l} & z8r--z8' & z8'..z5l{down} +..z3{down}..z2r{left}--z2l & cycle; penstroke z10e--z11e; +last_char:=currentpicture; + .endchar; + +.cmchar "The Fraktur letter g with breve"; +if (dc_layout>0): +.beginchar(oct"247",nombre*lower_u#,x_height#,gencoef[2.389lower_u#,3.4446lower_u#]); +.adjust_fit(usual_left#-gencoef[0.315u#,0.3u#],usual_right#); +currentpicture:=last_char; z100=(0.5w,x_height); breve(100); +.endchar; +fi; + +.cmchar "The Fraktur letter h"; +.beginchar("h",5.472lower_u#,1.376x_height#,2.556lower_u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +w':=0.863w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); +z2=(x1,x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); +z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); z4=(0.5x2l,1.259x_height); +penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e; filldraw +z2l---z3''...z4l--z4r-- z3{dir(ext_angle(45))}..z5l{right}--z5r{left} ...z3'---z2r--z2l & +cycle; penpos5'(hair,-40); z5'l=(0,0.097x_height); penpos6(hair,-37); +penpos7(hair,-37); y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=0.6w; +z6'=whatever[z6,z7]; y6'=y6l+apex_o; penpos8(1.292stem,39); +z8r=(w,0.478x_height); penpos11(hair,-50); penpos10(hair,-50); x10r=x8l; +y10l=x_height+apex_o; z10-z11=whatever*((w,0.559x_height)); x11=x1; +penpos9(1.229stem,angle((w,0.559x_height))); z9=whatever[z11,z10]; +y9r=y10r-apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke +z11e--z10e; penstroke z6e---z7e; penpos7'(1.2hair,-40); z7'r=(0.426w,-d); +penstroke z7'e{dir50}...z8e{up}.. z9e; filldraw z5'l..z1l{up}--z1r-- z15--z7l-- +z6'{ext_dir(138)}..z5'r--z5'l & cycle; .endchar; + +.cmchar "The Fraktur letter i"; +.beginchar("i",2.889lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(hair,ext_angle(-44)); +penpos2(hair,ext_angle(-44)); +penpos3(hair,ext_angle(-44)); z1l=(0,0.834h); +z2-z1=whatever*((w,0.37h)); y2l=h+apex_o; z3=whatever[z2l,z2r]; x3r=x5r+0.5stem; +z4=(0.606w,0.931h); +penpos5(stem,0); z5=(0.433w,0.759h); z6=(x5,0.238h); +penpos6(stem,0); +z7=(x6l,0.079h); z8-z7=whatever*dir(ext_angle(-40)); y8=-apex_o; +penpos9(hair,ext_angle(-38)); +z9r-z8=whatever*dir52; x9r=w; z10=(0.788w,0.152h); +z5'=whatever[z1,z2]; x5'=x5l; penstroke z5e--z6e; penstroke z1e--z2e; filldraw +z5r{up}..z3r--z2--z5'--z5l{down} --z5r & cycle; filldraw z8--z9r--z9l{z8-z9r} +..z6r{up}--z6l{down}..{z8-z7}z8 & cycle; penpos11(hair,0); z11r=(x2l,1.076h); +z12=(0.56w,1.279h); z13=(0.73w,1.238h); filldraw z11l{up}..z12{right}.. +z13{down}..{z1-z2}z11r--z11l & cycle; +small_letter_i:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter j"; +.beginchar("j",2.944lower_u#,x_height#,1.611lower_u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(hair,47); penpos2(1.3hair,-90); z2r=(0.16w,-d); penpos5(stem,0); +z5=(0.523w,0.124h); penpos3(2/3stem,0); z3l=(x5l,0.048h); penpos6(stem,0); +z6=(x5,0.824h); penpos7(hair,-90); z7=(0.906w,0.91h); penpos8(hair,-48); +penpos9(hair,-48); z8l=(0.481w,h+apex_o); z8-z9=whatever*((w,0.3448h)); x9l=0; +z9'=whatever[z9r,z8r]; y9'=y9l+apex_o; z1r=(x5r+0.5stem,-0.207d);penstroke +z2e..z3e{up}; penstroke z5e--z6e; filldraw z1r{ext_dir(137)}..z5r{up}--z5l +--z3l--z3r..z1l{dir-43}--z1r & cycle; filldraw z6r{up}..z7r{right}--z7l... +z8r---z8l--z9l--z9r--z9'.. z6l{down}--z6r & cycle; penpos11(hair,0); +z11r=(x8l,1.076h); z12=(0.571w,1.279h); z13=(0.744w,1.238h); filldraw +z11l{up}..z12{right}..z13{down} ..{z9-z8}z11r--z11l & cycle; +last_char:=currentpicture; +small_letter_j:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter ij"; +if (dc_layout>0): +.beginchar(oct"274",5.5lower_u#,x_height#,1.611lower_u#); +%.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=small_letter_i; +addto currentpicture also last_char shifted (5.5u-2.944u,0); +.endchar; +fi; + +.cmchar "The Fraktur letter k"; +.beginchar("k",3.861lower_u#,1.366x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +w':=1.223w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); +z2=(x1,x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); +z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); z4=(0.5x2l,1.259x_height); +penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e; +penpos5''(hair,-90); z5''=z5+(hair,-eps); filldraw z2l---z3''...z4l--z4r-- +z3{dir(ext_angle(45))}..z5l{right}..z5''l--z5''r..z5r{left} ...z3'---z2r--z2l & cycle; +penpos5'(hair,-40); z5'l=(0,0.097x_height); penpos6(hair,-37); penpos7(hair,-37); +y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=0.8w; z6'=whatever[z6,z7]; +y6'=y6l+apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke +z6e---z7e; filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l & +cycle; penpos1.4(3/4stem,-90); z1.4=(0.928w,.859x_height); z1.3=(0,y1.4r); +z1.35=(x2l,y1.4l); filldraw z1.3--z1.35--z1.4l--z1.4r-- z1.3 & cycle; +penpos1.5(hair,0); z1.5=0.219[z1.4l,(x2r,y1.4l)]; penpos1.6(hair,-43); +z1.6r=(x2r,0.283[y1.4l,y5l]); penpos1.7(stem,57); z1.7r-z1.6l=whatever*dir47; +x1.7r=0.636[x2r,x1.4]; penpos1.6'(hair,-43); z1.6'l=z1.7r; penpos1.8(stem,60); +z1.8r=(w,0.579[y1.4l,y5l]); penstroke z1.6e--z1.6'e; penstroke +z1.5e{dir72}..z1.8e{up}..z1.7e{left}; filldraw z1.6r--z1.7l--z1.7r--z1.6l +--z1.6r & cycle; +.endchar; + +.cmchar "The Fraktur letter l"; +.beginchar("l",3lower_u#,1.366x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +w':=1.574w; penpos1(stem,0); z1=(0.241w',foot); penpos5'(hair,-40); +z5'l=(0,0.097x_height); penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; +x6r=x1r; z7-z6=whatever*dir48; x7=w; z6'=whatever[z6,z7]; y6'=y6l+apex_o; +z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke z6e---z7e; filldraw +z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l & cycle; penpos2(stem,0); +z2=(x1,x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); +z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); z4=(0.5x2l,1.259x_height); +penpos5(hair,-90); z5l=(x7,h); penstroke z1e--z2e; filldraw +z2l---z3''...z4l--z4r-- z3{dir50}..z5l{right}--z5r{left} ...z3'---z2r--z2l & +cycle; last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter l with bar"; +if (dc_layout>0): xchar_code:=oct"252"; + else: xchar_code:=oct"263"; + fi; +.beginchar(xchar_code,3lower_u#,1.366x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0,0.5cap_height); ellbar(100); +.endchar; + +.cmchar "The Fraktur letter l with acute"; +if (dc_layout>0): xchar_code:=oct"250"; + else: xchar_code:=oct"345"; + fi; +.beginchar(xchar_code,3lower_u#,1.666x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,1.366x_height); acute(100); +.endchar; + +% added by V. Kurz 2002 +.cmchar "The Fraktur letter l with hacek"; +if (dc_layout>0): xchar_code:=oct"251"; + else: xchar_code:=oct"265"; + fi; +.beginchar(xchar_code,3lower_u#,1.366x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.4w,0.85x_height); makcen(100); +.endchar; + +nombre:=7.806gencoef[1,1.227586]; + +.cmchar "The Fraktur letter m"; +.beginchar("m",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +boolean itsm; itsm:=true; +w':=w; if itsm: z0=(0.356w',0) else: z0=(0,0) fi; penpos1(stem,0); +penpos2(stem,0); penpos3(stem,0); penpos4(stem,0); penpos5(stem,0); +penpos6(stem,0); z1=(0.135w',foot); z3=(0.491w',foot); n_foot(1); +z2=(x1,0.846h); z4=(x3,y2); z5=z3+z0; z6=z4+z0; penpos10(hair,-54); +penpos11(hair,-54); penpos12(hair,-54); penpos13(hair,-54); +z2r-z10l=whatever*dir36; x10r=x2r; z11-z10=whatever*dir36; y11l=h+apex_o; +z14=whatever[z10r,z11r]; y14=0.881h; penpos16(2/3hair,-90); +z16=(x6r+1/20w',y14); penstroke z1e--z2e; penstroke z5e--z6e; if itsm: penstroke +z3e--z4e; n_foot(3); fi z12=z10+z0; z13=z11+z0; z15=z14+z0; x14'=x4l; +z14'-z14=whatever*(z4r-z11); z15'=z14'+z0; if itsm: filldraw +z14--z14'--z4l--z4r-- z11l--z10l--z10r--z14 & cycle; fi filldraw +z12l--z13l---z13r...z16l{right} --z16r{left}..z6r--z6l--z15'--z15-- z12r--z12l & +cycle; penpos18(hair,-37); penpos17(hair,-37); z17=(0.354[x5l,x5r],-apex_o); +x18r=x5+0.157w'; y18l=foot; z20'=whatever[z17l,z18l]; x20'=x5r; +z20=0.5[z20',z18l]; z19=(x5l,2/3foot); z17'=whatever[z17,z18]; y17'=0; filldraw +z17'--z19--z5l--z5r{down} ..z20{z18r-z18l}--z17' & cycle; penstroke z17e--z18e; +z8=(0,y2); z9=(x2,h+apex_o); z7=(x1l,0.194[y2,y1]); filldraw +z7{up}..z8--z9..z2r{down} --z7 & cycle; +.endchar; + +nombre:=5.028gencoef[1,1.227586]; + +.cmchar "The Fraktur letter n"; +.beginchar("n",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +boolean itsm; itsm:=false; +w':=1.553w; if itsm: z0=(0.356w',0) else: z0=(0,0) fi; penpos1(stem,0); +penpos2(stem,0); penpos3(stem,0); penpos4(stem,0); penpos5(stem,0); +penpos6(stem,0); z1=(0.135w',foot); z3=(0.491w',foot); n_foot(1); +z2=(x1,0.846h); z4=(x3,y2); z5=z3+z0; z6=z4+z0; penpos10(hair,-54); +penpos11(hair,-54); penpos12(hair,-54); penpos13(hair,-54); +z2r-z10l=whatever*dir36; x10r=x2r; z11-z10=whatever*dir36; y11l=h+apex_o; +z14=whatever[z10r,z11r]; y14=0.881h; penpos16(2/3hair,-90); +z16=(x6r+1/20w',y14); penstroke z1e--z2e; penstroke z5e--z6e; if itsm: penstroke +z3e--z4e; n_foot(3); fi z12=z10+z0; z13=z11+z0; z15=z14+z0; x14'=x4l; +z14'-z14=whatever*(z4r-z11); z15'=z14'+z0; if itsm: filldraw +z14--z14'--z4l--z4r-- z11l--z10l--z10r--z14 & cycle; fi filldraw +z12l--z13l---z13r...z16l{right} --z16r{left}..z6r--z6l--z15'--z15-- z12r--z12l & +cycle; penpos18(hair,-37); penpos17(hair,-37); z17=(0.354[x5l,x5r],-apex_o); +x18r=x5+0.157w'; y18l=foot; z20'=whatever[z17l,z18l]; x20'=x5r; +z20=0.5[z20',z18l]; z19=(x5l,2/3foot); z17'=whatever[z17,z18]; y17'=0; filldraw +z17'--z19--z5l--z5r{down} ..z20{z18r-z18l}--z17' & cycle; penstroke z17e--z18e; +z8=(0,y2); z9=(x2,h+apex_o); z7=(x1l,0.194[y2,y1]); filldraw +z7{up}..z8--z9..z2r{down} --z7 & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter n tilde"; +if (dc_layout>0): +.beginchar(oct"361",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; z100=(0.5w,x_height); tilde(100); +.endchar; +fi; + +.cmchar "The Fraktur letter n acute"; +if (dc_layout>0): xchar_code:=oct"253"; + else: xchar_code:=oct"361"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; z100=(0.5w,x_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter n hacek"; +if (dc_layout>0): xchar_code:=oct"254"; + else: xchar_code:=oct"362"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; z100=(0.5w,x_height); hacek(100); +.endchar; + +nombre:=4.75gencoef[1,1.140351]; + +.cmchar "The Fraktur letter o"; +.beginchar("o",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(hair,-37); penpos2(hair,-37); z9=(0,gencoef[0.117h,0.19863h]); +x1r=gencoef[0.5w,0.561224w]; y1r=-apex_o; penpos3(1.083stem,31); +z3r=(w,gencoef[0.479h,0.589h]); penpos7(stem,0); +z7=(gencoef[0.211w,0.184w],gencoef[0.866h,0.829h]); penpos4(1.083stem,22); +z4-z7l=whatever*dir22; y4r=h+apex_o; penpos5'(hair,-68); z5'l=z7l; +penpos6(hair,-68); z6l=z4; penpos8(stem,0); z8=(x7,gencoef[foot,0.267h]); +z2-z1=whatever*((w,0.786h)); x8'=x8r; +y8'=foot; z2-z8r=whatever*(z1-z9); penstroke z1e---z2e...z3e.. +z4e{ext_dir(122)}; penstroke z5'e--z6e; penstroke z8e--z7e; filldraw +z9..z8l{up}--z8r--z2l--z1l--z9 & cycle; z7'=whatever[z5',z6]; x7'=x7r; filldraw +z7l--z7'--z7r--z7l & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur ligature oe"; +if (dc_layout>0): xchar_code:=oct"367"; + else: xchar_code:=oct"033"; + fi; +.beginchar(xchar_code,1.7*nombre*lower_u#,x_height#,0); +%.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +addto currentpicture also small_letter_e shifted (4u,0); +.endchar; +nombre:=5.056gencoef[1,1.131868]; + +.cmchar "The Fraktur letter p"; +.beginchar("p",nombre*lower_u#,x_height#,3.361lower_u#); +.adjust_fit(usual_left#+gencoef[0,0.5u#],usual_right#); +penpos1(stem,0); z1=(gencoef[0.242w,0.223w],foot); penpos2(stem,0); +z2=(x1,0.834h); penpos3(hair,-27); z3=(x2l,1.05h); +penpos4(stem,53); z4l=(-apex_o,0.86h); penpos5(hair,0); +z5=(x1,-d); penstroke z5e--z1e--z2e; z6=(x1l,0.69h); filldraw z6{up}.. +z4l{up}--z4r{down}..{dir-45}z2r--z6 & cycle; penstroke +z4e{up}..z3e{dir53}; +penpos8(hair,-49); penpos7(hair,-49); +z8l=(gencoef[0.714w,0.7w],h+gencoef[apex_o,0]); +z8-z7=whatever*dir(gencoef[41,35]); x7=x1; penstroke z7e--z8e; +z11=(-0.5u,0.15h); z9-z11=whatever*dir-20; x9=gencoef[0.527w,0.592w]; +penpos9(hair,-20); penpos10(hair,-20); z10-z9=whatever*dir57.5; +y10r=gencoef[0.1h,0.12h]; z12-z10=whatever*(z11-z9); z12-z11=whatever*(z10-z9); +penpos13(stem,33); penpos14(5/4stem,41); z13r=(w,gencoef[0.5h,0.548h]); +z14r=z8l; penstroke z9e---z10e...z13e...z14e {ext_dir(131)}; filldraw +z11--z12--z10r--z9r--z11 & cycle; .endchar; + +nombre:=4.639gencoef[1,1.269461]; + +.cmchar "The Fraktur letter q"; +.beginchar("q",nombre*lower_u#,x_height#,3.361lower_u#); +.adjust_fit(usual_left#,usual_right#); + penpos1(hair,0); z1=(0.745w,-d); + penpos2(stem,0); z2=(x1,foot); z3=(x2r,0.728h); z4=(w,0.879h); + test_angle:=ext_angle(-33); + penpos5(hair,test_angle); + penpos6(hair,test_angle); z5l=(0.485w,h+apex_o); +z5-z6=whatever*dir(ext_angle(52)); x6=0.335w; + penpos7(1.542stem,ext_angle(62)); z7l=(0,0.445h); + penpos8(1.125stem,ext_angle(45)); z8l=(0.388w,-2apex_o); + penpos9(hair,ext_angle(-45)); + penpos10(hair,ext_angle(-45)); + z9r=z8; z10-z9=whatever*dir(ext_angle(45)); + x10=x2; penstroke z1e--z2e; +z3'-z6=whatever*(z5r-z5l); x3'=x2l; + filldraw z2r---z3--z3'---z2l--cycle; + filldraw z4{left}...z5r---z5l--z6l--z3'--z3{up}..cycle; + penstroke z8e{(0,0.552h)-z8}..z7e{up}... z6e---z5e; + penstroke z9e--z10e; + penlabels(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 3'); +.endchar; + +nombre:=3.944gencoef[1,1.281690]; + +.cmchar "The Fraktur letter r"; +.beginchar("r",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +w':=1.197w; +penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); z2=(x1,x_height); +z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); +penpos4(hair,74); z4=(0.5x2l,1.259x_height); penpos5(hair,-90); +z5l=(x2r+0.875stem,h); penpos5'(hair,-40); z5'l=(0,0.097x_height); +penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r; +z7-z6=whatever*dir48; x7=0.817w; z6'=whatever[z6,z7]; y6'=y6l+apex_o; +penpos8(1.292stem,39); z8r=(w,0.478x_height); penpos11(hair,-50); +penpos10(hair,-50); x10r=x8l; y10l=x_height+apex_o; z10-z11=whatever*dir40; +x11=x1; penpos9(1.229stem,40); z9=whatever[z11,z10]; y9r=y10r-apex_o; +z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke z6e---z7e; +penpos7'(1.2hair,-40); z7'r=(0.426w,-d); filldraw z5'l..z1l{up}--z1r-- +z15--z7l-- z6{ext_dir(138)}..z5'r--z5'l & cycle; penpos22(stem,0); z22=(x1,0.841h); +z29=(x22,h+apex_o); z28=(0,y22); z27=(x22l,0.721h); filldraw +z1l---z27...z28--z29... z22r---z1r--z1l & cycle; penpos30(hair,-70); +penpos32(hair,-70); penpos31(1.083stem,45); z22r-z32l=whatever*dir(ext_angle(45)); x32r=x22r; +z30-z32=whatever*dir(ext_angle(45)); y30l=h+apex_o; z31r=(w,y32); +z33-z31l=whatever*(z30-z31r); z33=whatever[z32,z30]; penstroke z32e--z30e; +filldraw z30--z31r--z31l--z33-- z30 & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter r acute"; +if (dc_layout>0): xchar_code:=oct"257"; + else: xchar_code:=oct"340"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; z100=(0.5w,x_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter r hacek"; +if (dc_layout>0): xchar_code:=oct"260"; + else: xchar_code:=oct"370"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; z100=(0.5w,x_height); hacek(100); +.endchar; + +.cmchar "The Fraktur letter long s"; +.beginchar("s",4.539lower_u#,1.366x_height#,3.167lower_u#); +.adjust_fit(0,0.05alpha*w#+usual_right#-1.932lower_u#); +w':=w; penpos1.1(hair,0); z1.1=(0.318w',-d); penpos1.2(1.313stem,0); z1.2=(x1.1,0.795x_height); +penpos1.4(3/4stem,-90); z1.4r=(0.857w',y1.2); z1.3=(0,y1.2); z1.12=whatever[z1.1l,z1.2l]; +z1.13=whatever[z1.1r,z1.2r]; y1.12=y1.13=0.512x_height; z1.12'=z1.12-(0.5apex_o,0); +z1.13'=z1.13+(0.5apex_o,0); z1.35=whatever[z1.12,z1.2l]; y1.35=y1.4; penpos1.5(0.917stem,0); +z1.5=(x1.1,y1.4l); penpos1.6(hair,-68); z1.6-z1.5r=whatever*ext_dir(112); z1.6l-z1.5l=whatever*dir72; +penpos1.7(hair,0); z1.7l=z1.5l; penpos1.9(hair,-22); penpos1.11(hair,-22); +z1.11r=(w',1.321x_height); z1.11-z1.9=whatever*dir68; x1.9=0.831w'; penpos1.8(whatever,68); +z1.8l=z1.9l; y1.8r=y1.11r; z1.14=(0.673w',1.366x_height); filldraw z1.1r..z1.13'..z1.2r... +z1.5r---z1.6l & z1.6l--z1.35--z1.2l.. z1.12'..z1.1l--z1.1r & cycle; filldraw +z1.3..z1.6{z1.6-z1.5l}--z1.2l--z1.3 & cycle; filldraw z1.6l{dir72}..z1.14{right}.. +z1.8r{dir-22}--z1.8l{ext_dir(158)}.. z1.6r{z1.5l-z1.6}--z1.6l & cycle; penstroke z1.9e--z1.11e; +.endchar; + +nombre:=5.039gencoef[1,1.168688]; + +.cmchar "The Fraktur letter short s"; +.beginchar(s_final,nombre*lower_u#,1.286x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos0(hair,angle((w,x_height))-90); +penpos0'(hair,angle((w,x_height))-90); z0l=(0,0.103x_height); x0'r=0.86w; +z0'-z0=whatever*((w,x_height)); penstroke z0e--z0'e; +penpos5(1.083stem,angle((w,gencoef[0.797x_height,0.63x_height]))); +penpos6(1.083stem,angle(z0'-z0)); z5l=(0.54w,-apex_o); z6l=z0r; penstroke z5e{ext_dir(142)}..z6e; +penpos1(hair,angle((w,0.797x_height))-90); penpos2(hair,angle((w,0.797x_height))-90); +penpos3(1.083stem,39); z3r=(w,0.441x_height); z1r=z5l; z2r=z5r; z4=whatever[z0r,z0'r]; x4=0.595w; +penpos4(5/4stem,angle(z0'-z0)); penstroke z1e--z2e{z2-z1}..z3e..z4e{dir(angle(z0'-z0)+90)}; +penpos7(hair,angle(z0'-z0)-90); z7r=z6; penpos8(1.125stem,angle((w,0.5x_height))); +z8r=whatever[z0,z0']; x8r=0.433w; penpos9(1.292stem,54); z9l=(0,0.69x_height); filldraw +z7--z8r--z8l{down}..z7l{z0-z0'}--z7 & cycle; penstroke z8e{up}..z9e{ext_dir(144)}; penpos10(hair,-36); +z10l=z9; z11=whatever[z9l,z9r]; y11=x_height+apex_o; penpos12(1.083stem,54); z12r=z11; +penpos14(hair,-36); z14l=z12; penstroke z10e--z14e; z13-z12l=whatever*dir-21; +z13=whatever[z0l,z0'l]; penpos15(0.538stem,-29); z15r=whatever[z0,z0']; y15r=y11; penpos16(hair,90); +penpos17(hair,144); z16r=(0.568w,h); z17=(0.198w,1.124x_height); penstroke +z15e{up}..z16e{left}..z17e; filldraw z12l--z13--z0'r & z0'r{z0'-z0}..z15r{up}--z15l{down} +..z11{z12-z13}--z12l & cycle; +last_char:=currentpicture; +penlabels(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); +.endchar; + +.cmchar "The Fraktur letter short s acute"; +if (dc_layout>0): xchar_code:=oct"261"; + else: xchar_code:=oct"266"; + fi; +.beginchar(xchar_code,nombre*lower_u#,1.286x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter short s hacek"; +if (dc_layout>0): xchar_code:=oct"262"; + else: xchar_code:=oct"271"; + fi; +.beginchar(xchar_code,nombre*lower_u#,1.286x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hacek(100); +.endchar; + +.cmchar "The Fraktur letter short s cedilla"; +if (dc_layout>0): xchar_code:=oct"263"; + else: xchar_code:=oct"272"; + fi; +.beginchar(xchar_code,nombre*lower_u#,1.286x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,0); cedilla(100); +.endchar; + +.cmchar "The Fraktur letter t"; +.beginchar("t",3.444lower_u#,1.186x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#-0.3u#); +w':=1.371w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); z2=(x1,0.828x_height); +z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); +z4=(0.5x2l,1.259x_height); penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e; +penpos5''(hair,-90); z5''=z5+(hair,-eps); penpos5'(hair,-40); z5'l=(0,0.097x_height); +penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=w; +z6'=whatever[z6,z7]; y6'=y6l+apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke +z6e---z7e; filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l & cycle; +penpos1.4(3/4stem,-90); z1.4=(0.928w,.859x_height); z1.3=(0,y1.4r); z1.35=(x2l,y1.4l); filldraw +z1.3--(x1,y1.35)--z1.4l--z1.4r-- z1.3 & cycle; penpos1.5(hair,0); z1.5=0.219[z1.4l,(x2r,y1.4l)]; +penpos1.6(hair,-43); z1.6r=(x2r,0.283[y1.4l,y5l]); penpos1.7(stem,57); z1.7r-z1.6l=whatever*dir47; +x1.7r=0.636[x2r,x1.4]; penpos1.6'(hair,-43); z1.6'l=z1.7r; penpos1.8(stem,60); +z1.8r=(w,0.579[y1.4l,y5l]); penpos30(hair,0); z30l=(x1r,h); filldraw z1.3--z30l--z30r..z2r{down} +--(x2r,y1.3)--z1.3 & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter t with ogonek"; +if (dc_layout>0): xchar_code:=oct"265"; + else: xchar_code:=oct"275"; + fi; +.beginchar(xchar_code,3.444lower_u#,1.186x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#-0.3u#); +currentpicture:=last_char; +z100=(0.5w+u,0); ogonek(100); +.endchar; + +% added by V. Kurz 2002 +.cmchar "The Fraktur letter t with hacek"; +if (dc_layout>0): xchar_code:=oct"264"; + else: xchar_code:=oct"273"; + fi; +.beginchar(xchar_code,3.444lower_u#,1.186x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#-0.3u#); +currentpicture:=last_char; z100=(0.4w,0.9x_height); makcen(100); +.endchar; + +nombre:=6.15gencoef[1,1.107527]; + +.cmchar "The Fraktur letter u"; +.beginchar("u",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); z1=(0.727w,foot); penpos2(stem,0); z2=(x1,0.838h); +penpos3(2/3hair,90); penpos4(2/3hair,0); penpos5(2/3hair,-90); +penpos3'(1.5stem,0); z3'=(x1,0.5[y2,h+apex_o]); z3=z3'l; z5=z3'r; +z4=(x1,h+apex_o); penpos16(hair,-32); penpos17(hair,-32); z17-z16=whatever*dir58; +z16r=(0.795w,-apex_o); x17r=w; z18=whatever[z16,z17]; y18=0.179h; penstroke +z1e--z2e; filldraw z1l--z16--z18{ext_dir(148)}.. (x1r,0.31h){up}--z1l & cycle; +penstroke z16e--z17e; filldraw z2l{up}..z3l{ext_dir(165)}-- +z3r{ext_dir(15)}..z4l{dir75}--z4r{dir-75} ..z5l{dir-15}--z5r{ext_dir(195)}..z2r{down} --z2l +& cycle; penpos11(stem,0); penpos12(stem,0); z11=(0.257w,foot); +z12=(x11,0.71x_height); penpos7(hair,-41); penpos6(hair,-41); z7r=(x11r,-apex_o); +z6r=whatever[z7r,z1l]; x6=x1; penpos9(hair,90); z9=(0.063w,0.11x_height); +penpos8(whatever,0); z8r=z7r; x8l=x7l; z10=whatever[z7l,z6l]; +z10-z11r=whatever*dir-41; filldraw z9l{right}..z8l--z8r--z6r +--z6l--z10--z11r--z11l{down}..z9r{ext_dir(195)} --z9l & cycle; penstroke z11e--z12e; +penpos14(hair,-38); z14l=(0,0.805x_height); z13=(0.217w,h+apex_o); +z15-z14r=whatever*(z13-z14l); x15=0.097w; filldraw z13..z12r{down}--z12l{up} +..z15--z14r--z14l--z13 & cycle; +.endchar; + +nombre:=5.444gencoef[1,1.122449]; + +.cmchar "The Fraktur letter v"; +.beginchar("v",nombre*lower_u#,1.203x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); z1=(0.334w,1.05foot); penpos2(stem,0); z2=(x1,0.561x_height); +penpos3(stem,50); z3=(0.158w,0.897x_height); penpos3'(1.042stem,37); +z3'l=(0,0.928x_height); penpos4(hair,-44); z4l=(0.265w,h); penstroke +z1e---z2e...z3e{ext_dir(140)}.. z3'e{up}..z4e{dir46}; penpos5(hair,-90); +penpos6(hair,0); penpos7(hair,-11); z5=(0.133w,0.11x_height); +z6=(0.582w,-apex_o); z7r-z6r=whatever*dir58; z7-z1r=whatever*dir-11; +z7'=whatever[z6l,z7l]; x7'=0.7w; filldraw z1l{down}..z5l--z5r{z1r-z5r} +..z6l--z6r--z7r--z7l--z7'..{left}z1r--z1l & cycle; penpos8(1.125stem,44); +z8r=(w,0.576x_height); penpos11(hair,-44); penpos12(hair,-44); +z11=(0.735w,gencoef[1.055x_height,x_height]); z11-z12=whatever*dir46; x12=0.3w; +penstroke z12e--z11e; penpos10(1.521stem,46); z10r=z11; penpos9(1.042stem,46); +z9=(0.648w,0.928x_height); penstroke z6e---z7e...z8e..z9e; filldraw +z9r{z10-z9}..z10r{z11-z12} --z10l{z11-z12}..z9l{z9-z10}-- z9r & cycle; +.endchar; + +nombre:=7.111gencoef[1,1.2]; + +.cmchar "The Fraktur letter w"; +.beginchar("w",nombre*lower_u#,1.083x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); z1=(0.154w,foot); n_foot(1); +penpos2(stem,0); +z2=(x1,0.831x_height); penstroke z1e--z2e; +penpos3(hair,ext_angle(-53)); +penpos4(hair,ext_angle(-54)); +z3r=z2r; z4-z3=whatever*dir(ext_angle(37)); y4l=x_height+apex_o; z3'=whatever[z3l,z4l]; +x3'=x1r; +penpos5(stem,ext_angle(40)); z5l=(0,0.955x_height); +penpos6(hair,ext_angle(-50)); +z6l=(0.145w,h); penstroke z3e--z4e; filldraw +z2r--z3'..z5r-(0,2apex_o){up}..z6r{dir(ext_angle(60))} --z6l{z5l-z5r}..z5l{down}..z2l--z2r & +cycle; +penpos7(stem,0); +penpos8(stem,0); z7=(0.531w,foot); z8=(x7,y2); +penpos9(hair,ext_angle(-35)); +penpos10(hair,ext_angle(-35)); +z10-z7r=whatever*((0,0.621x_height)-(w,0)); z9r=(0.668w,-apex_o); +z10-z9=whatever*((w,0.359x_height)-z9); z9-z11=whatever*(z10-z7r); x11=0.402w; +%filldraw z11{(0.2, 0.5*bold_ratio)}..{up}z7l---z7r--z10r-- z9r---z11 & cycle; +filldraw z11{z4-z2}..{up}z7l---z7r--z10r-- z9r---z11 & cycle; + penstroke z7e--z8e; +penpos14(1.083stem,ext_angle(47)); z14r=(w,gencoef[0.462x_height,0.685x_height]); +penpos11'(hair,ext_angle(-53)); +penpos12(hair,ext_angle(-53)); z11'r=z8r; z12-z11'=whatever*dir37; +y12l=x_height+apex_o; penstroke z11'e--z12e; +penpos13(1.083stem,ext_angle(37)); z13r=z12; +penstroke z9e---z10e... z14e..z13e{dir(gencoef[110,130])}; +z11.5=whatever[z11'l,z12l]; x11.5=x8r; z8'=whatever[z3r,z4r]; +z8l-z8'=whatever*(z11.5-z4); +filldraw z8'--z4--z11.5--z8r--z8l --z8' & cycle; +% filldraw z8'--z4--z11--z8r--z8l --cycle; + penlabels(1, 2, 3, 4, 5, 6, 7, 8, 8', 9, 10, 11, 11', 12, 13, 13'); +.endchar; + +nombre:=3.944gencoef[1,1.194030]; + +.cmchar "The Fraktur letter x"; +.beginchar("x",nombre*lower_u#,x_height#,0.5x_height#); +.adjust_fit(usual_left#+u#,usual_right#); w':=1.197w; +penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); z2=(x1,x_height); +z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); +penpos4(hair,74); z4=(0.5x2l,1.259x_height); penpos5(hair,-90); +z5l=(x2r+0.875stem,h); penpos5'(hair,-40); z5'l=(x1l,0.097x_height); +penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r; +z7-z6=whatever*dir48; x7=0.817w; z6'=whatever[z6,z7]; y6'=y6l+apex_o; +penpos8(1.292stem,39); z8r=(w,0.478x_height); penpos11(hair,-50); +penpos10(hair,-50); x10r=x8l; y10l=x_height+apex_o; z10-z11=whatever*dir40; +x11=x1; penpos9(1.229stem,40); z9=whatever[z11,z10]; y9r=y10r-apex_o; +z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke z6e---z7e; +penpos7'(1.2hair,-40); z7'r=(0.426w,-d); filldraw z5'l..z1l{up}--z1r-- +z15--z7l-- z6{ext_dir(138)}..z5'r--z5'l & cycle; penpos22(stem,0); z22=(x1,0.841h); +z29=(x22,h+apex_o); z28=(0,y22); z27=(x22l,0.721h); filldraw +z1l---z27...z28--z29... z22r---z1r--z1l & cycle; penpos30(hair,-70); +penpos32(hair,-70); penpos31(1.083stem,45); z22r-z32l=whatever*dir(ext_angle(45)); +x32r=x22r; z30-z32=whatever*dir(ext_angle(45)); y30l=h+apex_o; z31r=(w,y32); +z33-z31l=whatever*(z30-z31r); z33=whatever[z32,z30]; penstroke z32e--z30e; +filldraw z30--z31r--z31l--z33-- z30 & cycle; +z40=(x1l,1.5foot); z40'=(x1r,1/3foot); +penpos41(0.8stem,180); penpos42(1.5hair,-120); penpos43(hair,-142); + z41l=(apex_o,-0.129d); z42l=(x1r,-0.557143d); x43l=w; y43r=-d; +filldraw z40{down}..z41r{down}--z41l{up}..z40'{right}--z40 & cycle; +penstroke z41e{down}..z42e..z43e{dir-60}; .endchar; + +nombre:=5.472gencoef[1,1.107527]; + +.cmchar "The Fraktur letter y"; +.beginchar("y",nombre*lower_u#,x_height#,2.556lower_u#); +.adjust_fit(usual_left#,usual_right#); +w':=0.863w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); +z2=(x1,0.846x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); +z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); z4=(0.5x2l,1.259x_height); +penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e; z2.8=(0,y2); +z2.9=(x2,h+apex_o); z2.7=(x1l,0.194[y2,y1]); filldraw +z2.7{up}..z2.8--z2.9..z2r{down} --z2.7 & cycle; penpos5'(hair,-40); +z5'l=(0,0.097x_height); penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; +x6r=x1r; z7-z6=whatever*dir48; x7=0.6w; z6'=whatever[z6,z7]; y6'=y6l+apex_o; +penpos8(1.292stem,39); z8r=(w,0.478x_height); penpos11(hair,-50); +penpos10(hair,-50); x10r=x8l; y10l=x_height+apex_o; +z10-z11=whatever*((w,0.559x_height)); x11=x1; penpos9(1.229stem,40); +z9=whatever[z11,z10]; y9r=y10r-apex_o; z15=whatever[z6l,z7l]; +z15-z1r=whatever*dir-30; penstroke z11e--z10e; penstroke z6e---z7e; +penpos7'(1.2hair,-40); z7'r=(0.426w,-d); penstroke z7'e{dir50}...z8e{up}.. z9e; +filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6'{ext_dir(138)}..z5'r--z5'l & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter y acute"; +.beginchar(oct"375",nombre*lower_u#,x_height#,2.556lower_u#); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter y Umlaut"; +if (dc_layout>0): xchar_code:=oct"270"; +.beginchar(xchar_code,nombre*lower_u#,x_height#,2.556lower_u#); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); umlaut(100); +.endchar; +fi; + +nombre:=3.444gencoef[1,1.330645]; + +.cmchar "The Fraktur letter z"; +.beginchar("z",nombre*lower_u#,x_height#,gencoef[2.15lower_u#,3.07lower_u#]); +.adjust_fit(usual_left#,usual_right#); +penpos1(hair,122); +penpos2(gencoef[hair,1.5hair],180); penpos3(0.625stem,-42); +penpos4(1.313stem,37); z1l=gencoef[(w,0.524h),(0.945w,0.459h)]; z2r=(0,-0.1d); +z3r=(gencoef[0.548w,0.509w],-d); z4r=(w,gencoef[0.103h,0]); penstroke +z1e..z2e{down}..z3e{right}..z4e{up}; penpos5(hair,-90); +z5=gencoef[(0,0.414h),(0.145w,0.390h)]; z6-z5=whatever*dir38; +x6=gencoef[0.484w,0.454w]; filldraw z5r{right}..z4l{down}-- z4r{up}..z6--z5r & +cycle; penpos7(4/3stem,43); z7=gencoef[(0.629w,0.734h),(0.618w,0.699h)]; +z8=(gencoef[0.532w,0.4w],h+apex_o); z9=(gencoef[0.081w,0.107782w],0.793h); +penpos9'(hair,-90); z9'l=z9; penstroke z5e{z6-z5r}..z7e{up}; filldraw +z7l{up}..z9'r{z9-z8}--z9--z8.. z7r{down}--z7l & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter z with point"; +if (dc_layout>0): xchar_code:=oct"273"; + else: xchar_code:=oct"277"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,gencoef[2.15lower_u#,3.07lower_u#]); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); pointaccent(100); +.endchar; + +.cmchar "The Fraktur letter z with acute"; +if (dc_layout>0): xchar_code:=oct"271"; + else: xchar_code:=oct"274"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,gencoef[2.15lower_u#,3.07lower_u#]); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter z with hacek"; +if (dc_layout>0): xchar_code:=oct"272"; + else: xchar_code:=oct"276"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,gencoef[2.15lower_u#,3.07lower_u#]); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hacek(100); +.endchar; + diff --git a/fonts/t1-fraktur/fkt1mis.mf b/fonts/t1-fraktur/fkt1mis.mf new file mode 100644 index 0000000000..93d976a5c4 --- /dev/null +++ b/fonts/t1-fraktur/fkt1mis.mf @@ -0,0 +1,891 @@ +.cmchar "The Fraktur ligature ch"; +.beginchar(ch_ligature,3.639lower_u#+4.772lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +w:=3.639u; penpos101(hair,-30); penpos102(hair,-30); z102l=(w+0.438u-0.5stem,foot); +z101r=(0.565w,-apex_o); z101'=whatever[z101,z102]; y101'=y101l+apex_o; z103=whatever[z101l,z102l]; +x103=0.809w; z104=(2/3w,0.176h); penpos105(1.083stem,angle((w,0.4h))); z105=(0.26w,0.214h); +penpos106(stem,0); z106l=(0,0.5h); penpos109(hair,-68); penpos108(hair,-68); penpos108.5(hair,-68); +z109l=(0.832w,h+apex_o); z109-z108=whatever*((w,0.25h)); x108l=0.458w; z107=whatever[z108l,z109l]; +x107=0.145w; penpos110(stem,angle((w,0.25h))); z110r=whatever[z109l,z109r]; x110r=w; +z110l-z108.5=whatever*(z110r-z109); z108.5=whatever[z108,z109]; penstroke z101e--z102e; filldraw +z101'..z105l..z106l{up}--z106r{down} ..z105r...z103---z102l--z102r--z101' & cycle; filldraw +z106l{up}..z107 & z107--z109l--z110r-- z110l--z108.5r & +z108.5r{z108-z109}..(x106r,0.738h)..z106r{down}-- z106l & cycle; z0=(w-0.7u,0); w:=5.472u; +h:=1.376x_height; d:=2.556u; w':=0.863w; penpos1(stem,0); penpos2(stem,0); z1l=z102l; +z2=(x1,x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); +penpos4(hair,74); z4=(0.5[x0,x2l],1.259x_height); penpos5(hair,-90); z5l=(x2r+0.875stem,h); +penstroke z1e--z2e; filldraw z2l---z3''...z4l--z4r-- z3{dir45}..z5l{right}--z5r{left} +...z3'---z2r--z2l & cycle; penpos5'(hair,-40); penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; +x6r=x1r; z7-z6=whatever*dir48; x7=0.6w+x0; z6'=whatever[z6,z7]; y6'=y6l+apex_o; +penpos8(1.292stem,39); z5'=whatever[z101,z102]; z8r=(w,0.478x_height)+z0; penpos11(hair,-50); +penpos10(hair,-50); x10r=x8l; y10l=x_height+apex_o; z10-z11=whatever*((w,0.559x_height)); x11=x1; +penpos9(1.229stem,angle((w,0.559x_height))); z9=whatever[z11,z10]; y9r=y10r-apex_o; +z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; z5'r-z6'=whatever*(z1r-z15); penstroke z11e--z10e; +penstroke z6e---z7e; penpos7'(1.2hair,-40); z7'r=(0.426w,-d)+z0; penstroke z7'e{dir50}...z8e{up}.. +z9e; filldraw z5'l--z1l--z1r-- z15--z7l-- +z6'--z5'r--z5'l & cycle; .endchar; + +.cmchar "The Fraktur ligature ck"; +.beginchar(ck_ligature,3.639lower_u#+3.161lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +w:=3.639u; penpos101(hair,-30); penpos102(hair,-30); z102l=(w+0.438u-0.5stem,foot); +z101r=(0.565w,-apex_o); z101'=whatever[z101,z102]; y101'=y101l+apex_o; z103=whatever[z101l,z102l]; +x103=0.809w; z104=(2/3w,0.176h); penpos105(1.083stem,angle((w,0.4h))); z105=(0.26w,0.214h); +penpos106(stem,0); z106l=(0,0.5h); penpos109(hair,-68); penpos108(hair,-68); penpos108.5(hair,-68); +z109l=(0.832w,h+apex_o); z109-z108=whatever*((w,0.25h)); x108l=0.458w; z107=whatever[z108l,z109l]; +x107=0.145w; penpos110(stem,angle((w,0.25h))); z110r=whatever[z109l,z109r]; x110r=w; +z110l-z108.5=whatever*(z110r-z109); z108.5=whatever[z108,z109]; penstroke z101e--z102e; filldraw +z101'..z105l..z106l{up}--z106r{down} ..z105r...z103---z102l--z102r--z101' & cycle; filldraw +z106l{up}..z107 & z107--z109l--z110r-- z110l--z108.5r & +z108.5r{z108-z109}..(x106r,0.738h)..z106r{down}-- z106l & cycle; z0=(w-0.7u,0); +w:=3.861u; h:=1.366x_height; w':=1.223w; penpos1(stem,0); penpos2(stem,0); z1l=z102l; +z2=(x1,x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); +penpos4(hair,74); z4=(0.5[x0,x2l],1.259x_height); penpos5(hair,-90); z5l=(x2r+0.875stem,h); +penstroke z1e--z2e; penpos5''(hair,-90); z5''=z5+(hair,-eps); filldraw z2l---z3''...z4l--z4r-- +z3{dir45}..z5l{right}..z5''l--z5''r..z5r{left} ...z3'---z2r--z2l & cycle; penpos5'(hair,-40); +penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=0.8w+x0; +z6'=whatever[z6,z7]; y6'=y6l+apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke +z6e---z7e; z5'r-z6'=whatever*(z1r-z15); z5'=whatever[z101,z102]; filldraw z5'l..z1l{up}--z1r-- +z15--z7l-- z6r---z6l...z5'r--z5'l & cycle; penpos1.4(3/4stem,-90); z1.4=(x0+0.928w,.859x_height); +z1.3=(x0,y1.4r); z1.35=(x2l,y1.4l); filldraw z1.3--z1.35--z1.4l--z1.4r-- z1.3 & cycle; +penpos1.5(hair,0); z1.5=0.219[z1.4l,(x2r,y1.4l)]; penpos1.6(hair,-43); +z1.6r=(x2r,0.283[y1.4l,y5l]); penpos1.7(stem,57); z1.7r-z1.6l=whatever*dir47; +x1.7r=0.636[x2r,x1.4]; penpos1.6'(hair,-43); z1.6'l=z1.7r; penpos1.8(stem,60); +z1.8r=(x0+w,0.579[y1.4l,y5l]); penstroke z1.6e--z1.6'e; penstroke +z1.5e{dir72}..z1.8e{up}..z1.7e{left}; filldraw z1.6r--z1.7l--z1.7r--z1.6l --z1.6r & cycle; +.endchar; + +.cmchar "The Fraktur ligature st"; +.beginchar(st_ligature,6.5lower_u#,1.366x_height#,3.167lower_u#); +.adjust_fit(0,0.05alpha*w#+usual_right#); +w':=0.698w; penpos0.1(hair,0); z0.1=(0.318w',-d); penpos0.2(1.313stem,0); +z0.2=(x0.1,0.795x_height); penpos0.4(3/4stem,-90); z0.4r=(0.857w',y0.2); z0.3=(0,y0.2); +z0.12=whatever[z0.1l,z0.2l]; z0.13=whatever[z0.1r,z0.2r]; y0.12=y0.13=0.512x_height; +z0.12'=z0.12-(0.5apex_o,0); z0.13'=z0.13+(0.5apex_o,0); z0.35=whatever[z0.12,z0.2l]; y0.35=y0.4; +penpos0.5(0.917stem,0); z0.5=(x0.1,y0.4l); penpos0.6(hair,-68); z0.6-z0.5r=whatever*dir112; +z0.6l-z0.5l=whatever*dir72; penpos0.7(hair,0); z0.7l=z0.5l; penpos0.9(hair,-22); +penpos0.11(hair,-22); z0.11r=(w',1.321x_height); z0.11-z0.9=whatever*dir68; x0.9=0.831w'; +penpos0.8(whatever,68); z0.8l=z0.9l; y0.8r=y0.11r; z0.14=(0.673w',1.366x_height); filldraw +z0.1r..z0.13'..z0.2r... z0.5r---z0.6l & z0.6l--z0.35--z0.2l.. z0.12'..z0.1l--z0.1r & cycle; +filldraw z0.3..z0.6{z0.6-z0.5l}--z0.2l--z0.3 & cycle; filldraw z0.6l{dir72}..z0.14{right}.. +z0.8r{dir-22}--z0.8l{dir158}.. z0.6r{z0.5l-z0.6}--z0.6l & cycle; penstroke z0.9e--z0.11e; +w':=0.726w; z100=(x0.14,0); penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot)+z100; +z2=(x1,0.828x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); +penpos4(hair,74); z4=(0.5x2l,1.259x_height); penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke +z1e--z2e; penpos5''(hair,-90); z5''=z5+(hair,-eps); penpos5'(hair,-40); z5'l=(0,0.097x_height)+z100; +penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=x100+0.53w; +z6'=whatever[z6,z7]; y6'=y6l+apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke +z6e---z7e; filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l & cycle; +penpos1.4(3/4stem,-90); z1.4=(0.928x100+0.4916w,.859x_height); z1.3=(x100,y1.4r); +z1.35=(x2l,y1.4l); filldraw z1.3--(x1,y1.35)--z1.4l--z1.4r-- z1.3 & cycle; penpos1.5(hair,0); +z1.5=0.219[z1.4l,(x2r,y1.4l)]; penpos1.6(hair,-43); z1.6r=(x2r,0.283[y1.4l,y5l]); +penpos1.7(stem,57); z1.7r-z1.6l=whatever*dir47; x1.7r=0.636[x2r,x1.4]; penpos1.6'(hair,-43); +z1.6'l=z1.7r; penpos1.8(stem,60); +z1.8r=(x100+0.529w,0.579[y1.4l,y5l]); penpos30(hair,0); z30l=(x1r,1.186x_height); filldraw +z1.3--z30l--z30r..z2r{down} --(x2r,y1.3)--z1.3 & cycle; penpos30'(hair,180); z30'=z30; +penpos30''(hair,-90); z30''r=(x30l,h); penstroke z0.11e{z0.11-z0.9}.. z30''e..z30'e{z1.3-z30l}; +.endchar; + +% added by V. Kurz 2002 +.cmchar "The Fraktur ligature ft"; +.beginchar(ft_ligature,6.5lower_u#,1.366x_height#,3.167lower_u#); +.adjust_fit(0,0.05alpha*w#+usual_right#); +w':=0.698w; penpos0.1(hair,0); z0.1=(0.318w',-d); penpos0.2(1.313stem,0); +z0.2=(x0.1,0.795x_height); penpos0.4(3/4stem,-90); z0.4r=(0.857w',y0.2); z0.3=(0,y0.2); +z0.12=whatever[z0.1l,z0.2l]; z0.13=whatever[z0.1r,z0.2r]; y0.12=y0.13=0.512x_height; +z0.12'=z0.12-(0.5apex_o,0); z0.13'=z0.13+(0.5apex_o,0); z0.35=whatever[z0.12,z0.2l]; y0.35=y0.4; +penpos0.5(0.917stem,0); z0.5=(x0.1,y0.4l); penpos0.6(hair,-68); z0.6-z0.5r=whatever*dir112; +z0.6l-z0.5l=whatever*dir72; penpos0.7(hair,0); z0.7l=z0.5l; penpos0.9(hair,-22); +penpos0.11(hair,-22); z0.11r=(w',1.321x_height); z0.11-z0.9=whatever*dir68; x0.9=0.831w'; +penpos0.8(whatever,68); z0.8l=z0.9l; y0.8r=y0.11r; z0.14=(0.673w',1.366x_height); filldraw +z0.1r..z0.13'..z0.2r... z0.5r---z0.6l & z0.6l--z0.35--z0.2l.. z0.12'..z0.1l--z0.1r & cycle; +filldraw z0.3..z0.6{z0.6-z0.5l}--z0.2l--z0.3 & cycle; filldraw z0.6l{dir72}..z0.14{right}.. +z0.8r{dir-22}--z0.8l{dir158}.. z0.6r{z0.5l-z0.6}--z0.6l & cycle; penstroke z0.9e--z0.11e; +w':=0.726w; z100=(x0.14,0); penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot)+z100; +z2=(x1,0.828x_height); z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); +penpos4(hair,74); z4=(0.5x2l,1.259x_height); penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke +z1e--z2e; penpos5''(hair,-90); z5''=z5+(hair,-eps); penpos5'(hair,-40); z5'l=(0,0.097x_height)+z100; +penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=x100+0.53w; +z6'=whatever[z6,z7]; y6'=y6l+apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke +z6e---z7e; filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l & cycle; +penpos1.4(3/4stem,-90); z1.4=(0.928x100+0.4916w,.859x_height); z1.3=(x100,y1.4r); +z1.35=(x2l,y1.4l); filldraw z1.3--(x1,y1.35)--z1.4l--z1.4r-- z1.3 & cycle; penpos1.5(hair,0); +z1.5=0.219[z1.4l,(x2r,y1.4l)]; penpos1.6(hair,-43); z1.6r=(x2r,0.283[y1.4l,y5l]); +penpos1.7(stem,57); z1.7r-z1.6l=whatever*dir47; x1.7r=0.636[x2r,x1.4]; penpos1.6'(hair,-43); +z1.6'l=z1.7r; penpos1.8(stem,60); +z1.8r=(x100+0.529w,0.579[y1.4l,y5l]); penpos30(hair,0); z30l=(x1r,1.186x_height); filldraw +z1.3--z30l--z30r..z2r{down} --(x2r,y1.3)--z1.3 & cycle; penpos30'(hair,180); z30'=z30; +penpos30''(hair,-90); z30''r=(x30l,h); penstroke z0.11e{z0.11-z0.9}.. z30''e..z30'e{z1.3-z30l}; +filldraw z0.5--z0.4l--z0.4r--z0.2--z0.5 & cycle; +.endchar; + +.cmchar "The Fraktur ligature ss"; +.beginchar(ss_ligature,6.928lower_u#,1.366x_height#,3.167lower_u#); +.adjust_fit(0,0.05alpha*w#+usual_right#-1.932u#); +w':=0.655w; +penpos0.1(hair,0); z0.1=(0.318w',-d); penpos0.2(1.313stem,0); z0.2=(x0.1,0.795x_height); +penpos0.4(3/4stem,-90); z0.4r=(0.857w',y0.2); z0.3=(0,y0.2); z0.12=whatever[z0.1l,z0.2l]; +z0.13=whatever[z0.1r,z0.2r]; y0.12=y0.13=0.512x_height; z0.12'=z0.12-(0.5apex_o,0); +z0.13'=z0.13+(0.5apex_o,0); z0.35=whatever[z0.12,z0.2l]; y0.35=y0.4; penpos0.5(0.917stem,0); +z0.5=(x0.1,y0.4l); penpos0.6(hair,-68); z0.6-z0.5r=whatever*dir112; z0.6l-z0.5l=whatever*dir72; +penpos0.7(hair,0); z0.7l=z0.5l; penpos0.9(hair,-22); penpos0.11(hair,-22); +z0.11r=(w',1.321x_height); z0.11-z0.9=whatever*dir68; x0.9=0.831w'; penpos0.8(whatever,68); +z0.8l=z0.9l; y0.8r=y0.11r; z0.14=(0.673w',1.366x_height); filldraw z0.1r..z0.13'..z0.2r... +z0.5r---z0.6l & z0.6l--z0.35--z0.2l.. z0.12'..z0.1l--z0.1r & cycle; filldraw +z0.3..z0.6{z0.6-z0.5l}--z0.2l--z0.3 & cycle; filldraw z0.6l{dir72}..z0.14{right}.. +z0.8r{dir-22}--z0.8l{dir158}.. z0.6r{z0.5l-z0.6}--z0.6l & cycle; penstroke z0.9e--z0.11e; +z100=(x0.2r,0); penpos1.1(hair,0); z1.1=(0.318w'+x100,-d); penpos1.2(1.313stem,0); +z1.2=(x1.1,0.795x_height); penpos1.4(3/4stem,-90); z1.4r=(0.857w'+x100,y1.2); z1.3=(x100,y1.2); +z1.12=whatever[z1.1l,z1.2l]; z1.13=whatever[z1.1r,z1.2r]; y1.12=y1.13=0.512x_height; +z1.12'=z1.12-(0.5apex_o,0); z1.13'=z1.13+(0.5apex_o,0); z1.35=whatever[z1.12,z1.2l]; y1.35=y1.4; +penpos1.5(0.917stem,0); z1.5=(x1.1,y1.4l); penpos1.6(hair,-68); z1.6-z1.5r=whatever*dir112; +z1.6l-z1.5l=whatever*dir72; penpos1.7(hair,0); z1.7l=z1.5l; penpos1.9(hair,-22); +penpos1.11(hair,-22); z1.11r=(x100+w',1.321x_height); z1.11-z1.9=whatever*dir68; x1.9=0.831w'+x100; +penpos1.8(whatever,68); z1.8l=z1.9l; y1.8r=y1.11r; z1.14=(0.673w'+x100,1.366x_height); filldraw +z1.1r..z1.13'..z1.2r... z1.5r---z1.6l & z1.6l--z1.35--z1.2l.. z1.12'..z1.1l--z1.1r & cycle; +filldraw z1.3..z1.6{z1.6-z1.5l}--z1.2l--z1.3 & cycle; filldraw z1.6l{dir72}..z1.14{right}.. +z1.8r{dir-22}--z1.8l{dir158}.. z1.6r{z1.5l-z1.6}--z1.6l & cycle; penstroke z1.9e--z1.11e; +.endchar; + +.cmchar "The Fraktur ligature sf"; +.beginchar(sf_ligature,6.928lower_u#,1.366x_height#,3.167lower_u#); +.adjust_fit(0,0.05alpha*w#+usual_right#-0.85u#); +w':=0.655w; penpos0.1(hair,0); z0.1=(0.318w',-d); penpos0.2(1.313stem,0); +z0.2=(x0.1,0.795x_height); penpos0.4(3/4stem,-90); z0.4r=(0.857w',y0.2); z0.3=(0,y0.2); +z0.12=whatever[z0.1l,z0.2l]; z0.13=whatever[z0.1r,z0.2r]; y0.12=y0.13=0.512x_height; +z0.12'=z0.12-(0.5apex_o,0); z0.13'=z0.13+(0.5apex_o,0); z0.35=whatever[z0.12,z0.2l]; y0.35=y0.4; +penpos0.5(0.917stem,0); z0.5=(x0.1,y0.4l); penpos0.6(hair,-68); z0.6-z0.5r=whatever*dir112; +z0.6l-z0.5l=whatever*dir72; penpos0.7(hair,0); z0.7l=z0.5l; penpos0.9(hair,-22); +penpos0.11(hair,-22); z0.11r=(w',1.321x_height); z0.11-z0.9=whatever*dir68; x0.9=0.831w'; +penpos0.8(whatever,68); z0.8l=z0.9l; y0.8r=y0.11r; z0.14=(0.673w',1.366x_height); filldraw +z0.1r..z0.13'..z0.2r... z0.5r---z0.6l & z0.6l--z0.35--z0.2l.. z0.12'..z0.1l--z0.1r & cycle; +filldraw z0.3..z0.6{z0.6-z0.5l}--z0.2l--z0.3 & cycle; filldraw z0.6l{dir72}..z0.14{right}.. +z0.8r{dir-22}--z0.8l{dir158}.. z0.6r{z0.5l-z0.6}--z0.6l & cycle; penstroke z0.9e--z0.11e; +z100=(x0.2r,0); penpos1.1(hair,0); z1.1=(0.318w'+x100,-d); penpos1.2(1.313stem,0); +z1.2=(x1.1,0.795x_height); penpos1.4(3/4stem,-90); z1.4r=(0.857w'+x100,y1.2); z1.3=(x100,y1.2); +z1.12=whatever[z1.1l,z1.2l]; z1.13=whatever[z1.1r,z1.2r]; y1.12=y1.13=0.512x_height; +z1.12'=z1.12-(0.5apex_o,0); z1.13'=z1.13+(0.5apex_o,0); z1.35=whatever[z1.12,z1.2l]; y1.35=y1.4; +penpos1.5(0.917stem,0); z1.5=(x1.1,y1.4l); penpos1.6(hair,-68); z1.6-z1.5r=whatever*dir112; +z1.6l-z1.5l=whatever*dir72; penpos1.7(hair,0); z1.7l=z1.5l; penpos1.9(hair,-22); +penpos1.11(hair,-22); z1.11r=(x100+w',1.321x_height); z1.11-z1.9=whatever*dir68; x1.9=0.831w'+x100; +penpos1.8(whatever,68); z1.8l=z1.9l; y1.8r=y1.11r; z1.14=(0.673w'+x100,1.366x_height); filldraw +z1.1r..z1.13'..z1.2r... z1.5r---z1.6l & z1.6l--z1.35--z1.2l.. z1.12'..z1.1l--z1.1r & cycle; +filldraw z1.3..z1.6{z1.6-z1.5l}--z1.2l--z1.3 & cycle; filldraw z1.6l{dir72}..z1.14{right}.. +z1.8r{dir-22}--z1.8l{dir158}.. z1.6r{z1.5l-z1.6}--z1.6l & cycle; penstroke z1.9e--z1.11e; filldraw +z1.5--z1.4l--z1.4r--z1.2--z1.5 & cycle; +.endchar; + +.cmchar "The Fraktur ligature ff"; +.beginchar(ff_ligature,6.928lower_u#,1.366x_height#,3.167lower_u#); +.adjust_fit(0,0.05alpha*w#+usual_right#-0.85u#); +w':=0.655w; penpos0.1(hair,0); z0.1=(0.318w',-d); penpos0.2(1.313stem,0); +z0.2=(x0.1,0.795x_height); penpos0.4(3/4stem,-90); z0.4r=(0.857w',y0.2); z0.3=(0,y0.2); +z0.12=whatever[z0.1l,z0.2l]; z0.13=whatever[z0.1r,z0.2r]; y0.12=y0.13=0.512x_height; +z0.12'=z0.12-(0.5apex_o,0); z0.13'=z0.13+(0.5apex_o,0); z0.35=whatever[z0.12,z0.2l]; y0.35=y0.4; +penpos0.5(0.917stem,0); z0.5=(x0.1,y0.4l); penpos0.6(hair,-68); z0.6-z0.5r=whatever*dir112; +z0.6l-z0.5l=whatever*dir72; penpos0.7(hair,0); z0.7l=z0.5l; penpos0.9(hair,-22); +penpos0.11(hair,-22); z0.11r=(w',1.321x_height); z0.11-z0.9=whatever*dir68; x0.9=0.831w'; +penpos0.8(whatever,68); z0.8l=z0.9l; y0.8r=y0.11r; z0.14=(0.673w',1.366x_height); filldraw +z0.1r..z0.13'..z0.2r... z0.5r---z0.6l & z0.6l--z0.35--z0.2l.. z0.12'..z0.1l--z0.1r & cycle; +filldraw z0.3..z0.6{z0.6-z0.5l}--z0.2l--z0.3 & cycle; filldraw z0.6l{dir72}..z0.14{right}.. +z0.8r{dir-22}--z0.8l{dir158}.. z0.6r{z0.5l-z0.6}--z0.6l & cycle; penstroke z0.9e--z0.11e; +z100=(x0.2r,0); penpos1.1(hair,0); z1.1=(0.318w'+x100,-d); penpos1.2(1.313stem,0); +z1.2=(x1.1,0.795x_height); penpos1.4(3/4stem,-90); z1.4r=(0.857w'+x100,y1.2); z1.3=(x100,y1.2); +z1.12=whatever[z1.1l,z1.2l]; z1.13=whatever[z1.1r,z1.2r]; y1.12=y1.13=0.512x_height; +z1.12'=z1.12-(0.5apex_o,0); z1.13'=z1.13+(0.5apex_o,0); z1.35=whatever[z1.12,z1.2l]; y1.35=y1.4; +penpos1.5(0.917stem,0); z1.5=(x1.1,y1.4l); penpos1.6(hair,-68); z1.6-z1.5r=whatever*dir112; +z1.6l-z1.5l=whatever*dir72; penpos1.7(hair,0); z1.7l=z1.5l; penpos1.9(hair,-22); +penpos1.11(hair,-22); z1.11r=(x100+w',1.321x_height); z1.11-z1.9=whatever*dir68; x1.9=0.831w'+x100; +penpos1.8(whatever,68); z1.8l=z1.9l; y1.8r=y1.11r; z1.14=(0.673w'+x100,1.366x_height); filldraw +z1.1r..z1.13'..z1.2r... z1.5r---z1.6l & z1.6l--z1.35--z1.2l.. z1.12'..z1.1l--z1.1r & cycle; +filldraw z1.3..z1.6{z1.6-z1.5l}--z1.2l--z1.3 & cycle; filldraw z1.6l{dir72}..z1.14{right}.. +z1.8r{dir-22}--z1.8l{dir158}.. z1.6r{z1.5l-z1.6}--z1.6l & cycle; penstroke z1.9e--z1.11e; filldraw +z1.5--z1.4l--z1.4r--z1.2--z1.5 & cycle; filldraw z0.5--z0.4l--z0.4r--z0.2--z0.5 & cycle; +.endchar; + +.cmchar "The Fraktur ligature sz"; +.beginchar(eszet,5.444lower_u#,1.366x_height#,3.167lower_u#); +.adjust_fit(0,0.05alpha*w#+usual_right#+0.5u#); +w':=0.834w; +penpos0.1(hair,0); z0.1=(0.318w',-d); penpos0.2(1.313stem,0); +z0.2=(x0.1,0.795x_height); penpos0.4(3/4stem,-90); z0.4r=(0.857w',y0.2); +z0.3=(0,y0.2); z0.12=whatever[z0.1l,z0.2l]; z0.13=whatever[z0.1r,z0.2r]; +y0.12=y0.13=0.512x_height; z0.12'=z0.12-(0.5apex_o,0); +z0.13'=z0.13+(0.5apex_o,0); z0.35=whatever[z0.12,z0.2l]; y0.35=y0.4; +penpos0.5(0.917stem,0); z0.5=(x0.1,y0.4l); penpos0.6(hair,-68); +z0.6-z0.5r=whatever*dir112; z0.6l-z0.5l=whatever*dir72; penpos0.7(hair,0); +z0.7l=z0.5l; penpos0.9(hair,-22); penpos0.11(hair,-22); +z0.11r=(w',1.321x_height); z0.11-z0.9=whatever*dir68; x0.9=0.831w'; +penpos0.8(whatever,68); z0.8l=z0.9l; y0.8r=y0.11r; +z0.14=(0.673w',1.366x_height); filldraw z0.1r..z0.13'..z0.2r... z0.5r---z0.6l & +z0.6l--z0.35--z0.2l.. z0.12'..z0.1l--z0.1r & cycle; filldraw +z0.3..z0.6{z0.6-z0.5l}--z0.2l--z0.3 & cycle; filldraw +z0.6l{dir72}..z0.14{right}.. z0.8r{dir-22}--z0.8l{dir158}.. +z0.6r{z0.5l-z0.6}--z0.6l & cycle; penstroke z0.9e--z0.11e; +z100=(x0.2r-hair,hair); w':=0.633w; d':=0.679w; penpos1(hair,122); +penpos2(hair,180); penpos3(0.625stem,-42); penpos4(1.313stem,37); +z1l=(w',0.524h)+z100; z2r=(x0.2,-0.1d'+y100); z3r=(0.548w',-0.8d')+z100; +z4r=(w'+u,0.103x_height)+z100; penstroke z2e{down}..z3e{right} ..z4e{up}; +penpos5(hair,-90); z5=(0,0.414x_height)+z100; z6-z5=whatever*dir38; +x6=0.484w'+x100; filldraw z5r{right}..z4l{down}-- z4r{up}..z6--z5r & +cycle; penpos7(4/3stem,43); z7=(0.629w',0.734x_height)+z100; +z8=(0.532w',x_height+apex_o)+z100; z9=(0.081w',0.793x_height)+z100; +penpos9'(hair,-90); z9'l=z9; penstroke z5e{z6-z5r}..z7e{up}; filldraw +z7l{up}..z9'r{z9-z8}--z9--z8.. z7r{down}--z7l & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur ligature sz"; +if (dc_layout=0): xchar_code:=oct"337"; + beginchar(xchar_code,5.444lower_u#,1.366x_height#,3.167lower_u#); + adjust_fit(0,0.05alpha*w#+usual_right#+0.5u#); + currentpicture:=last_char; + endchar; +fi; + +.cmchar "The Fraktur ligature tz"; +.beginchar(tz_ligature,4.75lower_u#,1.186x_height#,3.167lower_u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#+u#); +w':=0.994w; penpos1(stem,0); penpos2(stem,0); z1=(0.241w',foot); z2=(x1,0.828x_height); +z3=(1/4[x2l,x2r],x_height+foot); z3'=(x2r,y3); z3''=(x2l,0.633(y3-y2)+y2); penpos4(hair,74); +z4=(0.5x2l,1.259x_height); penpos5(hair,-90); z5l=(x2r+0.875stem,h); penstroke z1e--z2e; +penpos5''(hair,-90); z5''=z5+(hair,-eps); penpos5'(hair,-40); z5'l=(0,0.097x_height); +penpos6(hair,-37); penpos7(hair,-37); y6r=-apex_o; x6r=x1r; z7-z6=whatever*dir48; x7=0.632w; +z6'=whatever[z6,z7]; y6'=y6l+apex_o; z15=whatever[z6l,z7l]; z15-z1r=whatever*dir-30; penstroke +z6e---z7e; filldraw z5'l..z1l{up}--z1r-- z15--z7l-- z6r---z6l...z5'r--z5'l & cycle; +penpos1.4(3/4stem,-90); z1.4=(x1r,.859x_height); z1.3=(0,y1.4r); z1.35=(x2l,y1.4l); filldraw +z1.3--(x1,y1.35)--z1.4l--z1.4r-- z1.3 & cycle; penpos1.5(hair,0); z1.5=0.219[z1.4l,(x2r,y1.4l)]; +penpos1.6(hair,-43); z1.6r=(x2r,0.283[y1.4l,y5l]); penpos1.7(stem,57); z1.7r-z1.6l=whatever*dir47; +x1.7r=0.636[x2r,x1.4]; penpos1.6'(hair,-43); z1.6'l=z1.7r; +penpos1.8(stem,60); z1.8r=(w,0.579[y1.4l,y5l]); penpos30(hair,0); z30l=(x1r,h); filldraw +z1.3--z30l--z30r..z2r{down} --(x2r,y1.3)--z1.3 & cycle; z100=(x1r-hair,hair); w':=0.725w; +d':=0.679d; penpos0.1(hair,122); penpos0.2(hair,180); penpos0.3(0.625stem,-42); +penpos0.4(1.313stem,37); z0.1l=(w',0.524h)+z100; z0.2r=(0,-0.1d')+z100; z0.3r=(0.548w',-d')+z100; +z0.4r=(w'+u,0.103x_height)+z100; penstroke z0.2e{down}..z0.3e{right} ..z0.4e{up}; +penpos0.5(hair,-90); z0.5=(0,0.414x_height)+z100; z0.6-z0.5=whatever*dir38; x0.6=0.484w'+x100; +filldraw z0.5r{right}..z0.4l{down}-- z0.4r{up}..z0.6--z0.5r & cycle; penpos0.7(4/3stem,43); +z0.7=(0.629w',0.734x_height)+z100; z0.8=(0.532w',x_height+apex_o)+z100; +z0.9=(0.081w',0.793x_height)+z100; penpos0.9'(hair,-90); z0.9'l=z0.9; penstroke +z0.5e{z0.6-z0.5r}..z0.7e{up}; filldraw z0.7l{up}..z0.9'r{z0.9-z0.8}--z0.9--z0.8.. +z0.7r{down}--z0.7l & cycle; filldraw (x1r,y1.4l){right}.. z0.8{z0.8-z0.9}--z0.9--(x1r,y1.4l) & +cycle; +.endchar; + +numeric nombre; nombre:= 5gencoef[1,1.155556]; + +.cmchar "The Fraktur letter a with little-e Umlaut"; +.beginchar(a_old,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +penpos1(stem,0); penpos2(stem,0); penpos3(gencoef[hair,2hair],-51); +penpos4(hair,-52); penpos5(hair,-52); penpos6(whatever,angle((w,0.35h))); +penpos8(whatever,0); penpos9(hair,gencoef[-30,-50]); penpos11(whatever,0); +penpos12(whatever,-90); penpos11''(hair,-30); +z1=(gencoef[0.7w,0.779w],gencoef[0.345h,0.24h]); +z2=(x1,gencoef[0.807h,0.74h]); z3r=(gencoef[0.911w,w],gencoef[0.925h,0.829h]); +z4l=(gencoef[x2l,0.452w],h+apex_o); z5=whatever[(0,gencoef[0.74h,0.685h]),z4]; +x5l=gencoef[1/3w,0.288w]; z6l=(0,gencoef[0.462h,0.342h]); x6r=1.083stem; +z9=(gencoef[0.694w,0.764w],y1); z8l=whatever[z9l,(w,gencoef[0.623h,0.404h])]; +y8=-apex_o; z9r-z8r=whatever*(z9l-z8l); z8'=whatever[z8l,z9l]; y8'=y8+apex_o; +z10=whatever[z8l,z9l]; y10=0.228h; +z7=(gencoef[0.439w,0.481w],gencoef[0.203h,0.171h]); +z11''r=(gencoef[0.78w,0.814w],-apex_o); +z12r-z11''r=whatever*((gencoef[x9l,0.6w],y9l)-z8l); +z12l-z11''l=whatever*((gencoef[x9l,0.6w],y9l)-z8l); x12=w; z11r=z11''r; +z12l-z11l=whatever*((gencoef[x9l,0.6w],y9l)-z8l); z11'=whatever[z11l,z12l]; +y11'=y11+apex_o; z12'=whatever[z11l,z12l]; y12'=gencoef[0.217h,y7]; +penpos2'(stem,0); z2'=(x2,gencoef[y2,0.651h]); +filldraw z11'..z1l{up}--z2l--z5r-- z4l{0.7[z2l,z3r]-z4l}..z3l--z3r.. +z2'r{down}---z1r...z12'--z12l--z12r --z11r--z11l--z11' & cycle; penstroke +z6e{up}...z5e---z4e; penstroke z8e--z9e; filldraw z8'..z6l{up}--z6r{down} +..z7..z10{z9-z8} & z10--z8' & cycle; z100=(x9l,1.214x_height); +e_umlaut(100);.endchar; + +nombre:= 3.65gencoef[1,1.230769]; + +.cmchar "The Fraktur letter e with little-e Umlaut"; +.beginchar(e_old,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); z1l=(0,0.486h); +penpos7(gencoef[hair,1.2hair],gencoef[-45,-56]); +penpos8(gencoef[hair,1.2hair],gencoef[-45,-56]); +z8-z7=whatever*((w,gencoef[0.45h,0.356h])); x8r=gencoef[w,0.9w]; +x7r=gencoef[x1r,0.4125w]; y7r=-apex_o; z7'=whatever[z7,z8]; +y7'=gencoef[y7l,y7r]; x7':=gencoef[x7',x7r]; z9=whatever[z7l,z8l]; +x9=gencoef[0.8w,x8l]; z2=(gencoef[0.092w,0.07475w],0.828h); +penpos3(gencoef[hair,1.2hair],-69); penpos4(gencoef[hair,1.2hair],-69); +y3l=h+apex_o; penpos6(gencoef[hair,1.2hair],-69); z6r=(x1r,0.5h); +z3l-z2=whatever*((w,gencoef[0.3h,0.25h])); x4r=w-gencoef[apex_o,0]; +z4-z6=whatever*((w,gencoef[0.3h,0.226h])); penpos5(1.083stem,angle(z4-z6)); +z5r=z4r; z5'=whatever[z2,z3l]; z5'-z5l=whatever*(z3-z4); penstroke z6e--z4e; +filldraw z5l--z5'--z3l--z4r--z5l & cycle; penpos2'(gencoef[hair,1.2hair],-69); +z3-z2'=whatever*(z4-z6); x2'r=gencoef[x1r,0.5w]; +z10=whatever[(0,0),(w,gencoef[0.301h,0.363h])]; y10=0.193h; penstroke z2'e--z3e; +filldraw z7'{dir135}..z1l{up}..z2 & +z2..z2'l{z4-z6}--z2'r{gencoef[down,z6-z4]}..{down}z1r..z10 +..z9{z8-z7}--z8l-- z8r--z7' & cycle; penstroke z7e--z8e; z100=(0.569w,1.214x_height); +e_umlaut(100); +.endchar; + +nombre:=4.75gencoef[1,1.140351]; + +.cmchar "The Fraktur letter o with little-e Umlaut"; +.beginchar(o_old,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(hair,-37); penpos2(hair,-37); z9=(0,gencoef[0.117h,0.19863h]); +x1r=gencoef[0.5w,0.561224w]; y1r=-apex_o; penpos3(1.083stem,31); +z3r=(w,gencoef[0.479h,0.589h]); penpos7(stem,0); +z7=(gencoef[0.211w,0.184w],gencoef[0.866h,0.829h]); penpos4(1.083stem,22); +z4-z7l=whatever*dir22; y4r=h+apex_o; penpos5'(hair,-68); z5'l=z7l; +penpos6(hair,-68); z6l=z4; penpos8(stem,0); z8=(x7,gencoef[foot,0.267h]); +z2-z1=whatever*((w,0.786h)); x8'=x8r; +y8'=foot; z2-z8r=whatever*(z1-z9); penstroke z1e---z2e...z3e.. +z4e{dir122}; penstroke z5'e--z6e; penstroke z8e--z7e; filldraw +z9..z8l{up}--z8r--z2l--z1l--z9 & cycle; z7'=whatever[z5',z6]; x7'=x7r; filldraw +z7l--z7'--z7r--z7l & cycle; z100=(x4,1.214x_height); +e_umlaut(100); +.endchar; + +nombre:=6.15gencoef[1,1.107527]; + +.cmchar "The Fraktur letter u with little-e Umlaut"; +.beginchar(u_old,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); z1=(0.727w,foot); penpos2(stem,0); z2=(x1,0.838h); +penpos3(2/3hair,90); penpos4(2/3hair,0); penpos5(2/3hair,-90); +penpos3'(1.5stem,0); z3'=(x1,0.5[y2,h+apex_o]); z3=z3'l; z5=z3'r; +z4=(x1,h+apex_o); penpos16(hair,-32); penpos17(hair,-32); z17-z16=whatever*dir58; +z16r=(0.795w,-apex_o); x17r=w; z18=whatever[z16,z17]; y18=0.179h; penstroke +z1e--z2e; filldraw z1l--z16--z18{dir148}.. (x1r,0.31h){up}--z1l & cycle; +penstroke z16e--z17e; filldraw z2l{up}..z3l{dir165}-- +z3r{dir15}..z4l{dir75}--z4r{dir-75} ..z5l{dir-15}--z5r{dir195}..z2r{down} --z2l +& cycle; penpos11(stem,0); penpos12(stem,0); z11=(0.257w,foot); +z12=(x11,0.71x_height); penpos7(hair,-41); penpos6(hair,-41); z7r=(x11r,-apex_o); +z6r=whatever[z7r,z1l]; x6=x1; penpos9(hair,90); z9=(0.063w,0.11x_height); +penpos8(whatever,0); z8r=z7r; x8l=x7l; z10=whatever[z7l,z6l]; +z10-z11r=whatever*dir-41; filldraw z9l{right}..z8l--z8r--z6r +--z6l--z10--z11r--z11l{down}..z9r{dir195} --z9l & cycle; penstroke z11e--z12e; +penpos14(hair,-38); z14l=(0,0.805x_height); z13=(0.217w,h+apex_o); +z15-z14r=whatever*(z13-z14l); x15=0.097w; filldraw z13..z12r{down}--z12l{up} +..z15--z14r--z14l--z13 & cycle; z100=(x2l-hair,1.214x_height); +e_umlaut(100); +.endchar; + +numeric nombre; nombre:= 5gencoef[1,1.155556]; + +.cmchar "The Fraktur letter a with Umlaut"; +.beginchar(oct"344",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +penpos1(stem,0); penpos2(stem,0); penpos3(gencoef[hair,2hair],-51); +penpos4(hair,-52); penpos5(hair,-52); penpos6(whatever,angle((w,0.35h))); +penpos8(whatever,0); penpos9(hair,gencoef[-30,-50]); penpos11(whatever,0); +penpos12(whatever,-90); penpos11''(hair,-30); +z1=(gencoef[0.7w,0.779w],gencoef[0.345h,0.24h]); +z2=(x1,gencoef[0.807h,0.74h]); z3r=(gencoef[0.911w,w],gencoef[0.925h,0.829h]); +z4l=(gencoef[x2l,0.452w],h+apex_o); z5=whatever[(0,gencoef[0.74h,0.685h]),z4]; +x5l=gencoef[1/3w,0.288w]; z6l=(0,gencoef[0.462h,0.342h]); x6r=1.083stem; +z9=(gencoef[0.694w,0.764w],y1); z8l=whatever[z9l,(w,gencoef[0.623h,0.404h])]; +y8=-apex_o; z9r-z8r=whatever*(z9l-z8l); z8'=whatever[z8l,z9l]; y8'=y8+apex_o; +z10=whatever[z8l,z9l]; y10=0.228h; +z7=(gencoef[0.439w,0.481w],gencoef[0.203h,0.171h]); +z11''r=(gencoef[0.78w,0.814w],-apex_o); +z12r-z11''r=whatever*((gencoef[x9l,0.6w],y9l)-z8l); +z12l-z11''l=whatever*((gencoef[x9l,0.6w],y9l)-z8l); x12=w; z11r=z11''r; +z12l-z11l=whatever*((gencoef[x9l,0.6w],y9l)-z8l); z11'=whatever[z11l,z12l]; +y11'=y11+apex_o; z12'=whatever[z11l,z12l]; y12'=gencoef[0.217h,y7]; +penpos2'(stem,0); z2'=(x2,gencoef[y2,0.651h]); +filldraw z11'..z1l{up}--z2l--z5r-- z4l{0.7[z2l,z3r]-z4l}..z3l--z3r.. +z2'r{down}---z1r...z12'--z12l--z12r --z11r--z11l--z11' & cycle; penstroke +z6e{up}...z5e---z4e; penstroke z8e--z9e; filldraw z8'..z6l{up}--z6r{down} +..z7..z10{z9-z8} & z10--z8' & cycle; + % z100=(x9l,1.214x_height); +last_char:=currentpicture; +z100=(0.5w,x_height); +umlaut(100);.endchar; + +.cmchar "The Fraktur letter a with acute"; +.beginchar(oct"341",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +endchar; + +.cmchar "The Fraktur letter a with breve"; +if (dc_layout>0): xchar_code:=oct"240"; + else: xchar_code:=oct"343"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +currentpicture:=last_char; +z100=(0.5w,x_height); breve(100); +endchar; + +.cmchar "The Fraktur letter a with ogonek"; +if (dc_layout>0): xchar_code:=oct"241"; + else: xchar_code:=oct"261"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0.2x_height#); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +currentpicture:=last_char; +z100=(0.8w+u,0); ogonek(100); +endchar; + +.cmchar "The Fraktur letter a with tilde"; +if (dc_layout>0): +.beginchar(oct"343",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +currentpicture:=last_char; +z100=(0.5w,x_height); tilde(100); +endchar; +fi; + +.cmchar "The Fraktur letter a with scandinavian circle"; +if (dc_layout>0): +.beginchar(oct"345",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +currentpicture:=last_char; +z100=(0.5w,x_height); o_umlaut(100); +endchar; +fi; + +.cmchar "The Fraktur letter a with grave"; +if (dc_layout>0): xchar_code:=oct"340"; + else: xchar_code:=oct"270"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +currentpicture:=last_char; +z100=(0.5w,x_height); grave(100); +endchar; + +.cmchar "The Fraktur letter a with hat"; +.beginchar(oct"342",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#-gencoef[0.5u#,0]); +currentpicture:=last_char; +z100=(0.5w,x_height); hat(100); +endchar; + +nombre:= 3.65gencoef[1,1.230769]; + +.cmchar "The Fraktur letter e with Umlaut"; +.beginchar(oct"353",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); z1l=(0,0.486h); +penpos7(gencoef[hair,1.2hair],gencoef[-45,-56]); +penpos8(gencoef[hair,1.2hair],gencoef[-45,-56]); +z8-z7=whatever*((w,gencoef[0.45h,0.356h])); x8r=gencoef[w,0.9w]; +x7r=gencoef[x1r,0.4125w]; y7r=-apex_o; z7'=whatever[z7,z8]; +y7'=gencoef[y7l,y7r]; x7':=gencoef[x7',x7r]; z9=whatever[z7l,z8l]; +x9=gencoef[0.8w,x8l]; z2=(gencoef[0.092w,0.07475w],0.828h); +penpos3(gencoef[hair,1.2hair],-69); penpos4(gencoef[hair,1.2hair],-69); +y3l=h+apex_o; penpos6(gencoef[hair,1.2hair],-69); z6r=(x1r,0.5h); +z3l-z2=whatever*((w,gencoef[0.3h,0.25h])); x4r=w-gencoef[apex_o,0]; +z4-z6=whatever*((w,gencoef[0.3h,0.226h])); penpos5(1.083stem,angle(z4-z6)); +z5r=z4r; z5'=whatever[z2,z3l]; z5'-z5l=whatever*(z3-z4); penstroke z6e--z4e; +filldraw z5l--z5'--z3l--z4r--z5l & cycle; penpos2'(gencoef[hair,1.2hair],-69); +z3-z2'=whatever*(z4-z6); x2'r=gencoef[x1r,0.5w]; +z10=whatever[(0,0),(w,gencoef[0.301h,0.363h])]; y10=0.193h; penstroke z2'e--z3e; +filldraw z7'{dir135}..z1l{up}..z2 & +z2..z2'l{z4-z6}--z2'r{gencoef[down,z6-z4]}..{down}z1r..z10 +..z9{z8-z7}--z8l-- z8r--z7' & cycle; penstroke z7e--z8e; +z100=(0.6w,x_height); +last_char:=currentpicture; +umlaut(100); +.endchar; + +.cmchar "The Fraktur letter e with acute"; +.beginchar(oct"351",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +endchar; + +.cmchar "The Fraktur letter e with grave"; +if (dc_layout>0): +.beginchar(oct"350",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); grave(100); +endchar; +fi; + +.cmchar "The Fraktur letter e with hacek"; +if (dc_layout>0): xchar_code:=oct"245"; + else: xchar_code:=oct"354"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hacek(100); +endchar; + +.cmchar "The Fraktur letter e with hat"; +if (dc_layout>0): +.beginchar(oct"352",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hat(100); +endchar; +fi; + +.cmchar "The Fraktur letter e with ogonek"; +if (dc_layout>0): xchar_code:=oct"246"; + else: xchar_code:=oct"352"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.6w+0.5u,0); ogonek(100); +endchar; + +nombre:=4.75gencoef[1,1.140351]; + +.cmchar "The Fraktur letter o with Umlaut"; +.beginchar(oct"366",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(hair,-37); penpos2(hair,-37); z9=(0,gencoef[0.117h,0.19863h]); +x1r=gencoef[0.5w,0.561224w]; y1r=-apex_o; penpos3(1.083stem,31); +z3r=(w,gencoef[0.479h,0.589h]); penpos7(stem,0); +z7=(gencoef[0.211w,0.184w],gencoef[0.866h,0.829h]); penpos4(1.083stem,22); +z4-z7l=whatever*dir22; y4r=h+apex_o; penpos5'(hair,-68); z5'l=z7l; +penpos6(hair,-68); z6l=z4; penpos8(stem,0); z8=(x7,gencoef[foot,0.267h]); +z2-z1=whatever*((w,0.786h)); x8'=x8r; +y8'=foot; z2-z8r=whatever*(z1-z9); penstroke z1e---z2e...z3e.. +z4e{dir122}; penstroke z5'e--z6e; penstroke z8e--z7e; filldraw +z9..z8l{up}--z8r--z2l--z1l--z9 & cycle; z7'=whatever[z5',z6]; x7'=x7r; filldraw +z7l--z7'--z7r--z7l & cycle; z100=(x4,x_height); +last_char:=currentpicture; +umlaut(100); +.endchar; + +.cmchar "The Fraktur letter o with acute"; +.beginchar(oct"363",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +endchar; + +.cmchar "The Fraktur letter o with Hungarian umlaut"; +if (dc_layout>0): xchar_code:=oct"256"; + else: xchar_code:=oct"365"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hungarum(100); +endchar; + +.cmchar "The Fraktur letter o with tilde"; +if (dc_layout>0): +.beginchar(oct"365",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); tilde(100); +endchar; +fi; + +.cmchar "The Fraktur letter o with slash"; +if (dc_layout>0): xchar_code:=oct"370"; + else: xchar_code:=oct"034"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +pickup penrazor xscaled 0.5stem yscaled hair rotated 30; +draw (0,0)--(w,x_height); +endchar; + +.cmchar "The Fraktur letter o with grave"; +if (dc_layout>0): +.beginchar(oct"362",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); grave(100); +endchar; +fi; + +.cmchar "The Fraktur letter o with hat"; +.beginchar(oct"364",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hat(100); +endchar; + +nombre:=6.15gencoef[1,1.107527]; + +.cmchar "The Fraktur letter u with Umlaut"; +.beginchar(oct"374",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(stem,0); z1=(0.727w,foot); penpos2(stem,0); z2=(x1,0.838h); +penpos3(2/3hair,90); penpos4(2/3hair,0); penpos5(2/3hair,-90); +penpos3'(1.5stem,0); z3'=(x1,0.5[y2,h+apex_o]); z3=z3'l; z5=z3'r; +z4=(x1,h+apex_o); penpos16(hair,-32); penpos17(hair,-32); z17-z16=whatever*dir58; +z16r=(0.795w,-apex_o); x17r=w; z18=whatever[z16,z17]; y18=0.179h; penstroke +z1e--z2e; filldraw z1l--z16--z18{dir148}.. (x1r,0.31h){up}--z1l & cycle; +penstroke z16e--z17e; filldraw z2l{up}..z3l{dir165}-- +z3r{dir15}..z4l{dir75}--z4r{dir-75} ..z5l{dir-15}--z5r{dir195}..z2r{down} --z2l +& cycle; penpos11(stem,0); penpos12(stem,0); z11=(0.257w,foot); +z12=(x11,0.71x_height); penpos7(hair,-41); penpos6(hair,-41); z7r=(x11r,-apex_o); +z6r=whatever[z7r,z1l]; x6=x1; penpos9(hair,90); z9=(0.063w,0.11x_height); +penpos8(whatever,0); z8r=z7r; x8l=x7l; z10=whatever[z7l,z6l]; +z10-z11r=whatever*dir-41; filldraw z9l{right}..z8l--z8r--z6r +--z6l--z10--z11r--z11l{down}..z9r{dir195} --z9l & cycle; penstroke z11e--z12e; +penpos14(hair,-38); z14l=(0,0.805x_height); z13=(0.217w,h+apex_o); +z15-z14r=whatever*(z13-z14l); x15=0.097w; filldraw z13..z12r{down}--z12l{up} +..z15--z14r--z14l--z13 & cycle; % z100=(x2l-hair,1.214x_height); +last_char:=currentpicture; +z100=(0.5w,x_height); +umlaut(100); +.endchar; + +.cmchar "The Fraktur letter u with acute"; +.beginchar(oct"372",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +endchar; + +.cmchar "The Fraktur letter u with Hungarian umlaut"; +if (dc_layout>0): xchar_code:=oct"266"; + else: xchar_code:=oct"373"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hungarum(100); +endchar; + +.cmchar "The Fraktur letter u with grave"; +if (dc_layout>0): +.beginchar(oct"371",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); grave(100); +endchar; +fi; + +.cmchar "The Fraktur letter u with hat"; +if (dc_layout>0): +.beginchar(oct"373",nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hat(100); +endchar; +fi; + +.cmchar "The Fraktur letter u with scandinavian circle"; +if (dc_layout>0): xchar_code:=oct"267"; + else: xchar_code:=oct"371"; + fi; +.beginchar(xchar_code,nombre*lower_u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); o_umlaut(100); +endchar; + +.cmchar "The Fraktur hyphen"; +.beginchar(oct"055",4u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(0.5stem,-90); +penpos2(0.5stem,-90); +penpos3(0.5stem,-90); +penpos4(0.5stem,-90); penpos5(stem,-90); +z2-z1=whatever*dir35; +z4-z3=whatever*dir35; +z3r=z5l; z5r=z1l; x1=0; +x2=x4=w; +y1r=foot; +penstroke z1e--z2e; +penstroke z3e--z4e; +last_char:=currentpicture; +.endchar; + +% added by V. Kurz 2002 +.cmchar "The Fraktur hyphen"; +if (dc_layout=0): xchar_code:=oct"234"; + beginchar(xchar_code,4u#,x_height#,0); + adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); + currentpicture:=last_char; + endchar; +fi; + +def par_s(suffix $) = +h':=cap_height; w':=0.379h'; +z$.1=z$+(0.5w',0.5h'); +penpos$.1(stem,30); +penpos$.2(2hair,0); +penpos$.3(hair,-90); +penpos$.4(hair,180); +penpos$.5(hair,90); +z$.2l=z$+(0,0.8h'); z$.3l=(x$.1,y$+h'); +z$.4=z$+(0.84w',0.886h'); +z$.5=(x$.4r,y$+0.826h'); +penstroke z$.2e{up}..z$.3e +{right} if panw: ..z$.4e{down}..z$.5e{left} fi; +penpos$.6(2hair,90); z$.6l=z$.5l; +if panw: +filldraw z$.6r..z$.6l..z$.6r & cycle; +fi +penpos$.1'(stem,-150); +penpos$.2'(2hair,180); +penpos$.3'(hair,90); +penpos$.4'(hair,0); +penpos$.5'(hair,-90); +z$.1=z$.1'; +z$.2'r=z$+(w',0.2h'); z$.3'r=(x$.1,y$); +z$.4'=z$+(0.16w',0.114h'); +z$.5'=(x$.4'r,y$+0.174h'); +penpos$.2''(2hair,0); z$.2''=z$.2'; +z$.25=(z$.2''{up}..z$.2{up}) +intersectionpoint (z$+(0,0.5h')-- +z$+(w',0.5h')); +penpos$.25(stem,30); +penstroke z$.2''e{up}..z$.25e.. +z$.2e{up}; +penstroke z$.2'e{down}..z$.3'e +{left} if katw: ..z$.4'e{up}..z$.5'e{right} fi; +penpos$.6'(2hair,-90); z$.6'l=z$.5'l; +if katw: +filldraw z$.6'r..z$.6'l..z$.6'r & cycle; +fi +enddef; + +.cmchar "The Fraktur paragraph sign"; +if (dc_layout>0): xchar_code:=oct"237"; + else: xchar_code:=oct"247"; + fi; +.beginchar(xchar_code,7.4u#,cap_height#,3.167u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +boolean panw, katw; +panw:=true; katw:=false; +z0=(0.17h,0); par_s(0); +panw:=false; katw:=true; +z1=(0,-0.3h); par_s(1); +.endchar; + +.cmchar "The Fraktur Mitlaut J proposed by Sanders in 1879"; +.beginchar("$",8.541u#,cap_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,28); penpos2(cap_hair,-17.5); penpos3(0.889cap_stem,-116); penpos4(cap_stem,-126); +penpos5(cap_hair,-44); penpos6(1.056cap_stem,53); penpos7(1.056cap_stem,21); penpos8(cap_hair,-90); +penpos9(cap_hair,180); z1=(0.115w,-0.886d); z2r=(x1,-0.519d); z3=(0.234w,-0.1d); z4r=(0.517w,-d); +z5=(0.795w,-0.329d); z6r=(0.966w,0.196h); z7=(0.636w,0.56h); z8=(0.808w,0.683h); z9l=(x6r,0.554h); +penstroke z1e..z2e{up}..z3e{right} ..z4e{right}..z5e..z6e{up}..z7e{up} ..z8e{right}..z9e{down}; +penpos10(1.037cap_stem,50); penpos11(cap_hair,-45); penpos12(0.889cap_stem,43); +penpos13(1.185cap_stem,-146); penpos14(0.741cap_stem,-119); penpos15(cap_hair,0); +penpos16(cap_hair,28); z10l=z11r=(0.1w,0.515h); z12l=(0,0.69h); z13l=(0.506w,h+apex_o); +z14r=z8l+(0,0.035h); z15r=(w,0.875h); z16=(x15l,0.924h); filldraw z11l{z12r-z11l}..z12l{up}-- +z12r{down}..z10r--z10l--z11l & cycle; penstroke z12e{up}..z13e{right}.. +z14e{right}..z15e{up}..z16e{dir118}; penpos20(hair,-41); penpos21(hair,-41); +penpos22(2/3cap_stem,-90); penpos23(0.593cap_stem,-113); z20l=(0,0.235h); z21=(x8,0.48y8); +z22=(0.261w,0.328h); z23=(0.586w,0.251h); penstroke z20e..z22e{right}..z23e{right} ..z21e; +.endchar; + +% 311 --> 100 by D. Taupin +.cmchar "The Fraktur symbol for etc"; .beginchar(oct"100",8.194lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); penpos1(hair,-52); +penpos2(hair,-52); penpos3(stem,48); penpos4(stem,48); penpos5(hair,-42); penpos6(1.2stem,34); +penpos8(hair,-49); z1r=(0.22w,-apex_o); z2-z1=whatever*dir38; x2=0.458w; z3l=z1r; +z4l-z1r=whatever*dir140; x4l=0; z5l=z4; y6=0.707h; x6r=x2r; z7=(0.231w,h+apex_o); +z9=(0.163w,0.841h); z8l=(0,0.793h); penstroke z1e--z2e; penstroke z3e--z4e; penstroke +z5e{z4r-z4l}..z6e{up}; filldraw z6r{up}..z7{dir160} & z7-- z8l--z8r{z7-z8l}..z9{right}..z6l{down} +--z6r & cycle; penpos10(hair,-59); penpos11(hair,-59); penpos12(whatever,50); penpos13(1.2stem,30); +penpos14(stem,11.5); penpos15(hair,-75); penpos16(0.857stem,14); penpos17(0.857stem,14); +z11r=(0.695w,-apex_o); z10-z11=whatever*dir31; x10r=w; z12l=z11r; z12r=whatever[z11l,z10l]; +z13=(0.631w,0.49h); z14=(0.678w,0.859h); z16r=(w,y8l); z15-z16r=whatever*dir105; y15l=h+apex_o; +z17r=z15; penstroke z11e--z10e; penstroke z12e..z13e{up}..z14e.. z15e{z16r-z16l}; penstroke +z16e--z17e; +.endchar; + +.cmchar "Scandinavian circle accent"; +if (dc_layout>0): xchar_code:=oct"006"; + else: xchar_code:=oct"027"; + fi; +.beginchar(xchar_code,9u#,cap_height#,0); +z100=(0.5w,x_height); o_umlaut(100); +.endchar; + +% circle accent from yfrak +% added by V. Kurz 2002 +.cmchar "Degree sign"; +if (dc_layout=0): xchar_code:=oct"260"; + .beginchar(xchar_code,9u#,cap_height#,0); + .adjust_fit(0,0); + penpos0.1(2u,45); z0.1=z0=(0.5w,1.283x_height); + pickup pensquare yscaled 0.5hair xscaled 0.3[hair,stem] rotated 30; + z0.2=z0.1r; z0.3=z0.1l; rt x0.4=rt x0.2; top y0.4=y0; + draw z0.2..z0.3..z0.2; + penlabels(1,2,3,4); + .endchar; +fi; + +.cmchar "The Fraktur letter dotless j"; +if (dc_layout>0): xchar_code:=oct"032"; + else: xchar_code:=oct"021"; + fi; +.beginchar(xchar_code,2.944lower_u#,x_height#,1.611lower_u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(hair,47); penpos2(1.3hair,-90); z2r=(0.16w,-d); penpos5(stem,0); +z5=(0.523w,0.124h); penpos3(2/3stem,0); z3l=(x5l,0.048h); penpos6(stem,0); +z6=(x5,0.824h); penpos7(hair,-90); z7=(0.906w,0.91h); penpos8(hair,-48); +penpos9(hair,-48); z8l=(0.481w,h+apex_o); z8-z9=whatever*((w,0.3448h)); x9l=0; +z9'=whatever[z9r,z8r]; y9'=y9l+apex_o; z1r=(x5r+0.5stem,-0.207d);penstroke +z2e..z3e{up}; penstroke z5e--z6e; filldraw z1r{dir137}..z5r{up}--z5l +--z3l--z3r..z1l{dir-43}--z1r & cycle; filldraw z6r{up}..z7r{right}--z7l... +z8r---z8l--z9l--z9r--z9'.. z6l{down}--z6r & cycle; penpos11(hair,0); +z11r=(x8l,1.076h); z12=(0.571w,1.279h); z13=(0.744w,1.238h); +.endchar; + +.cmchar "The Fraktur letter dotless i"; +if (dc_layout>0): xchar_code:=oct"031"; + else: xchar_code:=oct"020"; + fi; +.beginchar(xchar_code,2.889lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(hair,ext_angle(-44)); penpos2(hair,ext_angle(-44)); +penpos3(hair,ext_angle(-44)); z1l=(0,0.834h); +z2-z1=whatever*((w,0.37h)); y2l=h+apex_o; z3=whatever[z2l,z2r]; x3r=x5r+0.5stem; +z4=(0.606w,0.931h); penpos5(stem,0); z5=(0.433w,0.759h); z6=(x5,0.238h); +penpos6(stem,0); z7=(x6l,0.079h); z8-z7=whatever*dir(ext_angle(-40)); y8=-apex_o; +penpos9(hair,ext_angle(-38)); z9r-z8=whatever*dir52; x9r=w; z10=(0.788w,0.152h); +z5'=whatever[z1,z2]; x5'=x5l; penstroke z5e--z6e; penstroke z1e--z2e; +filldraw z5r{up}..z3r--z2--z5'--z5l{down} --z5r & cycle; filldraw z8--z9r--z9l{z8-z9r} +..z6r{up}--z6l{down}..{z8-z7}z8 & cycle; penpos11(hair,0); z11r=(x2l,1.076h); +z12=(0.56w,1.279h); z13=(0.73w,1.238h); +last_char:=currentpicture; +penlabels(1, 2, 3, 4, 5, 5', 6, 7, 8, 9, 10, 11, 12); +.endchar; + +.cmchar "The Fraktur letter i with Umlaut"; +if (dc_layout>0): +.beginchar(oct"357",2.889*lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); umlaut(100); +endchar; +fi; + +.cmchar "The Fraktur letter i with acute"; +.beginchar(oct"355",2.889*lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); acute(100); +endchar; + +.cmchar "The Fraktur letter i with grave"; +if (dc_layout>0): +.beginchar(oct"354",2.889*lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); grave(100); +endchar; +fi; + +.cmchar "The Fraktur letter i with hat"; +.beginchar(oct"356",2.889*lower_u#,x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,x_height); hat(100); +endchar; + +endinput; + diff --git a/fonts/t1-fraktur/fkt1num.mf b/fonts/t1-fraktur/fkt1num.mf new file mode 100644 index 0000000000..8bbf6a08ce --- /dev/null +++ b/fonts/t1-fraktur/fkt1num.mf @@ -0,0 +1,195 @@ +.cmchar "The Fraktur numeral 1"; +.beginchar("1",2.778u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos2(w,0); z2=(0.5w,0); +penpos1(stem,0); z1=(0.5w,foot); +penpos3(hair,90); penpos4(hair,90); +z3l=z2l; z4l=z2r; penpos5(stem,0); +z5=(x1,0.79h); penpos6(hair,0); +z6r=(x5r,h); penpos7(1.5hair,90); +z7=(0,0.9h); +filldraw z4l--z4r...z1r---z6r-- +z6l..z7r{left}--z7l{right}... +z5l---z1l...z3r--z2l--z4l & cycle; +.endchar; + +.cmchar "The Fraktur numeral 2"; +.beginchar("2",5.694u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(0.625stem,-90); penpos2(stem,-90); +penpos3(4/3stem,-115); +z1r=(0,0); z2r=(0.722w,0.026h); +x3l=w; y3r=-apex_o; +penstroke z1e..z2e{right}..z3e; +penpos4(0.917stem,20); +z4r=(0.966w,0.721h); +z5=(0.478w,0.848h); +z6=(0.244w,h+apex_o); +z7=(0.093w,0.822h); +penpos8(hair,13); z8=(0.146w,3/4h); +penstroke z1e{dir44}..z4e{up}; +filldraw z8r..z5{right}..z4l{down} +--z4r{up}..z6{dir173} & z6--z7--z8l--z8r & +cycle; +.endchar; + +.cmchar "The Fraktur numeral 3"; +.beginchar("3",5.5u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(1.5hair,-90); penpos2(stem,18); +penpos3(1.833stem,35); +penpos4(hair,-90); penpos5(0.625stem,0); +z1r=(0,-apex_o); z2=(0.788w,0.353h); +z4r=(0.167w,0.489h); z5r=(w,h); +z3l=z4r; +penstroke z1e{dir12}..z2e{up}..z3e{left}; +penstroke z4e{dir30}..z5e{up}; +penpos7(0.917stem,-90); +penpos8(0.417stem,-17); +penpos9(hair,0); +z8l=(0,0.796h); z9l-z8l=whatever*dir73; +y9=h+apex_o; z7l=(0.273w,h-apex_o); +z6=(z4l{dir30}..z5l{up}) intersectionpoint +((0,y7r+apex_o)--(w,y7r+apex_o)); +filldraw z8l--z9l--z9r..z7l{right}... +z5l---z5r--z6..z7r{left}..z8r{z8l-z9l} +--z8l & cycle; +.endchar; + +.cmchar "The Fraktur numeral 4"; +.beginchar("4",7.361u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(stem,0); penpos2(stem,0); +z1=(0.619w,foot); z2=(x1,0.831h); +z3=(x1,h); z4=(0,0.444h); +penpos6(0.521stem,90); z6=(0.796w,0.45h); +y5=y6l; (x2r,h)-z5=whatever*dir50; +z4'=(1/45w,y6r); z3'-z4'=whatever*dir50; +x3'=x2l; penpos9(hair,90); +penpos10(hair,-90); z9l=(x1-stem,0); +z10r=(x1+stem,0); +z8=(w,0.521h); z7=(0.921w,0.376h); +filldraw z9l--z9r...z1l---z2l-- +z2r---z1r...z10l--z10r--z9l & cycle; +z3''=whatever[z5,(x2r,h)]; x3''=x2l; +filldraw z2l--z3''--z5--z4'---z3'... +z3{right}..{down}z2r--z2l & cycle; +filldraw z6l---z5...z4{up}..z4'{z3'-z4'} +& z4'---z6r...z8{right}--z7.. +z6l{left} & cycle; +.endchar; + +.cmchar "The Fraktur numeral 5"; +.beginchar("5",5.528u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(0.458stem,-60); penpos2(1.125stem,25); +penpos3(1.125stem,65); penpos4(1.167stem,53); +penpos5(1.5hair,-25); penpos6(0.958stem,-77); +z1=(0.221w,-apex_o); z2=(0.729w,0.417h); +z3=(0.462w,0.578h); z4l=(0,0.618h); +z5=(0.161w,0.814h); z6l=(0.349w,h); +z7=(0.673w,0.98h); z8=(w,h); +z9=(0.851w,0.828h); +penstroke z1e{dir30}..z2e{up}.. +z3e{dir169}..z4e{up}..z5e{dir65}..z6e{right}; +filldraw z6l{right}..z7..z8 & z8--z9 & +z9..{left}z6r--z6l & cycle; +.endchar; + +.cmchar "The Fraktur numeral 6"; +.beginchar("6",6.056u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(1.4hair,-42); penpos2(1.208stem,40); +penpos3(1.125stem,54); penpos4(1.2hair,-36); +penpos5(stem,30); penpos7(hair,-45); +z1l=(0.716w,h+apex_o); z2l=(0,0.342h); +z3l=(0.674w,-apex_o); +penstroke z3e..z2e{up}..z1e{dir48}; +z4r=z3; z5r=(w,0.362h); z6=(0.573w,0.753h); +z6-z7l=whatever*dir45; y7l=0.555h; +z8=(0.477w,0.566h); +filldraw z4r---z3r...z5r{up}..z6{dir135} +--z7l--z7r{z6-z7l}..z8{right}..z5l{down} +..z4l{z3l-z3r}--z4r & cycle; +.endchar; + +.cmchar "The Fraktur numeral 7"; +.beginchar("7",5.906u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(1.417stem,0); z1=(0.466w,0); +penpos2(hair,-57); y2l=h; x2r=w; +penstroke z1e{up}..z2e{dir64}; +penpos3(hair,-20); penpos5(stem,-90); +z3l=(0,0.776h); z5l=(0.24w,h); +z4-z3l=whatever*dir70; y4=h+apex_o; +z6=(z5r--(w,y5r)) intersectionpoint +(z1{up}..z2{dir64}); +filldraw z3r{z4-z3l}...z5r---z6-- +z2--z2l---z5l...z4 & z4--z3l--z3r & +cycle; +.endchar; + +.cmchar "The Fraktur numeral 8"; +.beginchar("8",6.722u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(1.042stem,61.5); +penpos2(hair,110); +z1=z2=(0.5w,0.51h); +penpos3(0.917stem,24); +z3l=(0.083w,0.721h); +penpos5(0.917stem,-204); +z5l=(w-x3l,y3l); +penpos4(hair,-90); z4l=(0.5w,h+apex_o); +penpos6(stem,180); z6r=(0,0.245h); +penpos7(2hair,-90); z7r=(0.5w,-apex_o); +penpos8(stem,0); z8r=(w,y6); +penstroke z1e{dir151.5}..z3e{up}.. +z4e{right}..z5e{down}..z2e{dir200}.. +z6e{down}..z7e{right}..z8e{up}.. +z1e{dir151.5}; +.endchar; + +.cmchar "The Fraktur numeral 9"; +.beginchar("9",6.056u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(1.4hair,-42); penpos2(1.208stem,40); +penpos3(1.125stem,54); penpos4(1.2hair,-36); +penpos5(stem,30); penpos7(hair,-45); +z1l=(0.716w,h+apex_o); z2l=(0,0.342h); +z3l=(0.674w,-apex_o); +penstroke z3e..z2e{up}..z1e{dir48}; +z4r=z3; z5r=(w,0.362h); z6=(0.573w,0.753h); +z6-z7l=whatever*dir45; y7l=0.555h; +z8=(0.477w,0.566h); +filldraw z4r---z3r...z5r{up}..z6{dir135} +--z7l--z7r{z6-z7l}..z8{right}..z5l{down} +..z4l{z3l-z3r}--z4r & cycle; +transform gurisma; +gurisma=identity +rotatedaround ((0.5w,0.5h),180); +picture krufo; +krufo:= currentpicture transformed +gurisma; +picture currentpicture; +currentpicture=krufo; +.endchar; + +.cmchar "The Fraktur numeral 0"; +.beginchar("0",7.332u#,1.2x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(1.059stem,-143); +penpos2(stem,-140); +penpos3(1.05stem,-136); +penpos4(1.1stem,-142); +penpos5(hair,128); +penpos6(hair,127); +z1l=(0.535w,h+apex_o); z4r=(w-x1l,-apex_o); +z2l=(w,0.528h); x3r=0; y3=y2l+apex_o; +z5l=z4; z6r=z1; +penstroke z1e{dir-25}..z2e{down}.. +z5e{z4r-z4l}; +penstroke z6e{z1r-z1l}..z3e{down}.. +z4e{dir-31}; +.endchar; + +endinput; diff --git a/fonts/t1-fraktur/fkt1oth.mf b/fonts/t1-fraktur/fkt1oth.mf new file mode 100644 index 0000000000..4febb6a31e --- /dev/null +++ b/fonts/t1-fraktur/fkt1oth.mf @@ -0,0 +1,586 @@ +.cmchar "The Fraktur comma"; +.beginchar(",",5u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(0.23570*(x_height+2apex_o),45); +penpos2(0.23570*(x_height+2apex_o),45); +penpos3(0.23570*(x_height+2apex_o),45); +penpos4(0.23570*(x_height+2apex_o),45); +penpos5(0.23570*(x_height+2apex_o),45); +penpos6(0.23570*(x_height+2apex_o),45); +x1l=x3l=x5l=0.5w; +z2r=z3l; z4r=z5l; +z2-z1=whatever*dir135; +z4-z3=whatever*dir135; +z6-z5=whatever*dir135; +y1l=-apex_o; y6r=x_height+apex_o; +%penstroke z1e--z2e; +penpos10(0.11785*(x_height+2apex_o),-30); +z10l=(x2l-apex_o,-1.3y2r); +filldraw z10l--z2l+(2hair,0){up}..{down} +z1r--z10r--z10l & cycle; +last_char:=currentpicture; +proofrule ((w,0),(w,h)); +.endchar; + +.cmchar "Apostrophe"; +.beginchar("'",5u#,asc_height#,0); +currentpicture:=last_char + shifted (0.15u,1.2x_height); +proofrule ((w,0),(w,h)); +.endchar; + +.cmchar "Opening Gaensefuesschen"; +.beginchar(open_gaens,9u#,x_height#,0); +currentpicture:=last_char; +addto currentpicture also last_char shifted (4u,0); +proofrule ((w,0),(w,h)); +.endchar; + +% added by V. Kurz 2002 +.cmchar "Opening Gaensefuesschen"; +if (dc_layout=0): + beginchar(oct"376",9u#,x_height#,0); + currentpicture:=last_char; + addto currentpicture also last_char shifted (4u,0); + proofrule ((w,0),(w,h)); + endchar; +fi; + +.cmchar "Closing Gaensefuesschen"; +.beginchar(close_gaens,9u#,asc_height#,0); +currentpicture:=(last_char rotatedaround((3u,0),180)) + shifted (-u,1.2x_height); +addto currentpicture also (last_char rotatedaround((3u,0),180)) + shifted (3u,1.2x_height); +proofrule ((w,0),(w,h)); +.endchar; + +% added by V. Kurz 2002 +.cmchar "Closing Gaensefuesschen"; +if (dc_layout=0): + beginchar(oct"377",9u#,asc_height#,0); + currentpicture:=(last_char rotatedaround((3u,0),180)) + shifted (-u,1.2x_height); + addto currentpicture also (last_char rotatedaround((3u,0),180)) + shifted (3u,1.2x_height); + proofrule ((w,0),(w,h)); + endchar; +else: % placeholder to keep umlaut ligatures working + beginchar(oct"042",0,0,0); + endchar; +fi; + +.cmchar "Reverse apostrophe"; +.beginchar("`",5u#,asc_height#,0); +currentpicture:=(last_char rotatedaround((3u,0),180)) + shifted (-u,1.2x_height); +proofrule ((w,0),(w,h)); +.endchar; + +.cmchar "The Fraktur colon"; +.beginchar(":",5u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(0.23570*(x_height+2apex_o),45); +penpos2(0.23570*(x_height+2apex_o),45); +penpos3(0.23570*(x_height+2apex_o),45); +penpos4(0.23570*(x_height+2apex_o),45); +penpos5(0.23570*(x_height+2apex_o),45); +penpos6(0.23570*(x_height+2apex_o),45); +x1l=x3l=x5l=0.5w; +z2r=z3l; z4r=z5l; +z2-z1=whatever*dir135; +z4-z3=whatever*dir135; +z6-z5=whatever*dir135; +y1l=-apex_o; y6r=x_height+apex_o; +penstroke z1e--z2e; +penstroke z5e--z6e; +.endchar; + +.cmchar "The Fraktur semicolon"; +.beginchar(";",5u#,x_height#,0); +.adjust_fit(usual_left#,usual_right#); +penpos1(0.23570*(x_height+2apex_o),45); +penpos2(0.23570*(x_height+2apex_o),45); +penpos3(0.23570*(x_height+2apex_o),45); +penpos4(0.23570*(x_height+2apex_o),45); +penpos5(0.23570*(x_height+2apex_o),45); +penpos6(0.23570*(x_height+2apex_o),45); +x1l=x3l=x5l=0.5w; +z2r=z3l; z4r=z5l; +z2-z1=whatever*dir135; +z4-z3=whatever*dir135; +z6-z5=whatever*dir135; +y1l=-apex_o; y6r=x_height+apex_o; +penstroke z1e--z2e; +penstroke z5e--z6e; +penpos10(hair,-30); z10l=(x2l,-y2r); +filldraw z10l{z1r-z10r}..z2l{z2-z1} +& z2l--z1r--z10r--z10l & cycle; +.endchar; + +.cmchar "The Fraktur point"; +.beginchar(".",5u#,(x_height#-4apex_o#)/3,0); +.adjust_fit(usual_left#,usual_right#); +pointpoint; +.endchar; + +.cmchar "Hachek (check) accent"; +if (dc_layout>0): xchar_code:=oct"007"; + else: xchar_code:=oct"024"; + fi; +.beginchar(xchar_code,9u#,.75[x_height#,min(asc_height#,2x_height#)],0); +z100=(0.5w,x_height); hacek(100); +.endchar; + +.cmchar "Breve accent"; +if (dc_layout>0): xchar_code:=oct"010"; + else: xchar_code:=oct"025"; + fi; +.beginchar(xchar_code,9u#,min(asc_height#,2x_height#),0); +z100=(0.5w,x_height); breve(100); +.endchar; + +.cmchar "Macron (bar) accent"; +if (dc_layout>0): xchar_code:=oct"011"; + else: xchar_code:=oct"026"; + fi; +numeric macron_breadth#; macron_breadth#=.2[vair#,stem#]; +.beginchar(xchar_code,6u#,.4[x_height#,asc_height#]+macron_breadth#,0); +italcorr h#*slant-.75u#; +.adjust_fit(0,0); +numeric macron_breadth; macron_breadth:=Vround .2[vair,stem]; +pickup if serifs: crisp.nib else: fine.nib fi; +pos1(2/3stem,70); pos2(2/3stem,70); +top y1r=top y2r=h+o; lft x1r=w-rt x2l=hround 1.25u; +filldraw stroke z1e--z2e; % bar +penlabels(1,2); .endchar; + +.cmchar "Cedilla accent"; +if (dc_layout>0): xchar_code:=oct"013"; + else: xchar_code:=oct"030"; + fi; +.beginchar(xchar_code,9u#,0,.875desc_depth#); +z100=(0.5w,0); cedilla(100); +penlabels(60, 61, 62, 63, 100); +.endchar; + +.cmchar "Ogonek accent"; +if (dc_layout>0): xchar_code:=oct"014"; + else: xchar_code:=oct"235"; + fi; +.beginchar(xchar_code,9u#,0,.875desc_depth#); +z100=(0.5w,0); ogonek(100); +penlabels(60, 61, 62, 100); +.endchar; + +.cmchar "L-bar accent"; +if unknown l_width#: l_width#:=3lower_u#; fi % nominal width of `l' +%ligtable oct"040": "l" kern -l_width#, "L" kern -l_width#; +.beginchar(oct"040",l_width#,x_height#,0); +z100=(0,0.5cap_height); ellbar(100); +.endchar; + +if (dc_layout>0): xchar_code:=oct"012"; + else: xchar_code:=oct"137"; + fi; +iff ligs>0: .cmchar "Dot accent"; +.beginchar(xchar_code,5u#,min(asc_height#,2x_height#),0); +z100=(0.5w,x_height); +pointaccent(100); +.endchar; + +if (dc_layout>0): xchar_code:=oct"005"; + else: xchar_code:=oct"175"; + fi; +iff ligs>0: .cmchar "Long Hungarian umlaut accent"; +.beginchar(xchar_code,9u#,min(asc_height#,2x_height#),0); +z100=(0.5w,x_height); hungarum(100); +.endchar; + +if (dc_layout>0): xchar_code:=oct"004"; + else: xchar_code:=oct"177"; + fi; +iff ligs>0: .cmchar "umlaut accent"; +.beginchar(xchar_code,9u#,min(asc_height#,2x_height#),0); +z100=(0.5w, x_height); +umlaut(100); +.endchar; + +if (dc_layout>0): xchar_code:=oct"000"; + else: xchar_code:=oct"022"; + fi; +iff ligs>0: .cmchar "grave accent"; +.beginchar(xchar_code,9u#,min(asc_height#,2x_height#),0); +z100=(0.5w, x_height); +grave(100); +.endchar; + +if (dc_layout>0): xchar_code:=oct"001"; + else: xchar_code:=oct"023"; + fi; +iff ligs>0: .cmchar "acute accent"; +.beginchar(xchar_code,9u#,min(asc_height#,2x_height#),0); +z100=(0.5w, x_height); +acute(100); +.endchar; + +if (dc_layout>0): xchar_code:=oct"002"; + else: xchar_code:=oct"136"; + fi; +iff ligs>0: .cmchar "hat accent"; +.beginchar(xchar_code,9u#,min(asc_height#,2x_height#),0); +z100=(0.5w, x_height); +hat(100); +.endchar; + +.cmchar "Tilde (squiggle) accent"; +if (dc_layout>0): xchar_code:=oct"003"; + else: xchar_code:=oct"176"; + fi; +.beginchar(xchar_code,9u#,min(asc_height#,10/7x_height#+.5dot_size#),0); +z100=(0.5w,x_height); tilde(100); +.endchar; + +.cmchar "En dash"; +.beginchar(en_dash,9u#,x_height#,0); +italcorr .61803x_height#*slant+.5u#; +.adjust_fit(0,0); +pickup rule.nib; + pos1(vair,90); pos2(vair,90); +top y1r=top y2r=vround(.61803h+.5vair); lft x1=-eps; rt x2=w+eps; +filldraw stroke z1e--z2e; % bar +penlabels(1,2); .endchar; + +.cmchar "Em dash"; +.beginchar(em_dash,18u#,x_height#,0); +italcorr .61803x_height#*slant+.5u#; +.adjust_fit(letter_fit#,letter_fit#); +pickup rule.nib; pos1(vair,90); pos2(vair,90); +top y1r=top y2r=vround(.61803h+.5vair); lft x1=-eps; rt x2=w+eps; +filldraw stroke z1e--z2e; % bar +penlabels(1,2); .endchar; + +.cmchar "Hash mark (number sign)"; +if monospace: compute_spread(.6x_height#,.7x_height#); +else: compute_spread(.45x_height#,.55x_height#); fi +.beginchar("#",15u#,asc_height#,asc_depth#); +italcorr (math_axis#+.5(spread#+rule_thickness#))*slant-.5u#; +.adjust_fit(0,0); +pickup rule.nib; lft x1=hround u-eps; x3=x1; x2=x4=w-x1; +y1=y2; y3=y4; y1-y3=spread; .5[y1,y3]=math_axis; +draw z1--z2; % upper bar +draw z3--z4; % lower bar +lft x6=hround 3u; rt x7=hround(w-3u); x5-x6=x7-x8; +x8=good.x if monospace: .6 else: .5 fi\\w; +top y5=top y7=h+eps; bot y6=bot y8=-d-eps; +y15=y1; z15=whatever[z5,z6]; y36=y3; z36=whatever[z5,z6]; +y27=y2; z27=whatever[z7,z8]; y48=y4; z48=whatever[z7,z8]; +draw z5--if x5>x6+1:(good.x(x15+.5),y1)--(good.x(x15-.5),y1) + --(good.x(x36+.5),y3)--(good.x(x36-.5),y3)--fi\\z6; % left diagonal +draw z7--if x7>x8+1:(good.x(x27+.5),y2)--(good.x(x27-.5),y2) + --(good.x(x48+.5),y4)--(good.x(x48-.5),y4)--fi\\z8; % right diagonal +labels(1,2,3,4,5,6,7,8,15,27,36,48); .endchar; + +.cmchar "Per cent sign"; +.beginchar("%",15u#, + body_height#,body_height#-asc_height#); +italcorr if hefty: .4asc_height#*slant-.5u# else: h#*slant-u# fi; +.adjust_fit(0,0); pickup fine.nib; +numeric left_curve,right_curve; +left_curve=hround 5/6[fudged.hair,fudged.stem]; +right_curve=max(fine.breadth,hround(fudged.hair if hefty:-2stem_corr fi)); +pos1(vair,90); pos2(left_curve,180); pos3(vair,270); pos4(right_curve,360); +top y1r=h; lft x2r=hround u; rt x4r=hround(.5w-1.5u); +bot y3r=floor(if monospace: .7 else: .5 fi\\ asc_height); +x1=x3=.5[x2,x4]; y2=y4=.5[y1,y3]; +filldraw stroke pulled_super_arc.e(1,2)(superpull) + & pulled_super_arc.e(2,3)(superpull); % left half of upper bowl +filldraw stroke super_arc.e(3,4) & super_arc.e(4,1); % right half of upper bowl +pos5(vair,90); pos6(left_curve,180); pos7(vair,270); pos8(right_curve,360); +bot y7r=-d; rt x8r=hround(w-u); lft x6r=hround(.5w+1.5u); +top y5r=vround(if monospace: .3 else: .5 fi\\ asc_height); +x5=x7=.5[x6,x8]; y6=y8=.5[y5,y7]; +filldraw stroke pulled_super_arc.e(5,6)(superpull) + & pulled_super_arc.e(6,7)(superpull); % left half of lower bowl +filldraw stroke super_arc.e(7,8) & super_arc.e(8,5); % right half of lower bowl +pickup rule.nib; top y9=h; bot y10=-d; +if hefty: x9=good.x(x5-eps); x10=good.x(x1+eps); + draw z9--z10; % diagonal +else: rt x9=hround(w-2.5u); lft x10=hround 2.5u; draw z9--z10; % diagonal + pickup fine.nib; pos9(rule_thickness,angle(z9-z10)+90); + pos11(vair,angle(z1r-z4r)-90); pos12(vair,angle(z9-z10)+90); + path p; p=super_arc.r(1,4); z11r=point 2/3 of p; z12r=z9r; + filldraw stroke z11e{direction 2/3 of p}...{z9-z10}z12e; fi % link +penlabels(1,2,3,4,5,6,7,8,9,10,11,12); .endchar; + +.cmchar "Left parenthesis"; +.beginchar("(",7u# if monospace: -u# fi,body_height#,paren_depth#); +italcorr body_height#*slant-.5u#; +.adjust_fit(0,0); pickup fine.nib; +pos1(vair,0); pos2(.75[hair,stem],0); pos3(vair,0); +rt x1r=rt x3r=hround(w-u); lft x2l=hround(x1-4u if monospace: +4/3u fi); +top y1=h; y2=.5[y1,y3]=math_axis; +filldraw stroke z1e{3(x2e-x1e),y2-y1}...z2e + ...{3(x3e-x2e),y3-y2}z3e; % arc +penlabels(1,2,3); .endchar; + +.cmchar "Right parenthesis"; +.beginchar(")",7u# if monospace: -u# fi,body_height#,paren_depth#); +italcorr math_axis#*slant-.5u#; +.adjust_fit(0,0); pickup fine.nib; +pos1(vair,0); pos2(.75[hair,stem],0); pos3(vair,0); +lft x1l=lft x3l=hround u; rt x2r=hround(x1+4u if monospace: -4/3u fi); +top y1=h; y2=.5[y1,y3]=math_axis; +filldraw stroke z1e{3(x2e-x1e),y2-y1}...z2e + ...{3(x3e-x2e),y3-y2}z3e; % arc +penlabels(1,2,3); .endchar; + +.cmchar "Asterisk"; +.beginchar("*",9u#, + if low_asterisk:math_axis#+.5x_height# else: body_height# fi,0); +italcorr h#*slant-.75u#; +.adjust_fit(0,0); +numeric ast_flare; ast_flare=hround .7[thin_join,stem]; +x0=.5w; y0=h-.5x_height; +for d=-150 step 60 until 150: z[d]=z0+.5dir d xscaled 7.5u yscaled x_height; + numeric theta; theta=angle(z[d]-z0); + fill z0+.5(0,-thin_join)rotated theta + ---z[d]+.5(-ast_flare,-ast_flare)rotated theta + ..z[d]..z[d]+.5(-ast_flare,ast_flare)rotated theta + ---z0+.5(0,thin_join)rotated theta--cycle; endfor % diagonal at angle |d| +labels(0,[-150],[-90],[-30],30,90,150); .endchar; + +.cmchar "Plus sign"; +beginarithchar("+"); pickup rule.nib; +x1=x2=good.x .5w; top y1=h+eps; .5[y1,y2]=math_axis; +lft x3=hround u-eps; x4=w-x3; y3=y4=math_axis; +draw z1--z2; % stem +draw z3--z4; % crossbar +labels(1,2,3,4); .endchar; + +.cmchar "Virgule (slash)"; +.beginchar("/",9u#,body_height#,paren_depth#); +italcorr body_height#*slant-.5u#; +.adjust_fit(0,0); pickup rule.nib; +rt x1=hround(w-u)+eps; top y1=h+eps; +lft x2=hround u-eps; bot y2=-d-eps; +draw z1--z2; % diagonal +penlabels(1,2); .endchar; + +.cmchar "Backslash"; +if (dc_layout>0): xchar_code:=oct"134"; + else: xchar_code:=oct"211"; + fi; +.beginchar(xchar_code,9u#,body_height#,paren_depth#); +italcorr body_height#*slant-.5u#; +.adjust_fit(0,0); pickup rule.nib; +rt x1=hround(w-u)+eps; top y1=h+eps; +lft x2=hround u-eps; bot y2=-d-eps; +draw (z1--z2) reflectedabout ((4.5u,0),(4.5u,u)); % diagonal +penlabels(1,2); .endchar; + +.cmchar "Equals sign"; +compute_spread(.45x_height#,.55x_height#); +.beginchar("=",14u#,v_center(spread#+rule_thickness#)); +italcorr h#*slant-.5u#; +.adjust_fit(0,0); pickup rule.nib; +lft x1=hround u-eps; x3=x1; x2=x4=w-x1; +y1=y2; y3=y4; y1-y3=spread; .5[y1,y3]=math_axis; +draw z1--z2; % upper bar +draw z3--z4; % lower bar +labels(1,2,3,4); .endchar; + +.cmchar "Left bracket"; +numeric wd#; wd#=max(5u#,6u#); +.beginchar("[",wd#,body_height#,paren_depth#); +italcorr body_height#*slant; +.adjust_fit(0,0); +numeric top_thickness,side_thickness; +if hefty: top_thickness=vair; + side_thickness=max(crisp.breadth,stem-2stem_corr); +else: top_thickness=side_thickness=rule_thickness; fi; +pickup crisp.nib; pos1(side_thickness,0); pos2(side_thickness,0); +top y1=h; bot y2=-d; lft x1l=lft x2l=hround(2.5u-.5side_thickness)-1-eps; +filldraw stroke z1e--z2e; % stem +pos3(top_thickness,90); pos4(top_thickness,90); +pos5(top_thickness,90); pos6(top_thickness,90); +x3=x5=x1l; rt x4=rt x6=ceiling(w-.4u)+eps; y3r=y4r=y1; y5l=y6l=y2; +filldraw stroke z3e--z4e; % upper bar +filldraw stroke z5e--z6e; % lower bar +penlabels(1,2,3,4,5,6); .endchar; + +.cmchar "Right bracket"; +numeric wd#; wd#=max(5u#,6u#); +.beginchar("]",wd#,body_height#,paren_depth#); +italcorr body_height#*slant-2u#+.5if hefty:stem# else:rule_thickness# fi; +.adjust_fit(0,0); +numeric top_thickness,side_thickness; +if hefty: top_thickness=vair; + side_thickness=max(crisp.breadth,stem-2stem_corr); +else: top_thickness=side_thickness=rule_thickness; fi; +pickup crisp.nib; pos1(side_thickness,0); pos2(side_thickness,0); +top y1=h; bot y2=-d; rt x1r=rt x2r=hround(w-2.5u+.5side_thickness)+1+eps; +filldraw stroke z1e--z2e; % stem +pos3(top_thickness,90); pos4(top_thickness,90); +pos5(top_thickness,90); pos6(top_thickness,90); +x3=x5=x1r; lft x4=lft x6=floor .4u-eps; y3r=y4r=y1; y5l=y6l=y2; +filldraw stroke z3e--z4e; % upper bar +filldraw stroke z5e--z6e; % lower bar +penlabels(1,2,3,4,5,6); .endchar; + +cmchar "Exclamation point"; +beginchar("!",5u#,asc_height#,0); +italcorr asc_height#*slant-2u#-.5width_adj#+.5dot_size#; +adjust_fit(0,0); +pointpoint; +pickup tiny.nib; pos103(dot_size,0); pos104(dot_size,90); +lft x103l=hround(.5w-.5dot_size); bot y104l=0; z103=z104; % dot +numeric bot_width; +bot_width=if hefty:max(hround .8dot_size,fine.breadth) else: hair fi; +pickup fine.nib; pos101(dot_size,0); pos102(bot_width,0); +x101=x102=x103; bot y102=.25[top y104r,x_height]+1; +if square_dots: top y101=h; + filldraw stroke z101e--z102e; % stem +else: top z100=(x101,h+o); y101+.5dot_size=h+o; + filldraw z101r...z100...z101l---z102l--z102r---cycle; fi % stem and bulb +penlabels(0,1,2,3,4); endchar; + +cmchar "Question mark"; +beginchar("?",8.5u#,asc_height#,0); +italcorr .8asc_height#*slant; +adjust_fit(0,0); +pointpoint; +pickup tiny.nib; pos107(dot_size,0); pos108(dot_size,90); +lft x107l=hround(.5w-.25u-.5dot_size); bot y108l=0; z107=z108; % dot +numeric bot_width; +bot_width=if hefty:max(hround .8dot_size,fine.breadth) else: hair fi; +pickup fine.nib; pos102(vair,90); pos103(curve,0); +pos104(vair,-90); pos105(bot_width,0); pos106(bot_width,0); +x102=x104=x105=x106=x107; rt x103r=hround(w-u); bot y106=1+.25[top y108r,x_height]; +top y102r=h+oo; y103=.75[y106,y102]; y104=.5[y106,y102]; y105=.1[y106,y102]; +{{interim superness:=more_super; +filldraw stroke pulled_super_arc.e(102,103)(superpull) + & subpath (0,1) of super_arc.e(103,104) .. z105e---z106e\\}}; % arc and stem +if serifs: pos101(hair,180); pos100(flare,180); + lft x101r=hround u; y101=y103; bulb(102,101,100); % bulb +else: pos101(Vround 5/7[vair,flare],110); + lft x101r=hround u; top y101r=vround .9[y106,top y102r]; + filldraw stroke term.e(102,101,left,101,104); fi % terminal +penlabels(0,1,2,3,4,5,6,7,8); endchar; + +cmchar "Ampersand"; +beginchar("&",14u#,asc_height#,0); +italcorr x_height#*slant-serif_fit# - if serifs: .4u# else: 1.5u# fi; +adjust_fit(0,serif_fit#); +pickup tiny.nib; pos2(slab,-90); x2=4u; bot y2r=-o; +if not hefty:(x,y2l)=whatever[z2r,(w-5u,x_height)]; x2l:=x; fi +if serifs: pos0(fudged.hair,0); + rt x0r+jut=hround(w-.9u); top y0=x_height; + pos1(fudged.hair,0); z1=whatever[z0,(.6[x0,x2],0)]; + y1=max(y0-1.5bracket-.2x_height,2/3x_height); + filldraw stroke z0e---z1e...{left}z2e; % short diagonal +else: pickup fine.nib; pos1(.25[slab,flare],-15); rt x1r=hround(w-2u); + y1r=good.y .75[bar_height,x_height]; x1l:=good.x x1l; y1l:=good.y y1l; + top z2'l=(x2l,tiny.top y2l); bot z2'r=(x2r,tiny.bot y2r); + filldraw stroke term.e(2',1,right,1,4); fi % short diagonal and terminal +pickup tiny.nib; numeric slope,theta,reduced_hair; +slope=(h-2vair-slab)/10.5u; theta=angle(-slope,1); +reduced_hair=max(tiny.breadth,hround(fudged.hair if hefty:-2stem_corr fi)); +lft x3r=hround .75u; x5=.5[x3r,x6l]; lft x6r=hround .5(w-u); +x3l-x3r=curve-tiny; pos6(reduced_hair,180); +pos5(vair,theta); y5=.5h; +ellipse_set(2l,3l,4l,5l); ellipse_set(2r,3r,4r,5r); +pos7(vair,270); top y7l=h+o; x7=.45[x6r,x8r]; +pos8(fudged.stem,30); x8l=good.x(x8l+3.5u-x8); y8r=y6; +ellipse_set(7l,6l,5',5l); +filldraw stroke z2e{left}...z3e{up}...z4e---z5e...{up}z6e + ...z7e{left}...z8e{down}; % bowls +pos10(slab,90); x10=w-3.5u; bot y10l=-o; +pos9(fudged.stem,angle(z8-z10)-90); +z9=.5[z8,z10]+(1.75u,0) rotated(angle(z8-z10)+90); +filldraw stroke z8e{down}...z9e{z10-z8}...{right}z10e; % long diagonal +if serifs: pickup crisp.nib; pos10'(slab,90); z10'=z10; + pos11(fudged.hair,180); rt x11l=hround(w-u); y11=.5bar_height; + filldraw stroke z10'e{right}...{up}z11e; % terminal + numeric inner_jut; if rt x6l+.5u<lft x0l-1.5jut: inner_jut=1.5jut; + else: rt x6l+.5u=lft x0l-inner_jut; fi + dish_serif(0,1,a,.6,inner_jut,b,.5,jut)(dark); % serif +else: pickup fine.nib; pos10'(slab,90); z10'=z10; + pos11(Vround .5[slab,flare],90); + rt x11=hround(r-letter_fit-u); bot y11l=vround .07bar_height-o; + filldraw stroke term.e(10',11,right,1,4); fi % terminal +penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar; + +cmchar "Left curly brace"; +if (dc_layout>0): xchar_code:=oct"173"; + else: xchar_code:=oct"214"; + fi; +beginchar(xchar_code,9u#,body_height#,paren_depth#); +italcorr body_height#*slant+.5vair#-u#; +adjust_fit(0,0); pickup fine.nib; +forsuffixes $=1,1',4,4',7,7': pos$(vair,0); endfor +forsuffixes $=2,3,5,6: pos$(stem,0); endfor +x2=x3=x5=x6; x1=x1'=x7=x7'=w-x4=w-x4'; +lft x4l=hround(1.5u-.5vair); lft x2l=hround(.5w-.5stem); +top y1=h; bot y7=-d; .5[y4,y4']=.5[y1,y7]=.5[y2,y6]=.5[y3,y5]; +y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine; +filldraw z1l{left}...z2l---z3l...{left}z4l + --z4'l{right}...z5l---z6l...{right}z7l + --z7r--z7'r{left}...z6r---z5r...{left}.5[z4r,z4'r]{right} + ...z3r---z2r...{right}z1'r--z1r--cycle; % stroke +penlabels(1,2,3,4,5,6,7); endchar; + +cmchar "Right curly brace"; +if (dc_layout>0): xchar_code:=oct"175"; + else: xchar_code:=oct"217"; + fi; +beginchar(xchar_code,9u#,body_height#,paren_depth#); +italcorr math_axis#*slant+.5vair#-u#; +adjust_fit(0,0); pickup fine.nib; +forsuffixes $=1,1',4,4',7,7': pos$(vair,0); endfor +forsuffixes $=2,3,5,6: pos$(stem,0); endfor +x2=x3=x5=x6; x1=x1'=x7=x7'=w-x4=w-x4'; +rt x4r=hround(w-1.5u+.5vair); rt x2r=hround(.5w+.5stem); +top y1=h; bot y7=-d; .5[y4,y4']=.5[y1,y7]=.5[y2,y6]=.5[y3,y5]; +y1-y2=y3-y4=(y1-y4)/4; y1-y1'=y4-y4'=y7'-y7=vair-fine; +filldraw z1r{right}...z2r---z3r...{right}z4r + --z4'r{left}...z5r---z6r...{left}z7r + --z7l--z7'l{right}...z6l---z5l...{right}.5[z4l,z4'l]{left} + ...z3l---z2l...{left}z1'l--z1l--cycle; % stroke +penlabels(1,2,3,4,5,6,7); endchar; + +cmchar "Vertical line"; +if (dc_layout>0): xchar_code:=oct"174"; + else: xchar_code:=oct"216"; + fi; +beginchar(xchar_code,5u#,body_height#,paren_depth#); +italcorr body_height#*slant+.5rule_thickness#-2u#; +adjust_fit(0,0); pickup rule.nib; +x1=x2=good.x .5w; top y1=h+eps; bot y2=-d-eps; +draw z1--z2; % stem +labels(1,2); endchar; + +cmchar "Sterling sign"; +if (dc_layout>0): xchar_code:=oct"277"; + else: xchar_code:=oct"204"; + fi; +beginchar(xchar_code,12u#,asc_height#,0); +adjust_fit(0,.75asc_height#*slant-.5u#); pickup fine.nib; +pos0(flare,0); pos1(hair,0); pos2(vair,90); pos3(stem,180); +pos4(stem,180); pos4'(stem,0); pos5(vair,-90); z4'=z4; +x2=2/3w-.5u; rt x3l=rt x4l=hround(.5w-u+.5stem); x5=2.5u; +y1=y3=.75h; top y2=h+oo; y4=.25h; bot y5r=-oo; +rt x1r=hround(w-1.5u); bulb(2,1,0); % bulb +filldraw stroke pulled_arc.e(2,3)..z4e; % stem +numeric light_stem; light_stem=2/3[vair,vstem]; +pos6(.5[hair,light_stem],-180); pos7(light_stem,-300); +pos8(light_stem,-300); pos9(hair,-180); +lft x6r=hround u; x7=3u; x8=w-3.5u; rt x9r=hround(w-u); +y6=.4[y5,y7]; top y7r=vround .2h; bot y8l=-oo; y9=good.y .2h; +filldraw stroke pulled_arc.e(4',5)...z6e{up}...z7e{right} + ..{right}z8e...{up}z9e; % loop and arm +pos10(bar,90); pos11(bar,90); x10=3u; x11=w-4.5u; +top y10r=top y11r=vround(.5h+.5bar); filldraw stroke z10e--z11e; % bar +penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar; + +endinput; diff --git a/fonts/t1-fraktur/fkt1rm.mf b/fonts/t1-fraktur/fkt1rm.mf new file mode 100644 index 0000000000..28339c95c7 --- /dev/null +++ b/fonts/t1-fraktur/fkt1rm.mf @@ -0,0 +1,100 @@ +u#:=20/36pt#; % unit width +lower_u#:=20/36pt#; +bold_frak:=0; bold_ratio := 1.0; + +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#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=167/36pt#; % height of lowercase without ascenders +%x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=7/36pt#; % lowercase hairline breadth +%hair#:=9/36pt#; % lowercase hairline breadth +%stem#:=25/36pt#; % lowercase stem breadth +stem#:=24/36pt#; % lowercase stem breadth +curve#:=30/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#:=38/36pt#; % diameter of dots +%cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_hair#:=8/36pt#; +cap_amount#:=8/36pt#; +%cap_stem#:=32/36pt#; % uppercase stem breadth +cap_stem#:=32/36pt#; +cap_curve#:=37/36pt#; % uppercase curve breadth +cap_ess#:=35/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#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/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#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/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#:=8/36pt#; % amount of overshoot for curves +apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % 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:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +numeric usual_right, usual_left; +usual_right#:=0.5u#; +usual_left#:=0.3u#; + +granularity:=1.01; +%aspect_ratio:=2/3aspect_ratio; + +mode_setup; +font_setup; +cap_amount:=8/36pt; +foot:=0.207x_height; +num_height:=1.242x_height; +cap_kern:=4/36pt; +boolean ligature; ligature:=false; +numeric alpha; alpha:=0; +numeric coef, gencoef; gencoef:=1; + +input fkt1gen.mf + +end. + +endinput; + diff --git a/fonts/t1-fraktur/fkt1rm10.mf b/fonts/t1-fraktur/fkt1rm10.mf new file mode 100644 index 0000000000..964ae840ee --- /dev/null +++ b/fonts/t1-fraktur/fkt1rm10.mf @@ -0,0 +1,10 @@ +% yfrak transformed to ecfrak/fkt1rm by D. Taupin March 1994-2002 +if unknown cmbase: input cmbase fi +input fkt1base; + +font_identifier:="ecfrakrm"; font_size 10pt#; +numeric dc_layout; dc_layout:=1; + +input fkt1rm.mf + +endinput; diff --git a/fonts/t1-fraktur/fkt1rm10.tfm b/fonts/t1-fraktur/fkt1rm10.tfm Binary files differnew file mode 100644 index 0000000000..6bf07c4026 --- /dev/null +++ b/fonts/t1-fraktur/fkt1rm10.tfm diff --git a/fonts/t1-fraktur/fkt1sl.mf b/fonts/t1-fraktur/fkt1sl.mf new file mode 100644 index 0000000000..c4d4689586 --- /dev/null +++ b/fonts/t1-fraktur/fkt1sl.mf @@ -0,0 +1,100 @@ +u#:=20/36pt#; % unit width +lower_u#:=20/36pt#; +bold_frak:=0; bold_ratio := 1.0; + +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#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=167/36pt#; % height of lowercase without ascenders +%x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=7/36pt#; % lowercase hairline breadth +%hair#:=9/36pt#; % lowercase hairline breadth +%stem#:=25/36pt#; % lowercase stem breadth +stem#:=24/36pt#; % lowercase stem breadth +curve#:=30/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#:=38/36pt#; % diameter of dots +%cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_hair#:=8/36pt#; +cap_amount#:=8/36pt#; +%cap_stem#:=32/36pt#; % uppercase stem breadth +cap_stem#:=32/36pt#; +cap_curve#:=37/36pt#; % uppercase curve breadth +cap_ess#:=35/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#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/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#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/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#:=8/36pt#; % amount of overshoot for curves +apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions + +slant:=0.15; % 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:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? +numeric usual_right, usual_left; +usual_right#:=0.5u#; +usual_left#:=0.3u#; + +granularity:=1.01; +%aspect_ratio:=2/3aspect_ratio; + +mode_setup; +font_setup; +cap_amount:=8/36pt; +foot:=0.207x_height; +num_height:=1.242x_height; +cap_kern:=4/36pt; +boolean ligature; ligature:=false; +numeric alpha; alpha:=0; +numeric coef, gencoef; gencoef:=1; + +input fkt1gen.mf + +end. + +endinput; + diff --git a/fonts/t1-fraktur/fkt1sl10.mf b/fonts/t1-fraktur/fkt1sl10.mf new file mode 100644 index 0000000000..03426952b8 --- /dev/null +++ b/fonts/t1-fraktur/fkt1sl10.mf @@ -0,0 +1,10 @@ +% yfrak transformed to ecfrak/t1frak by D. Taupin March 1994-2002 +if unknown cmbase: input cmbase fi +input fkt1base; + +font_identifier:="ecfraksl"; font_size 10pt#; +numeric dc_layout; dc_layout:=1; + +input fkt1sl.mf + +endinput; diff --git a/fonts/t1-fraktur/fkt1sl10.tfm b/fonts/t1-fraktur/fkt1sl10.tfm Binary files differnew file mode 100644 index 0000000000..c599e6e2a7 --- /dev/null +++ b/fonts/t1-fraktur/fkt1sl10.tfm diff --git a/fonts/t1-fraktur/fkt1upp.mf b/fonts/t1-fraktur/fkt1upp.mf new file mode 100644 index 0000000000..3596f65fee --- /dev/null +++ b/fonts/t1-fraktur/fkt1upp.mf @@ -0,0 +1,1953 @@ +% Modified version of AE ligature made by Claus Tondering +% claus@tondering.dk, 5 June 2000 + +picture cap_letter_E; + +.cmchar "The Fraktur letter A"; +.beginchar("A",9.522u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +% made in Athens, Greece on Friday July 27, 1990 +penpos1(cap_hair,-51); +penpos2(cap_hair,-51); +z2-z1=whatever*dir39; +x2r=w; z1r=(0.722w,-apex_o); +penpos4'(cap_hair,39); z4'l=z1l; +z4'r=z4; +penpos5(cap_stem,0); +z5=(x1r,0.223h); +penpos13(cap_hair,-62); z13r=z5r; +z13l-z14=whatever*dir26; +z13r-z14'=whatever*dir26; +y14=0; y14'=-apex_o; +z6=whatever[z14',z13r]; x6=x5l; +filldraw z14--z13l--z13r{down}.. +z2l{z2-z1}--z2r--z1r--z1l--z4-- +z6--z14'--z14 & cycle; +filldraw z5l--z6--z5r--z5l & cycle; +z1.1=whatever[z6,z4]; y1.1=y4+cap_hair; +filldraw z1l{z2-z1}..z1.1{z6-z4}-- +z2--z1r--z1l & cycle; +% +% +% +penpos7(cap_stem,0); z7=(x5,0.862h); +penpos8(cap_hair,-57); +penpos9(cap_hair,-57); +z8l=z7l; z9-z8=whatever*dir33; +y9=h; z10=(0.937w,h+apex_o); +z11=(0.99w,0.981h); z12=(0.953w,0.955h); +z9'=whatever[z8r,z9r]; +x9'=0.4[x7r,x9r]; +penstroke z5e--z7e; +filldraw z7r{up}..z9'{z9-z8}-- +z9r..z12{right}..z11{up}..z10{left} +...z9l---z8l--z7r & cycle; +% +% +% +penpos15(cap_hair,-90); z15=(0,0.213h); +z15r-z16=whatever*dir137; +x16=0.936x14; z17=whatever[z14,z13l]; +x17=0.392w; +penpos18(cap_hair,-43); +z18-z17=whatever*dir133; +y18r=y15l; penpos19(0.815cap_stem,0); +x19=0.5w; y19=0.521h; +z14''=(x14'-cap_hair,0); +filldraw z15l{right}..z18l..z19l{up} +--z19r{down}..z18r{dir-162}-- +z17--z14''{dir72}...z16---z15r-- +z15l & cycle; +% +% +% +penpos20'(1.037cap_stem,29.5); +z20'=(0.405w,0.846h); +penpos20(0.889cap_stem,50); +z20=(x18r,0.904h); +penpos21(1.25cap_hair,180); +z21r=(0,3/4h); +penpos22(1.148cap_stem,-162); +z22l=(x20,0.678h); +penpos23(cap_hair,180); +z23=(0.284w,0.535h); +penpos24(0.685cap_stem,66.6); +z24l=(x22,0.367h); +z25=(0.027w,0.426h); z26=(0.079w,0.473h); +penstroke z19e{up}..z20'e{dir135}.. +z20e{left}..z21e{down}..z22e{dir-45} +..z23e{down}..z24e{left}; +filldraw z24l{left}..z25{up}..z26{right} +..z24r{right}--z24l & cycle; + last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter A with ogonek"; +if (dc_layout>0): xchar_code:=oct"201"; + else: xchar_code:=oct"241"; + fi; +.beginchar(xchar_code,9.522u#,cap_height#,0.2x_height#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +cullit; +z100=(0.9w,0); ogonek(100); +penlabels(60, 61, 62); +.endchar; + +.cmchar "The Fraktur letter A Umlaut"; +.beginchar(oct"304",9.522u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); umlaut(100); +.endchar; + +.cmchar "The Fraktur letter A breve"; +if (dc_layout>0): xchar_code:=oct"200"; + else: xchar_code:=oct"303"; + fi; +.beginchar(xchar_code,9.522u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); breve(100); +.endchar; + +.cmchar "The Fraktur letter A tilde"; +if (dc_layout>0): +.beginchar(oct"303",9.522u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); tilde(100); +.endchar; +fi; + +.cmchar "The Fraktur letter A o-Umlaut"; +if (dc_layout>0): +.beginchar(oct"305",9.522u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); o_umlaut(100); +.endchar; +fi; + +.cmchar "The Fraktur letter A acute"; +.beginchar(oct"301",9.522u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter A grave"; +if (dc_layout>0): xchar_code:=oct"300"; + else: xchar_code:=oct"230"; + fi; +.beginchar(xchar_code,9.522u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); cap_grave(100); +.endchar; + +.cmchar "The Fraktur letter A hat"; +.beginchar(oct"302",9.522u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hat(100); +.endchar; + +.cmchar "The Fraktur letter B"; +.beginchar("B",12.415u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +z1=(0.045w,0.096h); z2=(0.081w,0.141h); +z3=(0,0.165h); z4=(x1,0.213h); +penpos5(cap_stem,-142); +z5=(0.179w,0.301h); +penpos6(1.259cap_stem,-147); +z6r=(0.538w,-apex_o); +penpos7(cap_hair,-65); +z7=(0.775w,0.103h); +penpos8(0.907cap_stem,30); +z8r=(w,0.4h); +penpos9(1.741cap_stem,27); +z9l=(x6r,0.6h); +filldraw z1{right}..z2{up}..z4 & +z4..z5r{right}..z6r{right} & +z6r---z7r...z8r{up}..z9r{left}-- +z9l{right}..z8l{down}..z7l..z6l{left} +..z5l{left}..z3{down}..z1{right} & +cycle; +% +% +% +penpos10(1.222cap_stem,-153); +z10r=0.883[z9l,z9r]; +penpos11(2/3cap_hair,-63); +z11r=whatever[z9,z10]; x11=x10l+cap_hair; +penpos13(1.056cap_stem,-125); +z13l=(0.691w,h); +z12=(z13l{right}..z10l{dir-63}) +intersectionpoint ((x10l-1.5hair,0)-- +(x10l-1.5hair,h)); +penpos14(cap_hair,0); +penpos16(0.889cap_stem,17); z16r=z9l; +z14=(x16,0.686h); +filldraw z14l{dir78}..z13l{right}..z12.. +z11l{z10-z9}--z11r--z10r{dir117}.. +z13r{left}..{dir258}z14r--z14l & cycle; +% +% +% +penpos15'(cap_hair,-90); +z15'l=z5l; +penpos15(0.889cap_stem,0); +z14-z15=whatever*dir85; y15=y5l+2cap_hair; +penpos17(cap_stem,76); +z17r=(0.256w,h+apex_o); +penpos18(cap_hair,180); +z18=(0.055w,0.745h); +penpos19(1.185cap_stem,-145); +z19=(0.148w,0.644h); +penpos20(cap_hair,197); +z20=(0.246w,0.548h); +penpos21(cap_hair,118); +z21=whatever[(0,0),z17]; x21=0.108w; +penstroke z15'e{right} +..z15e..z16e{up}..z17e{left} +..z18e{down}..z19e{dir-45}..z20e{z20l-z19l}.. +z21e{dir202}; +.endchar; + +.cmchar "The Fraktur letter C"; +.beginchar("C",10.406u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +z1=(0.157w,0.08h); z2=(0.211w,0.138h); +z3=(0.084w,0.141h); +z5=(0.113w,0.209h); z4=0.4[z3,z5]; +penpos6(cap_hair,180); +z6r=(0,0.117h); penpos7(cap_hair,-118); +z7r=(0.189w,-apex_o); +penpos8(cap_hair,-48); +z8=(0.469w,0.136h); +penpos9(1.074cap_stem,36); +z9=(0.623w,0.367h); z10=(0.5w,0.721h); +penpos10(0.889cap_stem,30); +z11'=(0.736w,0.931h); +z13=(0.803w,0.729h); +z14=(w,0.777h); penpos11(cap_hair, +angle(z13-z11')); +z11l=z11'; z12-z11l=whatever*dir7; +x12=0.912w; z16'-z12=whatever*(z13-z11); +z16'=whatever[z13,z14]; +penpos15(cap_hair,angle(z13-z11)); +z15r=z14; z15l-z16=whatever*(z14-z13); +z16=whatever[z12,z16']; +penstroke z6e{down}..z7e{right}.. +z8e..z9e{up}..z10e{up}..z11e{z12-z11l}; +filldraw z11l--z12--z16--z15l--z15r +--z13--z11l & cycle; +filldraw z6l{up}..z4{right} & +z4..z3{down}..z1{right}..z2{up}.. +z5{left}..z6r{down}--z6l & cycle; +% +% +% +penpos17(1.037cap_stem,90); +z17l=(0.738w,-apex_o); +penpos18(1.093cap_stem,38); +z18=(0.17w,0.58h); +penpos19(1.5cap_hair,-57); +z19l=(0.45w,h+apex_o); +penpos20(1.2cap_hair,-197); +z20=(0.692w,0.824h); +penpos21(cap_hair,-219); +z21=(3/4[x9l,x9r],y10); +penstroke z17e{left}..z18e{up}.. +z19e..z20e{down}..z21e; +penpos22(cap_hair,-44); +z22r-z17l=whatever*dir46; +x22r=w; +filldraw z17r{right}..z22l{z22r-z17l} +--z22r--z17l--z17r & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter C cedilla"; +.beginchar(oct"307",10.406u#,cap_height#,0.2x_height#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.6w,0); cedilla(100); +endchar; + +.cmchar "The Fraktur letter C acute"; +if (dc_layout>0): xchar_code:=oct"202"; + else: xchar_code:=oct"306"; + fi; +.beginchar(xchar_code,10.406u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); acute(100); +endchar; + +.cmchar "The Fraktur letter C hacek"; +if (dc_layout>0): xchar_code:=oct"203"; + else: xchar_code:=oct"310"; + fi; +.beginchar(xchar_code,10.406u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hacek(100); +endchar; + +.cmchar "The Fraktur letter D"; +.beginchar("D",12.168u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +z1=(0.073w,-apex_o); +penpos2(0.6cap_stem,0); +z2=(x1,0.04h); penpos4(1.204cap_stem,-148); +z4=(0.229w,0.190h); +penpos5(1.185cap_stem,-144); +z5r=(0.545w,-apex_o); +penpos6(cap_hair,-65); x6=0.787w; +z6r-z5r=whatever*dir25; +penpos7(0.815cap_stem,38); +z7r=(w,0.418h); penpos8(0.926cap_stem,67.5); +z8r=(0.41w,h+apex_o); +penpos9(0.537cap_stem,-173); +z9r=(0,0.685h); penpos10(2/3cap_hair,-90); +z10=(0.242w,0.53h); +penstroke z2e{up}..z4e{right}..z5e{right}; +penstroke z6e{dir25}..z7e{up}..z8e{left} +..z9e{down}..z10e{right}; +filldraw z2l{down}..z1..z2r{up}--z2l +& cycle; +filldraw z5l{right}..z6l{dir25}-- +z6r--z5r--z5l & cycle; +% +% +% +z11=(0.171w,0.389h); z12=(0.197w,0.427h); +penpos13(cap_hair,-90); +z13=(x4l,0.3h); penpos14(cap_stem,0); +z14=(0.462w,0.5[y11,y12]); +penpos15(1.074cap_stem,34); +z15=(0.353w,0.655h); z16=(0.488w,0.78h); +penpos16(cap_hair,-90); +penstroke z13e{right}..z14e{up}.. +z15e{up}..z16e{right}; +filldraw z11{up}..z12{right}..z13l{right} +--z13r{left}..z11{up} & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter D with bar (\eth)"; +.beginchar(oct"320",12.168u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z0=(0,0.45cap_height-0.3u); +z1=(0.6w,0.45cap_height+0.3u); pickup pensquare scaled 0.7stem; +draw z0--z1; +.endchar; + +.cmchar "The Fraktur letter D with hacek"; +if (dc_layout>0): xchar_code:=oct"204"; + else: xchar_code:=oct"317"; + fi; +.beginchar(xchar_code,12.168u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +hacek(100); +.endchar; + +Ewidth :=8.508; + +.cmchar "The Fraktur letter E"; +.beginchar("E",8.508u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(1.074cap_stem,62.5); +z1l=(0.623w,-apex_o); +penpos2(0.796cap_stem,16); +z2l=(0,0.485h); penpos3(4/3cap_hair,-90); +z3l=(0.485w,h+apex_o); +penpos6(cap_stem,-151.5); +penpos5(cap_stem,-151.5); +x6l=w; y5l=h; z6-z5=whatever*dir-37; +x5l=0.808w; +penstroke z5e--z6e; +penpos4(cap_hair,-151.5); +z4r=z5r; penstroke z3e{right}.. +z4e{z6-z5}; +penpos16(cap_hair,-90); +z16=(w,0.149h); +filldraw z1l--z16r--z16l..z1r{left} +--z1l & cycle; +penstroke z1e{left}..z2e{up}..z3e{right}; +% +% +% +penpos7(cap_hair,-164); z7=whatever[z2l,z2r]; +x7=0.31w; +penpos8(0.444cap_stem,-51.5); +z8=(0.492w,0.393h); +penpos9(0.796cap_stem,6.5); +z9=(x1l,y2-eps); +penpos10(0.963cap_stem,34); +z10=(0.441w,0.767h); +penpos11(cap_hair,-37); z11l=z4r; +penstroke z7e{dir-74}..z8e{right}.. +z9e{up}..z10e{up}..z11e{z5l-z5r}; +% +% +% +penpos12(cap_hair,-55.5); +z12l=(z9{up}..z10{up}) +intersectionpoint (z9l--(x9l,h)); +z13-z12l=whatever*dir31.5; +x13=0.854w; penpos14(whatever,0); +z15=(x13,0.53h); z14r=(w,0.639h); +z14l-z12r=whatever*(z13-z12l); +filldraw z12l--z13--z14r--z15-- +z14l--z12r--z12l & cycle; +last_char:=currentpicture; +cap_letter_E:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter E with ogonek"; +if (dc_layout>0): xchar_code:=oct"206"; + else: xchar_code:=oct"312"; + fi; +.beginchar(xchar_code,8.508u#,cap_height#,0.2x_height#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.7w,0); +ogonek(100); +.endchar; + +.cmchar "The Fraktur letter E Umlaut"; +.beginchar(oct"313",8.508u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +umlaut(100); +.endchar; + +.cmchar "The Fraktur letter E acute"; +.beginchar(oct"311",8.508u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +acute(100); +endchar; + +.cmchar "The Fraktur letter E grave"; +if (dc_layout>0): +.beginchar(oct"310",8.508u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +cap_grave(100); +endchar; +fi; + +.cmchar "The Fraktur letter E hat"; +if (dc_layout>0): +.beginchar(oct"312",8.508u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +hat(100); +endchar; +fi; + +.cmchar "The Fraktur letter E hacek"; +if (dc_layout>0): xchar_code:=oct"205"; + else: xchar_code:=oct"314"; + fi; +.beginchar(xchar_code,8.508u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +hacek(100); +endchar; + +.cmchar "The Fraktur ligature AE"; +.beginchar(Ae_ligature,9.522u#,cap_height#,0) +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#+5u#); +penpos1(cap_hair,-51); +penpos2(cap_hair,-51); +z2-z1=whatever*dir39; +x2r=w; z1r=(0.722w,-apex_o); +penpos4'(cap_hair,39); z4'l=z1l; +z4'r=z4; +penpos5(cap_stem,0); +z5=(x1r,0.223h); +penpos13(cap_hair,-62); z13r=z5r; +z13l-z14=whatever*dir26; +z13r-z14'=whatever*dir26; +y14=0; y14'=-apex_o; +z6=whatever[z14',z13r]; x6=x5l; +filldraw z14--z13l--z13r.. +z6--z14'--z14 & cycle; +% +% +% +penpos15(cap_hair,-90); z15=(0,0.213h); +z15r-z16=whatever*dir137; +x16=0.936x14; z17=whatever[z14,z13l]; +x17=0.392w; +penpos18(cap_hair,-43); +z18-z17=whatever*dir133; +y18r=y15l; penpos19(0.815cap_stem,0); +x19=0.5w; y19=0.521h; +z14''=(x14'-cap_hair,0); +filldraw z15l{right}..z18l..z19l{up} +--z19r{down}..z18r{dir-162}-- +z17--z14''{dir72}...z16---z15r-- +z15l & cycle; +% +% +% +penpos20'(1.037cap_stem,29.5); +z20'=(0.405w,0.846h); +penpos20(0.889cap_stem,50); +z20=(x18r,0.904h); +penpos21(1.25cap_hair,180); +z21r=(0,3/4h); +penpos22(1.148cap_stem,-162); +z22l=(x20,0.678h); +penpos23(cap_hair,180); +z23=(0.284w,0.535h); +penpos24(0.685cap_stem,66.6); +z24l=(x22,0.367h); +z25=(0.027w,0.426h); z26=(0.079w,0.473h); +penstroke z19e{up}..z20'e{dir135}.. +z20e{left}..z21e{down}..z22e{dir-45} +..z23e{down}..z24e{left}; +filldraw z24l{left}..z25{up}..z26{right} +..z24r{right}--z24l & cycle; +addto currentpicture also last_char shifted (6u,0); +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter F"; +.beginchar("F",8.213u#,cap_height#,3.010u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(2/3cap_hair,68); +z1=(0.34w,0.535h); penpos2(cap_hair,0); +z2l=(0.036w,0.739h); +penpos3(4/3cap_stem,-150); +z3l=(0.614w,h+apex_o); +penpos4(cap_stem,-128); z4l-z3l=whatever*dir-37; +x4l=w; penpos5(cap_hair,-38); +x5l=w; z5r=whatever[z4r,z4l]; +penstroke z1e{dir158}..z2e{up}.. +z3e{right}; +z5'=whatever[z3l,z4l]; z5'-z5l=whatever*(z4-z5r); +filldraw z3l--z5'--z5l--z5r--z4r +{z3l-z4l}...z3r{left}--z3l & cycle; +% +% +% +penpos6(cap_hair,-23); penpos7(cap_hair,-90); +penpos8(0.778cap_stem,-219); +penpos9(0.741cap_stem,-203); +penpos10(cap_hair,-90); +penpos11(cap_stem,17); +penpos12(1.111cap_stem,30); +penpos13(eps,-63); +z6l=(0,0.351h); z7=(x2r+cap_hair,0.44h); +x8l=x1; y8=0.339h; z9r=(x2l,0); +z10r=(0.462w,-d); z11l=(0.709w,0); +z12=(0.542w,0.652h); +z13=(0.789w,0.821h); +penstroke z6e{dir67}..z7e{right}..z8e{down} +..z9e{down}..z10e{right}..z11e{up}.. +z12e{up}..z13e{dir27}; +% +% +% +penpos14(cap_hair,-47); +penpos15(cap_hair,-47); +z14=(z11{up}..z12{up}) intersectionpoint +((0,0.476h)--(w,0.476h)); +z15-z14=whatever*dir43; +x15l=x4r; penpos16(0.833cap_stem,-137); +z16l=z15l; penpos17(0.833cap_stem,-137); +x17l=w; z17-z16=whatever*dir-47; +penstroke z14e--z15e; +penstroke z16e--z17e; +.endchar; + +.cmchar "The Fraktur letter G"; +.beginchar("G",10.638u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,0); +penpos2(0.5cap_stem,90); +penpos3(cap_stem,180); +penpos4(cap_hair,-90); +penpos5(0.926cap_stem,14); +penpos7(cap_hair,-51); +penpos9(cap_hair,-51); +z1=(0.595w,0.739h); z2r=(0.385w,h+apex_o); +z3r=(0,0.517h); z4r=(0.537w,-apex_o); +z5r=(w,0.392h); z6=(0.686w,0.628h); +z7=(x4,0.566h); z9-z7=whatever*dir39; +x9=0.963w; z8=whatever[z7r,z9r]; +x8=0.817w; +penstroke z1e{up}..z2e{left}..z3e{down} +..z4e{right}..z5e{up}; +filldraw z7r{z9-z7}..z6{right}.. +z5l{down}--z5r{up}..z8--z9r--z9l-- +z7l--z7r & cycle; +% +% +% +penpos11(1.148cap_stem,39); +penpos12(1.148cap_stem,39); +z11=whatever[z7l,z9l]; x11=0.856w; +penpos10(cap_hair,-51); +z10=whatever[z9l,z9r]; y10l=h+apex_o; +z12-z11=whatever*dir129; +z10l-z12=whatever*dir39; +penpos13(cap_hair,-51); z13l=z12l; +penstroke z11e--z12e; +penstroke z13e--z10e; +% +% +% +penpos14(cap_hair,180); penpos15(0.5cap_stem,-45); +penpos16(0.796cap_stem,21.5); +penpos17(0.926cap_stem,43); +penpos18(cap_hair,-37); +penpos19(cap_hair,-37); +z14=(0.3w,0.58h); z15=(0.441w,0.385h); +z16=(0.5[x7,x1],0.507h); +z17=(0.385w,0.776h); z18=(0.442w,0.873h); +z19-z18=whatever*dir53; y19=1.032h; +penstroke z14e{down}..z15e{right}.. +z16e{up}..z17e{up}...z18e---z19e; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter G with breve"; +if (dc_layout>0): +.beginchar(oct"207",10.638u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); breve(100); +.endchar; +fi; + +.cmchar "The Fraktur letter H"; +.beginchar("H",10.275u#,cap_height#,1.996u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,111); +penpos2(cap_hair,90); +penpos3(cap_hair,0); +penpos8(cap_hair,-45); +penpos7(cap_hair,-45); +penpos9(0.889cap_stem,0); +penpos10(1.222cap_stem,48.5); +penpos11(cap_hair,132); +z1=(0.57w,-0.679d); +z2l=(0.452w,-d); z3=(0.354w,-0.23d); +z4=(0.503w,0.082h); z5=(0.621w,0.217h); +z6=(0.71w,0.12h); z8l=(0.592w,-apex_o); +z7r-z8r=whatever*dir45; +x7r=0.809w; z9r=(w,0.429h); +z10=(0.624w,3/4h); %z11=whatever[z1l,z1r]; +z11=(0.28w,0.543h); +penstroke z1e..z2e{left}..z3e{up}; +filldraw z3r{up}..z4{right}.. +z8l{z8r-z7r}--z8r---z7r...z9r{up}-- +z9l{down}..z7l{z8r-z7r}..z6{left}.. +z5{dir123} & z5{dir211}..z3l{down}-- +z3r & cycle; +penstroke z9e{up}..z10e{left}.. +z11e{dir222}; +% +% +% +penpos12(1.259cap_stem,-131); +penpos13(1.2cap_hair,-41); +penpos14(1.074cap_stem,25); +penpos15(cap_hair,-41); +penpos18(cap_hair,-36); +z12r=(0,0.141h); y13=0.2h; x13l=x11; +z14=z11; z15=(x11,0.845h); +z16=(0.478w,h); z17=(0.516w,0.837h); +z18r-z17=whatever*dir54; +y18r=h+apex_o; +penstroke z12e{dir-41}..z13e{dir49} +..z14e..z15e{dir49}; +filldraw z15r{dir49}..z17--z18r-- +z18l{z17-z18r}..z16{left}..z15l +{dir229}--z15r & cycle; +.endchar; + +.cmchar "The Fraktur letter I"; +.beginchar("I",8.541u#,cap_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,28); +penpos2(cap_hair,-17.5); +penpos3(0.889cap_stem,-116); +penpos4(cap_stem,-126); +penpos5(cap_hair,-44); +penpos6(1.056cap_stem,53); +penpos7(1.056cap_stem,21); +penpos8(cap_hair,-90); +penpos9(cap_hair,180); +z1=(0.115w,-0.886d); z2r=(x1,-0.519d); +z3=(0.234w,-0.1d); z4r=(0.517w,-d); +z5=(0.795w,-0.329d); z6r=(0.966w,0.196h); +z7=(0.636w,0.56h); z8=(0.808w,0.683h); +z9l=(x6r,0.554h); +penstroke z1e..z2e{up}..z3e{right} +..z4e{right}..z5e..z6e{up}..z7e{up} +..z8e{right}..z9e{down}; +% +% +% +penpos10(1.037cap_stem,50); +penpos11(cap_hair,-45); +penpos12(0.889cap_stem,43); +penpos13(1.185cap_stem,-146); +penpos14(0.741cap_stem,-119); +penpos15(cap_hair,0); +penpos16(cap_hair,28); +z10l=z11r=(0.1w,0.515h); +z12l=(0,0.69h); z13l=(0.506w,h+apex_o); +z14r=z8l+(0,0.035h); +z15r=(w,0.875h); z16=(x15l,0.924h); +filldraw z11l{z12r-z11l}..z12l{up}-- +z12r{down}..z10r--z10l--z11l & cycle; +penstroke z12e{up}..z13e{right}.. +z14e{right}..z15e{up}..z16e{dir118}; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter Ij"; +if (dc_layout>0): +.beginchar(oct"234",8.541u#+2.944lower_u#,cap_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +addto currentpicture also small_letter_j shifted (8.541u,-0.1x_height); +endchar; +fi; + +.cmchar "The Fraktur letter I Umlaut"; +if (dc_layout>0): +.beginchar(oct"317",8.541u#,cap_height#+0.3x_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +umlaut(100); +endchar; +fi; + +.cmchar "The Fraktur letter I dot"; +if (dc_layout>0): +.beginchar(oct"235",8.541u#,cap_height#+0.3x_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +pointaccent(100); +endchar; +fi; + +.cmchar "The Fraktur letter I grave"; +if (dc_layout>0): +.beginchar(oct"314",8.541u#,cap_height#+0.3x_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +cap_grave(100); +endchar; +fi; + +.cmchar "The Fraktur letter I hat"; +.beginchar(oct"316",8.541u#,cap_height#+0.3x_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +hat(100); +endchar; + +.cmchar "The Fraktur letter I acute"; +.beginchar(oct"315",8.541u#,cap_height#+0.3x_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); +acute(100); +endchar; + +.cmchar "The Fraktur letter J"; +.beginchar("J",8.541u#,cap_height#,2.497u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,28); +penpos2(cap_hair,-17.5); +penpos3(0.889cap_stem,-116); +penpos4(cap_stem,-126); +penpos5(cap_hair,-44); +penpos6(1.056cap_stem,53); +penpos7(1.056cap_stem,21); +penpos8(cap_hair,-90); +penpos9(cap_hair,180); +z1=(0.115w,-0.886d); z2r=(x1,-0.519d); +z3=(0.234w,-0.1d); z4r=(0.517w,-d); +z5=(0.795w,-0.329d); z6r=(0.966w,0.196h); +z7=(0.636w,0.56h); z8=(0.808w,0.683h); +z9l=(x6r,0.554h); +penstroke z1e..z2e{up}..z3e{right} +..z4e{right}..z5e..z6e{up}..z7e{up} +..z8e{right}..z9e{down}; +% +% +% +penpos10(1.037cap_stem,50); +penpos11(cap_hair,-45); +penpos12(0.889cap_stem,43); +penpos13(1.185cap_stem,-146); +penpos14(0.741cap_stem,-119); +penpos15(cap_hair,0); +penpos16(cap_hair,28); +z10l=z11r=(0.1w,0.515h); +z12l=(0,0.69h); z13l=(0.506w,h+apex_o); +z14r=z8l+(0,0.035h); +z15r=(w,0.875h); z16=(x15l,0.924h); +filldraw z11l{z12r-z11l}..z12l{up}-- +z12r{down}..z10r--z10l--z11l & cycle; +penstroke z12e{up}..z13e{right}.. +z14e{right}..z15e{up}..z16e{dir118}; +.endchar; + +.cmchar "The Fraktur letter K"; +.beginchar("K",9.478u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +cap_stem:=0.95cap_stem; +%cap_hair:=0.95cap_hair; +z1=(0,0.182h); z2=(0.177w,0.207h); +z3=(0.033w,-apex_o); +penpos4(cap_hair,-90); +z4=(0.282w,0.045h); penpos5(cap_hair,0); +z5=(0.4w,0.136h); z7=(0.434w,0.227h); +z7'=(0.328w,0.556h); +z8=(0.197w,0.732h); z6=(0.052w,0.566h); +penpos9(1.25cap_hair,-90); +z9l=(0.561w,h+apex_o); +penpos9'(cap_hair,180); +z9'l=(w-apex_o,0.707h); +penpos10(cap_hair,140); z10=(0.813w,0.492h); +filldraw z1--z3{dir30}..z4r{right} +..z5r..z7{up}..z7'..z8{up}..z9r{right} +--z9l{left}..z6{down} & z6{dir-52} +..z5l..z4l{left}..z2{up}--z1 & cycle; +penstroke z9e{right}..z9'e{down}.. +z10e; +% +% +% +penpos12(cap_hair,-78); +penpos11(cap_hair,-78); +z12l-z7'=whatever*dir12; +z7'-z11l=whatever*dir12; +x12=x10; x11=0.243w; +penstroke z11e--z12e; +penpos13(cap_hair,12); z13r=z7'; +penpos14(0.463cap_stem,-116); +z14=(0.492w,0.8h); +penpos16(1.074cap_stem,-168); +z16=whatever[z11l,z12l]; x16l=x12-cap_hair; +z12-z15=whatever*dir-78; +penpos15(cap_hair,-78); +y15=0.823h; z17-z15r=whatever*(z12-z11); +z16l-z17=whatever*(z12-z15); +filldraw z13r{dir102}..z14r{right} +..z16r{dir-78}--z16l--z17--z15r-- +z15l{z13-z12}..z14l{left}..z13l{dir-78} +--z13r & cycle; +% +% +% +penpos18(1.053cap_stem,-168); +z18=0.5[z12r,z11r]; +penpos18'(1.053cap_stem,-168); +z19=(0.767w,-apex_o); penpos21(cap_hair,-90); +z21r-z19=whatever*dir45; x21=w; +z20=(0.869w,0.149h); +z18'-z18=whatever*dir-70; x18'l=x15; +filldraw z18r---z18'r...z19--z21r-- +z21l{z19-z21r}..z20{left}...z18'l +---z18l--z18r & cycle; +.endchar; + +% added by V. Kurz 2002 +.cmchar "The Fraktur letter L"; +.beginchar("L",6.131u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +cap_stem:=1.022cap_stem; +penpos1(cap_hair,0); penpos2(cap_hair,-60); +penpos3(1.056cap_stem,30); +penpos4(cap_stem,23); penpos5(0.481cap_stem,-67); +penpos6(cap_hair,-149); +penpos7(whatever,-140); +penpos8(cap_hair,-147); +penpos9(cap_hair,-90); penpos10(cap_hair,0); +z1l=(0,0.082h); z2=(0.15w,0.207h); +z3=(0.453w,0.37h); z4l=(0,0.731h); +z5l=(0.539w,h+apex_o); +z6=(0.829w,0.886h); z7l=(0.933w,0.739h); +x7r=x3r; +z8=(0.658w,0.53h); z9=(x6,0.476h); +z10=(x7l,0.543h); +penstroke z1e{up}..z2e..z3e{up}.. +z4e{up}..z5e{right}..z6e..z7e{down} +..z8e..z9e{right}..z10e{up}; +% +% +% +z11=(0.109w,0.111h); z13=(0.539w,-apex_o); +z12=(0.731w,y11); penpos14(cap_hair,-21); +z14r=(w,0.223h); +z15'-z11=whatever*(z12-z13); x15'=w; +z15=(z1{up}..z2..z3{up}) intersectionpoint +((0.238w,0)--(0.238w,h)); +filldraw z1r{up}..z11{right}..z13{dir-25} +& z13{dir25}..z14r{dir69}--z14l{dir249} +..z12{left}..z15{left}& z15..z2.. +z1{down}--z1r & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter L with bar"; +if (dc_layout>0): xchar_code:=oct"212"; + else: xchar_code:=oct"243"; + fi; +.beginchar(xchar_code,6.131u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0,0.40cap_height); ellbar(100); +.endchar; + +.cmchar "The Fraktur letter L with acute"; +if (dc_layout>0): xchar_code:=oct"210"; + else: xchar_code:=oct"305"; + fi; +.beginchar(xchar_code,6.131u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter L with hacek"; +if (dc_layout>0): xchar_code:=oct"211"; + else: xchar_code:=oct"245"; + fi; +.beginchar(xchar_code,6.131u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); hacek(100); +.endchar; + +.cmchar "The Fraktur letter M"; +.beginchar("M",13.432u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,-40); penpos2(cap_hair,-40); +z1=(0.067w,0.035h); z2-z1=whatever*dir50; +x2=0.176w; z3=(1/5w,-apex_o); +penpos4(cap_hair,-41.5); +z4r-z3=whatever*dir48.5; +z4=whatever[z2l,z2r]; +penpos5(1.3cap_stem,48); +% ant'i 1.111 pou j'aprepe n'anai +z5=(0.4w,0.394h); penpos6(0.778cap_stem,44); +z6=(0.148w,0.915h); penpos7(cap_hair,180); +z7r=(0,0.782h); penpos8(1.111cap_stem,-147); +z8l=(x6,0.649h); penpos9(2.2cap_hair,-171.5); +penpos10(cap_hair,90); z9r=(x2l,0.46h); +z10=(0.122w,0.378h); penpos11(cap_hair,58); +z11=(0.047w,0.418h); +z1'=whatever[z1r,z2r]; x1'=x1r+0.014117w; +filldraw z1l--z2l--z4r--z3--z1'--z1r +--z1l & cycle; +penstroke z4e{z4r-z3}..z5e{up}.. +z6e{left}..z7e{down}..z8e..z9e{down} +..z10e{left}..z11e; +% +% +% +penpos12(cap_hair,-40); penpos13(cap_hair,-40); +z12=(0.329w,0.024h); z13-z12=whatever*dir50; +x13=x5r; z13'=(0.466w,-apex_o); +penpos14(cap_hair,-40); z14r-z13'=whatever*dir48; +z14=whatever[z13l,z13r]; +penpos15(1.5cap_stem,-50); +penpos16(0.741cap_stem,48); +penpos17(cap_hair,180); +z15=(0.647w,0.548h); +x16=0.424w; y16r=h+apex_o; +z17=(0.306w,0.843h); +penstroke z12e--z13e; +z12'=whatever[z12r,z13r]; x12'=x12r+0.014117w; +filldraw z12'--z13'--z14r--z13l-- +z12' & cycle; +penstroke z14e{z14r-z13'}..z15e{up} +..z16e{left}..z17e{dir251}; +% +% +% +penpos18(cap_hair,-46); penpos19(cap_hair,-46); +penpos20(1.13cap_stem,37); +penpos21(0.852cap_stem,-15); +penpos22(cap_hair,-72); +z18r=(0.814w,-apex_o); +z19-z18=whatever*dir44; +x19r=w; z20=(x18-eps,0.34h); +z21=(x18r+eps,0.556h); +z22=(0.906w,0.609h); +z20'=0.7[z18l,z19l]; +penstroke z18e--z19e; +filldraw z18l{up}..z20l{up}..z21l-- +z22l--z22r{z21l-z22l}..z21r.. +z20r{down}..z20'{dir-35}--z18l +& cycle; +% +% +% +penpos23(1.148cap_stem,53); +penpos24(0.944cap_stem,12); +penpos27(2/3cap_hair,90); +z23r=(w,0.670h); z24=(0.871w,0.84h); +z25=(0.715w,0.947h); z26=(x25,0.87h); +z27=(0.621w,0.824h); +filldraw z23r{dir124}..z24r%{dir124} +...z25---z27r--z27l{z25-z27r}.. +z26{right}..z24l%{dir-56} +..z23l{dir-56} +--z23r & cycle; +.endchar; + +.cmchar "The Fraktur letter N"; +.beginchar("N",11.662u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,-45); penpos3(cap_hair,-45); +penpos4(cap_hair,-90); +penpos5(0.944cap_stem,0); +penpos6(0.811cap_stem,64); +penpos7(cap_hair,180); +penpos8(1.094cap_stem,-132); +penpos9(cap_hair,180); penpos10(cap_hair,90); +penpos11(cap_hair,21); +z1=(0.123w,0); z3-z1=whatever*dir52; +x3=0.239w; 0.5[z1,z3]-z2=whatever*dir-45; +x2=x1l-eps; z4r=(0.325w,-apex_o); +z5=(0.55w,0.371h); z6=(x3,0.932h); +z7r=(0,0.751h); z8=(0.197w,0.553h); +z9=(x4,0.428h); z10=(x3,0.317h); +z11=(0.125w,0.423h); +penpos2(1/3cap_hair,52); +filldraw z1l{dir71}..z2l--z2r +..{dir31}z3l--z3r{z1-z3}..z4l{right} +--z4r{left}..z1r{z1-z3}--z1l{z3-z1} +& cycle; +penstroke z4e{right}..z5e{up}.. +z6e{left}..z7e{down}..z8e{dir-22}.. +z9e{down}..z10e{left}..z11e; +% +% +% +penpos12(2/3cap_hair,0); penpos13(0.778cap_stem,-126); +penpos14(0.944cap_stem,-162); +penpos15(0.944cap_stem,-90); +penpos16(cap_hair,0); +penpos17(cap_hair,-32); +penpos19(0.981cap_stem,0); +penpos20(0.793cap_stem,0); +penpos21(cap_hair,-90); +z12=(0.516w,0.745h); y13l=h+apex_o; +z14=(0.886w,0.751h); +z15=(w,0.669h); +z19=(0.769w,y5); x13=x19l; +z16=(x19r,-apex_o); +z17r-z16r=whatever*dir58; +x17r=0.977w; z20=(0.798w,0.537h); +z21r=z15r; +filldraw z16r--z17r--z17l{z16r-z17r} +..z19r{up}..z20r..z21r{dir18}-- +z21l{dir198}..z20l..z19l{down}.. +z16l--z16r & cycle; +penstroke z12e{up}..z13e{right}.. +z14e{dir-71}..z15e{right}; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter N tilde"; +if (dc_layout>0): +.beginchar(oct"321",11.662u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); tilde(100); +.endchar; +fi; + +.cmchar "The Fraktur letter N acute"; +if (dc_layout>0): xchar_code:=oct"213"; + else: xchar_code:=oct"321"; + fi; +.beginchar(xchar_code,11.662u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter N hacek"; +if (dc_layout>0): xchar_code:=oct"214"; + else: xchar_code:=oct"322"; + fi; +.beginchar(xchar_code,11.662u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hacek(100); +.endchar; + +Owidth := 12.01; + +.cmchar "The Fraktur letter O"; +.beginchar("O",12.01u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,41); penpos2(cap_hair,0); +penpos3(cap_hair,-59); +penpos5(1.037cap_stem,24); +penpos6(1.074cap_stem,38); +penpos7(cap_hair,-47); penpos8(2/3cap_hair,0); +penpos4(1.315cap_stem,-146); +penpos10(1.111cap_stem,70); +penpos11(0.704cap_stem,22); +penpos14(cap_hair,-46); +z1r=(0.084w,0); z2l=(0,0.09h); +z3=(0.234w,0.298h); z4=(0.184w,0.197h); +z5=(0.332w,0.412h); z6=(0.179w,0.71h); +z7=(0.263w,0.843h); z8=(0.389w,h+apex_o); +z9=(x8,0.787h); z10=(0.595w,0.864h); +z11r=(w,0.484h); z12=(0.637w,0.144h); +z13=(2x10-x12,-apex_o); +z14=(0.858w,0.227h); +penstroke z1e..z2e{up}..z3e..z5e{up} +..z6e{up}..z7e{dir43}; +penstroke z1e..z2e{up}..z4e{dir-19}; +filldraw z4r{dir-19}..{z13-(x4r,0.5y4r)}z13 & +z13{dir27}..z14r..z11r{up}..z10r{left}.. +z8r{dir100}--z8l{down}..z7l{dir223}-- +z7r..z9..z10l{right}..z11l{down}.. +z14l..z12{left}..z4l{dir161}--z4r & +cycle; last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter O Umlaut"; +.beginchar(oct"326",12.01u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); umlaut(100); +.endchar; + +.cmchar "The Fraktur letter O tilde"; +if (dc_layout>0): +.beginchar(oct"325",12.01u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); tilde(100); +.endchar; +fi; + +.cmchar "The Fraktur letter O with Hungarian umlaut"; +if (dc_layout>0): xchar_code:=oct"216"; + else: xchar_code:=oct"325"; + fi; +.beginchar(xchar_code,12.01u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hungarum(100); +.endchar; + +.cmchar "The Fraktur letter O slash"; +if (dc_layout>0): xchar_code:=oct"330"; + else: xchar_code:=oct"037"; +fi; +beginchar(xchar_code,12.01u#,cap_height#,0); +adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +pickup penrazor xscaled stem yscaled hair rotated 30; +draw (0,0)--(w,cap_height); +endchar; + +.cmchar "The Fraktur letter O acute"; +.beginchar(oct"323",12.01u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter O grave"; +if (dc_layout>0): +.beginchar(oct"322",12.01u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); cap_grave(100); +.endchar; +fi; + +.cmchar "The Fraktur letter O hat"; +.beginchar(oct"324",12.01u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hat(100); +.endchar; + +OEoverlap = 5; + +.cmchar "The Fraktur ligature OE"; +if (dc_layout>0): xchar_code:=oct"327"; + else: xchar_code:=oct"036"; + fi; +.beginchar(xchar_code,(Owidth+Ewidth-OEoverlap)*u#,cap_height#,0) +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +cullit; +left_unfillx:=6.5u; +bottom_unfillx:=10u; +unfill (left_unfillx,0.5h)--(bottom_unfillx,0)--(w,0)--(w,h)--(bottom_unfillx,h)--cycle; +addto currentpicture also cap_letter_E shifted ((Owidth-OEoverlap)*u,0); +addto currentpicture also cap_letter_E shifted ((Owidth-OEoverlap)*u,0); +proofrule ((w,0),(w,h)); +.endchar; + +.cmchar "The Fraktur letter P"; +.beginchar("P",9.482u#,cap_height#,2.651u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,0); penpos2(cap_stem,0); +penpos3(cap_stem,0); +penpos4(0.926cap_stem,58); +penpos5(cap_hair,180); +penpos8(1.5cap_hair,-145); +penpos9(cap_hair,114); +z1=(0.427w,-d); z2=(0.453w,0.09h); +z3=(x2,0.7h); z4r=(0.227w,h+apex_o); +z5r=(0,0.778h); z6=(0.173w,0.67h); +z7=(0.083w,0.564h); z8=(0.275w,0.524h); +z9r=(x7,0.4h); +penstroke z1e...z2e---z3e..z4e{left} +..z5e{down}; +penstroke z8e{down}..z9e; +filldraw z5r{down}..z7 & z7{right}.. +z8r{down}--z8l{up}..z6..z5l{up}-- +z5r & cycle; +% +% +% +penpos18(cap_hair,0); penpos19(cap_hair,-80); +penpos16(1.037cap_stem,23); +penpos15(cap_stem,35); +penpos14(cap_hair,-56); +z18r=z3r; z19=(0.74w,0.931h); +z16=(0.793w,0.782h); +z15r=(w,0.42h); z14=(0.687w,0.059h); +penstroke z14e{dir33}..z15e{up}.. +z16e{up}; +penstroke z18e{up}..z19e{dir22.5}; +z17'=(0.917w,h-apex_o); +filldraw z16l{up}..z19l & z19l{dir22.5} +..z17'{right} & z17'..z16r{down}-- +z16l & cycle; +% +% +% +penpos10(cap_stem,64); penpos11(cap_stem,71); +penpos12(cap_hair,-36); +penpos13(cap_hair,-23); +z10=(0.713w,0.027h); z11=(0.387w,0.16h); +z12=(x6,0.059h); z13l=(x8,0.266h); +filldraw z10r..z11r...z13r---z13l +& z13l..z12l{dir234}--z12r{dir54}... +z11l---z10l--z10r & cycle; +.endchar; + +.cmchar "The Fraktur letter Q"; +.beginchar("Q",13.559u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +w':=12.01u; +penpos1(cap_hair,41); penpos2(cap_hair,0); +penpos3(cap_hair,-59); +penpos5(1.037cap_stem,24); +penpos6(1.074cap_stem,38); +penpos7(cap_hair,-47); penpos8(2/3cap_hair,0); +penpos4(1.315cap_stem,-146); +penpos10(1.111cap_stem,70); +penpos11(0.704cap_stem,22); +penpos14(cap_hair,-46); +penpos16(1.074cap_stem,-127); +penpos17(cap_hair,-45); +z1r=(0.084w',0); z2l=(0,0.09h); +z3=(0.234w',0.298h); z4=(0.184w',0.197h); +z5=(0.332w',0.412h); z6=(0.179w',0.71h); +z7=(0.263w',0.843h); z8=(0.389w',h+apex_o); +z9=(x8,0.787h); z10=(0.595w',0.864h); +z11r=(0.925w,0.503h); z12=(0.637w',0.144h); +z13=(2x10-x12,-apex_o); +z14=(0.884w',0.227h); +penpos15(1.3cap_stem,angle(z13-z14)); +z15l=z14; z16r=(0.825w,-apex_o); +z17r=(w,0.144h); +penstroke z1e..z2e{up}..z3e..z5e{up} +..z6e{up}..z7e{dir43}; +penstroke z1e..z2e{up}..z4e{dir-19}; +filldraw z4r{dir-19}..{z13-(x4r,0.5y4r)}z13 & +z13{dir27}..z14r..z11r{up}..z10r{left}.. +z8r{dir100}--z8l{down}..z7l{dir223}-- +z7r..z9..z10l{right}..z11l{down}.. +z14l..z12{left}..z4l{dir161}--z4r & +cycle; +penstroke z15e..z16e{dir-10} & z16e..z17e +{dir45}; +.endchar; + +.cmchar "The Fraktur letter R"; +.beginchar("R",10.493u#,cap_height#,0); +.adjust_fit(usual_left#,usual_right#+0.3u#); +penpos1(cap_hair,-49); penpos2(cap_hair,-49); +penpos4(cap_hair,-90); +z1l=(0,0.056h); z2=(0.253w,0.234h); +z3=(apex_o,0.202h); z7=(0.036w,0.128h); +z4r=(0.3w,-apex_o); +z5=(0.181w,0.128h); z6=(0.084w,0.051h); +filldraw z1l..z7..z3 & z3{dir-10}.. +z2l--z2r..z5..z4l{right}--z4r{left} +..z6..z1r--z1l & cycle; +penpos8(0.963cap_stem,19); +penpos9(cap_stem,60); penpos10(cap_hair,180); +penpos13(0.574cap_stem,-153); +penpos14(cap_hair,90); penpos15(cap_hair,0); +z8=(0.53w,0.375h); z9r=(0.247w,h+apex_o); +z10r=(0,0.771h); z11=(0,0.614h); +z12=(0.169w,0.641h); z13=(0.247w,0.481h); +z14=(0.117w,0.348h); z15l=(0,0.468h); +penstroke z4e{right}..z8e{up}..z9e +{left}..z10e{down}; +penstroke z13e{down}..z14e{left}.. +z15e{up}; +filldraw z10r---z11..z13r{down}-- +z13l{up}..z12..z10l{up}--z10r & +cycle; +% +% +% +penpos16(cap_hair,-90); penpos17(cap_hair,-90); +penpos21(cap_hair,0); z16=(x8,0.585h); +z17-z16=whatever*dir30; +x17=0.934w; z21=(0.488w,3/4h); +z20=(0.578w,0.936h); z22=(0.651w,0.91h); +z19=(0.768w,h+apex_o); +z23=whatever[z16l,z17l]; x23=x19; +z18=(0.895w,0.867h); +penstroke z16e--z17e; +filldraw z21r{up}..z22{right}.. +z23{dir-76}--z17l{left}..z18.. +z19 & z19{z22-z19}..z20..z21l{down} +--z21r & cycle; +% +% +% +penpos25(0.926cap_stem,-153); +penpos26(1.074cap_stem,-174); +penpos27(cap_hair,-32); +z24=whatever[z16r,z17r]; x24=x23+0.18cap_stem; +z25=(3/4w,0.612h); z26=(0.825w,0.205h); +penpos26'(0.926cap_stem,-153); z26'r=z26r; +y27r=0.189h; x27l=w; z28=(0.849w,-apex_o); +z27'-z27l=whatever*(z28-z27r); +x27'=w-cap_hair; +filldraw z16r{z17-z16}...z25r +---z26'r...z28 & z28--z27r--z27l & +z27l---z27'...z26'l--- +z25l..z24--z16r & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter R acute"; +if (dc_layout>0): xchar_code:=oct"217"; + else: xchar_code:=oct"300"; + fi; +.beginchar(xchar_code,10.493u#,cap_height#+0.3x_height#,0); +.adjust_fit(usual_left#,usual_right#+0.3u#); +currentpicture:=last_char; +z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter R hacek"; +if (dc_layout>0): xchar_code:=oct"220"; + else: xchar_code:=oct"330"; + fi; +.beginchar(xchar_code,10.493u#,cap_height#+0.3x_height#,0); +.adjust_fit(usual_left#,usual_right#+0.3u#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hacek(100); +.endchar; + +.cmchar "The Fraktur letter S"; +.beginchar("S",12.813u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos0(0.032067w,-27); penpos0'(0.032067w,24); +z0'r=z0l=(0.715w,0.745h); +penpos1(1.5cap_hair,-156); +penpos2(cap_hair,114); +penpos7(cap_hair,114); +penpos8(1.2cap_stem,-142); +penpos9(cap_stem,-107); +penpos10(0.926cap_stem,-123); +penpos11(cap_hair,0); +penpos16(0.722cap_stem,40); +penpos17(cap_hair,-58); +penpos18(cap_hair,-118); +z1l=(w,0.952h); x2=0.93w; +z3=(0.8w,0.859h); z5-z3=whatever*dir153; +y5=h+apex_o; z4=z0r; z2l-z4=whatever*dir24; +z6=whatever[z0r,z0l]; x6=0.462w; +z7=(0.291w,0.931h); z8r=(0,0.505h); +z9r=(0.562w,-apex_o); +z10r=(0.76w,0.077h); z11=(0.933w,0.364h); +z13=z0'l; z15-z13=whatever*dir204; +x15=x14=0.407w; z12=(x9l,0.512h); +z14-z12=whatever*(z15-z13); +z16=(0.258w,0.649h); +z17=(0.324w,0.782h); z18=(0.508w,0.739h); +penstroke z7e{dir204}..z8e{down}.. +z9e{right}..z11e{up}; +penstroke z16e{up}..z17e{dir24}.. +z18e{dir-27}; +filldraw z1r{down}..z2r{z4-z2l}... +z3---z5 & z5..z7r{dir204}--z7l +{dir24}...z6---z4---z2l...z1l{up} +& z1l--z1r & cycle; +filldraw z11r{up}..z13{z6-z4} & +z13---z15...z16r{up}--z16l{down} +..z14{dir-27} & z14---z12... +z11l{down}--z11r & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter S acute"; +if (dc_layout>0): xchar_code:=oct"221"; + else: xchar_code:=oct"246"; + fi; +.beginchar(xchar_code,12.813u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter S hacek"; +if (dc_layout>0): xchar_code:=oct"222"; + else: xchar_code:=oct"251"; + fi; +.beginchar(xchar_code,12.813u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hacek(100); +.endchar; + +.cmchar "The Fraktur letter S cedilla"; +if (dc_layout>0): xchar_code:=oct"223"; + else: xchar_code:=oct"252"; + fi; +.beginchar(xchar_code,12.813u#,cap_height#,0.2x_height#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,0); cedilla(100); +.endchar; + +.cmchar "The Fraktur letter T"; +.beginchar("T",10.386u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +z1=(0.041w,0.053h); z2=(0,0.104h); +z3=(0.078w,y2); penpos4(1.037cap_stem,-133); +z4=(0.165w,0.253h); z5=(0.592w,-apex_o); +z6=(0.731w,0.123h); penpos7(cap_hair,0); +z7r=(w,0.303h); penpos8(0.5cap_hair,-90); +z8=(0.29w,0.271h); penpos9(1.185cap_stem,10); +penpos10(1.148cap_stem,19); +z9=(x5,0.415h); z10=(0.381w,0.691h); +penpos11(0.5cap_hair,-90); z11=(0.677w,0.83h); +penpos12(cap_hair,-112); +penpos13(cap_hair,180); +penpos14(1.111cap_stem,31); +penpos14'(1.037cap_stem,57); +z14'=(0.562w,0.939h); +penpos15(1.185cap_stem,72); +penpos16(cap_hair,-37.5); +penpos17(cap_hair,-48); +z12=(0.236w,0.6h); z13=(0.072w,0.761h); +z14r=(0.436w,h+apex_o); +z15=(0.858w,0.755h); z16=z15l; +penpos15'(1.5cap_stem,72); z15'l=z15l; +z17l=whatever[z16,z15r]; x17=0.956w; +filldraw z1{right}..z3{up}..z4r{right} +..z5{dir-29} & z5{dir22}..z7r{up}-- +z7l{down}..z6{left}..z4l{left}.. +z2{down}..z1{right} & cycle; +penstroke z8e{right}..z9e{up}..z10e +{up}..z11e{right}; +penstroke z15e{dir142.5}..z14'e..z14e{left}..z13e{down} +..z12e{dir-22}; +penstroke z16e{z15r-z15l}..z17e +{dir42}; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter T hacek"; +if (dc_layout>0): xchar_code:=oct"224"; + else: xchar_code:=oct"253"; + fi; +.beginchar(xchar_code,10.386u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hacek(100); +.endchar; + +.cmchar "The Fraktur letter T with ogonek"; +if (dc_layout>0): xchar_code:=oct"225"; + else: xchar_code:=oct"336"; + fi; +.beginchar(xchar_code,10.386u#,cap_height#,0.2x_height#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w+u,0); ogonek(100); +.endchar; + +.cmchar "The Fraktur letter U"; +.beginchar("U",10.608u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_stem,0); penpos2(whatever,39); +penpos3(1.176cap_stem,48); +penpos4(cap_hair,-42); penpos5(cap_hair,-42); +penpos10(cap_hair,-47); +penpos11(cap_hair,-47); +penpos13(cap_stem,0); +penpos14(cap_stem,0); +penpos15(cap_hair,-90); +penpos19(cap_hair,-41); +z1=(0.258w,0.162h); z2r=(x1r,0.853h); +x2l=x1l; +z4l=(0,0.822h); z5-z4=whatever*dir48; +y5l=h+apex_o; z3=whatever[z4r,z5r]; y3r=y5r-apex_o; +z7=(x1l,0.26h); z8=(0.111w,y1); +z9=(x1r,-apex_o); z8'=(0.278w,0.082h); +z11r-z9=whatever*dir43; x11=0.737w; +z12-z11l=whatever*(z9-z11r); +x12=0.472w; z6-z12=whatever*(z8-z9); +x6=x1r; +penstroke z1e---z2e...z3e{dir138}; +penstroke z4e--z5e; +filldraw z9--z11r--z11l--z12--z6-- +z7{down}..z8{dir231} & +flex(z8,z8',z9) & cycle; +% +% +% +z13=(x11,y7); z14=(x13,y2r-cap_hair); +z15=(0.573w,0.898h); z16=(0.737w,h+apex_o); +z17=(0.886w,0.915h); z18=(x17,y1); +z20=(0.786w,-apex_o); +z21=(x13l,y1); x19r=w; +z19r-z20=whatever*dir49; +penstroke z13e--z14e; +filldraw z15r{z16-z15l}..z14l{down} +--z14r{up}..z17{right} & z17 +..z16 & z16..z15l--z15r & cycle; +filldraw z20--z19r--z19l{z20-z19r} +..z18{left}..z13r{up}--z13l--z21-- +z20 & cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter U Umlaut"; +.beginchar(oct"334",10.608u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); umlaut(100); +.endchar; + +.cmchar "The Fraktur letter U with Hungarian umlaut"; +if (dc_layout>0): xchar_code:=oct"226"; + else: xchar_code:=oct"333"; + fi; +.beginchar(xchar_code,10.608u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hungarum(100); +.endchar; + +.cmchar "The Fraktur letter U acute"; +.beginchar(oct"332",10.608u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter U grave"; +if (dc_layout>0): +.beginchar(oct"331",10.608u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); cap_grave(100); +.endchar; +fi; + +.cmchar "The Fraktur letter U hat"; +if (dc_layout>0): +.beginchar(oct"333",10.608u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); hat(100); +.endchar; +fi; + +.cmchar "The Fraktur letter U with scandinavian circle"; +if (dc_layout>0): xchar_code:=oct"227"; + else: xchar_code:=oct"331"; + fi; +.beginchar(xchar_code,10.608u#,cap_height#+0.3x_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); o_umlaut(100); +endchar; + +.cmchar "The Fraktur letter V"; +.beginchar("V",10.303u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,41); penpos2(cap_hair,0); +penpos3(0.926cap_stem,-117); +penpos6(cap_hair,-63); +penpos7(0.704cap_stem,30); +penpos8(cap_stem,44);penpos9(cap_hair,-65); +penpos10(cap_hair,-65); +penpos11(0.852cap_stem,-138); +penpos12(2/3cap_hair,-55); +penpos13(cap_hair,-48); penpos14(0.907cap_stem,-12); +penpos15(1.037cap_stem,35); +penpos16(0.889cap_stem,46); +penpos17(cap_hair,155); +penpos17'(0.489cap_stem,-123); +penpos18(0.889cap_stem,-118); +penpos20(0.537cap_stem,-147); +penpos21(cap_hair,90); +penpos22(cap_hair,44); +z1=(0.115w,0.046h); z2=(0.072w,0.117h); +z3=(0.209w,0.228h); z4=(0.613w,-apex_o); +z5=(0.755w,0.103h); z5'=(x4,0.172h); +z6=(0.853w,0.114h); +z7r=(w,0.293h); z8=(0.742w,0.543h); +z9=(0.822w,0.655h); +z10r=(w,3/4h); z10'=(x7,0.788h); +z11l=(0.75w,h+apex_o); +z15=(0.414w,0.875h); z13=(0.288w,0.242h); +z14=(0.534w,0.527h); z12=z15+(0.1w,-0.1h); +z16r=(0.252w,h+apex_o); +z17=(0.044w,0.859h); +z17'r=(0,0.742h); z19=(0.043w,0.628h); +z18=(0.096w,0.674h); +z20=(0.267w,0.549h); z21l=(0.173w,0.435h); +z22=(x19,0.516h); +penstroke z1e..z2e{up}..z3e{right}; +filldraw z3r{right}..z4{dir-44} & +z4---z6r...z7r{up}--z7l{down}.. +z6l..z5{left}..z5'..z3l{left}--z3r & +cycle; +penstroke z7e{up}..z8e{up}..z9e.. +z10e; +penstroke z13e{dir42}..z14e{up}.. +z15e..z16e{left}..z17e..z17'e{down}; +filldraw z17'r{down}..z19{z3-z19} & z19--- +z18r...z20r{down}--z20l{up}..z18l.. +z17'l{up}--z17'r & cycle; +penstroke z20e{down}..z21e{left}.. +z22e; +filldraw z12r{up}..z11r{right}.. +1/10[z9,z10]{right} & 1/10[z9,z10]--z10--z10l & +z10l{left}..z10'..z11l{left}..z12l{down} +--z12r & cycle; +.endchar; + +.cmchar "The Fraktur letter W"; +.beginchar("W",13.812u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(cap_hair,44); penpos2(cap_hair,22); +penpos3(1.074cap_stem,-133); +z1=(0.095w,0); z2=(0.055w,0.09h); +z3=(0.16w,0.213h); z4=(0.366w,-apex_o); +z5=(0.435w,0.118h); penpos6(cap_hair,-56); +penpos7(4/3cap_stem,45); +z6=(0.508w,0.126h); z7=(0.645w,0.41h); +penpos9(1.222cap_stem,52); +penpos10(cap_hair,0); +z9=(0.532w,0.733h); z10=(0.604w,h+2apex_o); +penstroke z1e..z2e..z3e{right}; +filldraw z3r{right}..z4{dir-30} & +z4---z6r...z7r{dir72} & z7r{dir120}.. +z9r{up}..z10r--z10l..z9l{down}.. +z7l{down}..z6l{z4-z6r}...z3l{left} +--z3r & cycle; +% +% +% +penpos11(cap_hair,-37); penpos12(0.778cap_stem,-140); +penpos13(1.056cap_stem,-133); +z11=(0.561w,0.865h); z12l=(0.735w,h+apex_o); +z13l=(0.982w,0.756h); +penstroke z11e{dir53}..z12e{right}.. +z13e{dir-60}; +% +% +% +penpos14(cap_hair,-60); z14r=z13l+(apex_o,apex_o); +penpos15(cap_stem,43); penpos16(0.741cap_stem,37.5); +penpos17(cap_hair,-64); penpos18(1.222cap_stem,26); +penpos17'(cap_hair,-64); +z15=(0.808w,0.537h); z16r=(w,0.303h); +z18l=(0.716w,-apex_o); z17r=z18; z17'r=z18r; +z18.1-z18l=whatever*dir146; +z18.2-z18r=whatever*dir146; x18.2=x18.1=0; +z18'=(z6{z6r-z4}..z7{up}) intersectionpoint +(z18l--z18.1); +z18''=(z6{z6r-z4}..z7{up}) intersectionpoint +(z18r--z18.2); +filldraw z18l--z18'--z18''--z18r--z18l & cycle; +penpos16'(whatever,54); z16'l=z16l; x16'r=w; +penstroke z17e---z17'e...z16'e{up}..z15e{up}.. +z14e{dir36}; +% +% +% +penpos19(cap_hair,-58); penpos22'(1.111cap_stem,44); +penpos22(1.037cap_stem,41.5); +penpos23(1.2cap_hair,-139); +penpos24(cap_stem,-90); penpos25(0.556cap_stem,-140); +penpos26(cap_hair,90); penpos27(cap_hair,37); +z19=(0.224w,0.213h); x20=x5; z20-z19r=whatever*dir32; +z21=(0.339w,0.483h); z22'=(0.326w,0.84h); +z22r=(0.2w,h+apex_o); z23r=(0,0.767h); +z24=(0.114w,0.654h); z25=(0.197w,0.551h); +z26=(0.119w,0.437h); z27=(0.025w,0.5h); +filldraw z19r--z20 & z20{up}..z22'r +{dir129.5}--z22'l{dir-50.5}..z21{down} +..z19l{z19r-z20}--z19r & cycle; +penstroke z22'e{dir129.5}..z22e{left} +..z23e{down}..z24e{right}..z25e{down} +..z26e{left}..z27e{dir127}; +% +% +% +penpos28(cap_hair,-32); penpos29(cap_hair,-90); +penpos30(cap_hair,-141.5); +z28=(0.357w,0.848h); z30=z11; +z29=(0.5[x28,x30],0.958h); +penstroke z28e..z29e..z30e; +.endchar; + +.cmchar "The Fraktur letter X"; +.beginchar("X",9.418u#,cap_height#,0); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos0(cap_stem,0); z0=(0.5w,0.537h); +z1=z0l; penpos5(cap_stem,-90); z5l=z0r; +penpos2(cap_hair,0); z2r=(x0r,0.697h); +penpos3(cap_hair,0); z3l=(x0l,0.253h); +penpos6(cap_hair,-40); penpos7(cap_hair,-40); +z6r=(0.758w,-apex_o); z7-z6=whatever*dir50; +x7r=w; z7'=whatever[z6l,z7l]; +z6'=whatever[z6,z7]; y6'=apex_o; +x7'=0.893w; +penstroke z6e--z7e; +filldraw z6'{left}...z3l---z1--z5l +---z5r...z7'---z7l--z7--z6' & cycle; +penpos12(cap_hair,-45); penpos13(cap_hair,-45); +z13l=(0.289w,h+apex_o); z13-z12=whatever*dir45; +x12l=apex_o; z13'=whatever[z12,z13]; +y13'=h-2apex_o; +penstroke z12e--z13e; +filldraw z12r{z13-z12}..z1{down}-- +z5l---z2r...z13'{dir148}--z12--z12r & cycle; +% +% +% +penpos15(0.852cap_stem,-116); +penpos16(cap_hair,-21); +penpos14(cap_hair,-21); +z16=(0.852w,0.723h); z14-z16=whatever*dir69; +y14=y15l+apex_o; z15=(0.77w,0.91h); +penstroke z2e{up}..z15e{right}; +filldraw z15r{right}..z16l{z16-z14} +--z16r--z14r--z14l{z1-z14l} +..z15l{left}--z15r & cycle; +% +% +% +penpos9(cap_hair,-35); penpos10(cap_hair,-35); +z9l=(0,0.069h); z10-z9=whatever*dir55; +y10=0.229h; z8=(0.221w,-apex_o); +z11=(0.297w,0.1h); +filldraw z9r{dir20}..z8{right}.. +z3r{up}--z3l{down}..z11{left}.. +z10r{z10-z9}--z10l--z9l--z9r & +cycle; +% +% +% +penpos20(cap_hair,0); penpos21(cap_hair,0); +penpos22(cap_hair,0); penpos23(cap_hair,0); +z21-z20=whatever*dir74; +z23-z22=whatever*dir74; +y22=y5r; y21=y5l; x22=0.772w; +x21=0.235w; y23=y21+0.072h; +y20=y22-0.072h; +z20'=whatever[z20,z21]; z23'=whatever[z22,z23]; +y20'=y22; y23'=y21; +penstroke z20e--z21e; +penstroke z22e--z23e; +filldraw z20'--z22--z23'--z21--z20' & +cycle; +z20''=whatever[z20',z22]; x20''=x20'+2cap_hair; +z23''=whatever[z21,z23']; x23''=x23'-2cap_hair; +filldraw z20r{z21-z20}..z20''{right} +--z21--z20--z20r & cycle; +filldraw z23''{right}..z23l{z23-z22} +--z23--z22--z23'' & cycle; +.endchar; + +.cmchar "The Fraktur letter Y"; +.beginchar("Y",10.556u#,cap_height#,2.181u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +z1=(0,0); z2=(0.079w,0.089h); +z3=(2x2,0.025h); penpos4(0.611cap_stem,-35); +penpos5(1.074cap_stem,13); +penpos7'(1.111cap_stem,39); +z4r=(0.338w,-d); z5r=(w,0.513h); +z7'r=(0.778w,h); z6'=(0.656w,0.864h); +penpos7(cap_hair,-51); penpos8(cap_hair,-51); +z8=whatever[z7'l,z7'r]; y8r=h; +z7=whatever[z7'l,z7'r]; y7=0.787h; +filldraw z1{up}..z2{right}..z3{down} +..z4l{right}--z4r{left}..z1{up} & +cycle; +penstroke z4e{right}..z5e{up}..z7'e +{dir129}; +z6=(z5l{up}..z7'l{dir129}) intersectionpoint +((0,0.8h)--(w,0.8h)); +filldraw z5l{up}..z6..z6'..z7r{z7-z8}-- +z7--z7'{dir-51}..z5{down}--z5l & +cycle; +penstroke z7e--z8e; +% +% +% +penpos11(cap_hair,-90); penpos9(cap_hair,-42); +penpos10(cap_hair,-42); penpos22(1.148cap_stem,48); +z9r=(0.359w,-apex_o); z10-z9=whatever*dir48; +x10=0.719w; z22=whatever[z9,z10]; x22=0.479w; +z11=(0.126w,0.215h); penpos12(2/3cap_hair,-42); +z12-z22r=whatever*dir-42; +x12=0.371w; penpos13(whatever,19); +x13l=0.5w-0.5cap_stem; x13r=0.5w+0.5cap_stem; +y13=0.585h; +penstroke z9e--z10e; +filldraw z11r{right}..z22l{dir-42}-- +z22r{dir138}--z12r{dir23}..z13r{up} +--z13l{down}..z12l..z11l{left}-- +z11r & cycle; +% +% +% +penpos14(1.037cap_stem,32); penpos15(0.889cap_stem,42); +penpos16(cap_hair,150); penpos17(0.389cap_stem,-134); +penpos18(0.759cap_stem,-90); +penpos19(cap_hair,180); +penpos20(cap_hair,90); +penpos21(1.5cap_hair,45); +z14=(x13l,0.904h); z15r=(0.281w,h+apex_o); +z16=(0.066w,0.883h); z17=(0.051w,0.822h); +z18=(0.159w,0.713h); z19=(0.275w,0.606h); +z20r=(0.189w,0.532h); z21=(0.087w,0.561h); +penstroke z13e{up}..z14e{dir136}.. +z15e{left}..z16e..z17e{down}..z18e +{right}..z19e{down}..z20e{left}.. +z21e{dir135}; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter Y with acute"; +.beginchar(oct"335",10.556u#,cap_height#+0.3x_height#,2.181u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter Y with umlaut"; +if (dc_layout>0): +.beginchar(oct"230",10.556u#,cap_height#+0.3x_height#,2.181u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; +z100=(0.5w,cap_height); umlaut(100); +.endchar; +fi; + +.cmchar "The Fraktur letter Z"; +.beginchar("Z",8.407u#,cap_height#,2.528u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +penpos1(0.704cap_stem,0); z1l=(0.038w,0.213h); +penpos2(0.815cap_stem,-147); +penpos3(1.148cap_stem,-152.5); +penpos4(cap_hair,90); +penpos1'(cap_hair,-66); +z2=(0.395w,0.4h); z3l=(w-x1l,0.096h); +z4l=(0.586w,-0.763d); z1'=(0.237w,0.372h); +penstroke z1e{up}..z1'e..z2e.. +z3e{down}..z4e{left}; +z5=(0.368w,-0.525d); z6=(0.305w,-0.575d); +z7=(0.338w,-0.15d); z8=(0.523w,0.077h); +z9=(0.406w,0.061h); penpos10(cap_hair,90); +z10r=(0.248w,0.077h); +z8'=(x8,-0.288d); +penpos11(cap_hair,180); z11=(0.068w,-0.3d); +penpos12(1.5cap_hair,-90); z12r=(0.218w,-d); +filldraw z4l{left}..z5{left}..z6 & +z6..z7{up}..z10l{left}--z10r{right} +..z9{right}..z8 & z8---z8'...z4r{right} +--z4l & cycle; +penstroke z10e{left}..z11e{down} +..z12e{right}; +% +% +% +penpos14(cap_hair,-90); penpos15(0.778cap_stem,25); +penpos16(cap_stem,90); penpos17(0.5cap_stem,159); +z15r=(w,0.7h); z16r=(0.5w,h+apex_o); +z17r=(0,x15r); z14=(0.5w,0.415h); +penstroke z15e{up}..z16e{left}.. +z17e{down}..z14e{right}..z15e{up}; +% +% +% +z0=(x16,y17r); z18-z0=whatever*dir201; +z13-z0=whatever*dir221; +x18=x13=0; +unfilldraw z18--z0--z13--z18 & +cycle; +last_char:=currentpicture; +.endchar; + +.cmchar "The Fraktur letter Z acute"; +if (dc_layout>0): xchar_code:=oct"231"; + else: xchar_code:=oct"254"; + fi; +.beginchar(xchar_code,8.407u#,cap_height#+0.3x_height#,2.528u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); acute(100); +.endchar; + +.cmchar "The Fraktur letter Z hacek"; +if (dc_layout>0): xchar_code:=oct"232"; + else: xchar_code:=oct"256"; + fi; +.beginchar(xchar_code,8.407u#,cap_height#+0.3x_height#,2.528u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); hacek(100); +.endchar; + +.cmchar "The Fraktur letter Z point"; +if (dc_layout>0): xchar_code:=oct"233"; + else: xchar_code:=oct"257"; + fi; +.beginchar(xchar_code,8.407u#,cap_height#+0.3x_height#,2.528u#); +.adjust_fit(0.05alpha*w#+usual_left#,0.05alpha*w#+usual_right#); +currentpicture:=last_char; z100=(0.5w,cap_height); pointaccent(100); +.endchar; + +endinput; diff --git a/fonts/t1-fraktur/mf-frak.sty b/fonts/t1-fraktur/mf-frak.sty new file mode 100644 index 0000000000..f9f753fdd7 --- /dev/null +++ b/fonts/t1-fraktur/mf-frak.sty @@ -0,0 +1,30 @@ +% General TTF Fraktur family by Daniel TAUPIN, July 2002, fit for +% mfrak/fkt1* fonts. +% Global work done by Yannis Haralambous, Claus Tondering, and Daniel Taupin. + +\DeclareRobustCommand\FrakturMfamily + {\not@math@alphabet\FrakturMfamily\mathrm + \fontfamily\FrakturDefault\selectfont} + +\DeclareTextFontCommand{\texttms}{\FrakturMfamily} + +\newcommand\FrakturDefault{mfrak} +\newcommand\FrakturRmDefault{mfrak} + +\newcommand\SetFrakturDefault{\def\rmdefault{\FrakturDefault}% + \def\Scdefault{mtimc} +} +\def\SetCmDefault{\def\rmdefault{cmr}% + \def\Scdefault{cmsc} +} + +\ifx\scaps\undefined +\newcommand\scaps[1]{\leavevmode\rlap{\scshape #1}\kern 0.02em\hbox{\scshape #1}} +\fi + +\ifx\textpm\undefined\else\RequirePackage{textcmod}\fi + +\SetFrakturDefault + +\endinput + diff --git a/fonts/t1-fraktur/ot1mfrak.fd b/fonts/t1-fraktur/ot1mfrak.fd new file mode 100644 index 0000000000..cb65418fd0 --- /dev/null +++ b/fonts/t1-fraktur/ot1mfrak.fd @@ -0,0 +1,112 @@ +%% t1mfrak.fd Daniel Taupin, July 2002 (fraktur fonts in T1 encoding) +%% ot1mfrak.fd Vladislav Kurz, November 2002 (fraktur fonts in OT1 encoding) +%% +%% This is taken from `ot1cmr.fd', +%% generated with the docstrip utility. +%% +%% +%% +\def\Font@Prefix{fk} +\def\Font@Family{mfrak} +\ProvidesFile{ot1\Font@Family .fd} + [1997/01/14 v2.5a Standard LaTeX font definitions] +\providecommand{\CM@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4} + {<10> gen * #5}{}} +\DeclareFontFamily{OT1}{\Font@Family }{\hyphenchar\font45 } +\DeclareFontShape{OT1}{\Font@Family }{m}{n} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> <14.4> % + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2rm10}{} +\DeclareFontShape{OT1}{\Font@Family }{m}{sl} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2sl10}{} + +\DeclareFontShape{OT1}{\Font@Family }{m}{it} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2sl10}{} + + %\DeclareFontShape{OT1}{\Font@Family }{m}{sc} + % { <5> \Font@Prefix l2cc05 + % <6> \Font@Prefix l2cc06 + % <7> \Font@Prefix l2cc07 + % <8> \Font@Prefix l2cc08 + % <9> \Font@Prefix l2cc09 + % <10> <10.95> <12> + % <14.4> + % <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2cc10}{} + % +\CM@family{OT1}{\Font@Family }{m}{ui}{cmu} % provisional + +%%%%%%% bold series +\DeclareFontShape{OT1}{\Font@Family }{b}{n} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2bx10}{} + +%%%%%%%% bold extended series +\DeclareFontShape{OT1}{\Font@Family }{bx}{n} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2bx10}{} + +\DeclareFontShape{OT1}{\Font@Family }{bx}{sl} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2bl10}{} + +\DeclareFontShape{OT1}{\Font@Family }{bx}{it} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2bl10}{} + + + %\DeclareFontShape{OT1}{\Font@Family }{bx}{sc} + % { <5> \Font@Prefix l2xc05 + % <6> \Font@Prefix l2xc06 + % <7> \Font@Prefix l2xc07 + % <8> \Font@Prefix l2xc08 + % <9> \Font@Prefix l2xc09 + % <10> <10.95> <12> + % <14.4> + % <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix l2xc10}{} + +\endinput +%% +%% End of file `ot1mfrak.fd'. diff --git a/fonts/t1-fraktur/t1-fraktur.message b/fonts/t1-fraktur/t1-fraktur.message new file mode 100644 index 0000000000..f02c6be68a --- /dev/null +++ b/fonts/t1-fraktur/t1-fraktur.message @@ -0,0 +1,17 @@ +T1 encoding fraktur fonts have been reviewed recently. Everything needed
+(including an example)
+is in
+http://perso.wanadoo.fr/daniel.taupin/public-soft/tex-fonts/t1-fraktur
+
+Please take it and send me your suggestions for enhancement.
+CTAN handlers are welcome to put it at the appropriate place.
+
+Daniel Taupin taupind@wanadoo.fr
+
+======================================================
+
+ General TTF Fraktur family by Daniel TAUPIN, July 2002, fit for
+ mfrak/fkt1* fonts.
+ Global work done by Yannis Haralambous, Claus Tondering, and Daniel Taupin.
+
+
diff --git a/fonts/t1-fraktur/t1mfrak.fd b/fonts/t1-fraktur/t1mfrak.fd new file mode 100644 index 0000000000..f2b9159913 --- /dev/null +++ b/fonts/t1-fraktur/t1mfrak.fd @@ -0,0 +1,112 @@ +%% t1mfrak.fd Daniel Taupin July 2002 (fraktur fonts in T1 encoding) +%% +%% This is taken from `ot1cmr.fd', +%% generated with the docstrip utility. +%% +%% +%% +\def\Font@Prefix{fk} +\def\Font@Family{mfrak} +\ProvidesFile{t1\Font@Family .fd} + [1997/01/14 v2.5a Standard LaTeX font definitions] +\providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4} + {<5><6><7><8><9><10><10.95><12><14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60><61.92> genb * #5}{}} +\DeclareFontFamily{T1}{\Font@Family }{\hyphenchar\font45 } +\DeclareFontShape{T1}{\Font@Family }{m}{n} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> <14.4> % + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1rm10}{} +\DeclareFontShape{T1}{\Font@Family }{m}{sl} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1sl10}{} + +\DeclareFontShape{T1}{\Font@Family }{m}{it} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1sl10}{} + + %\DeclareFontShape{T1}{\Font@Family }{m}{sc} + % { <5> \Font@Prefix t1cc05 + % <6> \Font@Prefix t1cc06 + % <7> \Font@Prefix t1cc07 + % <8> \Font@Prefix t1cc08 + % <9> \Font@Prefix t1cc09 + % <10> <10.95> <12> + % <14.4> + % <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1cc10}{} + % +\EC@family{T1}{\Font@Family }{m}{ui}{ecui} % provisional + +%%%%%%% bold series +\DeclareFontShape{T1}{\Font@Family }{b}{n} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1bx10}{} + +%%%%%%%% bold extended series +\DeclareFontShape{T1}{\Font@Family }{bx}{n} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1bx10}{} + +\DeclareFontShape{T1}{\Font@Family }{bx}{sl} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1bl10}{} + +\DeclareFontShape{T1}{\Font@Family }{bx}{it} + { <5> + <6> + <7> + <8> + <9> + <10> <10.95> <12> + <14.4> + <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1bl10}{} + + + %\DeclareFontShape{T1}{\Font@Family }{bx}{sc} + % { <5> \Font@Prefix t1xc05 + % <6> \Font@Prefix t1xc06 + % <7> \Font@Prefix t1xc07 + % <8> \Font@Prefix t1xc08 + % <9> \Font@Prefix t1xc09 + % <10> <10.95> <12> + % <14.4> + % <17.28><20.74><24.88><29.86><35.83><43.00><51.60> \Font@Prefix t1xc10}{} + +\endinput +%% +%% End of file `t1mfrak.fd'. diff --git a/fonts/t1-fraktur/testfrak.dvi b/fonts/t1-fraktur/testfrak.dvi Binary files differnew file mode 100644 index 0000000000..a0cfa40421 --- /dev/null +++ b/fonts/t1-fraktur/testfrak.dvi diff --git a/fonts/t1-fraktur/testfrak.pdf b/fonts/t1-fraktur/testfrak.pdf Binary files differnew file mode 100644 index 0000000000..51542d7a63 --- /dev/null +++ b/fonts/t1-fraktur/testfrak.pdf diff --git a/fonts/t1-fraktur/testfrak.tex b/fonts/t1-fraktur/testfrak.tex new file mode 100644 index 0000000000..450c6841c6 --- /dev/null +++ b/fonts/t1-fraktur/testfrak.tex @@ -0,0 +1,369 @@ +
+\documentclass[12pt]{article}
+\usepackage{mf-frak}
+\ifx\german\undefined \def\german{\language=7}\fi
+\def\ital#1{{\slshape #1\/}}
+\def\Ital#1{{\bfseries\slshape #1\/}}
+\def\3{\ss}
+\def\<{``}
+\def\>{''}
+\def\Pageref{p.~\pageref}
+\def\medrule{\par\medskip\centerline{\vrule width 0.5\hsize}\par\medskip}
+\def\ecole{{\sf\bfseries SPORT{}}}
+\def\FFME{{\SetCmDefault\rm FFME{}}}
+\def\COSIROC{{\SetCmDefault\rm COSIROC{}}}
+\begin{document}
+\german
+
+%\SetCmDefault
+
+\title{\Large\bf Das| Klettern in Frankreich}
+\author{\SetCmDefault\sl D. Taupin}
+\date{{\SetCmDefault\bf 16 juillet 2002}}
+\date{{\SetCmDefault\rm 16 juillet 2002}}
+\maketitle
+
+{\huge (a) (e)}
+
+\section{Was| gibt es| neu?} \rm
+
+\begin{enumerate}
+ \item Der Hauptheraus|geber dieser sechsten Aus|gabe des| \ital{Guide des|
+sites| naturels| d'escalade} ist jetzt die \FFME{} (F\'ed\'eration fran\c
+caise de la montagne et de l'escalade), zusammen mit dem \COSIROC, nicht
+anders| herum. Hier wurde der Tatsache Rechnung getragen, das{}s| im Zuge der
+Weiterentwicklung des| Klettersports| immer mehr die Departement-Komitees|
+sowie die regionalen Komitees| der \FFME{} die Klettergebiete erschlossen
+haben und uns| die Informationen liefern.
+
+ \item Die Anzahl der Klettergebiete steigt weiterhin, auch wenn man momentan
+eher anstrebt, die vorhandenen Gebiete zu erweitern oder dichter einzubohren,
+als| neue zu schaffen, die ihrerseits| Probleme aufwerfen; sei es| mit den
+Eigent\"umern, mit den zust\"andigen Verwaltungen, oder den besorgten Umwelt-
+oder Sicherheitsbeauftragten.
+
+ \item Abgesehen vom Hochgebirge werden immer noch viele, einstmals| alpine,
+Touren eingebohrt, aber sicher sportlicher als| in den Klettergarten, und
+stellen dadurch ein relativ unberechenbares| Zwischending zwischen dem
+\"ubersicherten Klettergarten und unabgesichertem Gel\"ande dar. Aus| diesem
+Grund mussten wir die Aus|wahlkriterien f\"ur die in diesem F\"uhrer genannten
+Gebiete \"uberarbeiten:
+ \begin{itemize}
+ \item Wir f\"uhren alle Felsen --- egal ob alpines| oder Sportklettern ---,
+unter 1600~m H\"ohe auf, von denen es| bekannt ist, das{}s| sie beklettert wurden,
+oder das{}s| sie kletterbar sind.
+ \item Dar\"uber hinaus| f\"uhren wir die Gebiete auf, die aus|reichend
+erschlossen sind, um mit Hilfe vom Klemmkeilen beklettert zu werden, daf\"ur
+aber keine, f\"ur die Bohrmaschine und Haken erforderlich sind.
+ \item Auch wenn man teilweise Pl\"attchen oder zementierte Haken findet, haben
+wir absichtlich das| Hochgebirge weggelassen, also Klettereien, f\"ur die auch im
+Sommer Eispickel, Steigeisen, Bergschuhe erforderlich sind, auch f\"ur Zu- oder
+Abstieg.
+
+ \end{itemize}
+
+ \item Ein anderes| wichtiges| und gleicherma\3en schlimmes| Ph\"anomen ist
+der Befall unseres| Landes| --- oder praktisch ganz Westeuropas| --- von
+dieser verh\"angnis|vollen amerikanischen Manie, bei jedem Unfall, der sich
+ereignet, einen Verantwortlichen zu suchen, bzw. sogar einen Schuldigen. Das|
+zieht f\"ur unsere Sportart, wie im \"ubrigen f\"ur alle Natursportarten,
+mehrere nachteilige Konsequenzen nach sich:
+
+
+ \begin{itemize}
+ \item viele Anf\"anger im Klettern, Wandern, Skifahren oder Bergsteigen
+entziehen sich
+jegliche Verantwortung: welche Dummheit ich auch immer begehe, der
+Schuldige ist der ``andere'', der F\"uhrer, der Kletterlehrer, der
+B\"urgermeister, der Pr\"afekt, der Grundst\"uckseigent\"umer, der Kollege... oder der
+F\"uhrerautor;
+
+ \item all das| besch\"aftigt die Juristen, vor allem aber erh\"oht das| die
+Versicherungs|kosten, die unerschwinglich werden f\"ur junge Leute, Leute mit
+niedrigen Einkommen und f\"ur all die kleinen Gemeinden, in deren
+Einzugsbereich es| ungl\"ucklicherweise ein Klettergebiet gibt, bzw. H\"ohlen
+oder Canyoningm\"oglichkeiten;
+
+ \item es| kommt noch schlimmer: die Verwundeten oder Angeh\"origen der
+Unfallopfer geben sich nicht damit zufrieden, Schadenersatz zu
+verlangen, der von der Haftptlichtversicherung des| mutma\3lichen
+Verantwortlichen gezahlt wird, sie klagen denselben wahrhaftiger
+Verbrechen an wie fahrl\"assige K\"orperverletzung, Gef\"ahrdung fremden
+Lebens|, Totschlag, usw.; und hier entscheidet nicht mehr das|
+Zivilgericht, sondem das| Strafgericht, mit hohen Geldstrafen --- die niemals|
+durch die Versicherungen abgedeckt sind --- oder sogar Gef\"angnisstrafen.
+ \end{itemize}
+
+\end{enumerate}
+
+ Die Reaktion des| potentiellen Schuldigen liegt in dem Fall auf der Hand:
+drakonische und damit abschreckende Bedingungen auferlegen (was| der
+Fall ist bei den Clubs| oder Freizeitorganisationen), oder schlichtweg Verbote
+erteilen (der Fall der B\"urgermeister, Eigent\"umer oder Pr\"afekten).
+
+\section{Unsere juristischen Vorkehrungen}
+
+ Im Artikel 17 des| Gesetzes| zum Sport von 1984 steht: \<In jeder sportlichen
+Disziplin und f\"ur einen abgegrenzten Zeitraum erh\"alt ein einziger Verband den
+Auftrag des| Ministers| f\"ur Sport, sportliche Wettk\"ampfe zu organisieren (...)
+und die entsprechenden Qualifikationen durchzuf\"uhren. Dieser Verband
+definiert, unter Achtung der internationalen Reglements|, die seiner Sportart
+eigenen technischen Regeln.\>
+
+ Der beauftragte Verband, der unter anderem f\"ur den Klettersport und den
+Alpinismus| diese technischen Regeln definiert hat, ist die \FFME. Sie hat daher
+1993 eine gewisse Anzahl an Sicherheits|vorschriften (siehe \ital{Consignes|
+f\'ed\'erales| de s\'ecurit\'e} im franz\"osischen Text, \Pageref{consfede})
+festgelegt; Vorschriften, deren Mi\3achtung einen technischen Fehler
+darstellt, f\"ur den der unvorsichtige Aus|\"ubende selbst voll verantwortlich
+ist und in gleichem Ma\3 der \<andere Schuldige\>, den manche zu suchen versucht
+sind, nicht verantwortlich.
+
+ Zusammengefasst bedeuten diese Vorschriften, das{}s| der Kletterer die
+Aus|r\"ustung, die Qualit\"at des| Gesteins|, die Wetterverh\"altnisse des|
+Kletterortes| selbtst \"uberpr\"ufen mus{}s|, entweder durch visuelle Beobachtung,
+mit Hilfe der Literatur oder anderer Informationsquellen, deren
+Zuverl\"assigkeit er selbst absch\"atzen muss. Wenn all da ungen\"ugend ist,
+soll er selbstverst\"andlich verzichten oder absteigen.
+
+ Weitere Vorsichtregeln sollen hier noch gegeben werden: jeder, der sich ohne
+Aus|bildung oder vorangegangenes| Training auf ein Gel\"ande von mittlerer
+Steigung \"uber 50~\% (30 Grad) begibt, der sich zu Fu\3 einem Felsmassiv auf
+einen Abstand, weniger als| die halbe H\"ohe des| Massivs|, n\"ahert oder der sich
+auf dem Gipfel in wehiger als| 5~m Abstand von der Abbruchkante aufh\"alt
+(aus|genommen touristische Einrichtung), handelt \<fahrl\"assig\>. Diese
+Fahrl\"assigkeit beinhaltet damit die eigene Verantwortung in dem Ma\3e wie der
+Zugang zu diesem Ort nicht einen Notwendigkeits|charakter hatte wie z.B. der
+Weg zur Arbeits|st\"atte, zur Wohnortst\"atte oder auch zu einem Freizeitort
+(Aktivit\"aten in freier Natur aus|genommen).
+
+
+\section{Die beschriebenen Kletterorte}
+
+Mit dem Aus|druck \<nat\"urliche Klettergebiete\> meinen wir nicht nur die
+Kletterfelsen, die sich aus| Naturwirkung ergeben haben, sondern auch gewisse
+Bauwerke, die urspr\"unglich nicht f\"ur das| Klettern
+bestimmt waren (z.b.: Eisenbahn- und Festungwerke, D\"amme, Steinbr\"uche).
+Wir haben erw\"agt, das{}s| die k\"unstlichen Kletterw\"ande eines| besonderen
+F\"uhrers| w\"urdig seien.
+
+ Die Klettergebiete wurden in vier Kategorien unterteilt:
+
+ \begin{enumerate}
+
+ \item Bezeichnung \<Site sportif d'Escalade\> (Klettergarten) f\"ur eine
+be\-grenz\-te An\-zahl von Felsenw\"anden, die folgende Kriterien
+erf\"ullen: Instand\-haltung, Sicherheit, schriftliche Unterlagen usw.
+
+ \item Bezeichnung \<Initiation\> (Anf\"anger\-klettergarten) f\"ur eine noch
+begrenzte Anzahl von Klettergebieten, die besonders| die
+Sicherheits|\-erfordernisse der Kletter\-beginner erf\"ullen, und die eine
+gute Aus|wahl von Beginner\-routen (3 bis| 5) bieten.
+
+ \item Im Gegensatz dazu hei\3en \<Terrains| d'Aventure\> andere
+Klettergebiete, die nicht diese Kriterien erf\"ullen, und wo der Kletterer auf
+alles| gefasst sein muss: keine Haken oder eine gro\3e Anzahl von Haken in
+schlechtem Zustand, irrige Routenf\"uhrer, verschrobene Schwierigkeitskalen
+usw.
+
+ \item Schlie\3lich wurden als| \<Blocs\> (Boulder) Felsbl\"ocke von geringer
+H\"ohe be\-zeich\-net, f\"ur die keinerlei Aus|r\"ustung ben\"otigt wird und
+auf die die oben beschriebene Unterscheidung nicht angewandt werden kann.
+
+ \end{enumerate}
+\section{Einige Empfehlungen} \rm
+
+ Der Klettersport hat die Besonderheit, das{}s| er an Orten
+betrieben wird, die von normalen Wohn- und Arbeits|gebieten entfernt
+liegen und die sich von ihnen unterscheiden. Trotzdem sind diese
+Gebiete nicht unbewohnt und es| kommt leider manchmal zu
+Aus|einandersetzungen zwischen den Ortsans\"assigen und den Kletterern.
+
+Auch wenn dem eine gewisse Ablehung der seltsamen Fremden, die die
+Kletterer ja sind, durch die Einheimischen zu Grunde liegen kann, so
+liegt doch auch ein gro\3er Teil der Schuld im Verhalten des|
+Kletterers. Auch wenn man in etwa zugeben kann, das{}s| die Vorg\"ange in
+einer Wand nur die Kletterer und den Naturschutz betreffen, so sei
+doch darauf hingewiesen, das{}s| der Zugang zu vielen Steilw\"anden aus|
+landwirtschaftlichen, forstwirtschaftlichen oder selbst aus|
+kommerziell gen\"utzten Gebieten besteht. Die Kletterer sind bei weitem
+nicht die Einzigen, die ein Anrecht auf diese Gebiete haben, die f\"ur
+die Einheimischen Arbeit und Verdienst bedeuten. Die Kletterer sollen
+sich daher nicht wie Eroberer sondern wie G\"aste benehmen.
+
+ Deswegen bitten wir aus|dr\"ucklich die Kletterer in den landwirtschaftlichen
+und forstwirtschaftlichen Gegenden, die W\"ande nur \"uber die bestehenden
+Feldwege oder, zur Not, \"uber brachliegende Felder zu erreichen. Es| ist
+nicht \"ubertrieben, einen Umweg von einer Stunde oder ein Abseilen zu
+machen, wenn nur auf diese Weise ein Feld geschont werden kann.
+
+ Davon aus|gehend, das{}s| viele Kletterer St\"adter sind, erscheinen uns|
+einige Verhaltensratschl\"age f\"ur das| Landleben angebracht: Obwohl man in
+der Stadt jedes| nicht eingez\"aunte Grundst\"uck betreten darf (das| Schild
+\<Propri\'et\'e Priv\'ee\>, d.h. \Ital{Privatgrundst\"uck}, ist nur ein
+Hinweis), unter der Bedingung, das{}s| man keinen Schaden verursacht,
+betritt man niemals| ein Feld oder
+eine Heuwiese, auch wenn diese nicht eingez\"aunt sind. Es| ist keine
+Entschuldigung, wenn St\"adter ein brachliegendes| Feld nicht von einer
+Heuwiese unterscheiden k\"onnen. Hingegen gibt es| zwei Arten von
+Einfriedungen, die nur schwer voneinander zu unterscheiden sind: Tiergatter,
+die ein \"Uberqueren nicht verbieten, wenn man keinen Schaden anrichtet und
+die Pforte schlie\3t, und Z\"aune, die unbefugtes| Betreten verhindern
+sollen. So sei den Kletterern eindringlichst empfohlen, sich an Ort und
+Stelle \"uber die Verh\"altnisse zu erkundigen, bevor Sie Ihren Weg zur
+gew\"unschten Wand w\"ahlen.
+
+ Noch gr\"o\3ere Vorsicht sei Autofahrern geboten. Ein Auto darf
+niemals| au\3er\-halb der Abstellpl\"atze geparkt werden: wenn Fu\3g\"anger
+auf einem brachliegenden Feld nur wenig Schaden anrichten, so lassen
+sich Autospuren nur schwer wieder entfernen; auch wenn auf schmalen
+Feldwegen ein parkendes| Auto die Durchfahrt f\"ur ein anderes| Auto noch
+freil\"a\3t, so versperrt es| doch den Weg f\"ur land- oder
+forstwirtschaftliches| Ger\"at; auch kann ein starker Verkehr auf den
+Feldwegen die Landarbeit behindern.
+
+ Bringen Sie nicht Ihren vollst\"andigen \Ital{Verpflegung} mit, sondern kaufen
+Sie sie bei den \Ital{lokalen Gesch\"aften}. Wenn m\"oglich, besuchen Sie die
+Bars|, Gasth\"ofe und Zeltpl\"atze der Gemeinde. Es| sei bemerkt, das{}s| die
+Gesch\"aftsleute im Konfliktfall unsere besten Verteidiger sind.
+
+ Man bedauert, das{}s| noch kein Gesetzt aus|dr\"ucklich berechtigt, zu
+den Klettergebieten Zugang zu haben. Aber man mus{}s| sich auch dessen
+bewusst sein, das{}s| ein Gesetzestext zwar einen privaten Eigent\"umer
+zwingen kann, den Zugang zu erlauben, das{}s| er aber nicht eine
+feindlich eingestellte Bev\"olkerung \"uberzeugen kann, sich nicht der
+sch\"adlichen Eindringlinge zu entledigen.
+
+\medskip
+ Abf\"alle: viele Kletterer glauben, das{}s| es| gen\"ugt, wenn Sie Ihre
+Abf\"alle sorgf\"altig eingepackt am Zugang zum Parkplatz oder am Rande
+der Stra\3e hinterlassen, da ja die M\"ullabfuhr dann alles| einsammelt.
+Dabei wird aber vergessen, das{}s| die meisten l\"andlichen Gemeinden nicht
+die Mittel haben, eine M\"ullabfuhr f\"ur alle Stra\3en und Wege zu
+unterhalten. Im besten Falle wird der M\"ull in der Ortsmitte abgeholt,
+meistens| aber bringen die Einwohner ihre Abf\"alle selbst zum
+M\"ullabladeplatz oder sie verbrennen sie. Auch mus{}s| davon Abstand
+genommen werden, die Abf\"alle selbst zum \"ortlichen Depot zu bringen:
+dieses| reicht vielleicht f\"ur ein Dorf von hundert Einwohnern aus|, es|
+ist aber unzureichend f\"ur hunderte von Kletterern, die jeden Sonntag
+einfallen. Man darf sich auch nicht auf die \"uberall montierten
+Abfallbeh\"alter verlassen: sie sind oft zu klein und werden nur
+unregelm\"a\3ig geleert. Wir m\"ochten Sie bitten, diese Beh\"alter den
+Leuten zu \"uberlassen, die weniger gewissenhaft sind als| Sie, und die
+nicht diese Zeilen lesen. Stattdessen schlagen wir vor:
+
+ \medskip\centerline{\LARGE\bf Nehmen Sie alle ihre abf\"alle wieder mit !}
+
+\centerline{\Large\bf(... und auch ein wenig mehr wenn m\"oglich!)}
+
+\medskip
+ Wenn Sie weiter weg wohnen, so k\"onnen Sie auch Ihren M\"ull in einer
+gr\"o\3eren Stadt abladen, indem Sie Ihren M\"ullsack (gut verschlossen) zu
+anderm M\"ull stellen, der auf den Abtransport wartet. In den meisten
+F\"allen sind keine Toiletten vorhanden: vergraben Sie also das|
+Toilettenpapier um die biologische Zersetzung zu beschleunigen; gr\"o\3ere
+Mengen k\"onnen verbrannt werden, wenn kein Sicherheits|risiko besteht. In
+Extremfall wird es| mit Ihrem M\"ull eingesammelt.
+
+ \medrule
+
+ Unabh\"angig von den Ortsans\"assigen ist der Kletterer nicht der einzige,
+der auf die Felswand, die er beklettert, ein Anrecht hat. Arch\"aologische
+Sch\"atze und eine au\3ergew\"ohnliche Vegetation k\"onnen ein Kletterverbot
+nach sich ziehen. Vegetation und historische Sch\"atze leiden nur, wenn sie
+zertreten oder entfernt werden. Hingegen kann schon die blo\3e N\"ahe von
+Menschen die Vermehrung der V\"ogel, die in den Felsen nisten,
+beeintr\"achtigen. Es| mus{}s| betont werden, das{}s| im Gegensatz zum \Ital{homo
+erectus}, den man etwas| zu Unrecht als| \Ital{sapiens} qualifiziert, eine ganze
+Reihe von Vogelarten vom Aus|sterben bedroht sind.
+
+ Bei uns| sind vor allem die Arten betroffen, die in den Kletterw\"anden nisten
+und sich dort vermehren: Wanderfalke, K\"onigsadler, Raubgeier, Uhu, gro\3e
+Saatkr\"ahe. Von diesen Arten gibt es| manchmal nur noch einige dutzend in ganz
+Frankreich. Werden sie nur einmal beim Nestbau oder w\"ahrend der Brutzeit
+gest\"ort (im allgemeinen vom 1. Februar bis| zum 15 Juni), so stirbt die ganze
+Brut, die 1/10 der n\"achsten Vogelgeneration aus|macht. Man kann gewis{}s| sagen,
+das{}s| die Aus|rottung vor allem Pestizide, Jagd und Dummheit verschuldet ist,
+aber es| w\"are traurig, wenn der Gnadensto\3{ }von den Kletterern k\"ame.
+
+ Um drakonische Ma\3nahmen zu vermeiden, die zu einem generellen
+Verbot f\"uhren w\"urden, raten wir eindringlichst davon ab, au\3er\-halb
+der mit {\ecole} gekennzeichneten Stellen von Februar bis|
+einschlie\3lich Juni zu klettern. Auf jeden Fall sollte man mit einem
+Fernglas| mehrere Tage lang untersuchen, ob auch keine Nester
+vorhanden sind.
+
+ Es| sei noch bemerkt, das{}s| in gewissen {\slshape d\'epartements} (Ain,
+Doubs|, Jura, C\^ote d'Or) ein Erlas{}s| des| Pr\"afekten das| Klettern im
+Fr\"uhling in den meisten gro\3en Kletterw\"anden streng verbietet. Diese
+Felsen werden von den Vogel\-schutz\-gesell\-schaften dauenrd \"uber\-wacht,
+die bei \"Uber\-tretung die Wald- oder Land\-ver\-waltungs|\-beh\"orde
+unmit\-tel\-bar benach\-richtigen.
+Geldstrafen von 2~000~{\SetCmDefault\rm FF} bis| 60~000~{\SetCmDefault\rm FF} (1986).
+
+ \medskip\centerline{\vrule width 0.5\hsize height 0.4pt}
+
+ \medskip
+ Bez\"uglich der Aus|r\"ustung der Sport\-kletter\-gebiete hat die \FFME{}
+gem\"a\3ihres| Auftrags| als| Sportbund bestimmt, das{}s| diese zu dem
+Aufgaben\-bereich ihrer Departement\-komitees| geh\"ore. Oft werden die lokalen
+Vereine f\"ur diesen Auftrag von den Departement\-komitees| der \FFME{}
+beauftragt.
+
+ Deshalb, wird eine Route im Kletterf\"uhrer als| \<aus|ger\"ustet\>
+(\Ital{\'equip\'ee}) be\-zeich\-net, so sind die vorhandenen Installationen
+aus|reichend f\"ur den Kletterer, f\"ur den der allgemeine Schwierigkeits|grad
+der Route angepa\3t ist. Es| geht also nicht, das{}s| man die Aus|r\"ustung
+auf eigene Faust zeitweilig ver\"andert. Andernfalls| riskiert man ernsthafte
+Zusammenst\"o\3e (vieleicht Prozesse). F\"ur diese Routen, die
+als| aus|ger\"ustet be\-zeich\-net werden, sollte man also weder Haken noch
+Hammer mit sich f\"uhren, sondern nur Klemmkeile und Schlingen. Dies|
+bedeutet, das{}s| man sich \"uber die am Ort \"ublichen
+Schwierigkeit\-skalenabst\"ande, und \"uber die G\"ultigkeit der
+Kletterf\"uhrer informiert und so selbst nachpr\"uft, ob die angegebenen
+Aus|r\"ustungen noch vorhanden sind. Der Kletterer, der au\3erstande ist,
+eine Strecke zu bew\"altigen, soll sich einen Notaus|stieg suchen, sich von
+oben ein Seil zuwerfen lassen, absteigen oder abseilen. Er darf \Ital{keine
+zus\"atzlichen Haken anbringen}. Hingegen verlangen der \COSIROC{} und die \FFME{}
+von den \"ortlichen Betreuern, das{}s| die vorhandene Aus|r\"ustung dem Niveau
+der Kletterer, die die jeweilige Routen hinsichtlich ihres|
+Schwierigkeits|\-grades| w\"ahlen, angepa\3t ist, und nicht nur von dem
+Niveau der besten Kletterer der Gegend aus|geht.
+
+ % \input sichermo.pub
+
+
+ Wird eine Route als| \<nicht aus|ger\"ustet\> be\-zeich\-net, so empfehlen wir,
+entweder ein gutes| Werk zu verrichten, und die Route \Ital{in Zusammenarbeit mit
+den \"ortlichen Betreuern oder mit dem Departement\-komitee der \FFME}
+aus|zur\"usten, oder so wenig wie m\"oglich Haken zu verwenden, die das| Gestein
+besch\"adigen, unter weitgehendster Verwendung der nat\"urlichen Sicherungen.
+
+In den \Ital{terrains| d'aventure} (Abenteuergebiete, Alpingel\"ande) sind die
+Regeln nicht so streng, aber wir empfehlen den Kletterern dringendst, ihre
+Aus|r\"ustung auf das| Ersetzen von gef\"ahrlichen Haken zu beschr\"anken, und
+\Ital{niemals| eine systematische Aus|r\"ustung der Routen ohne Erlaubnis| von den
+Departement\-komitees| der \FFME{} zu unternehmen}. In der Tat folgt die geringe
+Anzahl von Haken oder die Aus|r\"ustung\-losigkeit in manchen gro\3en Routen
+oft aus| der Absicht, diese Routen so aus|gesetzt, wie sie urspr\"unglich
+geklettert wurden, zu erhalten. Dagegen ist das| Abrei\3en von
+ungesch\"utzten Gew\"achs| und Moos| und die Entfernung von gef\"ahrlichen
+Blocken immer ein gutes| Werk.
+
+ \medskip\centerline{\vrule width 0.5\hsize height 0.4pt}
+
+\medskip Verwenden Sie Magnesia nur in den \"au\3ersten F\"allen: dieses|
+wei\3e Pulver saugt Schwei\3 auf und gibt so den H\"anden
+vor\"ubergehend besseren Halt. Aber leider kann dieses| bl\"ode Pulver nicht
+den edelen Schwei\3 des| Kletterers| von der Luftfeuchtigkeit unterscheiden.
+Nach Gebrauch saugt es| sich mit Wasser voll und erinnert dann sehr an
+Schmierseife, wobei es| auch noch die nat\"urlichen Unebenheiten des| Gesteins|
+zuschmiert. Es| wird denn notwendig immer gr\"o\3ere Mengen Magnesia zu
+verwenden, da nicht nur der Schwei\3, sondern auch der Tau der letzten
+Nacht getrocknet werden muss. Wir empfehlen statt dessen gemahlenes| Harz
+(\<pof\> auf franz\"osichem Kletterjargon), auch Kolophonium genannt. Es| gibt
+H\"anden und F\"u\3en mehr Reibung und ist biologisch und durch
+Sonneneinwirkung abbaubar. Magnesia ist in verd\"unnter Salzs\"aure
+l\"oslich.
+
+\end{document}
|