texlive[53500] Master/texmf-dist: zxjatype (23jan20)

commits+karl at tug.org commits+karl at tug.org
Thu Jan 23 18:53:22 CET 2020


Revision: 53500
          http://tug.org/svn/texlive?view=revision&revision=53500
Author:   karl
Date:     2020-01-23 18:53:22 +0100 (Thu, 23 Jan 2020)
Log Message:
-----------
zxjatype (23jan20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/zxjatype/LICENSE
    trunk/Master/texmf-dist/doc/latex/zxjatype/README-ja.md
    trunk/Master/texmf-dist/doc/latex/zxjatype/README.md
    trunk/Master/texmf-dist/tex/latex/zxjatype/zxjatype.sty

Modified: trunk/Master/texmf-dist/doc/latex/zxjatype/LICENSE
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zxjatype/LICENSE	2020-01-23 17:40:40 UTC (rev 53499)
+++ trunk/Master/texmf-dist/doc/latex/zxjatype/LICENSE	2020-01-23 17:53:22 UTC (rev 53500)
@@ -1,6 +1,6 @@
 The MIT License
 
-Copyright (c) 2018 Takayuki YATO (aka. "ZR")
+Copyright (c) 2009-2020 Takayuki YATO (aka. "ZR")
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

Modified: trunk/Master/texmf-dist/doc/latex/zxjatype/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zxjatype/README-ja.md	2020-01-23 17:40:40 UTC (rev 53499)
+++ trunk/Master/texmf-dist/doc/latex/zxjatype/README-ja.md	2020-01-23 17:53:22 UTC (rev 53500)
@@ -23,22 +23,122 @@
 zxjatype パッケージ ― 本体
 ---------------------------
 
-まだ解説が書けておりません…。基本的な機能の説明については以下の Web
-ページで行っていますのでそちらを参照してください。
+基本的な機能の説明については以下の Web ページでも行っているのでそちらも
+参照してほしい。
 
   * [ZXjatype パッケージ]
     (http://zrbabbler.sp.land.to/zxjatype.html)
 
+### パッケージ読込
 
+xeCJK と一緒に読み込む場合:
+
+    \usepackage[<オプション>...,<xeCJKのオプション>...]{zxjatype}
+
+xeCJK と別個に読み込む場合:
+
+    \usepackage[<xeCJKのオプション>...]{xeCJK}
+    \usepackage[<オプション>...]{zxjatype}
+
+有効なオプションは以下の通り:
+
+  * `default`:(既定)パッケージ読込直後に日本語用の設定への切替を行う。      (`\zxjapanesestyle` を実行する。)
+  * `nodefault`: `default` の否定。 xeCJK の初期設定が保持される。
+  * `CJKchecksingle`:(既定)xeCJK の文字ウィドウ抑制機能を有効にする。
+    (`CheckSingle=true` を設定する。)
+  * `noCJKchecksingle`: `CJKchecksingle` の否定。xeCJK の初期設定の通り
+    で文字ウィドウ抑制機能が無効になる。
+  * `adjustcharclass`:(既定)日本語の組版規則に合わせて xeCJK の文字
+    クラス設定を変更する。
+  * `noadjustcharclass`: `adjustcharclass` の否定。 xeCJK の文字クラス
+    設定を変更しない。
+  * `kanakinsoku`: 小書き仮名を行頭禁則の対象にする。具体的には、これら
+    の文字の文字クラスを「閉じ括弧類」に変更する。  
+    ※この扱いには副作用があって、直後に約物がある場合の空きが不正になる
+    (約物が並んでいると解釈されるため)。 
+  * `nokanakinsoku`:(既定)小書き仮名を行頭禁則の対象にしない。具体的
+    にはこれらの文字の文字クラスを「通常 CJK 文字」に変更する。  
+    ※`kanakinsoku`・`nokanakinsoku` の何れの場合も xeCJK の設定に変更を
+    加えることに注意。変更したくない場合は `noadjustcharclass` にする。
+  * `useinhibitglue`: pTeX と互換の `\inhibitglue` 命令を定義する。  
+    ※ただし現状の実装は不完全で問題があることが判っている。
+  * `nouseinhibitglue`:(既定) `useinhibitglue` の否定。`\inhibitglue`
+    は定義されない。
+  * `prefercjk`: 一部の記号類の文字クラスを「非 CJK 文字」(欧文扱い)
+    から「通常 CJK 文字」(和文扱い)に変更する。  
+    ※和文扱いの範囲が LuaTeX-ja の初期状態とほぼ同じになる。
+  * `noprefercjk`:(既定)`prefercjk` の否定。
+
+### 機能
+
+xeCJK の CJK フォントファミリ設定において、`\setjafontscale` で設定された
+和文スケール値が `Scale` の値として設定される。以下の命令が対象となる。
+
+  - `\setCJKmainfont`
+  - `\setCJKsansfont`
+  - `\setCJKmonofont`
+  - `\setCJKfamilyfont`
+
+zxjatype の独自の命令。
+
+  * `\setjafontscale{<実数>}`: 和文スケール値を設定する。  
+    ※空の引数も可能で、この場合は和文スケール値設定が抑止される。
+  * `\>`: 明示的に和欧文間空白を出力する。  
+    ※数式モード中では LaTeX カーネルの定義が維持される。  
+    ※他のパッケージで再定義が行われている場合は定義されない。
+  * `\inhibitglue`: その箇所で和文文字間に自動的に入る空白を抑制する。  
+    ※`useinhibitglue` オプション指定時にのみ定義される。
+  * `\<`: `\inhibitglue` と同義。  
+    ※他のパッケージで再定義が行われている場合は定義されない。
+  * `\textrawen{<テキスト>}`: 和文処理を無効化し、引数のテキストを欧文
+    フォントで出力する。
+  * `rawentext` 環境: `\textrawen` の環境版。
+  * `\textrawja{<テキスト>}`: 和文処理を無効化し、引数のテキストを和文
+    フォントで出力する。
+  * `rawjatext` 環境: `\textrawja` の環境版。
+  * `\zxjapanesestyle`: 日本語用の設定に切り替える。  
+    ※この命令はユーザによる再定義が可能。
+  * `\zxusejapaneseparameter`: 和欧文間空白と和文間空白を日本語組版に
+    適した値にする。
+  * `\zxuseoriginalparameter`: 和欧文間空白と和文間空白を xeCJK の初期
+    設定に戻す。
+
+なお、`\zxjapanesestyle` の初期値は以下のとおりである:
+
+    \xeCJKsetup{
+      AllowBreakBetweenPuncts = true,
+      PunctStyle = fullwidth,
+    }%
+    \zxusejapaneseparameters
+
+### 旧版との互換のための命令
+
+  * `\setjamainfont`: xeCJK の `\setCJKmainfont` と同義。
+  * `\setjasansfont`: xeCJK の `\setCJKsansfont` と同義。
+  * `\setjamonofont`: xeCJK の `\setCJKmonofont` と同義。
+  * `\setjafamilyfont`: xeCJK の `\setCJKfamilyfont` と同義。
+  * `\jafamily`: xeCJK の `\CJKfamily` と同義。
+
+### 参考:0.6 版で廃止された機能
+
+  * `\(no)jafamilyinverbatim` 命令
+
+
 更新履歴
 --------
 
+  * Version 0.7  ‹2020/01/22›
+      - xeCJK 2.x 版の使用を非推奨(将来廃止予定)とする。
+      - `(no)prefercjk` オプションを新設。
+      - 和文スケール値を `\zxjatypeJaScale` に格納する。
+      - バグ修正。
+
   * Version 0.6c ‹2018/05/03›
       - バグ修正。
 
   * Version 0.6b ‹2017/08/03›
-      - (試験的) `(no)useinhibitglue` オプション。
-      - (試験的) `(no)kanakinsoku` オプション。
+      - `(no)useinhibitglue` オプション。
+      - `(no)kanakinsoku` オプション。
 
   * Version 0.6a ‹2017/08/02›
       - バグ修正。

Modified: trunk/Master/texmf-dist/doc/latex/zxjatype/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zxjatype/README.md	2020-01-23 17:40:40 UTC (rev 53499)
+++ trunk/Master/texmf-dist/doc/latex/zxjatype/README.md	2020-01-23 17:53:22 UTC (rev 53500)
@@ -44,6 +44,7 @@
 Revision History
 ----------------
 
+  * Version 0.7  ‹2020/01/22›
   * Version 0.6c ‹2018/05/03›
   * Version 0.6b ‹2017/08/03›
   * Version 0.6a ‹2017/08/02›

Modified: trunk/Master/texmf-dist/tex/latex/zxjatype/zxjatype.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/zxjatype/zxjatype.sty	2020-01-23 17:40:40 UTC (rev 53499)
+++ trunk/Master/texmf-dist/tex/latex/zxjatype/zxjatype.sty	2020-01-23 17:53:22 UTC (rev 53500)
@@ -1,7 +1,7 @@
 %%
 %% This is file 'zxjatype.sty'.
 %% 
-%% Copyright (c) 2018 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2009-2020 Takayuki YATO (aka. "ZR")
 %%   GitHub:   https://github.com/zr-tex8r
 %%   Twitter:  @zr_tex8r
 %%
@@ -10,11 +10,12 @@
 
 %% package declaration
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{zxjatype}[2018/05/03 v0.6c ZX Japanese typeset]
+\ProvidesPackage{zxjatype}[2020/01/22 v0.7 ZX Japanese typeset]
 \RequirePackage{ifxetex}\RequireXeTeX
 
 %% code guards
 \edef\zxjt at restore@codes{%
+  \catcode33=\the\catcode33%
   \catcode34=\the\catcode34%
   \catcode39=\the\catcode39%
   \catcode43=\the\catcode43%
@@ -24,11 +25,13 @@
   \catcode58=\the\catcode58%
   \catcode60=\the\catcode60%
   \catcode62=\the\catcode62%
-  \catcode63=\the\catcode63%
   \catcode94=\the\catcode94%
   \catcode96=\the\catcode96%
+  \catcode124=\the\catcode124%
+  \catcode126=\the\catcode126%
   \endlinechar=\the\endlinechar%
 \relax}
+\catcode33=12 % <!>
 \catcode34=12 % <">
 \catcode39=12 % <'>
 \catcode43=12 % <+>
@@ -38,9 +41,10 @@
 \catcode58=12 % <:>
 \catcode60=12 % <<>
 \catcode62=12 % <>>
-\catcode63=12 % <?>
 \catcode94=7 % <^>
 \catcode96=12 % <`>
+\catcode124=12 % <|>
+\catcode126=13 % <~>
 \AtEndOfPackage{%
   \zxjt at restore@codes
   \let\zxjt at restore@codes\@undefined
@@ -49,7 +53,7 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % BOOTSTRAP CODE
-% 
+%
 
 %% definitions
 \def\zxjt at pkgname{zxjatype}
@@ -58,7 +62,8 @@
 \newif\ifzxjt at adjustcharclass
 \newif\ifzxjt at kanakinsoku
 \newif\ifzxjt at useinhibitglue
-\providecommand*\bxDebug{\@gobble}
+\newif\ifzxjt at prefercjk
+\providecommand\bxDebug[1]{}
 
 %% process options
 \DeclareOption{default}{\zxjt at defaulttrue}
@@ -76,6 +81,8 @@
 \DeclareOption{nokanakinsoku}{\zxjt at kanakinsokufalse}
 \DeclareOption{useinhibitglue}{\zxjt at useinhibitgluetrue}
 \DeclareOption{nouseinhibitglue}{\zxjt at useinhibitgluefalse}
+\DeclareOption{prefercjk}{\zxjt at prefercjktrue}
+\DeclareOption{noprefercjk}{\zxjt at prefercjkfalse}
 %
 \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xeCJK}}
 \ExecuteOptions{default,CJKchecksingle,adjustcharclass}
@@ -90,6 +97,10 @@
   \let\zxjt at go@to at main\@empty
 }{%
   \bxDebug{xeCJK v2.x found.}%
+  \PackageWarningNoLine\zxjt at pkgname
+   {!!!!!!!! IMPORTANT !!!!!!!!\MessageBreak
+    Support for xeCJK v2.x will be *dropped*\MessageBreak
+    in the near future}
   \long\def\zxjt at go@to at main#1\zxjt at begin@old at code{}%
 }
 
@@ -130,6 +141,11 @@
 \ifzxjt at useinhibitglue
     \bool_set_true:N \l__zxjt_useinhibitglue_bool
 \fi
+%% \l__zxjt_prefercjk_bool
+\bool_new:N \l__zxjt_prefercjk_bool
+\ifzxjt at prefercjk
+    \bool_set_true:N \l__zxjt_prefercjk_bool
+\fi
 
 %%-------------------------------------- error messages
 
@@ -150,8 +166,8 @@
   }
 \__zxjt_msg_new:nn { jafamilyinverbatim-disabled }
   {
-    \token_to_str:N \(no)jafamilyinverbatim \c_space_tl
-    ~is~disabled~in~this~version.
+    \token_to_str:N \( no)jafamilyinverbatim~
+    is~disabled~in~this~version.
   }
 \__zxjt_msg_new:nn { CJKfam-failed }
   {
@@ -181,9 +197,9 @@
 % (A mere \scan_stop: suffices?)
 \cs_new:Nn \__zxjt_boundary:
   {
-    \ifhmode
+    \if_mode_horizontal:
         \hbox:n {}
-    \fi
+    \fi:
   }
 
 %% \__zxjt_leavevmode:
@@ -259,7 +275,7 @@
 \AtBeginDocument
   {
     \cs_set_eq:NN \__zxjt_after_decl_CJKfam:n \__zxjt_after_decl_CJKfam_db:n
-    \seq_remove_duplicates:N \g__zxjt_CJKfam_seq
+    \seq_gremove_duplicates:N \g__zxjt_CJKfam_seq
     \seq_map_function:NN \g__zxjt_CJKfam_seq \__zxjt_after_decl_CJKfam:n
     \seq_gclear:N \g__zxjt_CJKfam_seq
   }
@@ -332,7 +348,7 @@
     \bxDebug { family( #1 )~<=~ \g__zxjt_onefam_info_tl }
     \tl_if_empty:NF \g__zxjt_onefam_info_tl
       {
-        \prop_put:NnV \g__zxjt_CJKfam_prop { #1 } \g__zxjt_onefam_info_tl
+        \prop_gput:NnV \g__zxjt_CJKfam_prop { #1 } \g__zxjt_onefam_info_tl
       }
   }
 
@@ -360,6 +376,8 @@
 % The encoding used for CJK-families.
 \tl_new:N \g__zxjt_encoding_tl
 \tl_gset:Nn \g__zxjt_encoding_tl { EU1 }
+\cs_if_exist:NT \g_fontspec_encoding_tl
+  { \tl_set_eq:NN \g__zxjt_encoding_tl \g_fontspec_encoding_tl }
 
 %% \__zxjt_use_CJKfam:
 % Switches the NFSS family to the family corresponding to the current CJK-
@@ -501,6 +519,7 @@
         "30E7, "30EE, "30F5, "30F6, "30FC, "31F0, "31F1, "31F2, "31F3, "31F4,
         "31F5, "31F6, "31F7, "31F8, "31F9, "31FA, "31FB, "31FC, "31FD, "31FE,
         "31FF, "309D, "309E, "30FD, "30FE,
+        "1B150, "1B151, "1B152, "1B164, "1B165, "1B166, "1B167,
       }
     \xeCJKDeclareCharClass { FullRight }
       {
@@ -518,6 +537,36 @@
     \xeCJKsetup { LongPunct+ = { ^^^^2015 } }
   }
 
+\bool_if:NT \l__zxjt_prefercjk_bool
+  {
+    \clist_map_inline:nn
+      {
+        "2002, "2010, "2011, "2016, "201A, "201E, "2020, "2021,
+        "2022, "2030, "2032, "2033, "2039, "203A, "203B, "203C,
+        "203E, "203F, "2042, "2044, "2047, "2048, "2049, "2051
+      }
+      { \XeTeXcharclass #1 = \c__zxjt_CJK_class_int }
+    \clist_map_inline:nn
+      {
+        { "2070, "243F },
+        { "2460, "27BF },
+        { "2900, "29FF },
+        { "2B00, "2BFF },
+        { "FE50, "FE6F },
+        { "1F100, "1F1DF }
+      }
+      {
+        \clist_set:Nn \l_tmpa_clist {#1}
+        \int_step_inline:nnn
+          { \clist_item:Nn \l_tmpa_clist { 1 } }
+          { \clist_item:Nn \l_tmpa_clist { 2 } }
+          {
+            \int_compare:nNnF { \XeTeXcharclass ##1 } = { \c__zxjt_CJK_class_int }
+              { \XeTeXcharclass ##1 = \c__zxjt_CJK_class_int }
+          }
+      }
+  }
+
 %%-------------------------------------- public commands
 
 %%<*> \setjamainfont / \setjasansfont / \setjamonofont
@@ -571,23 +620,29 @@
       }
   }
 
-%% \__zxjt_scale_tl
+%% \l__zxjt_scale_tl
 % The scale value to be applied to CJK fonts.
-\tl_new:N \__zxjt_scale_tl
+\tl_new:N \l__zxjt_scale_tl
 %% \l__zxjt_scale_spec_tl
 \tl_new:N \l__zxjt_scale_spec_tl
 
+%%<+> \zxjatypeJaScale
+% The scale value to be applied to CJK fonts.
+% (Same as \l__zxjt_scale_tl, but developer-level public.)
+
 %%<*> \setjafontscale{<real>}
-%% Sets the value of \__zxjt_scale_tl, which defaults to 1.
+%% Sets the value of \l__zxjt_scale_tl, which defaults to 1.
 \NewDocumentCommand \setjafontscale { m }
   {
     % NB: the argument is not expanded
-    \tl_set:Nn \__zxjt_scale_tl { #1 }
-    \tl_if_blank:VTF \__zxjt_scale_tl
+    \tl_set:Nn \l__zxjt_scale_tl { #1 }
+    \tl_set_eq:NN \zxjatypeJaScale \l__zxjt_scale_tl
+    \tl_set_eq:cN { __zxjt_scale_tl } \l__zxjt_scale_tl
+    \tl_if_blank:VTF \l__zxjt_scale_tl
       { \tl_clear:N \l__zxjt_scale_spec_tl }
-      { 
+      {
         \tl_set:Nn \l__zxjt_scale_spec_tl
-          { Scale = \__zxjt_scale_tl , }
+          { Scale = \l__zxjt_scale_tl , }
       }
   }
 
@@ -616,11 +671,11 @@
       {
         \cs_set:Npn \>
           {
-            \ifmmode
+            \if_mode_math:
                 \mskip \medmuskip
-            \else
+            \else:
                 \CJKecglue \scan_stop:
-            \fi
+            \fi:
           }
       }
   }



More information about the tex-live-commits mailing list