texlive[44594] Master/texmf-dist: bxjscls (14jun17)

commits+karl at tug.org commits+karl at tug.org
Wed Jun 14 23:15:05 CEST 2017


Revision: 44594
          http://tug.org/svn/texlive?view=revision&revision=44594
Author:   karl
Date:     2017-06-14 23:15:05 +0200 (Wed, 14 Jun 2017)
Log Message:
-----------
bxjscls (14jun17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
    trunk/Master/texmf-dist/doc/latex/bxjscls/README.md
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
    trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md	2017-06-14 21:15:05 UTC (rev 44594)
@@ -97,6 +97,13 @@
 更新履歴
 --------
 
+  * Version 1.5c 〈2017/06/10〉
+      - `\jafontsize` 命令を追加。
+      - 和文パラメタ `jis2004` を新設。
+      - 和文パラメタ `font` を新設。
+      - `jafont=auto` 設定で updmap.cfg を読む際に `kanjiEmbed` に加えて
+        `jaEmbed` も読み取る。
+      - バグ修正。
   * Version 1.5b 〈2017/04/01〉
       - 全エンジンについて、`\>` で和欧文間空白を挿入するようにした。
       - `xkanjiskip-cmd` オプションを新設。

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README.md
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex	2017-06-14 21:15:05 UTC (rev 44594)
@@ -12,8 +12,8 @@
   \renewcommand*{\XeLaTeX}{XeLaTeX}}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.5b}
-\newcommand{\PkgDate}{2017/04/01}
+\newcommand{\PkgVersion}{1.5c}
+\newcommand{\PkgDate}{2017/06/10}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
@@ -604,14 +604,14 @@
   「|ja=|\Meta{名前}」の(0.9版以前で使われていた)別名。
 \item |jafont=|\Meta{名前}\Means
   “和文フォントプリセット指定”の名雨を設定する。
-\item |japaram=|\Meta{値}\Means
+  \Note \ref{sec:Basic}節で解説した通り、standard和文ドライバでは |jafont|
+  の値が利用される。
+\item |japaram={|\Meta{キー}|=|\Meta{値}|,...}|\Means
   “和文ドライバパラメタ”の値を設定する。
+  詳しくは\ref{sec:Ja-Driver-Param}節を参照。
   \Note |jafont| と |japaram| の値がどのように解釈されるかは
   和文ドライバの仕様次第である。
   minimal和文ドライバではこの2つの値は全く参照されない。
-  \ref{sec:Basic}節で解説した通り、standard和文ドライバでは |jafont|
-  の値が利用される。
-  現状では |japaram| は参照されない。
 \item |base=|\Meta{長さ}\Means
   基底フォントサイズ(|\normalsize| のフォントのサイズ)を指定する。
   JSクラスの |10pt|、|11pt| 等と同じ役割で、任意の値を指定できる。
@@ -1023,6 +1023,8 @@
 standardドライバの機能を継承するが、
 「Pandocの既定のlatexテンプレート」が使われることを前提として、
 それとBXJSの設定を整合させるための措置を加えている。
+\Note 本マニュアルで「standard和文ドライバの場合」という場合、
+特に明示がない限りはpandoc和文ドライバも含まれる。
 \end{itemize}
 
 和文ドライバは自分で作製することも可能である。
@@ -1050,6 +1052,42 @@
 
 
 %===========================================================
+\section{和文ドライバパラメタ}
+\label{sec:Ja-Driver-Param}
+
+和文ドライバパラメタ(|japaram| オプション)は
+和文ドライバに依存する設定を指定するために用意されている。
+|japaram| オプションの値はそれ自身がキー値ペアのリストであり、
+一般的に次のような形式で指定される。
+\begin{quote}\small\begin{verbatim}
+\usepackage[...,japaram={key=value,...},...]{bxjsarticle}
+\end{verbatim}\end{quote}
+
+minimal和文ドライバには有効な和文ドライバパラメタは存在しない。
+
+%-------------------
+\subsection{standard和文ドライバの場合}
+
+以下の和文ドライバパラメタが存在する。
+
+\begin{itemize}
+\item |jis2004=|\Meta{真偽値}\Means
+  漢字の字形について「2004JIS字形を優先させる」処理を行うか。
+  真の場合、以下の処理が行われる。既定値は偽。
+  \begin{itemize}
+  \item グローバルオプションに |jis2004| を追加する。%
+    \footnote{\Pkg{japanese-otf}や\Pkg{luatexja-preset}などの
+      パッケージが |jis2004| オプションを利用する。}
+  \item エンジンが{(u)\pLaTeX}の場合、|pxchfon| と |pxbabel|
+    パッケージに予め |prefer2004jis| オプションが渡される。
+  \end{itemize}
+\item |font={|\Meta{文字列}|}|\Means
+  standard和文ドライバが利用する和文フォントパッケージについて
+  追加のオプションを指定する。
+\end{itemize}
+
+
+%===========================================================
 \section{ユーザ用命令}
 \label{sec:Commands}
 
@@ -1241,6 +1279,12 @@
     それ自体が同様の機能の |\>| を提供することにも注意を要する。}
 \item |\jachar{|\Meta{文字1つ}|]|\Means
   指定の文字を和文文字として(現在の和文フォントで)出力する。
