diff options
-rw-r--r-- | Master/texmf-dist/doc/platex/pxbase/README-ja.md | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxbase/README.md | 1 | ||||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxbase/pxbabel.pdf | bin | 151118 -> 151727 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxbase/pxbabel.tex | 22 | ||||
-rw-r--r-- | Master/texmf-dist/tex/platex/pxbase/pxbabel.sty | 59 | ||||
-rw-r--r-- | Master/texmf-dist/tex/platex/pxbase/pxbase.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/platex/pxbase/pxbasenc.def | 16 | ||||
-rw-r--r-- | Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def | 2 |
8 files changed, 82 insertions, 24 deletions
diff --git a/Master/texmf-dist/doc/platex/pxbase/README-ja.md b/Master/texmf-dist/doc/platex/pxbase/README-ja.md index bbe319c0710..fd3eaf9ad07 100644 --- a/Master/texmf-dist/doc/platex/pxbase/README-ja.md +++ b/Master/texmf-dist/doc/platex/pxbase/README-ja.md @@ -165,6 +165,10 @@ upLaTeX の場合: 更新履歴 -------- + * Version 1.1b 〈2017/07/03〉 + - upLaTeX で japanese-otf と併用した場合に対応。 + - バグ修正。 + * Version 1.1a 〈2017/06/19〉 - バグ修正。 diff --git a/Master/texmf-dist/doc/platex/pxbase/README.md b/Master/texmf-dist/doc/platex/pxbase/README.md index e531ff8670f..6128d2223a5 100644 --- a/Master/texmf-dist/doc/platex/pxbase/README.md +++ b/Master/texmf-dist/doc/platex/pxbase/README.md @@ -67,6 +67,7 @@ README-ja.md). Revision History ---------------- + * Version 1.1b 〈2017/07/03〉 * Version 1.1a 〈2017/06/19〉 * Version 1.1 〈2017/05/29〉 * Version 0.5i 〈2017/05/04〉 ― for CTAN diff --git a/Master/texmf-dist/doc/platex/pxbase/pxbabel.pdf b/Master/texmf-dist/doc/platex/pxbase/pxbabel.pdf Binary files differindex 31ca6c1b778..615e612777d 100644 --- a/Master/texmf-dist/doc/platex/pxbase/pxbabel.pdf +++ b/Master/texmf-dist/doc/platex/pxbase/pxbabel.pdf diff --git a/Master/texmf-dist/doc/platex/pxbase/pxbabel.tex b/Master/texmf-dist/doc/platex/pxbase/pxbabel.tex index d8ad548b279..c619d0dcbb8 100644 --- a/Master/texmf-dist/doc/platex/pxbase/pxbabel.tex +++ b/Master/texmf-dist/doc/platex/pxbase/pxbabel.tex @@ -3,12 +3,12 @@ \documentclass[a4paper,uplatex]{jsarticle} \usepackage{shortvrb} \MakeShortVerb{\|} -\newcommand{\PkgVersion}{1.1a} -\newcommand{\PkgDate}{2017/06/19} +\newcommand{\PkgVersion}{1.1b} +\newcommand{\PkgDate}{2017/07/03} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} -\newcommand{\Means}{~:\quad} +\newcommand{\Means}{:\quad\inhibitglue} \providecommand{\upTeX}{u\pTeX} \providecommand{\upLaTeX}{u\pLaTeX} %----------------------------------------------------------- @@ -43,7 +43,7 @@ \begin{itemize} \item \Pkg{babel}パッケージ -\item \Pkg{OTF}パッケージ({\pLaTeX}の場合) +\item \Pkg{japanese-otf}パッケージ({\pLaTeX}の場合) \end{itemize} %=========================================================== @@ -95,8 +95,8 @@ v0.9より\Pkg{babel}パッケージと一緒に読み込む方式 \item |+|\Meta{CJK言語識別子}\Means 「\Meta{CJK言語識別子}|=+|\Meta{CJK言語識別子}」と同じ。 -\item 有効なBabel言語オプションの名前\Means -その言語オプションの定義ファイルを読み込む。 +\item 有効なBabel言語の名前\Means +その言語の定義ファイルを読み込む。 \Note 分離読込モードでもこの機能は有効である。 \item |main=|\Meta{言語名}\Means @@ -111,7 +111,7 @@ v0.9より\Pkg{babel}パッケージと一緒に読み込む方式 固定に関する設定を行う。 有効な値は次の通り: \begin{itemize} - \item 有効な言語オプション名\Means その言語に固定する。 + \item 有効なBabel言語名\Means その言語に固定する。 \item |main|\Means 文書開始時の基底言語に固定する。 \item |default|\Means キャプション文字列を文書クラスで 指定されたものから変更しない。 @@ -201,6 +201,8 @@ CJK言語でフォントを切り替える機能を無効にする。 \begin{itemize} \item |\cjklanguagename{|\Meta{CJK言語識別子}|}|\Means そのCJK言語に対する言語名。 +\Note 例えば読込時に |schinese=chinesesimp| と指定した場合、 +|\cjklanguagename{schinese}| は |chinesesimp| に展開される。 \end{itemize} %=========================================================== @@ -220,7 +222,7 @@ CJK言語でフォントを切り替える機能を無効にする。 \subsection{{\pLaTeX}において} -OTFパッケージの |multi| オプションは{\pLaTeX}において +\Pkg{japanese-otf}パッケージの |multi| オプションは{\pLaTeX}において 韓国語・中国語を扱うためのもので、 これを使うと |\UTFK|/|\UTFC|/|\UTFT| で 韓国語/中国語(簡体)/中国語(繁体)のフォントを用いて @@ -234,9 +236,9 @@ Babel言語オプションを生成する。 |\UTF| の動作を「本来の |\UTF|」/|\UTFK|/|\UTFC|/|\UTFT| に切り替える。 この機能は単独ではあまり有用とはいえないが、 -\Pkg{bxutf8}入力エンコーディング(\Pkg{BXucs}バンドル) +\Pkg{bxutf8}入力エンコーディング と併用してCJK言語のUTF-8直接入力を行う時に有用となる。 -すなわち直接入力されたCJK文字は |\UTF| に変換されるので、 +すなわち直接入力されたCJK文字は |\UTF| に帰着するので、 結果的に{\upLaTeX}の時と同じように、Babelで切り替えた言語用の フォントで出力することが可能となる。 diff --git a/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty b/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty index 7c1f1fd3e34..3f0ab85d309 100644 --- a/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty +++ b/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesPackage{pxbabel}[2017/06/19 v1.1a PX Babel interface for CJK] +\ProvidesPackage{pxbabel}[2017/07/03 v1.1b PX Babel interface for CJK] \def\pxbb@pkgname{pxbabel} %--------------------------------------- general @@ -23,11 +23,6 @@ %% error messages \bxSetModuleName\pxbb@pkgname -\def\pxbb@eha{\MessageBreak I aborted loading it.} -\bxPreamble\def\pxbb@err@nobbl{% - \PackageError\pxbb@pkgname - {babel is not yet loaded, load aborted}% - {This package must be loaded after babel package.}} \bxPreamble\def\pxbb@warn@nocjk{% \PackageWarningNoLine\pxbb@pkgname {No multi-CJK support found, font switch disabled\MessageBreak @@ -35,7 +30,21 @@ \bxPreamble\def\pxbb@err@noldf#1{% \PackageError\pxbb@pkgname {Language definition file #1.ldf not found}% - {Maybe you misspelled the language option?}} + {Maybe you misspelled the language option?\MessageBreak\@ehc}} +\bxPreamble\def\pxbb@err@nomnl{% + \PackageError\pxbb@pkgname + {Main language is not specified}% + {Here 'japanese' is assumed.\MessageBreak\@ehc}} +\bxPreamble\def\pxbb@warn@jafam#1{% + \PackageWarningNoLine\pxbb@pkgname + {!!!!!!!!!!!!!!! IMPORTANT NOTICE !!!!!!!!!!!!!!!\MessageBreak + Default Japanese family names have been changed\MessageBreak + after this package was loaded. The functionality\MessageBreak + of the package may be corrupted!\MessageBreak + \if t#1% + (You must load 'otf' package before this package.)\MessageBreak + \fi + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}} %--------------------------------------- Processing package options @@ -84,7 +93,12 @@ \DeclareOption{noprefer2004jis}{\pxbb@prefermmivjisfalse} \DeclareOption{jis2004}{\pxbb@prefermmivjistrue} \DeclareOption{nojis2004}{\pxbb@prefermmivjisfalse} +\newbool{pxbb@stdjaencoding} +\bxIfExpToEqualX{\mcdefault}{mc}{}{\pxbb@stdjaencodingtrue}% default +\DeclareOption{stdjaencoding}{\pxbb@stdjaencodingtrue} +\DeclareOption{nostdjaencoding}{\pxbb@stdjaencodingfalse} % (<lang_id>, +<lang_id>) +\bxPreamble\let\pxbb@last@lang\relax \bxForEachIn\pxbb@cjk@langid@list\do{% \DeclareOption{#1}{% \pxbb@set@lang@spec{#1}{#1}% @@ -138,6 +152,11 @@ % in lumped loading, main is the one specified last {\let\pxbb@main@lang\pxbb@last@lang}% }{} +% if main is unknown, complain +\ifx\pxbb@main@lang\relax + \pxbb@err@nomnl + \letcs\pxbb@main@lang{pxbb@langname/japanese} +\fi %% resolve the caption language setting \bxIfExpToEqual{\pxbb@caption@lang}{auto}{%then @@ -297,6 +316,11 @@ \pxbb@addtoextras@otf@a{cjkmulti}{\UTFM} \fi % pxbb@switchfont +%%<*> \pxUTFJ/\UTFJ +\let\pxUTFJ\UTF +\AtBeginDocument{% + \providecommand*\UTFJ{\pxUTFJ}} + \fi %----</otfmulti> \ifupTeX %----<*upTeX> @@ -319,6 +343,14 @@ \pxDeclareBasicCJKEncoding{J23}{J33}% UniCNS \pxDeclareBasicCJKFamily{J23}{!uptchrm-h}{!uptchgt-h}{*gt}{*gt} \pxDeclareBasicCJKFamily{J33}{!uptchrm-v}{!uptchgt-v}{*gt}{*gt} +\pxDeclareBasicCJKEncoding{J24}{J34}% UniJIS2004 +\pxDeclareBasicCJKFamily{J24}{!upjpnrm-h}{!upjpngt-h}{*gt}{*gt} +\pxDeclareBasicCJKFamily{J34}{!upjpnrm-v}{!upjpngt-v}{*gt}{*gt} +\begingroup \let\pxForceFontDeclaration=f +\bxForEachIn{J20,J30,J21,J31,J22,J32,J23,J33,J24,J34}\do{% + \pxDeclareExtraCJKFamily{#1}{\mcdefault}{*mc}{*mc}% + \pxDeclareExtraCJKFamily{#1}{\gtdefault}{*gt}{*gt}} +\endgroup \fi %--------------------------------------- add font switch to Babel \extras @@ -329,7 +361,8 @@ \bxForEachIn{J20,J24}\do{% all full japanese encodings \csdef{pxbb@is@fje/#1}{t}} \edef\pxbb@dflt@ja@enc{% default full japanese encoding - \ifbool{pxbb@prefermmivjis}{J24}{J20}} + \ifbool{pxbb@stdjaencoding}{\cy@encoding}{%else + \ifbool{pxbb@prefermmivjis}{J24}{J20}}} \def\pxbb@set@full@ja@enc{% \edef\pxbb@full@ja@enc{% \bxIfcsundefX{pxbb@is@fje/\cy@encoding}% @@ -368,6 +401,16 @@ \newcommand*\cjklanguagename[1]{% \@nameuse{pxbb@langname/#1}} +%--------------------------------------- integrity check + +%% check if \mcdefault is not changed +\let\pxbb@tunc@mcdefault\mcdefault +\AtBeginDocument{% + \bxIfExpToEqualX\pxbb@tunc@mcdefault\mcdefault{}{%else + \bxIfExpToEqualX\mcdefault{hmc}% + {\pxbb@warn@jafam{t}}% + {\pxbb@warn@jafam{f}}}} + %--------------------------------------- all done \endinput % diff --git a/Master/texmf-dist/tex/platex/pxbase/pxbase.sty b/Master/texmf-dist/tex/platex/pxbase/pxbase.sty index 2393933389f..e10ec1c6e20 100644 --- a/Master/texmf-dist/tex/platex/pxbase/pxbase.sty +++ b/Master/texmf-dist/tex/platex/pxbase/pxbase.sty @@ -8,7 +8,7 @@ %% This package is distributed under the MIT License. %% \NeedsTeXFormat{pLaTeX2e} -\ProvidesPackage{pxbase}[2017/06/19 v1.1a PX base library] +\ProvidesPackage{pxbase}[2017/07/03 v1.1b PX base library] % The pxbase package now does the same thing as the bxbase package. \RequirePackageWithOptions{bxbase}[2017/05/29] \endinput diff --git a/Master/texmf-dist/tex/platex/pxbase/pxbasenc.def b/Master/texmf-dist/tex/platex/pxbase/pxbasenc.def index 64709af2b9c..55f1ac1130d 100644 --- a/Master/texmf-dist/tex/platex/pxbase/pxbasenc.def +++ b/Master/texmf-dist/tex/platex/pxbase/pxbasenc.def @@ -4,7 +4,7 @@ %% file declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesFile{pxbasenc.def}[2017/06/19 v1.1a PX encoding library] +\ProvidesFile{pxbasenc.def}[2017/07/03 v1.1b PX encoding library] \def\pxec@pkgname{PXbase} % bundle name %% code guards @@ -136,7 +136,7 @@ \pxec@starinvoke\pxec@DeclareExtraCJKFamily} \@onlypreamble\pxec@DeclareBasicCJKFamily \def\pxec@DeclareExtraCJKFamily#1#2#3#4{% - \DeclareKanjiFamily{#1}{#2}{}% + \pxDeclareKanjiFamily{#1}{#2}% \pxec@DeclareBasicCJKShape{#1}{#2}{m}{#3}% \pxec@DeclareBasicCJKShape{#1}{#2}{bx}{#4}} @@ -229,6 +229,14 @@ % It should be t except when other values are needed. \let\pxForceFontDeclaration=t +%%<+> \pxDeclareKanjiFamily{<enc>}{<fam>} +\def\pxDeclareKanjiFamily#1#2{% + \expandafter\ifx\csname#1+#2\endcsname\relax + \DeclareKanjiFamily{#1}{#2}{}% + \else\if e\pxForceFontDeclaration + \pxec@error{Font family #1/#2 already defined}\@ehc + \fi\fi} + %%<+> \pxDeclareFontShape{<enc>}{<fam>}{<ser>}{<shape>}{<spec>} \def\pxDeclareFontShape#1#2#3#4#5{% \expandafter\ifx\csname #1/#2/#3/#4\endcsname\relax @@ -308,10 +316,10 @@ \@onlypreamble\pxec@DeclareBasicCJKFamilyNE \def\pxec@DeclareExtraCJKFamilyNE#1#2#3#4#5#6{% \pxBothEncodingsFromName\pxec@y\pxec@t{#1}% - \DeclareKanjiFamily{\pxec@y}{#2}{}% + \pxDeclareKanjiFamily{\pxec@y}{#2}% \pxec@DeclareBasicCJKShape{\pxec@y}{#2}{m}{#3}% \pxec@DeclareBasicCJKShape{\pxec@y}{#2}{bx}{#4}% - \DeclareKanjiFamily{\pxec@t}{#2}{}% + \pxDeclareKanjiFamily{\pxec@t}{#2}% \pxec@supdef\pxec@vm{#5}{#3}\pxec@supdef\pxec@vb{#6}{#4}% \pxec@DeclareBasicCJKShape{\pxec@t}{#2}{m}{\pxec@vm}% \pxec@DeclareBasicCJKShape{\pxec@t}{#2}{bx}{\pxec@vb}} diff --git a/Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def b/Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def index 7a612f2c360..0fc28f2e81f 100644 --- a/Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def +++ b/Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def @@ -4,7 +4,7 @@ %% file declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesFile{pxjsfenc.def}[2017/06/19 v1.1a PX JSF encoding] +\ProvidesFile{pxjsfenc.def}[2017/07/03 v1.1b PX JSF encoding] %% code guards \edef\pxec@jsf@restore@codes{% |