texlive[43145] Master/texmf-dist: babel-japanese (5feb17)

commits+karl at tug.org commits+karl at tug.org
Mon Feb 6 00:18:29 CET 2017


Revision: 43145
          http://tug.org/svn/texlive?view=revision&revision=43145
Author:   karl
Date:     2017-02-06 00:18:29 +0100 (Mon, 06 Feb 2017)
Log Message:
-----------
babel-japanese (5feb17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/babel-japanese/README.md
    trunk/Master/texmf-dist/doc/generic/babel-japanese/japanese.pdf
    trunk/Master/texmf-dist/source/generic/babel-japanese/japanese.dtx
    trunk/Master/texmf-dist/tex/generic/babel-japanese/japanese.ldf

Modified: trunk/Master/texmf-dist/doc/generic/babel-japanese/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-japanese/README.md	2017-02-05 23:18:08 UTC (rev 43144)
+++ trunk/Master/texmf-dist/doc/generic/babel-japanese/README.md	2017-02-05 23:18:29 UTC (rev 43145)
@@ -35,8 +35,15 @@
 
 2) Process documentation, japanese.dtx and japanese-sample.tex, as you wish.
 japanese.dtx can be processed with pLaTeX, upLaTeX or LuaLaTeX.
-japanese-sample.tex is written for pLaTeX.
+japanese-sample.tex is written for pLaTeX or LuaLaTeX.
 
+If you use lualatex:
+
+        lualatex japanese.dtx
+        lualatex japanese-sample.tex
+
+If you use platex:
+
         platex -kanji=utf8 japanese.dtx
         dvipdfmx japanese.dvi
         platex -kanji=utf8 japanese-sample.tex
@@ -68,11 +75,11 @@
 Copyright (C) 2016-     by Japanese TeX Development Community
 
 This package is free software that can be redistributed and/or
-modified under the terms of the LaTeX Project Public License.
+modified under the terms of the LaTeX Project Public License 1.3.
 
 
 ## Release Date
 
-2016-12-16
+2017-02-05
 
 Japanese TeX Development Community

Modified: trunk/Master/texmf-dist/doc/generic/babel-japanese/japanese.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/generic/babel-japanese/japanese.dtx
===================================================================
--- trunk/Master/texmf-dist/source/generic/babel-japanese/japanese.dtx	2017-02-05 23:18:08 UTC (rev 43144)
+++ trunk/Master/texmf-dist/source/generic/babel-japanese/japanese.dtx	2017-02-05 23:18:29 UTC (rev 43145)
@@ -45,7 +45,7 @@
 %<code>\ProvidesLanguage{japanese}
 %<*!sample>
 %\ProvidesFile{japanese.dtx}
-        [2016/12/16 v2.0 Japanese support for babel (texjporg)]
+        [2017/02/05 v2.1 Japanese support for babel (texjporg)]
 %</!sample>
 %\fi
 %
@@ -117,11 +117,13 @@
 %
 %    \begin{macrocode}
 %<*code>