+\item |\jafontsize{|\Meta{フォントサイズ}|}{|\Meta{行送り}|}|\Means
+  “和文規準”でフォントサイズを指定する。
+  すなわち、和文の1\,zwが\Meta{フォントサイズ}と等しくなるように
+  フォントサイズを設定する。
+  \Note 命令の引数の長さ指定ではエンジンの種類に関わらず |Q|/|H|
+  の単位が使用できる。
 \item 和文数式フォント命令\Means
   JSクラスと同様に、
   |\mathmc| で「明朝」、|\mathgt| で「ゴシック」の

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx	2017-06-14 21:15:05 UTC (rev 44594)
@@ -67,7 +67,8 @@
 %<*driver>
 \ProvidesFile{bxjscls.dtx}
 %</driver>
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
+% [2017/04/01 v1.5b BXJS document classes]
 % [2017/03/14 v1.5a BXJS document classes]
 % [2017/03/11 v1.5 BXJS document classes]
 % based on jsclasses [2017/03/05]
@@ -407,6 +408,33 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\bxjs at cslet}
+% |\bxjs at cslet{|\Meta{名前1}|}\制御綴|\Means
+%    \begin{macrocode}
+\def\bxjs at cslet#1{%
+  \expandafter\let\csname#1\endcsname}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs at csletcs}
+% |\bxjs at csletcs{|\Meta{名前1}|}{|\Meta{名前2}|}|\Means
+%    \begin{macrocode}
+\def\bxjs at csletcs#1#2{%
+  \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs at catopt}
+% |\bxjs at catopt{|\Meta{文字列1}|}{|\Meta{文字列2}|}|\Means
+% 2つの文字列を |,| で繋いだ文字列。
+% ただし片方が空の場合は |,| を入れない。
+% 完全展開可能。
+%    \begin{macrocode}
+\def\bxjs at catopt#1#2{%
+  #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\jsAtEndOfClass}
 % このクラスの読込終了時に対するフック。
 % (補助パッケージ中で用いられる。)
@@ -899,12 +927,12 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% |fancyhdr| オプションの処理。
+% |enablejfam| オプションの処理。
 %    \begin{macrocode}
 \def\bxjs at kv@enablejfam at true{\let\bxjs at enablejfam=t}
 \def\bxjs at kv@enablejfam at false{\let\bxjs at enablejfam=f}
 \def\bxjs at kv@enablejfam at default{\let\bxjs at enablejfam\@undefined}
