texlive[44756] Master/texmf-dist: pxbase (6jul17)
commits+karl at tug.org
commits+karl at tug.org
Thu Jul 6 23:26:34 CEST 2017
Revision: 44756
http://tug.org/svn/texlive?view=revision&revision=44756
Author: karl
Date: 2017-07-06 23:26:34 +0200 (Thu, 06 Jul 2017)
Log Message:
-----------
pxbase (6jul17)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/platex/pxbase/README-ja.md
trunk/Master/texmf-dist/doc/platex/pxbase/README.md
trunk/Master/texmf-dist/doc/platex/pxbase/pxbabel.pdf
trunk/Master/texmf-dist/doc/platex/pxbase/pxbabel.tex
trunk/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty
trunk/Master/texmf-dist/tex/platex/pxbase/pxbase.sty
trunk/Master/texmf-dist/tex/platex/pxbase/pxbasenc.def
trunk/Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def
Modified: trunk/Master/texmf-dist/doc/platex/pxbase/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxbase/README-ja.md 2017-07-06 00:17:42 UTC (rev 44755)
+++ trunk/Master/texmf-dist/doc/platex/pxbase/README-ja.md 2017-07-06 21:26:34 UTC (rev 44756)
@@ -165,6 +165,10 @@
更新履歴
--------
+ * Version 1.1b 〈2017/07/03〉
+ - upLaTeX で japanese-otf と併用した場合に対応。
+ - バグ修正。
+
* Version 1.1a 〈2017/06/19〉
- バグ修正。
Modified: trunk/Master/texmf-dist/doc/platex/pxbase/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxbase/README.md 2017-07-06 00:17:42 UTC (rev 44755)
+++ trunk/Master/texmf-dist/doc/platex/pxbase/README.md 2017-07-06 21:26:34 UTC (rev 44756)
@@ -67,6 +67,7 @@
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
Modified: trunk/Master/texmf-dist/doc/platex/pxbase/pxbabel.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/platex/pxbase/pxbabel.tex
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxbase/pxbabel.tex 2017-07-06 00:17:42 UTC (rev 44755)
+++ trunk/Master/texmf-dist/doc/platex/pxbase/pxbabel.tex 2017-07-06 21:26:34 UTC (rev 44756)
@@ -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 @@
\item |+|\Meta{CJK言語識別子}\Means
「\Meta{CJK言語識別子}|=+|\Meta{CJK言語識別子}」と同じ。
-\item 有効なBabel言語オプションの名前\Means
-その言語オプションの定義ファイルを読み込む。
+\item 有効なBabel言語の名前\Means
+その言語の定義ファイルを読み込む。
\Note 分離読込モードでもこの機能は有効である。
\item |main=|\Meta{言語名}\Means
@@ -111,7 +111,7 @@
固定に関する設定を行う。
有効な値は次の通り:
\begin{itemize}
- \item 有効な言語オプション名\Means その言語に固定する。
+ \item 有効なBabel言語名\Means その言語に固定する。
\item |main|\Means 文書開始時の基底言語に固定する。
\item |default|\Means キャプション文字列を文書クラスで
指定されたものから変更しない。
@@ -201,6 +201,8 @@
\begin{itemize}
\item |\cjklanguagename{|\Meta{CJK言語識別子}|}|\Means
そのCJK言語に対する言語名。
+\Note 例えば読込時に |schinese=chinesesimp| と指定した場合、
+|\cjklanguagename{schinese}| は |chinesesimp| に展開される。
\end{itemize}
%===========================================================
@@ -220,7 +222,7 @@
\subsection{{\pLaTeX}において}
-OTFパッケージの |multi| オプションは{\pLaTeX}において
+\Pkg{japanese-otf}パッケージの |multi| オプションは{\pLaTeX}において
韓国語・中国語を扱うためのもので、
これを使うと |\UTFK|/|\UTFC|/|\UTFT| で
韓国語/中国語(簡体)/中国語(繁体)のフォントを用いて
@@ -234,9 +236,9 @@
|\UTF| の動作を「本来の |\UTF|」/|\UTFK|/|\UTFC|/|\UTFT|
に切り替える。
この機能は単独ではあまり有用とはいえないが、
-\Pkg{bxutf8}入力エンコーディング(\Pkg{BXucs}バンドル)
+\Pkg{bxutf8}入力エンコーディング
と併用してCJK言語のUTF-8直接入力を行う時に有用となる。
-すなわち直接入力されたCJK文字は |\UTF| に変換されるので、
+すなわち直接入力されたCJK文字は |\UTF| に帰着するので、
結果的に{\upLaTeX}の時と同じように、Babelで切り替えた言語用の
フォントで出力することが可能となる。
Modified: trunk/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty 2017-07-06 00:17:42 UTC (rev 44755)
+++ trunk/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty 2017-07-06 21:26:34 UTC (rev 44756)
@@ -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 at pkgname{pxbabel}
%--------------------------------------- general
@@ -23,11 +23,6 @@
%% error messages
\bxSetModuleName\pxbb at pkgname
-\def\pxbb at eha{\MessageBreak I aborted loading it.}
-\bxPreamble\def\pxbb at err@nobbl{%
- \PackageError\pxbb at pkgname
- {babel is not yet loaded, load aborted}%
- {This package must be loaded after babel package.}}
\bxPreamble\def\pxbb at warn@nocjk{%
\PackageWarningNoLine\pxbb at pkgname
{No multi-CJK support found, font switch disabled\MessageBreak
@@ -35,7 +30,21 @@
\bxPreamble\def\pxbb at err@noldf#1{%
\PackageError\pxbb at 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 at err@nomnl{%
+ \PackageError\pxbb at pkgname
+ {Main language is not specified}%
+ {Here 'japanese' is assumed.\MessageBreak\@ehc}}
+\bxPreamble\def\pxbb at warn@jafam#1{%
+ \PackageWarningNoLine\pxbb at 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 at prefermmivjisfalse}
\DeclareOption{jis2004}{\pxbb at prefermmivjistrue}
\DeclareOption{nojis2004}{\pxbb at prefermmivjisfalse}
+\newbool{pxbb at stdjaencoding}
+\bxIfExpToEqualX{\mcdefault}{mc}{}{\pxbb at stdjaencodingtrue}% default
+\DeclareOption{stdjaencoding}{\pxbb at stdjaencodingtrue}
+\DeclareOption{nostdjaencoding}{\pxbb at stdjaencodingfalse}
% (<lang_id>, +<lang_id>)
+\bxPreamble\let\pxbb at last@lang\relax
\bxForEachIn\pxbb at cjk@langid at list\do{%
\DeclareOption{#1}{%
\pxbb at set@lang at spec{#1}{#1}%
@@ -138,6 +152,11 @@
% in lumped loading, main is the one specified last
{\let\pxbb at main@lang\pxbb at last@lang}%
}{}
+% if main is unknown, complain
+\ifx\pxbb at main@lang\relax
+ \pxbb at err@nomnl
+ \letcs\pxbb at main@lang{pxbb at langname/japanese}
+\fi
%% resolve the caption language setting
\bxIfExpToEqual{\pxbb at caption@lang}{auto}{%then
@@ -297,6 +316,11 @@
\pxbb at addtoextras@otf at a{cjkmulti}{\UTFM}
\fi % pxbb at 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 at is@fje/#1}{t}}
\edef\pxbb at dflt@ja at enc{% default full japanese encoding
- \ifbool{pxbb at prefermmivjis}{J24}{J20}}
+ \ifbool{pxbb at stdjaencoding}{\cy at encoding}{%else
+ \ifbool{pxbb at prefermmivjis}{J24}{J20}}}
\def\pxbb at set@full at ja@enc{%
\edef\pxbb at full@ja at enc{%
\bxIfcsundefX{pxbb at is@fje/\cy at encoding}%
@@ -368,6 +401,16 @@
\newcommand*\cjklanguagename[1]{%
\@nameuse{pxbb at langname/#1}}
+%--------------------------------------- integrity check
+
+%% check if \mcdefault is not changed
+\let\pxbb at tunc@mcdefault\mcdefault
+\AtBeginDocument{%
+ \bxIfExpToEqualX\pxbb at tunc@mcdefault\mcdefault{}{%else
+ \bxIfExpToEqualX\mcdefault{hmc}%
+ {\pxbb at warn@jafam{t}}%
+ {\pxbb at warn@jafam{f}}}}
+
%--------------------------------------- all done
\endinput
%
Modified: trunk/Master/texmf-dist/tex/platex/pxbase/pxbase.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxbase/pxbase.sty 2017-07-06 00:17:42 UTC (rev 44755)
+++ trunk/Master/texmf-dist/tex/platex/pxbase/pxbase.sty 2017-07-06 21:26:34 UTC (rev 44756)
@@ -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
Modified: trunk/Master/texmf-dist/tex/platex/pxbase/pxbasenc.def
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxbase/pxbasenc.def 2017-07-06 00:17:42 UTC (rev 44755)
+++ trunk/Master/texmf-dist/tex/platex/pxbase/pxbasenc.def 2017-07-06 21:26:34 UTC (rev 44756)
@@ -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 at pkgname{PXbase} % bundle name
%% code guards
@@ -136,7 +136,7 @@
\pxec at starinvoke\pxec at DeclareExtraCJKFamily}
\@onlypreamble\pxec at DeclareBasicCJKFamily
\def\pxec at DeclareExtraCJKFamily#1#2#3#4{%
- \DeclareKanjiFamily{#1}{#2}{}%
+ \pxDeclareKanjiFamily{#1}{#2}%
\pxec at DeclareBasicCJKShape{#1}{#2}{m}{#3}%
\pxec at 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 at 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 at DeclareBasicCJKFamilyNE
\def\pxec at DeclareExtraCJKFamilyNE#1#2#3#4#5#6{%
\pxBothEncodingsFromName\pxec at y\pxec at t{#1}%
- \DeclareKanjiFamily{\pxec at y}{#2}{}%
+ \pxDeclareKanjiFamily{\pxec at y}{#2}%
\pxec at DeclareBasicCJKShape{\pxec at y}{#2}{m}{#3}%
\pxec at DeclareBasicCJKShape{\pxec at y}{#2}{bx}{#4}%
- \DeclareKanjiFamily{\pxec at t}{#2}{}%
+ \pxDeclareKanjiFamily{\pxec at t}{#2}%
\pxec at supdef\pxec at vm{#5}{#3}\pxec at supdef\pxec at vb{#6}{#4}%
\pxec at DeclareBasicCJKShape{\pxec at t}{#2}{m}{\pxec at vm}%
\pxec at DeclareBasicCJKShape{\pxec at t}{#2}{bx}{\pxec at vb}}
Modified: trunk/Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def 2017-07-06 00:17:42 UTC (rev 44755)
+++ trunk/Master/texmf-dist/tex/platex/pxbase/pxjsfenc.def 2017-07-06 21:26:34 UTC (rev 44756)
@@ -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 at jsf@restore at codes{%
More information about the tex-live-commits
mailing list