summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/fonts/cmll/README (renamed from Master/texmf-dist/doc/latex/cmll/README)28
-rw-r--r--Master/texmf-dist/doc/fonts/cmll/cmll.pdfbin0 -> 102045 bytes
-rw-r--r--Master/texmf-dist/doc/latex/cmll/cmll.pdfbin63495 -> 0 bytes
-rw-r--r--Master/texmf-dist/fonts/map/dvips/cmll/cmll.map5
-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
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllbx10.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllbx12.tfmbin0 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllbx5.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllbx6.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllbx7.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllbx8.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllbx9.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllr10.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllr12.tfmbin0 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllr17.tfmbin0 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllr5.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllr6.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllr7.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllr8.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllr9.tfmbin204 -> 228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllss10.tfmbin208 -> 232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllss12.tfmbin0 -> 232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllss17.tfmbin0 -> 232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllss8.tfmbin208 -> 232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllss9.tfmbin208 -> 232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/cmllssbx10.tfmbin208 -> 232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullbx10.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullbx5.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullbx6.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullbx7.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullbx8.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullbx9.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullr10.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullr5.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullr6.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullr7.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullr8.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmll/eullr9.tfmbin300 -> 324 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllbx10.pfbbin11458 -> 7344 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllbx12.pfbbin0 -> 7085 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllbx5.pfbbin11369 -> 7299 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllbx6.pfbbin11596 -> 7643 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllbx7.pfbbin11618 -> 7426 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllbx8.pfbbin11597 -> 7187 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllbx9.pfbbin11847 -> 7366 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllr10.pfbbin11157 -> 7230 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllr12.pfbbin0 -> 7115 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllr17.pfbbin0 -> 7135 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllr5.pfbbin11574 -> 7153 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllr6.pfbbin11536 -> 7086 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllr7.pfbbin11455 -> 7340 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllr8.pfbbin11188 -> 7308 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllr9.pfbbin11299 -> 7264 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllss10.pfbbin11096 -> 6620 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllss12.pfbbin0 -> 6866 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllss17.pfbbin0 -> 6726 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllss8.pfbbin6200 -> 7025 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllss9.pfbbin6365 -> 6833 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/cmllssbx10.pfbbin6499 -> 7196 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullbx10.pfbbin12295 -> 7571 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullbx5.pfbbin7346 -> 7752 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullbx6.pfbbin7390 -> 7837 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullbx7.pfbbin7385 -> 7765 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullbx8.pfbbin7368 -> 7647 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullbx9.pfbbin7326 -> 7664 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullr10.pfbbin11767 -> 7388 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullr5.pfbbin12132 -> 7480 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullr6.pfbbin7148 -> 7541 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullr7.pfbbin7301 -> 7502 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullr8.pfbbin7148 -> 7463 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmll/eullr9.pfbbin11880 -> 7510 bytes
-rw-r--r--Master/texmf-dist/source/latex/cmll/cmll.dtx225
-rw-r--r--Master/texmf-dist/tex/latex/cmll/cmll.sty81
-rw-r--r--Master/texmf-dist/tex/latex/cmll/ucmllr.fd9
-rw-r--r--Master/texmf-dist/tex/latex/cmll/ucmllss.fd5
82 files changed, 857 insertions, 303 deletions
diff --git a/Master/texmf-dist/doc/latex/cmll/README b/Master/texmf-dist/doc/fonts/cmll/README
index cbe06714d8c..bcf754d7df1 100644
--- a/Master/texmf-dist/doc/latex/cmll/README
+++ b/Master/texmf-dist/doc/fonts/cmll/README
@@ -1,12 +1,32 @@
This directory contains the CMLL font. This font contains a handful of symbols
-used in Linear Logic, designed for use with standard Computer Modern fonts.
+used in the linear logic coommunity, designed for use with standard Computer
+Modern and AMS Euler fonts.
-This package is dated February 28, 2006.
+This package is dated January 23, 2009.
Installation
------------
+* Using packages
+
+CMLL is part of reasonable TeX distributions (including TeXLive and MikteX).
+
+A Debian package is available at http://iml.univ-mrs.fr/~beffara/soft/, it can
+be installed even if an older version of CMLL is installed using one of the
+TeXLive packages, and it will have priority over it.
+
+* Using the shell script (for Unix)
+
+Say
+ ./install.sh /usr/share/texmf
+Replace "/usr/share/texmf" by the path of the TeX directory structure where
+you want to install the files.
+You may have to update TeX's databases by running "texhash" or "mktexlsr"
+(this is for Kpathsea-based distributions like teTeX) or a similar command.
+
+* By hand
+
Copy the .mf files from the "mf" subdirectory somewhere in Metafont's search
path and the .sty and .fd files from the "latex" subdirectory somewhere in
LaTeX's search path.
@@ -19,7 +39,7 @@ Then copy the directories as follows:
If you want to install the fonts in Type1 format:
copy "type1" as TEXMF/fonts/type1/public/cmll
copy "tfm" as TEXMF/fonts/tfm/public/cmll
- copy "cmll.map" as TEXMF/fonts/map/dvips/misc/cmll.map
+ copy "cmll.map" as TEXMF/fonts/map/dvips/cmll/cmll.map
You may have to update TeX's databases by running "texhash" or "mktexlsr"
(this is for Kpathsea-based distributions like teTeX) or a similar command.
@@ -51,4 +71,4 @@ Public License (LPPL).
Enjoy !
-(c) Emmanuel Beffara <manu@beffara.org>, 2003--2006
+(c) Emmanuel Beffara <manu@beffara.org>, 2003--2009
diff --git a/Master/texmf-dist/doc/fonts/cmll/cmll.pdf b/Master/texmf-dist/doc/fonts/cmll/cmll.pdf
new file mode 100644
index 00000000000..8f4c52fe595
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/cmll/cmll.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/cmll/cmll.pdf b/Master/texmf-dist/doc/latex/cmll/cmll.pdf
deleted file mode 100644
index fb8a1b6a3e4..00000000000
--- a/Master/texmf-dist/doc/latex/cmll/cmll.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/fonts/map/dvips/cmll/cmll.map b/Master/texmf-dist/fonts/map/dvips/cmll/cmll.map
index 825707f17d5..b787067809f 100644
--- a/Master/texmf-dist/fonts/map/dvips/cmll/cmll.map
+++ b/Master/texmf-dist/fonts/map/dvips/cmll/cmll.map
@@ -1,16 +1,21 @@
cmllbx10 cmllbx10 <cmllbx10.pfb
+cmllbx12 cmllbx12 <cmllbx12.pfb
cmllbx5 cmllbx5 <cmllbx5.pfb
cmllbx6 cmllbx6 <cmllbx6.pfb
cmllbx7 cmllbx7 <cmllbx7.pfb
cmllbx8 cmllbx8 <cmllbx8.pfb
cmllbx9 cmllbx9 <cmllbx9.pfb
cmllr10 cmllr10 <cmllr10.pfb
+cmllr12 cmllr12 <cmllr12.pfb
+cmllr17 cmllr17 <cmllr17.pfb
cmllr5 cmllr5 <cmllr5.pfb
cmllr6 cmllr6 <cmllr6.pfb
cmllr7 cmllr7 <cmllr7.pfb
cmllr8 cmllr8 <cmllr8.pfb
cmllr9 cmllr9 <cmllr9.pfb
cmllss10 cmllss10 <cmllss10.pfb
+cmllss12 cmllss12 <cmllss12.pfb
+cmllss17 cmllss17 <cmllss17.pfb
cmllss8 cmllss8 <cmllss8.pfb
cmllss9 cmllss9 <cmllss9.pfb
cmllssbx10 cmllssbx10 <cmllssbx10.pfb
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.
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx10.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx10.tfm
index bc899770c56..90fef39b488 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx12.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx12.tfm
new file mode 100644
index 00000000000..c0da292b017
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx5.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx5.tfm
index c351cf09ed7..f9e541dbdcb 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx5.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx6.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx6.tfm
index c0ff15b0ad2..45ba1e7b20f 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx6.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx7.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx7.tfm
index 75a8fd962a9..e3fda6ccad1 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx7.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx8.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx8.tfm
index fba91548ff2..0c56dff74a1 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx8.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx9.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx9.tfm
index 17e21666650..9edd644e602 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx9.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllbx9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr10.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr10.tfm
index 23663e83c37..449d55eaf30 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr12.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr12.tfm
new file mode 100644
index 00000000000..18d23b0b1f7
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr17.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr17.tfm
new file mode 100644
index 00000000000..9dd051a0cf8
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr17.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr5.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr5.tfm
index a55940facda..6a8e9f83a67 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr5.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr6.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr6.tfm
index 3fe493123d7..fdc76d7c433 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr6.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr7.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr7.tfm
index 8ba15ed168c..b2d4135af7b 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr7.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr8.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr8.tfm
index c076d98fc88..8d68c2c5aa6 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr8.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr9.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr9.tfm
index 8c554d3bf62..8ac36406d1b 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllr9.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllr9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllss10.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss10.tfm
index a6ff5a57d95..58c5cbfbf33 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllss10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllss12.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss12.tfm
new file mode 100644
index 00000000000..9d84af0bec9
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllss17.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss17.tfm
new file mode 100644
index 00000000000..5ad183d90de
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss17.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllss8.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss8.tfm
index 1c0f4fcc825..365629df994 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllss8.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllss9.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss9.tfm
index 7915dae9d9d..83f0507e0c6 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllss9.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllss9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/cmllssbx10.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/cmllssbx10.tfm
index 5be2587d218..53406a43efa 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/cmllssbx10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/cmllssbx10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx10.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx10.tfm
index e4444c90676..bd95ea98283 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx5.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx5.tfm
index b8b7e76d419..83c10d10723 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx5.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx6.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx6.tfm
index 64db35cf85a..94062aed92a 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx6.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx7.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx7.tfm
index 1c66fd8ec88..73b33994744 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx7.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx8.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx8.tfm
index 58ffe7810bd..b76479bf650 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx8.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx9.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx9.tfm
index d243a054594..b5fda83277d 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullbx9.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullbx9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullr10.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullr10.tfm
index 33b52201f37..af3d92ec1ee 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullr10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullr10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullr5.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullr5.tfm
index 526cbe7f30a..7b0f759ba43 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullr5.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullr5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullr6.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullr6.tfm
index f0c8f5315c7..6eb35d64540 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullr6.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullr6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullr7.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullr7.tfm
index e50e17cbff9..aa77050be53 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullr7.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullr7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullr8.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullr8.tfm
index 73b53f24803..768e5799304 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullr8.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullr8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/cmll/eullr9.tfm b/Master/texmf-dist/fonts/tfm/public/cmll/eullr9.tfm
index e1e4e460825..2e294dae959 100644
--- a/Master/texmf-dist/fonts/tfm/public/cmll/eullr9.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/cmll/eullr9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx10.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx10.pfb
index 6de84bbc55d..ec26442fb3c 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx10.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx12.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx12.pfb
new file mode 100644
index 00000000000..39eb8687ca4
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx12.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx5.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx5.pfb
index df557e5c866..bda23565e97 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx5.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx5.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx6.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx6.pfb
index 4d8a6fe18d1..7ca2bf22081 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx6.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx6.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx7.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx7.pfb
index 8572b766879..56c2f313e30 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx7.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx7.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx8.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx8.pfb
index d5a273f602b..7c946a03dcb 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx8.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx8.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx9.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx9.pfb
index 97cd1bfb0ec..0ab2a1b7d06 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllbx9.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllbx9.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllr10.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllr10.pfb
index 131478d34ac..1e3ddbe400f 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllr10.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllr10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllr12.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllr12.pfb
new file mode 100644
index 00000000000..9d2226aaf63
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllr12.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllr17.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllr17.pfb
new file mode 100644
index 00000000000..204bda40acf
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllr17.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllr5.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllr5.pfb
index c11c9f6c312..151ca1f6e95 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllr5.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllr5.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllr6.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllr6.pfb
index cef13b1cca6..57c7b6c182d 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllr6.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllr6.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllr7.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllr7.pfb
index 9396c88245d..537a257a596 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllr7.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllr7.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllr8.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllr8.pfb
index 33095fd57ff..4cad708fcb4 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllr8.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllr8.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllr9.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllr9.pfb
index 77f2dd10c84..d5390f2add5 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllr9.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllr9.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllss10.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllss10.pfb
index 2bd3a66a30a..51b5528c977 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllss10.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllss10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllss12.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllss12.pfb
new file mode 100644
index 00000000000..f994bd6f414
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllss12.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllss17.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllss17.pfb
new file mode 100644
index 00000000000..6536ac965a8
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllss17.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllss8.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllss8.pfb
index a5f57ea37d5..fb6483e20cb 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllss8.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllss8.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllss9.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllss9.pfb
index 717cde07546..34b915427b7 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllss9.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllss9.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/cmllssbx10.pfb b/Master/texmf-dist/fonts/type1/public/cmll/cmllssbx10.pfb
index 32a98161d54..518a81a4c2f 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/cmllssbx10.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/cmllssbx10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullbx10.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullbx10.pfb
index f4007e5f140..8243d03b675 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullbx10.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullbx10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullbx5.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullbx5.pfb
index c7d794d9065..cff924aa383 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullbx5.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullbx5.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullbx6.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullbx6.pfb
index d2a7961785f..bdc29fcfebb 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullbx6.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullbx6.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullbx7.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullbx7.pfb
index d7c2880fabf..3f00b09cb9a 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullbx7.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullbx7.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullbx8.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullbx8.pfb
index b3963d47c57..35a90481b63 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullbx8.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullbx8.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullbx9.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullbx9.pfb
index edb2bd7a31b..1413f628d2f 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullbx9.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullbx9.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullr10.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullr10.pfb
index b7d6995bca1..5721ae2fd49 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullr10.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullr10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullr5.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullr5.pfb
index dfe1bf466d7..45de608bdba 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullr5.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullr5.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullr6.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullr6.pfb
index 24d578d8985..5032b9d58a6 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullr6.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullr6.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullr7.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullr7.pfb
index cc3d07fb6f2..b5879ba7b4b 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullr7.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullr7.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullr8.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullr8.pfb
index fb8a72551f3..be82335bec8 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullr8.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullr8.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmll/eullr9.pfb b/Master/texmf-dist/fonts/type1/public/cmll/eullr9.pfb
index add2ea36e3c..0f999cb4cf1 100644
--- a/Master/texmf-dist/fonts/type1/public/cmll/eullr9.pfb
+++ b/Master/texmf-dist/fonts/type1/public/cmll/eullr9.pfb
Binary files differ
diff --git a/Master/texmf-dist/source/latex/cmll/cmll.dtx b/Master/texmf-dist/source/latex/cmll/cmll.dtx
index feb55efab5b..11d254f2acb 100644
--- a/Master/texmf-dist/source/latex/cmll/cmll.dtx
+++ b/Master/texmf-dist/source/latex/cmll/cmll.dtx
@@ -1,6 +1,6 @@
% \title{Linear Logic symbols for Computer Modern}
% \author{Emmanuel Beffara}
-% \date{February 22, 2006}
+% \date{January 23, 2009}
%
% \maketitle
%
@@ -27,6 +27,10 @@
% \end{itemize}
% You may have to update \TeX's databases by running |texhash| or |mktexlsr|
% (this is for Kpathsea-based distributions like te\TeX) or a similar command.
+% You may also have to register the map file for the Type1 fonts using
+% |updmap|, depending on your installation.
+% Linux users using Debian or Ubuntu can avoid all this by using the package
+% at |http://iml.univ-mrs.fr/~beffara/soft/| (updated more often than TexLive).
%
% \subsection{Package loading}
%
@@ -37,30 +41,45 @@
% cm & Computer Modern serif \\
% ss & Computer Modern sans serif \\
% euler & AMS Euler \\
-% auto & automatic selection (default)
+% emu & emulation mode (see section~\ref{selection}) \\
+% auto & automatic selection among the above
+% (default, see section~\ref{selection})
% \end{tabular}
% \end{quote}
-% Automatic selection is done by looking at the loaded packages and the
-% current font settings. Note that this works only when \texttt{cmll} is
-% loaded \emph{after} changing those settings.
%
% \subsection{Symbols}
%
% The \texttt{cmll} font defines a handful of symbols useful in linear logic
% that were not defined in other fonts and packages.
% \begin{symbols}{Unary operators:}
-% \dosymbol\oc \dosymbol\wn
-% \dosymbol\shpos \dosymbol\shneg \dosymbol\shift
+% \dosymbol\oc
+% \dosymbol\wn
+% \dosymbol\shpos
+% \dosymbol\shneg
+% \dosymbol\shift
% \end{symbols}
% \begin{symbols}{Binary operators:}
-% \dosymbol\parr \dosymbol\with
+% \dosymbol\parr
+% \dosymbol\invamp
+% \dosymbol\with
% \end{symbols}
% \begin{symbols}{Large operators:}
-% \dosymbol\bigparr \dosymbol\bigwith
+% \dosymbol\bigparr
+% \dosymbol\biginvamp
+% \dosymbol\bigwith
% \end{symbols}
% \begin{symbols}{Binary relations:}
-% \dosymbol\coh \dosymbol\scoh
-% \dosymbol\incoh \dosymbol\sincoh
+% \dosymbol\coh
+% \dosymbol\scoh
+% \dosymbol\incoh
+% \dosymbol\sincoh
+% \dosymbol\multimapboth
+% \dosymbol\Perp
+% \dosymbol\simperp
+% \end{symbols}
+% \begin{symbols}{Letter-like symbols:}
+% \dosymbol\Bot
+% \dosymbol\simbot
% \end{symbols}
% The symbols $\oc$, $\wn$ and $\with$ are actually characters from the
% standard Computer Modern fonts declared with a new math code to get proper
@@ -70,12 +89,62 @@
% \verb/A = !B/ & $A = !B$ & \verb/A = \oc B/ & $A = \oc B$ \\
% \verb/A = ?B/ & $A = ?B$ & \verb/A = \wn B/ & $A = \wn B$
% \end{tabular}\]
+% The names |\parr| and |\invamp| are synonyms, the names |\bigparr| and
+% |\biginvamp| too. The macros |\biginvampemu| and |\bigwithemu| provide
+% emulations for the |\biginvamp| and |\bigwith| symbols, built using the
+% normal symbols at different sizes (using the |relsize| package). In
+% emulation mode (i.e. with the package option |emu|) the names |\biginvamp|
+% and |\bigwith| are synonyms for them.
+%
+% \subsection{Emulation and automatic selection}
+% \label{selection}
+%
+% If you use a math font family other than Computer Modern or Euler, you may
+% have an ampersand symbol that does not match the reversed ampersand from any
+% variant of CMLL. In this case, the |cmll| package provides a ``poor man''
+% version of the reversed ampersand and large ampersands, built using the
+% standard |\&| symbol.
+% Also provided are the ``big'' variants of |\with| and |\invamp| built using
+% the normal version at a different size (using the |relsize| package).
+% These versions can be used explicitly under the names |\invampemu|,
+% |\bigwithemu| and |\biginvampemu|.
+%
+% In the emulation mode, that is when the package is loaded with the |emu|
+% option, these variants are used instead of the symbols provided by the
+% font.
+% Moreover, in emulation mode, any symbol that already exists is preserved by
+% |cmll|, otherwise all symbols are redefined.
+% This is useful for instance with |txfonts|, which already provides |\invamp|
+% and |\multimapboth|.
+% Note that this feature works only if the package |cmll| is loaded
+% \emph{after} loading any package that might define one of the symbols
+% provided by CMLL.
+%
+% The automatic selection works as follows:
+% \begin{itemize}
+% \item if |euler| is loaded, use the Euler variant,
+% \item if |txfonts| or |pxfonts| is loaded, use the emulation mode,
+% \item if the default font is |cmss|, use the |ss| variant,
+% \item otherwise use the |cm| variant.
+% \end{itemize}
+%
+% \subsection{History}
+%
+% \begin{description}
+% \item [2009-01-23]
+% New symbols: |\multimapboth|, |\Perp|, |\Bot|, |\simperp|, |\simbot|.
+% Synonyms |\invamp| and |\biginvamp| added for compatibility.
+% New package option |emu|.
+% Various fixes and code improvements.
+% \item [2006-02-22]
+% First public release.
+% \end{description}
%
%
% \section{Files}
%
% \subsection{This document}
-%
+%
% \begin{macrocode}
%<*driver>
\documentclass{ltxdoc}
@@ -103,10 +172,15 @@
%<*ucmllr>
\DeclareFontShape{U}{cmllr}{m}{n}{%
<5><6><7><8><9>gen*cmllr%
- <10->cmllr10}{}
+ <10><10.95>cmllr10%
+ <12><14.4>cmllr12%
+ <17.28->cmllr17%
+ }{}
\DeclareFontShape{U}{cmllr}{bx}{n}{%
<5><6><7><8><9>gen*cmllbx%
- <10->cmllbx10}{}
+ <10><10.95>cmllbx10%
+ <12->cmllbx12%
+ }{}
%</ucmllr>
% \end{macrocode}
%
@@ -118,7 +192,10 @@
\DeclareFontShape{U}{cmllss}{m}{n}{%
<-8>cmllss8%
<9>cmllss9%
- <10->cmllss10}{}
+ <10>cmllss10
+ <12><14.4>cmllss12%
+ <17.28->cmllss17%
+ }{}
\DeclareFontShape{U}{cmllss}{bx}{n}{%
<->cmllssbx10}{}
%</ucmllss>
@@ -143,7 +220,16 @@
% \begin{macrocode}
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{cmll}[2006/02/22 Linear Logic symbols for Computer Modern]
+\ProvidesPackage{cmll}[2009/01/23 Linear Logic symbols for Computer Modern]
+% \end{macrocode}
+%
+% With the package option |emu|, symbols already defined are used and
+% |\invamp| (if undefined) is made by rotation using an ampersand. This
+% requires the |graphicx| package.
+%
+% \begin{macrocode}
+\let\cmll@ifemu=\iffalse
+\DeclareOption{emu}{\let\cmll@ifemu=\iftrue}
% \end{macrocode}
%
% The font is declared as a symbol font named \texttt{llsymbols}, in normal
@@ -157,16 +243,23 @@
% \end{macrocode}
%
% The following code is used to detect which family should be used. Euler is
-% detected if its package is loaded, sans-serif is detected by looking at the
-% default font family name.
+% detected if its package is loaded, emulation is activated for txfonts and
+% pxfonts, sans-serif is detected by looking at the default font family name.
% \begin{macrocode}
\RequirePackage{ifthen}
\def\cmll@use@auto{%
\@ifpackageloaded{euler}{%
\def\cmll@style{euler}}{%
- \ifthenelse{\equal{\rmdefault}{cmss}}{%
- \def\cmll@style{ss}}{%
- \def\cmll@style{cm}}}%
+ \@ifpackageloaded{txfonts}{%
+ \let\cmll@ifemu=\iftrue%
+ \def\cmll@style{cm}}{%
+ \@ifpackageloaded{pxfonts}{%
+ \let\cmll@ifemu=\iftrue%
+ \def\cmll@style{cm}}{%
+ \ifthenelse{\equal{\rmdefault}{cmss}}{%
+ \def\cmll@style{ss}}{%
+ \def\cmll@style{cm}}%
+ }}}%
\csname cmll@use@\cmll@style\endcsname}
% \end{macrocode}
%
@@ -203,18 +296,88 @@
\csname cmll@use@\cmll@style\endcsname
% \end{macrocode}
%
+% In some cases it is preferable to emulate the |\invamp| by rotating the
+% ampersand symbol. Here is a robust definition of this rotation:
+% \begin{macrocode}
+\newcommand\invampemu{%
+ \mathbin{\mathchoice%
+ {\rotatebox[origin=c]{180}{$\&$}}%
+ {\rotatebox[origin=c]{180}{$\&$}}%
+ {\rotatebox[origin=c]{180}{$\scriptstyle\&$}}%
+ {\rotatebox[origin=c]{180}{$\scriptscriptstyle\&$}}%
+ }}
+% \end{macrocode}
+% We may also want to emulate the big versions of the ampersand. In this case
+% we change ther text size appropriately for each style, using the |relsize|
+% package. This version is reasonable at normal size and becomes approximative
+% when math is composed in small or large sizes.
+% \begin{macrocode}
+\newcommand\bigwithemu{%
+ \mathop{\mathchoice%
+ {\vcenter{\hbox{\relsize{+4}$\&$}}}%
+ {\vcenter{\hbox{\relsize{+2}$\&$}}}%
+ {\vcenter{\hbox{\relsize{+0.5}$\&$}}}%
+ {\vcenter{\hbox{\relsize{-1}$\&$}}}%
+ }}
+% \end{macrocode}
+% For the large inversed ampersand, we call the |\invamp| macro, which is
+% supposed to be defined (either as a proper character or as an emulation as
+% above). When it is emulated, this makes two nested |\mathchoice|s, which is
+% not very efficient.
+% \begin{macrocode}
+\newcommand\biginvampemu{%
+ \mathop{\mathchoice%
+ {\vcenter{\hbox{\relsize{+4}$\invamp$}}}%
+ {\vcenter{\hbox{\relsize{+2}$\invamp$}}}%
+ {\vcenter{\hbox{\relsize{+0.5}$\invamp$}}}%
+ {\vcenter{\hbox{\relsize{-1}$\invamp$}}}}}
+% \end{macrocode}
+%
+% The actual commands |\invamp|, |\bigwith| and |\biginvamp| can be defined in
+% various ways depending on the setup.
+%
+% \begin{macrocode}
+\cmll@ifemu
+ \@ifundefined{invamp}{%
+ \RequirePackage{graphicx}%
+ \let\invamp=\invampemu
+ }{}%
+ \RequirePackage{relsize}%
+ \let\bigwith=\bigwithemu
+ \let\biginvamp=\biginvampemu
+% \end{macrocode}
+% Already existing symbols are preserved in emulation mode.
+% \begin{macrocode}
+ \def\cmll@declare@symbol#1#2#3#4{%
+ \@ifundefined{#1}{%
+ \expandafter\DeclareMathSymbol%
+ \expandafter{\csname#1\endcsname}{#2}{#3}{#4}}{}}
+\else
+ \def\cmll@declare@symbol#1#2#3#4{%
+ \expandafter\DeclareMathSymbol%
+ \expandafter{\csname#1\endcsname}{#2}{#3}{#4}}
+\fi
+% \end{macrocode}
+%
% The new symbol definitions are the same for all variants.
% \begin{macrocode}
-\DeclareMathSymbol{\parr}{\mathbin}{llsymbols}{0}
-\DeclareMathSymbol{\shpos}{\mathord}{llsymbols}{1}
-\DeclareMathSymbol{\shneg}{\mathord}{llsymbols}{2}
-\DeclareMathSymbol{\shift}{\mathord}{llsymbols}{3}
-\DeclareMathSymbol{\coh}{\mathrel}{llsymbols}{4}
-\DeclareMathSymbol{\scoh}{\mathrel}{llsymbols}{5}
-\DeclareMathSymbol{\incoh}{\mathrel}{llsymbols}{6}
-\DeclareMathSymbol{\sincoh}{\mathrel}{llsymbols}{7}
-\DeclareMathSymbol{\bigwith}{\mathop}{llsymbols}{8}
-\DeclareMathSymbol{\bigparr}{\mathop}{llsymbols}{10}
+\cmll@declare@symbol{invamp}{\mathbin}{llsymbols}{0}
+\let\parr=\invamp
+\cmll@declare@symbol{shpos}{\mathord}{llsymbols}{1}
+\cmll@declare@symbol{shneg}{\mathord}{llsymbols}{2}
+\cmll@declare@symbol{shift}{\mathord}{llsymbols}{3}
+\cmll@declare@symbol{coh}{\mathrel}{llsymbols}{4}
+\cmll@declare@symbol{scoh}{\mathrel}{llsymbols}{5}
+\cmll@declare@symbol{incoh}{\mathrel}{llsymbols}{6}
+\cmll@declare@symbol{sincoh}{\mathrel}{llsymbols}{7}
+\cmll@declare@symbol{bigwith}{\mathop}{llsymbols}{8}
+\cmll@declare@symbol{biginvamp}{\mathop}{llsymbols}{10}
+\let\bigparr=\biginvamp
+\cmll@declare@symbol{multimapboth}{\mathrel}{llsymbols}{12}
+\cmll@declare@symbol{Bot}{\mathord}{llsymbols}{13}
+\cmll@declare@symbol{Perp}{\mathrel}{llsymbols}{13}
+\cmll@declare@symbol{simbot}{\mathord}{llsymbols}{14}
+\cmll@declare@symbol{simperp}{\mathrel}{llsymbols}{14}
%</package>
% \end{macrocode}
%
diff --git a/Master/texmf-dist/tex/latex/cmll/cmll.sty b/Master/texmf-dist/tex/latex/cmll/cmll.sty
index 0dfafc81651..26fcacf180e 100644
--- a/Master/texmf-dist/tex/latex/cmll/cmll.sty
+++ b/Master/texmf-dist/tex/latex/cmll/cmll.sty
@@ -7,7 +7,9 @@
%% cmll.dtx (with options: `package')
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{cmll}[2006/02/22 Linear Logic symbols for Computer Modern]
+\ProvidesPackage{cmll}[2009/01/23 Linear Logic symbols for Computer Modern]
+\let\cmll@ifemu=\iffalse
+\DeclareOption{emu}{\let\cmll@ifemu=\iftrue}
\def\cmll@style{auto}
\DeclareOption*{\edef\cmll@style{\CurrentOption}}
\ProcessOptions\relax
@@ -15,9 +17,16 @@
\def\cmll@use@auto{%
\@ifpackageloaded{euler}{%
\def\cmll@style{euler}}{%
- \ifthenelse{\equal{\rmdefault}{cmss}}{%
- \def\cmll@style{ss}}{%
- \def\cmll@style{cm}}}%
+ \@ifpackageloaded{txfonts}{%
+ \let\cmll@ifemu=\iftrue%
+ \def\cmll@style{cm}}{%
+ \@ifpackageloaded{pxfonts}{%
+ \let\cmll@ifemu=\iftrue%
+ \def\cmll@style{cm}}{%
+ \ifthenelse{\equal{\rmdefault}{cmss}}{%
+ \def\cmll@style{ss}}{%
+ \def\cmll@style{cm}}%
+ }}}%
\csname cmll@use@\cmll@style\endcsname}
\def\cmll@use@cm{%
\DeclareSymbolFont{llsymbols}{U}{cmllr}{m}{n}%
@@ -38,16 +47,60 @@
\DeclareMathSymbol{\oc}{\mathord}{EulerFraktur}{"21}%
\DeclareMathSymbol{\wn}{\mathord}{EulerFraktur}{"3F}}
\csname cmll@use@\cmll@style\endcsname
-\DeclareMathSymbol{\parr}{\mathbin}{llsymbols}{0}
-\DeclareMathSymbol{\shpos}{\mathord}{llsymbols}{1}
-\DeclareMathSymbol{\shneg}{\mathord}{llsymbols}{2}
-\DeclareMathSymbol{\shift}{\mathord}{llsymbols}{3}
-\DeclareMathSymbol{\coh}{\mathrel}{llsymbols}{4}
-\DeclareMathSymbol{\scoh}{\mathrel}{llsymbols}{5}
-\DeclareMathSymbol{\incoh}{\mathrel}{llsymbols}{6}
-\DeclareMathSymbol{\sincoh}{\mathrel}{llsymbols}{7}
-\DeclareMathSymbol{\bigwith}{\mathop}{llsymbols}{8}
-\DeclareMathSymbol{\bigparr}{\mathop}{llsymbols}{10}
+\newcommand\invampemu{%
+ \mathbin{\mathchoice%
+ {\rotatebox[origin=c]{180}{$\&$}}%
+ {\rotatebox[origin=c]{180}{$\&$}}%
+ {\rotatebox[origin=c]{180}{$\scriptstyle\&$}}%
+ {\rotatebox[origin=c]{180}{$\scriptscriptstyle\&$}}%
+ }}
+\newcommand\bigwithemu{%
+ \mathop{\mathchoice%
+ {\vcenter{\hbox{\relsize{+4}$\&$}}}%
+ {\vcenter{\hbox{\relsize{+2}$\&$}}}%
+ {\vcenter{\hbox{\relsize{+0.5}$\&$}}}%
+ {\vcenter{\hbox{\relsize{-1}$\&$}}}%
+ }}
+\newcommand\biginvampemu{%
+ \mathop{\mathchoice%
+ {\vcenter{\hbox{\relsize{+4}$\invamp$}}}%
+ {\vcenter{\hbox{\relsize{+2}$\invamp$}}}%
+ {\vcenter{\hbox{\relsize{+0.5}$\invamp$}}}%
+ {\vcenter{\hbox{\relsize{-1}$\invamp$}}}}}
+\cmll@ifemu
+ \@ifundefined{invamp}{%
+ \RequirePackage{graphicx}%
+ \let\invamp=\invampemu
+ }{}%
+ \RequirePackage{relsize}%
+ \let\bigwith=\bigwithemu
+ \let\biginvamp=\biginvampemu
+ \def\cmll@declare@symbol#1#2#3#4{%
+ \@ifundefined{#1}{%
+ \expandafter\DeclareMathSymbol%
+ \expandafter{\csname#1\endcsname}{#2}{#3}{#4}}{}}
+\else
+ \def\cmll@declare@symbol#1#2#3#4{%
+ \expandafter\DeclareMathSymbol%
+ \expandafter{\csname#1\endcsname}{#2}{#3}{#4}}
+\fi
+\cmll@declare@symbol{invamp}{\mathbin}{llsymbols}{0}
+\let\parr=\invamp
+\cmll@declare@symbol{shpos}{\mathord}{llsymbols}{1}
+\cmll@declare@symbol{shneg}{\mathord}{llsymbols}{2}
+\cmll@declare@symbol{shift}{\mathord}{llsymbols}{3}
+\cmll@declare@symbol{coh}{\mathrel}{llsymbols}{4}
+\cmll@declare@symbol{scoh}{\mathrel}{llsymbols}{5}
+\cmll@declare@symbol{incoh}{\mathrel}{llsymbols}{6}
+\cmll@declare@symbol{sincoh}{\mathrel}{llsymbols}{7}
+\cmll@declare@symbol{bigwith}{\mathop}{llsymbols}{8}
+\cmll@declare@symbol{biginvamp}{\mathop}{llsymbols}{10}
+\let\bigparr=\biginvamp
+\cmll@declare@symbol{multimapboth}{\mathrel}{llsymbols}{12}
+\cmll@declare@symbol{Bot}{\mathord}{llsymbols}{13}
+\cmll@declare@symbol{Perp}{\mathrel}{llsymbols}{13}
+\cmll@declare@symbol{simbot}{\mathord}{llsymbols}{14}
+\cmll@declare@symbol{simperp}{\mathrel}{llsymbols}{14}
\endinput
%%
%% End of file `cmll.sty'.
diff --git a/Master/texmf-dist/tex/latex/cmll/ucmllr.fd b/Master/texmf-dist/tex/latex/cmll/ucmllr.fd
index ea51225ef1c..2806f50681e 100644
--- a/Master/texmf-dist/tex/latex/cmll/ucmllr.fd
+++ b/Master/texmf-dist/tex/latex/cmll/ucmllr.fd
@@ -8,10 +8,15 @@
%%
\DeclareFontShape{U}{cmllr}{m}{n}{%
<5><6><7><8><9>gen*cmllr%
- <10->cmllr10}{}
+ <10><10.95>cmllr10%
+ <12><14.4>cmllr12%
+ <17.28->cmllr17%
+ }{}
\DeclareFontShape{U}{cmllr}{bx}{n}{%
<5><6><7><8><9>gen*cmllbx%
- <10->cmllbx10}{}
+ <10><10.95>cmllbx10%
+ <12->cmllbx12%
+ }{}
\endinput
%%
%% End of file `ucmllr.fd'.
diff --git a/Master/texmf-dist/tex/latex/cmll/ucmllss.fd b/Master/texmf-dist/tex/latex/cmll/ucmllss.fd
index 52335e02a6b..7a050112da3 100644
--- a/Master/texmf-dist/tex/latex/cmll/ucmllss.fd
+++ b/Master/texmf-dist/tex/latex/cmll/ucmllss.fd
@@ -9,7 +9,10 @@
\DeclareFontShape{U}{cmllss}{m}{n}{%
<-8>cmllss8%
<9>cmllss9%
- <10->cmllss10}{}
+ <10>cmllss10
+ <12><14.4>cmllss12%
+ <17.28->cmllss17%
+ }{}
\DeclareFontShape{U}{cmllss}{bx}{n}{%
<->cmllssbx10}{}
\endinput