% \iffalse meta-comment
%% File: ukinsoku.dtx
%
%    pLaTeX kinsoku file:
%       Copyright 1995 ASCII Corporation.
%    and modified for upLaTeX
%
%  Copyright (c) 2010 ASCII MEDIA WORKS
%  Copyright (c) 2016 Takuji Tanaka
%  Copyright (c) 2016-2021 Japanese TeX Development Community
%
%  This file is part of the upLaTeX2e system (community edition).
%  --------------------------------------------------------------
%
% \fi
%
%
% \setcounter{StandardModuleDepth}{1}
% \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{}の変更に追随}
% \changes{v1.0b-u02}{2018/01/27}{up\TeX{}の将来の変更に備え、
%      Latin-1 Supplementのうち属性がLatinのもの
%      (Latin-1 letters)をコードポイントで指定}
% \changes{v1.0b-u03}{2018/04/08}{\LaTeX\ 2018-04-01対策}
% \changes{v1.0b-u04}{2019/01/29}{内部Unicode化されていることを確認}
% \changes{v1.0b-u05}{2019/05/19}{up\TeX~v1.24の\cs{kcatcode}の既定値のバグ回避}
% \changes{v1.0b-u06}{2019/09/22}{バグ回避コードがかえって有害なため除去}
% \changes{v1.0c}{2020/09/28}{！の\cs{inhibitxspcode}を設定}
% \changes{v1.0c-u06}{2020/09/28}{p\LaTeX{}の変更に追随}
% \changes{v1.0d}{2021/03/04}{：の\cs{inhibitxspcode}と:の\cs{xspcode}を設定}
% \changes{v1.0d-u06}{2021/03/04}{p\LaTeX{}の変更に追随}
% \fi
%
% \iffalse
%<*driver>
\NeedsTeXFormat{pLaTeX2e}
% \fi
\ProvidesFile{ukinsoku.dtx}[2021/03/04 v1.0d-u06 upLaTeX Kernel]
% \iffalse
\documentclass{jltxdoc}
\GetFileInfo{ukinsoku.dtx}
\title{禁則パラメータ\space\fileversion}
\author{Ken Nakano \& TTK}
\date{作成日：\filedate}
\begin{document}
   \maketitle
   \DocInput{\filename}