-\ifx\kanjiskip\@undefined\ifx\XeTeXversion\@undefined\ifx\directlua\@undefined
-  \@latex at error{babel-japanese supports one of the followings:\MessageBreak
+\ifx\kanjiskip\@undefined\ifx\directlua\@undefined
+\ifx\XeTeXversion\@undefined
+  \@latex at error{Option '\CurrentOption' requires one of the followings:\MessageBreak
                 pTeX, upTeX, XeTeX, LuaTeX\MessageBreak
                 It seems you are running unsupported engine!}\@ehc
-\fi\fi\fi
+\fi
+\fi\fi
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -310,10 +312,19 @@
 %
 % Unicodeな\TeX{}エンジン(Xe\TeX{},Lua\TeX{})の場合は,
 % UTF-8エンコーディングで直接和文文字を記述します。
+% Xe\TeX{}の場合は |\bbl at jpn@Tate...| の2つは実際には使いません。
 %    \begin{macrocode}
 \ifx\kanjiskip\@undefined
   \def\西暦{\bbl at jpn@Seirekitrue}%
   \def\和暦{\bbl at jpn@Seirekifalse}%
+  \def\bbl at jpn@TateSeirekiToday{%
+      \bbl at jpn@maybekansuji\year 年%
+      \bbl at jpn@maybekansuji\month 月%
+      \bbl at jpn@maybekansuji\day 日}
+  \def\bbl at jpn@TateWarekiToday{%
+      平成\bbl at jpn@maybekansuji\the at heisei 年%
+      \bbl at jpn@maybekansuji\month 月%
+      \bbl at jpn@maybekansuji\day 日}
   \def\bbl at jpn@SeirekiToday{%
       \number\year 年%
       \number\month 月%
@@ -340,30 +351,97 @@
   \kansujichar3=\jis"467C\relax % 日
   \kansujichar4=\jis"4A3F\relax % 平
   \kansujichar5=\jis"402E\relax % 成
-  \xdef\bbl at jpn@SeirekiToday{%
-    \number\year\kansuji1 %
-    \number\month\kansuji2 %
-    \number\day\kansuji3 }
-  \xdef\bbl at jpn@WarekiToday{%
-    \kansuji45 \the at heisei\kansuji1 %
-    \number\month\kansuji2 %
-    \number\day\kansuji3 }
+  \xdef\bbl at jpn@kanjinen{\kansuji1}%
+  \xdef\bbl at jpn@kanjigatsu{\kansuji2}%
+  \xdef\bbl at jpn@kanjinichi{\kansuji3}%
+  \xdef\bbl at jpn@kanjiheisei{\kansuji45}%
 \endgroup
+  \def\bbl at jpn@TateSeirekiToday{%
+    \bbl at jpn@maybekansuji\year\bbl at jpn@kanjinen
+    \bbl at jpn@maybekansuji\month\bbl at jpn@kanjigatsu
+    \bbl at jpn@maybekansuji\day\bbl at jpn@kanjinichi}
+  \def\bbl at jpn@TateWarekiToday{%
+    \bbl at jpn@kanjiheisei\bbl at jpn@maybekansuji\the at heisei\bbl at jpn@kanjinen
+    \bbl at jpn@maybekansuji\month\bbl at jpn@kanjigatsu
+    \bbl at jpn@maybekansuji\day\bbl at jpn@kanjinichi}
+  \def\bbl at jpn@SeirekiToday{%
+    \number\year\bbl at jpn@kanjinen
+    \number\month\bbl at jpn@kanjigatsu
+    \number\day\bbl at jpn@kanjinichi}
+  \def\bbl at jpn@WarekiToday{%
+    \bbl at jpn@kanjiheisei\the at heisei\bbl at jpn@kanjinen
+    \number\month\bbl at jpn@kanjigatsu
+    \number\day\bbl at jpn@kanjinichi}
 \fi
 %    \end{macrocode}
 %
-% 実際に使用する命令。
+% (u)p\LaTeXe{}とLua\TeX-jaで組方向判定方法が異なるため,|\catcode| のトリックで
+% 別々のコードを使い分けます。Xe\LaTeX{}の場合,およびLua\LaTeX{}でLua\TeX-ja不使用の
+% 場合は,縦組をサポートしません。
 %    \begin{macrocode}
+\chardef\bbl at jpn@l at catcode=\catcode`\L\relax
+\chardef\bbl at jpn@p at catcode=\catcode`\P\relax
+\chardef\bbl at jpn@x at catcode=\catcode`\X\relax
+\ifx\directlua\@undefined
+  \ifx\XeTeXversion\@undefined    % ptex/uptex
+    \catcode`\L=14\relax
+    \catcode`\P=9\relax
+    \catcode`\X=9\relax
+  \else                           % xetex
+    \catcode`\L=14\relax
+    \catcode`\P=14\relax
+    \catcode`\X=14\relax
+  \fi
+\else
+  \ifx\luatexjaLoaded\@undefined  % luatex
+    \catcode`\L=14\relax
+    \catcode`\P=14\relax
+    \catcode`\X=14\relax
+  \else                           % luatex + luatexja
+    \catcode`\L=9\relax
+    \catcode`\P=14\relax
+    \catcode`\X=9\relax
+  \fi
+\fi
+%    \end{macrocode}
+%
+% 実際に使用する命令にコピーします。
+%    \begin{macrocode}
 \@namedef{date\CurrentOption}{%
   \def\today{%
+P  \iftdir
+L  \ifnum\ltjgetparameter{direction}=3
+X   \ifbbl at jpn@Seireki
+X     \bbl at jpn@TateSeirekiToday
+X   \else
+X     \bbl at jpn@TateWarekiToday
+X   \fi
+X  \else
     \ifbbl at jpn@Seireki
       \bbl at jpn@SeirekiToday
     \else
       \bbl at jpn@WarekiToday
-    \fi}}
+    \fi
+X  \fi
+  }%
+}
 %    \end{macrocode}
 %
+% [2017-02-05] 新機能:|\languageattribute{japanese}{kansujitoday}|を指定すると,
+% 縦書きでは |\today| の表記が漢数字(例:二〇一六年一二月二八日)になります。
 %    \begin{macrocode}
+\let\bbl at jpn@maybekansuji\number
+\bbl at declare@ttribute{japanese}{kansujitoday}{\let\bbl at jpn@maybekansuji\kansuji}
+%    \end{macrocode}
+%
+% トリックに使用した文字の |\catcode| を元に戻します。
+%    \begin{macrocode}
+\catcode`\L=\bbl at jpn@l at catcode\relax
+\catcode`\P=\bbl at jpn@p at catcode\relax
+\catcode`\X=\bbl at jpn@x at catcode\relax
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \@namedef{extras\CurrentOption}{}
 \@namedef{noextras\CurrentOption}{}
 \ldf at finish\CurrentOption

Modified: trunk/Master/texmf-dist/tex/generic/babel-japanese/japanese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel-japanese/japanese.ldf	2017-02-05 23:18:08 UTC (rev 43144)
+++ trunk/Master/texmf-dist/tex/generic/babel-japanese/japanese.ldf	2017-02-05 23:18:29 UTC (rev 43145)
@@ -28,12 +28,14 @@
   \epTeXinputencoding utf8
 \fi
 \ProvidesLanguage{japanese}
-        [2016/12/16 v2.0 Japanese support for babel (texjporg)]
-\ifx\kanjiskip\@undefined\ifx\XeTeXversion\@undefined\ifx\directlua\@undefined
-  \@latex at error{babel-japanese supports one of the followings:\MessageBreak
+        [2017/02/05 v2.1 Japanese support for babel (texjporg)]
+\ifx\kanjiskip\@undefined\ifx\directlua\@undefined
+\ifx\XeTeXversion\@undefined
+  \@latex at error{Option '\CurrentOption' requires one of the followings:\MessageBreak
                 pTeX, upTeX, XeTeX, LuaTeX\MessageBreak
                 It seems you are running unsupported engine!}\@ehc
-\fi\fi\fi
+\fi
+\fi\fi
 \LdfInit\CurrentOption{captions\CurrentOption}
 \ifx\l at japanese\@undefined
   \PackageInfo{babel}{%
@@ -153,6 +155,14 @@
 \ifx\kanjiskip\@undefined
   \def\西暦{\bbl at jpn@Seirekitrue}%
   \def\和暦{\bbl at jpn@Seirekifalse}%
+  \def\bbl at jpn@TateSeirekiToday{%
+      \bbl at jpn@maybekansuji\year 年%
+      \bbl at jpn@maybekansuji\month 月%
+      \bbl at jpn@maybekansuji\day 日}
+  \def\bbl at jpn@TateWarekiToday{%
+      平成\bbl at jpn@maybekansuji\the at heisei 年%
+      \bbl at jpn@maybekansuji\month 月%
+      \bbl at jpn@maybekansuji\day 日}
   \def\bbl at jpn@SeirekiToday{%
       \number\year 年%
       \number\month 月%
@@ -175,23 +185,75 @@
   \kansujichar3=\jis"467C\relax % 日
   \kansujichar4=\jis"4A3F\relax % 平
   \kansujichar5=\jis"402E\relax % 成
-  \xdef\bbl at jpn@SeirekiToday{%
-    \number\year\kansuji1 %
-    \number\month\kansuji2 %
-    \number\day\kansuji3 }
-  \xdef\bbl at jpn@WarekiToday{%
-    \kansuji45 \the at heisei\kansuji1 %
-    \number\month\kansuji2 %
-    \number\day\kansuji3 }
+  \xdef\bbl at jpn@kanjinen{\kansuji1}%
+  \xdef\bbl at jpn@kanjigatsu{\kansuji2}%
+  \xdef\bbl at jpn@kanjinichi{\kansuji3}%
+  \xdef\bbl at jpn@kanjiheisei{\kansuji45}%
 \endgroup
+  \def\bbl at jpn@TateSeirekiToday{%
+    \bbl at jpn@maybekansuji\year\bbl at jpn@kanjinen
+    \bbl at jpn@maybekansuji\month\bbl at jpn@kanjigatsu
+    \bbl at jpn@maybekansuji\day\bbl at jpn@kanjinichi}
+  \def\bbl at jpn@TateWarekiToday{%
+    \bbl at jpn@kanjiheisei\bbl at jpn@maybekansuji\the at heisei\bbl at jpn@kanjinen
+    \bbl at jpn@maybekansuji\month\bbl at jpn@kanjigatsu
+    \bbl at jpn@maybekansuji\day\bbl at jpn@kanjinichi}
+  \def\bbl at jpn@SeirekiToday{%
+    \number\year\bbl at jpn@kanjinen
+    \number\month\bbl at jpn@kanjigatsu
+    \number\day\bbl at jpn@kanjinichi}
+  \def\bbl at jpn@WarekiToday{%
+    \bbl at jpn@kanjiheisei\the at heisei\bbl at jpn@kanjinen
+    \number\month\bbl at jpn@kanjigatsu
+    \number\day\bbl at jpn@kanjinichi}
 \fi
+\chardef\bbl at jpn@l at catcode=\catcode`\L\relax
+\chardef\bbl at jpn@p at catcode=\catcode`\P\relax
+\chardef\bbl at jpn@x at catcode=\catcode`\X\relax
+\ifx\directlua\@undefined
+  \ifx\XeTeXversion\@undefined    % ptex/uptex
+    \catcode`\L=14\relax
+    \catcode`\P=9\relax
+    \catcode`\X=9\relax
+  \else                           % xetex
+    \catcode`\L=14\relax
+    \catcode`\P=14\relax
+    \catcode`\X=14\relax
+  \fi
+\else
+  \ifx\luatexjaLoaded\@undefined  % luatex
+    \catcode`\L=14\relax
+    \catcode`\P=14\relax
+    \catcode`\X=14\relax
+  \else                           % luatex + luatexja
+    \catcode`\L=9\relax
+    \catcode`\P=14\relax
+    \catcode`\X=9\relax
+  \fi
+\fi
 \@namedef{date\CurrentOption}{%
   \def\today{%
+P  \iftdir
+L  \ifnum\ltjgetparameter{direction}=3
+X   \ifbbl at jpn@Seireki
+X     \bbl at jpn@TateSeirekiToday
+X   \else
+X     \bbl at jpn@TateWarekiToday
+X   \fi
+X  \else
     \ifbbl at jpn@Seireki
       \bbl at jpn@SeirekiToday
     \else
       \bbl at jpn@WarekiToday
-    \fi}}
+    \fi
+X  \fi
+  }%
+}
+\let\bbl at jpn@maybekansuji\number
+\bbl at declare@ttribute{japanese}{kansujitoday}{\let\bbl at jpn@maybekansuji\kansuji}
+\catcode`\L=\bbl at jpn@l at catcode\relax
+\catcode`\P=\bbl at jpn@p at catcode\relax
+\catcode`\X=\bbl at jpn@x at catcode\relax
 \@namedef{extras\CurrentOption}{}
 \@namedef{noextras\CurrentOption}{}
 \ldf at finish\CurrentOption



More information about the tex-live-commits mailing list