-\define at key{bxjs}{enablejfam}{%
+\define at key{bxjs}{enablejfam}[true]{%
   \bxjs at set@keyval{enablejfam}{#1}{}}
 %    \end{macrocode}
 %
@@ -1588,7 +1616,7 @@
 %    \begin{macrocode}
 \let\bxjs at kv@fancyhdr at true\bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at false\bxjs at fancyhdrfalse
-\define at key{bxjs}{fancyhdr}{%
+\define at key{bxjs}{fancyhdr}[true]{%
   \bxjs at set@keyval{fancyhdr}{#1}{}}
 %    \end{macrocode}
 %
@@ -1687,7 +1715,7 @@
 \newif\ifbxjs at whole@zw at lines \bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
-\define at key{bxjs}{whole-zw-lines}{\bxjs at set@keyval{wholezwlines}{#1}{}}
+\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1697,7 +1725,7 @@
 \newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1707,7 +1735,7 @@
 \newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
-\define at key{bxjs}{hyperref-enc}{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -7180,6 +7208,16 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\jsInverseScale}
+% |\jsScale| の逆数。
+% \Note |\CS=\jsInverseScale\CS| は |\bxjs at invscale\CS\jsScale|
+% よりも精度が劣るが処理が軽い。
+%    \begin{macrocode}
+\@tempdima\p@ \bxjs at invscale\@tempdima\jsScale
+\edef\jsInverseScale{\strip at pt\@tempdima}
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\jsLetHeadChar}
 % |\jsLetHeadChar\CS{|\Meta{トークン列}|}|\Means
 % トークン列の先頭の文字を抽出し、|\CS| をその文字トークン
@@ -7747,6 +7785,59 @@
 \bxjs at simplejasetupfalse
 %    \end{macrocode}
 %
+% \paragraph{japaramオプションの処理}
+%
+% |japaram| の値をkey-valueリストとして解釈する。
+% keyvalのファミリは |bxjsStd| とする。
+%
+% \begin{macro}{\bxjs at jp@jismmiv}
+% 2004JIS字形を優先させるか。
+%    \begin{macrocode}
+\newif\ifbxjs at jp@jismmiv
+%    \end{macrocode}
+% \end{macro}
+%
+% |jis2004| オプションの処理。
+%    \begin{macrocode}
+\bxjs at cslet{bxjs at kv@jis2004 at true}\bxjs at jp@jismmivtrue
+\bxjs at cslet{bxjs at kv@jis2004 at false}\bxjs at jp@jismmivfalse
+\define at key{bxjsStd}{jis2004}[true]{%
+  \bxjs at set@keyval{jis2004}{#1}{}}
+%    \end{macrocode}
+%
+% \begin{macro}{\bxjs at jp@font}
+% フォントパッケージの追加オプション。
+%    \begin{macrocode}
+\let\bxjs at jp@font\@empty
+%    \end{macrocode}
+% \end{macro}
+%
+% |jis2004| オプションの処理。
+%    \begin{macrocode}
+\define at key{bxjsStd}{font}{%
+  \edef\bxjs at jp@font{#1}}
+%    \end{macrocode}
+%
+% 実際の |japaram| の値を適用する。
+%    \begin{macrocode}
+\def\bxjs at next#1{\bxjs at safe@setkeys{bxjsStd}{#1}}
+\expandafter\bxjs at next\expandafter{\jsJaParam}
+%    \end{macrocode}
+%
+% \paragraph{jis2004パラメタ}
+%
+% |jis2004| パラメタが有効の場合は、グローバルオプションに |jis2004|
+% を追加する。
+% \Note |otf| や |luatexja-preset| 等のパッケージがこのオプションを
+% 利用する。
+%    \begin{macrocode}
+\ifbxjs at jp@jismmiv
+  \g at addto@macro\@classoptionslist{,jis2004}
+% \@ifpackagewith 判定への対策
+  \PassOptionsToPackage{jis2004}{otf}
+\fi
+%    \end{macrocode}
+%
 % \paragraph{共通命令の実装}
 %
 % |\jQ| 等の「単位」系の共通命令を実装する。
@@ -7805,6 +7896,75 @@
 % \end{macro}
 % \end{macro}
 %
+% \begin{macro}{\jsSetQHLength}
+% |\jsSetQHLength\CS{|\Meta{長さ式}|}|\Means
+% |\setlength| の変種で、通常の |calc| の長さ式の代わりに、
+% \Meta{実数}|Q|・\Meta{実数}|H|・\Meta{実数}|trueQ|・\Meta{実数}|trueH|
+% が記述できる。
+%    \begin{macrocode}
+\def\jsSetQHLength#1#2{%
+  \begingroup
+    \bxjs at parse@qh{#2}%
+    \ifx\bxjs at tmpb\relax \setlength\@tempdima{#2}%
+    \else \@tempdima\bxjs at tmpb\relax
+    \fi
+    \xdef\bxjs at g@tmpa{\the\@tempdima}%
+  \endgroup
+  #1=\bxjs at g@tmpa\relax}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bxjs at parse@qh}
+% |jsSetQHLength| の下請け。
+% |#1| が |Q|/|H|/|trueQ|/|trueH| で終わる場合、
+% |\bxjs at tmpb| にそれに等しい寸法の表現を返す。
+% それ以外では、|\bxjs at tmpb| は |\relax| になる。
+%    \begin{macrocode}
+\if j\jsEngine
+%    \end{macrocode}
+% {(u)\pLaTeX}ではこの処理は不要なので無効化する。
+%    \begin{macrocode}
+\def\bxjs at parse@qh#1{%
+  \let\bxjs at tmpb\relax}
+\else
+\def\bxjs at parse@qh#1{%
+  \def\bxjs at tmpa{#1}\let\bxjs at tmpb\relax
+  \bxjs at parse@qh at a{trueQ}\trueQ
+  \bxjs at parse@qh at a{trueH}\trueH
+  \bxjs at parse@qh at a{Q}\jQ
+  \bxjs at parse@qh at a{H}\jH}
+\def\bxjs at parse@qh at a#1#2{%
+  \ifx\bxjs at tmpb\relax
+    \def\bxjs at next##1#1\@nil##2\@nnil{\bxjs at parse@qh at b{##1}{##2}}%
+    \expandafter\bxjs at next\bxjs at tmpa\@nil#1\@nil\@nnil{#2}%
+  \fi}
+\def\bxjs at parse@qh at b#1#2#3{%
+  \ifx\@nnil#2\@nnil\else \def\bxjs at tmpb{#1#3}\fi}
+\fi
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\jafontsize}
+% |\jafontsize{|\Meta{フォントサイズ}|}{|\Meta{行送り}|}|\Means
+% 和文フォント規準で、すなわち、1\,zwが\Meta{フォントサイズ}に
+% 等しくなるようにフォントサイズを指定する。
+% この命令の引数では、|Q|/|H| の単位が使用できる。
+%    \begin{macrocode}
+\def\jafontsize#1#2{%
+  \begingroup
+    \bxjs at jafontsize@a{#1}%
+    \@tempdimb\jsInverseScale\@tempdima
+    \bxjs at jafontsize@a{#2}%
+    \xdef\bxjs at g@tmpa{%
+      \noexpand\fontsize{\the\@tempdimb}{\the\@tempdima}}%
+  \endgroup\bxjs at g@tmpa}
+\def\bxjs at jafontsize@a#1{%
+  \bxjs at parse@qh{#1}%
+  \ifx\bxjs at tmpb\relax \def\bxjs at tmpb{#1}\fi
+  \@defaultunits\@tempdima\bxjs at tmpb pt\relax\@nnil}
+%    \end{macrocode}
+% \end{macro}
+%
 % 続いて、和文間空白・和欧文間空白関連の命令を実装する。
 % (エンジン依存のコード。)
 %
@@ -7976,10 +8136,15 @@
       \loop\if at tempswa
         \read\@inputcheck to\bxjs at tmpa
         \expandafter\bxjs at get@ke at a\bxjs at tmpa\@nil kanjiEmbed \@nil\@nnil
-        \ifx\bxjs at tmpa\relax\else
-          \global\let\bxjs at g@tmpa\bxjs at tmpa
+        \ifx\bxjs at tmpb\relax\else
+          \global\let\bxjs at g@tmpa\bxjs at tmpb
           \@tempswafalse
         \fi
+        \expandafter\bxjs at get@ke at b\bxjs at tmpa\@nil jaEmbed \@nil\@nnil
+        \ifx\bxjs at tmpb\relax\else
+          \global\let\bxjs at g@tmpa\bxjs at tmpb
+          \@tempswafalse
+        \fi
         \ifeof\@inputcheck \@tempswafalse \fi
       \repeat
     \fi
@@ -7988,9 +8153,14 @@
 }
 \@onlypreamble\bxjs at get@ke at a
 \def\bxjs at get@ke at a#1kanjiEmbed #2\@nil#3\@nnil{%
-  \ifx$#1$\def\bxjs at tmpa{#2}%
-  \else \let\bxjs at tmpa\relax
+  \ifx$#1$\def\bxjs at tmpb{#2}%
+  \else \let\bxjs at tmpb\relax
   \fi}
+\@onlypreamble\bxjs at get@ke at b
+\def\bxjs at get@ke at b#1jaEmbed #2\@nil#3\@nnil{%
+  \ifx$#1$\def\bxjs at tmpb{#2}%
+  \else \let\bxjs at tmpb\relax
+  \fi}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -8142,7 +8312,17 @@
 \fi
 %    \end{macrocode}
 %
+% \paragraph{jis2004パラメタ}
 %
+% |pxchfon| と |pxbabel| では2004JISを指定するオプションの
+% 名が |prefer2004jis| である。
+%    \begin{macrocode}
+\ifbxjs at jp@jismmiv
+  \PassOptionsToPackage{prefer2004jis}{pxchfon}
+  \PassOptionsToPackage{prefer2004jis}{pxbabel}
+\fi
+%    \end{macrocode}
+%
 % \paragraph{和文フォント指定の扱い}
 %
 % {\pTeX}は既定で |kanji-config-updmap| の設定に従うため、
@@ -8149,6 +8329,8 @@
 % |\jsJaFont| が |auto| の場合は何もする必要がない。
 % 無指定でも |auto| でもない場合は、|\jsJaFont| をオプションに
 % して |pxchfon| パッケージを読み込む。
+% ここで、和文ドライバパラメタ |font| が指定されいる場合は、
+% その値を |pxchfon| のオプションに追加する。
 %    \begin{macrocode}
 \let\bxjs at tmpa\jsJaFont
 \ifx\bxjs at tmpa\bxjs@@auto
@@ -8156,11 +8338,11 @@
 \else\ifx\bxjs at tmpa\bxjs@@noEmbed
   \def\bxjs at tmpa{noembed}
 \fi\fi
-\ifx\jsJaFont\@empty\else
-  \edef\bxjs at nxt{%
-    \noexpand\RequirePackage[\jsJaFont]
-        {pxchfon}[2010/05/12]}% v0.5
-  \bxjs at nxt
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
+\ifx\bxjs at tmpa\@empty\else
+  \edef\bxjs at next{%
+    \noexpand\RequirePackage[\bxjs at tmpa]{pxchfon}[2010/05/12]% v0.5
+  }\bxjs at next
 \fi
 %    \end{macrocode}
 %
@@ -8274,11 +8456,11 @@
 % スケール値(|\jsScale|)の反映は bxcjkjatype の側で行われる。
 %    \begin{macrocode}
 \bxjs at adjust@jafont{f}
-\edef\bxjs at nxt{%
-  \noexpand\RequirePackage[%
-      \ifx\bxjs at tmpa\@empty\else \bxjs at tmpa,\fi
-      whole,autotilde]{bxcjkjatype}[2013/10/15]}% v0.2c
-\bxjs at nxt
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa{whole,autotilde}}
+\edef\bxjs at next{%
+  \noexpand\RequirePackage[\bxjs at tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
+}\bxjs at next
 \bxjs at cjk@loaded
 %    \end{macrocode}
 %
@@ -8405,14 +8587,14 @@
 % 非指定の場合はIPAexフォントを使用する。
 %    \begin{macrocode}
 \bxjs at adjust@jafont{f}
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
 \ifx\bxjs at tmpa\@empty
   \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho}
   \setCJKsansfont[BoldFont=IPAexGothic]{IPAexGothic}
 \else
-  \edef\bxjs at nxt{%
-    \noexpand\RequirePackage[\bxjs at tmpa]%
-        {zxjafont}[2013/01/28]}% v0.2a
-  \bxjs at nxt
+  \edef\bxjs at next{%
+    \noexpand\RequirePackage[\bxjs at tmpa]{zxjafont}[2013/01/28]}% v0.2a
+  }\bxjs at next
 \fi
 %    \end{macrocode}
 %
@@ -8566,15 +8748,15 @@
 \ifx\bxjs at tmpa\bxjs@@noEmbed
   \def\bxjs at tmpa{noembed}
 \fi
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
 \ifx\bxjs at tmpa\@empty
   \defaultjfontfeatures{ Kerning=Off }
   \setmainjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexMincho}
   \setsansjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexGothic}
 \else
-  \edef\bxjs at nxt{%
-    \noexpand\RequirePackage[\bxjs at tmpa]
-        {luatexja-preset}}%
-  \bxjs at nxt
+  \edef\bxjs at next{%
+    \noexpand\RequirePackage[\bxjs at tmpa]{luatexja-preset}%
+  }\bxjs at next
 \fi
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls	2017-06-14 21:15:05 UTC (rev 44594)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsarticle}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \RequirePackage{calc}
 \RequirePackage{keyval}
@@ -86,6 +86,12 @@
   #1\expandafter\@firstoftwo
   \else\expandafter\@secondoftwo
   \fi}
+\def\bxjs at cslet#1{%
+  \expandafter\let\csname#1\endcsname}
+\def\bxjs at csletcs#1#2{%
+  \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\bxjs at catopt#1#2{%
+  #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
 \def\jsAtEndOfClass{%
   \expandafter\g at addto@macro\csname\bxjs at clsname.cls-h@@k\endcsname}
 \@onlypreamble\bxjs at restore@jltrcc
@@ -240,7 +246,7 @@
 \def\bxjs at kv@enablejfam at true{\let\bxjs at enablejfam=t}
 \def\bxjs at kv@enablejfam at false{\let\bxjs at enablejfam=f}
 \def\bxjs at kv@enablejfam at default{\let\bxjs at enablejfam\@undefined}
-\define at key{bxjs}{enablejfam}{%
+\define at key{bxjs}{enablejfam}[true]{%
   \bxjs at set@keyval{enablejfam}{#1}{}}
 \DeclareOption{disablejfam}{\let\bxjs at enablejfam=f}
 \let\ifjsDraft\iffalse
@@ -475,7 +481,7 @@
 \newif\ifbxjs at fancyhdr \bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at true\bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at false\bxjs at fancyhdrfalse
-\define at key{bxjs}{fancyhdr}{%
+\define at key{bxjs}{fancyhdr}[true]{%
   \bxjs at set@keyval{fancyhdr}{#1}{}}
 \newif\ifbxjs at dvi@opt
 \let\bxjs at dvidriver@@dvipdfmx=\bxjs at driver@@dvipdfmx
@@ -509,15 +515,15 @@
 \newif\ifbxjs at whole@zw at lines \bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
-\define at key{bxjs}{whole-zw-lines}{\bxjs at set@keyval{wholezwlines}{#1}{}}
+\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
 \newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
 \newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
-\define at key{bxjs}{hyperref-enc}{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
 \let\bxjs at ltx@removeelement\@removeelement
 \def\@removeelement#1#2#3{%
   \def\reserved at a{#2}%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls	2017-06-14 21:15:05 UTC (rev 44594)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsbook}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \RequirePackage{calc}
 \RequirePackage{keyval}
@@ -86,6 +86,12 @@
   #1\expandafter\@firstoftwo
   \else\expandafter\@secondoftwo
   \fi}
+\def\bxjs at cslet#1{%
+  \expandafter\let\csname#1\endcsname}
+\def\bxjs at csletcs#1#2{%
+  \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\bxjs at catopt#1#2{%
+  #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
 \def\jsAtEndOfClass{%
   \expandafter\g at addto@macro\csname\bxjs at clsname.cls-h@@k\endcsname}
 \@onlypreamble\bxjs at restore@jltrcc
@@ -246,7 +252,7 @@
 \def\bxjs at kv@enablejfam at true{\let\bxjs at enablejfam=t}
 \def\bxjs at kv@enablejfam at false{\let\bxjs at enablejfam=f}
 \def\bxjs at kv@enablejfam at default{\let\bxjs at enablejfam\@undefined}
-\define at key{bxjs}{enablejfam}{%
+\define at key{bxjs}{enablejfam}[true]{%
   \bxjs at set@keyval{enablejfam}{#1}{}}
 \DeclareOption{disablejfam}{\let\bxjs at enablejfam=f}
 \let\ifjsDraft\iffalse
@@ -481,7 +487,7 @@
 \newif\ifbxjs at fancyhdr \bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at true\bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at false\bxjs at fancyhdrfalse
-\define at key{bxjs}{fancyhdr}{%
+\define at key{bxjs}{fancyhdr}[true]{%
   \bxjs at set@keyval{fancyhdr}{#1}{}}
 \newif\ifbxjs at dvi@opt
 \let\bxjs at dvidriver@@dvipdfmx=\bxjs at driver@@dvipdfmx
@@ -518,15 +524,15 @@
 \newif\ifbxjs at whole@zw at lines \bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
-\define at key{bxjs}{whole-zw-lines}{\bxjs at set@keyval{wholezwlines}{#1}{}}
+\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
 \newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
 \newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
-\define at key{bxjs}{hyperref-enc}{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
 \let\bxjs at ltx@removeelement\@removeelement
 \def\@removeelement#1#2#3{%
   \def\reserved at a{#2}%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty	2017-06-14 21:15:05 UTC (rev 44594)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesPackage{bxjscjkcat}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 \def\bxjx at pkgname{bxjscjkcat}
 \newcount\bxjx at cnta
 \let\bxjx at engine=n

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty	2017-06-14 21:15:05 UTC (rev 44594)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesPackage{bxjscompat}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 \def\bxac at pkgname{bxjscompat}
 \let\bxac at engine=n
 \def\bxac at do#1#2{%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def	2017-06-14 21:15:05 UTC (rev 44594)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-minimal.def}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 %% このファイルは日本語文字を含みます
 \def\DeclareJaTextFontCommand#1#2{%
   \DeclareRobustCommand#1[1]{%
@@ -45,6 +45,8 @@
   \AtBeginDocument{%
     \ifx\familydefault\bxjs@@CSsfdefault#1\fi}%
 }
+\@tempdima\p@ \bxjs at invscale\@tempdima\jsScale
+\edef\jsInverseScale{\strip at pt\@tempdima}
 \def\jsLetHeadChar#1#2{%
   \begingroup
     \escapechar=`\\ %

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def	2017-06-14 21:15:05 UTC (rev 44594)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-modern.def}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 \input{bxjsja-standard.def}
 \ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi=\z@
 \def\encodingdefault{T1}%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def	2017-06-14 21:15:05 UTC (rev 44594)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-pandoc.def}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 \input{bxjsja-standard.def}
 \@onlypreamble\bxjs at set@dupload at proc
 \def\bxjs at set@dupload at proc#1{%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def	2017-06-14 21:15:05 UTC (rev 44594)
@@ -21,10 +21,24 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-standard.def}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 %% このファイルは日本語文字を含みます
 \input{bxjsja-minimal.def}
 \bxjs at simplejasetupfalse
+\newif\ifbxjs at jp@jismmiv
+\bxjs at cslet{bxjs at kv@jis2004 at true}\bxjs at jp@jismmivtrue
+\bxjs at cslet{bxjs at kv@jis2004 at false}\bxjs at jp@jismmivfalse
+\define at key{bxjsStd}{jis2004}[true]{%
+  \bxjs at set@keyval{jis2004}{#1}{}}
+\let\bxjs at jp@font\@empty
+\define at key{bxjsStd}{font}{%
+  \edef\bxjs at jp@font{#1}}
+\def\bxjs at next#1{\bxjs at safe@setkeys{bxjsStd}{#1}}
+\expandafter\bxjs at next\expandafter{\jsJaParam}
+\ifbxjs at jp@jismmiv
+  \g at addto@macro\@classoptionslist{,jis2004}
+  \PassOptionsToPackage{jis2004}{otf}
+\fi
 \ifjsWitheTeX
   \@tempdima=0.25mm
   \protected\edef\jQ{\dimexpr\the\@tempdima\relax}
@@ -46,6 +60,45 @@
   \@tempdima\bxjs at truept \bxjs at invscale\@tempdima\jsScale
   \protected\edef\ascpt{\dimexpr\the\@tempdima\relax}
 \fi
+\def\jsSetQHLength#1#2{%
+  \begingroup
+    \bxjs at parse@qh{#2}%
+    \ifx\bxjs at tmpb\relax \setlength\@tempdima{#2}%
+    \else \@tempdima\bxjs at tmpb\relax
+    \fi
+    \xdef\bxjs at g@tmpa{\the\@tempdima}%
+  \endgroup
+  #1=\bxjs at g@tmpa\relax}
+\if j\jsEngine
+\def\bxjs at parse@qh#1{%
+  \let\bxjs at tmpb\relax}
+\else
+\def\bxjs at parse@qh#1{%
+  \def\bxjs at tmpa{#1}\let\bxjs at tmpb\relax
+  \bxjs at parse@qh at a{trueQ}\trueQ
+  \bxjs at parse@qh at a{trueH}\trueH
+  \bxjs at parse@qh at a{Q}\jQ
+  \bxjs at parse@qh at a{H}\jH}
+\def\bxjs at parse@qh at a#1#2{%
+  \ifx\bxjs at tmpb\relax
+    \def\bxjs at next##1#1\@nil##2\@nnil{\bxjs at parse@qh at b{##1}{##2}}%
+    \expandafter\bxjs at next\bxjs at tmpa\@nil#1\@nil\@nnil{#2}%
+  \fi}
+\def\bxjs at parse@qh at b#1#2#3{%
+  \ifx\@nnil#2\@nnil\else \def\bxjs at tmpb{#1#3}\fi}
+\fi
+\def\jafontsize#1#2{%
+  \begingroup
+    \bxjs at jafontsize@a{#1}%
+    \@tempdimb\jsInverseScale\@tempdima
+    \bxjs at jafontsize@a{#2}%
+    \xdef\bxjs at g@tmpa{%
+      \noexpand\fontsize{\the\@tempdimb}{\the\@tempdima}}%
+  \endgroup\bxjs at g@tmpa}
+\def\bxjs at jafontsize@a#1{%
+  \bxjs at parse@qh{#1}%
+  \ifx\bxjs at tmpb\relax \def\bxjs at tmpb{#1}\fi
+  \@defaultunits\@tempdima\bxjs at tmpb pt\relax\@nnil}
 \def\bxjs at kanjiskip{0pt}
 \newcommand*\setkanjiskip[1]{%
   \edef\bxjs at kanjiskip{#1}%
@@ -130,10 +183,15 @@
       \loop\if at tempswa
         \read\@inputcheck to\bxjs at tmpa
         \expandafter\bxjs at get@ke at a\bxjs at tmpa\@nil kanjiEmbed \@nil\@nnil
-        \ifx\bxjs at tmpa\relax\else
-          \global\let\bxjs at g@tmpa\bxjs at tmpa
+        \ifx\bxjs at tmpb\relax\else
+          \global\let\bxjs at g@tmpa\bxjs at tmpb
           \@tempswafalse
         \fi
+        \expandafter\bxjs at get@ke at b\bxjs at tmpa\@nil jaEmbed \@nil\@nnil
+        \ifx\bxjs at tmpb\relax\else
+          \global\let\bxjs at g@tmpa\bxjs at tmpb
+          \@tempswafalse
+        \fi
         \ifeof\@inputcheck \@tempswafalse \fi
       \repeat
     \fi
@@ -142,9 +200,14 @@
 }
 \@onlypreamble\bxjs at get@ke at a
 \def\bxjs at get@ke at a#1kanjiEmbed #2\@nil#3\@nnil{%
-  \ifx$#1$\def\bxjs at tmpa{#2}%
-  \else \let\bxjs at tmpa\relax
+  \ifx$#1$\def\bxjs at tmpb{#2}%
+  \else \let\bxjs at tmpb\relax
   \fi}
+\@onlypreamble\bxjs at get@ke at b
+\def\bxjs at get@ke at b#1jaEmbed #2\@nil#3\@nnil{%
+  \ifx$#1$\def\bxjs at tmpb{#2}%
+  \else \let\bxjs at tmpb\relax
+  \fi}
 \newcommand*\jachar[1]{%
   \begingroup
     \jsLetHeadChar\bxjs at tmpa{#1}%
@@ -227,6 +290,10 @@
   \else \def\>{\protect\bxjs at put@xkanjiskip}
   \fi
 \fi
+\ifbxjs at jp@jismmiv
+  \PassOptionsToPackage{prefer2004jis}{pxchfon}
+  \PassOptionsToPackage{prefer2004jis}{pxbabel}
+\fi
 \let\bxjs at tmpa\jsJaFont
 \ifx\bxjs at tmpa\bxjs@@auto
   \let\bxjs at tmpa\@empty
@@ -233,11 +300,11 @@
 \else\ifx\bxjs at tmpa\bxjs@@noEmbed
   \def\bxjs at tmpa{noembed}
 \fi\fi
-\ifx\jsJaFont\@empty\else
-  \edef\bxjs at nxt{%
-    \noexpand\RequirePackage[\jsJaFont]
-        {pxchfon}[2010/05/12]}% v0.5
-  \bxjs at nxt
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
+\ifx\bxjs at tmpa\@empty\else
+  \edef\bxjs at next{%
+    \noexpand\RequirePackage[\bxjs at tmpa]{pxchfon}[2010/05/12]% v0.5
+  }\bxjs at next
 \fi
 \begingroup
   \global\let\@gtempa\relax
@@ -304,11 +371,11 @@
 \fi
 \else\if p\jsEngine
 \bxjs at adjust@jafont{f}
-\edef\bxjs at nxt{%
-  \noexpand\RequirePackage[%
-      \ifx\bxjs at tmpa\@empty\else \bxjs at tmpa,\fi
-      whole,autotilde]{bxcjkjatype}[2013/10/15]}% v0.2c
-\bxjs at nxt
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa{whole,autotilde}}
+\edef\bxjs at next{%
+  \noexpand\RequirePackage[\bxjs at tmpa]{bxcjkjatype}[2013/10/15]% v0.2c
+}\bxjs at next
 \bxjs at cjk@loaded
 \ifbxjs at hyperref@enc
   \PassOptionsToPackage{unicode}{hyperref}
@@ -374,14 +441,14 @@
   {xeCJK or zxjatype is too old}\@ehc
 \fi
 \bxjs at adjust@jafont{f}
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
 \ifx\bxjs at tmpa\@empty
   \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho}
   \setCJKsansfont[BoldFont=IPAexGothic]{IPAexGothic}
 \else
-  \edef\bxjs at nxt{%
-    \noexpand\RequirePackage[\bxjs at tmpa]%
-        {zxjafont}[2013/01/28]}% v0.2a
-  \bxjs at nxt
+  \edef\bxjs at next{%
+    \noexpand\RequirePackage[\bxjs at tmpa]{zxjafont}[2013/01/28]}% v0.2a
+  }\bxjs at next
 \fi
 \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99992}>\m at ne
   \ifbxjs at hyperref@enc
@@ -434,15 +501,15 @@
 \ifx\bxjs at tmpa\bxjs@@noEmbed
   \def\bxjs at tmpa{noembed}
 \fi
+\edef\bxjs at tmpa{\bxjs at catopt\bxjs at tmpa\bxjs at jp@font}
 \ifx\bxjs at tmpa\@empty
   \defaultjfontfeatures{ Kerning=Off }
   \setmainjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexMincho}
   \setsansjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexGothic}
 \else
-  \edef\bxjs at nxt{%
-    \noexpand\RequirePackage[\bxjs at tmpa]
-        {luatexja-preset}}%
-  \bxjs at nxt
+  \edef\bxjs at next{%
+    \noexpand\RequirePackage[\bxjs at tmpa]{luatexja-preset}%
+  }\bxjs at next
 \fi
 \DeclareRobustCommand\rmfamily
   {\not at math@alphabet\rmfamily\mathrm

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls	2017-06-14 21:15:05 UTC (rev 44594)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsreport}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \RequirePackage{calc}
 \RequirePackage{keyval}
@@ -86,6 +86,12 @@
   #1\expandafter\@firstoftwo
   \else\expandafter\@secondoftwo
   \fi}
+\def\bxjs at cslet#1{%
+  \expandafter\let\csname#1\endcsname}
+\def\bxjs at csletcs#1#2{%
+  \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\bxjs at catopt#1#2{%
+  #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
 \def\jsAtEndOfClass{%
   \expandafter\g at addto@macro\csname\bxjs at clsname.cls-h@@k\endcsname}
 \@onlypreamble\bxjs at restore@jltrcc
@@ -246,7 +252,7 @@
 \def\bxjs at kv@enablejfam at true{\let\bxjs at enablejfam=t}
 \def\bxjs at kv@enablejfam at false{\let\bxjs at enablejfam=f}
 \def\bxjs at kv@enablejfam at default{\let\bxjs at enablejfam\@undefined}
-\define at key{bxjs}{enablejfam}{%
+\define at key{bxjs}{enablejfam}[true]{%
   \bxjs at set@keyval{enablejfam}{#1}{}}
 \DeclareOption{disablejfam}{\let\bxjs at enablejfam=f}
 \let\ifjsDraft\iffalse
@@ -481,7 +487,7 @@
 \newif\ifbxjs at fancyhdr \bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at true\bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at false\bxjs at fancyhdrfalse
-\define at key{bxjs}{fancyhdr}{%
+\define at key{bxjs}{fancyhdr}[true]{%
   \bxjs at set@keyval{fancyhdr}{#1}{}}
 \newif\ifbxjs at dvi@opt
 \let\bxjs at dvidriver@@dvipdfmx=\bxjs at driver@@dvipdfmx
@@ -518,15 +524,15 @@
 \newif\ifbxjs at whole@zw at lines \bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
-\define at key{bxjs}{whole-zw-lines}{\bxjs at set@keyval{wholezwlines}{#1}{}}
+\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
 \newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
 \newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
-\define at key{bxjs}{hyperref-enc}{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
 \let\bxjs at ltx@removeelement\@removeelement
 \def\@removeelement#1#2#3{%
   \def\reserved at a{#2}%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls	2017-06-14 21:14:48 UTC (rev 44593)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls	2017-06-14 21:15:05 UTC (rev 44594)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsslide}
-  [2017/04/01 v1.5b BXJS document classes]
+  [2017/06/10 v1.5c BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \RequirePackage{calc}
 \RequirePackage{keyval}
@@ -86,6 +86,12 @@
   #1\expandafter\@firstoftwo
   \else\expandafter\@secondoftwo
   \fi}
+\def\bxjs at cslet#1{%
+  \expandafter\let\csname#1\endcsname}
+\def\bxjs at csletcs#1#2{%
+  \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\bxjs at catopt#1#2{%
+  #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
 \def\jsAtEndOfClass{%
   \expandafter\g at addto@macro\csname\bxjs at clsname.cls-h@@k\endcsname}
 \@onlypreamble\bxjs at restore@jltrcc
@@ -240,7 +246,7 @@
 \def\bxjs at kv@enablejfam at true{\let\bxjs at enablejfam=t}
 \def\bxjs at kv@enablejfam at false{\let\bxjs at enablejfam=f}
 \def\bxjs at kv@enablejfam at default{\let\bxjs at enablejfam\@undefined}
-\define at key{bxjs}{enablejfam}{%
+\define at key{bxjs}{enablejfam}[true]{%
   \bxjs at set@keyval{enablejfam}{#1}{}}
 \DeclareOption{disablejfam}{\let\bxjs at enablejfam=f}
 \let\ifjsDraft\iffalse
@@ -475,7 +481,7 @@
 \newif\ifbxjs at fancyhdr \bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at true\bxjs at fancyhdrtrue
 \let\bxjs at kv@fancyhdr at false\bxjs at fancyhdrfalse
-\define at key{bxjs}{fancyhdr}{%
+\define at key{bxjs}{fancyhdr}[true]{%
   \bxjs at set@keyval{fancyhdr}{#1}{}}
 \newif\ifbxjs at dvi@opt
 \let\bxjs at dvidriver@@dvipdfmx=\bxjs at driver@@dvipdfmx
@@ -509,15 +515,15 @@
 \newif\ifbxjs at whole@zw at lines \bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at true\bxjs at whole@zw at linestrue
 \let\bxjs at kv@wholezwlines at false\bxjs at whole@zw at linesfalse
-\define at key{bxjs}{whole-zw-lines}{\bxjs at set@keyval{wholezwlines}{#1}{}}
+\define at key{bxjs}{whole-zw-lines}[true]{\bxjs at set@keyval{wholezwlines}{#1}{}}
 \newif\ifbxjs at xkanjiskip@cmd \bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at true\bxjs at xkanjiskip@cmdtrue
 \let\bxjs at kv@xkanjiskipcmd at false\bxjs at xkanjiskip@cmdfalse
-\define at key{bxjs}{xkanjiskip-cmd}{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
+\define at key{bxjs}{xkanjiskip-cmd}[true]{\bxjs at set@keyval{xkanjiskipcmd}{#1}{}}
 \newif\ifbxjs at hyperref@enc \bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at true\bxjs at hyperref@enctrue
 \let\bxjs at kv@hyperrefenc at false\bxjs at hyperref@encfalse
-\define at key{bxjs}{hyperref-enc}{\bxjs at set@keyval{hyperrefenc}{#1}{}}
+\define at key{bxjs}{hyperref-enc}[true]{\bxjs at set@keyval{hyperrefenc}{#1}{}}
 \let\bxjs at ltx@removeelement\@removeelement
 \def\@removeelement#1#2#3{%
   \def\reserved at a{#2}%



More information about the tex-live-commits mailing list