summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-01-24 16:35:39 +0000
committerKarl Berry <karl@freefriends.org>2009-01-24 16:35:39 +0000
commit89bd3c91a3106d658db88156e2006b8920c0e9cf (patch)
tree3b8afa1e521d8f253dbb6e0053ba79c82a64aeb1 /Master/texmf-dist/fonts/source
parentbc73750e2889e33eec7f44eb8ca8ebe6e99708a7 (diff)
cmll update (22jan09)
git-svn-id: svn://tug.org/texlive/trunk@11958 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source')
-rw-r--r--Master/texmf-dist/fonts/source/public/cmll/cmllbx12.mf76
-rw-r--r--Master/texmf-dist/fonts/source/public/cmll/cmllr12.mf76
-rw-r--r--Master/texmf-dist/fonts/source/public/cmll/cmllr17.mf76
-rw-r--r--Master/texmf-dist/fonts/source/public/cmll/cmllss12.mf76
-rw-r--r--Master/texmf-dist/fonts/source/public/cmll/cmllss17.mf76
-rw-r--r--Master/texmf-dist/fonts/source/public/cmll/llcommon.mf166
-rw-r--r--Master/texmf-dist/fonts/source/public/cmll/lleusym.mf136
-rw-r--r--Master/texmf-dist/fonts/source/public/cmll/llsymbols.mf125
8 files changed, 556 insertions, 251 deletions
diff --git a/Master/texmf-dist/fonts/source/public/cmll/cmllbx12.mf b/Master/texmf-dist/fonts/source/public/cmll/cmllbx12.mf
new file mode 100644
index 00000000000..7c23aad1b55
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmll/cmllbx12.mf
@@ -0,0 +1,76 @@
+
+% Computer Modern Bold Extended Roman 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMLLBX"; font_size 12pt#;
+
+u#:=27/36pt#; % unit width
+width_adj#:=13/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=296.4/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=192/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=102/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10.5/36pt#; % width of extrafine details
+hair#:=18.3/36pt#; % lowercase hairline breadth
+stem#:=47/36pt#; % lowercase stem breadth
+curve#:=52/36pt#; % lowercase curve breadth
+ess#:=44/36pt#; % breadth in middle of lowercase s
+flare#:=51/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=62/36pt#; % diameter of dots
+cap_hair#:=20/36pt#; % uppercase hairline breadth
+cap_stem#:=57/36pt#; % uppercase stem breadth
+cap_curve#:=61/36pt#; % uppercase curve breadth
+cap_ess#:=59/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.66pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=12/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=46/36pt#; % protrusion of uppercase serifs
+beak_jut#:=12.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=14.3/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=18.5/36pt#; % lowercase bar thickness
+slab#:=18.5/36pt#; % serif and arm thickness
+cap_bar#:=18.5/36pt#; % uppercase bar thickness
+cap_band#:=18.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=4/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:=.4; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % 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?
+
+generate llsymbols % switch to the driver file
diff --git a/Master/texmf-dist/fonts/source/public/cmll/cmllr12.mf b/Master/texmf-dist/fonts/source/public/cmll/cmllr12.mf
new file mode 100644
index 00000000000..ad05a47b0cc
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmll/cmllr12.mf
@@ -0,0 +1,76 @@
+
+% Computer Modern Roman 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMLLR"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/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.5/36pt#; % width of extrafine details
+hair#:=9.5/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=30/36pt#; % breadth in middle of lowercase s
+flare#:=36/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=35/36pt#; % uppercase stem breadth
+cap_curve#:=40/36pt#; % uppercase curve breadth
+cap_ess#:=38/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=33/36pt#; % protrusion of lowercase serifs
+cap_jut#:=41/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/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#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/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.2; % 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?
+
+generate llsymbols % switch to the driver file
diff --git a/Master/texmf-dist/fonts/source/public/cmll/cmllr17.mf b/Master/texmf-dist/fonts/source/public/cmll/cmllr17.mf
new file mode 100644
index 00000000000..19025348102
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmll/cmllr17.mf
@@ -0,0 +1,76 @@
+
+% Computer Modern Roman 17 point (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMLLR"; font_size 17.28pt#;
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=-0.1pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=425/36pt#; % height of caps
+fig_height#:=401/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=150/36pt#; % height of crossbar in lowercase e
+comma_depth#:=121/36pt#; % depth of comma below baseline
+desc_depth#:=121/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#:=9/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=40/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=51/36pt#; % diameter of dots
+cap_hair#:=13/36pt#; % uppercase hairline breadth
+cap_stem#:=41/36pt#; % uppercase stem breadth
+cap_curve#:=47/36pt#; % uppercase curve breadth
+cap_ess#:=43/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=34/36pt#; % vertical distance from serif base to tangent
+jut#:=42/36pt#; % protrusion of lowercase serifs
+cap_jut#:=50/36pt#; % protrusion of uppercase serifs
+beak_jut#:=15/36pt#; % horizontal protrusion of beak serifs
+beak#:=121/36pt#; % vertical protrusion of beak serifs
+vair#:=10/36pt#; % vertical diameter of hairlines
+notch_cut#:=17pt#; % maximum breadth above or below notches
+bar#:=16/36pt#; % lowercase bar thickness
+slab#:=16/36pt#; % serif and arm thickness
+cap_bar#:=16/36pt#; % uppercase bar thickness
+cap_band#:=16/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=17pt#; % max breadth above/below uppercase notches
+serif_drop#:=7/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#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=10/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.4; % 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?
+
+generate llsymbols % switch to the driver file
diff --git a/Master/texmf-dist/fonts/source/public/cmll/cmllss12.mf b/Master/texmf-dist/fonts/source/public/cmll/cmllss12.mf
new file mode 100644
index 00000000000..9b850d024c4
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmll/cmllss12.mf
@@ -0,0 +1,76 @@
+
+% Computer Modern Sans Serif 12 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMLLSS"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=17/36pt#; % width adjustment for certain characters
+serif_fit#:=-9/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-13/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=300/36pt#; % height of caps
+fig_height#:=283/36pt#; % height of numerals
+x_height#:=192/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=97/36pt#; % height of crossbar in lowercase e
+comma_depth#:=54/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=20/36pt#; % width of extrafine details
+hair#:=33/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=33/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=33/36pt#; % uppercase hairline breadth
+cap_stem#:=37/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=37/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.6/36pt#; % vertical protrusion of beak serifs
+vair#:=26/36pt#; % vertical diameter of hairlines
+notch_cut#:=22/36pt#; % maximum breadth above or below notches
+bar#:=25/36pt#; % lowercase bar thickness
+slab#:=27/36pt#; % serif and arm thickness
+cap_bar#:=26/36pt#; % uppercase bar thickness
+cap_band#:=24/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=31/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/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#:=6/36pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.98; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % 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?
+
+generate llsymbols % switch to the driver file
diff --git a/Master/texmf-dist/fonts/source/public/cmll/cmllss17.mf b/Master/texmf-dist/fonts/source/public/cmll/cmllss17.mf
new file mode 100644
index 00000000000..9f535b29722
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmll/cmllss17.mf
@@ -0,0 +1,76 @@
+
+% Computer Modern Sans Serif 17 pt (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMLLSS"; font_size 17.28pt#;
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=24/36pt#; % width adjustment for certain characters
+serif_fit#:=-12/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-17/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=432/36pt#; % height of caps
+fig_height#:=408/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=136/36pt#; % height of crossbar in lowercase e
+comma_depth#:=78/36pt#; % depth of comma below baseline
+desc_depth#:=121/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=28/36pt#; % width of extrafine details
+hair#:=47/36pt#; % lowercase hairline breadth
+stem#:=47/36pt#; % lowercase stem breadth
+curve#:=47/36pt#; % lowercase curve breadth
+ess#:=47/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=50/36pt#; % diameter of dots
+cap_hair#:=47/36pt#; % uppercase hairline breadth
+cap_stem#:=52/36pt#; % uppercase stem breadth
+cap_curve#:=52/36pt#; % uppercase curve breadth
+cap_ess#:=52/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.8/36pt#; % vertical protrusion of beak serifs
+vair#:=38/36pt#; % vertical diameter of hairlines
+notch_cut#:=32/36pt#; % maximum breadth above or below notches
+bar#:=36/36pt#; % lowercase bar thickness
+slab#:=40/36pt#; % serif and arm thickness
+cap_bar#:=38/36pt#; % uppercase bar thickness
+cap_band#:=35/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=46/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/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#:=7/36pt#; % extra width at diagonal junctions
+
+o#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % 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.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % 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?
+
+generate llsymbols % switch to the driver file
diff --git a/Master/texmf-dist/fonts/source/public/cmll/llcommon.mf b/Master/texmf-dist/fonts/source/public/cmll/llcommon.mf
new file mode 100644
index 00000000000..cc23926c29f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmll/llcommon.mf
@@ -0,0 +1,166 @@
+% Common symbols for CMLL and EULL.
+
+% The code for arrows is the one from the downward and upward arrows
+% (characters '041 and '042 in cmsy, defined in sym.mf)
+% with some coordinates moved.
+
+cmchar "Short downward arrow (positive shift)";
+beginchar(1,9u#,body_height#,0);
+adjust_fit(0,0); pickup crisp.nib;
+pos1(rule_thickness,0); pos2(rule_thickness,0);
+pos3(rule_thickness,90); pos4(rule_thickness,90);
+lft x1l=hround(.5w-.5rule_thickness); y1+.5rule_thickness=h;
+x0=x1=x2; bot y0=-d-o; x0-x3=x4-x0=if monospace:3u else:4u fi+eps;
+y3=y4=y0+if monospace:.24 else:.36 fi asc_height+eps;
+pos5(rule_thickness,angle(z4-z0)); z5l=z0;
+pos6(rule_thickness,angle(z3-z0)); z6l=z0;
+z9=.2[.5[z3,z4],z0];
+numeric t; path p; p=z4r{z9-z4}..z6r;
+t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
+filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r)
+ ---z1r..z1l---subpath (t,0) of\\(z3r{z9-z3}..z5r)
+ --z3l{z9-z3}..z0 & cycle; % arrowhead and stem
+penlabels(0,1,2,3,4,5,6,9); endchar;
+
+cmchar "Short upward arrow (negative shift)";
+beginchar(2,9u#,body_height#,0);
+italcorr .76asc_height#*slant+.5crisp#-u#;
+adjust_fit(0,0); pickup crisp.nib;
+pos1(rule_thickness,0); pos2(rule_thickness,0);
+pos3(rule_thickness,90); pos4(rule_thickness,90);
+lft x1l=hround(.5w-.5rule_thickness); y1-.5rule_thickness=-d;
+x0=x1=x2; top y0=h+o; x0-x3=x4-x0=if monospace:3u else:4u fi+eps;
+y3=y4=y0-if monospace:.24 else:.36 fi asc_height-eps;
+pos5(rule_thickness,angle(z4-z0)); z5l=z0;
+pos6(rule_thickness,angle(z3-z0)); z6l=z0;
+z9=.2[.5[z3,z4],z0];
+numeric t; path p; p=z4l{z9-z4}..z6r;
+t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
+filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r)
+ ---z1r..z1l---subpath (t,0) of\\(z3l{z9-z3}..z5r)
+ --z3r{z9-z3}..z0 & cycle; % arrowhead and stem
+penlabels(0,1,2,3,4,5,6,9); endchar;
+
+cmchar "Short up-and-down arrow";
+beginchar(3,9u#,body_height#,0);
+adjust_fit(0,0); pickup crisp.nib;
+pos1(rule_thickness,0); pos2(rule_thickness,0);
+pos3(rule_thickness,90); pos4(rule_thickness,90);
+lft x1l=hround(.5w-.5rule_thickness); y1=.5[-d,h];
+x0=x1=x2; bot y0=-d-o; x0-x3=x4-x0=4u+eps;
+y3=y4=y0+.36asc_height+eps;
+pos5(rule_thickness,angle(z4-z0)); z5l=z0;
+pos6(rule_thickness,angle(z3-z0)); z6l=z0;
+z9=.2[.5[z3,z4],z0];
+numeric t; path p; p=z4r{z9-z4}..z6r;
+t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
+filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r)
+ ---z1r..z1l---subpath (t,0) of\\(z3r{z9-z3}..z5r)
+ --z3l{z9-z3}..z0 & cycle; % lower arrowhead and stem
+pos11(rule_thickness,0); pos12(rule_thickness,0); z11=z1;
+pos13(rule_thickness,90); pos14(rule_thickness,90);
+x10=x11=x12; top y10=h+o; x10-x13=x14-x10=4u+eps;
+y13=y14=y10-.36asc_height-eps;
+pos15(rule_thickness,angle(z14-z10)); z15l=z10;
+pos16(rule_thickness,angle(z13-z10)); z16l=z10;
+z19=.2[.5[z13,z14],z10];
+numeric t; path p; p=z14l{z19-z14}..z16r;
+t=xpart(p intersectiontimes((x12r,-d)--(x12r,h))); y12=ypart point t of p;
+filldraw z10..{z14-z19}z14r--subpath (0,t) of\\(z14l{z19-z14}..z16r)
+ ---z11r..z11l---subpath (t,0) of\\(z13l{z19-z13}..z15r)
+ --z13r{z19-z13}..z10 & cycle; % upper arrowhead and stem
+penlabels(0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,19); endchar;
+
+
+% The code for coherence relations is based on the \asymp symbol (named
+% "Hardy's asymptotic equivalence sign" number '020 in symbols.mf).
+
+cmchar "Coherence sign";
+compute_spread(.45x_height#,.55x_height#);
+beginchar(4,14u#,v_center(2spread#+rule_thickness#));
+adjust_fit(0,0); pickup rule.nib; autorounded;
+lft x1=hround u-eps; x3=x1; x2=x4=w-x1; x5=x6=.5w;
+y1=y2; y5=good.y h; y3=y4; .5[y1,y3]=.5[y5,y6]=math_axis;
+y1=good.y .3[y5,y6];
+draw z1{x5-x1,2(y5-y1)}...z5{right}...z2{x2-x5,2(y2-y5)}; % upper bar
+draw z3{x6-x3,2(y6-y3)}...z6{right}...z4{x4-x6,2(y4-y6)}; % lower bar
+labels(1,2,3,4,5,6); endchar;
+
+cmchar "Strict coherence";
+beginchar(5,14u#,asc_height#,desc_depth#);
+adjust_fit(0,0); pickup rule.nib;
+lft x1=hround u; y1=vround(math_axis-.25x_height);
+x3=w-x1; y3=y1;
+penpos2(rule_thickness,90); x2=.5w; y2=good.y(.25x_height+math_axis);
+numeric theta; theta=angle((z2-z1)yscaled 3);
+penpos1(rule_thickness,90+theta);
+penpos3(rule_thickness,90-theta);
+draw z1{dir theta}...z2...{dir-theta}z3; penlabels(1,2,3);
+endchar;
+
+cmchar "Incoherence sign";
+compute_spread(.45x_height#,.55x_height#);
+beginchar(6,14u#,v_center(2spread#+rule_thickness#));
+adjust_fit(0,0); pickup rule.nib; autorounded;
+lft x1=hround u-eps; x3=x1; x2=x4=w-x1; x5=x6=.5w;
+y1=y2=good.y h; y3=y4; .5[y1,y3]=.5[y5,y6]=math_axis;
+y5=good.y .3[y1,y3];
+draw z1{x5-x1,2(y5-y1)}...z5{right}...z2{x2-x5,2(y2-y5)}; % upper bar
+draw z3{x6-x3,2(y6-y3)}...z6{right}...z4{x4-x6,2(y4-y6)}; % lower bar
+labels(1,2,3,4,5,6); endchar;
+
+cmchar "Strict incoherence";
+beginchar(7,14u#,asc_height#,desc_depth#);
+adjust_fit(0,0); pickup rule.nib;
+lft x1=hround u; y1=vround(math_axis+.25x_height);
+x3=w-x1; y3=y1; penpos2(rule_thickness,90); x2=.5w;
+y2l=good.y -(.25x_height-math_axis);
+numeric theta; theta=angle((z2-z1)yscaled 3);
+penpos1(rule_thickness,90+theta);
+penpos3(rule_thickness,90-theta);
+draw z1{dir theta}...z2...{dir-theta}z3;
+penlabels(1,2,3); endchar;
+
+cmchar "Linear equivalence symbol";
+beginchar(12,22u#,.8asc_height#,0#);
+adjust_fit(0,0); pickup rule.nib; autorounded;
+numeric circ_diam; circ_diam=5u;
+y2=math_axis; y8=y2+.5circ_diam; rt x2=w-u;
+x6=x2-circ_diam;
+circle_points; draw_circle;
+x11=u+.5rule_thickness; y11=y2;
+draw_circle shifted (z11-z6);
+x9=x11+circ_diam+.5rule_thickness; y9=y10=y2; x10=x6-.5rule_thickness;
+draw z9---z10;
+penlabels(1,2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "Double-struck perpendicular sign";
+beginchar(13,17u#,asc_height#,0);
+adjust_fit(0,0); pickup rule.nib;
+compute_spread(.45x_height#,.55x_height#); x3-x1=x4-x2=good.x spread;
+x1=x2=good.x (.5w - spread/2);
+center_on(.5[x1,x3]); lft x5=hround u; x6=w-x5; y3=y1;
+bot y1=0; y2-y1=x6-x5-3u;
+if top y2>h: y2:=bot h; fi
+y5=y6=y1; y4=y2;
+draw z1--z2; % left stem
+draw z3--z4; % right stem
+draw z5--z6; % bar
+labels(1,2,3,4,5,6); endchar;
+
+cmchar "Oscillating perpendicular sign";
+compute_spread(.45x_height#,.55x_height#);
+spread#':=spread#; spread':=spread; % the spread of `$=$'
+compute_spread(.54x_height#,.66x_height#);
+beginchar(14,14u#,asc_height#,0);
+adjust_fit(0,0);
+pickup pencircle xscaled .7rule_thickness yscaled 1.4rule_thickness;
+if vair#>.8curve#: pickup rule.nib; autorounded; fi % monoline
+lft x3=hround u; x4=4u; x5=w-x4; x6=w-x3;
+y3=y5; y4=y6; bot y3=0; top y4-bot y3=spread';
+draw z3{up}...z4{right}..{right}z5...{up}z6; % upper stroke
+pickup rule.nib; autorounded;
+x1=x2; z2=1/2[z3,z6]; y1-y2=x6-x3;
+if top y1>h: y1:=bot h; fi
+draw z1..z2;
+labels(1,2,3,4,5,6); endchar;
diff --git a/Master/texmf-dist/fonts/source/public/cmll/lleusym.mf b/Master/texmf-dist/fonts/source/public/cmll/lleusym.mf
index be2932e4aab..be2ddc1f63d 100644
--- a/Master/texmf-dist/fonts/source/public/cmll/lleusym.mf
+++ b/Master/texmf-dist/fonts/source/public/cmll/lleusym.mf
@@ -123,37 +123,40 @@ adj_fill.B() % fixed x points
transformed transf);
enddef;
+let endcharsaved = endchar;
+def endchar = endcharsaved(0) enddef;
+
amp_w := 2732;
amp_h := 2560;
"Reversed ampersand (par)";
charbegin( 0, 2732h#, capheight*v#, baseline );
euler_ampersand ( identity scaled -1 shifted (amp_w,amp_h) );
-endchar(0);
+endchar;
charlist 8: 9;
"\textstyle large ampersand";
charbegin( 8, 19/14 * 2732h#, 0, 36/25*capheight*v# + baseline );
euler_ampersand ( identity shifted (0,-amp_h) xscaled 19/14 yscaled 36/25 );
-endchar(0);
+endchar;
"\displaystyle large ampersand";
charbegin( 9, 26/14 * 2732h#, 0, 252/125*capheight*v# + baseline );
euler_ampersand ( identity shifted (0,-amp_h) xscaled 26/14 yscaled 252/125 );
-endchar(0);
+endchar;
charlist 10: 11;
"\textstyle large reversed ampersand";
charbegin( 10, 19/14 * 2732h#, 0, 36/25*capheight*v# + baseline );
euler_ampersand ( identity shifted (-amp_w,0) xscaled -19/14 yscaled -36/25 );
-endchar(0);
+endchar;
"\displaystyle large reversed ampersand";
charbegin( 11, 26/14 * 2732h#, 0, 252/125*capheight*v# + baseline );
euler_ampersand ( identity shifted (-amp_w,0) xscaled -26/14 yscaled -252/125 );
-endchar(0);
+endchar;
% The following characters are the same as in CMLL
@@ -162,125 +165,4 @@ input cmbase;
cmsetup;
font_setup;
-% The code for arrows is the one from the downward and upward arrows
-% (characters '041 and '042 in cmsy, defined in sym.mf)
-% with some coordinates moved.
-
-cmchar "Short downward arrow (positive shift)";
-
-beginchar(1,9u#,body_height#,0);
-adjust_fit(0,0); pickup crisp.nib;
-pos1(rule_thickness,0); pos2(rule_thickness,0);
-pos3(rule_thickness,90); pos4(rule_thickness,90);
-lft x1l=hround(.5w-.5rule_thickness); y1+.5rule_thickness=h;
-x0=x1=x2; bot y0=-d-o; x0-x3=x4-x0=if monospace:3u else:4u fi+eps;
-y3=y4=y0+if monospace:.24 else:.36 fi asc_height+eps;
-pos5(rule_thickness,angle(z4-z0)); z5l=z0;
-pos6(rule_thickness,angle(z3-z0)); z6l=z0;
-z9=.2[.5[z3,z4],z0];
-numeric t; path p; p=z4r{z9-z4}..z6r;
-t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
-filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r)
- ---z1r..z1l---subpath (t,0) of\\(z3r{z9-z3}..z5r)
- --z3l{z9-z3}..z0 & cycle; % arrowhead and stem
-penlabels(0,1,2,3,4,5,6,9); endchar(0);
-
-cmchar "Short upward arrow (negative shift)";
-
-beginchar(2,9u#,body_height#,0);
-italcorr .76asc_height#*slant+.5crisp#-u#;
-adjust_fit(0,0); pickup crisp.nib;
-pos1(rule_thickness,0); pos2(rule_thickness,0);
-pos3(rule_thickness,90); pos4(rule_thickness,90);
-lft x1l=hround(.5w-.5rule_thickness); y1-.5rule_thickness=-d;
-x0=x1=x2; top y0=h+o; x0-x3=x4-x0=if monospace:3u else:4u fi+eps;
-y3=y4=y0-if monospace:.24 else:.36 fi asc_height-eps;
-pos5(rule_thickness,angle(z4-z0)); z5l=z0;
-pos6(rule_thickness,angle(z3-z0)); z6l=z0;
-z9=.2[.5[z3,z4],z0];
-numeric t; path p; p=z4l{z9-z4}..z6r;
-t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
-filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r)
- ---z1r..z1l---subpath (t,0) of\\(z3l{z9-z3}..z5r)
- --z3r{z9-z3}..z0 & cycle; % arrowhead and stem
-penlabels(0,1,2,3,4,5,6,9); endchar(0);
-
-cmchar "Short up-and-down arrow";
-beginchar(3,9u#,body_height#,0);
-adjust_fit(0,0); pickup crisp.nib;
-pos1(rule_thickness,0); pos2(rule_thickness,0);
-pos3(rule_thickness,90); pos4(rule_thickness,90);
-lft x1l=hround(.5w-.5rule_thickness); y1=.5[-d,h];
-x0=x1=x2; bot y0=-d-o; x0-x3=x4-x0=4u+eps;
-y3=y4=y0+.36asc_height+eps;
-pos5(rule_thickness,angle(z4-z0)); z5l=z0;
-pos6(rule_thickness,angle(z3-z0)); z6l=z0;
-z9=.2[.5[z3,z4],z0];
-numeric t; path p; p=z4r{z9-z4}..z6r;
-t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
-filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r)
- ---z1r..z1l---subpath (t,0) of\\(z3r{z9-z3}..z5r)
- --z3l{z9-z3}..z0 & cycle; % lower arrowhead and stem
-pos11(rule_thickness,0); pos12(rule_thickness,0); z11=z1;
-pos13(rule_thickness,90); pos14(rule_thickness,90);
-x10=x11=x12; top y10=h+o; x10-x13=x14-x10=4u+eps;
-y13=y14=y10-.36asc_height-eps;
-pos15(rule_thickness,angle(z14-z10)); z15l=z10;
-pos16(rule_thickness,angle(z13-z10)); z16l=z10;
-z19=.2[.5[z13,z14],z10];
-numeric t; path p; p=z14l{z19-z14}..z16r;
-t=xpart(p intersectiontimes((x12r,-d)--(x12r,h))); y12=ypart point t of p;
-filldraw z10..{z14-z19}z14r--subpath (0,t) of\\(z14l{z19-z14}..z16r)
- ---z11r..z11l---subpath (t,0) of\\(z13l{z19-z13}..z15r)
- --z13r{z19-z13}..z10 & cycle; % upper arrowhead and stem
-penlabels(0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,19); endchar(0);
-
-
-% The code for coherence relations is based on the \asymp symbol (named
-% "Hardy's asymptotic equivalence sign" number '020 in symbols.mf).
-
-cmchar "Coherence sign";
-compute_spread(.45x_height#,.55x_height#);
-beginchar(4,14u#,v_center(2spread#+rule_thickness#));
-adjust_fit(0,0); pickup rule.nib; autorounded;
-lft x1=hround u-eps; x3=x1; x2=x4=w-x1; x5=x6=.5w;
-y1=y2; y5=good.y h; y3=y4; .5[y1,y3]=.5[y5,y6]=math_axis;
-y1=good.y .3[y5,y6];
-draw z1{x5-x1,2(y5-y1)}...z5{right}...z2{x2-x5,2(y2-y5)}; % upper bar
-draw z3{x6-x3,2(y6-y3)}...z6{right}...z4{x4-x6,2(y4-y6)}; % lower bar
-labels(1,2,3,4,5,6); endchar(0);
-
-cmchar "Strict coherence";
-beginchar(5,14u#,asc_height#,desc_depth#);
-adjust_fit(0,0); pickup rule.nib;
-lft x1=hround u; y1=vround(math_axis-.25x_height);
-x3=w-x1; y3=y1;
-penpos2(rule_thickness,90); x2=.5w; y2=good.y(.25x_height+math_axis);
-numeric theta; theta=angle((z2-z1)yscaled 3);
-penpos1(rule_thickness,90+theta);
-penpos3(rule_thickness,90-theta);
-draw z1{dir theta}...z2...{dir-theta}z3; penlabels(1,2,3);
-endchar(0);
-
-cmchar "Incoherence sign";
-compute_spread(.45x_height#,.55x_height#);
-beginchar(6,14u#,v_center(2spread#+rule_thickness#));
-adjust_fit(0,0); pickup rule.nib; autorounded;
-lft x1=hround u-eps; x3=x1; x2=x4=w-x1; x5=x6=.5w;
-y1=y2=good.y h; y3=y4; .5[y1,y3]=.5[y5,y6]=math_axis;
-y5=good.y .3[y1,y3];
-draw z1{x5-x1,2(y5-y1)}...z5{right}...z2{x2-x5,2(y2-y5)}; % upper bar
-draw z3{x6-x3,2(y6-y3)}...z6{right}...z4{x4-x6,2(y4-y6)}; % lower bar
-labels(1,2,3,4,5,6); endchar(0);
-
-cmchar "Strict incoherence";
-beginchar(7,14u#,asc_height#,desc_depth#);
-adjust_fit(0,0); pickup rule.nib;
-lft x1=hround u; y1=vround(math_axis+.25x_height);
-x3=w-x1; y3=y1; penpos2(rule_thickness,90); x2=.5w;
-y2l=good.y -(.25x_height-math_axis);
-numeric theta; theta=angle((z2-z1)yscaled 3);
-penpos1(rule_thickness,90+theta);
-penpos3(rule_thickness,90-theta);
-draw z1{dir theta}...z2...{dir-theta}z3;
-penlabels(1,2,3); endchar(0);
+input llcommon;
diff --git a/Master/texmf-dist/fonts/source/public/cmll/llsymbols.mf b/Master/texmf-dist/fonts/source/public/cmll/llsymbols.mf
index 2e2fe415b1f..c6089c6f7ec 100644
--- a/Master/texmf-dist/fonts/source/public/cmll/llsymbols.mf
+++ b/Master/texmf-dist/fonts/source/public/cmll/llsymbols.mf
@@ -59,130 +59,6 @@ penlabels(0,1,2,3,4,5,6,7,8,9,10,11);
currentpicture := currentpicture scaled -1 shifted (w,h);
endchar;
-
-% The code for arrows is the one from the downward and upward arrows
-% (characters '041 and '042 in cmsy, defined in sym.mf)
-% with some coordinates moved.
-
-cmchar "Short downward arrow (positive shift)";
-
-beginchar(1,9u#,body_height#,0);
-adjust_fit(0,0); pickup crisp.nib;
-pos1(rule_thickness,0); pos2(rule_thickness,0);
-pos3(rule_thickness,90); pos4(rule_thickness,90);
-lft x1l=hround(.5w-.5rule_thickness); y1+.5rule_thickness=h;
-x0=x1=x2; bot y0=-d-o; x0-x3=x4-x0=if monospace:3u else:4u fi+eps;
-y3=y4=y0+if monospace:.24 else:.36 fi asc_height+eps;
-pos5(rule_thickness,angle(z4-z0)); z5l=z0;
-pos6(rule_thickness,angle(z3-z0)); z6l=z0;
-z9=.2[.5[z3,z4],z0];
-numeric t; path p; p=z4r{z9-z4}..z6r;
-t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
-filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r)
- ---z1r..z1l---subpath (t,0) of\\(z3r{z9-z3}..z5r)
- --z3l{z9-z3}..z0 & cycle; % arrowhead and stem
-penlabels(0,1,2,3,4,5,6,9); endchar;
-
-cmchar "Short upward arrow (negative shift)";
-
-beginchar(2,9u#,body_height#,0);
-italcorr .76asc_height#*slant+.5crisp#-u#;
-adjust_fit(0,0); pickup crisp.nib;
-pos1(rule_thickness,0); pos2(rule_thickness,0);
-pos3(rule_thickness,90); pos4(rule_thickness,90);
-lft x1l=hround(.5w-.5rule_thickness); y1-.5rule_thickness=-d;
-x0=x1=x2; top y0=h+o; x0-x3=x4-x0=if monospace:3u else:4u fi+eps;
-y3=y4=y0-if monospace:.24 else:.36 fi asc_height-eps;
-pos5(rule_thickness,angle(z4-z0)); z5l=z0;
-pos6(rule_thickness,angle(z3-z0)); z6l=z0;
-z9=.2[.5[z3,z4],z0];
-numeric t; path p; p=z4l{z9-z4}..z6r;
-t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
-filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r)
- ---z1r..z1l---subpath (t,0) of\\(z3l{z9-z3}..z5r)
- --z3r{z9-z3}..z0 & cycle; % arrowhead and stem
-penlabels(0,1,2,3,4,5,6,9); endchar;
-
-cmchar "Short up-and-down arrow";
-beginchar(3,9u#,body_height#,0);
-adjust_fit(0,0); pickup crisp.nib;
-pos1(rule_thickness,0); pos2(rule_thickness,0);
-pos3(rule_thickness,90); pos4(rule_thickness,90);
-lft x1l=hround(.5w-.5rule_thickness); y1=.5[-d,h];
-x0=x1=x2; bot y0=-d-o; x0-x3=x4-x0=4u+eps;
-y3=y4=y0+.36asc_height+eps;
-pos5(rule_thickness,angle(z4-z0)); z5l=z0;
-pos6(rule_thickness,angle(z3-z0)); z6l=z0;
-z9=.2[.5[z3,z4],z0];
-numeric t; path p; p=z4r{z9-z4}..z6r;
-t=xpart(p intersectiontimes((x2r,-d)--(x2r,h))); y2=ypart point t of p;
-filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r)
- ---z1r..z1l---subpath (t,0) of\\(z3r{z9-z3}..z5r)
- --z3l{z9-z3}..z0 & cycle; % lower arrowhead and stem
-pos11(rule_thickness,0); pos12(rule_thickness,0); z11=z1;
-pos13(rule_thickness,90); pos14(rule_thickness,90);
-x10=x11=x12; top y10=h+o; x10-x13=x14-x10=4u+eps;
-y13=y14=y10-.36asc_height-eps;
-pos15(rule_thickness,angle(z14-z10)); z15l=z10;
-pos16(rule_thickness,angle(z13-z10)); z16l=z10;
-z19=.2[.5[z13,z14],z10];
-numeric t; path p; p=z14l{z19-z14}..z16r;
-t=xpart(p intersectiontimes((x12r,-d)--(x12r,h))); y12=ypart point t of p;
-filldraw z10..{z14-z19}z14r--subpath (0,t) of\\(z14l{z19-z14}..z16r)
- ---z11r..z11l---subpath (t,0) of\\(z13l{z19-z13}..z15r)
- --z13r{z19-z13}..z10 & cycle; % upper arrowhead and stem
-penlabels(0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,19); endchar;
-
-
-% The code for coherence relations is based on the \asymp symbol (named
-% "Hardy's asymptotic equivalence sign" number '020 in symbols.mf).
-
-cmchar "Coherence sign";
-compute_spread(.45x_height#,.55x_height#);
-beginchar(4,14u#,v_center(2spread#+rule_thickness#));
-adjust_fit(0,0); pickup rule.nib; autorounded;
-lft x1=hround u-eps; x3=x1; x2=x4=w-x1; x5=x6=.5w;
-y1=y2; y5=good.y h; y3=y4; .5[y1,y3]=.5[y5,y6]=math_axis;
-y1=good.y .3[y5,y6];
-draw z1{x5-x1,2(y5-y1)}...z5{right}...z2{x2-x5,2(y2-y5)}; % upper bar
-draw z3{x6-x3,2(y6-y3)}...z6{right}...z4{x4-x6,2(y4-y6)}; % lower bar
-labels(1,2,3,4,5,6); endchar;
-
-cmchar "Strict coherence";
-beginchar(5,14u#,asc_height#,desc_depth#);
-adjust_fit(0,0); pickup rule.nib;
-lft x1=hround u; y1=vround(math_axis-.25x_height);
-x3=w-x1; y3=y1;
-penpos2(rule_thickness,90); x2=.5w; y2=good.y(.25x_height+math_axis);
-numeric theta; theta=angle((z2-z1)yscaled 3);
-penpos1(rule_thickness,90+theta);
-penpos3(rule_thickness,90-theta);
-draw z1{dir theta}...z2...{dir-theta}z3; penlabels(1,2,3);
-endchar;
-
-cmchar "Incoherence sign";
-compute_spread(.45x_height#,.55x_height#);
-beginchar(6,14u#,v_center(2spread#+rule_thickness#));
-adjust_fit(0,0); pickup rule.nib; autorounded;
-lft x1=hround u-eps; x3=x1; x2=x4=w-x1; x5=x6=.5w;
-y1=y2=good.y h; y3=y4; .5[y1,y3]=.5[y5,y6]=math_axis;
-y5=good.y .3[y1,y3];
-draw z1{x5-x1,2(y5-y1)}...z5{right}...z2{x2-x5,2(y2-y5)}; % upper bar
-draw z3{x6-x3,2(y6-y3)}...z6{right}...z4{x4-x6,2(y4-y6)}; % lower bar
-labels(1,2,3,4,5,6); endchar;
-
-cmchar "Strict incoherence";
-beginchar(7,14u#,asc_height#,desc_depth#);
-adjust_fit(0,0); pickup rule.nib;
-lft x1=hround u; y1=vround(math_axis+.25x_height);
-x3=w-x1; y3=y1; penpos2(rule_thickness,90); x2=.5w;
-y2l=good.y -(.25x_height-math_axis);
-numeric theta; theta=angle((z2-z1)yscaled 3);
-penpos1(rule_thickness,90+theta);
-penpos3(rule_thickness,90-theta);
-draw z1{dir theta}...z2...{dir-theta}z3;
-penlabels(1,2,3); endchar;
-
% The definition of the large symbols is the one for the ampersand, adapted
% for a bigger size, with parameters taken from the definition of sum
% operators.
@@ -381,4 +257,5 @@ else: pickup fine.nib; pos10'(thin_stem,90); z10'=z10;
currentpicture := currentpicture scaled -1 shifted (w,h-d);
penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
+input llcommon;
bye.