summaryrefslogtreecommitdiff
path: root/macros/generic
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-07-21 03:00:45 +0000
committerNorbert Preining <norbert@preining.info>2022-07-21 03:00:45 +0000
commit5cf5182b44c08dfb2bc977ce5aa5ca6d03b36923 (patch)
treeb32d29c9fb1289ccc994ee099b27c4a45b621a0a /macros/generic
parent2773132ea593028dafe764f7560fd94ecb827d3d (diff)
CTAN sync 202207210300
Diffstat (limited to 'macros/generic')
-rw-r--r--macros/generic/fixjfm/README16
-rw-r--r--macros/generic/fixjfm/fixjfm-doc.pdfbin281286 -> 0 bytes
-rw-r--r--macros/generic/fixjfm/fixjfm-doc.tex356
-rw-r--r--macros/generic/fixjfm/fixjfm.sty278
4 files changed, 0 insertions, 650 deletions
diff --git a/macros/generic/fixjfm/README b/macros/generic/fixjfm/README
deleted file mode 100644
index 3b68f21c0b..0000000000
--- a/macros/generic/fixjfm/README
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-The fixjfm package --- Fix JFM (for *pTeX)
-
-CTAN Homepage: https://ctan.org/pkg/fixjfm
-
-Repository: https://github.com/Man-Ting-Fang/fixjfm
-
-Version: 2018-03-24 v0.8
-
-Copyright 2017--2018 Yue ZHANG
-
-License: Knuth License (https://ctan.org/license/knuth)
-
-This package fixes several bugs in the JFM format. Both LaTeX and plain TeX are
-supported.
diff --git a/macros/generic/fixjfm/fixjfm-doc.pdf b/macros/generic/fixjfm/fixjfm-doc.pdf
deleted file mode 100644
index 43147b99de..0000000000
--- a/macros/generic/fixjfm/fixjfm-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/generic/fixjfm/fixjfm-doc.tex b/macros/generic/fixjfm/fixjfm-doc.tex
deleted file mode 100644
index d52f836721..0000000000
--- a/macros/generic/fixjfm/fixjfm-doc.tex
+++ /dev/null
@@ -1,356 +0,0 @@
-
-
-% fixjfm-doc.tex
-
-% !TeX encoding = UTF-8
-% !TeX program = pdfLaTeX
-
-\RequirePackage{fix-cm}
-
-\documentclass[a4paper]{article}
-
-\usepackage{amsfonts}
-\usepackage[OT1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage[UKenglish]{babel}
-\usepackage[babel]{microtype}
-\usepackage{etoolbox}
-\usepackage{booktabs}
-
-\AtBeginEnvironment{verbatim}{\microtypesetup{activate=false}}
-
-\abovetopsep=\medskipamount
-
-\newcommand\NormalSans{\normalfont\sffamily}
-\newcommand\pkg[1]{{\protect\NormalSans#1}}
-
-\newcommand\pTeX{p\kern-0.15em\TeX}
-\newcommand\e{\ensuremath{\varepsilon}}
-\newcommand\epTeX{\e-\pTeX}
-\newcommand\ApTeX{A\kern-0.1em\pTeX}
-\newcommand\pLaTeX{p\LaTeX}
-
-\newcommand\FwBox{\ensuremath{\square}\hskip0em plus 0.05em\relax}
-
-\newbox\fwbox
-\setbox\fwbox=\hbox{\FwBox}
-
-\newcommand\TwoFwBoxes{\FwBox\FwBox}
-\newcommand\FourFwBoxes{\TwoFwBoxes\TwoFwBoxes}
-
-\newcommand\DemoText{%
- \FourFwBoxes\FourFwBoxes\FourFwBoxes\FourFwBoxes
- \FourFwBoxes\FourFwBoxes\ensuremath{\square}}
-
-\newcommand\demotext[1]{%
- \begin{minipage}{20\wd\fwbox}\centering
- \fbox{\begin{minipage}{16\wd\fwbox}%
- \hskip2\wd\fwbox\relax\DemoText\par
- \leavevmode\hbox to#1\wd\fwbox{\hss``}\DemoText''\par
- \hskip2\wd\fwbox\relax\DemoText\par
- \end{minipage}}%
- \end{minipage}}
-
-\newcommand\yes{yes}
-\newcommand\no{no}
-
-\newcommand\eclmvtt{test}
-
-\font\eclmvtt=ec-lmvtt10 at 10pt
-
-\newcommand\demoinput[2]{\TwoFwBoxes
- \hbox to 1\wd\fwbox{\texttt{,}\hss}#1%
- \hbox to 1\wd\fwbox{\hss{\eclmvtt``}}\TwoFwBoxes
- \hbox to 1\wd\fwbox{{\eclmvtt''}\hss}#2}
-
-\newcommand\demooutput[2]{%
- \TwoFwBoxes\hbox to#1\wd\fwbox{,\hss{#2``}}\TwoFwBoxes{#2''}}
-
-\newcommand\sans{test}
-
-\font\sans=SourceSansPro-Semibold-tlf-ot1 at 10pt
-
-\newenvironment{history}[1]%
- {\noindent\textbf{#1}\nopagebreak\relax\begin{itemize}}%
- {\end{itemize}}
-
-\begin{document}
-
-\title{The \pkg{fixjfm} package%
- \thanks{CTAN Homepage: \texttt{https://ctan.org/pkg/fixjfm}}
- \thanks{Repository: \texttt{https://github.com/Man-Ting-Fang/fixjfm}}}
-\author{Yue \textsc{Zhang}}
-\date{2018-03-24\quad v0.8}
-
-\maketitle
-
-\begin{abstract}
-This package fixes several bugs in the JFM format. Both \LaTeX\ and plain \TeX\
-are supported.
-\end{abstract}
-
-\section{Introduction}
-
-The JFM format is an extension of the TFM format and is used for typesetting CJK
-characters with *\pTeX. It works perfectly under almost all circumstances, but
-there are still at least two bugs:
-\begin{itemize}
-\item Bug 1: the indentation is incorrect if the first character of a paragraph
- is an opening fullwidth punctuation mark, see Figure \ref{fig:ind};
-\item Bug 2: the spacing between two consecutive fullwidth punctuation marks
- cannot be adjusted if the font is changed there, see Table \ref{tab:adj}.
-\end{itemize}
-\begin{figure}[!ht]\centering
-\demotext{3}\demotext{2.5}
-\caption{Comparison of the indentation produced without this package (left) and
- with this package (right)}
-\label{fig:ind}
-\end{figure}
-\vskip-20pt\relax
-\begin{table}[!ht]\centering
-\caption{Comparison of the adjustment of the spacing between two consecutive
- fullwidth punctuation marks}
-\label{tab:adj}
-\begin{tabular}{ccll}
-\toprule
-Font change & This package & Input & Output \\
-\midrule
-\no & either \no\ or \yes & \demoinput{}{} & \demooutput{1.5}{} \\
-\yes & \no & \demoinput{\texttt{\char"5C textgt%
- \char"7B}}{\texttt{\char"7D}}
- & \demooutput{2}{\sans} \\
-\yes & \yes & \demoinput{\texttt{\char"5C textgt%
- \char"7B}}{\texttt{\char"7D}}
- & \demooutput{1.5}{\sans} \\
-\bottomrule
-\end{tabular}
-\end{table}
-It seems that macro is the easiest solution to these problems. However, the
-second bug can only be fixed when using \e-(u)\pTeX\ or \ApTeX\ (under most, but
-not all circumstances), because the primitive \verb|\lastnodechar| which is
-introduced by \epTeX\ is required. Anyhow, using this package with \pTeX\ or any
-one of its derivatives does not hurt. Please also keep in mind that owing to
-technical limitations, this package is not a panacea.
-
-There is also another improvement: \verb|\leavevmode| is redefined as
-\verb|\quitvmode| if the latter is available as a primitive (among all *\pTeX\
-engines to date, only \ApTeX\ has \verb|\quitvmode|). So after loading this
-package, you can always use \verb|\leavevmode| and need not worry about
-\verb|\quitvmode|. If you are wondering about what the difference between them
-is, please see \textit{The pdf\TeX\ user manual}.
-
-\section{Basic usage}
-
-This package has no options. It is recommended that this package should be
-loaded before any other packages. If you are using \LaTeX, load this package at
-the beginning of your preamble:
-\begin{verbatim}
- \documentclass...
- \usepackage{fixjfm}
-\end{verbatim}
-or even before \verb|\documentclass| (use \verb|\RequirePackage| instead):
-\begin{verbatim}
- \RequirePackage{fixjfm}
- \documentclass...
-\end{verbatim}
-If you are using plain \TeX, put the following line near the beginning of your
-\verb|.tex| file:
-\begin{verbatim}
- \input fixjfm.sty
-\end{verbatim}
-
-After loading this package, the first bug mentioned above can be automatically
-fixed under most (but not all) circumstances. If you find that it cannot be
-fixed somewhere, you can add \verb|\<| manually before the opening fullwidth
-punctuation mark which begins the paragraph.
-
-In the case of the second bug mentioned above, the situation is different. If
-you are using \LaTeX, \verb|\textmc| and \verb|\textgt| are redefined by default
-so that the bug can be automatically fixed (again, under most, but not all
-circumstances). However, \verb|\mcfamily| and \verb|\gtfamily| remain unchanged.
-The difference here is similar to that between, say, \verb|\textit| and
-\verb|\itshape|: \verb|\textit| automatically takes care of any necessary italic
-correction on either side of the argument, while \verb|\itshape| does nothing
-about that. Just like \verb|\itshape| and \verb|\/|, you should add
-\begin{verbatim}
- \fixjfmspacing
-\end{verbatim}
-by yourself after the font change that appears between two consecutive fullwidth
-punctuation marks. For example:
-\begin{trivlist}\item\relax{\ttfamily\hskip2em}\TwoFwBoxes
-\hbox to 1\wd\fwbox{\texttt{,}\hss}\verb|{\gtfamily\fixjfmspacing|%
-\hbox to 1\wd\fwbox{\hss{\eclmvtt``}}\TwoFwBoxes
-\hbox to 1\wd\fwbox{{\eclmvtt''}\hss}\verb|}\fixjfmspacing|%
-\hbox to 1\wd\fwbox{\hss{\eclmvtt``}}\TwoFwBoxes
-\hbox to 1\wd\fwbox{{\eclmvtt''}\hss}%
-\end{trivlist}
-If you are using plain \TeX, you should always add \verb|\fixjfmspacing| by
-yourself, because plain (*p)\TeX\ does not have \verb|\textmc|, \verb|\textgt|,
-or the like.
-
-If you are using \LaTeX\ and prefer the standard version\footnote{Since v0.3,
-the ``standard version'' is similar to \pkg{jsclasses} and \pkg{bxjscls} rather
-than (u)\pLaTeX.} of \verb|\textmc| and \verb|\textgt|, you can declare
-\begin{verbatim}
- \UseStandardCJKTextFontCommands
-\end{verbatim}
-In contrast,
-\begin{verbatim}
- \UseFixJFMCJKTextFontCommands
-\end{verbatim}
-redefines \verb|\textmc| and \verb|\textgt| and is declared by default. These
-two commands are important. Consider the following example:
-\begin{trivlist}
-\item\relax{\ttfamily\hskip2em}\verb|\textgt{\Large |\TwoFwBoxes\verb|}|
-\end{trivlist}
-It causes a fatal error when the \pkg{fixjfm} version of \verb|\textgt| is used.
-The solution is to change \verb|\textgt| back to the standard version, either
-globally or locally:
-\begin{trivlist}\itemsep=0pt\relax\parsep=0pt\relax
-\item\relax{\ttfamily\hskip2em}%
-\verb|\UseFixJFMCJKTextFontCommands \textgt{|\TwoFwBoxes\verb|}|
-\item\relax{\ttfamily\hskip2em}%
-\verb|\UseStandardCJKTextFontCommands \textgt{\Large |\TwoFwBoxes\verb|}|
-\item\relax{\ttfamily\hskip2em}%
-\verb|\UseFixJFMCJKTextFontCommands \textgt{|\TwoFwBoxes\verb|}|
-\item\relax{\ttfamily\hskip1.5em}%
-\verb|{\UseStandardCJKTextFontCommands \textgt{\Large |\TwoFwBoxes\verb|}}|
-\end{trivlist}
-
-\section{Advanced usage}
-
-The spacing between two consecutive fullwidth punctuation marks is produced by
-a glue item specified in the corresponding JFM file. However, if the font is
-changed there, the JFM format cannot work correctly, so this package puts
-another glue item there to adjust the spacing. The natural width of the new glue
-item is calculated according to the corresponding JFM file, so you need not
-worry about it. However, the stretch and shrink components cannot be extracted
-from JFM, so the following two commands are provided:
-\begin{verbatim}
- \SetFixJFMSpacingStretch
- \SetFixJFMSpacingShrink
-\end{verbatim}
-They expect an argument specifying how much space to stretch and shrink
-respectively. This package sets both of them to \verb|0.05zw| by default.
-
-Macro writers may want to (re)define commands like the \pkg{fixjfm} version of
-\verb|\textmc| and \verb|\textgt| for CJK text fonts, thus the following command
-is provided:
-\begin{verbatim}
- \DeclareFixJFMCJKTextFontCommand
-\end{verbatim}
-It is similar to \LaTeX's \verb|\DeclareTextFontCommand|. For example,
-\verb|\textmc| is redefined by this package as follows:
-\begin{verbatim}
- \DeclareFixJFMCJKTextFontCommand\textmc{\mcfamily}
-\end{verbatim}
-and \verb|\textgt| is similar. In contrast,
-\begin{verbatim}
- \DeclareStandardCJKTextFontCommand
-\end{verbatim}
-(re)defines a CJK text font command like the standard version of \verb|\textmc|
-and \verb|\textgt|. But there is a more convenient way: Suppose that you have a
-new CJK text font command \verb|\xyfamily|, then
-\begin{verbatim}
- \AppendToUseXCJKTextFontCommands{\textxy}{\xyfamily}
-\end{verbatim}
-will do all you need and makes \verb|\Use...CJKTextFontCommands| also apply to
-\verb|\textxy|. This command and \verb|\Use...CJKTextFontCommands| can be given
-in any order, so you do not need to redeclare
-\verb|\UseFixJFMCJKTextFontCommands| (which is the default behaviour) if that is
-what you want.
-
-Finally, there are several macros that may be useful for \TeX nicians:
-\begin{verbatim}
- \FixJFMSpacing
- \fixjfmparindent
- \FixJFMParindent
- \EveryparPreHook
- \EveryparPostHook
- \ifUseFixJFMCJKTextFontCommands
- \ifUseStandardCJKTextFontCommands
-\end{verbatim}
-They are worthless for ordinary use. If you are interested in them, please have
-a look at the source code.
-
-\section{Compatibility}
-
-The \LaTeX-only package \pkg{bxjaprnind} also focuses on the first bug mentioned
-above. It provides some additional functionalities and also supports some other
-\TeX\ engines. This package can be used together with \pkg{bxjaprnind}, but
-please note that if you prefer \pkg{bxjaprnind}, you have to load it before this
-package, and vice versa, in case both of them are loaded.
-
-\section{Acknowledgements}
-
-The source code of this package is mostly taken from\footnote{This package also
-improves the code slightly.} (in alphabetical order):
-\epTeX\ Wiki (Hironori Kitagawa):
-\begin{verbatim}
- https://ja.osdn.net/projects/eptex/wiki/lastnodechar
-\end{verbatim}
-\pkg{everyhook} (Stephen Checkoway):
-\begin{verbatim}
- https://ctan.org/pkg/everyhook
-\end{verbatim}
-\pkg{jsclasses} (Haruhiko Okumura et al.):
-\begin{verbatim}
- https://ctan.org/pkg/jsclasses
-\end{verbatim}
-and \pkg{platex} (Kazuki Maeda \& Japanese \TeX\ Development Community):
-\begin{verbatim}
- https://ctan.org/pkg/platex
-\end{verbatim}
-Many thanks to the authors of these packages. I would also like to thank
-Hironobu Yamashita, who helped me a lot.
-
-\section{History}
-
-\begin{history}{2017-09-02 v0.2}
-\item First public version.
-\end{history}
-
-\begin{history}{2017-09-04 v0.3}
-\item Fixes.
-\item Make \verb|\UseFixJFMCJKTextFontCommands| and
- \verb|\UseStandardCJKTextFontCommands| also available after
- \verb|\begin{document}|.
-\item Add \verb|\DeclareStandardCJKTextFontCommand| and use it for redefining
- the standard version of \verb|\textmc| and \verb|\textgt|.
-\end{history}
-Thanks to Hironobu Yamashita for suggesting all these changes:
-\begin{verbatim}
- https://github.com/Man-Ting-Fang/fixjfm/pull/1
-\end{verbatim}
-
-\begin{history}{2017-09-04 v0.4}
-\item Bug fix, thanks to Hironobu Yamashita:
-\end{history}
-\begin{verbatim}
- https://github.com/Man-Ting-Fang/fixjfm/pull/2
-\end{verbatim}
-
-\begin{history}{2017-09-12 v0.5}
-\item Bug fix, thanks to Hironobu Yamashita:
-\end{history}
-\begin{verbatim}
- https://github.com/Man-Ting-Fang/fixjfm/issues/3
-\end{verbatim}
-
-\begin{history}{2017-09-21 v0.6}
-\item Bug fix and improvement, thanks to Hironobu Yamashita:
-\end{history}
-\begin{verbatim}
- https://github.com/Man-Ting-Fang/fixjfm/pull/4
-\end{verbatim}
-
-\begin{history}{2017-12-27 v0.7}
-\item Add \verb|\ifUseFixJFMCJKTextFontCommands| and
- \verb|\ifUseStandardCJKTextFontCommands|.
-\end{history}
-
-\begin{history}{2018-03-24 v0.8}
-\item Add \verb|\AppendToUseXCJKTextFontCommands|.
-\end{history}
-
-\end{document}
diff --git a/macros/generic/fixjfm/fixjfm.sty b/macros/generic/fixjfm/fixjfm.sty
deleted file mode 100644
index 11887daafc..0000000000
--- a/macros/generic/fixjfm/fixjfm.sty
+++ /dev/null
@@ -1,278 +0,0 @@
-
-
-% fixjfm.sty
-% Copyright 2017--2018 Yue ZHANG
-% License: Knuth License (https://ctan.org/license/knuth)
-
-\csname ENDINPUTFIXJFMDOTSTY\endcsname
-
-\let\ENDINPUTFIXJFMDOTSTY=\endinput
-
-\begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname ProvidesPackage\endcsname\relax
- \else
- \ProvidesPackage{fixjfm}[2018/03/24 v0.8 Fix JFM (for *pTeX)]%
- \fi
-
-\edef\FIXJFMDOTSTYRESTORECATCODE{\catcode`\noexpand\@=\the\catcode`\@\relax}
-
-\catcode`\@=11\relax
-
-% common utilities
-
-\def\fixjfm@ifprimitive#1{%
- \begingroup
- \edef\fixjfm@temp@meaning{\meaning#1}%
- \edef\fixjfm@temp@string{\string#1}%
- \expandafter
- \endgroup
- \ifx\fixjfm@temp@meaning\fixjfm@temp@string}
-
-\fixjfm@ifprimitive\tate
-\else
- \errmessage{pTeX / e-pTeX / upTeX / e-upTeX / ApTeX is required}%
- \FIXJFMDOTSTYRESTORECATCODE
- \expandafter\endinput
-\fi
-
-\def\fixjfm@empty{}
-
-\begingroup
- \let\CATCODE=\catcode
- \let\RELAX=\relax
- \let\GDEF=\gdef
- \let\ENDGROUP=\endgroup
- \CATCODE`\k=12\RELAX
- \CATCODE`\a=12\RELAX
- \CATCODE`\n=12\RELAX
- \CATCODE`\j=12\RELAX
- \CATCODE`\i=12\RELAX
- \CATCODE`\c=12\RELAX
- \CATCODE`\h=12\RELAX
- \CATCODE`\r=12\RELAX
- \CATCODE`\t=12\RELAX
- \CATCODE`\e=12\RELAX
- \GDEF\FIXJFM@KANJICHARACTER{kanji character }%
-\ENDGROUP
-
-\def\fixjfm@get@inhibitxspcode#1{%
- \expandafter\expandafter\expandafter\fixjfm@@get@inhibitxspcode
- \expandafter\meaning\expandafter#1\FIXJFM@KANJICHARACTER\relax\fixjfm@nil}
-
-\expandafter\def\expandafter\fixjfm@@get@inhibitxspcode
- \expandafter#\expandafter1\FIXJFM@KANJICHARACTER#2#3\fixjfm@nil{%
- \count2=-1\relax
- \def\fixjfm@temp@tokens{#1}%
- \ifx\fixjfm@temp@tokens\fixjfm@empty
- \count2=\inhibitxspcode`#2\relax
- \fi}
-
-% \leavevmode
-
-\fixjfm@ifprimitive\quitvmode
- \let\leavevmode=\quitvmode
-\fi
-
-% \fixjfmspacing
-
-\def\fixjfmspacing{\FixJFMSpacing}
-
-\newif\iffixjfm@lastnodechar@available@
-
-\fixjfm@ifprimitive\lastnodechar
- \fixjfm@lastnodechar@available@true
-\fi
-
-\iffixjfm@lastnodechar@available@
- \begingroup
- \kansujichar1=\sjis"8ABF\relax % U+6F22: Kanji Han
- \kansujichar2=\sjis"82A0\relax % U+3042: Hiragana A
- \kansujichar3=\sjis"8142\relax % U+3002: CJK Full Stop
- \xdef\fixjfm@kanji{\kansuji1}%
- \xdef\fixjfm@kana{\kansuji2}%
- \xdef\fixjfm@other{\kansuji3}%
- \endgroup
- \csname newif\expandafter\endcsname\csname iffixjfm@sp@status@\endcsname
- \def\fixjfm@ifautospacing{%
- \fixjfm@sp@status@false
- \begingroup
- \kanjiskip=10pt\relax
- \setbox0=\hbox{\fixjfm@kanji\fixjfm@kanji\fixjfm@kanji}%
- \dimen4=\wd0\relax
- \noautospacing
- \setbox0=\hbox{\fixjfm@kanji\fixjfm@kanji\fixjfm@kanji}%
- \dimen2=\wd0\relax
- \expandafter
- \endgroup
- \ifdim\dimen4>\dimen2\relax
- \fixjfm@sp@status@true
- \fi}%
- \def\fixjfm@ifautoxspacing{%
- \fixjfm@sp@status@false
- \begingroup
- \xspcode`\A=3\relax
- \inhibitxspcode\sjis"8ABF=3\relax % U+6F22: Kanji Han
- \xkanjiskip=20pt\relax
- \setbox0=\hbox{\fixjfm@kanji A\fixjfm@kanji}%
- \dimen4=\wd0\relax
- \noautoxspacing
- \setbox0=\hbox{\fixjfm@kanji A\fixjfm@kanji}%
- \dimen2=\wd0\relax
- \expandafter
- \endgroup
- \ifdim\dimen4>\dimen2\relax
- \fixjfm@sp@status@true
- \fi}%
- \def\FixJFMSpacing{\futurelet\fixjfm@sp@temp@token\fixjfm@fixspacing}%
- \def\fixjfm@fixspacing{%
- \begingroup
- \count0=\lastnodechar
- \edef\fixjfm@sp@temp@tokens{\fixjfm@sp@temp@token}%
- \expandafter\fixjfm@@fixspacing\fixjfm@sp@temp@tokens\relax\fixjfm@sp@nil
- \ifnum\count0>-1\relax
- \ifnum\count0<256\relax
- \ifnum\xspcode\count0>1\relax
- \ifnum\count2>1\relax
- \fixjfm@ifautoxspacing
- \iffixjfm@sp@status@
- \hskip\xkanjiskip
- \fi
- \fi
- \fi
- \else
- \fixjfm@ifautospacing
- \iffixjfm@sp@status@
- \hskip\kanjiskip
- \fi
- \fi
- \setbox0=\hbox{%
- \inhibitglue\char\count0\relax\fixjfm@sp@temp@token\inhibitglue}%
- \setbox2=\hbox{%
- \inhibitglue\char\count0 \fixjfm@sp@temp@token\inhibitglue}%
- \dimen0=\wd2\relax
- \advance\dimen0 by -\wd0\relax
- \fixjfm@temp@hskip
- \fi
- \endgroup}%
- \long\def\fixjfm@@fixspacing#1#2\fixjfm@sp@nil{%
- \count2=1\relax
- \ifcat#1\fixjfm@kanji
- \else
- \ifcat#1\fixjfm@kana
- \else
- \ifcat#1\fixjfm@other
- \else
- \count0=-1\relax
- \count2=0\relax
- \fi
- \fi
- \fi
- \ifnum\count2>0\relax
- \fixjfm@get@inhibitxspcode#1\relax
- \fi}%
- \def\SetFixJFMSpacingStretch#1{\def\fixjfm@temp@hskip@stretch{#1}}%
- \def\SetFixJFMSpacingShrink#1{\def\fixjfm@temp@hskip@shrink{#1}}%
- \def\fixjfm@temp@hskip{%
- \hskip\dimen0 plus \fixjfm@temp@hskip@stretch
- minus \fixjfm@temp@hskip@shrink\relax}%
- \SetFixJFMSpacingStretch{0.05zw}%
- \SetFixJFMSpacingShrink{0.05zw}%
-\else
- \let\FixJFMSpacing=\fixjfm@empty
- \def\SetFixJFMSpacingStretch#1{}%
- \def\SetFixJFMSpacingShrink#1{}%
-\fi
-
-\newif\ifUseFixJFMCJKTextFontCommands
-\newif\ifUseStandardCJKTextFontCommands
-
-\begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname DeclareTextFontCommand\endcsname\relax
- \def\DeclareFixJFMCJKTextFontCommand#1#2{}%
- \def\DeclareStandardCJKTextFontCommand#1#2{}%
- \let\UseFixJFMCJKTextFontCommands=\fixjfm@empty
- \let\UseStandardCJKTextFontCommands=\fixjfm@empty
- \def\AppendToUseXCJKTextFontCommands#1#2{}%
- \else
- \def\DeclareFixJFMCJKTextFontCommand#1#2{%
- \DeclareRobustCommand#1[1]{%
- \relax\ifmmode\expandafter\nfss@text\fi
- {#2\fixjfmspacing##1}\fixjfmspacing}}%
- \def\DeclareStandardCJKTextFontCommand#1#2{%
- \DeclareRobustCommand#1[1]{%
- \relax\ifmmode\expandafter\nfss@text\fi{#2##1}}}%
- \def\UseFixJFMCJKTextFontCommands{%
- \UseFixJFMCJKTextFontCommandstrue
- \UseStandardCJKTextFontCommandsfalse
- \DeclareFixJFMCJKTextFontCommand\textmc{\mcfamily}%
- \DeclareFixJFMCJKTextFontCommand\textgt{\gtfamily}}%
- \def\UseStandardCJKTextFontCommands{%
- \UseStandardCJKTextFontCommandstrue
- \UseFixJFMCJKTextFontCommandsfalse
- \DeclareStandardCJKTextFontCommand\textmc{\mcfamily}%
- \DeclareStandardCJKTextFontCommand\textgt{\gtfamily}}%
- \def\AppendToUseXCJKTextFontCommands#1#2{%
- \g@addto@macro\UseFixJFMCJKTextFontCommands{%
- \DeclareFixJFMCJKTextFontCommand#1{#2}}%
- \g@addto@macro\UseStandardCJKTextFontCommands{%
- \DeclareStandardCJKTextFontCommand#1{#2}}%
- \ifUseFixJFMCJKTextFontCommands
- \DeclareFixJFMCJKTextFontCommand#1{#2}%
- \else
- \DeclareStandardCJKTextFontCommand#1{#2}%
- \fi}%
- \UseFixJFMCJKTextFontCommands
- \fi
-
-% \inhibitglue
-
-\fixjfm@ifprimitive\protected
- \protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}%
-\else
- \def\<{\inhibitglue}%
-\fi
-
-% \fixjfmparindent
-
-\def\fixjfmparindent{\FixJFMParindent}
-
-\begingroup
- \expandafter\ifx\csname useparheadparenindent\endcsname\relax % bxjaprnind.sty
- \else
- \global\let\FixJFMParindent=\fixjfm@empty
- \global\let\EveryparPreHook=\fixjfm@empty
- \global\let\EveryparPostHook=\fixjfm@empty
- \aftergroup\FIXJFMDOTSTYRESTORECATCODE
- \aftergroup\endinput
- \fi
-\endgroup
-
-\def\FixJFMParindent{\futurelet\fixjfm@pi@temp@token\fixjfm@fixparindent}
-
-\def\fixjfm@fixparindent{%
- \begingroup
- \fixjfm@get@inhibitxspcode\fixjfm@pi@temp@token
- \ifnum\count2=2\relax\inhibitglue\fi
- \endgroup}
-
-\begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname PushPostHook\endcsname\relax % everyhook.sty
- \def\EveryparPreHook{}%
- \def\EveryparPostHook{\fixjfmparindent}%
- \let\fixjfm@previous@everypar=\everypar
- \csname newtoks\expandafter\endcsname\csname everypar\endcsname
- \let\fixjfm@private@everypar=\everypar
- \fixjfm@private@everypar=\fixjfm@previous@everypar
- \fixjfm@previous@everypar={%
- \EveryparPreHook
- \the\expandafter\fixjfm@private@everypar
- \EveryparPostHook}%
- \else
- \PushPostHook{par}{\fixjfmparindent}%
- \let\EveryparPreHook=\fixjfm@empty
- \let\EveryparPostHook=\fixjfm@empty
- \fi
-
-\FIXJFMDOTSTYRESTORECATCODE
-
-\endinput