summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/ascmac/LICENSE28
-rw-r--r--Master/texmf-dist/doc/latex/ascmac/README.md31
-rw-r--r--Master/texmf-dist/doc/latex/ascmac/ascmac.pdfbin0 -> 153604 bytes
-rw-r--r--Master/texmf-dist/fonts/source/public/ascmac/ascgrp.mf372
-rw-r--r--Master/texmf-dist/fonts/source/public/ascmac/ascii.mf291
-rw-r--r--Master/texmf-dist/fonts/source/public/ascmac/ascii10.mf3
-rw-r--r--Master/texmf-dist/fonts/source/public/ascmac/ascii36.mf3
-rw-r--r--Master/texmf-dist/fonts/tfm/public/ascmac/ascgrp.tfmbin0 -> 448 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/ascmac/ascii10.tfmbin0 -> 204 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/ascmac/ascii36.tfmbin0 -> 208 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/ascmac/ascgrp.pfbbin0 -> 7700 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/ascmac/ascii10.pfbbin0 -> 2910 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/ascmac/ascii36.pfbbin0 -> 2892 bytes
-rw-r--r--Master/texmf-dist/source/latex/ascmac/Makefile58
-rw-r--r--Master/texmf-dist/source/latex/ascmac/ascmac.dtx757
-rw-r--r--Master/texmf-dist/source/latex/ascmac/ascmac.ins23
-rw-r--r--Master/texmf-dist/tex/latex/ascmac/ascmac.sty25
-rw-r--r--Master/texmf-dist/tex/latex/ascmac/tascmac.sty304
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/ascmac.tlpsrc0
-rw-r--r--Master/tlpkg/tlpsrc/collection-langjapanese.tlpsrc1
21 files changed, 1897 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/ascmac/LICENSE b/Master/texmf-dist/doc/latex/ascmac/LICENSE
new file mode 100644
index 00000000000..c052ebeb9c0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ascmac/LICENSE
@@ -0,0 +1,28 @@
+Copyright (c) 2010 ASCII MEDIA WORKS
+Copyright (c) 2016-2018 Japanese TeX Development Community
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of platex nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Master/texmf-dist/doc/latex/ascmac/README.md b/Master/texmf-dist/doc/latex/ascmac/README.md
new file mode 100644
index 00000000000..0f9f11c6330
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ascmac/README.md
@@ -0,0 +1,31 @@
+# ascmac
+
+The bundle provides boxes and picture macros, derived from
+Japanese pLaTeX distribution. These macros and fonts were
+originally developed by ASCII MEDIA WORKS, and now
+maintained by Japanese TeX Development Community.
+
+## Changes from the original ASCII edition
+
+See the documents (ascmac.pdf) for more information.
+
+- Support pdfLaTeX, XeLaTeX and LuaLaTeX.
+- Fix several bugs in `\oval` drawings, which are used in
+ `screen` environment and `\keytop`.
+- Made compatible with the package "pict2e".
+
+## Repository
+
+The bundle is maintained on GitHub:
+https://github.com/texjporg/ascmac
+
+## License
+
+The bundle may be distributed and/or modified under the terms of
+the 3-clause BSD license (see [LICENSE](./LICENSE)).
+
+## Release Date
+
+2018-03-09
+
+Japanese TeX Development Community
diff --git a/Master/texmf-dist/doc/latex/ascmac/ascmac.pdf b/Master/texmf-dist/doc/latex/ascmac/ascmac.pdf
new file mode 100644
index 00000000000..353dbb2e304
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/ascmac/ascmac.pdf
Binary files differ
diff --git a/Master/texmf-dist/fonts/source/public/ascmac/ascgrp.mf b/Master/texmf-dist/fonts/source/public/ascmac/ascgrp.mf
new file mode 100644
index 00000000000..77afb96441a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/ascmac/ascgrp.mf
@@ -0,0 +1,372 @@
+%mode=ascii;
+
+designsize:=10;
+mode_setup;
+%openit;
+
+font_family "ASCII SPECIAL";
+coding_scheme "SPECIAL GRAPHIC FONT";
+
+def clear =
+ clearx;
+ currentpicture:=nullpicture;
+enddef;
+def clearx =
+ numeric x[],y[],x[]l,y[]l,x[]r,y[]r,dx[],dy[],pw;
+enddef;
+
+def drawpix expr p =
+ addto pix doublepath p.t_ withpen currentpen enddef;
+def curve(suffix $,$$,$$$) =
+ fill z$l
+ if known dz$: {dz$} fi
+ .. z$$l{if known dz$$: dz$$ else: z$$$l-z$l fi}
+ .. z$$$l
+ if known dz$$$: {dz$$$} fi
+ & z$$$l..z$$$r
+ & z$$$r
+ if known dz$$$: {-dz$$$} fi
+ .. z$$r{if known dz$$: -dz$$ else: z$r-z$$$r fi}
+ .. z$r
+ if known dz$: {-dz$} fi
+ & z$r..z$l & cycle;
+enddef;
+
+vardef setpos@#(expr a,b) =
+ z@#=.5[z@#l,z@#r] enddef;
+
+def setwidth (expr x) =
+ chardx:=x;
+ numeric w; w=chardx;
+ if proofing>1:
+ for n:=0 step 2bs until chardx-1:
+ proofrule((n,-ydepth),(n,hheight)); endfor
+ proofrule((chardx,-ydepth),(chardx,hheight));
+ proofrule((0,-ydepth),(chardx,-ydepth));
+ proofrule((0,0),(chardx,0));
+ proofrule((0,xheight),(chardx,xheight));
+ proofrule((0,capheight),(chardx,capheight));
+ proofrule((0,hheight),(chardx,hheight));
+ fi
+enddef;
+
+%def labelpos(text t) =
+% if proofing>1:
+% forsuffixes $$=l,,r: forsuffixes $=t:
+% makelabel(str $.$$, z$.$$); endfor endfor fi enddef;
+
+def mask(expr mx,my) =
+ cullit;
+ pix:=nullpicture;
+ unfill (0,0)..(round(mx+1)*pt,round(my+1)*pt)..cycle;
+ for r=1 step 1 until mx*pt/2: addto pix also PIX shifted (2*r*sqsize,0);
+ endfor
+ cull pix including (1,9);
+ for i:=0 step pxsize until my*pt:
+ addto currentpicture also pix shifted(0,i);
+ endfor
+ picture pix;
+enddef;
+
+ show designsize;
+ numeric s,pw,char_w,hheight,ydepth,bss,bs,f,us,uus,usx,uusx,dd;
+ 180f = designsize;
+ hheight=140f ; ydepth=40f;
+ bss = 140f/17.3;
+ bs = bss*pt;
+ 10us = designsize;
+ uus = us*pt;
+ 10usx = .7227designsize;
+ uusx = usx*pt;
+ dd:=pixels_per_inch/120;
+ s = .5uusx;
+
+%
+% special
+%
+
+lw:=3.6*designsize/10*.3pt;
+vardef char.b(expr char_w, hheight) =
+ pickup pencircle scaled(lw + blacker);
+ y1=y2=-lw/2;
+ x1=0bs; x2:=5bs*3.6;
+ draw z1--z2;
+ penlabels(1,2);
+enddef;
+
+vardef char.a(expr char_w, hheight) =
+ pickup pencircle scaled(lw + blacker);
+ y1=y2=y5=y6=-lw/2;
+ y7:=-10bs*3.6;
+ x1:=0bs; x2:=3bs*3.6; x3:=4bs*3.6; x6:=10bs*3.6;
+ y3=y4;
+ (y1+y7)*2/5=y3;
+ (x1+x6)/2=(x2+x5)/2=(x3+x4)/2=x7;
+ draw z1--z2--z3..z7..z4--z5--z6;
+ penlabels(1,2,3,4,5,6,7);
+enddef;
+
+def drawsq(expr dx, dy)=
+ draw z1 shifted (dx, dy)--z2 shifted (dx, dy);
+ draw z3 shifted (dx, dy)--z4 shifted (dx, dy);
+ draw z5 shifted (dx, dy)--z6 shifted (dx, dy);
+ draw z7 shifted (dx, dy)--z8 shifted (dx, dy);
+enddef;
+vardef char.A(expr char_w, hheight) =
+ pickup pencircle scaled(.15uus + blacker);
+ uux:=char_w/8; uuy:=hheight/8;
+ x1:=.5uux; x2:=1.5uux; x8:=2.5uux; x7:=3.5uux;
+ y1:=3.5uuy; y2:=2.5uuy; y4:=1.5uuy; y3:=.5uuy;
+ x1=x3; x2=x4; x8=x6; x7=x5;
+ y1=y7; y2=y8; y4=y6; y3=y5;
+ drawsq(0, 0);
+ drawsq(0,4uuy);
+ drawsq(4uux,0);
+ drawsq(4uux,4uuy);
+enddef;
+
+vardef char.B(expr char_w, hheight) =
+ pickup pencircle scaled(.15uus + blacker);
+ uux:=char_w/4; uuy:=hheight/4;
+ x1:=.5uux; x2:=1.5uux; x8:=2.5uux; x7:=3.5uux;
+ y1:=3.5uuy; y2:=2.5uuy; y4:=1.5uuy; y3:=.5uuy;
+ x1=x3; x2=x4; x8=x6; x7=x5;
+ y1=y7; y2=y8; y4=y6; y3=y5;
+ drawsq(0, 0);
+enddef;
+
+vardef char.C(expr char_w, hheight) =
+ numeric d,s;
+ d:=3; s:=1; if pixels_per_inch>=300:d:=d*dd; s:=s*dd; fi;
+ for y=0 step 2d until hheight-d:
+ for x=0 step 2d until char_w-d:
+ fill (x,y)--(x,y+s)--(x+s,y+s)--(x+s,y)--cycle;
+ endfor;
+ endfor;
+ for y=d step 2d until hheight-d:
+ for x=d step 2d until char_w-d:
+ fill (x,y)--(x,y+s)--(x+s,y+s)--(x+s,y)--cycle;
+ endfor;
+ endfor;
+enddef;
+
+vardef char.D(expr char_w, hheight) =
+ char.C(char_w, hheight);
+enddef;
+
+vardef char.E(expr char_w, hheight) =
+ numeric d;
+ d:=2; s:=1; if pixels_per_inch>300:d:=d*dd; s:=s*dd; fi;
+ for y=0 step 2d until hheight-d:
+ for x=0 step 2d until char_w-d:
+ fill (x,y)--(x,y+s)--(x+s,y+s)--(x+s,y)--cycle;
+ endfor;
+ endfor;
+ for y=d step 2d until hheight-d:
+ for x=d step 2d until char_w-d:
+ fill (x,y)--(x,y+s)--(x+s,y+s)--(x+s,y)--cycle;
+ endfor;
+ endfor;
+enddef;
+
+vardef char.F(expr char_w, hheight) =
+ char.E(char_w, hheight);
+enddef;
+
+def drawweb(expr dx, dy) =
+ draw z1 shifted (dx, dy)--z11 shifted (dx, dy);
+ draw z2 shifted (dx, dy)--z12 shifted (dx, dy);
+ draw z3 shifted (dx, dy)--z4 shifted (dx, dy);
+ draw z7 shifted (dx, dy)--z8 shifted (dx, dy);
+ draw z5 shifted (dx, dy)--z6 shifted (dx, dy);
+ draw z9 shifted (dx, dy)--z10 shifted (dx, dy);
+enddef;
+def drawwebx(expr dx, dy) =
+ draw z1 shifted (dx, dy)--z4 shifted (dx, dy);
+ draw z2 shifted (dx, dy)--z5 shifted (dx, dy);
+ draw z8 shifted (dx, dy)--z11 shifted (dx, dy);
+ draw z9 shifted (dx, dy)--z12 shifted (dx, dy);
+ draw z3 shifted (dx, dy)--z6 shifted (dx, dy);
+ draw z7 shifted (dx, dy)--z10 shifted (dx, dy);
+enddef;
+
+vardef char.G(expr char_w, hheight) =
+ pickup pencircle scaled(.15uus + blacker);
+ uux:=char_w/16; uuy:=hheight/16;
+ x1=x4=x8=x11=1uux;
+ x2=x5=x9=x12=3uux;
+ x3=x7=0uux; x6=x10=4uux;
+ y1=y2=4uuy; y11=y12=0uuy;
+ y3=y4=y5=y6=3uuy;
+ y7=y8=y9=y10=1uuy;
+ drawweb (0uux,12uuy); drawweb (8uux,12uuy);
+ drawweb (0uux,4uuy); drawweb (8uux,4uuy);
+ drawweb (4uux,8uuy); drawweb (12uux,8uuy);
+ drawweb (4uux,0uuy); drawweb (12uux,0uuy);
+ drawwebx(4uux,12uuy); drawwebx(12uux,12uuy);
+ drawwebx(4uux,4uuy); drawwebx(12uux,4uuy);
+ drawwebx(0uux,8uuy); drawwebx(8uux,8uuy);
+ drawwebx(0uux,0uuy); drawwebx(8uux,0uuy);
+enddef;
+
+vardef char.H(expr char_w, hheight) =
+ pickup pencircle scaled(.15uus + blacker);
+ uux:=char_w/8; uuy:=hheight/8;
+ x1=x4=x8=x11=1uux;
+ x2=x5=x9=x12=3uux;
+ x3=x7=0uux; x6=x10=4uux;
+ y1=y2=4uuy; y11=y12=0uuy;
+ y3=y4=y5=y6=3uuy;
+ y7=y8=y9=y10=1uuy;
+ drawweb(0uux,4uuy);
+ drawweb(4uux,0uuy);
+ drawwebx(4uux,4uuy);
+ drawwebx(0uux,0uuy);
+enddef;
+
+def drawwebs(expr dx, dy) =
+ draw z1 shifted (dx, dy)--z2 shifted (dx, dy);
+ draw z3 shifted (dx, dy)--z4 shifted (dx, dy);
+ draw z5 shifted (dx, dy)--z6 shifted (dx, dy);
+ draw z7 shifted (dx, dy)--z8 shifted (dx, dy);
+ draw z1 shifted (dx, dy)--z9 shifted (dx, dy);
+ draw z7 shifted (dx, dy)--z12 shifted (dx, dy);
+ draw z3 shifted (dx, dy)--z10 shifted (dx, dy);
+ draw z5 shifted (dx, dy)--z11 shifted (dx, dy);
+enddef;
+
+vardef char.I(expr char_w, hheight) =
+ pickup pencircle scaled(.15uus + blacker);
+ uux:=char_w/8; uuy:=hheight/8;
+ x2:=3uux; x4:=2uux; x6:=1uux; x8:=x4;
+ y2:=2uuy; y4:=3uuy; y6:=y2; y8:=1uuy;
+ y1:=4uuy; x3:=0uux; y5:=0uuy; x7:=4uux;
+ (y2-y1)=-(x2-x1); (y5-y6)=-(x5-x6);
+ (y7-y8)=(x7-x8); (y4-y3)=(x4-x3);
+ x9=x3; y10=y5; x11=x7; y12=y1;
+ (y7-y12)=-(x7-x12); (y10-y3)=-(x10-x3);
+ (y1-y9)=(x1-x9); (y11-y5)=(x11-x5);
+ drawwebs(0uux, 0uuy);
+ drawwebs(4uux,0uuy);
+ drawwebs(0uux,4uuy);
+ drawwebs(4uux,4uuy);
+ labels(1,2,3,4,5,6,7,8,9,10,11,12);
+enddef;
+
+vardef char.J(expr char_w, hheight) =
+ pickup pencircle scaled(.15uus + blacker);
+ uux:=char_w/4; uuy:=hheight/4;
+ x2:=3uux; x4:=2uux; x6:=1uux; x8:=x4;
+ y2:=2uuy; y4:=3uuy; y6:=y2; y8:=1uuy;
+ y1:=4uuy; x3:=0uux; y5:=0uuy; x7:=4uux;
+ (y2-y1)=-(x2-x1); (y5-y6)=-(x5-x6);
+ (y7-y8)=(x7-x8); (y4-y3)=(x4-x3);
+ x9=x3; y10=y5; x11=x7; y12=y1;
+ (y7-y12)=-(x7-x12); (y10-y3)=-(x10-x3);
+ (y1-y9)=(x1-x9); (y11-y5)=(x11-x5);
+ drawwebs(0uux, 0uuy);
+enddef;
+
+vardef char.K(expr char_w, hheight) =
+ pickup pencircle scaled(.15uus + blacker);
+ uux:=char_w/8; uuy:=hheight/8;
+ x1=x4=x8=x11=1uux;
+ x2=x5=x9=x12=3uux;
+ x3=x7=0uux; x6=x10=4uux;
+ y1=y2=4uuy; y11=y12=0uuy;
+ y3=y4=y5=y6=3uuy;
+ y7=y8=y9=y10=1uuy;
+ drawweb(0uux,4uuy);
+ drawweb(4uux,0uuy);
+ drawwebx(4uux,4uuy);
+ drawwebx(0uux,0uuy);
+enddef;
+
+vardef char.rtriangle(expr char_w, hheight) =
+ x1 = x2 = char_w - x3 = s;
+ y3 = .5hheight;
+ z1 - z2 = (z3 - z2) rotated 60;
+ fill z1--z2--z3--cycle;
+ labels(1,2,3);
+enddef;
+
+vardef char.ltriangle(expr char_w, hheight) =
+ char_w - x1 = char_w - x2 = x3 = s;
+ y3 = .5hheight;
+ z1 - z2 = (z3 - z2) rotated -60;
+ fill z1--z2--z3--cycle;
+ labels(1,2,3);
+enddef;
+
+vardef char.ttriangle(expr char_w, hheight) =
+ y1 = y2 = hheight - y3 = s;
+ x3 = .5char_w;
+ z1 - z2 = (z3 - z2) rotated 60;
+ fill z1--z2--z3--cycle;
+ labels(1,2,3);
+enddef;
+
+vardef char.btriangle(expr char_w, hheight) =
+ hheight - y1 = hheight - y2 = y3 = s;
+ x3 = .5char_w;
+ z1 - z2 = (z3 - z2) rotated -60;
+ fill z1--z2--z3--cycle;
+ labels(1,2,3);
+enddef;
+
+vardef char.cr(expr char_w, hheight) =
+ x1 = s; x2 = x3 = .4char_w;
+ y2 = -.2(y3-y2);
+ z1 - z2 = (z1 - z3) rotated -90;
+ fill z1--z2--z3--cycle;
+ pw := .4(y3-y2);
+ y4 = hheight - s; x4 = x5 = char_w - .5pw - s;
+ y5 = y6 = y1; x6 = x3;
+ z7 = (x4, y5+.7pw); z8 = (x5-.7pw, y6);
+ penpos4(pw, 0); penpos6(pw, -90);
+ penpos7(pw, 0); penpos8(pw, -90);
+ %penstroke z4--z7..z8--z6;
+ fill z4l--z7l{z5-z7}..{z8-z5}z8l--z6l--z6r--z8r{z5-z8}..{z7-z5}z7r--z4r--cycle;
+ labels(1,2,3,4,5,6,7,8,4l,4r,7l,7r,8l,8r,6l,6r);
+enddef;
+
+vardef char.CR(expr char_w, hheight) =
+ char.cr(char_w, hheight);
+enddef;
+
+vardef make@#(expr char_w,hheight,ydepth)=
+ begingroup beginchar(str@#,char_w,hheight,ydepth);
+ "the character "&str @#; char@#(char_w*pt,hheight*pt);
+% if (fontsize#*mag>30) and (proofing=0): mask(char_w,hheight); fi
+ endchar;
+endgroup enddef;
+
+vardef Make@#(expr code, char_w,hheight,ydepth)=
+ begingroup beginchar(code,char_w,hheight,ydepth);
+ "the character "&code ; char@#(char_w*pt,hheight*pt);
+ endchar;
+endgroup enddef;
+
+
+smoothing:=10;
+Make.rtriangle("0", 9usx, 10usx, 0us);
+Make.ltriangle("1", 9usx, 10usx, 0us);
+Make.ttriangle("2", 10usx, 9usx, 0us);
+Make.btriangle("3", 10usx, 9usx, 0us);
+Make.cr(" ", 12usx, 9usx, 2usx);
+Make.CR("@", 24usx, 18usx, 4usx);
+make.A(10usx,10usx,0us);
+make.B(5usx,5usx,0us);
+make.C(10usx,10usx,0us);
+make.D(5usx,5usx,0us);
+make.E(10usx,10usx,0us);
+make.F(5usx,5usx,0us);
+make.G(10us,10us,0us);
+make.H(5us,5us,0us);
+make.I(10us,10us,0us);
+make.J(5us,5us,0us);
+make.K(10us,10us,0us);
+make.a(36bss,0bss,36bss);
+make.b(18bss,0bss,36bss);
+
+end;
diff --git a/Master/texmf-dist/fonts/source/public/ascmac/ascii.mf b/Master/texmf-dist/fonts/source/public/ascmac/ascii.mf
new file mode 100644
index 00000000000..20526cde8d2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/ascmac/ascii.mf
@@ -0,0 +1,291 @@
+%mode=ascii;
+
+if unknown fontsize#:
+ fontsize#=10;
+fi
+designsize:=fontsize#;
+mode_setup;
+openit;
+
+if known Xerox_world:
+ font_family "ASCII LOGO";
+ coding_scheme "ASCII LETTERS ONLY";
+fi
+
+def clear =
+ numeric x[],y[],x[]l,y[]l,x[]r,y[]r,dx[],dy[];
+ currentpicture:=nullpicture;
+enddef;
+
+def curve(suffix $,$$,$$$) =
+ fill z$l
+ if known dz$: {dz$} fi
+ .. z$$l{if known dz$$: dz$$ else: z$$$l-z$l fi}
+ .. z$$$l
+ if known dz$$$: {dz$$$} fi
+ & z$$$l..z$$$r
+ & z$$$r
+ if known dz$$$: {-dz$$$} fi
+ .. z$$r{if known dz$$: -dz$$ else: z$r-z$$$r fi}
+ .. z$r
+ if known dz$: {-dz$} fi
+ & z$r..z$l & cycle;
+enddef;
+
+vardef setpos@#(expr a,b) =
+ z@#=.5[z@#l,z@#r] enddef;
+
+def setwidth (expr x) =
+ chardx:=x;
+ numeric w; w=chardx;
+ if proofing>1:
+ for n:=0 step 2bs until chardx-1:
+ proofrule((n,-ydepth),(n,hheight)); endfor
+ proofrule((chardx,-ydepth),(chardx,hheight));
+ proofrule((0,-ydepth),(chardx,-ydepth));
+ proofrule((0,0),(chardx,0));
+ proofrule((0,xheight),(chardx,xheight));
+ proofrule((0,capheight),(chardx,capheight));
+ proofrule((0,hheight),(chardx,hheight));
+ fi
+enddef;
+
+%def labelpos(text t) =
+% if proofing>1:
+% forsuffixes $$=l,,r: forsuffixes $=t:
+% makelabel(str $.$$, z$.$$); endfor endfor fi enddef;
+
+def mask(expr mx,my) =
+ cullit;
+ pix:=nullpicture;
+ unfill (0,0)..(round(mx+1)*pt,round(my+1)*pt)..cycle;
+ for r=1 step 1 until mx*pt/2: addto pix also PIX shifted (2*r*sqsize,0);
+ endfor
+ cull pix including (1,9);
+ for i:=0 step pxsize until my*pt:
+ addto currentpicture also pix shifted(0,i);
+ endfor
+ picture pix;
+enddef;
+
+ show designsize;
+ numeric hheight,ydepth,bss,bs,f;
+ 180f = designsize;
+ hheight=140f ; ydepth=40f;
+ bss = 140f/17.3;
+ bs = bss*pt;
+maxx=16bs;
+maxy=17.3bs;
+
+% make mask paturn
+%if designsize*mag > 30:
+% pxsize=4;
+% rep=round(maxx/2+1);
+% sqsize=1;
+% picture pix,px,PIX;
+% px=pix=nullpicture;
+% addto px contour unitsquare scaled sqsize;
+% addto pix also px shifted (0,0);
+% addto pix also px shifted (sqsize,sqsize);
+% addto pix also px shifted (0,2sqsize);
+% addto pix also px shifted (sqsize,3sqsize);
+% cull pix excluding (0,0);
+% PIX=pix;
+% picture px,pix;
+%fi;
+
+vardef char.A =
+% setwidth (15bs);
+ x1r:=16bs;
+ y1:=0;
+ x2r:=16bs;
+ y2:=17.3bs;
+ x3r:=6bs;
+ y3:=0;
+ x4:=12bs;
+ y4:=3.5bs;
+ x5:=7bs;
+ y5:=3.5bs;
+ penpos1(4.2bs,0);
+ penpos2(4.2bs,0);
+ penpos3(4.9bs,0);
+ penpos4(2.4bs,90);
+ penpos5(2.4bs,90);
+ penstroke z1e..z2e;
+ penstroke z2e..z3e;
+ penstroke z4e..z5e;
+ penlabels(1,2,3,4,5);
+enddef;
+
+vardef char.S =
+% setwidth (13bs);
+ x1l:=1bs;
+ y1l:=5.5bs;
+ x2l:=1bs;
+ y2l:=3bs;
+ x3l:=1.6bs;
+ y3l:=1bs;
+ x4l:=3.7bs;
+ y4l:=0;
+ x5l:=11bs;
+ y5l:=0;
+ x6l:=13.4bs;
+ y6l:=1bs;
+ x7l:=14bs;
+ y7l:=3bs;
+ x8l:=14bs;
+ y8l:=5.6bs;
+ x9l:=13.6bs;
+ y9l:=6.6bs;
+ x10l:=13bs;
+ y10l:=7.2bs;
+ x11r:=2.2bs;
+ y11r:=10.1bs;
+% x11l:=5.4bs;
+% y11l:=13bs;
+ penpos1(4.25bs,0);
+ penpos2(4.3bs,7);
+ penpos3(4.4bs,28);
+ penpos4(3.7bs,48);
+ penpos5(3.4bs,126);
+ penpos6(4.4bs,152);
+ penpos7(4.25bs,174);
+ penpos8(4.5bs,200);
+ penpos9(4.55bs,208);
+ penpos10(4.4bs,215);
+ penpos11(4.2bs,215);
+% penpos11(4.4bs,215);
+ x12r:=14bs;
+ y12r:=11.8bs;
+ x13r:=14bs;
+ y13r:=14.3bs;
+ x14r:=13.4bs;
+ y14r:=16.3bs;
+ x15r:=11.3bs;
+ y15r:=17.3bs;
+ x16r:=4bs;
+ y16r:=17.3bs;
+ x17r:=1.6bs;
+ y17r:=16.3bs;
+ x18r:=1bs;
+ y18r:=14.3bs;
+ x19r:=1bs;
+ y19r:=11.7bs;
+ x20r:=1.4bs;
+ y20r:=10.7bs;
+ x21r:=2.2bs;
+ y21r:=10.1bs;
+ x22l:=13bs;
+ y22l:=7.2bs;
+ penpos12(4.25bs,0);
+ penpos13(4.3bs,7);
+ penpos14(4.4bs,28);
+ penpos15(3.7bs,48);
+ penpos16(3.4bs,126);
+ penpos17(4.4bs,152);
+ penpos18(4.25bs,174);
+ penpos19(4.5bs,200);
+ penpos20(4.5bs,208);
+ penpos21(4.2bs,215);
+ penpos22(4.4bs,215);
+ % penstroke z1e--z2e{z2-z1}..{z5-z4}z4e--z5e{z5-z4}..{z8-z7}z7e--z8e{z8-z7}..{z11-z10}z10e--z11e;
+ penstroke z1e--z2e{z2-z1}..{z5-z4}z4e--z5e{z5-z4}..{z8-z7}z7e--z8e{z8-z7}..{z11-z10}z10e--z11e;
+ penstroke z12e--z13e{z13-z12}..{z16-z15}z15e--z16e{z16-z15}..{z19-z18}z18e--z19e{z19-z18}..{z22-z21}z21e--z22e;
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21);
+enddef;
+
+
+vardef char.C =
+% setwidth (13bs);
+ x1l:=1bs;
+ y1l:=5.5bs;
+ x2l:=1bs;
+ y2l:=3bs;
+ x3l:=1.6bs;
+ y3l:=1bs;
+ x4l:=3.7bs;
+ y4l:=0;
+ x5l:=11bs;
+ y5l:=0;
+ x6l:=13.4bs;
+ y6l:=1bs;
+ x7l:=14bs;
+ y7l:=3bs;
+ x8l:=14bs;
+ y8l:=5.5bs;
+
+ penpos1(4.3bs,0);
+ penpos2(4.3bs,7);
+ penpos3(4.4bs,28);
+ penpos4(3.7bs,48);
+ penpos5(3.4bs,126);
+ penpos6(4.4bs,152);
+ penpos7(4.3bs,174);
+ penpos8(4.3bs,180);
+
+ penstroke z1e---z2e{z2-z1}..{z5-z4}z4e---z5e{z5-z4}..{z8-z7}z7e---z8e;
+
+ x12r:=14bs;
+ y12r:=11.8bs;
+ x13r:=14bs;
+ y13r:=14.3bs;
+ x14r:=13.4bs;
+ y14r:=16.3bs;
+ x15r:=11.3bs;
+ y15r:=17.3bs;
+ x16r:=4bs;
+ y16r:=17.3bs;
+ x17r:=1.6bs;
+ y17r:=16.3bs;
+ x18r:=1bs;
+ y18r:=14.3bs;
+ x19r:=1bs;
+ y19r:=5.5bs;
+ penpos12(4.25bs,0);
+ penpos13(4.3bs,7);
+ penpos14(4.4bs,28);
+ penpos15(3.7bs,48);
+ penpos16(3.4bs,126);
+ penpos17(4.4bs,152);
+ penpos18(4.3bs,174);
+ penpos19(4.25bs,180);
+
+ penstroke z12e---z13e{z13-z12}..{z16-z15}z15e---z16e{z16-z15}..{z19-z18}z18e---z19e;
+ penlabels(1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19);
+enddef;
+
+vardef char.I =
+% setwidth (6bs);
+ x1l:=1bs;
+ y1l:=0;
+ x2l:=1bs;
+ y2l:=17.3bs;
+ penpos1(4.2bs,0);
+ penpos2(4.2bs,0);
+ penstroke z1e..z2e;
+ penlabels(1,2);
+enddef;
+
+%vardef char.a = char.A enddef;
+%vardef char.s = char.S enddef;
+%vardef char.c = char.C enddef;
+%vardef char.i = char.I enddef;
+
+vardef make@#(expr char_w)=
+ begingroup beginchar(str@#,char_w,hheight,ydepth);
+ "the character "&str @#; char@#;
+% if (fontsize#*mag>30) and (proofing=0): mask(char_w,hheight); fi
+ endchar;
+endgroup enddef;
+
+%vardef make@#(expr char_w)=
+% begingroup beginchar(str@#,char_w,hheight,ydepth);
+% "the character "&str @#; char@#; endchar;
+%endgroup enddef;
+
+smoothing:=10;
+
+make.S(14bss);
+make.C(14bss);
+make.A(16bss);
+make.I(5.5bss);
diff --git a/Master/texmf-dist/fonts/source/public/ascmac/ascii10.mf b/Master/texmf-dist/fonts/source/public/ascmac/ascii10.mf
new file mode 100644
index 00000000000..0ec5a453348
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/ascmac/ascii10.mf
@@ -0,0 +1,3 @@
+fontsize#=10;
+input ascii;
+end;
diff --git a/Master/texmf-dist/fonts/source/public/ascmac/ascii36.mf b/Master/texmf-dist/fonts/source/public/ascmac/ascii36.mf
new file mode 100644
index 00000000000..06a19cb0122
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/ascmac/ascii36.mf
@@ -0,0 +1,3 @@
+fontsize#=36;
+input ascii;
+end;
diff --git a/Master/texmf-dist/fonts/tfm/public/ascmac/ascgrp.tfm b/Master/texmf-dist/fonts/tfm/public/ascmac/ascgrp.tfm
new file mode 100644
index 00000000000..0132f977368
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/ascmac/ascgrp.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/ascmac/ascii10.tfm b/Master/texmf-dist/fonts/tfm/public/ascmac/ascii10.tfm
new file mode 100644
index 00000000000..f3ab6ebcaae
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/ascmac/ascii10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/ascmac/ascii36.tfm b/Master/texmf-dist/fonts/tfm/public/ascmac/ascii36.tfm
new file mode 100644
index 00000000000..8e8709457de
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/ascmac/ascii36.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/ascmac/ascgrp.pfb b/Master/texmf-dist/fonts/type1/public/ascmac/ascgrp.pfb
new file mode 100644
index 00000000000..e40ceafc7be
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/ascmac/ascgrp.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/ascmac/ascii10.pfb b/Master/texmf-dist/fonts/type1/public/ascmac/ascii10.pfb
new file mode 100644
index 00000000000..ea647b5d49a
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/ascmac/ascii10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/ascmac/ascii36.pfb b/Master/texmf-dist/fonts/type1/public/ascmac/ascii36.pfb
new file mode 100644
index 00000000000..5e9e8c73947
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/ascmac/ascii36.pfb
Binary files differ
diff --git a/Master/texmf-dist/source/latex/ascmac/Makefile b/Master/texmf-dist/source/latex/ascmac/Makefile
new file mode 100644
index 00000000000..06c631d4d3c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/ascmac/Makefile
@@ -0,0 +1,58 @@
+STRIPTARGET = tascmac.sty
+DOCTARGET = ascmac
+PDFTARGET = $(addsuffix .pdf,$(DOCTARGET))
+DVITARGET = $(addsuffix .dvi,$(DOCTARGET))
+KANJI = -kanji=utf8
+FONTMAP = -f ipaex.map -f ptex-ipaex.map
+TEXMF = $(shell kpsewhich -var-value=TEXMFHOME)
+
+default: $(STRIPTARGET) $(DVITARGET)
+strip: $(STRIPTARGET)
+all: $(STRIPTARGET) $(PDFTARGET)
+
+ASCMAC = tascmac.sty ascmac.sty
+
+ASCMAC_SRC = ascmac.dtx
+
+# for generating files, we use pdflatex incidentally.
+# current packages contain ASCII characters only, safe enough
+tascmac.sty: $(ASCMAC_SRC)
+ rm -f $(ASCMAC)
+ pdflatex ascmac.ins
+ rm ascmac.log
+
+ascmac.dvi: $(ASCMAC_SRC)
+ rm -f platex.cfg
+ platex $(KANJI) ascmac.dtx
+ platex $(KANJI) ascmac.dtx
+ rm ascmac.aux ascmac.log ascmac.toc
+
+ascmac.pdf: ascmac.dvi
+ dvipdfmx $(FONTMAP) $<
+
+.PHONY: install clean cleanstrip cleanall cleandoc
+install:
+ mkdir -p ${TEXMF}/doc/latex/ascmac
+ cp ./LICENSE ${TEXMF}/doc/latex/ascmac/
+ cp ./README.md ${TEXMF}/doc/latex/ascmac/
+ cp ./*.pdf ${TEXMF}/doc/latex/ascmac/
+ mkdir -p ${TEXMF}/fonts/source/public/ascmac
+ cp ./*.mf ${TEXMF}/fonts/source/public/ascmac/
+ mkdir -p ${TEXMF}/fonts/type1/public/ascmac
+ cp ./*.pfb ${TEXMF}/fonts/type1/public/ascmac/
+ mkdir -p ${TEXMF}/fonts/tfm/public/ascmac
+ cp ./*.tfm ${TEXMF}/fonts/tfm/public/ascmac/
+ mkdir -p ${TEXMF}/source/latex/ascmac
+ cp ./Makefile ${TEXMF}/source/latex/ascmac/
+ cp ./*.dtx ${TEXMF}/source/latex/ascmac/
+ cp ./*.ins ${TEXMF}/source/latex/ascmac/
+ mkdir -p ${TEXMF}/tex/latex/ascmac
+ cp ./*.sty ${TEXMF}/tex/latex/ascmac/
+clean:
+ rm -f $(ASCMAC) $(DVITARGET)
+cleanstrip:
+ rm -f $(ASCMAC)
+cleanall:
+ rm -f $(ASCMAC) $(DVITARGET) $(PDFTARGET)
+cleandoc:
+ rm -f $(DVITARGET) $(PDFTARGET)
diff --git a/Master/texmf-dist/source/latex/ascmac/ascmac.dtx b/Master/texmf-dist/source/latex/ascmac/ascmac.dtx
new file mode 100644
index 00000000000..66badfe8669
--- /dev/null
+++ b/Master/texmf-dist/source/latex/ascmac/ascmac.dtx
@@ -0,0 +1,757 @@
+% \iffalse meta-comment
+%
+% Copyright (c) 2010 ASCII MEDIA WORKS
+% Copyright (c) 2016-2018 Japanese TeX Development Community
+%
+% This file is part of ascmac community edition.
+% -------------------------------------------------------------
+%
+% \fi
+%
+%
+% \iffalse
+%
+% 2018/03/09 v2.0h
+% - Moved to new GitHub repository:
+% https://github.com/texjporg/ascmac
+% 2017/12/22 v2.0g
+% - Made compatible with pict2e also for tate-gumi.
+% 2017/12/17 v2.0f
+% - Fix a bug.
+% 2017/12/06 v2.0e
+% - Again works with non-e-TeX engines.
+% 2017/07/22 v2.0d
+% - Check existing \Return definition and throw an error
+% if it is not compatible with ascmac.
+% 2016/08/21 v2.0c
+% - Support pdfLaTeX, XeLaTeX and LuaLaTeX.
+% 2016/04/15 v2.0b
+% - Simplify \@keytop.
+% 2016/03/13 v2.0a
+% - Avoid arithmetic overflow in \mask/\maskbox.
+% 2016/03/12 v2.0
+% - Converted to DTX file.
+% - Remove extra spaces before/after \keytop[c]{...}.
+% - Adjust parameters for \keytop.
+% 2016/03/06
+% - Set \tbaselineshift in itembox str and shadebox env.
+% - Delete \tbaselineshift\z@ in \mask and \Maskbox.
+% - Save \ybaselineshift.
+% 2016/03/04
+% - boxnote, shadebox begin with \par\vspace{.3\baselineskip}.
+% - Adjust the width of shadebox environment.
+% 2016/02/21 (many thanks to ZR for suggestions in bxascmac)
+% - Made compatible with pict2e (tate-gumi not supported yet).
+% - Adjust parameters for drawing rounded rectangles.
+% - Fix bugs in \maskbox and \Maskbox.
+% 2006/07/14 (ST): itembox, screen environment bug fix.
+% 2002/04/01 (KN): ASCII logo macros
+% 1998/11/27 (KN and FTEXers): itembox
+% 1998/02/27 (KN): set \tbaselineshift in minipage environment.
+%
+% \fi
+%
+% \iffalse
+%<*ascmac>
+%% wrapper for tascmac.sty
+%%
+%</ascmac>
+%<*tascmac>
+%% "tascmac" document style option for tate gumi.
+%%
+%% Original version:
+%% Copyright (C) by 1993, ASCII Corporation & Impress Corporation.
+%% (Last update: 2006/07/14)
+%% Modified by Japanese TeX Development Community, since 2016.
+%%
+%% (ChangeLog has moved to the source file ``ascmac.dtx'')
+%%
+%</tascmac>
+%<ascmac|tascmac>\NeedsTeXFormat{LaTeX2e}
+%<*driver>
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesFile{ascmac.dtx}
+%</driver>
+%<tascmac>\ProvidesPackage{tascmac}
+%<ascmac>\ProvidesPackage{ascmac}
+ [2018/03/09 v2.0h
+%<driver|tascmac> ascmac package (community edition)
+%<ascmac> ascmac wrapper (community edition)
+ ]
+%<*driver>
+\documentclass{jltxdoc}
+\usepackage{ascmac}
+\GetFileInfo{ascmac.dtx}
+\title{The \textsf{ascmac} package \fileversion}
+\author{Japanese \TeX\ Development Community}
+\date{作成日:\filedate}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \tableofcontents
+%
+% \section{はじめに}
+%
+% \textsf{ascmac}パッケージは、\LaTeXe{}の標準機能の範囲で、図や罫線で
+% 囲んだボックスを出力する命令などを提供します。\textsf{ascmac}パッケージ
+% の実体は\textsf{tascmac}パッケージですが、これはもともと古いp\LaTeX{}で
+% 配布されていた横組専用\textsf{ascmac}パッケージと、それを縦組に対応させ
+% た\textsf{tascmac}パッケージを統合した名残です。
+%
+% このドキュメントは、アスキーによって配布されている 2006/07/14 バージョン
+% から派生して、日本語\TeX{}開発コミュニティによって開発されているバージョン
+% のために新たに書かれました。コミュニティ版では、オリジナルのアスキー版の
+% コードを元に、いくつかのバグ修正と他のパッケージとの互換性を改善しました。
+% また、v2.0c以降ではpdf\LaTeX{}などのエンジンもサポートしました。
+%
+%\iffalse
+% The package \textsf{ascmac} provides fancy boxes etc., within the scope
+% of native \LaTeXe\ picture commands (thus driver-independent).
+% This package was originally part of Japanese \pLaTeX, but now it
+% supports pdf\LaTeX, Xe\LaTeX\ and Lua\LaTeX.
+%\fi
+%
+% \section{使いかた}
+%
+% \subsection{環境型の命令}
+%
+% \textsf{ascmac}パッケージが提供する環境型の命令は4種類あります。それぞれ
+% テキストなどを罫線枠で囲んで出力します。
+%
+% これらの環境は、すべて横幅がその時点での |\linewidth| の値になりますの
+% で、ボックスの幅を変更したい場合は |minipage| 環境などで囲んでください。
+% 縦の長さは、自動的に内容に合わせて調整されます。 \medskip
+%
+% \DescribeEnv{boxnote}
+% |boxnote| 環境は、破ったメモ用紙のような雰囲気のボックスを作ります。
+% 破ったような形の罫線は、ascgrpフォントを使って実現されています。
+%
+% \begin{boxnote}
+% ボックスノート環境です。
+% \end{boxnote}
+% は、以下の入力から得られます。
+%\begin{verbatim}
+% \begin{boxnote}
+% ボックスノート環境です。
+% \end{boxnote}
+%\end{verbatim}
+%
+% \DescribeEnv{screen}
+% |screen| 環境は、四隅が丸い囲み枠の中にテキストを入れます。
+% オプション引数として |0| から |8| の整数値を指定すれば、四隅の丸みの
+% 具合を変更することができます。整数値を大きくするにつれて丸みは小さく
+% なっていきます。省略した場合は |0| とみなされます。
+%
+% \begin{screen}
+% 四隅が丸い囲み枠です。
+% \end{screen}
+% \begin{screen}[4]
+% 四隅が丸い囲み枠です。
+% \end{screen}
+% は、以下の入力から得られます。
+%\begin{verbatim}
+% \begin{screen}
+% 四隅が丸い囲み枠です。
+% \end{screen}
+% \begin{screen}[4]
+% 四隅が丸い囲み枠です。
+% \end{screen}
+%\end{verbatim}
+%
+% \DescribeEnv{itembox}
+% |itembox| 環境は |screen| 環境に似ていますが、上端の罫線のところにタイトル
+% を出力することができます。また、オプション引数 |l|, |c|, |r| でタイトル
+% の出力位置を左、中央、右と指定できます。省略した場合は中央になります。
+%
+% \begin{itembox}[l]{タイトル}
+% 項目ボックスです。
+% \end{itembox}
+% は、以下の入力から得られます。
+%\begin{verbatim}
+% \begin{itembox}[l]{タイトル}
+% 項目ボックスです。
+% \end{itembox}
+%\end{verbatim}
+%
+% \DescribeEnv{shadebox}
+% |shadebox| 環境は、影付きボックスの中にテキストを入れます。
+% 影の幅は |\shaderule| パラメータで規定され、デフォルトは5ptです。
+%
+% \begin{shadebox}
+% 影付きのボックスです。
+% \end{shadebox}
+% は、以下の入力から得られます。
+%\begin{verbatim}
+% \begin{shadebox}
+% 影付きのボックスです。
+% \end{shadebox}
+%\end{verbatim}
+%
+% \subsection{網掛け命令}
+%
+% 網掛けをする命令が3種類用意されています。|\mask| 命令は、引数の内容の部分
+% に網を掛けます。|\maskbox| 命令と |\Maskbox| 命令は、幅と高さを指定して
+% 網掛けすることができます。そして、|\maskbox| 命令と |\Maskbox| 命令の違い
+% は、後者のみボックスの周りに罫線を引くという点です。
+%
+% これらの命令は、いずれもascgrpフォントに収録されている網掛けパターンの
+% 文字を並べることで網掛けを実現しています。
+%
+% \makeatletter
+% \begin{table}[htbp]
+% \centering
+% \begin{tabular}{llll}
+% A = {\@ascgrp A} & B = {\@ascgrp B} & C = {\@ascgrp C} & D = {\@ascgrp D} \\
+% E = {\@ascgrp E} & F = {\@ascgrp F} & G = {\@ascgrp G} & H = {\@ascgrp H} \\
+% I = {\@ascgrp I} & J = {\@ascgrp J} & K = {\@ascgrp K} &
+% \end{tabular}
+% \end{table}
+% \makeatother
+%
+% \DescribeMacro{\mask}
+% |\mask| 命令は、第1引数が網掛けをする内容で、第2引数が網掛けパターンを
+% 示す記号(AからK)です。
+%
+% \begin{center}
+% \mask{網掛け例1}{A} \hfil \mask{網掛け例2}{C}
+% \end{center}
+% は、以下の入力から得られます。
+%\begin{verbatim}
+% \mask{網掛け例1}{A} \hfil \mask{網掛け例2}{C}
+%\end{verbatim}
+%
+% \DescribeMacro{\maskbox}
+% |\maskbox| 命令は5つの引数を持ち、それぞれボックスの幅、高さ、
+% 網掛けパターン、出力位置、網掛けをする内容です。出力位置は |l|, |c|, |r| の
+% いずれかで、それぞれ左、中央、右に出力します。
+%
+% \begin{center}
+% \maskbox{25em}{4em}{E}{c}{幅を指定した網掛けボックス}
+% \end{center}
+% は、以下の入力から得られます。
+%\begin{verbatim}
+% \maskbox{25em}{4em}{E}{c}{幅を指定した網掛けボックス}
+%\end{verbatim}
+%
+% \DescribeMacro{\Maskbox}
+% |\Maskbox| 命令は |\maskbox| 命令と同様の引数を持ちますが、網掛けをする内容の
+% 指定の前、すなわち5番目の引数として、ボックスを囲む罫線の太さも指定します。
+% したがって、全部で6つの引数を持ちます。
+%
+% \begin{center}
+% \Maskbox{30em}{4em}{A}{c}{1pt}{幅を指定した罫線付き網掛けボックス}
+% \end{center}
+% は、以下の入力から得られます。
+%\begin{verbatim}
+% \Maskbox{30em}{4em}{A}{c}{1pt}{幅を指定した罫線付き網掛けボックス}
+%\end{verbatim}
+%
+% \subsection{その他の命令}
+%
+% \DescribeMacro{\keytop}
+% |\keytop| コマンドは、キーボード上の文字を示すときなどに便利です。
+%
+% \begin{table}[htbp]
+% \centering
+% \begin{tabular}{cc}
+% 入力 & 出力 \\
+% |\keytop{A}| & \keytop{A} \\
+% |\keytop{あ}| & \keytop{あ}
+% \end{tabular}
+% \end{table}
+%
+% \DescribeMacro{\yen}
+% \DescribeMacro{\return}
+% \DescribeMacro{\Return}
+% 円記号を出力する |\yen| 命令は、Yと=を重ね合わせて出力しています。
+% 改行記号は |\return| と |\Return| です。改行記号はascgrpフォント
+% を用いています。
+%
+% \begin{table}[htbp]
+% \centering
+% \begin{tabular}{cc}
+% 入力 & 出力 \\
+% |\yen| & \yen \\
+% |\return| & \return \\
+% |\Return| & \Return
+% \end{tabular}
+% \end{table}
+%
+% \DescribeMacro{\ascii}
+% \DescribeMacro{\Ascii}
+% \DescribeMacro{\ASCII}
+% アスキーコーポレーションのロゴを出力する命令です。
+% サイズは3種類用意されています。
+%
+% \ascii \hfil \Ascii \hfil \ASCII
+%
+%
+% \StopEventually{}
+%
+% \section{コード}
+%
+% \textsf{ascmac}パッケージは\textsf{tascmac}パッケージのラッパーです。
+% \begin{macrocode}
+%<*ascmac>
+\RequirePackage{tascmac}
+%</ascmac>
+% \end{macrocode}
+%
+% 従来、\textsf{tascmac}パッケージの動作条件は、p\LaTeXe{}でした。
+% しかし、community editionでは、バージョンv2.0c以降でほかのエンジンも
+% サポートすることにしました。
+% \begin{macrocode}
+%<*tascmac>
+%%
+%% Originally `ascmac' and `tascmac' can be used only in
+%% pLaTeX, upLaTeX or LuaLaTeX with LuaTeX-ja support.
+%% We (texjporg) started to support other engines, such as
+%% pdfLaTeX, XeLaTeX and LuaLaTeX (even without LuaTeX-ja).
+%%
+\newif\ifascmac@ptex \ascmac@ptextrue
+\ifx\kanjiskip\@undefined
+ \@ifpackageloaded{luatexja}{%
+ \PackageInfo{tascmac}{%
+ Patch from LuaTeX-ja will be applied}%
+ }{%
+ \PackageInfo{tascmac}{%
+ Assuming pdfLaTeX, XeLaTeX or LuaLaTeX}%
+ \ascmac@ptexfalse
+ }%
+\fi
+% \end{macrocode}
+%
+% (u)p\LaTeXe{}とLua\TeX-ja以外をサポートするためのトリックです。
+% 「Q」という文字のカテゴリーコードをこのパッケージを読んでいる間だけ
+% 変更し、(u)p\LaTeXe{}またはLua\TeX-jaでは無視する文字に、それ以外では
+% コメント文字(|%|と同じ)にします。
+% \changes{2016/08/21}{v2.0c}{pdf\LaTeX{}などをサポート}
+% \begin{macrocode}
+\chardef\ascmac@q@catcode=\catcode`\Q\relax
+\ifascmac@ptex
+ \catcode`\Q=9\relax
+\else
+ \catcode`\Q=14\relax
+\fi
+% \end{macrocode}
+%
+% pdf\LaTeX{}やLua\LaTeX{}のプリミティブを使って、ascgrpのType1フォントを
+% 使用できるように設定します。
+% \changes{2016/08/21}{v2.0c}{pdf\LaTeX{}でascgrpのType1フォントを使用}
+% \changes{2017/12/06}{v2.0e}{念のためe-拡張なしのエンジンでのエラーを防止}
+% \changes{2017/12/17}{v2.0f}{判定が逆になっていたのを修正}
+% \begin{macrocode}
+%%
+%% Use Type1 font for ascgrp (pdfLaTeX, LuaLaTeX)
+\ifascmac@ptex\else
+ \ifx\pdfextension\@undefined
+ \ifx\pdfmapline\@undefined\else
+ % pdfTeX, LuaTeX (<=0.81)
+ \pdfmapline{+ascgrp <ascgrp.pfb}
+ \pdfmapline{+ascii10 <ascii10.pfb}
+ \pdfmapline{+ascii36 <ascii36.pfb}
+ \fi
+ \else
+ % LuaTeX (>=0.85)
+ \pdfextension mapline{+ascgrp <ascgrp.pfb}
+ \pdfextension mapline{+ascii10 <ascii10.pfb}
+ \pdfextension mapline{+ascii36 <ascii36.pfb}
+ \fi
+\fi
+% \end{macrocode}
+%
+% \begin{macro}{\@savetbaselineshift}
+% \begin{macro}{\@saveybaselineshift}
+% |\tbaselineshift| と |\ybaselineshift| を一時退避するための準備です。
+% \changes{2016/08/21}{v2.0c}{定義済みの場合はあえて定義しないようにした}
+% \begin{macrocode}
+%%
+%% ascmac.sty 10/28 '88
+%% ASCII special macros
+Q \ifx\@savetbaselineshift\@undefined \newdimen\@savetbaselineshift \fi
+Q \ifx\@saveybaselineshift\@undefined \newdimen\@saveybaselineshift \fi
+%%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@ASCII}
+% \begin{macro}{\ascii}
+% \begin{macro}{\Ascii}
+% \begin{macro}{\ASCII}
+% アスキーコーポレーションのロゴです。
+% \begin{macrocode}
+%% ASCII logo
+\def\@@ASCII#1#2#3{\shortstack{#1 ASCII \\[#3]
+ \fontsize{#2}{\z@}\usefont{OT1}{cmss}{m}{n}ASCII CORPORATION}}
+\def\ascii{\@ifundefined{@ascii}{\font\@ascii=ascii10 scaled \magstep4}{}%
+ \@@ASCII\@ascii{5pt}{-6pt}}
+\def\Ascii{\@ifundefined{@Ascii}{\font\@Ascii=ascii10 scaled \magstep5}{}%
+ \@@ASCII\@Ascii{6pt}{-7pt}}
+\def\ASCII{\@ifundefined{@ASCII}{\font\@ASCII=ascii36}{}%
+ \@@ASCII\@ASCII{9pt}{-9pt}}
+%%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% |boxnote| 環境などで使う命令の準備です。
+% \begin{macrocode}
+%% boxnote environment
+\font\@ascgrp=ascgrp
+\newbox\scb@x \newbox\scscb@x
+\newdimen\@bw\newbox\@nbox\newbox\@nbody
+% \end{macrocode}
+%
+% \begin{environment}{boxnote}
+% |boxnote| 環境を定義します。
+% \begin{macrocode}
+\def\boxnote{\par\vspace{.3\baselineskip}%
+Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@
+Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+ \setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b}
+ \@whiledim \wd\@nbox<\hsize \do{
+ \setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}}
+ \setbox\@nbox=\hbox to\hsize{\@ascgrp\unhbox\@nbox \hss a\hss b%
+ \vrule width1.08pt depth35pt}
+ \@bw=\wd\@nbox\advance\@bw -40pt
+ \begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27)
+Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift
+}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\endboxnote{\end{minipage}\end{lrbox}%
+ \vbox{\parindent=0pt\offinterlineskip\copy\@nbox
+ \hbox to\wd\@nbox{\vrule width1.08pt\hfil\box\@nbody\hfil\vrule width1.08pt}
+ \hbox to\wd\@nbox{\vrule width1.08pt height15pt\hfil
+ \vrule width1.08pt height15pt}\hrule height1.08pt}}
+%%
+% \end{macrocode}
+% \end{environment}
+%
+% |screen| 環境などで使う命令の準備です。
+% コミュニティ版では、縦組でpict2eパッケージと共存しても壊れないように、
+% |\oval| を常に横組ボックスの中で呼び出すようにしました。
+% このときに |\oval| の引数を正しく渡す処理も追加しています。
+% \changes{2017/12/22}{v2.0g}{縦組でpict2eと共存しても壊れないように、
+% \cs{oval}を常に横組ボックスの中で呼び出すようにした}
+% \begin{macrocode}
+%% screen environment
+\newdimen\@scw
+\newbox\ascmac@hoboxa
+\newbox\ascmac@hoboxb
+\def\ascmac@parse@ovarg#1{%
+Q \iftdir
+Q \def\ascmac@ovarg{}%
+Q \@tfor\reserved@a:=#1\do{%
+Q \if l\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg t}%
+Q \else\if t\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg r}%
+Q \else\if r\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg b}%
+Q \else\if b\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg l}%
+Q \fi\fi\fi\fi}%
+Q \else
+ \def\ascmac@ovarg{#1}%
+Q \fi
+}
+\def\ascmac@pass@oval#1#2{\oval(#2,#2)[#1]}
+\def\@hobox#1#2#3{%
+ \ascmac@parse@ovarg{#1}\setbox\ascmac@hoboxa=\hbox{%
+Q \yoko
+ \expandafter\ascmac@pass@oval\expandafter{\ascmac@ovarg}{#3}\hss}%
+ \ascmac@parse@ovarg{#2}\setbox\ascmac@hoboxb=\hbox{%
+Q \yoko
+ \expandafter\ascmac@pass@oval\expandafter{\ascmac@ovarg}{#3}\hss}%
+ \wd\ascmac@hoboxa=\z@ \wd\ascmac@hoboxb=\z@
+ % the following two lines are unnecessary for (u)pLaTeX, but
+ % added intentionally for LuaTeX-ja (\wd <-> \ltjsetwd incompatible)
+ \ht\ascmac@hoboxa=\z@ \ht\ascmac@hoboxb=\z@
+ \dp\ascmac@hoboxa=\z@ \dp\ascmac@hoboxb=\z@
+ \hbox to\@scw{\box\ascmac@hoboxa\hfil\box\ascmac@hoboxb\relax
+ \dimen\z@=#3\unitlength\advance\dimen\z@\@wholewidth
+ \vrule\@width\z@\@height\z@\@depth.5\dimen\z@}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@vrf@#1#2{\vskip#1\leaders\vrule width#2\vfil\vskip#1}
+% \end{macrocode}
+%
+% \begin{environment}{screen}
+% |screen| 環境を定義します。
+% \begin{macrocode}
+\def\screen{%
+Q \@saveybaselineshift\ybaselineshift \ybaselineshift\z@
+Q \@savetbaselineshift\tbaselineshift \tbaselineshift\z@
+ \@ifnextchar[{\@screen}{\@screen[0]}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@screen[#1]{\ifcase#1\def\@r{20}\def\@s{9.8pt}\def\@sx{10pt}\or
+ \def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or
+ \def\@r{16}\def\@s{7.8pt}\def\@sx{8pt}\or
+ \def\@r{14}\def\@s{6.8pt}\def\@sx{7pt}\or
+ \def\@r{12}\def\@s{5.8pt}\def\@sx{6pt}\or
+ \def\@r{10}\def\@s{4.8pt}\def\@sx{5pt}\or
+ \def\@r{8}\def\@s{3.8pt}\def\@sx{4pt}\or
+ \def\@r{6}\def\@s{2.8pt}\def\@sx{3pt}\else
+ \def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi
+ \par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt
+ \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27)
+Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift
+}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\endscreen{\end{minipage}\egroup%
+ \setbox\scscb@x=\hbox to\linewidth{\hfil\vbox{\offinterlineskip%
+ \thinlines\setlength{\unitlength}{1pt}\hrule\kern\@s%
+ \@hobox{tl}{tr}{\@r}\kern-\@sx\box\scb@x\@hobox{bl}{br}{\@r}%
+ \kern-.4pt\hrule}\hfil}\dimen0=\ht\scscb@x%
+ \dimen2=\@sx\advance\dimen2 .2pt
+ \noindent\hbox to\linewidth{\hbox to.2pt{\vbox to\dimen0{\@vrf@{\dimen2}{.4pt}}%
+ \hss}\box\scscb@x\hbox to.2pt{\hss\vbox to\dimen0{\@vrf@{\dimen2}{.4pt}}}\hss}}%
+%%
+% \end{macrocode}
+% \end{environment}
+%
+% |itembox| 環境などで使う命令の準備です。
+% \begin{macrocode}
+%% itembox environment
+%% replace \box0 with \@iboxstr; thanks FTEXers (1998/11/27)
+\newdimen\@itemh\newtoks\@iboxpos\newbox\@iboxstr
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@hleader{\leaders\hrule height .8pt\hfil}
+% \end{macrocode}
+%
+% \begin{environment}{itembox}
+% |itembox| 環境を定義します。
+% \begin{macrocode}
+\def\itembox{\@ifnextchar[{\@itembox}{\@itembox[c]}}
+\def\@itembox[#1]#2{%
+Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@
+Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+ \par\vspace{.3\baselineskip}%
+ \setbox\@iboxstr=\hbox{%
+Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift
+ #2}%
+ \@itemh\ht\@iboxstr\advance\@itemh\dp\@iboxstr
+ \vspace{.5\@itemh}\bgroup\@scw\linewidth
+ \advance\@scw-20pt\@iboxpos={#1}%
+ \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}%
+Q \ybaselineshift\@saveybaselineshift
+Q \tbaselineshift\@savetbaselineshift% (KN:1998/02/27)
+ \vspace*{.5\@itemh}}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\enditembox{\end{minipage}\egroup%
+ \setbox\scscb@x=\hbox to\linewidth{\hfil\vbox{\offinterlineskip%
+ \thicklines\setlength{\unitlength}{1pt}%
+ \hbox to\@scw{\if l\the\@iboxpos\else\@hleader\fi
+ \space\vbox to.8pt{\vss\hbox{\box\@iboxstr}\vss}%
+ \space\if r\the\@iboxpos\else \@hleader\fi}\kern9.6pt
+ \@hobox{tl}{tr}{20}\kern-10pt\box\scb@x\@hobox{bl}{br}{20}%
+ \kern-.8pt\hrule height.8pt}\hfil}\dimen0=\ht\scscb@x%
+ \noindent\hbox to\linewidth{\hbox to.4pt{\vbox to\dimen0{\@vrf@{10.4pt}{.8pt}}%
+ \hss}\box\scscb@x\hbox to.4pt{\hss\vbox to\dimen0{\@vrf@{10.4pt}{.8pt}}}%
+ \hss}\egroup}
+%%
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\keytop}
+% \begin{macro}{\@keytop}
+% |\keytop| 命令です。
+% \begin{macrocode}
+%% \keytop
+\def\keytop{\@ifnextchar[{\@keytop}{\@keytop[d]}}
+\def\@keytop[#1]#2{%
+ {\setbox0=\hbox{\shortstack{#2}}%
+Q \ybaselineshift\z@ \tbaselineshift\z@
+ \dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt%
+ \setbox\scscb@x=\hbox to\dimen0{%
+Q \iftdir\tate\else\yoko\fi
+ \@scw\wd0\hfil\vtop{\offinterlineskip
+ \thinlines\setlength{\unitlength}{1pt}\hrule\kern2.3pt\@hobox{tl}{tr}5%
+ \kern-2.4pt\box0\@hobox{bl}{br}5\kern-.4pt\hrule}\hfil}%
+ \dimen0=\dp\scscb@x\advance\dimen0 -.4pt
+ \setbox0=\vbox{\hbox{\hbox to.2pt{\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}\hss}%
+ \box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}}}}%
+ \if #1c\mbox{}$\vcenter{\box0}$\mbox{}\else
+ \if #1t\else\if #1b\boxmaxdepth=0pt\else
+ \boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}}
+%%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\yen}
+% \changes{1996/03/13}{v1.1}{Append \cs{leavevmode} in
+% \cs{yen}, \cs{return}, \cs{Return} command.}
+% 円記号です。
+% \begin{macrocode}
+%% \yen
+\def\yen{\leavevmode\hbox{%
+Q \iftdir\yoko\fi
+ \setbox0=\hbox{Y}Y\kern-.97\wd0\vbox{\hrule height.1ex width.98\wd0
+ \kern.33ex\hrule height.1ex width.98\wd0\kern.45ex}}}
+% \end{macrocode}
+%%
+% \end{macro}
+%
+% \begin{macro}{\return}
+% \begin{macro}{\Return}
+% 改行記号です。|\return|や|\Return|という名称はありふれているので、
+% ascmacパッケージの定義が別のパッケージと衝突する場合があります
+% (例:algorithm2eパッケージ)。
+% そこで、|\Return|という命令が既に定義されていて、かつascgrpフォントが
+% 不使用と判断される場合はエラーを出します。本来ならば|\return|も同様に
+% チェックしたいのですが、「okumacroパッケージの後にascmacパッケージを
+% 読み込むと、エラーなしにascmacパッケージの定義が勝つ」という従来の挙動
+% を維持するため、現時点ではチェックしません。
+% \begin{macrocode}
+%% return-key
+\begingroup
+\def\ascmac@definable{\PackageInfo{ascmac}{Command
+ \@backslashchar\reserved@a\space already defined, but
+ compatible with\MessageBreak ascmac package, overwriting}}
+\def\ascmac@check#1{\ifx#1\@undefined\else\ascmac@parse{#1}\fi}
+\def\ascmac@parse#1{\edef\reserved@a{\expandafter\@gobble\string #1}%
+ \edef\ascmac@parse@tmp{\meaning#1 \string\@ascgrp}%
+ \expandafter\ascmac@parse@i\ascmac@parse@tmp\@nil}
+\expandafter\def\expandafter\ascmac@parse@i
+ \expandafter#\expandafter1\string\@ascgrp#2\@nil{\ifx\relax#2\relax
+ \@notdefinable\else\ascmac@definable\fi}
+%\ascmac@check{\return}% conflict with okumacro, no check
+\ascmac@check{\Return}
+\endgroup
+% \end{macrocode}
+%
+% 改行記号の定義の本体です。
+% \begin{macrocode}
+\def\return{\leavevmode\hbox{%
+Q \iftdir\yoko\fi
+ \@ascgrp\char"20}}
+\def\Return{\leavevmode\hbox{%
+Q \iftdir\yoko\fi
+ \@ascgrp @}}
+%%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% |\mask| 命令の準備です。
+% \begin{macrocode}
+%% \mask
+\newbox\@bwsp \newbox\@@bwsp\newcount\@bcal
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\setdim@#1#2{\@bcal=#2\divide#1\@bcal\multiply#1\@bcal\advance#1 1.001#2}
+% \end{macrocode}
+%
+% \begin{macro}{\mask}
+% |\mask| 命令を定義します。
+% \begin{macrocode}
+\def\mask#1#2{{\setbox\@bwsp=\hbox{#1}%
+ \setbox0=\hbox{%
+Q \ybaselineshift\z@\tbaselineshift\z@
+ \@ascgrp#2}%
+ \dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1
+ \setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}%
+ \setbox\@@bwsp=\hbox to\dimen0{\leaders
+ \vtop to\dimen1{\leaders\box0\vfil}\hfil}%
+ \advance\dimen2\dp\@@bwsp\divide\dimen2 2
+ \advance\dimen2\dp\@bwsp\boxmaxdepth=\dimen2
+ \setbox\@@bwsp=\vbox{\box\@@bwsp}%
+ \mbox{}\hbox to\wd\@@bwsp{\hbox to0pt{\box\@@bwsp\hss}\hss\unhbox\@bwsp\hss}}}
+%%
+% \end{macrocode}
+% \end{macro}
+%
+% |\maskbox| 命令の準備です。
+% \begin{macrocode}
+%% \Maskbox{width}{height}{mask_char}{pos}{rule_wid}{body}
+%% \maskbox{width}{height}{mask_char}{pos}{body}
+\def\@setdim#1#2{\@bcal=#2\divide#1\@bcal\multiply#1\@bcal\advance#1 .001#2}
+% \end{macrocode}
+%
+% \begin{macro}{\Maskbox}
+% \begin{macro}{\maskbox}
+% |\maskbox| 命令と |\Maskbox| 命令を定義します。
+% \begin{macrocode}
+\def\Maskbox#1#2#3#4#5#6{{%
+ \setbox0=\hbox{%
+Q \ybaselineshift\z@\tbaselineshift\z@
+ \@ascgrp#3}%
+ \dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}%
+ \ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi
+ \ifx#4r\skip0=0pt plus1fil\skip1=0pt\fi
+ \ifx#4l\skip1=0pt plus1fil\skip0=0pt\fi
+ \leavevmode
+ \hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders
+ \box0\vfil}\hfil}\hss}%
+ \vrule width#5\vbox to\dimen1{\hrule height#5\vfil
+ \dimen3=#5\advance\dimen0-2\dimen3\advance\dimen0 .15pt
+ \hbox to\dimen0{\hskip\skip0\relax#6\hskip\skip1}%
+ \vfil\hrule height#5}\vrule width#5}}}
+\def\maskbox#1#2#3#4#5{\Maskbox{#1}{#2}{#3}{#4}{0pt}{#5}}
+%%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% |shadebox| 環境で使う命令の準備です。
+% \begin{macrocode}
+%% shadebox environment
+\newdimen\shaderule\shaderule 5pt
+% \end{macrocode}
+%
+% \begin{environment}{shadebox}
+% |shadebox| 環境を定義します。
+% \begin{macrocode}
+\def\shadebox{\par\vspace{.3\baselineskip}%
+Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@
+Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+ \dimen0\linewidth \advance\dimen0-20pt
+ \advance\dimen0-2\fboxrule \advance\dimen0-\shaderule
+ \setbox\@tempboxa=\hbox\bgroup\minipage{\dimen0}%
+Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\endshadebox{\endminipage\egroup\dimen0=10pt
+ \setbox\@tempboxa=\hbox{\kern\dimen0\unhbox\@tempboxa\kern\dimen0}%
+ \setbox0=\vbox{\hrule \@height \fboxrule
+ \hbox{\vrule \@width \fboxrule
+ \vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}%
+ \vrule \@width \fboxrule}\hrule \@height \fboxrule}%
+ \dimen0=\ht0 \advance\dimen0-\shaderule
+ \hbox{\hbox to \shaderule{\copy0\hss}\kern 0pt
+ \vrule width\wd0 height0pt depth\shaderule\hskip-\shaderule
+ \vrule width\shaderule height\dimen0}}
+%%
+% \end{macrocode}
+% \end{environment}
+%
+% トリックに使用した「Q」という文字のカテゴリーコードを元に戻します。
+% \changes{2016/08/21}{v2.0c}{pdf\LaTeX{}などをサポート}
+% \begin{macrocode}
+\catcode`\Q=\ascmac@q@catcode\relax
+%%
+%</tascmac>
+% \end{macrocode}
+%
+% \Finale
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/ascmac/ascmac.ins b/Master/texmf-dist/source/latex/ascmac/ascmac.ins
new file mode 100644
index 00000000000..413b1eec2ef
--- /dev/null
+++ b/Master/texmf-dist/source/latex/ascmac/ascmac.ins
@@ -0,0 +1,23 @@
+\input docstrip
+\keepsilent
+\usedir{tex/latex/ascmac}
+\ifToplevel{\askonceonly}
+
+\Msg{*** Generating ascmac package ***}
+
+\preamble
+
+Copyright (c) 2010 ASCII MEDIA WORKS
+Copyright (c) 2016-2018 Japanese TeX Development Community
+
+This file is part of ascmac community edition.
+-------------------------------------------------------------
+
+\endpreamble
+
+\generate{
+ \file{ascmac.sty}{\from{ascmac.dtx}{ascmac}}
+ \file{tascmac.sty}{\from{ascmac.dtx}{tascmac}}
+}
+
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/ascmac/ascmac.sty b/Master/texmf-dist/tex/latex/ascmac/ascmac.sty
new file mode 100644
index 00000000000..5ce995d9cf8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ascmac/ascmac.sty
@@ -0,0 +1,25 @@
+%%
+%% This is file `ascmac.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ascmac.dtx (with options: `ascmac')
+%%
+%% Copyright (c) 2010 ASCII MEDIA WORKS
+%% Copyright (c) 2016-2018 Japanese TeX Development Community
+%%
+%% This file is part of ascmac community edition.
+%% -------------------------------------------------------------
+%%
+%% wrapper for tascmac.sty
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ascmac}
+ [2018/03/09 v2.0h
+ ascmac wrapper (community edition)
+ ]
+\RequirePackage{tascmac}
+\endinput
+%%
+%% End of file `ascmac.sty'.
diff --git a/Master/texmf-dist/tex/latex/ascmac/tascmac.sty b/Master/texmf-dist/tex/latex/ascmac/tascmac.sty
new file mode 100644
index 00000000000..41e2b52123b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ascmac/tascmac.sty
@@ -0,0 +1,304 @@
+%%
+%% This is file `tascmac.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ascmac.dtx (with options: `tascmac')
+%%
+%% Copyright (c) 2010 ASCII MEDIA WORKS
+%% Copyright (c) 2016-2018 Japanese TeX Development Community
+%%
+%% This file is part of ascmac community edition.
+%% -------------------------------------------------------------
+%%
+%% "tascmac" document style option for tate gumi.
+%%
+%% Original version:
+%% Copyright (C) by 1993, ASCII Corporation & Impress Corporation.
+%% (Last update: 2006/07/14)
+%% Modified by Japanese TeX Development Community, since 2016.
+%%
+%% (ChangeLog has moved to the source file ``ascmac.dtx'')
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tascmac}
+ [2018/03/09 v2.0h
+ ascmac package (community edition)
+ ]
+%%
+%% Originally `ascmac' and `tascmac' can be used only in
+%% pLaTeX, upLaTeX or LuaLaTeX with LuaTeX-ja support.
+%% We (texjporg) started to support other engines, such as
+%% pdfLaTeX, XeLaTeX and LuaLaTeX (even without LuaTeX-ja).
+%%
+\newif\ifascmac@ptex \ascmac@ptextrue
+\ifx\kanjiskip\@undefined
+ \@ifpackageloaded{luatexja}{%
+ \PackageInfo{tascmac}{%
+ Patch from LuaTeX-ja will be applied}%
+ }{%
+ \PackageInfo{tascmac}{%
+ Assuming pdfLaTeX, XeLaTeX or LuaLaTeX}%
+ \ascmac@ptexfalse
+ }%
+\fi
+\chardef\ascmac@q@catcode=\catcode`\Q\relax
+\ifascmac@ptex
+ \catcode`\Q=9\relax
+\else
+ \catcode`\Q=14\relax
+\fi
+%%
+%% Use Type1 font for ascgrp (pdfLaTeX, LuaLaTeX)
+\ifascmac@ptex\else
+ \ifx\pdfextension\@undefined
+ \ifx\pdfmapline\@undefined\else
+ % pdfTeX, LuaTeX (<=0.81)
+ \pdfmapline{+ascgrp <ascgrp.pfb}
+ \pdfmapline{+ascii10 <ascii10.pfb}
+ \pdfmapline{+ascii36 <ascii36.pfb}
+ \fi
+ \else
+ % LuaTeX (>=0.85)
+ \pdfextension mapline{+ascgrp <ascgrp.pfb}
+ \pdfextension mapline{+ascii10 <ascii10.pfb}
+ \pdfextension mapline{+ascii36 <ascii36.pfb}
+ \fi
+\fi
+%%
+%% ascmac.sty 10/28 '88
+%% ASCII special macros
+Q \ifx\@savetbaselineshift\@undefined \newdimen\@savetbaselineshift \fi
+Q \ifx\@saveybaselineshift\@undefined \newdimen\@saveybaselineshift \fi
+%%
+%% ASCII logo
+\def\@@ASCII#1#2#3{\shortstack{#1 ASCII \\[#3]
+ \fontsize{#2}{\z@}\usefont{OT1}{cmss}{m}{n}ASCII CORPORATION}}
+\def\ascii{\@ifundefined{@ascii}{\font\@ascii=ascii10 scaled \magstep4}{}%
+ \@@ASCII\@ascii{5pt}{-6pt}}
+\def\Ascii{\@ifundefined{@Ascii}{\font\@Ascii=ascii10 scaled \magstep5}{}%
+ \@@ASCII\@Ascii{6pt}{-7pt}}
+\def\ASCII{\@ifundefined{@ASCII}{\font\@ASCII=ascii36}{}%
+ \@@ASCII\@ASCII{9pt}{-9pt}}
+%%
+%% boxnote environment
+\font\@ascgrp=ascgrp
+\newbox\scb@x \newbox\scscb@x
+\newdimen\@bw\newbox\@nbox\newbox\@nbody
+\def\boxnote{\par\vspace{.3\baselineskip}%
+Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@
+Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+ \setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b}
+ \@whiledim \wd\@nbox<\hsize \do{
+ \setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}}
+ \setbox\@nbox=\hbox to\hsize{\@ascgrp\unhbox\@nbox \hss a\hss b%
+ \vrule width1.08pt depth35pt}
+ \@bw=\wd\@nbox\advance\@bw -40pt
+ \begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27)
+Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift
+}%
+\def\endboxnote{\end{minipage}\end{lrbox}%
+ \vbox{\parindent=0pt\offinterlineskip\copy\@nbox
+ \hbox to\wd\@nbox{\vrule width1.08pt\hfil\box\@nbody\hfil\vrule width1.08pt}
+ \hbox to\wd\@nbox{\vrule width1.08pt height15pt\hfil
+ \vrule width1.08pt height15pt}\hrule height1.08pt}}
+%%
+%% screen environment
+\newdimen\@scw
+\newbox\ascmac@hoboxa
+\newbox\ascmac@hoboxb
+\def\ascmac@parse@ovarg#1{%
+Q \iftdir
+Q \def\ascmac@ovarg{}%
+Q \@tfor\reserved@a:=#1\do{%
+Q \if l\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg t}%
+Q \else\if t\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg r}%
+Q \else\if r\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg b}%
+Q \else\if b\reserved@a \edef\ascmac@ovarg{\ascmac@ovarg l}%
+Q \fi\fi\fi\fi}%
+Q \else
+ \def\ascmac@ovarg{#1}%
+Q \fi
+}
+\def\ascmac@pass@oval#1#2{\oval(#2,#2)[#1]}
+\def\@hobox#1#2#3{%
+ \ascmac@parse@ovarg{#1}\setbox\ascmac@hoboxa=\hbox{%
+Q \yoko
+ \expandafter\ascmac@pass@oval\expandafter{\ascmac@ovarg}{#3}\hss}%
+ \ascmac@parse@ovarg{#2}\setbox\ascmac@hoboxb=\hbox{%
+Q \yoko
+ \expandafter\ascmac@pass@oval\expandafter{\ascmac@ovarg}{#3}\hss}%
+ \wd\ascmac@hoboxa=\z@ \wd\ascmac@hoboxb=\z@
+ % the following two lines are unnecessary for (u)pLaTeX, but
+ % added intentionally for LuaTeX-ja (\wd <-> \ltjsetwd incompatible)
+ \ht\ascmac@hoboxa=\z@ \ht\ascmac@hoboxb=\z@
+ \dp\ascmac@hoboxa=\z@ \dp\ascmac@hoboxb=\z@
+ \hbox to\@scw{\box\ascmac@hoboxa\hfil\box\ascmac@hoboxb\relax
+ \dimen\z@=#3\unitlength\advance\dimen\z@\@wholewidth
+ \vrule\@width\z@\@height\z@\@depth.5\dimen\z@}}
+\def\@vrf@#1#2{\vskip#1\leaders\vrule width#2\vfil\vskip#1}
+\def\screen{%
+Q \@saveybaselineshift\ybaselineshift \ybaselineshift\z@
+Q \@savetbaselineshift\tbaselineshift \tbaselineshift\z@
+ \@ifnextchar[{\@screen}{\@screen[0]}}
+\def\@screen[#1]{\ifcase#1\def\@r{20}\def\@s{9.8pt}\def\@sx{10pt}\or
+ \def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or
+ \def\@r{16}\def\@s{7.8pt}\def\@sx{8pt}\or
+ \def\@r{14}\def\@s{6.8pt}\def\@sx{7pt}\or
+ \def\@r{12}\def\@s{5.8pt}\def\@sx{6pt}\or
+ \def\@r{10}\def\@s{4.8pt}\def\@sx{5pt}\or
+ \def\@r{8}\def\@s{3.8pt}\def\@sx{4pt}\or
+ \def\@r{6}\def\@s{2.8pt}\def\@sx{3pt}\else
+ \def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi
+ \par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt
+ \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27)
+Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift
+}%
+\def\endscreen{\end{minipage}\egroup%
+ \setbox\scscb@x=\hbox to\linewidth{\hfil\vbox{\offinterlineskip%
+ \thinlines\setlength{\unitlength}{1pt}\hrule\kern\@s%
+ \@hobox{tl}{tr}{\@r}\kern-\@sx\box\scb@x\@hobox{bl}{br}{\@r}%
+ \kern-.4pt\hrule}\hfil}\dimen0=\ht\scscb@x%
+ \dimen2=\@sx\advance\dimen2 .2pt
+ \noindent\hbox to\linewidth{\hbox to.2pt{\vbox to\dimen0{\@vrf@{\dimen2}{.4pt}}%
+ \hss}\box\scscb@x\hbox to.2pt{\hss\vbox to\dimen0{\@vrf@{\dimen2}{.4pt}}}\hss}}%
+%%
+%% itembox environment
+%% replace \box0 with \@iboxstr; thanks FTEXers (1998/11/27)
+\newdimen\@itemh\newtoks\@iboxpos\newbox\@iboxstr
+\def\@hleader{\leaders\hrule height .8pt\hfil}
+\def\itembox{\@ifnextchar[{\@itembox}{\@itembox[c]}}
+\def\@itembox[#1]#2{%
+Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@
+Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+ \par\vspace{.3\baselineskip}%
+ \setbox\@iboxstr=\hbox{%
+Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift
+ #2}%
+ \@itemh\ht\@iboxstr\advance\@itemh\dp\@iboxstr
+ \vspace{.5\@itemh}\bgroup\@scw\linewidth
+ \advance\@scw-20pt\@iboxpos={#1}%
+ \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}%
+Q \ybaselineshift\@saveybaselineshift
+Q \tbaselineshift\@savetbaselineshift% (KN:1998/02/27)
+ \vspace*{.5\@itemh}}%
+\def\enditembox{\end{minipage}\egroup%
+ \setbox\scscb@x=\hbox to\linewidth{\hfil\vbox{\offinterlineskip%
+ \thicklines\setlength{\unitlength}{1pt}%
+ \hbox to\@scw{\if l\the\@iboxpos\else\@hleader\fi
+ \space\vbox to.8pt{\vss\hbox{\box\@iboxstr}\vss}%
+ \space\if r\the\@iboxpos\else \@hleader\fi}\kern9.6pt
+ \@hobox{tl}{tr}{20}\kern-10pt\box\scb@x\@hobox{bl}{br}{20}%
+ \kern-.8pt\hrule height.8pt}\hfil}\dimen0=\ht\scscb@x%
+ \noindent\hbox to\linewidth{\hbox to.4pt{\vbox to\dimen0{\@vrf@{10.4pt}{.8pt}}%
+ \hss}\box\scscb@x\hbox to.4pt{\hss\vbox to\dimen0{\@vrf@{10.4pt}{.8pt}}}%
+ \hss}\egroup}
+%%
+%% \keytop
+\def\keytop{\@ifnextchar[{\@keytop}{\@keytop[d]}}
+\def\@keytop[#1]#2{%
+ {\setbox0=\hbox{\shortstack{#2}}%
+Q \ybaselineshift\z@ \tbaselineshift\z@
+ \dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt%
+ \setbox\scscb@x=\hbox to\dimen0{%
+Q \iftdir\tate\else\yoko\fi
+ \@scw\wd0\hfil\vtop{\offinterlineskip
+ \thinlines\setlength{\unitlength}{1pt}\hrule\kern2.3pt\@hobox{tl}{tr}5%
+ \kern-2.4pt\box0\@hobox{bl}{br}5\kern-.4pt\hrule}\hfil}%
+ \dimen0=\dp\scscb@x\advance\dimen0 -.4pt
+ \setbox0=\vbox{\hbox{\hbox to.2pt{\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}\hss}%
+ \box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}}}}%
+ \if #1c\mbox{}$\vcenter{\box0}$\mbox{}\else
+ \if #1t\else\if #1b\boxmaxdepth=0pt\else
+ \boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}}
+%%
+%% \yen
+\def\yen{\leavevmode\hbox{%
+Q \iftdir\yoko\fi
+ \setbox0=\hbox{Y}Y\kern-.97\wd0\vbox{\hrule height.1ex width.98\wd0
+ \kern.33ex\hrule height.1ex width.98\wd0\kern.45ex}}}
+%%
+%% return-key
+\begingroup
+\def\ascmac@definable{\PackageInfo{ascmac}{Command
+ \@backslashchar\reserved@a\space already defined, but
+ compatible with\MessageBreak ascmac package, overwriting}}
+\def\ascmac@check#1{\ifx#1\@undefined\else\ascmac@parse{#1}\fi}
+\def\ascmac@parse#1{\edef\reserved@a{\expandafter\@gobble\string #1}%
+ \edef\ascmac@parse@tmp{\meaning#1 \string\@ascgrp}%
+ \expandafter\ascmac@parse@i\ascmac@parse@tmp\@nil}
+\expandafter\def\expandafter\ascmac@parse@i
+ \expandafter#\expandafter1\string\@ascgrp#2\@nil{\ifx\relax#2\relax
+ \@notdefinable\else\ascmac@definable\fi}
+\ascmac@check{\Return}
+\endgroup
+\def\return{\leavevmode\hbox{%
+Q \iftdir\yoko\fi
+ \@ascgrp\char"20}}
+\def\Return{\leavevmode\hbox{%
+Q \iftdir\yoko\fi
+ \@ascgrp @}}
+%%
+%% \mask
+\newbox\@bwsp \newbox\@@bwsp\newcount\@bcal
+\def\setdim@#1#2{\@bcal=#2\divide#1\@bcal\multiply#1\@bcal\advance#1 1.001#2}
+\def\mask#1#2{{\setbox\@bwsp=\hbox{#1}%
+ \setbox0=\hbox{%
+Q \ybaselineshift\z@\tbaselineshift\z@
+ \@ascgrp#2}%
+ \dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1
+ \setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}%
+ \setbox\@@bwsp=\hbox to\dimen0{\leaders
+ \vtop to\dimen1{\leaders\box0\vfil}\hfil}%
+ \advance\dimen2\dp\@@bwsp\divide\dimen2 2
+ \advance\dimen2\dp\@bwsp\boxmaxdepth=\dimen2
+ \setbox\@@bwsp=\vbox{\box\@@bwsp}%
+ \mbox{}\hbox to\wd\@@bwsp{\hbox to0pt{\box\@@bwsp\hss}\hss\unhbox\@bwsp\hss}}}
+%%
+%% \Maskbox{width}{height}{mask_char}{pos}{rule_wid}{body}
+%% \maskbox{width}{height}{mask_char}{pos}{body}
+\def\@setdim#1#2{\@bcal=#2\divide#1\@bcal\multiply#1\@bcal\advance#1 .001#2}
+\def\Maskbox#1#2#3#4#5#6{{%
+ \setbox0=\hbox{%
+Q \ybaselineshift\z@\tbaselineshift\z@
+ \@ascgrp#3}%
+ \dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}%
+ \ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi
+ \ifx#4r\skip0=0pt plus1fil\skip1=0pt\fi
+ \ifx#4l\skip1=0pt plus1fil\skip0=0pt\fi
+ \leavevmode
+ \hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders
+ \box0\vfil}\hfil}\hss}%
+ \vrule width#5\vbox to\dimen1{\hrule height#5\vfil
+ \dimen3=#5\advance\dimen0-2\dimen3\advance\dimen0 .15pt
+ \hbox to\dimen0{\hskip\skip0\relax#6\hskip\skip1}%
+ \vfil\hrule height#5}\vrule width#5}}}
+\def\maskbox#1#2#3#4#5{\Maskbox{#1}{#2}{#3}{#4}{0pt}{#5}}
+%%
+%% shadebox environment
+\newdimen\shaderule\shaderule 5pt
+\def\shadebox{\par\vspace{.3\baselineskip}%
+Q \@saveybaselineshift\ybaselineshift\ybaselineshift\z@
+Q \@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+ \dimen0\linewidth \advance\dimen0-20pt
+ \advance\dimen0-2\fboxrule \advance\dimen0-\shaderule
+ \setbox\@tempboxa=\hbox\bgroup\minipage{\dimen0}%
+Q \ybaselineshift\@saveybaselineshift \tbaselineshift\@savetbaselineshift
+}
+\def\endshadebox{\endminipage\egroup\dimen0=10pt
+ \setbox\@tempboxa=\hbox{\kern\dimen0\unhbox\@tempboxa\kern\dimen0}%
+ \setbox0=\vbox{\hrule \@height \fboxrule
+ \hbox{\vrule \@width \fboxrule
+ \vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}%
+ \vrule \@width \fboxrule}\hrule \@height \fboxrule}%
+ \dimen0=\ht0 \advance\dimen0-\shaderule
+ \hbox{\hbox to \shaderule{\copy0\hss}\kern 0pt
+ \vrule width\wd0 height0pt depth\shaderule\hskip-\shaderule
+ \vrule width\shaderule height\dimen0}}
+%%
+\catcode`\Q=\ascmac@q@catcode\relax
+%%
+\endinput
+%%
+%% End of file `tascmac.sty'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 1a92deb0439..fd026de6628 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -46,7 +46,7 @@ my @TLP_working = qw(
aramaic-serto arara archaeologie archaic arcs arev arimo armtex
around-the-bend arphic arphic-ttf arrayjobx arraysort arsclassica
arydshln articleingud
- asaetr asapsym ascelike ascii-chart ascii-font asciilist
+ asaetr asapsym ascelike ascii-chart ascii-font asciilist ascmac
askmaps aspectratio
assignment assoccnt astro asyfig
asymptote-faq-zh-cn asymptote-by-example-zh-cn asymptote-manual-zh-cn
diff --git a/Master/tlpkg/tlpsrc/ascmac.tlpsrc b/Master/tlpkg/tlpsrc/ascmac.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/ascmac.tlpsrc
diff --git a/Master/tlpkg/tlpsrc/collection-langjapanese.tlpsrc b/Master/tlpkg/tlpsrc/collection-langjapanese.tlpsrc
index d529d73e89d..88db95a4e54 100644
--- a/Master/tlpkg/tlpsrc/collection-langjapanese.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-langjapanese.tlpsrc
@@ -4,6 +4,7 @@ longdesc Support for Japanese; additional packages in collection-langcjk.
#
depend collection-langcjk
#
+depend ascmac
depend babel-japanese
depend bxbase
depend bxcjkjatype