summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/fonts/cmupint/README.md14
-rw-r--r--Master/texmf-dist/doc/fonts/cmupint/cmupint.pdfbin0 -> 294992 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/cmupint/cmupint.tex100
-rw-r--r--Master/texmf-dist/fonts/afm/public/cmupint/cmupint.afm78
-rw-r--r--Master/texmf-dist/fonts/map/dvips/cmupint/cmupint.map1
-rw-r--r--Master/texmf-dist/fonts/source/public/cmupint/cmupint.mf103
-rw-r--r--Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf906
-rw-r--r--Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf1036
-rw-r--r--Master/texmf-dist/fonts/tfm/public/cmupint/cmupint.tfmbin0 -> 404 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/cmupint/cmupint.pfbbin0 -> 29243 bytes
-rw-r--r--Master/texmf-dist/tex/latex/cmupint/cmupint.sty75
-rw-r--r--Master/texmf-dist/tex/latex/cmupint/ucmupint.fd4
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/cmupint.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc1
16 files changed, 2321 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/fonts/cmupint/README.md b/Master/texmf-dist/doc/fonts/cmupint/README.md
new file mode 100644
index 00000000000..7ad2b496dd9
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/cmupint/README.md
@@ -0,0 +1,14 @@
+The cmupint package
+version 1.0 (January 21, 2020)
+Uroš Stefanović
+
+This material is subject to The LaTeX Project Public License.
+
+The cmupint package contains various upright integral symbols
+to match Computer Modern font (default LaTeX font).
+
+This package is very simple to use: just put
+ \usepackage{cmupint}
+in preamble of the document.
+
+Happy TeXing!
diff --git a/Master/texmf-dist/doc/fonts/cmupint/cmupint.pdf b/Master/texmf-dist/doc/fonts/cmupint/cmupint.pdf
new file mode 100644
index 00000000000..44bdce03b83
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/cmupint/cmupint.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/cmupint/cmupint.tex b/Master/texmf-dist/doc/fonts/cmupint/cmupint.tex
new file mode 100644
index 00000000000..a3bd5f4b549
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/cmupint/cmupint.tex
@@ -0,0 +1,100 @@
+\documentclass{article}
+\usepackage{amsmath}
+\usepackage[displaylimits]{cmupint}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage[a4paper,top=2.0cm,left=3cm,right=2.5cm,bottom=2cm,includefoot,includehead]{geometry}
+\input glyphtounicode.tex
+\pdfgentounicode=1
+\usepackage{fancyvrb}
+\usepackage{tabularx}
+
+\title{The \texttt{cmupint} package}
+\author{Uroš Stefanović\footnote{\texttt{urostajms@gmail.com}}}
+\date{\today{} v1.0}
+
+\newcommand\tbview[1]{ \verb"#1" & $\textstyle #1$ & $\displaystyle #1$ }
+
+\begin{document}
+\maketitle
+
+\section{Why \textsf{cmupint}?}
+
+The shape of integral symbol in some languages differs slightly from the shape commonly seen in English-language textbooks.
+While the English integral symbol leans to the right, the integral symbol used throughout Central Europe (such as in German or Serbian language) is upright.
+
+Another difference is in the placement of limits for definite integrals. Generally, in English-language books, limits go to the right of the integral symbol, while in Central European languages the limits are placed above and below the integral symbol.
+
+\[ \intop\nolimits^U_L x\,\mathrm{d}x\quad \text{(English language)} \]
+\[ \int\limits^U_L x\,\mathrm{d}x\quad \text{(Central European languages)} \]
+
+The \textsf{cmupint} package contains various upright integral symbols to match Computer Modern font (default \LaTeX{} font).
+
+\section{Usage}
+
+This package is very simple to use: just put
+\begin{verbatim}
+\usepackage{cmupint}
+\end{verbatim}
+in preamble of the document.
+
+\section{Options}
+
+The available options are \texttt{displaylimits} (default option), \texttt{limits} and \texttt{nolimits} (see Table~\ref{tabl1}).
+
+\begin{table}[h!]
+ \newcolumntype{C}{>{\centering\arraybackslash}X}%
+ \setlength{\extrarowheight}{10pt}
+ \centering
+ \begin{tabularx}{.7\textwidth}{|C|C|C|}
+ \hline
+ Option & Text style & Display style \\
+ \hline
+ \hline
+ \texttt{displaylimits} & $\textstyle\int\displaylimits^U_L x\,\mathrm{d}x$ & $\displaystyle \int\displaylimits^U_L x\,\mathrm{d}x$ \\
+ \hline
+ \texttt{limits} & $\textstyle\int\limits^U_L x\,\mathrm{d}x$ & $\displaystyle \int\limits^U_L x\,\mathrm{d}x$ \\
+ \hline
+ \texttt{nolimits} & $\textstyle\int\nolimits^U_L x\,\mathrm{d}x$ & $\displaystyle \int\nolimits^U_L x\,\mathrm{d}x$ \\
+ \hline
+ \end{tabularx}
+\caption{Package options.}\label{tabl1}
+\end{table}
+
+\section{Integral symbols}
+
+For the avaible integral symbols see Table~\ref{tabl2}.
+
+\begin{table}[h!]
+ \newcolumntype{C}{>{\centering\arraybackslash\hsize=.1\hsize}X}%
+ \newcolumntype{S}{>{\centering\hsize=.3\hsize}X}
+ \setlength{\extrarowheight}{10pt}
+ \centering
+ \begin{tabularx}{\textwidth}{|SCC|SCC|}
+ \hline
+ Command & Text style & Display style & Command & Text style & Display style \\
+ \hline\hline
+ \tbview{\int} & \tbview{\iint} \\
+ \tbview{\iiint} & \tbview{\iiiint} \\
+ \tbview{\oint} & \tbview{\oiint} \\
+ \tbview{\oiiint} & \tbview{\ointctrclockwise} \\
+ \tbview{\ointclockwise} & \tbview{\varointclockwise} \\
+ \tbview{\varointctrclockwise} & \tbview{\sqint} \\
+ \tbview{\sqiint} & \tbview{\pointint} \\
+ \tbview{\npolint} & \tbview{\scpolint} \\
+ \tbview{\rppolint} & \tbview{\cirfnint} \\
+ \tbview{\intclockwise} & \tbview{\awint} \\
+ \tbview{\fint} & \tbview{\barint} \\
+ \tbview{\doublebarint} & \tbview{\xint} \\
+ \tbview{\landupint} & \tbview{\landdownint} \\
+ \tbview{\intlarhk} & \tbview{\upint} \\
+ \tbview{\downint} & \tbview{\varidotsint} \\
+ \verb"\idotsint"\footnotemark[1] & $\textstyle \idotsint$ & $\displaystyle \idotsint$ & \verb"\idotsint"\footnotemark[2] & $\textstyle \varidotsint$ & $\displaystyle \varidotsint$ \\
+ \hline
+ \end{tabularx}
+ \caption{Integral symbols.}\label{tabl2}
+\end{table}
+\footnotetext[1]{If package \texttt{amsmath} is loaded.}
+\footnotetext[2]{If package \texttt{amsmath} is not loaded.}
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/fonts/afm/public/cmupint/cmupint.afm b/Master/texmf-dist/fonts/afm/public/cmupint/cmupint.afm
new file mode 100644
index 00000000000..4b23ff0e0a1
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/cmupint/cmupint.afm
@@ -0,0 +1,78 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20190801
+Comment Creation Date: Sun Jan 19 14:14:18 2020
+FontName cmupint
+FullName cmupint
+FamilyName cmupint
+Weight Medium
+Notice (Copyright (c) 2020, Uros)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -28 -2286 1639 64
+StartCharMetrics 60
+C 0 ; WX 444 ; N integral ; B 56 -1112 501 1 ;
+C 1 ; WX 500 ; N integral.d ; B 55 -2222 556 1 ;
+C 2 ; WX 777 ; N uni222C ; B 56 -1112 834 1 ;
+C 3 ; WX 861 ; N uni222C.d ; B 55 -2222 917 1 ;
+C 4 ; WX 1111 ; N uni222D ; B 56 -1112 1167 1 ;
+C 5 ; WX 1222 ; N uni222D.d ; B 55 -2222 1278 1 ;
+C 6 ; WX 1444 ; N uni2A0C ; B 56 -1112 1501 1 ;
+C 7 ; WX 1583 ; N uni2A0C.d ; B 55 -2222 1639 1 ;
+C 8 ; WX 444 ; N uni222E ; B 56 -1112 501 1 ;
+C 9 ; WX 500 ; N uni222E.d ; B 55 -2222 556 1 ;
+C 10 ; WX 777 ; N uni222F ; B 56 -1112 833 1 ;
+C 11 ; WX 861 ; N uni222F.d ; B 55 -2222 917 1 ;
+C 12 ; WX 1111 ; N uni2230 ; B 56 -1112 1167 1 ;
+C 13 ; WX 1222 ; N uni2230.d ; B 55 -2222 1278 1 ;
+C 14 ; WX 444 ; N uni2233 ; B 56 -1112 569 1 ;
+C 15 ; WX 500 ; N uni2233.d ; B 55 -2222 633 1 ;
+C 16 ; WX 444 ; N uni2232.var ; B -14 -1112 501 1 ;
+C 17 ; WX 500 ; N uni2232.vard ; B -8 -2222 556 1 ;
+C 18 ; WX 444 ; N uni2232 ; B 56 -1112 569 1 ;
+C 19 ; WX 500 ; N uni2232.d ; B 55 -2222 633 1 ;
+C 20 ; WX 444 ; N uni2233.var ; B -14 -1112 501 1 ;
+C 21 ; WX 500 ; N uni2233.vard ; B -8 -2222 556 1 ;
+C 22 ; WX 500 ; N uni2A16 ; B 56 -1112 501 1 ;
+C 23 ; WX 500 ; N uni2A16.d ; B 55 -2222 556 1 ;
+C 24 ; WX 833 ; N uni2A16.var ; B 44 -1112 844 1 ;
+C 25 ; WX 861 ; N uni2A16.vard ; B 55 -2222 922 1 ;
+C 26 ; WX 444 ; N uni2A15 ; B 56 -1112 501 1 ;
+C 27 ; WX 500 ; N uni2A15.d ; B 55 -2222 556 1 ;
+C 28 ; WX 533 ; N uni2A14 ; B 56 -1112 603 1 ;
+C 29 ; WX 555 ; N uni2A14.d ; B 55 -2222 720 1 ;
+C 30 ; WX 444 ; N uni2A13 ; B 56 -1112 501 1 ;
+C 31 ; WX 555 ; N uni2A13.d ; B 55 -2222 568 1 ;
+C 32 ; WX 500 ; N uni2A12 ; B 56 -1112 501 1 ;
+C 33 ; WX 555 ; N uni2A12.d ; B 55 -2222 567 1 ;
+C 34 ; WX 444 ; N uni2A10 ; B 56 -1112 501 1 ;
+C 35 ; WX 500 ; N uni2A10.d ; B 55 -2222 556 1 ;
+C 36 ; WX 444 ; N uni2231 ; B 56 -1112 570 1 ;
+C 37 ; WX 500 ; N uni2231.d ; B 55 -2222 633 1 ;
+C 38 ; WX 444 ; N uni2A11 ; B 56 -1112 569 1 ;
+C 39 ; WX 500 ; N uni2A11.d ; B 55 -2222 633 1 ;
+C 40 ; WX 444 ; N uni2A0F ; B 56 -1112 501 1 ;
+C 41 ; WX 500 ; N uni2A0F.d ; B 55 -2222 556 1 ;
+C 42 ; WX 444 ; N uni2A0D ; B 56 -1112 501 1 ;
+C 43 ; WX 500 ; N uni2A0D.d ; B 55 -2222 556 1 ;
+C 44 ; WX 444 ; N uni2A0E ; B 56 -1112 501 1 ;
+C 45 ; WX 500 ; N uni2A0E.d ; B 55 -2222 556 1 ;
+C 46 ; WX 444 ; N uni2A18 ; B 56 -1112 501 1 ;
+C 47 ; WX 500 ; N uni2A18.d ; B 55 -2222 556 1 ;
+C 48 ; WX 444 ; N integral.landup ; B 35 -1112 522 1 ;
+C 49 ; WX 500 ; N integral.landupd ; B 55 -2222 569 1 ;
+C 50 ; WX 444 ; N integral.landdown ; B 35 -1112 522 1 ;
+C 51 ; WX 500 ; N integral.landdownd ; B 55 -2222 569 1 ;
+C 52 ; WX 488 ; N uni2A17 ; B -28 -1112 518 1 ;
+C 53 ; WX 500 ; N uni2A17.d ; B -28 -2222 574 1 ;
+C 54 ; WX 444 ; N uni2A1B ; B 48 -1112 508 64 ;
+C 55 ; WX 500 ; N uni2A1B.d ; B 48 -2222 564 64 ;
+C 56 ; WX 555 ; N uni2A1C ; B 47 -1175 508 1 ;
+C 57 ; WX 611 ; N uni2A1C.d ; B 47 -2286 564 1 ;
+C 58 ; WX 1444 ; N uni222C.dots ; B 56 -1112 1501 1 ;
+C 59 ; WX 1583 ; N uni222C.dotsd ; B 55 -2222 1639 1 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/map/dvips/cmupint/cmupint.map b/Master/texmf-dist/fonts/map/dvips/cmupint/cmupint.map
new file mode 100644
index 00000000000..767d0d95271
--- /dev/null
+++ b/Master/texmf-dist/fonts/map/dvips/cmupint/cmupint.map
@@ -0,0 +1 @@
+cmupint cmupint <cmupint.pfb
diff --git a/Master/texmf-dist/fonts/source/public/cmupint/cmupint.mf b/Master/texmf-dist/fonts/source/public/cmupint/cmupint.mf
new file mode 100644
index 00000000000..83c4f8fddc8
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmupint/cmupint.mf
@@ -0,0 +1,103 @@
+
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMUPINT"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+tdec#:=6u#; % space between integrals signs (textstyle)
+ddec#:=6.5u#; % space between integrals signs (displaystyle)
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+mode_setup; font_setup;
+
+define_pixels(tdec,ddec);
+
+% the following font parameters are explained in {\sl The \TeX book}, Appendix G
+fontdimen 8: % parameters $\xi_8$ through $\xi_{13}$ will now be listed
+ rule_thickness#, % default\_rule\_thickness
+ 40/36pt#, % big\_op\_spacing1
+ 60/36pt#, % big\_op\_spacing2
+ 72/36pt#, % big\_op\_spacing3
+ 216/36pt#, % big\_op\_spacing4
+ 36/36pt#; % big\_op\_spacing5
+
+input upintsym; % symbols
+input upintsymd; % symbols
+
+
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#; fi
+bye.
diff --git a/Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf b/Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf
new file mode 100644
index 00000000000..3a6ef0ae9df
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf
@@ -0,0 +1,906 @@
+
+cmchar "\textstyle up integral sign";
+beginchar(0,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle double up integral sign";
+beginchar(2,10u#+tdec#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=tdec;y0=0;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos11(curve,0); pos12(hair,0); pos13(vair,90);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+rt x1r=hround(w-u-tdec); x9=w-tdec-x1; x7=w-tdec-x3=3u;
+x19=x9+tdec;x17=x7+tdec;
+y19=y9;y18=y8;y17=y7;
+x11=x1+tdec;x13=x3+tdec;
+y11=y1;y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-.5tdec-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\textstyle triple up integral sign";
+beginchar(4,10u#+2tdec#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=tdec;y0=0;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos11(curve,0); pos12(hair,0); pos13(vair,90);
+pos21(curve,0); pos22(hair,0); pos23(vair,90);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+pos27(vair,-90); pos28(hair,-180); pos29(curve,-180);
+rt x1r=hround(w-2tdec-u); x9=w-2tdec-x1; x7=w-2tdec-x3=3u;
+x19=x9+tdec;x17=x7+tdec;
+x29=x19+tdec;x27=x17+tdec;
+y29=y19=y9;y28=y18=y8;y27=y17=y7;
+x11=x1+tdec;x13=x3+tdec;
+x21=x11+tdec;x23=x13+tdec;
+y21=y11=y1;y23=y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-tdec-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+bulb(23,22,21); bulb(27,28,29);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+filldraw haut shifted 2z0;
+filldraw bas shifted 2z0;
+penlabels(range 1 thru 29); endchar;
+
+cmchar "\textstyle fourth up integral sign";
+beginchar(6,10u#+3tdec#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=tdec;y0=0;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos11(curve,0); pos12(hair,0); pos13(vair,90);
+pos21(curve,0); pos22(hair,0); pos23(vair,90);
+pos31(curve,0); pos32(hair,0); pos33(vair,90);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+pos27(vair,-90); pos28(hair,-180); pos29(curve,-180);
+pos37(vair,-90); pos38(hair,-180); pos39(curve,-180);
+rt x1r=hround(w-3tdec-u); x9=w-3tdec-x1; x7=w-3tdec-x3=3u;
+x19=x9+tdec;x17=x7+tdec;
+x29=x19+tdec;x27=x17+tdec;
+x39=x29+tdec;x37=x27+tdec;
+y39=y29=y19=y9;y38=y28=y18=y8;y37=y27=y17=y7;
+x11=x1+tdec;x13=x3+tdec;
+x21=x11+tdec;x23=x13+tdec;
+x31=x21+tdec;x33=x23+tdec;
+y31=y21=y11=y1;y33=y23=y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-1.5tdec-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+bulb(23,22,21); bulb(27,28,29);
+bulb(33,32,31); bulb(37,38,39);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+filldraw haut shifted 2z0;
+filldraw bas shifted 2z0;
+filldraw haut shifted 3z0;
+filldraw bas shifted 3z0;
+penlabels(range 1 thru 39); endchar;
+
+cmchar "\textstyle contour up integral sign";
+beginchar(8,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle contour double up integral sign";
+beginchar(10,10u#+tdec#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=tdec;y0=0;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos11(curve,0); pos12(hair,0); pos13(vair,90);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+rt x1r=hround(w-u-tdec); x9=w-tdec-x1; x7=w-tdec-x3=3u;
+x19=x9+tdec;x17=x7+tdec;
+y19=y9;y18=y8;y17=y7;
+x11=x1+tdec;x13=x3+tdec;
+y11=y1;y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-.5tdec-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+pickup rule.nib; autorounded;
+z50=z5+.5z0;
+draw fullcircle xscaled .75w yscaled .5w shifted z50; % contour
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\textstyle contour triple up integral sign";
+beginchar(12,10u#+2tdec#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=tdec;y0=0;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos11(curve,0); pos12(hair,0); pos13(vair,90);
+pos21(curve,0); pos22(hair,0); pos23(vair,90);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+pos27(vair,-90); pos28(hair,-180); pos29(curve,-180);
+rt x1r=hround(w-2tdec-u); x9=w-2tdec-x1; x7=w-2tdec-x3=3u;
+x19=x9+tdec;x17=x7+tdec;
+x29=x19+tdec;x27=x17+tdec;
+y29=y19=y9;y28=y18=y8;y27=y17=y7;
+x11=x1+tdec;x13=x3+tdec;
+x21=x11+tdec;x23=x13+tdec;
+y21=y11=y1;y23=y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-tdec-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+bulb(23,22,21); bulb(27,28,29);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+filldraw haut shifted 2z0;
+filldraw bas shifted 2z0;
+pickup rule.nib; autorounded;
+z50=z5+z0;
+draw fullcircle xscaled .8w yscaled .35w shifted z50; % contour
+penlabels(range 1 thru 29); endchar;
+
+cmchar "\textstyle right arrow up contour up integral sign";
+beginchar(14,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+pos51(1.35rule_thickness,90);pos52(1.2vair,135);pos53(1.2vair,45);
+x0=.345w;y0=.05w;
+z51=z5+z0;
+y52=y53=y51-.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle left arrow up contour up integral sign";
+beginchar(16,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+x0=-.345w;y0=.05w;
+z51=z5+z0;
+pos51(1.35rule_thickness,90);pos52(1.2vair,135);pos53(1.2vair,45);
+y52=y53=y51-.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle right arrow down contour up integral sign";
+beginchar(18,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+x0=.345w;y0=-.05w;
+z51=z5+z0;
+pos51(1.35rule_thickness,-90);pos52(1.2vair,135);pos53(1.2vair,45);
+y52=y53=y51+.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle left arrow down contour up integral sign";
+beginchar(20,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+x0=-.345w;y0=-.05w;
+z51=z5+z0;
+pos51(1.35rule_thickness,-90);pos52(1.2vair,135);pos53(1.2vair,45);
+y52=y53=y51+.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle square up integral sign";
+beginchar(22,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-.5ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+x51=x52=x5+.35w;
+x53=x54=x5-.35w;
+y51=y54=y5+.35w;
+y52=y53=y5-.35w;
+draw z51--z52--z53--z54--cycle;
+penlabels(51,52,53,54);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle double square up integral sign";
+beginchar(24,10u#+tdec#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-.5ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=tdec;y0=0;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos11(curve,0); pos12(hair,0); pos13(vair,90);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+rt x1r=hround(w-u-tdec); x9=w-tdec-x1; x7=w-tdec-x3=3u;
+x19=x9+tdec;x17=x7+tdec;
+y19=y9;y18=y8;y17=y7;
+x11=x1+tdec;x13=x3+tdec;
+y11=y1;y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-.5tdec-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+pickup rule.nib; autorounded;
+z50=z5+.5z0; % au milieu
+x51=x54=x50-.55tdec-.35(w-tdec);
+x52=x53=x50+.55tdec+.35(w-tdec);
+y51=y52=y50+.35(w-tdec);
+y53=y54=y50-.35(w-tdec);
+draw z51--z52--z53--z54--cycle;
+penlabels(51,52,53,54);
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\textstyle contour dot up integral sign";
+beginchar(26,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+cullit;
+pickup rule.nib; autorounded;
+unfill fullcircle scaled .7w shifted z5; % hole
+cullit;
+draw fullcircle scaled .7w shifted z5; % contour
+fill fullcircle scaled(1.3dot_size+eps) shifted z5; % dot
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle right contour dot up integral sign";
+beginchar(28,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-.2ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+x61=x63=x5; y61=y62=y5-.45w; y63=y64=y5+.45w;
+x62=x64=1.3w;
+x0=w-.3w;y0=y5;
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+fill z61--z62--z64--z63--cycle;
+cullit;
+picture tempp;
+tempp = currentpicture;
+currentpicture:=nullpicture;
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+cullit;
+pickup rule.nib; autorounded;
+cull tempp keeping (1,infinity) withweight 3;
+addto tempp doublepath fullcircle scaled .7w shifted z0 withpen currentpen; % contour
+cull tempp dropping (-infinity,3);
+unfill fullcircle scaled .7w shifted z0; % hole
+cullit;
+fill fullcircle scaled(1.3dot_size+eps) shifted z0; % dot
+currentpicture:=currentpicture+tempp;
+penlabels(range 0 thru 9); endchar;
+
+cmchar "\textstyle half contour dot up integral sign";
+beginchar(30,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+x61=x63=x5; y61=y62=y5-.45w; y63=y64=y5+.45w;
+x62=x64=w;
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+fill z61--z62--z64--z63--cycle;
+cullit;
+picture tempp;
+tempp = currentpicture;
+currentpicture:=nullpicture;
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+cullit;
+pickup rule.nib; autorounded;
+cull tempp keeping (1,infinity) withweight 3;
+addto tempp doublepath fullcircle scaled .7w shifted z5 withpen currentpen; % contour
+cull tempp dropping (-infinity,3);
+unfill fullcircle scaled .7w shifted z5; % hole
+cullit;
+fill fullcircle scaled(1.3dot_size+eps) shifted z5; % dot
+currentpicture:=currentpicture+tempp;
+penlabels(range 0 thru 9); endchar;
+
+cmchar "\textstyle half square dot up integral sign";
+beginchar(32,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-.5ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+x61=x63=x5; y61=y62=y5-.5w; y63=y64=y5+.5w;
+x62=x64=w;
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+fill z61--z62--z64--z63--cycle;
+cullit;
+picture tempp;
+tempp = currentpicture;
+currentpicture:=nullpicture;
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+cullit;
+pickup rule.nib; autorounded;
+x51=x52=x5+.35w;
+x53=x54=x5-.35w;
+y51=y54=y5+.35w;
+y52=y53=y5-.35w;
+cull tempp keeping (1,infinity) withweight 3;
+addto tempp doublepath z51--z52--z53--z54--cycle withpen currentpen; % square
+cull tempp dropping (-infinity,3);
+unfill z51--z52--z53--z54--cycle; % hole
+cullit;
+fill fullcircle scaled(1.3dot_size+eps) shifted z5; % dot
+currentpicture:=currentpicture+tempp;
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle circulation up integral sign";
+beginchar(34,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw halfcircle scaled .7w rotated 30 shifted z5; % contour
+draw halfcircle scaled .7w rotated 120 shifted z5; % contour
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle right arrow down half contour up integral sign";
+beginchar(36,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+x99=x5; y99=y5-.1w;
+pickup rule.nib; autorounded;
+draw halfcircle scaled .7w shifted z99; % contour
+x0=.345w;y0=-.05w;
+z51=z99+z0;
+pos51(1.35rule_thickness,-90);pos52(1.2vair,135);pos53(1.2vair,45);
+y52=y53=y51+.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle right arrow up half contour up integral sign";
+beginchar(38,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+x99=x5; y99=y5+.1w;
+pickup rule.nib; autorounded;
+draw halfcircle scaled .7w rotated 180 shifted z99; % contour
+pos51(1.35rule_thickness,90);pos52(1.2vair,135);pos53(1.2vair,45);
+x0=.345w;y0=.05w;
+z51=z99+z0;
+y52=y53=y51-.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\textstyle functional up integral sign";
+beginchar(40,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y5;
+x10=x9l;x5=.5[x10,x11];
+y11-y10=.102(y3-y7);
+draw z10..z11;
+penlabels(range 1 thru 11); endchar;
+
+cmchar "\textstyle bar up integral sign";
+beginchar(42,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y11=y5;
+x10=x9l;x5=.5[x10,x11];
+draw z10..z11;
+penlabels(range 1 thru 11); endchar;
+
+cmchar "\textstyle double bar up integral sign";
+beginchar(44,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y11=y5+u;
+y12=y13=y5-u;
+x10=x12=x9l;x5=.5[x10,x11]; x13=x11;
+draw z10..z11;
+draw z12..z13;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\textstyle x up integral sign";
+beginchar(46,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+x10=x12=x9l;x5=.5[x10,x11]; x13=x11;
+y10-y5=y5-y12;
+y12-y10=x11-x10;
+y10=y11;
+y12=y13;
+draw z10..z13;
+draw z12..z11;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\textstyle landup up integral sign";
+beginchar(48,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw halfcircle scaled .5w shifted z5; % contour
+y10=y11=y12=y13=y5;
+x11+.25w=x12-.25w=x5;
+x10+1.5u=x11;
+x13-1.5u=x12;
+draw z10--z11;
+draw z12--z13;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\textstyle landdown up integral sign";
+beginchar(50,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw halfcircle scaled .5w rotated 180 shifted z5; % contour
+y10=y11=y12=y13=y5;
+x11+.25w=x12-.25w=x5;
+x10+1.5u=x11;
+x13-1.5u=x12;
+draw z10--z11;
+draw z12--z13;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\textstyle larhk up integral sign";
+beginchar(52,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-.6ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+x51=0; y51=y5;
+pos51(1.35rule_thickness,0);pos52(1.2vair,45);pos53(1.2vair,135);
+y52=y51+.165w;
+y53=y51-.165w;
+x52=x51+.16w;
+x53=x51+.16w;
+x54=w-2u; y54=y5;
+x55=w-u; y55=y5-u;
+x56=x54; y56=y55-u;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+pickup rule.nib; autorounded;
+draw z51--z54{right}..{down}z55{down}..{left}z56;
+penlabels(range 1 thru 56); endchar;
+
+cmchar "\textstyle up up integral sign";
+beginchar(54,10u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y11=y3+u;
+x10=x8; x11=x2;
+draw z10..z11;
+penlabels(range 1 thru 11); endchar;
+
+cmchar "\textstyle down up integral sign";
+beginchar(56,10u#,0,100/54dh#);
+italcorr 0; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y11=y7-u;
+x10=x8; x11=x2;
+draw z10..z11;
+penlabels(range 1 thru 11); endchar;
+
+cmchar "\textstyle dots up integral sign";
+beginchar(58,10u#+3tdec#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+path rond;
+x0=tdec;y0=0;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(curve,180);
+pos31(curve,0); pos32(hair,0); pos33(vair,90);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(curve,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+pos37(vair,-90); pos38(hair,-180); pos39(curve,-180);
+rt x1r=hround(w-3tdec-u); x9=w-3tdec-x1; x7=w-3tdec-x3=3u;
+x39=x9+3tdec;x37=x7+3tdec;
+y39=y9;y38=y8;y37=y7;
+x31=x1+3tdec;x33=x3+3tdec;
+y31=y1;y33=y3;
+x5=x4=x6; lft x5r=hround(.5w-1.5tdec-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(33,32,31); bulb(37,38,39);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted 3z0;
+filldraw bas shifted 3z0;
+pickup fine.nib;
+numeric dot_diam#; dot_diam#=dot_size#;
+define_whole_blacker_pixels(dot_diam);
+pos51(dot_diam,0);pos52(dot_diam,90);
+lft x51l=hround(.5w-.5dot_diam);
+y52=y5;
+z51=z52;
+rond:=z51l..z52l..z51r..z52r..cycle;
+filldraw rond shifted -.75z0;
+filldraw rond;
+filldraw rond shifted .75z0;
+penlabels(range 1 thru 39); endchar;
+
diff --git a/Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf b/Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf
new file mode 100644
index 00000000000..78bd1df28f8
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf
@@ -0,0 +1,1036 @@
+
+cmchar "\displaystyle up integral sign";
+beginchar(1,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle double up integral sign";
+beginchar(3,11u#+ddec#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=ddec;y0=0;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+rt x1r=hround(w-ddec-u); x9=w-ddec-x1; x7=w-ddec-x3=3u;
+x19=x9+ddec;x17=x7+ddec;
+y19=y9;y18=y8;y17=y7;
+x11=x1+ddec;x13=x3+ddec;
+y11=y1;y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-.5ddec-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\displaystyle triple up integral sign";
+beginchar(5,11u#+2ddec#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=ddec;y0=0;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90);
+pos21(bulb_size,0); pos22(hair,0); pos23(vair,90);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+pos27(vair,-90); pos28(hair,-180); pos29(bulb_size,-180);
+rt x1r=hround(w-2ddec-u); x9=w-2ddec-x1; x7=w-2ddec-x3=3u;
+x19=x9+ddec;x17=x7+ddec;
+x29=x19+ddec;x27=x17+ddec;
+y29=y19=y9;y28=y18=y8;y27=y17=y7;
+x11=x1+ddec;x13=x3+ddec;
+x21=x11+ddec;x23=x13+ddec;
+y21=y11=y1;y23=y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-ddec-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+bulb(23,22,21); bulb(27,28,29);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+filldraw haut shifted 2z0;
+filldraw bas shifted 2z0;
+penlabels(range 1 thru 29); endchar;
+
+cmchar "\displaystyle fourth up integral sign";
+beginchar(7,11u#+3ddec#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=ddec;y0=0;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90);
+pos21(bulb_size,0); pos22(hair,0); pos23(vair,90);
+pos31(bulb_size,0); pos32(hair,0); pos33(vair,90);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+pos27(vair,-90); pos28(hair,-180); pos29(bulb_size,-180);
+pos37(vair,-90); pos38(hair,-180); pos39(bulb_size,-180);
+rt x1r=hround(w-3ddec-u); x9=w-3ddec-x1; x7=w-3ddec-x3=3u;
+x19=x9+ddec;x17=x7+ddec;
+x29=x19+ddec;x27=x17+ddec;
+x39=x29+ddec;x37=x27+ddec;
+y39=y29=y19=y9;y38=y28=y18=y8;y37=y27=y17=y7;
+x11=x1+ddec;x13=x3+ddec;
+x21=x11+ddec;x23=x13+ddec;
+x31=x21+ddec;x33=x23+ddec;
+y31=y21=y11=y1;y33=y23=y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-1.5ddec-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+bulb(23,22,21); bulb(27,28,29);
+bulb(33,32,31); bulb(37,38,39);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+filldraw haut shifted 2z0;
+filldraw bas shifted 2z0;
+filldraw haut shifted 3z0;
+filldraw bas shifted 3z0;
+penlabels(range 1 thru 39); endchar;
+
+cmchar "\displaystyle contour up integral sign";
+beginchar(9,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle contour double up integral sign";
+beginchar(11,11u#+ddec#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=ddec;y0=0;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+rt x1r=hround(w-ddec-u); x9=w-ddec-x1; x7=w-ddec-x3=3u;
+x19=x9+ddec;x17=x7+ddec;
+y19=y9;y18=y8;y17=y7;
+x11=x1+ddec;x13=x3+ddec;
+y11=y1;y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-.5ddec-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+pickup rule.nib; autorounded;
+z50=z5+.5z0;
+draw fullcircle xscaled .75w yscaled .5w shifted z50; % contour
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\displaystyle contour triple up integral sign";
+beginchar(13,11u#+2ddec#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=ddec;y0=0;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90);
+pos21(bulb_size,0); pos22(hair,0); pos23(vair,90);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+pos27(vair,-90); pos28(hair,-180); pos29(bulb_size,-180);
+rt x1r=hround(w-2ddec-u); x9=w-2ddec-x1; x7=w-2ddec-x3=3u;
+x19=x9+ddec;x17=x7+ddec;
+x29=x19+ddec;x27=x17+ddec;
+y29=y19=y9;y28=y18=y8;y27=y17=y7;
+x11=x1+ddec;x13=x3+ddec;
+x21=x11+ddec;x23=x13+ddec;
+y21=y11=y1;y23=y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-ddec-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+bulb(23,22,21); bulb(27,28,29);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+filldraw haut shifted 2z0;
+filldraw bas shifted 2z0;
+pickup rule.nib; autorounded;
+z50=z5+z0;
+draw fullcircle xscaled .8w yscaled .35w shifted z50; % contour
+penlabels(range 1 thru 29); endchar;
+
+cmchar "\displaystyle right arrow up contour up integral sign";
+beginchar(15,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+pos51(1.35rule_thickness,90);pos52(1.2vair,135);pos53(1.2vair,45);
+x0=.345w;y0=.05w;
+z51=z5+z0;
+y52=y53=y51-.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle left arrow up contour up integral sign";
+beginchar(17,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+x0=-.345w;y0=.05w;
+z51=z5+z0;
+pos51(1.35rule_thickness,90);pos52(1.2vair,135);pos53(1.2vair,45);
+y52=y53=y51-.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle right arrow down contour up integral sign";
+beginchar(19,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+x0=.345w;y0=-.05w;
+z51=z5+z0;
+pos51(1.35rule_thickness,-90);pos52(1.2vair,135);pos53(1.2vair,45);
+y52=y53=y51+.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle left arrow down contour up integral sign";
+beginchar(21,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw fullcircle scaled .7w shifted z5; % contour
+x0=-.345w;y0=-.05w;
+z51=z5+z0;
+pos51(1.35rule_thickness,-90);pos52(1.2vair,135);pos53(1.2vair,45);
+y52=y53=y51+.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle square up integral sign";
+beginchar(23,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+x51=x52=x5+.35w;
+x53=x54=x5-.35w;
+y51=y54=y5+.35w;
+y52=y53=y5-.35w;
+draw z51--z52--z53--z54--cycle;
+penlabels(51,52,53,54);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle double square up integral sign";
+beginchar(25,11u#+ddec#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+x0=ddec;y0=0;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+rt x1r=hround(w-ddec-u); x9=w-ddec-x1; x7=w-ddec-x3=3u;
+x19=x9+ddec;x17=x7+ddec;
+y19=y9;y18=y8;y17=y7;
+x11=x1+ddec;x13=x3+ddec;
+y11=y1;y13=y3;
+x5=x4=x6; lft x5r=hround(.5w-.5ddec-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(13,12,11); bulb(17,18,19);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted z0;
+filldraw bas shifted z0;
+pickup rule.nib; autorounded;
+z50=z5+.5z0; % au milieu
+x51=x54=x50-.55tdec-.35(w-tdec);
+x52=x53=x50+.55tdec+.35(w-tdec);
+y51=y52=y50+.35(w-tdec);
+y53=y54=y50-.35(w-tdec);
+draw z51--z52--z53--z54--cycle;
+penlabels(51,52,53,54);
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\displaystyle contour dot up integral sign";
+beginchar(27,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+cullit;
+pickup rule.nib; autorounded;
+unfill fullcircle scaled .7w shifted z5; % hole
+cullit;
+draw fullcircle scaled .7w shifted z5; % contour
+fill fullcircle scaled(1.3dot_size+eps) shifted z5; % dot
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle right contour dot up integral sign";
+beginchar(29,11u#+u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u-u); x9=w-u-x1; x7=w-u-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5u-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+x61=x63=x5; y61=y62=y5-.45w; y63=y64=y5+.45w;
+x62=x64=1.3w;
+x0=w-.3w;y0=y5;
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+fill z61--z62--z64--z63--cycle;
+cullit;
+picture tempp;
+tempp = currentpicture;
+currentpicture:=nullpicture;
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+cullit;
+pickup rule.nib; autorounded;
+cull tempp keeping (1,infinity) withweight 3;
+addto tempp doublepath fullcircle scaled .7w shifted z0 withpen currentpen; % contour
+cull tempp dropping (-infinity,3);
+unfill fullcircle scaled .7w shifted z0; % hole
+cullit;
+fill fullcircle scaled(1.3dot_size+eps) shifted z0; % dot
+currentpicture:=currentpicture+tempp;
+penlabels(range 0 thru 9); endchar;
+
+cmchar "\displaystyle half contour dot up integral sign";
+beginchar(31,11u#+u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u-u); x9=w-u-x1; x7=w-u-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5u-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+x61=x63=x5; y61=y62=y5-.45w; y63=y64=y5+.45w;
+x62=x64=1.3w;
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+fill z61--z62--z64--z63--cycle;
+cullit;
+picture tempp;
+tempp = currentpicture;
+currentpicture:=nullpicture;
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+cullit;
+pickup rule.nib; autorounded;
+cull tempp keeping (1,infinity) withweight 3;
+addto tempp doublepath fullcircle scaled .7w shifted z5 withpen currentpen; % contour
+cull tempp dropping (-infinity,3);
+unfill fullcircle scaled .7w shifted z5; % hole
+cullit;
+fill fullcircle scaled(1.3dot_size+eps) shifted z5; % dot
+currentpicture:=currentpicture+tempp;
+penlabels(range 0 thru 9); endchar;
+
+cmchar "\displaystyle half square dot up integral sign";
+beginchar(33,11u#+u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u-u); x9=w-u-x1; x7=w-u-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5u-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+x61=x63=x5; y61=y62=y5-.5w; y63=y64=y5+.5w;
+x62=x64=w;
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+fill z61--z62--z64--z63--cycle;
+cullit;
+picture tempp;
+tempp = currentpicture;
+currentpicture:=nullpicture;
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+cullit;
+pickup rule.nib; autorounded;
+x51=x52=x5+.35w;
+x53=x54=x5-.35w;
+y51=y54=y5+.35w;
+y52=y53=y5-.35w;
+cull tempp keeping (1,infinity) withweight 3;
+addto tempp doublepath z51--z52--z53--z54--cycle withpen currentpen; % square
+cull tempp dropping (-infinity,3);
+unfill z51--z52--z53--z54--cycle; % hole
+cullit;
+fill fullcircle scaled(1.3dot_size+eps) shifted z5; % dot
+currentpicture:=currentpicture+tempp;
+penlabels(range 0 thru 54); endchar;
+
+cmchar "\displaystyle circulation up integral sign";
+beginchar(35,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw halfcircle scaled .7w rotated 30 shifted z5; % contour
+draw halfcircle scaled .7w rotated 120 shifted z5; % contour
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle right arrow down half contour up integral sign";
+beginchar(37,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+x99=x5; y99=y5-.1w;
+pickup rule.nib; autorounded;
+draw halfcircle scaled .7w shifted z99; % contour
+x0=.345w;y0=-.05w;
+z51=z99+z0;
+pos51(1.35rule_thickness,-90);pos52(1.2vair,135);pos53(1.2vair,45);
+y52=y53=y51+.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle right arrow up half contour up integral sign";
+beginchar(39,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+x99=x5; y99=y5+.1w;
+pickup rule.nib; autorounded;
+draw halfcircle scaled .7w rotated 180 shifted z99; % contour
+pos51(1.35rule_thickness,90);pos52(1.2vair,135);pos53(1.2vair,45);
+x0=.345w;y0=.05w;
+z51=z99+z0;
+y52=y53=y51-.165w;
+x52=x51-.16w;
+x53=x51+.16w;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+penlabels(51,52,53);
+penlabels(range 1 thru 9); endchar;
+
+cmchar "\displaystyle functional up integral sign";
+beginchar(41,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y5;
+x10=x9l;x5=.5[x10,x11];
+y11-y10=.102(y3-y7);
+draw z10..z11;
+penlabels(range 1 thru 11); endchar;
+
+cmchar "\displaystyle bar up integral sign";
+beginchar(43,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y11=y5;
+x10=x9l;x5=.5[x10,x11];
+draw z10..z11;
+penlabels(range 1 thru 11); endchar;
+
+cmchar "\displaystyle double bar up integral sign";
+beginchar(45,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y11=y5+u;
+y12=y13=y5-u;
+x10=x12=x9l;x5=.5[x10,x11]; x13=x11;
+draw z10..z11;
+draw z12..z13;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\displaystyle x up integral sign";
+beginchar(47,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+x10=x12=x9l;x5=.5[x10,x11]; x13=x11;
+y10-y5=y5-y12;
+y12-y10=x11-x10;
+y10=y11;
+y12=y13;
+draw z10..z13;
+draw z12..z11;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\displaystyle landup up integral sign";
+beginchar(49,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw halfcircle scaled .5w shifted z5; % contour
+y10=y11=y12=y13=y5;
+x11+.25w=x12-.25w=x5;
+x10+1.5u=x11;
+x13-1.5u=x12;
+draw z10--z11;
+draw z12--z13;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\displaystyle landdown up integral sign";
+beginchar(51,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib; autorounded;
+draw halfcircle scaled .5w rotated 180 shifted z5; % contour
+y10=y11=y12=y13=y5;
+x11+.25w=x12-.25w=x5;
+x10+1.5u=x11;
+x13-1.5u=x12;
+draw z10--z11;
+draw z12--z13;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\displaystyle larhk up integral sign";
+beginchar(53,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+x51=0; y51=y5;
+pos51(1.35rule_thickness,0);pos52(1.2vair,45);pos53(1.2vair,135);
+y52=y51+.165w;
+y53=y51-.165w;
+x52=x51+.16w;
+x53=x51+.16w;
+x54=w-2u; y54=y5;
+x55=w-u; y55=y5-u;
+x56=x54; y56=y55-u;
+pickup fine.nib;
+filldraw z52l--z51l--z51r--z52r--cycle;
+filldraw z53r--z51r--z51l--z53l--cycle;
+pickup rule.nib; autorounded;
+draw z51--z54{right}..{down}z55{down}..{left}z56;
+penlabels(range 1 thru 56); endchar;
+
+cmchar "\displaystyle up up integral sign";
+beginchar(55,11u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y11=y3+u;
+x10=x8; x11=x2;
+draw z10..z11;
+penlabels(range 1 thru 11); endchar;
+
+cmchar "\displaystyle down up integral sign";
+beginchar(57,11u#,0,200/54dh#);
+italcorr 0; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=x4=x6; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+pickup rule.nib;
+y10=y11=y7-u;
+x10=x8; x11=x2;
+draw z10..z11;
+penlabels(range 1 thru 11); endchar;
+
+cmchar "\displaystyle dots up integral sign";
+beginchar(59,11u#+3ddec#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+path haut;
+path bas;
+path rond;
+x0=ddec;y0=0;
+x99=tdec;y99=0;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos31(bulb_size,0); pos32(hair,0); pos33(vair,90);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+pos37(vair,-90); pos38(hair,-180); pos39(bulb_size,-180);
+rt x1r=hround(w-3ddec-u); x9=w-3ddec-x1; x7=w-3ddec-x3=3u;
+x39=x9+3ddec;x37=x7+3ddec;
+y39=y9;y38=y8;y37=y7;
+x31=x1+3ddec;x33=x3+3ddec;
+y31=y1;y33=y3;
+x5=x4=x6; lft x5r=hround(.5w-1.5ddec-.5curve);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+bulb(33,32,31); bulb(37,38,39);
+haut:=stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+bas:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower curve
+filldraw haut;
+filldraw bas;
+filldraw haut shifted 3z0;
+filldraw bas shifted 3z0;
+pickup fine.nib;
+numeric dot_diam#; dot_diam#=dot_size#;
+define_whole_blacker_pixels(dot_diam);
+pos51(dot_diam,0);pos52(dot_diam,90);
+lft x51l=hround(.5w-.5dot_diam);
+y52=y5;
+z51=z52;
+rond:=z51l..z52l..z51r..z52r..cycle;
+filldraw rond shifted -.75z99;
+filldraw rond;
+filldraw rond shifted .75z99;
+penlabels(range 1 thru 39); endchar;
+
+
+charlist 0: 1;
+charlist 2: 3;
+charlist 4: 5;
+charlist 6: 7;
+charlist 8: 9;
+charlist 10: 11;
+charlist 12: 13;
+charlist 14: 15;
+charlist 16: 17;
+charlist 18: 19;
+charlist 20: 21;
+charlist 22: 23;
+charlist 24: 25;
+charlist 26: 27;
+charlist 28: 29;
+charlist 30: 31;
+charlist 32: 33;
+charlist 34: 35;
+charlist 36: 37;
+charlist 38: 39;
+charlist 40: 41;
+charlist 42: 43;
+charlist 44: 45;
+charlist 46: 47;
+charlist 48: 49;
+charlist 50: 51;
+charlist 52: 53;
+charlist 54: 55;
+charlist 56: 57;
+charlist 58: 59;
diff --git a/Master/texmf-dist/fonts/tfm/public/cmupint/cmupint.tfm b/Master/texmf-dist/fonts/tfm/public/cmupint/cmupint.tfm
new file mode 100644
index 00000000000..8afc230e4c4
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/cmupint/cmupint.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/cmupint/cmupint.pfb b/Master/texmf-dist/fonts/type1/public/cmupint/cmupint.pfb
new file mode 100644
index 00000000000..386f8230fb0
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/cmupint/cmupint.pfb
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/cmupint/cmupint.sty b/Master/texmf-dist/tex/latex/cmupint/cmupint.sty
new file mode 100644
index 00000000000..49b8f0d818f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cmupint/cmupint.sty
@@ -0,0 +1,75 @@
+\ProvidesPackage{cmupint}[2020/01/21 v1.0 cmupint]
+\DeclareOption{displaylimits}{\let\upilimits@\displaylimits}
+\DeclareOption{limits}{\let\upilimits@\limits}
+\DeclareOption{nolimits}{\let\upilimits@\nolimits}
+\ExecuteOptions{displaylimits}
+\ProcessOptions\relax
+\DeclareSymbolFont{uplargesymbols}{U}{cmupint}{m}{n}
+\DeclareMathSymbol{\uprightintop}{\mathop}{uplargesymbols}{0}
+\DeclareMathSymbol{\uprightiintop}{\mathop}{uplargesymbols}{2}
+\DeclareMathSymbol{\uprightiiintop}{\mathop}{uplargesymbols}{4}
+\DeclareMathSymbol{\uprightiiiintop}{\mathop}{uplargesymbols}{6}
+\DeclareMathSymbol{\uprightointop}{\mathop}{uplargesymbols}{8}
+\DeclareMathSymbol{\uprightoiintop}{\mathop}{uplargesymbols}{10}
+\DeclareMathSymbol{\uprightoiiintop}{\mathop}{uplargesymbols}{12}
+\DeclareMathSymbol{\uprightointctrclockwiseop}{\mathop}{uplargesymbols}{14}
+\DeclareMathSymbol{\uprightointclockwiseop}{\mathop}{uplargesymbols}{16}
+\DeclareMathSymbol{\varuprightointclockwiseop}{\mathop}{uplargesymbols}{18}
+\DeclareMathSymbol{\varuprightointctrclockwiseop}{\mathop}{uplargesymbols}{20}
+\DeclareMathSymbol{\uprightsqintop}{\mathop}{uplargesymbols}{22}
+\DeclareMathSymbol{\uprightsqiintop}{\mathop}{uplargesymbols}{24}
+\DeclareMathSymbol{\uprightpointintop}{\mathop}{uplargesymbols}{26}
+\DeclareMathSymbol{\uprightnpolintop}{\mathop}{uplargesymbols}{28}
+\DeclareMathSymbol{\uprightscpolintop}{\mathop}{uplargesymbols}{30}
+\DeclareMathSymbol{\uprightrppolintop}{\mathop}{uplargesymbols}{32}
+\DeclareMathSymbol{\uprightcirfnintop}{\mathop}{uplargesymbols}{34}
+\DeclareMathSymbol{\uprightintclockwiseop}{\mathop}{uplargesymbols}{36}
+\DeclareMathSymbol{\uprightawintop}{\mathop}{uplargesymbols}{38}
+\DeclareMathSymbol{\uprightfintop}{\mathop}{uplargesymbols}{40}
+\DeclareMathSymbol{\uprightbarintop}{\mathop}{uplargesymbols}{42}
+\DeclareMathSymbol{\uprightdoublebarintop}{\mathop}{uplargesymbols}{44}
+\DeclareMathSymbol{\uprightxintop}{\mathop}{uplargesymbols}{46}
+\DeclareMathSymbol{\uprightlandupintop}{\mathop}{uplargesymbols}{48}
+\DeclareMathSymbol{\uprightlanddownintop}{\mathop}{uplargesymbols}{50}
+\DeclareMathSymbol{\uprightintlarhkop}{\mathop}{uplargesymbols}{52}
+\DeclareMathSymbol{\uprightupintop}{\mathop}{uplargesymbols}{54}
+\DeclareMathSymbol{\uprightdownintop}{\mathop}{uplargesymbols}{56}
+\DeclareMathSymbol{\uprightidotsintop}{\mathop}{uplargesymbols}{58}
+\AtBeginDocument{
+\def\int{\relax\uprightintop\upilimits@}
+\def\iint{\relax\uprightiintop\upilimits@}
+\def\iiint{\relax\uprightiiintop\upilimits@}
+\def\iiiint{\relax\uprightiiiintop\upilimits@}
+\def\oint{\relax\uprightointop\upilimits@}
+\def\oiint{\relax\uprightoiintop\upilimits@}
+\def\oiiint{\relax\uprightoiiintop\upilimits@}
+\def\ointctrclockwise{\relax\uprightointctrclockwiseop\upilimits@}
+\def\ointclockwise{\relax\uprightointclockwiseop\upilimits@}
+\def\varointclockwise{\relax\varuprightointclockwiseop\upilimits@}
+\def\varointctrclockwise{\relax\varuprightointctrclockwiseop\upilimits@}
+\def\sqint{\relax\uprightsqintop\upilimits@}
+\def\sqiint{\relax\uprightsqiintop\upilimits@}
+\def\pointint{\relax\uprightpointintop\upilimits@}
+\def\npolint{\relax\uprightnpolintop\upilimits@}
+\def\scpolint{\relax\uprightscpolintop\upilimits@}
+\def\rppolint{\relax\uprightrppolintop\upilimits@}
+\def\cirfnint{\relax\uprightcirfnintop\upilimits@}
+\def\intclockwise{\relax\uprightintclockwiseop\upilimits@}
+\def\awint{\relax\uprightawintop\upilimits@}
+\def\fint{\relax\uprightfintop\upilimits@}
+\def\barint{\relax\uprightbarintop\upilimits@}
+\def\doublebarint{\relax\uprightdoublebarintop\upilimits@}
+\def\xint{\relax\uprightxintop\upilimits@}
+\def\landupint{\relax\uprightlandupintop\upilimits@}
+\def\landdownint{\relax\uprightlanddownintop\upilimits@}
+\def\intlarhk{\relax\uprightintlarhkop\upilimits@}
+\def\upint{\relax\uprightupintop\upilimits@}
+\def\downint{\relax\uprightdownintop\upilimits@}
+\def\varidotsint{\relax\uprightidotsintop\upilimits@}
+\@ifpackageloaded{amsmath}{
+\def\idotsint{\DOTSI\protect\mathop\bgroup\noexpand\uprightintop\intdots@\noexpand\uprightintop\egroup\noexpand\upilimits@}
+}{
+\let\idotsint\varidotsint
+}
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/cmupint/ucmupint.fd b/Master/texmf-dist/tex/latex/cmupint/ucmupint.fd
new file mode 100644
index 00000000000..94a8f13f091
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cmupint/ucmupint.fd
@@ -0,0 +1,4 @@
+\ProvidesFile{ucmupint.fd}
+\DeclareFontFamily{U}{cmupint}{}
+\DeclareFontShape{U}{cmupint}{m}{n}{ <-> cmupint}{}
+\endinput \ No newline at end of file
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 9b368c3f712..c1c5c669948 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -170,7 +170,7 @@ my @TLP_working = qw(
cm cm-lgc cm-mf-extra-bold cm-super cm-unicode
cmap cmarrows cmbright cmcyr
cmdstring cmdtrack cmexb cmextra cmll cmpica cmpj cmsd cmsrb cmtiup
- cnbwp cnltx cntformats cntperchap
+ cmupint cnbwp cnltx cntformats cntperchap
cochineal codeanatomy codedoc codepage codesection codicefiscaleitaliano
coelacanth collcell collectbox collref
colophon colordoc colorinfo coloring colorprofiles
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index cd33e4cc510..b93203fb1a1 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -270,6 +270,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`);
'cmcyralt', "die 'skipping, noinfo license'",
'cmexb', "&MAKEflatten",
'cmsrb', "&MAKEflatten",
+ 'cmupint', "&MAKEflatten",
'cnbwp', "&MAKEflatten",
'cntdwn', "die 'skipping, author (dps) request'",
'coloremoji', "die 'skipping, duplicate/too many files, per page?'",
diff --git a/Master/tlpkg/tlpsrc/cmupint.tlpsrc b/Master/tlpkg/tlpsrc/cmupint.tlpsrc
new file mode 100644
index 00000000000..d05b1bebe2c
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/cmupint.tlpsrc
@@ -0,0 +1 @@
+execute addMixedMap ${PKGNAME}.map
diff --git a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc
index 1b0aaa63c2c..a9903520d8b 100644
--- a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc
@@ -73,6 +73,7 @@ depend cmll
depend cmpica
depend cmsrb
depend cmtiup
+depend cmupint
depend cochineal
depend coelacanth
depend comfortaa