\end{document}
%</driver>
% \fi
%
% このファイルは、禁則と文字間スペースの設定について説明をしています。
% 日本語\TeX{}の機能についての詳細は、『日本語\TeX テクニカルブックI』を
% 参照してください。
%
% なお、このファイルのコード部分は、
% p\TeX{}やp\LaTeX{}で配布されている\file{kinsoku.tex}に、
% JIS X 0213の定義文字などの設定を追加したものです。
% このファイルは内部コードUnicode (|uptex|)なup\TeX{}エンジンで読まれる
% 必要があります。
% \changes{v1.0-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。}
% \changes{v1.0b-u04}{2019/01/29}{内部コードがUnicodeであることを確認}
%
%    \begin{macrocode}
%<*plcore>
\ifnum\ucs"3000="3000 \else
    \errhelp{Please try to run (e)uptex with option
             `-kanji-internal=uptex'.}%
    \errmessage{This file should be read with
                internal Kanji encoding Unicode}\@@end
\fi
%    \end{macrocode}
%
% \changes{v1.0b-u05}{2019/05/19}{up\TeX~v1.24の\cs{kcatcode}の既定値のバグ回避}
% \changes{v1.0b-u06}{2019/09/22}{バグ回避コードがかえって有害なため除去}
%
% \section{禁則}
%
% ある文字を行頭禁則の対象にするには、|\prebreakpenalty|に正の値を指定します。
% ある文字を行末禁則の対象にするには、|\postbreakpenalty|に正の値を指定します。
% 数値が大きいほど、行頭、あるいは行末で改行されにくくなります。
%
% \subsection{半角文字に対する禁則}
% ここでは、半角文字に対する禁則の設定を行なっています。
% \changes{v1.0b}{2017/08/05}{％、＆、\%、\&の禁則ペナルティが
%      誤っていたのを修正（post $\rightarrow$ pre）}
%
%    \begin{macrocode}
%%
%% 行頭、行末禁則パラメータ
%%
%% 1byte characters
\prebreakpenalty`!=10000
\prebreakpenalty`"=10000
\postbreakpenalty`\#=500
\postbreakpenalty`\$=500
\prebreakpenalty`\%=500
\prebreakpenalty`\&=500
\postbreakpenalty`\`=10000
\prebreakpenalty`'=10000
\prebreakpenalty`)=10000
\postbreakpenalty`(=10000
\prebreakpenalty`*=500
\prebreakpenalty`+=500
\prebreakpenalty`-=10000
\prebreakpenalty`.=10000
\prebreakpenalty`,=10000
\prebreakpenalty`/=500
\prebreakpenalty`;=10000
\prebreakpenalty`?=10000
\prebreakpenalty`:=10000
\prebreakpenalty`]=10000
\postbreakpenalty`[=10000
%    \end{macrocode}
%
% \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と同じ値に設定、注意点を明文化}
% \changes{v1.0b-u02}{2018/01/27}{up\TeX{}の将来の変更に備え、
%      Latin-1 Supplementのうち属性がLatinのもの
%      (Latin-1 letters)をコードポイントで指定}
%
% なお、以下で複数回登場する |"AA| と |"BA| はそれぞれªとºですが、
% \LaTeXe\ 2018-04-01でUTF-8入力になった影響で、これらの文字は
% |macrocode| 環境内のコードに（たとえ |%| に続くコメントであっても）
% 書けなくなってしまったようです。これらの文字で
% docstrip処理中にエラー
%\begin{verbatim}
%   ! Argument of \@font@info has an extra }.
%\end{verbatim}
% が出ないように、コメントからも削除しました。
% \changes{v1.0b-u03}{2018/04/08}{\LaTeX\ 2018-04-01対策}
%
% \changes{v1.0d}{2021/03/04}{:の\cs{xspcode}を設定}
%    \begin{macrocode}
%%全角文字
\prebreakpenalty`、=10000
\prebreakpenalty`。=10000
\prebreakpenalty`，=10000
\prebreakpenalty`．=10000
\prebreakpenalty`・=10000
\prebreakpenalty`：=10000
\prebreakpenalty`；=10000
\prebreakpenalty`？=10000
\prebreakpenalty`！=10000
\prebreakpenalty`゛=10000%\jis"212B
\prebreakpenalty`゜=10000%\jis"212C
\prebreakpenalty`´=10000%\jis"212D
\postbreakpenalty`｀=10000%\jis"212E
\prebreakpenalty`々=10000%\jis"2139
\prebreakpenalty`…=250%\jis"2144
\prebreakpenalty`‥=250%\jis"2145
\postbreakpenalty`‘=10000%\jis"2146
\prebreakpenalty`’=10000%\jis"2147
\postbreakpenalty`“=10000%\jis"2148
\prebreakpenalty`”=10000%\jis"2149
\prebreakpenalty`）=10000
\postbreakpenalty`（=10000
\prebreakpenalty`｝=10000
\postbreakpenalty`｛=10000
\prebreakpenalty`］=10000
\postbreakpenalty`［=10000
%%\postbreakpenalty`‘=10000
%%\prebreakpenalty`’=10000
\postbreakpenalty`〔=10000%\jis"214C
\prebreakpenalty`〕=10000%\jis"214D
\postbreakpenalty`〈=10000%\jis"2152
\prebreakpenalty`〉=10000%\jis"2153
\postbreakpenalty`《=10000%\jis"2154
\prebreakpenalty`》=10000%\jis"2155
\postbreakpenalty`「=10000%\jis"2156
\prebreakpenalty`」=10000%\jis"2157
\postbreakpenalty`『=10000%\jis"2158
\prebreakpenalty`』=10000%\jis"2159
\postbreakpenalty`【=10000%\jis"215A
\prebreakpenalty`】=10000%\jis"215B
\prebreakpenalty`ー=10000
\prebreakpenalty`＋=200
\prebreakpenalty`−=200% U+2212 MINUS SIGN
\prebreakpenalty`－=200% U+FF0D FULLWIDTH HYPHEN-MINUS
\prebreakpenalty`＝=200
\postbreakpenalty`＃=200
\postbreakpenalty`＄=200
\prebreakpenalty`％=200
\prebreakpenalty`＆=200
\prebreakpenalty`ぁ=150
\prebreakpenalty`ぃ=150
\prebreakpenalty`ぅ=150
\prebreakpenalty`ぇ=150
\prebreakpenalty`ぉ=150
\prebreakpenalty`っ=150
\prebreakpenalty`ゃ=150
\prebreakpenalty`ゅ=150
\prebreakpenalty`ょ=150
\prebreakpenalty`ゎ=150%\jis"246E
\prebreakpenalty`ァ=150
\prebreakpenalty`ィ=150
\prebreakpenalty`ゥ=150
\prebreakpenalty`ェ=150
\prebreakpenalty`ォ=150
\prebreakpenalty`ッ=150
\prebreakpenalty`ャ=150
\prebreakpenalty`ュ=150
\prebreakpenalty`ョ=150
\prebreakpenalty`ヮ=150%\jis"256E
\prebreakpenalty`ヵ=150%\jis"2575
\prebreakpenalty`ヶ=150%\jis"2576
%% kinsoku  JIS X 0208 additional
\prebreakpenalty`ヽ=10000
\prebreakpenalty`ヾ=10000
\prebreakpenalty`ゝ=10000
\prebreakpenalty`ゞ=10000
%%
%% kinsoku  JIS X 0213
%%
\prebreakpenalty`〳=10000
\prebreakpenalty`〴=10000
\prebreakpenalty`〵=10000
\prebreakpenalty`〻=10000
\postbreakpenalty`⦅=10000
\prebreakpenalty`⦆=10000
\postbreakpenalty`｟=10000
\prebreakpenalty`｠=10000
\postbreakpenalty`〘=10000
\prebreakpenalty`〙=10000
\postbreakpenalty`〖=10000
\prebreakpenalty`〗=10000
\postbreakpenalty`«=10000
\prebreakpenalty`»=10000
\postbreakpenalty`〝=10000
\prebreakpenalty`〟=10000
\prebreakpenalty`‼=10000
\prebreakpenalty`⁇=10000
\prebreakpenalty`⁈=10000
\prebreakpenalty`⁉=10000
\postbreakpenalty`¡=10000
\postbreakpenalty`¿=10000
\prebreakpenalty`ː=10000
\prebreakpenalty`·=10000
\prebreakpenalty"AA=10000
\prebreakpenalty"BA=10000
\prebreakpenalty`¹=10000
\prebreakpenalty`²=10000
\prebreakpenalty`³=10000
\postbreakpenalty`€=10000
\prebreakpenalty`ゕ=150
\prebreakpenalty`ゖ=150
\prebreakpenalty`ㇰ=150
\prebreakpenalty`ㇱ=150
\prebreakpenalty`ㇲ=150
\prebreakpenalty`ㇳ=150
\prebreakpenalty`ㇴ=150
\prebreakpenalty`ㇵ=150
\prebreakpenalty`ㇶ=150
\prebreakpenalty`ㇷ=150
\prebreakpenalty`ㇸ=150
\prebreakpenalty`ㇹ=150
%%\prebreakpenalty`ㇷ゚=150
\prebreakpenalty`ㇺ=150
\prebreakpenalty`ㇻ=150
\prebreakpenalty`ㇼ=150
\prebreakpenalty`ㇽ=150
\prebreakpenalty`ㇾ=150
\prebreakpenalty`ㇿ=150
%%
%% kinsoku  JIS X 0212
%%
%%\postbreakpenalty`¡=10000
%%\postbreakpenalty`¿=10000
%%\prebreakpenalty"BA=10000
%%\prebreakpenalty"AA=10000
\prebreakpenalty`™=10000
%%
%% kinsoku  半角片仮名
%%
\prebreakpenalty`｡=10000
\prebreakpenalty`､=10000
\prebreakpenalty`ﾞ=10000
\prebreakpenalty`ﾟ=10000
\prebreakpenalty`｣=10000
\postbreakpenalty`｢=10000
%    \end{macrocode}
%
% \section{文字間のスペース}
%
% ある英字の前後と、その文字に隣合う漢字に挿入されるスペースを制御するには、
% |\xspcode|を用います。
%
% ある漢字の前後と、その文字に隣合う英字に挿入されるスペースを制御するには、
% |\inhibitxspcode|を用います。
%
% \subsection{ある英字と前後の漢字の間の制御}
% ここでは、英字に対する設定を行なっています。
%
% 指定する数値とその意味は次のとおりです。
%
% \begin{center}
% \begin{tabular}{ll}
% 0 & 前後の漢字の間での処理を禁止する。\\
% 1 & 直前の漢字との間にのみ、スペースの挿入を許可する。\\
% 2 & 直後の漢字との間にのみ、スペースの挿入を許可する。\\
% 3 & 前後の漢字との間でのスペースの挿入を許可する。\\
% \end{tabular}
% \end{center}
%
%    \begin{macrocode}
%%
%% xspcode
\xspcode`(=1
\xspcode`)=2
\xspcode`[=1
\xspcode`]=2
\xspcode``=1
\xspcode`'=2
\xspcode`:=2
\xspcode`;=2
\xspcode`,=2
\xspcode`.=2
%%  for 8bit Latin
\xspcode"80=3
\xspcode"81=3
\xspcode"82=3
\xspcode"83=3
\xspcode"84=3
\xspcode"85=3
\xspcode"86=3
\xspcode"87=3
\xspcode"88=3
\xspcode"89=3
\xspcode"8A=3
\xspcode"8B=3
\xspcode"8C=3
\xspcode"8D=3
\xspcode"8E=3
\xspcode"8F=3
\xspcode"90=3
\xspcode"91=3
\xspcode"92=3
\xspcode"93=3
\xspcode"94=3
\xspcode"95=3
\xspcode"96=3
\xspcode"97=3
\xspcode"98=3
\xspcode"99=3
\xspcode"9A=3
\xspcode"9B=3
\xspcode"9C=3
\xspcode"9D=3
\xspcode"9E=3
\xspcode"9F=3
\xspcode"A0=3
\xspcode"A1=3
\xspcode"A2=3
\xspcode"A3=3
\xspcode"A4=3
\xspcode"A5=3
\xspcode"A6=3
\xspcode"A7=3
\xspcode"A8=3
\xspcode"A9=3
\xspcode"AA=3
\xspcode"AB=3
\xspcode"AC=3
\xspcode"AD=3
\xspcode"AE=3
\xspcode"AF=3
\xspcode"B0=3
\xspcode"B1=3
\xspcode"B2=3
\xspcode"B3=3
\xspcode"B4=3
\xspcode"B5=3
\xspcode"B6=3
\xspcode"B7=3
\xspcode"B8=3
\xspcode"B9=3
\xspcode"BA=3
\xspcode"BB=3
\xspcode"BC=3
\xspcode"BD=3
\xspcode"BE=3
\xspcode"BF=3
\xspcode"C0=3
\xspcode"C1=3
\xspcode"C2=3
\xspcode"C3=3
\xspcode"C4=3
\xspcode"C5=3
\xspcode"C6=3
\xspcode"C7=3
\xspcode"C8=3
\xspcode"C9=3
\xspcode"CA=3
\xspcode"CB=3
\xspcode"CC=3
\xspcode"CD=3
\xspcode"CE=3
\xspcode"CF=3
\xspcode"D0=3
\xspcode"D1=3
\xspcode"D2=3
\xspcode"D3=3
\xspcode"D4=3
\xspcode"D5=3
\xspcode"D6=3
\xspcode"D7=3
\xspcode"D8=3
\xspcode"D9=3
\xspcode"DA=3
\xspcode"DB=3
\xspcode"DC=3
\xspcode"DD=3
\xspcode"DE=3
\xspcode"DF=3
\xspcode"E0=3
\xspcode"E1=3
\xspcode"E2=3
\xspcode"E3=3
\xspcode"E4=3
\xspcode"E5=3
\xspcode"E6=3
\xspcode"E7=3
\xspcode"E8=3
\xspcode"E9=3
\xspcode"EA=3
\xspcode"EB=3
\xspcode"EC=3
\xspcode"ED=3
\xspcode"EE=3
\xspcode"EF=3
\xspcode"F0=3
\xspcode"F1=3
\xspcode"F2=3
\xspcode"F3=3
\xspcode"F4=3
\xspcode"F5=3
\xspcode"F6=3
\xspcode"F7=3
\xspcode"F8=3
\xspcode"F9=3
\xspcode"FA=3
\xspcode"FB=3
\xspcode"FC=3
\xspcode"FD=3
\xspcode"FE=3
\xspcode"FF=3
%    \end{macrocode}
%
% \subsection{ある漢字と前後の英字の間の制御}
% ここでは、漢字に対する設定を行なっています。
%
% 指定する数値とその意味は次のとおりです。
%
% \begin{center}
% \begin{tabular}{ll}
% 0 & 前後の英字との間にスペースを挿入することを禁止する。\\
% 1 & 直前の英字との間にスペースを挿入することを禁止する。\\
% 2 & 直後の英字との間にスペースを挿入することを禁止する。\\
% 3 & 前後の英字との間でのスペースの挿入を許可する。\\
% \end{tabular}
% \end{center}
%
% \changes{v1.0c}{2020/09/28}{！の\cs{inhibitxspcode}を設定}
% \changes{v1.0d}{2021/03/04}{：の\cs{inhibitxspcode}を設定}
%    \begin{macrocode}
%%
%% inhibitxspcode
\inhibitxspcode`、=1
\inhibitxspcode`。=1
\inhibitxspcode`，=1
\inhibitxspcode`．=1
\inhibitxspcode`：=1
\inhibitxspcode`；=1
\inhibitxspcode`？=1
\inhibitxspcode`！=1
\inhibitxspcode`）=1
\inhibitxspcode`（=2
\inhibitxspcode`］=1
\inhibitxspcode`［=2
\inhibitxspcode`｝=1
\inhibitxspcode`｛=2
\inhibitxspcode`‘=2
\inhibitxspcode`’=1
\inhibitxspcode`“=2
\inhibitxspcode`”=1
\inhibitxspcode`〔=2
\inhibitxspcode`〕=1
\inhibitxspcode`〈=2
\inhibitxspcode`〉=1
\inhibitxspcode`《=2
\inhibitxspcode`》=1
\inhibitxspcode`「=2
\inhibitxspcode`」=1
\inhibitxspcode`『=2
\inhibitxspcode`』=1
\inhibitxspcode`【=2
\inhibitxspcode`】=1
\inhibitxspcode`—=0% U+2014 EM DASH
\inhibitxspcode`―=0% U+2015 HORIZONTAL BAR
\inhibitxspcode`〜=0% U+301C WAVE DASH
\inhibitxspcode`～=0% U+FF5E FULLWIDTH TILDE
\inhibitxspcode`…=0
\inhibitxspcode`¥=0% U+00A5 YEN SIGN
\inhibitxspcode`￥=0% U+FFE5 FULLWIDTH YEN SIGN
\inhibitxspcode`°=1
\inhibitxspcode`′=1
\inhibitxspcode`″=1
%%
%% inhibitxspcode  JIS X 0213
%%
\inhibitxspcode`⦅=2
\inhibitxspcode`⦆=1
\inhibitxspcode`｟=2
\inhibitxspcode`｠=1
\inhibitxspcode`〘=2
\inhibitxspcode`〙=1
\inhibitxspcode`〖=2
\inhibitxspcode`〗=1
\inhibitxspcode`«=2
\inhibitxspcode`»=1
\inhibitxspcode`〝=2
\inhibitxspcode`〟=1
\inhibitxspcode`‼=1
\inhibitxspcode`⁇=1
\inhibitxspcode`⁈=1
\inhibitxspcode`⁉=1
\inhibitxspcode`¡=2
\inhibitxspcode`¿=2
\inhibitxspcode"AA=1
\inhibitxspcode"BA=1
\inhibitxspcode`¹=1
\inhibitxspcode`²=1
\inhibitxspcode`³=1
\inhibitxspcode`€=2
%%
%% inhibitxspcode  JIS X 0212
%%
%%\inhibitxspcode`¡=2
%%\inhibitxspcode`¿=2
%%\inhibitxspcode"BA=1
%%\inhibitxspcode"AA=1
\inhibitxspcode`™=1
%%
%% inhibitxspcode  半角片仮名
%%
\inhibitxspcode`｡=1
\inhibitxspcode`､=1
\inhibitxspcode`｢=2
\inhibitxspcode`｣=1
%    \end{macrocode}
%
%    \begin{macrocode}
%</plcore>
%    \end{macrocode}
%
% \Finale
%
\endinput
