texlive[67705] Master/texmf-dist: bxcjkjatype (22jul23)
commits+karl at tug.org
commits+karl at tug.org
Sat Jul 22 22:18:47 CEST 2023
Revision: 67705
http://tug.org/svn/texlive?view=revision&revision=67705
Author: karl
Date: 2023-07-22 22:18:47 +0200 (Sat, 22 Jul 2023)
Log Message:
-----------
bxcjkjatype (22jul23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/LICENSE
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/README-ja.md
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/README.md
trunk/Master/texmf-dist/tex/latex/bxcjkjatype/bxcjkjatype.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.pdf
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.tex
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.pdf
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.tex
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.pdf
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.tex
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.pdf
trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.tex
Modified: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/LICENSE
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/LICENSE 2023-07-22 20:18:30 UTC (rev 67704)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/LICENSE 2023-07-22 20:18:47 UTC (rev 67705)
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2016 Takayuki YATO (aka. "ZR")
+Copyright (c) 2013-2023 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/bxcjkjatype/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/README-ja.md 2023-07-22 20:18:30 UTC (rev 67704)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/README-ja.md 2023-07-22 20:18:47 UTC (rev 67705)
@@ -28,236 +28,35 @@
bxcjkjatype パッケージ
----------------------
-### パッケージ読込
+本バンドルの本体のパッケージである。
- \usepackage[<option>,...]{bxcjkjatype}
+詳細についてはユーザマニュアルを参照されたい。
-利用可能なオプションを以下で挙げる。
+ * bxcjkjatype.pdf: ユーザマニュアル(英語版)
+ * bxcjkjatype-ja.pdf: ユーザマニュアル(日本語版)
-#### 自動囲み込み
+bxcjkvert パッケージ
+--------------------
-文書本体を `CJK(*)` 環境で自動的かつ安全に囲うためのオプション。文書中に
-多量の CJK テキストが含まれる場合、或いは「動く引数」に CJK テキストが
-含まれる場合はこれを指定するのが適切である。
+CJKvert パッケージの改造版であり、縦組と横組の混在が普通に起こりうる
+日本語組版に適合させたものである。
- * `whole`、`wholeCJK*`: 文書全体を `CJK*` 環境で囲む。(厳密に言うと
- `\begin{uCJK*}`~`\end{uCJK*}` で囲む。)
- * `wholeCJK`: 文書全体を `CJK` 環境で囲む。(厳密に言うと
- `\begin{uCJK}`~`\end{uCJK}` で囲む。)
- * `nowhole`(既定): `wholeCJK*` 及び `wholeCJK` の否定。
+詳細についてはユーザマニュアルを参照されたい。
-#### 「自動チルダ」
+ * bxcjkvert.pdf: ユーザマニュアル(英語版)
+ * bxcjkvert-ja.pdf: ユーザマニュアル(日本語版)
-`autotilde` オプションを指定すると、`\CJKtilde` が自動的に呼び出されて
-`~` が和欧文間空白(四分空き)の意味になる。なお、`\CJKtilde` 有効時は
-`\nbs` で非分割欧文空白(本来の `~` の意味)が挿入できる。また、
-`\standardtilde` は `\CJKtilde` の効力を打ち消す。(これらは CJK
-パッケージの機能である。)
+更新履歴
+--------
- * `autotilde`: 全ての `CJK(*)` 環境の先頭で `\autotilde` が呼び出され
- るようにする。
- * `noautotilde`(既定): `autotilde` の否定。
+ * Version 0.5 ‹2023/07/23›
+ - 最新の LaTeX への対応。
-#### フォントマップ設定
+ * Version 0.4 ‹2016/11/11›
+ - bxcjkvert パッケージを追加。
+ - `CJKtildeasspace` オプションを追加。
+ - (試験的) `defaultmingoth` オプションを追加。
-[pxchfon パッケージ] と同等のフォントマップのプリセットが利用できる。
-詳細についてはそちらの解説文書を参照されたい。
-
- * `oneweight`、`nooneweight`: pxchfon と同様。
- * pxchfon で利用可能なプリセットオプション(`ms` 等)が利用できる。
- (旧式のものを除く。)
- * `ttfname=<パターン>`: TTC 代替(後述)を行う場合の TTF フォント名の
- パターンを指定する。
- * `ipaex-type1`: 本パッケージのフォント管理を無効にし、ipaex-type1
- パッケージのファミリ(`ipxm` と `ipxg`)を直接用いる。この設定では
- `\mcdefault` の値は `ipxm` に、`\gtdefault` の値は `ipxg` になる。
-
-[pxchfon パッケージ]: http://www.ctan.org/pkg/pxchfon
-
-#### CJK フォントスケール
-
- * `scale=<実数>`: CJK フォントに対するスケール値を設定する。
-
-※0.3 版より、`ipaex-type1` 指定時も CJK フォントスケールが利用できるよう
-になった。
-
-#### その他のオプション
-
- * `everypage`: フォントマップ情報を出力 DVI 文書の全てのページに出力
- する。`dvipdfmx` ドライバでのみ有効。
- * `noeverypage`(既定): `everypage` の否定。
- * ドライバオプション:
- `pdftex`、`dvipdfmx`、`dvips`、`none` が指定できる。ドライバ設定は
- 既定(ipaex-type1)以外のフォントマップの使用時にのみ意味をもつ。
- さらに、フォントマップ変更は `pdftex` と `dvipdfmx` でのみサポート
- されまたこの 2 つの値は常に自動判定可能(PDF モードでは `pdftex`、
- DVI モードでは `dvipdfmx` が既定)なので、実際にはドライバを指定する
- 必要はない。
- * `substmingoth`: CJK パッケージの日本語用総称ファミリとして慣習的に
- 使われているファミリの `min`/`goth`/`maru` について、LaTeX レベル
- で、本パッケージにおける標準ファミリである `mc`/`gt`/`mg` への代替
- を設定する。これにより、`min` 等のファミリの使用を前提とした日本語湯
- テンプレート等を使う場合においても、論理フォントレベルでの代替設定を
- 行う必要がなくなる。
- * `nosubstmingoth`(既定): `substmingoth` の否定。
- * `boldbyembolden`(既定): CJK パッケージの“擬似太字”(`\CJKbold`)
- の処理方法を“重ね打ち”から“合成太字”に変更する。
- * `noboldbyembolden`: `boldbyembolden` の否定。
-
-#### TTC 代替
-
-pdfTeX エンジンは TTC 形式のフォントをサポートしていない(サポートして
-いる OpenType の形式は単体の TTF グリフのものだけである)。従って、
-`\setminchofont` 命令などで TTC フォントを使おうと望むなら、適当なツール
-を使って TTC フォントファイルを個々の TTF フォントファイルに分解する処理
-を行うことが必須になる。
-
-これはエンジン側の制限仕様のため仕方がないだろう。しかし本パッケージを
-用いる場合には他に問題がある。変換後の TTF フォントはファイル名が元のもの
-と異なるため、プリセット設定(`mobo-moga` 等のオプション)が使えないので
-ある。これを解決するために、0.3 版で `ttfname` オプションが新設された。
-
-例えば、パッケージ読込時に `ttfname=*_1` が指定されたとする。この状態で
-本パッケージの処理において「mogam.ttc の最初(0 番)」が要求された場合、
-代わりに「mogam_1.ttf」というファイルが使われる。同様に、「mogam.ttc の
-1 番、2 番、……」については「mogam_2.ttf」「mogam_3.ttf」……での代替が
-行われる。
-
-`ttfname` で指定するファイル名のパターンには「`*_1`」「`TEMP-*-00.TTF`」
-のように「`*` を 1 つ含み、数字列を含む文字列」が指定できる。この `*` の
-部分は要求の TTC ファイルのベース名(`mogam` 等)で置き換えられ、かつ、
-拡張子がない場合は `.ttf` が補われる。その結果の文字列が TTC の最初(0
-番)のフォントに対する代替ファイル名となる。後続(1 番、2 番、……)の
-代替ファイル名は数字部分をインクリメントしたものになる。
-
-### 機能
-
-#### CJK フォントの選択
-
-本パッケージでは、pLaTeX + [japanese-otf パッケージ] で用いられるものと
-同等の 3 つの「総称」CJK ファミリを用意する: 明朝(`\mcfamily`)、
-ゴシック(`\gtfamily`)、丸ゴシック(`\mgfamily`)。既定では ipaex-type1
-パッケージのフォントが割り当てられている:明朝→IPAex明朝、ゴシック→
-IPAexゴシック。この割り当ては変更可能である。
-
- * `\mcfamily`: CJK ファミリを明朝ファミリに変更する。
- `\CJKfamily{\mcdefault}` と等価である。
- * `\gtfamily`: CJK ファミリをゴシックファミリに変更する。
- `\CJKfamily{\gtdefault}` と等価である。
- * `\mgfamily`: CJK ファミリを丸ゴシックファミリに変更する。
- `\CJKfamily{\mgdefault}` と等価である。
-
-高度な命令:
-
- * `\mcdefault`/`\gtdefault`/`\mgdefault`: 総称ファミリに対応する
- CJK ファミリ名である。標準の割当ではこれらの値は `mc`/`gt`/`mg` で
- ありこの割当が既定で用いられる。
-
- * `\setCJKfamilydefault{<CJKファミリ>}`: 既定の CJK ファミリを設定
- する。この既定値は、ある種の命令(例えば `\CJKfamily{}` や
- `\begin{CJK}{UTF8}{}`)でファミリ名が省略された時に用いられる。
- (再定義後の)`\normalfont` は CJK ファミリをこの命令で設定した既定
- ファミリに変更する。
-
- この既定ファミリの既定値は、文書の本体の先頭で有効である欧文ファミリ
- の「対応ファミリ」となる。(次小節を参照。)
-
-[japanese-otf パッケージ]: http://www.ctan.org/pkg/japanese-otf
-
-#### CJK と欧文のファミリの連動
-
-CJK パッケージ(および pTeX エンジン)では CJK と欧文で別々の「現在
-ファミリ」を管理する。この取扱は利点もあるが、多くの場合はこの 2 つの
-「現在ファミリ」を連動させた方が都合がよい。この為、本パッケージでは現在
-欧文フォントを切り替える幾つかの LaTeX 命令について、CJK ファミリを欧文
-の「対応ファミリ」に切り替えるように再定義する。ここで「対応ファミリ」は
-以下のように定められる:
-
- * `\rmfamily`(セリフ) → `\mcfamily`(明朝)
- * `\sffamily`(サンセリフ) → `\gtfamily`(ゴシック)
- * `\ttfamily`(等幅) → `\gtfamily`(ゴシック)
- * その他のファミリについては、対応ファミリは `\mcfamily` とする。
-
-再定義される命令:
-
- * `\rmfamily`/`\sffamily`/`\ttfamily`: 本来の動作の後、CJKファミリ
- を欧文ファミリの「対応ファミリ」に変更する。
- * `\normalfont`: CJK ファミリを、`\setCJKfamilydefault` 命令により
- 指定された既定 CJK ファミリに変更する。
-
-`CJK`/`CJK*` 環境の省略系:
-
- * `\begin{uCJK*}...\end{uCJK*}`: 次のものと等価:
-
- \begin{CJK*}{UTF8}{対応ファミリ}...\end{CJK*}
-
- ただし `対応ファミリ` は現在の欧文ファミリの対応ファミリを表す。
-
- 次のものと等価ではないことに注意:
-
- \begin{CJK*}{UTF8}{}...\end{CJK*}
-
- こちらは既定の CJK ファミリを使用する。
-
- * `\begin{uCJK}...\end{uCJK}`: 次のものと等価:
-
- \begin{CJK}{UTF8}{対応ファミリ}...\end{CJK}
-
-#### フォントマップ設定
-
-これらの命令の使い方は pxchfon パッケージの時と同じであるので、詳細に
-ついてはそちらの解説文書を参照されたい。
-
- * `\setminchofont[<ID>]{<フォントファイル名>}`
- * `\setgothicfont[<ID>]{<フォントファイル名>}`
- * `\setmarugothicfont[<ID>]{<フォントファイル名>}`
- * `\setmediumminchofont[<ID>]{<フォントファイル名>}`
- * `\setboldminchofont[<ID>]{<フォントファイル名>}`
- * `\setmediumgothicfont[<ID>]{<フォントファイル名>}`
- * `\setboldgothicfont[<ID>]{<フォントファイル名>}`
- * `\setxboldgothicfont[<ID>]{<フォントファイル名>}`
-
-ところが、pdfTeX エンジンについてはフォントマップの仕様に関して重大な
-制限が存在する。TrueType グリフであってかつ TTC 形式でないフォントのみ
-が使用できる。(dvipdfmx 使用時は全ての種類の OpenType フォントが使用
-可能。)
-
-注意: 本パッケージは「明朝・細字」のフォントをサポートしない。従って、
-`\setlightminchofont` は動作しない。
-
-#### その他の命令
-
- * `\UTF{<16進数字>}`: CJK 文字を Unicode 符号値で入力する。例えば、
- `\UTF{5B57}` は `\Unicode{"5B}{"57}` と等価である。
-
- * `\CJKforce{<character>...}`: 以降は引数の中にある各々の文字を CJK
- 文字として扱う(CJK フォントで出力される)。
-
- * `\CJKunforce{<character>...}`: `\CJKforce` の効果を打ち消す。
-
- * `\@<character>`: 非 ASCII 文字の前に `\@` がある場合は、その文字
- (その出現のみ)を CJK 文字として扱う。ASCII 文字の前の `\@` は
- LaTeX 本来の意味を保持する。
-
- * `\CJKecglue`: 和欧文間空白を挿入する。`\CJKtilde` が有効な時は `~`
- はこの命令を呼び出す。この命令をユーザが再定義して和欧文間空白の量を
- 調節することができる(和文間空白の `\CJKglue` と同様)。
-
- 使用例:
-
- \renewcommand{\CJKecglue}{\hspace{0.125em minus 0.125em}}
-
-### 補足事項
-
- * 本パッケージで標準に用いられるフォントは、例えそれに ipaex-type1 の
- フォントが割り当てられている場合でも、縦書きをサポートしない。しかし
- ipaex-type1 が提供するファミリ(`ipxm` と `ipxg`)は縦書きをサポート
- しており、`ipaex-type1` オプションを指定することでそれらのファミリを
- 直接使うことができる。
-
-更新履歴
---------
-
* Version 0.3 ‹2016/10/15›
- CJKvert パッケージによる縦組と共存を可能にした。
- hyperref での PDF 文字列の文字化けを防止し。
@@ -281,4 +80,4 @@
--------------------
Takayuki YATO (aka. "ZR")
-http://zrbabbler.sp.land.to/
+https://github.com/zr-tex8r
Modified: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/README.md 2023-07-22 20:18:30 UTC (rev 67704)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/README.md 2023-07-22 20:18:47 UTC (rev 67705)
@@ -34,228 +34,36 @@
The bxcjkjatype Package
-----------------------
-### Package Loading
+This is the main package of this bundle.
- \usepackage[<option>,...]{bxcjkjatype}
+Please refer to the user manual for detail.
-The available options are described hereafter.
+ * bxcjkjatype.pdf: the user manual (in English)
+ * bxcjkjatype-ja.pdf: the user manual (in Japanese)
-#### Options for auto-wrapping
+The bxcjkvert Package
+---------------------
-These options enable one to wrap the document body with a `CJK(*)`
-environemnt automatically and safely. They are suitable when a document
-contains much amount of CJK text, or some “moving arguemnts” hold
-CJK text.
+Thia package is a tailored version of the CJKvert package,
+accommodated for Japanese typesetting, where mixture of horizontal
+and vertical writings is common.
- * `whole`, `wholeCJK*`: Wraps the whole document body with a `CJK*`
- environment (precisely speaking, with
- `\begin{uCJK*}` ... `\end{uCJK*}` ).
- * `wholeCJK`: Wraps the whole document body with a `CJK` environment
- (precisely speaking, with
- `\begin{uCJK}` ... `\end{uCJK}` ).
- * `nowhole` (default): Negation of `wholeCJK*` or `wholeCJK`.
+Please refer to the user manual for detail.
-#### Options for “auto-tilde”
+ * bxcjkvert.pdf: the user manual (in English)
+ * bxcjkvert-ja.pdf: the user manual (in Japanese)
-The option `autotilde` triggers automatic invocation of `\CJKtilde`,
-which makes a tilde character (`~`) insert “shibuaki” (a thin space
-between alphabetic and ideographic letters) rather than a no-break
-space (standard). No-break spaces can still be inserted by the command
-`\nbs`, and `\standardtilde` cancels the effect of `\CJKtilde`. (The
-commands mentioned here belong to CJK package.)
+Revision History
+----------------
- * `autotilde`: Makes `\CJKtilde` invoked at the beginning of every
- `CJK(*)` environemnt.
- * `noautotilde` (default): Negation of `autotilde`.
+ * Version 0.5 ‹2023/07/23›
+ - Adjustment for the recent LaTeX kernel.
-#### Options for font-mapping
+ * Version 0.4 ‹2016/11/11›
+ - Added bxcjkvert package.
+ - Added `CJKtildeasspace` option.
+ - (Experimental) Added `defaultmingoth` option.
-One can use preset font mappings in the same way as in the [pxchfon
-package]. Please refer to the manual of that package for detailed
-explanation of this feature.
-
- * `oneweight`, `nooneweight`: The same as in pxchfon.
- * One can use font preset options (such as `ms`) which are available
- in pxchfon (except obsolete ones).
- * `ttfname=<pattern>`: Specifies the pattern of the TTF font names
- which are used when TTC substitution is employed. For example,
- when `ttfname=*_1` is given, the font “index 0 of mogam.ttc” will
- map to “mogam_1.ttf”, and similarly, “index 1” to “mogam_2.ttf”
- and so on.
- * `ipaex-type1`: Disables the font management of this package and
- directly uses the families provided by the ipaex-type1 package,
- namely `ipxm` and `ipxg`. In this setting the value of `\mcdefault`
- is `ipxm` and the value of `\gtdefault` and `\mgdefault` is `ipxg`,
- so that the higher level commands (such as `\sffamily` and
- `\gtfamily`) can work correctly.
-
-[pxchfon package]: http://www.ctan.org/pkg/pxchfon
-
-#### Options for CJK font scaling
-
- * `scale=<real>`: Sets the scaling factor for CJK fonts.
-
-(With version 0.3 or later, one can employ the scaling even with the
-`ipaex-type1` option.)
-
-#### Other options
-
- * `everypage`: Outputs the font mapping information on every page of
- the resulted DVI document. Available only with `dvipdfmx` driver.
- * `noeverypage` (default): Negation of `everypage`.
- * driver options:
- `pdftex`, `dvipdfmx`, `dvips` and `none` are available. The driver
- setting is relevant only when using font mappings other than the
- default one (ipaex-type1 fonts), so one need not care of drivers
- in using default fonts. Moreover, non-default font mappings are
- supported only by `pdftex` and `dvipdfmx`, and these two values are
- auto-detected (`pdftex` is default in PDF mode and `dvipdfmx` in
- DVI mode). Thus one will never need to specify the driver.
- * `substmingoth`: Applies the substituion of families `min`, `goth`
- and `maru` (used conventionally for Japanese) with families `mc`,
- `gt` and `mg` (standard in this package).
- * `nosubstmingoth` (default): Negation of `substmingoth`.
- * `boldbyembolden` (default): Changes the implemention of `\CJKbold`
- (pseudo-bold) from “overstriking” to “synthetic emboldening”.
- * `noboldbyembolden`: Negation of `boldbyembolden`.
-
-### Usage
-
-#### Selecting CJK fonts
-
-The present package provides three “generic” CJK families in the same
-way as pLaTeX plus the [japanese-otf package]: Mincho family
-(`\mcfamily`), Gothic family (`\gtfamily`), and Maru-gothic family
-(`\mgfamily`). In default setting, the font set from the ipaex-type1
-package are allocated; Mincho family uses IPAex Mincho font, and Gothic
-and Maru-gothic families use IPAex Gothic font. This allocation can be
-altered by users.
-
- * `\mcfamily`: Changes the CJK family to Mincho family. Equivalent
- to `\CJKfamily{\mcdefault}`.
- * `\gtfamily`: Changes the CJK family to Gothic family. Equivalent
- to `\CJKfamily{\gtdefault}`.
- * `\mgfamily`: Changes the CJK family to Maru-gothic family.
- Equivalent to `\CJKfamily{\mgdefault}`.
-
-More advanced commands:
-
- * `\mcdefault`/`\gtdefault`/`\mgdefault`: The names of CJK families
- corresponding to the three generic families. In the standard
- allocation their values are `mc`/`gt`/`mg` respectively and the
- allocation is used as default.
-
- * `\setCJKfamilydefault{<CJK-family>}`: Declares the default CJK
- family. This default value is used when family names are missing
- in some commands, such as `\CJKfamily{}` and `\begin{CJK}{UTF8}{}`.
- The (redefined) `\normalfont` also switches the CJK family to the
- family specified by this command.
-
- The default value of this default family is the “counterpart” of
- the alphabetic font family which is in effect at the beginning of
- the document body. (See the next subsection.)
-
-[japanese-otf package]: http://www.ctan.org/pkg/japanese-otf
-
-#### Synchronization of CJK and non-CJK families
-
-The CJK package (and pTeX engine) manages separate “current families”
-for CJK and alphabetic (non-CJK) families. While this treatment has its
-merit, synchronization of the two “current families” is convenient in
-many cases. Accordingly, tHe present package redefines some of the
-LaTeX commands that switches current alphabetic font families so that
-the CJK family will be switched to the counterpart of the current
-alphabetic family, where the “counterpart” is defined as follows:
-
- * `\rmfamily` (Serif) → `\mcfamily` (Mincho)
- * `\sffamily` (Sans-serif) → `\gtfamily` (Gothic)
- * `\ttfamily` (Monospace) → `\gtfamily` (Gothic)
- * The counterpart of the other families is `\mcfamily`.
-
-Redefined commands:
-
- * `\rmfamily`/`\sffamily`/`\ttfamily`: Changes the CJK family to
- the counterpart of the alphabetic font family after executing the
- original function.
- * `\normalfont`: Changes the CJK family to the default CJK family
- specified by `\setCJKfamilydefault` command.
-
-There are shorthand forms of `CJK`/`CJK*` environemnts:
-
- * `\begin{uCJK*}...\end{uCJK*}`: Equivalent to:
-
- \begin{CJK*}{UTF8}{counterpart}...\end{CJK*}
-
- where `counterpart` means the counterpart of the current alphabetic
- font family.
-
- Note that this is *not* equivalent to
-
- \begin{CJK*}{UTF8}{}...\end{CJK*}
-
- structure, which uses the default CJK family.
-
- * `\begin{uCJK}...\end{uCJK}`: Equivalent to:
-
- \begin{CJK}{UTF8}{counterpart}...\end{CJK}
-
-#### Font mapping
-
-The usage of these commands are the same as in the pxchfon package.
-Please refer to the manual of that package for detail.
-
- * `\setminchofont[<id>]{<font-file>}`
- * `\setgothicfont[<id>]{<font-file>}`
- * `\setmarugothicfont[<id>]{<font-file>}`
- * `\setmediumminchofont[<id>]{<font-file>}`
- * `\setboldminchofont[<id>]{<font-file>}`
- * `\setmediumgothicfont[<id>]{<font-file>}`
- * `\setboldgothicfont[<id>]{<font-file>}`
- * `\setxboldgothicfont[<id>]{<font-file>}`
-
-However there is a major limitation as to the use of font mapping with
-the pdfTeX engine. One can use only TrueType fonts and moreover
-TTC format is not allowed. (One can use any flavor of OpenType fonts
-when using dvipdfmx.)
-
-Note: The present package does not support the light-weight Mincho font,
-and thus `\setlightminchofont` does nothing useful.
-
-#### Other commands
-
- * `\UTF{<hexadecimal-number>}`: Inputs a CJK character through Unicode
- codepoint value. `\UTF{5B57}` is equivalent to `\Unicode{"5B}{"57}`.
-
- * `\CJKforce{<character>...}`: Afterwards Treats the characters given
- in the argument as CJK characters (printed using CJK fonts).
-
- * `\CJKunforce{<character>...}`: Cancels the effect of the `\CJKforce`
- command.
-
- * `\@<character>`: Treats the next character (only that occurrence)
- as a CJK character, when the character is outside ASCII; othersize
- the normal meaning of `\@` is retained.
-
- * `\CJKecglue`: Insers a “shibuaki” space. This will be invoked by
- `~` when `\CJKtilde` is in effect. This command can be redefined by
- users to adjust the value of shibuaki space, just as `\CJKglue` can
- be redefined to adjust inter-ideographic space.
-
- For example:
-
- \renewcommand{\CJKecglue}{\hspace{0.125em minus 0.125em}}
-
-### Remarks
-
- * The standard font families provided by this package does *not*
- support vertical writing, even when using default ipaex-type1 font
- set. However, the families provided by ipaex-type1 (`ipxm` and
- `ipxg`) do support vertical writing, and one can utilize these
- families directly by specifying `ipaex-type1` option.
-
-Revision History
-----------------
-
* Version 0.3 ‹2016/10/15›
- Made the vertical writing work well (with CJKvert).
- Avoided garbling of PDF strings created by hyperref.
@@ -279,4 +87,4 @@
--------------------
Takayuki YATO (aka. "ZR")
-http://zrbabbler.sp.land.to/
+https://github.com/zr-tex8r
Added: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.pdf 2023-07-22 20:18:30 UTC (rev 67704)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.pdf 2023-07-22 20:18:47 UTC (rev 67705)
Property changes on: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.tex 2023-07-22 20:18:47 UTC (rev 67705)
@@ -0,0 +1,400 @@
+% LuaLaTeX 文書; 文字コードは UTF-8
+\documentclass[a4paper]{ltjsarticle}
+\renewcommand{\headfont}{\gtfamily\romanseries{sbc}\sffamily}
+\usepackage{geometry}
+\usepackage{xcolor}
+\usepackage[unicode,colorlinks,hyperfootnotes=false]{hyperref}
+\hypersetup{linkcolor=blue!75!black,urlcolor=green!45!black}
+\usepackage{shortvrb}
+\MakeShortVerb{\|}
+\usepackage{verbatim}
+\newenvironment{myverbatim}
+ {\begin{quote}\small\verbatim}
+ {\endverbatim\end{quote}}
+\newcommand{\PkgVersion}{0.5}
+\newcommand{\PkgDate}{2023/07/23}
+\newcommand{\Pkg}[1]{\textsf{#1}}
+\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
+\newcommand{\Note}{\par\noindent ※}
+\newcommand{\Means}{:\quad}
+\newcommand{\Strong}{\textsf}
+\newcommand{\wbr}{\linebreak[0]}
+\providecommand{\pTeX}{p\TeX}
+\providecommand{\pLaTeX}{p\LaTeX}
+\providecommand{\pdfTeX}{pdf\/\TeX}
+%-----------------------------------------------------------
+\begin{document}
+\title{\Pkg{bxcjkjatype} パッケージ}
+\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')}
+\date{v\PkgVersion\quad[\PkgDate]}
+\maketitle
+
+\begin{abstract}
+本パッケージは、日本語組版に適した\Pkg{CJK}パッケージの設定を提供する。
+その上で、{\pLaTeX}ユーザにとって\Pkg{CJK}パッケージの使用が容易に
+するために、{\pLaTeX}カーネルや{\pLaTeX}用パッケージのものに
+類似した命令を提供する。
+\end{abstract}
+
+\tableofcontents
+
+%===========================================================
+\section{パッケージ読込}
+\label{sec:loading}
+
+\begin{verbatim}
+\usepackage[オプション,...]{bxcjkjatype}
+\end{verbatim}
+
+利用可能なオプションを以下で挙げる。
+
+%-------------------
+\subsection{CJK環境の自動付加}
+
+文書本体を |CJK(*)| 環境で自動的かつ安全に囲うためのオプション。
+文書全体においてCJKを有効にしたい場合、
+および「動く引数」にCJKテキストが含まれる場合は
+これを使うのが適切である。
+
+\begin{itemize}
+\item |whole|、|wholeCJK*|\Means
+ 文書全体を |CJK*| 環境で囲う。
+ \Note 厳密に言うと |\begin{uCJK*}~\end{uCJK*}| で囲う。
+\item |wholeCJK|\Means
+ 文書全体を |CJK| 環境で囲う。
+ \Note 厳密に言うと |\begin{uCJK}~\end{uCJK}| で囲う。
+\item |nowhole|(既定)\Means
+ |wholeCJK*| 及び |wholeCJK| の否定。
+\end{itemize}
+
+%-------------------
+\subsection{「自動チルダ」}
+
+{\pTeX}エンジンや\Pkg{luatexja}パッケージと異なり、
+\Pkg{CJK}パッケージには和欧文間空白(いわゆる“四分空き”)を
+自動挿入する機能はないので、
+文書作成者が手動で入れる必要がある。
+この負担を軽減するため、\Pkg{CJK}パッケージでは
+「非分割欧文空白を入れる命令であるチルダ“|~|”を
+和欧文間空白を入れる命令に切り替える」
+ための機構を用意している。
+|\CJKtilde| という命令を実行すると“|~|”が和欧文間空白に切り替わる%
+\footnote{|\standardtilde| は |\CJKtilde| の効力を打ち消して
+“|~|”の意味を本来の非分割欧文空白に戻す。
+また、|\CJKtilde| 有効時に非分割欧文空白を入れるために、
+常に非分割欧文空白を表す |\nbs| という命令が用意されている。}。
+
+本パッケージで |autotilde| オプションを指定すると、
+|CJK(*)| 環境に入ったときに |\CJKtilde| が自動的に呼び出される
+ようになる。
+このため |CJK(*)| 環境内では“|~|”が和欧文間空白の意味になる。
+
+\begin{itemize}
+\item |autotilde|\Means
+ 全ての |CJK(*)| 環境の先頭で |\autotilde| が呼び出されるようにする。
+\item |noautotilde|(既定)\Means
+ |autotilde| の否定。
+\end{itemize}
+
+%-------------------
+\subsection{PDF文字列中の和欧文間空白の扱い}
+
+先述の通り、{\LaTeX}の文法ではチルダ“|~|”は非分割欧文空白を表す。
+従って、\Pkg{hyperref}パッケージがPDF文字列を生成する際には、
+{\LaTeX}テキスト中の“|~|”は空白文字に変換される。
+
+ところが |\CJKtilde| が有効である場合はこの挙動には問題がある。
+|\CJKtilde| 適用時は“|~|”の意味が和欧文間空白に変わるが、
+和欧文間空白は組版上の現象でありテキスト情報としての空白ではない
+からである。
+従って、本パッケージを読み込んだ場合には、
+|\CJKtilde| 適用時の“|~|”はPDF文字列への変換の際には
+削除される仕様に変更される。
+
+さらに、この挙動はオプションで制御することができる。
+
+\begin{itemize}
+\item |noCJKtildeasspace|(既定)\Means
+ |\CJKtilde| 適用時の“|~|”はPDF文字列では削除される。
+\item |CJKtildeasspace|\Means
+ |\CJKtilde| 適用時の“|~|”はPDF文字列では空白文字に
+ 変換される。
+ \Note 本来の\Pkg{hyperref}の挙動と同じ。
+\end{itemize}
+
+%-------------------
+\subsection{フォントマップ設定}
+
+\href{http://www.ctan.org/pkg/pxchfon}{\Pkg{pxchfon}パッケージ}%
+と同等のフォントマップのプリセットが利用できる。
+詳細についてはそちらの解説文書を参照されたい。
+
+\begin{itemize}
+\item |oneweight|、|nooneweight|\Means
+ \Pkg{pxchfon}と同様。
+\item \Pkg{pxchfon}で利用可能なプリセットオプション(|ms| 等)が
+ 利用できる。
+ (非推奨のものを除く。)
+\item |ttfname=|\Meta{パターン}\Means
+ TTC代替(\ref{ssec:ttfname}節)を行う場合のTTFフォント名のパターン。
+\item |ipaex-type1|\Means
+ 本パッケージのフォント管理を無効にし、\Pkg{ipaex-type1}パッケージ
+ のファミリ(|ipxm| と |ipxg|)を直接用いる。
+ この設定では |\mcdefault| の値は |ipxm| に、|\gtdefault| の
+ 値は |ipxg| になる。
+\end{itemize}
+
+%-------------------
+\subsection{CJKフォントスケール}
+
+\begin{itemize}
+\item |scale=|\Meta{実数}\Means
+ CJKフォントに対するスケール値を設定する。
+\end{itemize}
+
+\Note 0.3版より、|ipaex-type1| 指定時もCJKフォントスケールが
+利用できるようになった。
+
+%-------------------
+\subsection{その他のオプション}
+
+\begin{itemize}
+\item |everypage|\Means
+ フォントマップ情報を出力DVI文書の全てのページに出力する。
+ |dvipdfmx| ドライバでのみ有効。
+\item |noeverypage|(既定)\Means
+ |everypage| の否定。
+\item ドライバオプション\Means
+ |pdftex|、|dvipdfmx|、|dvips|、|none| が指定できる。
+ ドライバ設定は既定(ipaex-type1)以外のフォントマップの使用時に
+ のみ意味をもつ。
+ さらに、フォントマップ変更は |pdftex| と |dvipdfmx| でのみ
+ サポートされ、またこの2つの値は常に自動判定可能
+ (PDFモードでは |pdftex|、DVIモードでは |dvipdfmx| が既定)
+ なので、実際にはドライバを指定する必要はない。
+\item |substmingoth|\Means
+ CJKパッケージの日本語用総称ファミリとして慣習的に使われている
+ ファミリの |min|/|goth|/|maru| について、{\LaTeX} レベルで、
+ 本パッケージにおける標準ファミリである |mc|/|gt|/|mg| への
+ 代替を設定する。
+ これにより、|min| 等のファミリの使用を前提とした日本語用
+ テンプレート等を使う場合においても、論理フォントレベルでの代替設定を
+ 行う必要がなくなる。
+\item |nosubstmingoth|(既定)\Means
+ |substmingoth| の否定。
+\item |boldbyembolden|(既定)\Means
+ \Pkg{CJK}パッケージの“擬似太字”(|\CJKbold|)の処理方法を
+ “重ね打ち”から“合成太字”に変更する。
+\item |noboldbyembolden|\Means
+ |boldbyembolden| の否定。
+\end{itemize}
+
+%-------------------
+\subsection{TTC代替}
+\label{ssec:ttfname}
+
+{\pdfTeX}エンジンはTTC形式のフォントをサポートしていない
+(サポートしているOpenTypeの形式は単体のTTFグリフのものだけである)。
+従って、|\setminchofont| 命令等でTTCフォントを使おうと望むなら、
+適当なツールを使ってTTCフォントファイルを個々のTTFフォントファイル
+に分解する処理を行うしかない\footnote{%
+もちろん、ライセンスの規定のためそれができない場合もある。}。
+
+これはエンジン側の制限仕様のため仕方がないだろう。
+しかし本パッケージを用いる場合には他に問題がある。
+変換後のTTFフォントはファイル名が元のものと異なるため、
+プリセット設定(|mobo-moga| 等のオプション)が使えないのである。
+これを解決するために、0.3版で |ttfname| オプションが新設された。
+
+例えば、パッケージ読込時に |ttfname=*_1| が指定されたとする。
+この状態で本パッケージの処理において「mogam.ttcの最初(0番)」
+が要求された場合、代わりに「mogam\_1.ttf」というファイルが使われる。
+同様に、「mogam.ttcの1番、2番、……」については
+「mogam\_2.ttf」「mogam\_3.ttf」……での代替が行われる。
+
+|ttfname| で指定するファイル名のパターンには「|*_1|」
+「|TEMP-*-00.TTF|」のように「|*| を1つ含み、数字列を含む文字列」
+が指定できる。
+この |*| の部分はプリセットが要求するTTCファイルの
+ベース名(|mogam| 等)で
+置き換えられ、かつ、拡張子がない場合は |.ttf| が補われる。
+その結果の文字列がTTCの最初(0番)のフォントに対する
+代替ファイル名となる。
+後続(1番、2番、……)の代替ファイル名は数字部分を
+インクリメントしたものになる。
+
+%===========================================================
+\section{機能}
+\label{sec:usage}
+
+%-------------------
+\subsection{CJKフォントの選択}
+
+本パッケージでは、{\pLaTeX} +
+\href{http://www.ctan.org/pkg/japanese-otf}{\Pkg{japanese-otf}パッケージ}%
+で用いられるものと同等の3つの「総称」CJKフォントファミリを用意している:
+明朝(|\mcfamily|)、ゴシック(|\gtfamily|)、
+丸ゴシック(|\mgfamily|)。
+既定では\Pkg{ipaex-type1}パッケージのフォントが割り当てられている:
+明朝→IPAex明朝、ゴシック・丸ゴシック→IPAexゴシック。
+この割当は変更可能である。
+
+\begin{itemize}
+\item |\mcfamily|\Means
+ CJKファミリを明朝ファミリに変更する。
+ \Note |\CJKfamily{mcdefault}| と等価である。
+\item |\gtfamily|\Means
+ CJKファミリをゴシックファミリに変更する。
+ \Note |\CJKfamily{gtdefault}| と等価である。
+\item |\mgfamily|\Means
+ CJKファミリを丸ゴシックファミリに変更する。
+ \Note |\CJKfamily{mgdefault}| と等価である。
+\end{itemize}
+
+高度な命令\Means
+
+\begin{itemize}
+\item |\mcdefault|/|\gtdefault|/|\mgdefault|\Means
+ 総称ファミリに対応するCJKファミリ名である。
+ 標準の割当ではこれらの値は |mc|/|gt|/|mg| でありこの割当が
+ 既定で用いられる。
+\item |\setCJKfamilydefault{|\Meta{CJKファミリ}|}|\Means
+ 既定のCJKファミリを設定する。
+ この既定値は、ある種の命令(例えば |\CJKfamily{}|
+ や |\begin{CJK}{UTF8}{}|)でファミリ名が省略された時に用いられる。
+ (再定義後の)|\normalfont| はCJKファミリをこの命令で設定した
+ 既定ファミリに変更する。
+
+ この既定ファミリの既定値は、文書の本体の先頭で有効になっている
+ 欧文ファミリの「対応ファミリ」
+ (\ref{ssec:sync-families}節)となる。
+\end{itemize}
+
+%-------------------
+\subsection{CJKと欧文のファミリの連動}
+\label{ssec:sync-families}
+
+\Pkg{CJK}パッケージ(および{\pTeX}エンジン)ではCJKと欧文で
+別々の「現在ファミリ」を管理する。
+この取扱は利点もあるが、多くの場合はこの2つの「現在ファミリ」を
+連動させた方が都合がよい。
+このため、本パッケージでは現在欧文フォントを切り替える幾つかの
+{\LaTeX}命令について、CJKファミリを欧文の「対応ファミリ」に
+切り替えるように改修する。
+ここで「対応ファミリ」は以下のように定められる:
+
+\begin{itemize}
+\item |\rmfamily|(セリフ) → |\mcfamily|(明朝)
+\item |\sffamily|(サンセリフ) → |\gtfamily|(ゴシック)
+\item |\ttfamily|(等幅) → |\gtfamily|(ゴシック)
+\item その他のファミリについては、対応ファミリは |\mcfamily| とする。
+\end{itemize}
+
+改修される命令:
+
+\begin{itemize}
+\item |\rmfamily|/|\sffamily|/|\ttfamily|\Means
+ 本来の動作の後、CJKファミリを欧文ファミリの「対応ファミリ」
+ に変更する。
+\item
+ |\normalfont|\Means
+ CJKファミリを、|\setCJKfamilydefault| 命令により指定された
+ 既定CJKファミリに変更する。
+\end{itemize}
+
+|CJK|/|CJK*| 環境の省略系\Means
+
+\begin{itemize}
+\item |\begin{uCJK*}...\end{uCJK*}|\Means
+ 次のものと等価\Means
+\begin{verbatim}
+\begin{CJK*}{UTF8}{対応ファミリ}...\end{CJK*}
+\end{verbatim}
+ ただし“|対応ファミリ|”は現在の欧文ファミリの対応ファミリを表す。
+
+ 次のものと等価では\Strong{ない}ことに注意\Means
+\begin{verbatim}
+\begin{CJK*}{UTF8}{}...\end{CJK*}
+\end{verbatim}
+ こちらは既定のCJKファミリ(|\setCJKfamilydefault| の設定)
+ を使用する。
+
+\item |\begin{uCJK}...\end{uCJK}|\Means
+ 次のものと等価\Means
+\begin{verbatim}
+\begin{CJK}{UTF8}{対応ファミリ}...\end{CJK}
+\end{verbatim}
+\end{itemize}
+
+%-------------------
+\subsection{フォントマップ設定}
+
+これらの命令の使い方は\Pkg{pxchfon}パッケージの時と同じであるので、
+詳細については\Pkg{pxchfon}の解説文書を参照されたい。
+
+\begin{itemize}
+\item |\setminchofont[|\Meta{ID}|]{|\Meta{フォントファイル名}|}|
+\item |\setgothicfont[|\Meta{ID}|]{|\Meta{フォントファイル名}|}|
+\item |\setmarugothicfont[|\Meta{ID}|]{|\Meta{フォントファイル名}|}|
+\item |\setmediumminchofont[|\Meta{ID}|]{|\Meta{フォントファイル名}|}|
+\item |\setboldminchofont[|\Meta{ID}|]{|\Meta{フォントファイル名}|}|
+\item |\setmediumgothicfont[|\Meta{ID}|]{|\Meta{フォントファイル名}|}|
+\item |\setboldgothicfont[|\Meta{ID}|]{|\Meta{フォントファイル名}|}|
+\item |\setxboldgothicfont[|\Meta{ID}|]{|\Meta{フォントファイル名}|}|
+\end{itemize}
+
+ただし、{\pdfTeX}エンジン使用時は、
+エンジン自体の制限仕様のため、
+「TrueTypeグリフであってかつTTC形式で\Strong{ない}フォント」
+のみが使用できる。
+(dvipdfmx使用時は全ての種類のOpenTypeフォントが使用可能。)
+
+\Note
+本パッケージは「明朝・細字」のフォントをサポートしない。
+従って、|\setlightminchofont| は動作しない。
+
+%-------------------
+\subsection{その他の命令}
+
+\begin{itemize}
+\item |\UTF{|\Meta{16進数字}|}|\Means
+ CJK文字をUnicode符号値で入力する。
+ 例えば、|\UTF{5B57}| は |\Unicode{"5B}{"57}| と等価である。
+\item |\CJKforce{|\Meta{文字}…|}|\Means
+ 以降は引数の中にある各々の文字をCJK文字として扱う
+ (CJKフォントで出力される)。
+\item
+ |\CJKunforce{|\Meta{文字}…|}|\Means
+ |\CJKforce| の効果を打ち消す。
+\item |\@|\Meta{文字}\Means
+ 非ASCII文字の前に |\@| がある場合は、その文字(その出現のみ)を
+ CJK文字として扱う。
+ ASCII文字の前の |\@| は{\LaTeX}本来の意味を維持する。
+\item |\CJKecglue|\Means
+ 和欧文間空白を挿入する。
+ |\CJKtilde| が有効時の“|~|”に相当する
+ (“|~|”実際にこの命令を呼び出す)。
+ この命令をユーザが再定義して和欧文間空白の量を調節することが
+ できる(和文間空白の |\CJKglue| と同様)。
+
+ 使用例\Means
+\begin{verbatim}
+\renewcommand{\CJKecglue}{\hspace{0.125em minus 0.125em}}
+\end{verbatim}
+\end{itemize}
+
+%===========================================================
+\section{補足事項}
+\label{sec:remarks}
+
+\begin{itemize}
+\item 本パッケージで標準に用いられるフォントは、例えそれに
+ ipaex-type1のフォントが割り当てられている場合でも、縦書きを
+ サポートしない。
+ しかし\Pkg{ipaex-type1}が提供するファミリ(|ipxm| と |ipxg|)そのものは
+ 縦書きをサポートしており、|ipaex-type1| オプションを指定することで
+ それらのファミリを直接使うことができる。
+\end{itemize}
+
+%===========================================================
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype-ja.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.pdf 2023-07-22 20:18:30 UTC (rev 67704)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.pdf 2023-07-22 20:18:47 UTC (rev 67705)
Property changes on: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.tex 2023-07-22 20:18:47 UTC (rev 67705)
@@ -0,0 +1,406 @@
+% pdfLaTeX document; UTF-8
+\documentclass[a4paper]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern,textcomp}
+\usepackage{geometry}
+\usepackage{xcolor}
+\usepackage[unicode,colorlinks]{hyperref}
+\hypersetup{linkcolor=blue!75!black,urlcolor=green!45!black}
+\usepackage{shortvrb}
+\MakeShortVerb{\|}
+\usepackage{verbatim}
+\newenvironment{myverbatim}
+ {\begin{quote}\small\verbatim}
+ {\endverbatim\end{quote}}
+\newcommand*{\Cs}[1]{\texttt{\textbackslash #1}}
+\newcommand{\PkgVersion}{0.5}
+\newcommand{\PkgDate}{2023/07/23}
+\newcommand{\Pkg}[1]{\textsf{#1}}
+\newcommand{\Meta}[1]{$\langle$\textit{#1}$\rangle$}
+\newcommand{\Note}{\par\noindent \emph{Note:}\quad}
+\newcommand{\Means}{:\hspace{1em plus 1em}}
+\newcommand{\wbr}{\linebreak[0]}
+\providecommand{\pTeX}{p\TeX}
+\providecommand{\pLaTeX}{p\LaTeX}
+\providecommand{\pdfTeX}{pdf\/\TeX}
+%-----------------------------------------------------------
+\begin{document}
+\title{The \Pkg{bxcjkjatype} Package}
+\author{Takayuki YATO (aka.~``ZR'')}
+\date{v\PkgVersion\quad[\PkgDate]}
+\maketitle
+
+\begin{abstract}
+This package provides working configuration of the \Pkg{CJK} package
+suitable for Japanese typesetting of moderate quality.
+Moreover, it facilitates use of the \Pkg{CJK} package for {\pLaTeX}
+users, by providing commands that are similar to those used by the
+{\pLaTeX} kernel and some other packages used with it.
+\end{abstract}
+
+\tableofcontents
+
+%===========================================================
+\section{Package Loading}
+\label{sec:loading}
+
+\begin{verbatim}
+\usepackage[<option>,...]{bxcjkjatype}
+\end{verbatim}
+
+The available options are described hereafter.
+
+%-------------------
+\subsection{Options for auto-wrapping by CJK environments}
+
+These options wrap the document body with a |CJK(*)|
+environment automatically and safely.
+They are suitable
+when CJK needs to be effective in the whole document,
+or some ``moving arguments'' hold CJK text.
+
+\begin{itemize}
+\item |whole|, |wholeCJK*|\Means
+ Wraps the whole document body with a |CJK*| environment.
+ \Note Precisely speaking,
+ it wraps with |\begin{uCJK*}|\ldots\wbr|\end{uCJK*}|.
+\item |wholeCJK|\Means
+ Wraps the whole document body with a |CJK| environment.
+ \Note Precisely speaking,
+ it wraps with |\begin{uCJK}|\ldots\wbr|\end{uCJK}|.
+\item |nowhole| (default)\Means
+ Negation of |wholeCJK*| or |wholeCJK|.
+\end{itemize}
+
+%-------------------
+\subsection{Options for ``auto-tilde''}
+
+The \Pkg{CJK} package does not support auto-insertion of ``shibuaki''
+(a thin space between alphabetic and ideographic letters)
+and thus authors must manually insert ``shibuaki''.
+To help them \Pkg{CJK} package provides a mechanism
+to switch the meaning of the tilde character ``|~|''
+between a non-breaking space (the original meaning)
+and ``shibuaki''.
+The |\autotilde| command changes ``|~|'' to ``shibuaki''%
+\footnote{\Cs{standardtilde} cancels the effect of \Cs{CJKtilde}
+ and changes ``\texttt{\textasciitilde}'' back to non-breaking space.
+ \Cs{nbs} always inserts non-breaking space,
+ which is useful in CJK environemtns.}.
+
+The option |autotilde| triggers automatic invocation of |\CJKtilde|,
+which makes ``|~|'' in CJK environments insert ``shibuaki''
+by default.
+
+\begin{itemize}
+\item |autotilde|\Means
+ Makes |\CJKtilde| invoked at the beginning of every |CJK(*)|
+ environment.
+\item |noautotilde| (default)\Means
+ Negation of |autotilde|.
+\end{itemize}
+
+%-------------------
+\subsection{Options for configuring ``shibuaki'' in PDF strings}
+
+As explained above,
+in {\LaTeX} grammar ``|~|'' represents a non-breaking space.
+Accordingly, when the \Pkg{hyperref} package generates PDF strings,
+``|~|'' in {\LaTeX} text will be converted to a space character.
+
+However, when |\CJKtilde| is effective
+the meaning of ``|~|'' changes to ``shibuaki''.
+The ``shibuaki'' is device on typesetting
+and is not a space as text data,
+and thus the behavior of \Pkg{hyperref} is undesirable.
+When this package is loaded, ``|~|'' with |\CJKtilde| effective
+is tailored to be deleted at conversion to PDF strings.
+
+Moreover this behavior can be configured by options.
+
+\begin{itemize}
+\item |noCJKtildeasspace| (default)\Means
+ When |\CJKtilde| is effective,
+ ``|~|'' will be deleted in PDF strings.
+\item |CJKtildeasspace|\Means
+ When |\CJKtilde| is effective,
+ ``|~|'' will be converted to a space character in PDF strings.
+ \Note This is the original behavior of \Pkg{hyperref}.
+\end{itemize}
+
+%-------------------
+\subsection{Options for font-mapping}
+
+You can use preset font mappings in the same way as in the
+\href{http://www.ctan.org/pkg/pxchfon}{\Pkg{pxchfon} package}.
+Please refer to the manual of that package for detailed explanation
+of this feature.
+
+\begin{itemize}
+\item |oneweight|, |nooneweight|\Means
+ The same as in \Pkg{pxchfon}.
+\item You can use font preset options (such as |ms|) which are available
+ in \Pkg{pxchfon} (except obsolete ones).
+\item |ttfname=|\Meta{pattern}\Means
+ Specifies the pattern of the TTF font names which are used when TTC
+ substitution (Section~\ref{ssec:ttfname}) is employed.
+
+\item |ipaex-type1|\Means
+ Disables the font management of this package and directly uses the
+ families provided by the \Pkg{ipaex-type1} package,
+ namely |ipxm| and |ipxg|.
+ In this setting the value of |\mcdefault| is |ipxm| and the value of
+ |\gtdefault| and |\mgdefault| is |ipxg|, so that the higher level
+ commands (such as |\sffamily| and |\gtfamily|) can work correctly.
+\end{itemize}
+
+%-------------------
+\subsection{Options for CJK font scaling}
+
+\begin{itemize}
+\item |scale=|\Meta{real}\Means
+ Sets the scaling factor for CJK fonts.
+\end{itemize}
+
+\Note When using version 0.3 or later,
+one can employ the scaling even with the
+|ipaex-type1| option.
+
+%-------------------
+\subsection{Other options}
+
+\begin{itemize}
+\item |everypage|\Means
+ Outputs the font mapping information on every page of the resulted
+ DVI document.
+ Available only with |dvipdfmx| driver.
+\item |noeverypage| (default)\Means
+ Negation of |everypage|.
+\item Driver options\Means
+ |pdftex|, |dvipdfmx|, |dvips| and |none| are available.
+ The driver setting is relevant only when using font mappings other
+ than the default one (ipaex-type1 fonts), so you need not care of
+ drivers in using default fonts.
+ Moreover, non-default font mappings are supported only by |pdftex|
+ and |dvipdfmx|, and these two values are auto-detected
+ (|pdftex| is default in PDF mode and |dvipdfmx| in DVI mode).
+ Thus you will never need to specify the driver.
+\item |substmingoth|\Means
+ Applies the substituion of families |min|, |goth| and |maru|
+ (used conventionally for Japanese) with families |mc|, |gt| and |mg|
+ (standard in this package).
+\item |nosubstmingoth| (default)\Means
+ Negation of |substmingoth|.
+\item |boldbyembolden| (default)\Means
+ Changes the implementation of |\CJKbold| (pseudo-bold) from
+ ``overstriking'' to ``synthetic emboldening''.
+\item |noboldbyembolden|\Means
+ Negation of |boldbyembolden|.
+\end{itemize}
+
+%-------------------
+\subsection{TTC substitution}
+\label{ssec:ttfname}
+
+The {\pdfTeX} engine does not support fonts in TTC format.
+Thus when you want to use TTC fonts for this package,
+all you can do is to decompose a TTC font
+into several TTF fonts.
+
+Moreover there is another problem when you use this package.
+The decomposed TTF files have names
+different from the original TTC font,
+which means that
+the preset settings (options such as |moba-moga|) no longer work.
+The |ttfname| option is a workaround for this problem.
+
+The |ttfname| option key must have a file name pattern,
+which is a string containing (exactly) one occurrence of ``|*|''
+and one occurrence of a numeral string,
+such as ``|*_1|'' and ``|TEMP-*-00.TTF|''.
+(If the pattern does not have an extension, ``|.ttf|'' is appended.)
+
+For example, when the option |ttfname=*_1| is given, the font
+``index 0 of mogam.ttc'' will map to ``mogam\_1.ttf'', and similarly,
+``index 1'' to ``mogam\_2.ttf''
+(the numeral part is incremented) and so on.
+
+
+%===========================================================
+\section{Usage}
+\label{sec:usage}
+
+%-------------------
+\subsection{Selecting CJK fonts}
+
+The present package provides three ``generic'' CJK font familie
+in the same way as {\pLaTeX} plus the
+\href{http://www.ctan.org/pkg/japanese-otf}{\Pkg{japanese-otf} package}:
+Mincho family (|\mcfamily|), Gothic family (|\gtfamily|), and
+Maru-gothic family (|\mgfamily|).
+In default setting, the font set from the \Pkg{ipaex-type1} package
+is allocated;
+Mincho family uses IPAex Mincho font, and Gothic and Maru-gothic
+families use IPAex Gothic font.
+This allocation can be altered by users.
+
+\begin{itemize}
+\item |\mcfamily|\Means
+ Changes the CJK family to Mincho family.
+ \Note Equivalent to |\CJKfamily{\mcdefault}|.
+\item |\gtfamily|\Means
+ Changes the CJK family to Gothic family.
+ \Note Equivalent to |\CJKfamily{\gtdefault}|.
+\item |\mgfamily|\Means
+ Changes the CJK family to Maru-gothic family.
+ \Note Equivalent to |\CJKfamily{\mgdefault}|.
+\end{itemize}
+
+More advanced commands:
+
+\begin{itemize}
+\item |\mcdefault|/|\gtdefault|/|\mgdefault|\Means
+ The names of CJK families corresponding to the three generic families.
+ In the standard allocation their values are
+ |mc|/\wbr|gt|/\wbr|mg| respectively
+ and the allocation is used as default.
+\item
+ |\setCJKfamilydefault{|\Meta{CJK-family}|}|\Means
+ Declares the default CJK family.
+ This default value is used when family names are missing in some
+ commands, such as |\CJKfamily{}| and
+ |\begin{CJK}{UTF8}{}|.
+ The (redefined) |\normalfont| also switches the CJK family to the
+ family specified by this command.
+
+ The default value of this default family is
+ the ``counterpart'' (Section~\ref{ssec:sync-families}) of the
+ alphabetic font family which is in effect at the beginning of the
+ document body.
+\end{itemize}
+
+%-------------------
+\subsection{Synchronization of CJK and non-CJK families}
+\label{ssec:sync-families}
+
+The \Pkg{CJK} package (and {\pTeX} engine) manages separate
+``current families'' for CJK and alphabetic (non-CJK) families.
+While this treatment has its merit, synchronization of the two
+``current families'' is convenient in many cases.
+Accordingly, the present package redefines some of the {\LaTeX}
+commands that switches current alphabetic font families so that
+the CJK family will be switched to the counterpart of the current
+alphabetic family, where the ``counterpart'' is defined as follows:
+
+\begin{itemize}
+\item |\rmfamily| (Serif) → |\mcfamily| (Mincho)
+\item |\sffamily| (Sans-serif) → |\gtfamily| (Gothic)
+\item |\ttfamily| (Monospace) → |\gtfamily| (Gothic)
+\item The counterpart of the other families is |\mcfamily|.
+\end{itemize}
+
+Redefined commands:
+
+\begin{itemize}
+\item |\rmfamily|/|\sffamily|/|\ttfamily|\Means
+ Changes the CJK family to the counterpart of the alphabetic font
+ family after executing the original function.
+\item |\normalfont|\Means
+ Changes the CJK family to the default CJK family that is specified
+ by the |\setCJKfamilydefault| command.
+\end{itemize}
+
+There are shorthand forms of |CJK|/\wbr|CJK*| environments:
+
+\begin{itemize}
+\item |\begin{uCJK*}|\ldots|\end{uCJK*}|\Means
+ Equivalent to:
+\begin{verbatim}
+\begin{CJK*}{UTF8}{<counterpart>}...\end{CJK*}
+\end{verbatim}
+ where |<counterpart>| means the counterpart of the current alphabetic
+ font family.
+
+ Note that this is \emph{not} equivalent to
+\begin{verbatim}
+\begin{CJK*}{UTF8}{}...\end{CJK*}
+\end{verbatim}
+ structure, which uses the default CJK family.
+\item |\begin{uCJK}|\ldots|\end{uCJK}|\Means
+ Equivalent to:
+\begin{verbatim}
+\begin{CJK}{UTF8}{counterpart}...\end{CJK}
+\end{verbatim}
+\end{itemize}
+
+%-------------------
+\subsection{Font mapping}
+
+The usage of these commands are the same as in the \Pkg{pxchfon}
+package.
+Please refer to the manual of that package for detail.
+
+\begin{itemize}
+\item |\setminchofont{|\Meta{id}|]{|\Meta{font-file}|}|
+\item |\setgothicfont{|\Meta{id}|]{|\Meta{font-file}|}|
+\item |\setmarugothicfont{|\Meta{id}|]{|\Meta{font-file}|}|
+\item |\setmediumminchofont{|\Meta{id}|]{|\Meta{font-file}|}|
+\item |\setboldminchofont{|\Meta{id}|]{|\Meta{font-file}|}|
+\item |\setmediumgothicfont{|\Meta{id}|]{|\Meta{font-file}|}|
+\item |\setboldgothicfont{|\Meta{id}|]{|\Meta{font-file}|}|
+\item |\setxboldgothicfont{|\Meta{id}|]{|\Meta{font-file}|}|
+\end{itemize}
+
+However there is a major limitation as to the use of font mapping with
+the {\pdfTeX} engine.
+You can use only TrueType fonts and moreover TTC format is not allowed.
+(You can use any flavor of OpenType fonts when using dvipdfmx.)
+
+\Note The present package does not support the light-weight Mincho
+font, and thus the |\setlightminchofont| command does nothing useful.
+
+%-------------------
+\subsection{Other commands}
+
+\begin{itemize}
+\item |\UTF{|\Meta{hexadecimal-number}|}|\Means
+ Inputs a CJK character through Unicode codepoint value.
+ |\UTF{5B57}| is equivalent to |\Unicode{"5B}{"57}|.
+\item |\CJKforce{|\Meta{character}\ldots|}|\Means
+ Afterwards treats the characters given in the argument as CJK
+ characters (printed using CJK fonts).
+\item |\CJKunforce{|\Meta{character}\ldots|}|\Means
+ Cancels the effect of the |\CJKforce| command.
+\item |\@|\Meta{character}\Means
+ Treats the next character (only that occurrence) as a CJK character,
+ when the character is outside the ASCII range; othersize the
+ standard meaning of |\@| is retained.
+\item |\CJKecglue|\Means
+ Inserts a ``shibuaki'' space.
+ This will be invoked by |~| when |\CJKtilde| is in effect.
+ This command can be redefined by users to adjust the value of
+ shibuaki space, just as |\CJKglue| can be redefined to adjust
+ inter-ideographic space.
+
+ For example, you can write:
+\begin{verbatim}
+\renewcommand{\CJKecglue}{\hspace{0.125em minus 0.125em}}
+\end{verbatim}
+\end{itemize}
+
+%===========================================================
+\section{Remarks}
+\label{sec:remarks}
+
+\begin{itemize}
+\item The standard font families provided by this package does
+ \emph{not} support vertical writing, even when using default
+ ipaex-type1 font set.
+ However, the families provided by \Pkg{ipaex-type1}
+ (|ipxm| and |ipxg|) do support vertical writing, and you can
+ utilize these families directly by specifying |ipaex-type1| option.
+\end{itemize}
+
+%===========================================================
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkjatype.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.pdf 2023-07-22 20:18:30 UTC (rev 67704)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.pdf 2023-07-22 20:18:47 UTC (rev 67705)
Property changes on: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.tex 2023-07-22 20:18:47 UTC (rev 67705)
@@ -0,0 +1,129 @@
+% LuaLaTeX 文書; 文字コードは UTF-8
+\documentclass[a4paper]{ltjsarticle}
+\renewcommand{\headfont}{\gtfamily\romanseries{sbc}\sffamily}
+\usepackage{geometry}
+\usepackage{xcolor}
+\usepackage[unicode,colorlinks,hyperfootnotes=false]{hyperref}
+\hypersetup{linkcolor=blue!75!black,urlcolor=green!45!black}
+\usepackage{bxtexlogo}
+\bxtexlogoimport{*}
+\usepackage{shortvrb}
+\MakeShortVerb{\|}
+\usepackage{verbatim}
+\newenvironment{myverbatim}
+ {\begin{quote}\small\verbatim}
+ {\endverbatim\end{quote}}
+\newcommand{\PkgVersion}{0.5}
+\newcommand{\PkgDate}{2023/07/23}
+\newcommand{\Pkg}[1]{\textsf{#1}}
+\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
+\newcommand{\Note}{\par\noindent ※}
+\newcommand{\Means}{:\quad}
+\newcommand{\jemph}{\textsf}
+\newcommand{\wbr}{\linebreak[0]}
+\newcommand{\Cs}[1]{\texttt{\symbol{`\\}#1}}
+%-----------------------------------------------------------
+\begin{document}
+\title{\Pkg{bxcjkvert} パッケージ}
+\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')}
+\date{v\PkgVersion\quad[\PkgDate]}
+\maketitle
+
+\begin{abstract}
+本パッケージは\Pkg{CJKvert}パッケージの改造版であり、
+縦組と横組の混在が普通に起こりうる日本語組版に
+パッケージの機能を適合させたものである。
+\end{abstract}
+
+\tableofcontents
+
+%===========================================================
+\section{パッケージ読込}
+\label{sec:loading}
+
+\begin{verbatim}
+\usepackage[オプション,...]{bxcjkvert}
+\end{verbatim}
+
+本パッケージは\Pkg{CJKvert}パッケージを内部で読み込む。
+
+利用可能なオプションを以下で挙げる。
+
+%-------------------
+\subsection{フォントリセットに関する設定}
+
+\Pkg{CJKvert}パッケージは、書字方向変更の命令
+(|\CJKhorz| および |\CJKvert|)の呼出の際に、
+|\normalfont| を実行して現在フォントをリセットする。
+この挙動は異なる書字方向を混在させる場合には特に不便である。
+従って、\Pkg{bxcjkvert}は既定ではこの挙動を抑止している。
+ただし |resetfont| オプションによりこの挙動は調整可能である。
+
+\begin{itemize}
+\item |resetfont=true|\Means
+ 書字方向命令が現在フォントをリセット(|\normalfont|)する。
+ \Note 本来の\Pkg{CJKvert}の挙動。
+\item |resetfont=false|(既定)\Means
+ 書字方向命令が現在フォントを変更しない。
+\end{itemize}
+
+%-------------------
+\subsection{ベースライン伸長の補正に関する設定}
+
+\Pkg{CJKvert}は書字方向変更時に |\baselinestretch| の値に対する
+補正を行う。
+具体的には、|\CJKvert| が有効な間は
+ベースライン伸長値が |\CJKbaselinestretch| 倍
+\footnote{\Cs{CJKbaselinestretch}の既定値は$1.3$である。}
+に増大する。
+ところが、日本語組版を考慮する限り、ベースライン伸長値を
+変えるべき理由はどこにもない。
+従って、\Pkg{bxcjkvert}はこの機能を無効化している。
+ただし |usebaselinestretch| オプションによりこの挙動は
+調整可能である。
+
+
+\begin{itemize}
+\item |usebaselinestretch=true|\Means
+ |usebaselinestretch| オプション付きの\Pkg{CJKvert}パッケージと同じ。
+ すなわち、|\CJKvert| 実行時にはベースライン伸長値
+ を |\CJKbaselinestretch| 倍にし、|\CJKhorz| 実行時には
+ ベースライン伸長値を復元する。%
+ \footnote{ただし、この場合、ベースライン伸長値は
+ 「\Pkg{CJKvert}パッケージ読込時に保持されていた値」に戻される
+ ことに注意。}
+\item |usebaselinestretch=false|\Means
+ |usebaselinestretch| オプション無しの\Pkg{CJKvert}パッケージと同じ。
+ すなわち、|\CJKvert| 実行時にはベースライン伸長値
+ を |\CJKbaselinestretch| の値に設定し、|\CJKhorz| 実行時には
+ ベースライン伸長値を$1$に設定する。
+ (ユーザによるベースライン伸長値の設定は無視される。)
+\item |usebaselinestretch=retain|(既定)\Means
+ ベースライン伸長値に対する変更を一切行わない。
+\end{itemize}
+
+\Note \Pkg{CJKvert}が予め |usebaselinestretch| オプション付きで
+読み込まれていた場合は、本パッケージの |usebaselinestretch| の
+既定値は(|retain| ではなく)|true| になる。
+
+%-------------------
+\subsection{書字方向の初期値に関する設定}
+
+\Pkg{CJKvert}では初期(文書開始時)の書字方向は縦組と
+定められている。
+本パッケージでは初期の書字方向をユーザが選択することができる。
+
+\begin{itemize}
+\item |main=true|\Means
+ 書字方向の初期値を縦組とする。
+ \Pkg{CJKvert}ではこれが既定である。
+\item |main=false|\Means
+ 書字方向の初期値を横組とする。
+\item |main=retain|(既定)\Means
+ 書字方向の初期値を何も指定しない。
+ この場合、プレアンブルで |\CJKvert| や |\CJKhorz| を実行することで
+ 書字方向の初期値を決めることができる。
+\end{itemize}
+
+%===========================================================
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert-ja.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.pdf 2023-07-22 20:18:30 UTC (rev 67704)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.pdf 2023-07-22 20:18:47 UTC (rev 67705)
Property changes on: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.tex 2023-07-22 20:18:47 UTC (rev 67705)
@@ -0,0 +1,138 @@
+% pdfLaTeX document; UTF-8
+\documentclass[a4paper]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern,textcomp}
+\usepackage{geometry}
+\usepackage{xcolor}
+\usepackage[unicode,colorlinks]{hyperref}
+\hypersetup{linkcolor=blue!75!black,urlcolor=green!45!black}
+\usepackage{bxtexlogo}
+\bxtexlogoimport{*}
+\usepackage{shortvrb}
+\MakeShortVerb{\|}
+\usepackage{verbatim}
+\newenvironment{myverbatim}
+ {\begin{quote}\small\verbatim}
+ {\endverbatim\end{quote}}
+\newcommand{\PkgVersion}{0.5}
+\newcommand{\PkgDate}{2023/07/23}
+\newcommand{\Pkg}[1]{\textsf{#1}}
+\newcommand{\Meta}[1]{$\langle$\textit{#1}$\rangle$}
+\newcommand{\Note}{\par\noindent \emph{Note:}\quad}
+\newcommand{\Means}{:\hspace{1em plus 1em}}
+\newcommand{\wbr}{\linebreak[0]}
+\newcommand{\Cs}[1]{\texttt{\symbol{`\\}#1}}
+%-----------------------------------------------------------
+\begin{document}
+\title{The \Pkg{bxcjkvert} Package}
+\author{Takayuki YATO (aka.~``ZR'')}
+\date{v\PkgVersion\quad[\PkgDate]}
+\maketitle
+
+\begin{abstract}
+This package is a tailored version of the \Pkg{CJKvert} package,
+accommodated for Japanese typesetting,
+where mixture of horizontal and vertical writings is common.
+\end{abstract}
+
+\tableofcontents
+
+%===========================================================
+\section{Package Loading}
+\label{sec:loading}
+
+\begin{verbatim}
+\usepackage[<option>,...]{bxcjkvert}
+\end{verbatim}
+
+The \Pkg{CJKvert} package will be automatically loaded,
+if not yet loaded.
+
+The available options are described hereafter.
+
+%-------------------
+\subsection{Options for configuring font reset}
+
+When a command for switching direction (|\CJKhorz| or |\CJKvert|)
+is invoked, \Pkg{CJKvert} resets the current font parameter
+by issuing |\normalfont|.
+This feature is inconvenient, particularly
+when authors mix different writing directions.
+Thus \Pkg{bxcjkvert} suppresses the feature by default,
+but it can be configured by the |resetfont| option.
+
+\begin{itemize}
+\item |resetfont=true|\Means
+ Makes direction comamnds reset the current font by issuing
+ the |\normalfont| command.
+ \Note This is the original behavior of \Pkg{CJKvert}.
+\item |resetfont=false| (default)\Means
+ Makes direction comamnds retain the current font.
+\end{itemize}
+
+%-------------------
+\subsection{Options for configuring adjustment of the baseline stretch}
+
+\Pkg{CJKvert} makes some adjustment to the value of |\baselinestretch|
+when the writing direction is changed.
+Namely it makes the baseline stretch enlarged by the factor of
+|\CJKbaselinestretch|%
+\footnote{The value of \Cs{CJKbaselinestretch} is $1.3$ by default.}
+when |\CJKvert| is used.
+
+However as far as Japanese typesetting is concerned,
+there is no need to tweak the baseline stretch value.
+Thus \Pkg{bxcjkvert} suppresses this feature, but again
+it can be configured by the |usebaselinestretch| option.
+
+
+\begin{itemize}
+\item |usebaselinestretch=true|\Means
+ This is the same as the behavior of \Pkg{CJKvert} \emph{with}
+ the |usebaselinestretch| option.
+ When |\CJKvert| is invoked, the baseline stretch will be multiplied
+ by the value of |\CJKbaselinestretch|.
+ When |\CJKhorz| is invoked, the baseline stretch will be reverted.%
+ \footnote{Note that, however, in this case the baseline stretch will
+ be reverted to the value at the time when \Pkg{CJKvert} was loaded.
+ it might be against authors' expectation.}
+\item |usebaselinestretch=false|\Means
+ This is the same as the behavior of \Pkg{CJKvert} \emph{without}
+ the |usebaselinestretch| option.
+ When |\CJKvert| is invoked, the baseline stretch will be set
+ to the value of |\CJKbaselinestretch|.
+ When |\CJKhorz| is invoked, the baseline stretch will be
+ reset to $1$.
+ This option ignores the user's setting to the baseline stretch.
+\item |usebaselinestretch=retain| (default)\Means
+ Makes direction comamnds leave the baseline stretch
+ unchanged.
+\end{itemize}
+
+\Note If \Pkg{CJKvert} is loaded with the |usebaselinestretch|
+option in advance,
+then the value of |usebaselinestretch| of this package
+will default to |true| instead of |retain|.
+
+%-------------------
+\subsection{Options for configuring initial writing direction}
+
+\Pkg{CJKvert} sets the initial writing direction of the document
+to vertical.
+But \Pkg{bxcjkvert} allows authors to choose the initial direction.
+
+\begin{itemize}
+\item |main=true|\Means
+ Sets the initial direction to vertical.
+ \Note This is the original behavior of \Pkg{CJKvert}.
+\item |main=false|\Means
+ Sets the initial direction to horizontal.
+\item |main=retain| (default)\Means
+ Does not specify the initial direction.
+ In this case, authors can use |\CJKvert| or |\CJKhorz|
+ in the preamble to decide the initial direction.
+\end{itemize}
+
+%===========================================================
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/latex/bxcjkjatype/bxcjkvert.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/bxcjkjatype/bxcjkjatype.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxcjkjatype/bxcjkjatype.sty 2023-07-22 20:18:30 UTC (rev 67704)
+++ trunk/Master/texmf-dist/tex/latex/bxcjkjatype/bxcjkjatype.sty 2023-07-22 20:18:47 UTC (rev 67705)
@@ -1,7 +1,7 @@
%%
%% This is file 'bxcjkjatype.sty'.
%%
-%% Copyright (c) 2016 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2013-2023 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,14 +10,41 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxcjkjatype}[2016/10/15 v0.3]
+\ProvidesPackage{bxcjkjatype}[2023/07/23 v0.5]
\def\bxjy at pkgname{bxcjkjatype}
-
-%% definitions
\def\bxjy at error{\PackageError\bxjy at pkgname}
-\def\bxjy at warn{\PackageWarning\bxjy at pkgname}
-\def\bxjy at info{\PackageInfo\bxjy at pkgname}
+%--------------------------------------- environment check
+
+%% \bxjy at ifprimitive\CS{<true>}{<false>}
+\@onlypreamble\bxjy at ifprimitive
+\def\bxjy at ifprimitive#1{%
+ \edef\bxjy at tmpa{\string#1}\edef\bxjy at tmpb{\meaning#1}%
+ \ifx\bxjy at tmpa\bxjy at tmpb\expandafter\@firstoftwo
+ \else\expandafter\@secondoftwo\fi
+}
+
+%% engine check
+\@tempswatrue
+\bxjy at ifprimitive\eTeXversion{}{%else
+ \IfFileExists{bxcjkjatype-lite.sty}{%
+ \PackageWarningNoLine\bxjy at pkgname
+ {The e-TeX extension is missing,\MessageBreak
+ so Lite version is used instead}%
+ \RequirePackageWithOptions{bxcjkjatype-lite}\relax
+ \endinput\relax
+ }{\@tempswafalse}%
+}
+\bxjy at ifprimitive\kanjiskip{\@tempswafalse}{}
+\bxjy at ifprimitive\luatexversion{\@tempswafalse}{}
+\bxjy at ifprimitive\XeTeXversion{\@tempswafalse}{}
+\if at tempswa\else
+ \PackageError\bxjy at pkgname
+ {The engine in use is not supported}%
+ {Only pdfTeX engine is supported.\MessageBreak
+ Package loading is aborted.}
+\expandafter\endinput\fi\relax
+
%--------------------------------------- helpers
%% switches
@@ -29,34 +56,11 @@
\def\bxjy at mark{\bxjy at mark@}
\def\bxjy at end{\bxjy at end@}
-%% \bxjy at ifprimitive\CS{<true>}{<false>}
-\@onlypreamble\bxjy at ifprimitive
-\def\bxjy at ifprimitive#1{%
- \edef\bxjy at tmpa{\string#1}%
- \edef\bxjy at tmpb{\meaning#1}%
- \ifx\bxjy at tmpa\bxjy at tmpb \expandafter\@firstoftwo
- \else \expandafter\@secondoftwo \fi
-}
-
%% \bxjy at cond\ifXX...\fi{<true>}{<false>}
\@gobbletwo\if\if \def\bxjy at cond#1\fi{%
#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
}
-%--------------------------------------- environment check
-
-%% engine check
-\bxjy at oktrue
-\bxjy at ifprimitive\kanjiskip{\bxjy at okfalse}{}
-\bxjy at ifprimitive\luatexversion{\bxjy at okfalse}{}
-\bxjy at ifprimitive\XeTeXversion{\bxjy at okfalse}{}
-\bxjy at ifprimitive\eTeXversion{}{\bxjy at okfalse}
-\ifbxjy at ok\else
- \bxjy at error{The engine in use is not supported}%
- {Only pdfTeX engine is supported.\MessageBreak
- Package loading is aborted.}
-\expandafter\endinput\fi\relax
-
%--------------------------------------- option handling
%% using keyval
@@ -80,8 +84,10 @@
\DeclareOption{everypage}{\bxjy at everypagetrue}
\DeclareOption{noeverypage}{\bxjy at everypagefalse}
\newif\ifbxjy at ipaex
+\newif\ifbxjy at defaultmin
\let\bxjy at oneweight=f
\DeclareOption{ipaex-type1}{\bxjy at ipaextrue}
+\DeclareOption{defaultmingoth}{\bxjy at defaultmintrue}
\DeclareOption{oneweight}{\let\bxjy at oneweight=t}
\DeclareOption{nooneweight}{\let\bxjy at oneweight=f}
\newif\ifbxjy at autotilde
@@ -99,14 +105,20 @@
\newif\ifbxjy at substmin
\DeclareOption{substmingoth}{\bxjy at substmintrue}
\DeclareOption{nosubstmingoth}{\bxjy at substminfalse}
+\newif\ifbxjy at tildespace
+\DeclareOption{CJKtildeasspace}{\bxjy at tildespacetrue}
+\DeclareOption{noCJKtildeasspace}{\bxjy at tildespacefalse}
% preset spec options
+% NB. All of the (non-obsolete) options of pxchfon are also
+% listed here, but some of them are useless in this package.
\def\bxjy at all@main at preset{%
%(uniweight)
ms,ipa,ipaex,%
%(multiweight)
- ms-hg,ipa-hg,moga-mobo,moga-maruberi,%
- kozuka-pro,kozuka-pr6,kozuka-pr6n,%
- hiragino-pro,hiragino-pron,morisawa-pro,morisawa-pr6n}
+ ms-hg,ipa-hg,ipaex-hg,moga-mobo,moga-maruberi,%
+ kozuka-pro,kozuka-pr6,kozuka-pr6n,hiragino-pro,hiragino-pron,%
+ hiragino-elcapitan-pro,hiragino-elcapitan-pron,%
+ morisawa-pro,morisawa-pr6n,yu-win,yu-win10,yu-osx}
\let\bxjy at main@preset\relax
\def\bxjy at do#1{\DeclareOption{#1}{\def\bxjy at main@preset{#1}}}
\@for\bxjy at x:=\bxjy at all@main at preset\do{%
@@ -119,14 +131,15 @@
\let\bxjy at scale\relax
\define at key{bxjy}{scale}{%
\def\bxjy at scale{#1}}
-% 'verrtical=<val>'
-\let\bxjy at vertical\@empty
-\define at key{bxjy}{vertical}[true]{%
- \def\bxjy at vertical{#1}}
% 'ttfname=<val>'
\let\bxjy at ttfname\@empty
\define at key{bxjy}{ttfname}{%
\def\bxjy at ttfname{#1}}
+% 'vertical' (removed)
+\define at key{bxjy}{vertical}[true]{%
+ \PackageError\bxjy at pkgname
+ {Option 'vertical' is abolished}%
+ {\@ehc}}
%% Dispatch options
\ProcessOptions*
@@ -134,10 +147,13 @@
%% Check the driver specified
\def\bxjy at tmpa#1#2{%
- \bxjy at info{Driver auto-detected: #2}%
+ \PackageInfo\bxjy at pkgname
+ {Driver auto-detected: #2}%
\let\bxjy at driver#1}
\def\bxjy at tmpb#1#2{%
- \bxjy at error{Wrong driver specified, changed to: #2}\@ehc%
+ \PackageError\bxjy at pkgname
+ {Wrong driver specified, changed to: #2}%
+ {\@ehc}%
\let\bxjy at driver#1}
\ifnum\ifdefined\pdfoutput\pdfoutput\else\z@\fi>\z@
\unless\ifdefined\bxjy at driver
@@ -158,11 +174,11 @@
\bxjy at error{Preset options cannot go with 'ipaex-type1'}\@ehc
\let\bxjy at main@preset\relax
\fi\fi
-\ifx \bxjy at driver\bxjy at none \unless\ifx\bxjy at main@preset\relax
+\ifx\bxjy at driver\bxjy at none \unless\ifx\bxjy at main@preset\relax
\bxjy at error{Preset options require a valid driver}\@ehc
\let\bxjy at main@preset\relax
\fi\fi
-\ifx \bxjy at driver\bxjy at none
+\ifx\bxjy at driver\bxjy at none
\bxjy at boldbyemboldenfalse
\fi
@@ -198,7 +214,6 @@
\ifbxjy at everypage\ifx\bxjy at driver\bxjy at dvipdfmx
\RequirePackage{atbegshi}
\fi\fi
-%%
%%<+> \FirstCJKUse
%%<+> \EveryCJKUse
@@ -213,39 +228,6 @@
\newcommand*\EveryCJKUse{%
\gappto\bxjy at every@cjk at use@hook}
-%--------------------------------------- vertical
-
-%% constants
-\chardef\bxjy at vert@none=0
-\chardef\bxjy at vert@false=0
-\chardef\bxjy at vert@=0
-\chardef\bxjy at vert@sub=1
-\chardef\bxjy at vert@main=2
-\chardef\bxjy at vert@true=2
-
-%% \bxjy at vert
-\let\bxjy at vert\bxjy at vert@none
-\ifcsdef{bxjy at vert@\bxjy at vertical}{%
- \letcs\bxjy at vert{bxjy at vert@\bxjy at vertical}
-}{%else
- \bxjy at error{Invalid value of 'vertical': \bxjy at vertical}\@ehc
-}
-\ifcase\bxjy at vert %none
- \AfterEndPreamble{\csuse{CJKhorz}}
-\or %sub
- \RequirePackage{CJKvert}[]%
- \AfterEndPreamble{\CJKhorz}
-\or %main
- \RequirePackage{CJKvert}[]%
- \AfterEndPreamble{\CJKvert}
-\fi
-\AtBeginDocument{%
- \@ifpackageloaded{CJKvert}{%
- \bxjy at patch@CJKsymbol at CJKvert
- \patchcmd{\CJKvert}{\normalfont}{\bxjy at normalafont}{}{}%
- \patchcmd{\CJKhorz}{\normalfont}{\bxjy at normalafont}{}{}%
- }{}}
-
%--------------------------------------- user interface
%%%%<*> \setminchofont/\setgothicfont/etc.
@@ -290,7 +272,6 @@
}
%%<*> \setCJKfamilydefault{<fam>}
-%\newif\ifbxjy at default@set
\newrobustcmd*\setCJKfamilydefault[1]{%
\bxjy at default@settrue
\CJKencfamily{UTF8}{#1}}
@@ -319,8 +300,15 @@
\fi
%%<*> \>
+\bxjy at okfalse
\def\bxjy at tmpa{\mskip\medmuskip}
-\ifx\>\bxjy at tmpa
+\ifx\>\bxjy at tmpa \bxjy at oktrue
+\else\ifx\>\medspace
+ \long\def\bxjy at tmpa{\tmspace+\medmuskip{.2222em}}
+ \begingroup\expandafter\endgroup\expandafter
+ \ifx\csname : \endcsname\bxjy at tmpa \bxjy at oktrue \fi
+\fi\fi
+\ifbxjy at ok
\def\>{\ifmmode\mskip\medmuskip\else \CJKecglue\ignorespaces \fi}
\fi
@@ -401,8 +389,8 @@
}
\def\bxjy at cjk@force#1{%
\expandafter\bxjy at cjkforce@do
- \csname u8:#1\expandafter\endcsname
- \csname bxjy at U/#1\endcsname{#1}%
+ \csname u8:#1\expandafter\endcsname
+ \csname bxjy at U/#1\endcsname{#1}%
}
%%<*> \CJKforced{<kanji>}
@@ -429,12 +417,12 @@
\bxjy at cond\ifcat\noexpand\bxjy at tok\@sptoken\fi{\bxjy at org@at}{%
\bxjy at cond\ifcat\noexpand\bxjy at tok\bgroup\fi{\CJKforced}{%
\bxjy at cond\ifcat\noexpand\bxjy at tok\relax\fi{\bxjy at at@c}{%
- \bxjy at org@at
+ \bxjy at org@at
}}}}%
}
\def\bxjy at at@c#1{%
\bxjy at cond\ifcat\noexpand#1\noexpand~\fi{\CJKforced}{%
- \bxjy at org@at
+ \bxjy at org@at
}#1%
}
@@ -483,7 +471,7 @@
\fi
\fi
\ifx\bxjy at ttfname@ptn\relax
- \@latex at warning@no at line
+ \PackageWarningNoLine\bxjy at pkgname
{Option 'ttfname' has an invalid value:\MessageBreak
"\bxjy at ttfname"}%
\fi
@@ -511,9 +499,10 @@
\ifdefined\pdfmatch
\bxjy at set@ttfname at ptn
\else
- \bxjy at error
+ \PackageError\bxjy at pkgname
{Option 'ttfname' cannot be used because your\MessageBreak
- pdfTeX engine is too old}\@ehc
+ pdfTeX engine is too old}%
+ {\@ehc}%
\fi
\fi
@@ -636,7 +625,7 @@
\letcs\bxjy at normalafont{normalfont }
%% Add patches to \rmfamily, etc.
-\csappto{rmfamily }{%
+\csappto{rmfamily }{% FIXME
\CJKfamily{\mcdefault}}
\csappto{sffamily }{%
\CJKfamily{\gtdefault}}
@@ -721,6 +710,15 @@
\let\extract at font\relax \pickup at font
\endgroup}
+%--------------------------------------- defaultmingoth
+\ifbxjy at defaultmin
+
+%% default changed
+\renewcommand{\mcdefault}{min}
+\renewcommand{\gtdefault}{goth}
+\renewcommand{\mgdefault}{maru}
+
+\fi
%--------------------------------------- ipaex-type1
\ifbxjy at ipaex
@@ -922,8 +920,13 @@
%%<+> \bxcjkjatypeHyperrefPatchDone
%% Informs that the patch is applied.
+\ifbxjy at tildespace
+\let\bxcjkjatypeHyperrefPatchDone=f
+\else
\let\bxcjkjatypeHyperrefPatchDone=t
+\fi
+\unless\ifbxjy at tildespace %----<*!CJKtildeasspace>
%% prepare
\begingroup
\CJK at input{UTF8.bdg}% emerge CJK at UTF8Binding
@@ -945,6 +948,7 @@
\bxjy at org@LetUnexpandableSpace#1%
\fi
}
+\fi %----</!CJKtildeasspace>
%--------------------------------------- preset font mappings
@@ -998,6 +1002,9 @@
\bxjy at declare@preset{ipa-hg}{%
\bxjy at multiweight{ipam.ttf}{ipam.ttf}{:0:hgrme.ttc}%
{:0:hgrgm.ttc}{:0:hgrge.ttc}{:0:hgrsgu.ttc}{ipag.ttf}{hgrsmp.ttf}}
+\bxjy at declare@preset{ipaex-hg}{%
+ \bxjy at multiweight{ipaexm.ttf}{ipaexm.ttf}{:0:hgrme.ttc}%
+ {:0:hgrgm.ttc}{:0:hgrge.ttc}{:0:hgrsgu.ttc}{ipaexg.ttf}{hgrsmp.ttf}}
\bxjy at declare@preset{moga-mobo}{%
\bxjy at enable@switch at realfont
\bxjy at multiweight{\bxjy at MI mogam.ttc}{\bxjy at MI mogam.ttc}%
@@ -1033,6 +1040,16 @@
\bxjy at multiweight{HiraMinProN-W2.otf}{HiraMinProN-W3.otf}%
{HiraMinProN-W6.otf}{HiraKakuProN-W3.otf}{HiraKakuProN-W6.otf}%
{HiraKakuStdN-W8.otf}{HiraKakuProN-W6.otf}{HiraMaruProN-W4.otf}}
+\bxjy at declare@preset{hiragino-elcapitan-pro}{%
+ \usecmapforalphabet
+ \bxjy at multiweight{HiraMinPro-W2.otf}{:1:HiraginoSerif-W3.ttc}%
+ {:1:HiraginoSerif-W6.ttc}{:3:HiraginoSans-W3.ttc}{:3:HiraginoSans-W6.ttc}%
+ {:2:HiraginoSans-W8.ttc}{:3:HiraginoSans-W6.ttc}{:0:HiraginoSansR-W4.ttc}}
+\bxjy at declare@preset{hiragino-elcapitan-pron}{%
+ \usecmapforalphabet
+ \bxjy at multiweight{HiraMinProN-W2.otf}{:0:HiraginoSerif-W3.ttc}%
+ {:0:HiraginoSerif-W6.ttc}{:2:HiraginoSans-W3.ttc}{:2:HiraginoSans-W6.ttc}%
+ {:3:HiraginoSans-W8.ttc}{:2:HiraginoSans-W6.ttc}{:1:HiraginoSansR-W4.ttc}}
\bxjy at declare@preset{morisawa-pro}{%
\usecmapforalphabet
\bxjy at multiweight{A-OTF-RyuminPro-Light.otf}{A-OTF-RyuminPro-Light.otf}%
@@ -1045,6 +1062,19 @@
{A-OTF-FutoMinA101Pr6N-Bold.otf}{A-OTF-GothicBBBPr6N-Medium.otf}%
{A-OTF-FutoGoB101Pr6N-Bold}{A-OTF-MidashiGoPr6N-MB31.otf}%
{A-OTF-GothicBBBPr6N-Medium.otf}{A-OTFJun101Pr6N-Light.otf}}
+\bxjy at declare@preset{yu-win}{%
+ \bxjy at multiweight{yuminl.ttf}{yumin.ttf}%
+ {yumindb.ttf}{yugothic.ttf}{yugothib.ttf}%
+ {yugothib.ttf}{yugothic.ttf}{yugothic.ttf}}
+\bxjy at declare@preset{yu-win10}{%
+ \bxjy at multiweight{yuminl.ttf}{yumin.ttf}%
+ {yumindb.ttf}{:0:YuGothR.ttc}{:0:YuGothB.ttc}%
+ {:0:YuGothB.ttc}{:0:YuGothM.ttc}{:0:YuGothM.ttc}}
+\bxjy at declare@preset{yu-osx}{%
+ \usecmapforalphabet
+ \bxjy at multiweight{YuMin-Medium.otf}{YuMin-Medium.otf}%
+ {YuMin-Demibold.otf}{YuGo-Medium.otf}{YuGo-Bold.otf}%
+ {YuGo-Bold.otf}{YuGo-Medium.otf}{YuGo-Medium.otf}}
%% ... and invokes the specified one!
\ifx\bxjy at main@preset\relax\else
More information about the tex-live-commits
mailing list.