summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/uplatex/base/ukinsoku.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/uplatex/base/ukinsoku.dtx')
-rw-r--r--Master/texmf-dist/source/uplatex/base/ukinsoku.dtx55
1 files changed, 46 insertions, 9 deletions
diff --git a/Master/texmf-dist/source/uplatex/base/ukinsoku.dtx b/Master/texmf-dist/source/uplatex/base/ukinsoku.dtx
index 046b122b6f2..12f031facb8 100644
--- a/Master/texmf-dist/source/uplatex/base/ukinsoku.dtx
+++ b/Master/texmf-dist/source/uplatex/base/ukinsoku.dtx
@@ -7,7 +7,7 @@
%
% Copyright (c) 2010 ASCII MEDIA WORKS
% Copyright (c) 2016 Takuji Tanaka
-% Copyright (c) 2016 Japanese TeX Development Community
+% Copyright (c) 2016-2017 Japanese TeX Development Community
%
% This file is part of the upLaTeX2e system (community edition).
% --------------------------------------------------------------
@@ -19,10 +19,19 @@
% \StopEventually{}
%
% \iffalse
+% \changes{v1.0-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。}
+% \changes{v1.0-u01}{2017/08/02}{U+00B7 (MIDDLE DOT; JIS X 0213)の
+% 前禁則ペナルティをU+30FBと同じ値に設定、注意点を明文化}
+% \changes{v1.0b}{2017/08/05}{%、&、\%、\&の禁則ペナルティが
+% 誤っていたのを修正(post $\rightarrow$ pre)}
+% \changes{v1.0b-u01}{2017/08/05}{p\LaTeX{}の変更に追随}
+% \fi
+%
+% \iffalse
%<*driver>
\NeedsTeXFormat{pLaTeX2e}
% \fi
-\ProvidesFile{ukinsoku.dtx}[2011/05/07 v1.0-u00 upLaTeX Kernel]
+\ProvidesFile{ukinsoku.dtx}[2017/08/05 v1.0b-u01 upLaTeX Kernel]
% \iffalse
\documentclass{jltxdoc}
\GetFileInfo{ukinsoku.dtx}
@@ -41,7 +50,9 @@
% 参照してください。
%
% なお、このファイルのコード部分は、
-% 以前のバージョンで配布された\file{ukinsoku.tex}と同一です。
+% p\TeX{}やp\LaTeX{}で配布されている\file{kinsoku.tex}に、
+% JIS X 0213の定義文字などの設定を追加したものです。
+% \changes{v1.0-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。}
%
% \begin{macrocode}
%<*plcore>
@@ -55,6 +66,8 @@
%
% \subsection{半角文字に対する禁則}
% ここでは、半角文字に対する禁則の設定を行なっています。
+% \changes{v1.0b}{2017/08/05}{%、&、\%、\&の禁則ペナルティが
+% 誤っていたのを修正(post $\rightarrow$ pre)}
%
% \begin{macrocode}
%%
@@ -65,8 +78,8 @@
\prebreakpenalty`"=10000
\postbreakpenalty`\#=500
\postbreakpenalty`\$=500
-\postbreakpenalty`\%=500
-\postbreakpenalty`\&=500
+\prebreakpenalty`\%=500
+\prebreakpenalty`\&=500
\postbreakpenalty`\`=10000
\prebreakpenalty`'=10000
\prebreakpenalty`)=10000
@@ -87,6 +100,29 @@
% \subsection{全角文字に対する禁則}
% ここでは、全角文字に対する禁則の設定を行なっています。
%
+% up\TeX{}/up\LaTeX{}の場合、JIS X 0213(日本)・KS C 5601(韓国)・
+% GB2312(中国)・Big5(台湾)などの文字集合に含まれる、
+% いわゆる全角文字の一部が、8-bit Latinと同じコードポイントを
+% 共有します。すなわち、同じコードポイントが、CJKトークンとしても
+% non-CJKトークンとしても有効に扱われることがあります。
+% 以下に例を示します\footnote{ここで表示しているnon-CJKトークンと
+% して扱われた結果は、up\LaTeX{}のデフォルト従属欧文エンコーディング
+% であるT1の場合のものです。}。
+% {\font\lmr=rm-lmr10\lmr
+% \begin{itemize}
+% \item \texttt{0xA1}: \kchar"A1 (CJK) vs. \char"A1\ (non-CJK)
+% \item \texttt{0xAB}: \kchar"AB (CJK) vs. \char"AB\ (non-CJK)
+% \item \texttt{0xB7}: \kchar"B7 (CJK) vs. \char"B7\ (non-CJK)
+% \item \texttt{0xB9}: \kchar"B9 (CJK) vs. \char"B9\ (non-CJK)
+% \item …
+% \end{itemize}}
+% \file{ukinsoku.tex}ではCJKトークンを優先した禁則設定を行っています。
+% この設定により、同じコードポイントをnon-CJKトークンとして扱う場合に
+% 予期せずLatin-1の文字が禁則対象になってしまいます。
+% 問題が起きた場合は禁則の設定を調整してください。
+% \changes{v1.0-u01}{2017/08/02}{U+00B7 (MIDDLE DOT; JIS X 0213)の
+% 前禁則ペナルティをU+30FBと同じ値に設定、注意点を明文化}
+%
% \begin{macrocode}
%%全角文字
\prebreakpenalty`、=10000
@@ -136,8 +172,8 @@
\prebreakpenalty`==200
\postbreakpenalty`#=200
\postbreakpenalty`$=200
-\postbreakpenalty`%=200
-\postbreakpenalty`&=200
+\prebreakpenalty`%=200
+\prebreakpenalty`&=200
\prebreakpenalty`ぁ=150
\prebreakpenalty`ぃ=150
\prebreakpenalty`ぅ=150
@@ -191,6 +227,7 @@
\postbreakpenalty`¡=10000
\postbreakpenalty`¿=10000
\prebreakpenalty`ː=10000
+\prebreakpenalty`·=10000
\prebreakpenalty`ª=10000
\prebreakpenalty`º=10000
\prebreakpenalty`¹=10000
@@ -485,8 +522,8 @@
%%
%% inhibitxspcode JIS X 0212
%%
-%%\inhibitxspcode`¡=1
-%%\inhibitxspcode`¿=1
+%%\inhibitxspcode`¡=2
+%%\inhibitxspcode`¿=2
%%\inhibitxspcode`º=1
%%\inhibitxspcode`ª=1
\inhibitxspcode`™=1