OSDN Git Service

Update lltjp-tascmac.sty (thanks to @aminophen)
[luatex-ja/luatexja.git] / src / patches / lltjp-tascmac.sty
1 %
2 % lltjp-tascmac.sty
3 %  based on tascmac.sty [2016/04/15 v2.0b (community edition)]
4 % \tbaselineshift=\z@ ==> \ltj@tablshift=\z@
5 % \ybaselineshift=\z@ ==> \ltj@yablshift=\z@
6 % \dimen...=\tbaselineshift ==> \dimen...=\ltj@tablshift sp
7 % \dimen...=\ybaselineshift ==> \dimen...=\ltj@yablshift sp
8
9 \NeedsTeXFormat{LaTeX2e}
10 \ProvidesPackage{lltjp-tascmac}[2016/05/05 Patch to (t)ascmac for LuaTeX-ja]
11
12 \RequirePackage{tascmac,luatexja}
13
14 %% use Type1 font for ascgrp
15 \pdfextension mapline{+ascgrp <ascgrp.pfb}
16
17 %% boxnote environment
18 \def\boxnote{\par\vspace{.3\baselineskip}%
19   \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@
20   \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
21   \setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b}
22   \@whiledim \wd\@nbox<\hsize \do{
23   \setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}}
24   \setbox\@nbox=\hbox to\hsize{\@ascgrp\unhbox\@nbox \hss a\hss b%
25   \vrule width1.08pt depth35pt}
26   \@bw=\wd\@nbox\advance\@bw -40pt
27   \begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27)
28     \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift}%
29
30 %% screen environment
31 \def\screen{%
32   \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@
33   \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
34   \@ifnextchar[{\@screen}{\@screen[0]}}
35 \def\@screen[#1]{\ifcase#1\def\@r{20}\def\@s{9.8pt}\def\@sx{10pt}\or
36   \def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or
37   \def\@r{16}\def\@s{7.8pt}\def\@sx{8pt}\or
38   \def\@r{14}\def\@s{6.8pt}\def\@sx{7pt}\or
39   \def\@r{12}\def\@s{5.8pt}\def\@sx{6pt}\or
40   \def\@r{10}\def\@s{4.8pt}\def\@sx{5pt}\or
41   \def\@r{8}\def\@s{3.8pt}\def\@sx{4pt}\or
42   \def\@r{6}\def\@s{2.8pt}\def\@sx{3pt}\else
43   \def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi
44   \par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt
45   \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27)
46     \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift}%
47
48 %% itembox environment
49 \def\@itembox[#1]#2{%
50   \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@
51   \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
52   \par\vspace{.3\baselineskip}%
53   \setbox\@iboxstr=\hbox{%
54   \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift #2}%
55   \@itemh\ht\@iboxstr\advance\@itemh\dp\@iboxstr
56   \vspace{.5\@itemh}\bgroup\@scw\linewidth
57   \advance\@scw-20pt\@iboxpos={#1}%
58   \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}%
59   \ltj@yablshift\@saveybaselineshift
60   \ltj@tablshift\@savetbaselineshift
61   \vspace*{.5\@itemh}}%
62
63 %% \keytop
64 \def\@keytop[#1]#2{%
65   {\setbox0=\hbox{\shortstack{#2}}\ltj@yablshift\z@\ltj@tablshift\z@%
66   \dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt%
67   \setbox\scscb@x=\hbox to\dimen0{%
68   \@scw\wd0\hfil\vtop{\offinterlineskip
69   \thinlines\setlength{\unitlength}{1pt}\hrule\kern2.3pt\@hobox{tl}{tr}5%
70   \kern-2.4pt\box0\@hobox{bl}{br}5\kern-.4pt\hrule}\hfil}%
71   \dimen0=\dp\scscb@x\advance\dimen0 -.4pt
72   \setbox0=\vbox{\hbox{\hbox to.2pt{\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}\hss}%
73   \box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}}}}%
74   \if #1c\mbox{}$\vcenter{\box0}$\mbox{}\else
75   \if #1t\else\if #1b\boxmaxdepth=0pt\else
76   \boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}}
77
78 %% \mask
79 \def\mask#1#2{{\setbox\@bwsp=\hbox{#1}%
80   \setbox0=\hbox{\ltj@yablshift\z@\ltj@tablshift\z@ \@ascgrp#2}%
81   \dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1
82   \setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}%
83   \setbox\@@bwsp=\hbox to\dimen0{\leaders
84   \vtop to\dimen1{\leaders\box0\vfil}\hfil}%
85   \advance\dimen2\dp\@@bwsp\divide\dimen2 2
86   \advance\dimen2\dp\@bwsp\boxmaxdepth=\dimen2
87   \setbox\@@bwsp=\vbox{\box\@@bwsp}%
88   \mbox{}\hbox to\wd\@@bwsp{\hbox to0pt{\box\@@bwsp\hss}\hss\unhbox\@bwsp\hss}}}
89
90 %% \maskbox
91 \def\Maskbox#1#2#3#4#5#6{{%
92   \setbox0=\hbox{\ltj@yablshift\z@\ltj@tablshift\z@ \@ascgrp#3}%
93   \dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}%
94   \ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi
95   \ifx#4r\skip0=0pt plus1fil\skip1=0pt\fi
96   \ifx#4l\skip1=0pt plus1fil\skip0=0pt\fi
97   \leavevmode
98   \hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders
99   \box0\vfil}\hfil}\hss}%
100   \vrule width#5\vbox to\dimen1{\hrule height#5\vfil
101   \dimen3=#5\advance\dimen0-2\dimen3\advance\dimen0 .15pt
102   \hbox to\dimen0{\hskip\skip0\relax#6\hskip\skip1}%
103   \vfil\hrule height#5}\vrule width#5}}}
104
105 %% shadebox environment
106 \def\shadebox{\par\vspace{.3\baselineskip}%
107   \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@
108   \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
109   \dimen0\linewidth \advance\dimen0-20pt
110   \advance\dimen0-2\fboxrule \advance\dimen0-\shaderule
111   \setbox\@tempboxa=\hbox\bgroup\minipage{\dimen0}%
112     \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift}
113
114 %% \yen
115 %
116 % \changes{1996/03/13}{v1.1}{Append \cs{leavevmode} in
117 %     \cs{yen}, \cs{return}, \cs{Return} command.}
118 %
119 \def\yen{\leavevmode\hbox{\yoko%
120 \setbox0=\hbox{Y}Y\kern-.97\wd0\vbox{\hrule height.1ex width.98\wd0
121 \kern.33ex\hrule height.1ex width.98\wd0\kern.45ex}}}
122 %
123 %% return-key
124 \def\return{\leavevmode\hbox{\yoko\@ascgrp\char"20}}
125 \def\Return{\leavevmode\hbox{\yoko\@ascgrp @}}
126
127 \endinput