% upLaTeX 文書; 文字コードは UTF-8 \documentclass[uplatex,dvipdfmx,a4paper]{jsarticle} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{geometry} \usepackage{xcolor} \usepackage[colorlinks,hyperfootnotes=false]{hyperref} \usepackage{pxjahyper} \hypersetup{linkcolor=blue!75!black,urlcolor=green!45!black} \usepackage{shortvrb} \MakeShortVerb{\|} \usepackage{verbatim} \newenvironment{myverbatim} {\quote\small\verbatim} {\endverbatim\endquote} \newcommand{\PkgVersion}{1.1} \newcommand{\PkgDate}{2018/04/01} \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]} \newcommand{\Code}[1]{{\usefont{T1}{lmtt}{l}{n}#1}} \providecommand{\pTeX}{p\TeX} \providecommand{\upTeX}{u\pTeX} \providecommand{\pLaTeX}{p\LaTeX} \providecommand{\upLaTeX}{u\pLaTeX} %----------------------------------------------------------- \begin{document} \title{\Pkg{pxcjkcat} パッケージ} \author{八登崇之\ (Takayuki YATO; aka.~``ZR'')} \date{v\PkgVersion\quad[\PkgDate]} \maketitle \begin{abstract} 本パッケージは、 {\upTeX}の和文文字カテゴリ(kcatcode)を扱う{\LaTeX}上の インタフェースを提供する。 \end{abstract} \tableofcontents %=========================================================== \section{パッケージ読込} \label{sec:Loading} \begin{myverbatim} \usepackage[<オプション>]{pxcjkcat} \end{myverbatim} オプションとして以下のものが指定できる。 \begin{itemize} \item |ccv1|\Means 「モードCCV」を1({\upTeX} v0.11~0.28と互換)とする。 \item |ccv2|\Means 「モードCCV」を2({\upTeX} v0.29~1.22と互換)とする。 \item |ccv3|\Means 「モードCCV」を3({\upTeX} v1.23以降と互換)とする。 \item |ccv+|\Means 「モードCCV」をエンジンの実のCCVと一致させる。 \Note 「モードCCV」については\ref{sec:CCV}節を参照。 \item |\cjkcategorymode| \strong{命令で有効なモード値}\Means 和文カテゴリがモードに従って設定される。 \Note モード値オプションが非指定の場合は、パッケージ読込時に 和文カテゴリが変更されることはない。 \end{itemize} %=========================================================== \section{機能} \label{sec:Function} \begin{itemize} \item |\cjkcategory{|\Meta{ブロック}|,...}{|\Meta{カテゴリ}|}|\Means \Meta{ブロック}で表される文字ブロック(複数指定が可能)の 和文カテゴリを\Meta{カテゴリ}に変更する。 \Meta{ブロック}は以下の何れかの形式で指定する: \begin{itemize} \item ブロックID(後述) %\item ブロック名 \item 非ASCII文字1つ\Means その文字の属するブロックを指す。 %\item 整数値\Means % その符号位置の属するブロックを指す。 \end{itemize} \Meta{カテゴリ}は以下に示す「カテゴリID」で指定する \footnote{括弧内の整数値は{\upTeX}が内部で用いている 「カテゴリコード値」であり、「カテゴリID」の代わりに この値を指定することもできる。}: \begin{itemize} \item |noncjk|(15)\Means 欧文扱い \item |kanji|または|han|(16)\Means 漢字扱い \item |kana|(17)\Means 仮名扱い \item |cjk|(18)\Means \<「その他の和文」扱い \item |hangul|(19)\Means ハングル扱い \end{itemize} 和文カテゴリの変更は局所的(グルーピングに従う)である。 \item |\cjkcategorymode{|\Meta{モード}|}|\Means 全てのブロックの和文カテゴリの一括設定(モード設定)を行う。 モードには以下のものがある。 何れのセットも、後述する「CJK中核セット」の設定は共通であり、 それ以外のブロックが欧文扱い(|noncjk|)であるか 和文扱い(|cjk|)であるかが異なる。 \begin{itemize} \item |forcecjk|\Means ASCII文字のみ欧文扱いで他のブロックは全て和文扱い (|noncjk| 以外)とする。 和文フォントの中のUnicode値の割当がある全ての文字を 和文文字として直接用いることができる。 \item |default|\Means 指定のモードCCVにおける既定の設定と一致させる。 \Note モードCCVが2以下の場合は |forcecjk| と同一の設定になる。 \Note モードCCVがエンジンの実のCCVと一致する場合 (|ccv+| オプション指定の場合を含む)は、 エンジンの既定の設定と一致する。 \item |prefercjk|\Means 和文扱いのブロックとして、「CJK中核セット」のものに加えて、 「Adobeの定めるCJK文字集合 \footnote{Adobe-Japan1、Adobe-GB1、Adobe-CNS1、Adobe-Korea1。}% の何れかと共通部分をもつ文字ブロック」を加えて、 残りを欧文扱いに設定する。 \item |prefercjkvar|\Means |prefercjk| において、ギリシャ・キリル文字の ブロックを欧文扱いに変更したもの。 \item |japanese|\Means 和文扱いのブロックとして、「CJK中核セット」のものに加えて、 「Adobe-Japan1の全角幅のグリフ の何れかと共通部分をもつ文字ブロック」を加えて、 残りを欧文扱いに設定する。 \item |japanesevar|\Means |japanese| において、ギリシャ・キリル文字の ブロックを欧文扱いに変更したもの。 \item |prefernoncjk|\Means 「CJK中核セット」のブロックのみを和文扱いとし、 残りを欧文扱いにする。 \end{itemize} ここで「CJK中核セット」の内容は以下のとおりである。 \begin{itemize} \item 漢字・部首・注音字母\Means |kanji| に設定。 \item ひらがな・カタカナ\Means |kana| に設定。 \item CJK記号の一部・全角半角互換形・彝文字 ・西夏文字・女書文字\Means |cjk| に設定 \footnote{モードCCVが2の場合、|cjk12| の再分割の 中の |cjk1b|、|cjk1c| は |kana| に変更される。}。 \item ハングル完成形・ハングル字母\Means |hangul| に設定。 \end{itemize} \Note 各モードでの具体的な設定値については\ref{sec:Values}節を参照。 \end{itemize} %=========================================================== \section{文字分類バージョン(CCV)} \label{sec:CCV} {\upTeX}エンジンでの文字ブロックの分割および各ブロックの 和文カテゴリの既定値は改版時に変更され、 これが互換性の問題を起こす可能性がある。 本パッケージでは、パッケージの機能を用いて設定された 和文カテゴリの値がエンジンの改版により変化することを防ぐため、 「特定のエンジンのバージョンを指定して、その動作を模倣する」 という方針をとる。 \subsection{文字分類バージョンとは何か} \begin{itemize} \item 文字ブロックの分割の違いを 「\strong{文字分類バージョン}(CCV;Character Category Version)」 と呼ぶことにする。 現状では次のものが存在する。 \begin{itemize} \item バージョン1: {\upTeX} v0.11~0.28と互換 \item バージョン2: {\upTeX} v0.29~1.22と互換 \item バージョン3: {\upTeX} v1.23以降と互換 \end{itemize} \item \Pkg{pxcjkcat}の読込時に、そのオプションにおいて 「その文書が依拠するCCVの値」(これを\strong{モードCCV}と呼ぶ) を指定する。 すなわち、オプション |ccv|$N$($N=\mbox{1~3}$)を指定すると、 モードCCVが$N$になる。 \item モードCCVを使用するエンジンの実のCCVと常に一致させたい場合は、 |ccv+| というオプションを指定すればよい。 ただしこの場合は当然、和文カテゴリ設定がエンジンの版に 依存することになる。 \item モードCCVの既定値は1(|ccv1|)である。 この場合、ブロック分割の状態はUnicode% \footnote{エンジンの版に対応する版のUnicode。}% のブロック定義と完全に一致する。 \item モード設定で |default| を指定した場合は、 和文カテゴリの設定は 「モードCCVに対応するエンジンの版の既定値」 に一致する。 他のモード設定の実際の設定値も |default| を基礎にして 決まるので、モードCCVにより多少の差異が出る。 \end{itemize} \subsection{注意事項} \begin{itemize} \item Unicodeの改版による「文字ブロックの追加」については 「当該の版のエンジンで未対応の文字ブロックの文字は 決して使われない」 ことを仮定すれば互換性を損なうことがないため、 特に対策を行わない。 従って、エンジンの改版が「文字ブロックの追加」だけを伴う場合は、 それは新しいCCVとは見なされない。 例えば、v1.00→v1.10の改修では幾つかのブロックが追加されたが、 CCVは2のままである。 \item もちろん、「旧版の動作の模倣」は本パッケージの機能を用いた 場合に限られ、{\upTeX}エンジンの和文カテゴリコード(kcatcode)の 処理自体は何も変更されない。 また、本パッケージの機能を用いる以外の方法 (エンジン既定のままの場合を含む) で設定された和文カテゴリ値については、 当然、エンジンの版による差異が生じうる。 \end{itemize} %=========================================================== \section{文字ブロック} \label{sec:Blocks} %------------------- \subsection{Unicodeブロックの一覧} 以下は、Unicodeが定めるブロックと直接に対応するブロックの一覧である。 この表の「ブロックID」の欄が、|\cjkcategory| 命令で指定する ブロックIDを示す。 「CCV」の欄は、そのブロックがサポートされるモードCCVの 範囲の下限を表す。 \footnote{ここで示すサポート範囲は「必要条件」であることに注意。 先述の通り、エンジンの改版でブロックが(分割変更でなく) 新規追加された場合には以前のCCVの値を引き継ぐ。 このため、サポート範囲が「2」のブロックは、 モードCCVが2であっても“実際には使えない”可能性がある。 (モードCCVが3以上なら必ず使えて、1なら必ず使えない。) “実際には使えない”ブロックに設定を試みた場合は、 警告が出て設定が無視される。} \begin{quote} \renewcommand{\baselinestretch}{0.9}\small \setlength{\parskip}{0pt} \newcommand*\xI[1]{\makebox[4em][l]{\texttt{#1}}\ignorespaces} \newcommand*\xV[1]{\makebox[2em][c]{#1}\hspace*{1em}\ignorespaces} \newcommand*\xR[2]{\Code{U+}\makebox[3em][r]{\Code{#1}}% ~~~\makebox[3em][r]{\Code{#2}}\hspace*{1em}\ignorespaces} \newcommand*\xN[1]{#1} \hspace*{-1em}%header-line \makebox[5em][l]{ブロック\mbox{}ID}\makebox[2em][c]{CCV}% \makebox[10em][c]{符号値範囲}\makebox{ブロック名称}\par \xI{latn} \xV{1} \xR {0000} {007F} \xN{Basic Latin}\par %///////////////////////////// \xI{latn} \xV{1} \xR {0000} {007F} \xN{Basic Latin}\par \xI{latn1} \xV{1} \xR {0080} {00FF} \xN{Latin-1 Supplement}\par \xI{latnA} \xV{1} \xR {0100} {017F} \xN{Latin Extended-A}\par \xI{latnB} \xV{1} \xR {0180} {024F} \xN{Latin Extended-B}\par \xI{latn2} \xV{1} \xR {0250} {02AF} \xN{IPA Extensions}\par \xI{sym01} \xV{1} \xR {02B0} {02FF} \xN{Spacing Modifier Letters}\par \xI{sym02} \xV{1} \xR {0300} {036F} \xN{Combining Diacritical Marks}\par \xI{grek} \xV{1} \xR {0370} {03FF} \xN{Greek and Coptic}\par \xI{cyrl} \xV{1} \xR {0400} {04FF} \xN{Cyrillic}\par \xI{cyrl1} \xV{1} \xR {0500} {052F} \xN{Cyrillic Supplement}\par \xI{armn} \xV{1} \xR {0530} {058F} \xN{Armenian}\par \xI{hebr} \xV{1} \xR {0590} {05FF} \xN{Hebrew}\par \xI{arab} \xV{1} \xR {0600} {06FF} \xN{Arabic}\par \xI{syrc} \xV{1} \xR {0700} {074F} \xN{Syriac}\par \xI{arab1} \xV{1} \xR {0750} {077F} \xN{Arabic Supplement}\par \xI{thaa} \xV{1} \xR {0780} {07BF} \xN{Thaana}\par \xI{nkoo} \xV{1} \xR {07C0} {07FF} \xN{NKo}\par \xI{samr} \xV{2} \xR {0800} {083F} \xN{Samaritan}\par \xI{mand} \xV{2} \xR {0840} {085F} \xN{Mandaic}\par \xI{syrc1} \xV{3} \xR {0860} {086F} \xN{Syriac Supplement}\par \xI{arabA} \xV{2} \xR {08A0} {08FF} \xN{Arabic Extended-A}\par \xI{deva} \xV{1} \xR {0900} {097F} \xN{Devanagari}\par \xI{beng} \xV{1} \xR {0980} {09FF} \xN{Bengali}\par \xI{guru} \xV{1} \xR {0A00} {0A7F} \xN{Gurmukhi}\par \xI{gujr} \xV{1} \xR {0A80} {0AFF} \xN{Gujarati}\par \xI{orya} \xV{1} \xR {0B00} {0B7F} \xN{Oriya}\par \xI{taml} \xV{1} \xR {0B80} {0BFF} \xN{Tamil}\par \xI{telu} \xV{1} \xR {0C00} {0C7F} \xN{Telugu}\par \xI{knda} \xV{1} \xR {0C80} {0CFF} \xN{Kannada}\par \xI{mlym} \xV{1} \xR {0D00} {0D7F} \xN{Malayalam}\par \xI{sinh} \xV{1} \xR {0D80} {0DFF} \xN{Sinhala}\par \xI{thai} \xV{1} \xR {0E00} {0E7F} \xN{Thai}\par \xI{laoo} \xV{1} \xR {0E80} {0EFF} \xN{Lao}\par \xI{tibt} \xV{1} \xR {0F00} {0FFF} \xN{Tibetan}\par \xI{mymr} \xV{1} \xR {1000} {109F} \xN{Myanmar}\par \xI{geor} \xV{1} \xR {10A0} {10FF} \xN{Georgian}\par \xI{hang1} \xV{1} \xR {1100} {11FF} \xN{Hangul Jamo}\par \xI{ethi} \xV{1} \xR {1200} {137F} \xN{Ethiopic}\par \xI{ethi1} \xV{1} \xR {1380} {139F} \xN{Ethiopic Supplement}\par \xI{cher} \xV{1} \xR {13A0} {13FF} \xN{Cherokee}\par \xI{cans} \xV{1} \xR {1400} {167F} \xN{Unified Canadian Aboriginal Syllabics}\par \xI{ogam} \xV{1} \xR {1680} {169F} \xN{Ogham}\par \xI{runr} \xV{1} \xR {16A0} {16FF} \xN{Runic}\par \xI{tglg} \xV{1} \xR {1700} {171F} \xN{Tagalog}\par \xI{hano} \xV{1} \xR {1720} {173F} \xN{Hanunoo}\par \xI{buhd} \xV{1} \xR {1740} {175F} \xN{Buhid}\par \xI{tagb} \xV{1} \xR {1760} {177F} \xN{Tagbanwa}\par \xI{khmr} \xV{1} \xR {1780} {17FF} \xN{Khmer}\par \xI{mong} \xV{1} \xR {1800} {18AF} \xN{Mongolian}\par \xI{cans1} \xV{2} \xR {18B0} {18FF} \xN{Unified Canadian Aboriginal Syllabics Extended}\par \xI{limb} \xV{1} \xR {1900} {194F} \xN{Limbu}\par \xI{tale} \xV{1} \xR {1950} {197F} \xN{Tai Le}\par \xI{talu} \xV{1} \xR {1980} {19DF} \xN{New Tai Lue}\par \xI{khmr1} \xV{1} \xR {19E0} {19FF} \xN{Khmer Symbols}\par \xI{bugi} \xV{1} \xR {1A00} {1A1F} \xN{Buginese}\par \xI{lana} \xV{2} \xR {1A20} {1AAF} \xN{Tai Tham}\par \xI{sym52} \xV{2} \xR {1AB0} {1AFF} \xN{Combining Diacritical Marks Extended}\par \xI{bali} \xV{1} \xR {1B00} {1B7F} \xN{Balinese}\par \xI{sund} \xV{2} \xR {1B80} {1BBF} \xN{Sundanese}\par \xI{batk} \xV{2} \xR {1BC0} {1BFF} \xN{Batak}\par \xI{lepc} \xV{2} \xR {1C00} {1C4F} \xN{Lepcha}\par \xI{olck} \xV{2} \xR {1C50} {1C7F} \xN{Ol Chiki}\par \xI{cyrlC} \xV{2} \xR {1C80} {1C8F} \xN{Cyrillic Extended-C}\par \xI{sund1} \xV{2} \xR {1CC0} {1CCF} \xN{Sundanese Supplement}\par \xI{sym38} \xV{2} \xR {1CD0} {1CFF} \xN{Vedic Extensions}\par \xI{latn4} \xV{1} \xR {1D00} {1D7F} \xN{Phonetic Extensions}\par \xI{latn5} \xV{1} \xR {1D80} {1DBF} \xN{Phonetic Extensions Supplement}\par \xI{sym03} \xV{1} \xR {1DC0} {1DFF} \xN{Combining Diacritical Marks Supplement}\par \xI{latn3} \xV{1} \xR {1E00} {1EFF} \xN{Latin Extended Additional}\par \xI{grek1} \xV{1} \xR {1F00} {1FFF} \xN{Greek Extended}\par \xI{sym04} \xV{1} \xR {2000} {206F} \xN{General Punctuation}\par \xI{sym05} \xV{1} \xR {2070} {209F} \xN{Superscripts and Subscripts}\par \xI{sym06} \xV{1} \xR {20A0} {20CF} \xN{Currency Symbols}\par \xI{sym07} \xV{1} \xR {20D0} {20FF} \xN{Combining Diacritical Marks for Symbols}\par \xI{sym08} \xV{1} \xR {2100} {214F} \xN{Letterlike Symbols}\par \xI{sym09} \xV{1} \xR {2150} {218F} \xN{Number Forms}\par \xI{sym10} \xV{1} \xR {2190} {21FF} \xN{Arrows}\par \xI{sym11} \xV{1} \xR {2200} {22FF} \xN{Mathematical Operators}\par \xI{sym12} \xV{1} \xR {2300} {23FF} \xN{Miscellaneous Technical}\par \xI{sym13} \xV{1} \xR {2400} {243F} \xN{Control Pictures}\par \xI{sym14} \xV{1} \xR {2440} {245F} \xN{Optical Character Recognition}\par \xI{sym15} \xV{1} \xR {2460} {24FF} \xN{Enclosed Alphanumerics}\par \xI{sym16} \xV{1} \xR {2500} {257F} \xN{Box Drawing}\par \xI{sym17} \xV{1} \xR {2580} {259F} \xN{Block Elements}\par \xI{sym18} \xV{1} \xR {25A0} {25FF} \xN{Geometric Shapes}\par \xI{sym19} \xV{1} \xR {2600} {26FF} \xN{Miscellaneous Symbols}\par \xI{sym20} \xV{1} \xR {2700} {27BF} \xN{Dingbats}\par \xI{sym21} \xV{1} \xR {27C0} {27EF} \xN{Miscellaneous Mathematical Symbols-A}\par \xI{sym22} \xV{1} \xR {27F0} {27FF} \xN{Supplemental Arrows-A}\par \xI{brai} \xV{1} \xR {2800} {28FF} \xN{Braille Patterns}\par \xI{sym23} \xV{1} \xR {2900} {297F} \xN{Supplemental Arrows-B}\par \xI{sym24} \xV{1} \xR {2980} {29FF} \xN{Miscellaneous Mathematical Symbols-B}\par \xI{sym25} \xV{1} \xR {2A00} {2AFF} \xN{Supplemental Mathematical Operators}\par \xI{sym26} \xV{1} \xR {2B00} {2BFF} \xN{Miscellaneous Symbols and Arrows}\par \xI{glag} \xV{1} \xR {2C00} {2C5F} \xN{Glagolitic}\par \xI{latnC} \xV{1} \xR {2C60} {2C7F} \xN{Latin Extended-C}\par \xI{copt} \xV{1} \xR {2C80} {2CFF} \xN{Coptic}\par \xI{geor1} \xV{1} \xR {2D00} {2D2F} \xN{Georgian Supplement}\par \xI{tfng} \xV{1} \xR {2D30} {2D7F} \xN{Tifinagh}\par \xI{ethi2} \xV{1} \xR {2D80} {2DDF} \xN{Ethiopic Extended}\par \xI{cyrlA} \xV{2} \xR {2DE0} {2DFF} \xN{Cyrillic Extended-A}\par \xI{sym27} \xV{1} \xR {2E00} {2E7F} \xN{Supplemental Punctuation}\par \xI{cjk01} \xV{1} \xR {2E80} {2EFF} \xN{CJK Radicals Supplement}\par \xI{cjk02} \xV{1} \xR {2F00} {2FDF} \xN{Kangxi Radicals}\par \xI{cjk03} \xV{1} \xR {2FF0} {2FFF} \xN{Ideographic Description Characters}\par \xI{cjk04} \xV{1} \xR {3000} {303F} \xN{CJK Symbols and Punctuation}\par \xI{hira} \xV{1} \xR {3040} {309F} \xN{Hiragana}\par \xI{kana} \xV{1} \xR {30A0} {30FF} \xN{Katakana}\par \xI{bopo} \xV{1} \xR {3100} {312F} \xN{Bopomofo}\par \xI{hang2} \xV{1} \xR {3130} {318F} \xN{Hangul Compatibility Jamo}\par \xI{cjk05} \xV{1} \xR {3190} {319F} \xN{Kanbun}\par \xI{bopo1} \xV{1} \xR {31A0} {31BF} \xN{Bopomofo Extended}\par \xI{cjk06} \xV{1} \xR {31C0} {31EF} \xN{CJK Strokes}\par \xI{kana1} \xV{1} \xR {31F0} {31FF} \xN{Katakana Phonetic Extensions}\par \xI{cjk07} \xV{1} \xR {3200} {32FF} \xN{Enclosed CJK Letters and Months}\par \xI{cjk08} \xV{1} \xR {3300} {33FF} \xN{CJK Compatibility}\par \xI{haniA} \xV{1} \xR {3400} {4DBF} \xN{CJK Unified Ideographs Extension A}\par \xI{sym28} \xV{1} \xR {4DC0} {4DFF} \xN{Yijing Hexagram Symbols}\par \xI{hani} \xV{1} \xR {4E00} {9FFF} \xN{CJK Unified Ideographs}\par \xI{yiii} \xV{1} \xR {A000} {A48F} \xN{Yi Syllables}\par \xI{yiii1} \xV{1} \xR {A490} {A4CF} \xN{Yi Radicals}\par \xI{lisu} \xV{2} \xR {A4D0} {A4FF} \xN{Lisu}\par \xI{vaii} \xV{2} \xR {A500} {A63F} \xN{Vai}\par \xI{cyrlB} \xV{2} \xR {A640} {A69F} \xN{Cyrillic Extended-B}\par \xI{bamu} \xV{2} \xR {A6A0} {A6FF} \xN{Bamum}\par \xI{sym29} \xV{1} \xR {A700} {A71F} \xN{Modifier Tone Letters}\par \xI{latnD} \xV{1} \xR {A720} {A7FF} \xN{Latin Extended-D}\par \xI{sylo} \xV{1} \xR {A800} {A82F} \xN{Syloti Nagri}\par \xI{sym39} \xV{2} \xR {A830} {A83F} \xN{Common Indic Number Forms}\par \xI{phag} \xV{1} \xR {A840} {A87F} \xN{Phags-pa}\par \xI{saur} \xV{2} \xR {A880} {A8DF} \xN{Saurashtra}\par \xI{deva1} \xV{2} \xR {A8E0} {A8FF} \xN{Devanagari Extended}\par \xI{kali} \xV{2} \xR {A900} {A92F} \xN{Kayah Li}\par \xI{rjng} \xV{2} \xR {A930} {A95F} \xN{Rejang}\par \xI{hangA} \xV{2} \xR {A960} {A97F} \xN{Hangul Jamo Extended-A}\par \xI{java} \xV{2} \xR {A980} {A9DF} \xN{Javanese}\par \xI{mymrB} \xV{2} \xR {A9E0} {A9FF} \xN{Myanmar Extended-B}\par \xI{cham} \xV{2} \xR {AA00} {AA5F} \xN{Cham}\par \xI{mymrA} \xV{2} \xR {AA60} {AA7F} \xN{Myanmar Extended-A}\par \xI{tavt} \xV{2} \xR {AA80} {AADF} \xN{Tai Viet}\par \xI{mtei1} \xV{2} \xR {AAE0} {AAFF} \xN{Meetei Mayek Extensions}\par \xI{ethiA} \xV{2} \xR {AB00} {AB2F} \xN{Ethiopic Extended-A}\par \xI{latnE} \xV{2} \xR {AB30} {AB6F} \xN{Latin Extended-E}\par \xI{cher1} \xV{2} \xR {AB70} {ABBF} \xN{Cherokee Supplement}\par \xI{mtei} \xV{2} \xR {ABC0} {ABFF} \xN{Meetei Mayek}\par \xI{hang} \xV{1} \xR {AC00} {D7AF} \xN{Hangul Syllables}\par \xI{hangB} \xV{2} \xR {D7B0} {D7FF} \xN{Hangul Jamo Extended-B}\par \xI{spc01} \xV{1} \xR {D800} {DB7F} \xN{High Surrogates}\par \xI{spc02} \xV{1} \xR {DB80} {DBFF} \xN{High Private Use Surrogates}\par \xI{spc03} \xV{1} \xR {DC00} {DFFF} \xN{Low Surrogates}\par \xI{spc04} \xV{1} \xR {E000} {F8FF} \xN{Private Use Area}\par \xI{hani1} \xV{1} \xR {F900} {FAFF} \xN{CJK Compatibility Ideographs}\par \xI{latn6} \xV{1} \xR {FB00} {FB4F} \xN{Alphabetic Presentation Forms}\par \xI{arab2} \xV{1} \xR {FB50} {FDFF} \xN{Arabic Presentation Forms-A}\par \xI{spc05} \xV{1} \xR {FE00} {FE0F} \xN{Variation Selectors}\par \xI{cjk09} \xV{1} \xR {FE10} {FE1F} \xN{Vertical Forms}\par \xI{sym30} \xV{1} \xR {FE20} {FE2F} \xN{Combining Half Marks}\par \xI{cjk10} \xV{1} \xR {FE30} {FE4F} \xN{CJK Compatibility Forms}\par \xI{cjk11} \xV{1} \xR {FE50} {FE6F} \xN{Small Form Variants}\par \xI{arab3} \xV{1} \xR {FE70} {FEFF} \xN{Arabic Presentation Forms-B}\par \xI{cjk12} \xV{1} \xR {FF00} {FFEF} \xN{Halfwidth and Fullwidth Forms}\par \xI{spc06} \xV{1} \xR {FFF0} {FFFF} \xN{Specials}\par \xI{linb} \xV{1} \xR {10000} {1007F} \xN{Linear B Syllabary}\par \xI{linb1} \xV{1} \xR {10080} {100FF} \xN{Linear B Ideograms}\par \xI{sym31} \xV{1} \xR {10100} {1013F} \xN{Aegean Numbers}\par \xI{grek2} \xV{1} \xR {10140} {1018F} \xN{Ancient Greek Numbers}\par \xI{sym40} \xV{2} \xR {10190} {101CF} \xN{Ancient Symbols}\par \xI{sym41} \xV{2} \xR {101D0} {101FF} \xN{Phaistos Disc}\par \xI{lyci} \xV{2} \xR {10280} {1029F} \xN{Lycian}\par \xI{cari} \xV{2} \xR {102A0} {102DF} \xN{Carian}\par \xI{copt1} \xV{2} \xR {102E0} {102FF} \xN{Coptic Epact Numbers}\par \xI{ital} \xV{1} \xR {10300} {1032F} \xN{Old Italic}\par \xI{goth} \xV{1} \xR {10330} {1034F} \xN{Gothic}\par \xI{perm} \xV{2} \xR {10350} {1037F} \xN{Old Permic}\par \xI{ugar} \xV{1} \xR {10380} {1039F} \xN{Ugaritic}\par \xI{xpeo} \xV{1} \xR {103A0} {103DF} \xN{Old Persian}\par \xI{dsrt} \xV{1} \xR {10400} {1044F} \xN{Deseret}\par \xI{shaw} \xV{1} \xR {10450} {1047F} \xN{Shavian}\par \xI{osma} \xV{1} \xR {10480} {104AF} \xN{Osmanya}\par \xI{osge} \xV{2} \xR {104B0} {104FF} \xN{Osage}\par \xI{elba} \xV{2} \xR {10500} {1052F} \xN{Elbasan}\par \xI{aghb} \xV{2} \xR {10530} {1056F} \xN{Caucasian Albanian}\par \xI{lina} \xV{2} \xR {10600} {1077F} \xN{Linear A}\par \xI{cprt} \xV{1} \xR {10800} {1083F} \xN{Cypriot Syllabary}\par \xI{armi} \xV{2} \xR {10840} {1085F} \xN{Imperial Aramaic}\par \xI{palm} \xV{2} \xR {10860} {1087F} \xN{Palmyrene}\par \xI{nbat} \xV{2} \xR {10880} {108AF} \xN{Nabataean}\par \xI{hatr} \xV{2} \xR {108E0} {108FF} \xN{Hatran}\par \xI{phnx} \xV{1} \xR {10900} {1091F} \xN{Phoenician}\par \xI{lydi} \xV{2} \xR {10920} {1093F} \xN{Lydian}\par \xI{mero} \xV{2} \xR {10980} {1099F} \xN{Meroitic Hieroglyphs}\par \xI{merc} \xV{2} \xR {109A0} {109FF} \xN{Meroitic Cursive}\par \xI{khar} \xV{1} \xR {10A00} {10A5F} \xN{Kharoshthi}\par \xI{sarb} \xV{2} \xR {10A60} {10A7F} \xN{Old South Arabian}\par \xI{narb} \xV{2} \xR {10A80} {10A9F} \xN{Old North Arabian}\par \xI{mani} \xV{2} \xR {10AC0} {10AFF} \xN{Manichaean}\par \xI{avst} \xV{2} \xR {10B00} {10B3F} \xN{Avestan}\par \xI{prti} \xV{2} \xR {10B40} {10B5F} \xN{Inscriptional Parthian}\par \xI{phli} \xV{2} \xR {10B60} {10B7F} \xN{Inscriptional Pahlavi}\par \xI{phlp} \xV{2} \xR {10B80} {10BAF} \xN{Psalter Pahlavi}\par \xI{orkh} \xV{2} \xR {10C00} {10C4F} \xN{Old Turkic}\par \xI{hung} \xV{2} \xR {10C80} {10CFF} \xN{Old Hungarian}\par \xI{sym42} \xV{2} \xR {10E60} {10E7F} \xN{Rumi Numeral Symbols}\par \xI{brah} \xV{2} \xR {11000} {1107F} \xN{Brahmi}\par \xI{kthi} \xV{2} \xR {11080} {110CF} \xN{Kaithi}\par \xI{sora} \xV{2} \xR {110D0} {110FF} \xN{Sora Sompeng}\par \xI{cakm} \xV{2} \xR {11100} {1114F} \xN{Chakma}\par \xI{mahj} \xV{2} \xR {11150} {1117F} \xN{Mahajani}\par \xI{shrd} \xV{2} \xR {11180} {111DF} \xN{Sharada}\par \xI{sinh1} \xV{2} \xR {111E0} {111FF} \xN{Sinhala Archaic Numbers}\par \xI{khoj} \xV{2} \xR {11200} {1124F} \xN{Khojki}\par \xI{mult} \xV{2} \xR {11280} {112AF} \xN{Multani}\par \xI{sind} \xV{2} \xR {112B0} {112FF} \xN{Khudawadi}\par \xI{gran} \xV{2} \xR {11300} {1137F} \xN{Grantha}\par \xI{newa} \xV{2} \xR {11400} {1147F} \xN{Newa}\par \xI{tirh} \xV{2} \xR {11480} {114DF} \xN{Tirhuta}\par \xI{sidd} \xV{2} \xR {11580} {115FF} \xN{Siddham}\par \xI{modi} \xV{2} \xR {11600} {1165F} \xN{Modi}\par \xI{mong1} \xV{2} \xR {11660} {1167F} \xN{Mongolian Supplement}\par \xI{takr} \xV{2} \xR {11680} {116CF} \xN{Takri}\par \xI{ahom} \xV{2} \xR {11700} {1173F} \xN{Ahom}\par \xI{wara} \xV{2} \xR {118A0} {118FF} \xN{Warang Citi}\par \xI{zanb} \xV{3} \xR {11A00} {11A4F} \xN{Zanabazar Square}\par \xI{soyo} \xV{3} \xR {11A50} {11AAF} \xN{Soyombo}\par \xI{pauc} \xV{2} \xR {11AC0} {11AFF} \xN{Pau Cin Hau}\par \xI{bhks} \xV{2} \xR {11C00} {11C6F} \xN{Bhaiksuki}\par \xI{marc} \xV{2} \xR {11C70} {11CBF} \xN{Marchen}\par \xI{gonm} \xV{3} \xR {11D00} {11D5F} \xN{Masaram Gondi}\par \xI{xsux} \xV{1} \xR {12000} {123FF} \xN{Cuneiform}\par \xI{xsux1} \xV{1} \xR {12400} {1247F} \xN{Cuneiform Numbers and Punctuation}\par \xI{xsux2} \xV{2} \xR {12480} {1254F} \xN{Early Dynastic Cuneiform}\par \xI{egyp} \xV{2} \xR {13000} {1342F} \xN{Egyptian Hieroglyphs}\par \xI{hluw} \xV{2} \xR {14400} {1467F} \xN{Anatolian Hieroglyphs}\par \xI{bamu1} \xV{2} \xR {16800} {16A3F} \xN{Bamum Supplement}\par \xI{mroo} \xV{2} \xR {16A40} {16A6F} \xN{Mro}\par \xI{bass} \xV{2} \xR {16AD0} {16AFF} \xN{Bassa Vah}\par \xI{hmng} \xV{2} \xR {16B00} {16B8F} \xN{Pahawh Hmong}\par \xI{plrd} \xV{2} \xR {16F00} {16F9F} \xN{Miao}\par \xI{cjk14} \xV{2} \xR {16FE0} {16FFF} \xN{Ideographic Symbols and Punctuation}\par \xI{tang} \xV{2} \xR {17000} {187FF} \xN{Tangut}\par \xI{tang1} \xV{2} \xR {18800} {18AFF} \xN{Tangut Components}\par \xI{kana2} \xV{2} \xR {1B000} {1B0FF} \xN{Kana Supplement}\par \xI{kanaA} \xV{3} \xR {1B100} {1B12F} \xN{Kana Extended-A}\par \xI{nshu} \xV{3} \xR {1B170} {1B2FF} \xN{Nushu}\par \xI{dupl} \xV{2} \xR {1BC00} {1BC9F} \xN{Duployan}\par \xI{sym53} \xV{2} \xR {1BCA0} {1BCAF} \xN{Shorthand Format Controls}\par \xI{sym32} \xV{1} \xR {1D000} {1D0FF} \xN{Byzantine Musical Symbols}\par \xI{sym33} \xV{1} \xR {1D100} {1D1FF} \xN{Musical Symbols}\par \xI{sym34} \xV{1} \xR {1D200} {1D24F} \xN{Ancient Greek Musical Notation}\par \xI{sym35} \xV{1} \xR {1D300} {1D35F} \xN{Tai Xuan Jing Symbols}\par \xI{sym36} \xV{1} \xR {1D360} {1D37F} \xN{Counting Rod Numerals}\par \xI{sym37} \xV{1} \xR {1D400} {1D7FF} \xN{Mathematical Alphanumeric Symbols}\par \xI{sgnw} \xV{2} \xR {1D800} {1DAAF} \xN{Sutton SignWriting}\par \xI{glag1} \xV{2} \xR {1E000} {1E02F} \xN{Glagolitic Supplement}\par \xI{mend} \xV{2} \xR {1E800} {1E8DF} \xN{Mende Kikakui}\par \xI{adlm} \xV{2} \xR {1E900} {1E95F} \xN{Adlam}\par \xI{sym51} \xV{2} \xR {1EE00} {1EEFF} \xN{Arabic Mathematical Alphabetic Symbols}\par \xI{sym43} \xV{2} \xR {1F000} {1F02F} \xN{Mahjong Tiles}\par \xI{sym44} \xV{2} \xR {1F030} {1F09F} \xN{Domino Tiles}\par \xI{sym46} \xV{2} \xR {1F0A0} {1F0FF} \xN{Playing Cards}\par \xI{sym45} \xV{2} \xR {1F100} {1F1FF} \xN{Enclosed Alphanumeric Supplement}\par \xI{cjk13} \xV{2} \xR {1F200} {1F2FF} \xN{Enclosed Ideographic Supplement}\par \xI{sym47} \xV{2} \xR {1F300} {1F5FF} \xN{Miscellaneous Symbols and Pictographs}\par \xI{sym48} \xV{2} \xR {1F600} {1F64F} \xN{Emoticons}\par \xI{sym54} \xV{2} \xR {1F650} {1F67F} \xN{Ornamental Dingbats}\par \xI{sym49} \xV{2} \xR {1F680} {1F6FF} \xN{Transport and Map Symbols}\par \xI{sym50} \xV{2} \xR {1F700} {1F77F} \xN{Alchemical Symbols}\par \xI{sym55} \xV{2} \xR {1F780} {1F7FF} \xN{Geometric Shapes Extended}\par \xI{sym56} \xV{2} \xR {1F800} {1F8FF} \xN{Supplemental Arrows-C}\par \xI{sym57} \xV{2} \xR {1F900} {1F9FF} \xN{Supplemental Symbols and Pictographs}\par \xI{haniB} \xV{1} \xR {20000} {2A6DF} \xN{CJK Unified Ideographs Extension B}\par \xI{haniC} \xV{2} \xR {2A700} {2B73F} \xN{CJK Unified Ideographs Extension C}\par \xI{haniD} \xV{2} \xR {2B740} {2B81F} \xN{CJK Unified Ideographs Extension D}\par \xI{haniE} \xV{2} \xR {2B820} {2CEAF} \xN{CJK Unified Ideographs Extension E}\par \xI{haniF} \xV{3} \xR {2CEB0} {2EBEF} \xN{CJK Unified Ideographs Extension F}\par \xI{hani2} \xV{1} \xR {2F800} {2FA1F} \xN{CJK Compatibility Ideographs Supplement}\par \xI{spc07} \xV{1} \xR {E0000} {E007F} \xN{Tags}\par \xI{spc08} \xV{1} \xR {E0100} {E01EF} \xN{Variation Selectors Supplement}\par \xI{spc09} \xV{1} \xR {F0000} {FFFFF} \xN{Supplementary Private Use Area-A}\par \xI{spc10} \xV{1} \xR{100000}{10FFFF} \xN{Supplementary Private Use Area-B}\par %///////////////////////////// \end{quote} \paragraph{ブロックIDの命名規則\<(参考)} \mbox{} \begin{itemize} \item Unicodeブロック名にスクリプト(用字系)の名前が含まれるものは、 それに対するISO 15924のコード(4文字)を用いた。 単一のスクリプトのブロックが複数ある場合は、 名前が“Extended-A,B,……”のものは|A|,|B|,……を、 それ以外のものは|1|,|2|,…… (一部符号値順でない)を末尾に付加した。 \begin{quote} “Arabic”→ |arab|; “Latin Extended-C”→ |latnC| \end{quote} なお、“Hiragana”のコードは |hira| だが“Katakana”は |kana| で あることに注意。 \item それ以外は、CJK関係(|cjk|)、特殊用途(|spc|)、 それ以外(|sym|)の3種類に恣意的に分類して、 後ろに2桁の番号を付けた(|cjk12| など)。 \end{itemize} %------------------- \subsection{どのブロックが使用できるか} 以下では、各モードCCVにおいてサポートされるブロックの全容に ついて説明する。 \paragraph{モードCCVが1の場合} CCV~1ではUnicodeブロックの再分割が存在しないので、 サポートされるブロックの全体は以下のようになる。 \begin{itemize} \item 前掲の通常ブロックの表で「CCV」欄が「1」の ブロック全て。 \end{itemize} \paragraph{モードCCVが2の場合} CCV~2では |cjk12|“Halfwidth and Fullwidth Forms”のブロックが 次の3つの下位ブロックに分割されている。 \begin{quotation} \newcommand\xE[2]{\noindent \makebox[4em][l]{\texttt{#1}}\textsl{#2}\par} \xE{cjk1a}{Halfwidth and Fullwidth Forms/Other} \xE{cjk1b}{Halfwidth and Fullwidth Forms/Latin} \xE{cjk1c}{Halfwidth and Fullwidth Forms/Kana} \end{quotation} \begin{itemize} \item |cjk1b|\Means ASCII 英数字の全角互換形。\par |U+FF10|~|U+FF19|,|U+FF21|~|U+FF3A|,|U+FF41|~|U+FF5A| \item |cjk1c|\Means カタカナの半角互換形。 句読点等の記号は含まない。\par |U+FF66|~|U+FF6F|,|U+FF71|~|U+FF9D| \item |cjk1a|\Means |cjk12| から |cjk1b|、|cjk1c| を除いた残り。 \end{itemize} 従って、サポートされるブロックの全体は以下のようになる。 \begin{itemize} \item 前掲の通常ブロックの表で「CCV」欄が2以下のブロック全て。 \Note |cjk12| のブロックも使用可能で、これは “Halfwidth and Fullwidth Forms”の全体を表す。 \item |cjk12| の下位ブロック\Means |cjk1a|、|cjk1b|、|cjk1c| の3つ。 \end{itemize} \paragraph{モードCCVが3の場合} CCV~3では |latn1|“Latin-1 Supplement”のブロックが 次の2つの下位ブロックに分割されている。 \begin{quotation} \newcommand\xE[2]{\noindent \makebox[4em][l]{\texttt{#1}}\textsl{#2}\par} \xE{latnx}{Latin-1 Supplement/Other} \xE{latny}{Latin-1 Supplement/Latin} \end{quotation} \begin{itemize} \item |latny|\Means ラテン文字であるもの。\par |U+FF10|~|U+FF19|,|U+FF21|~|U+FF3A|,|U+FF41|~|U+FF5A| \item |latnx|\Means |latn1| から |latny| を除いた残り。 \end{itemize} 従って、サポートされるブロックの全体は以下のようになる。 \begin{itemize} \item 前掲の通常ブロックの表で「CCV」欄が2以下のブロック全て。 \Note |cjk12|、|latn1| のブロックも使用可能。 \item |cjk12| の下位ブロック\Means |cjk1a|、|cjk1b|、|cjk1c| の3つ。 \item |latn1| の下位ブロック\Means |latnx|、|latny| の2つ。 \end{itemize} %=========================================================== \section{各モードにおける和文カテゴリの設定} \label{sec:Values} (あとで書く) \end{document} ■ 各モードでの kcatcode の値 モード CCV が 1 の場合。 記号 fc pc pcv pnc JIS CID 名称 latn X - - - * Basic Latin latn1 O - - X * * Latin-1 Supplement latnA O - - X * Latin Extended-A latnB O - - X * Latin Extended-B latn2 O - - X * IPA Extensions sym01 O - - X * Spacing Modifier Letters sym02 O - - X * Combining Diacritical Marks grek O - X - * * Greek and Coptic cyrl O - X - * * Cyrillic hang1 H - - - + Hangul Jamo latn3 O - - X * Latin Extended Additional grek1 O - X - * Greek Extended sym04 O - - X * * General Punctuation sym05 O - - X * Superscripts and Subscripts sym06 O - - X * Currency Symbols sym07 O - - X * Combining Diacritical Marks for Symbols sym08 O - - X * * Letterlike Symbols sym09 O - - X * Number Forms sym10 O - - X * * Arrows sym11 O - - X * * Mathematical Operators sym12 O - - X * * Miscellaneous Technical sym13 O - - X * Control Pictures sym15 O - - - * Enclosed Alphanumerics sym16 O - - X * * Box Drawing sym17 O - - X * Block Elements sym18 O - - X * * Geometric Shapes sym19 O - - X * * Miscellaneous Symbols sym20 O - - X * Dingbats sym23 O - - X * Supplemental Arrows-B sym24 O - - X * Miscellaneous Mathematical Symbols-B sym26 O - - X * Miscellaneous Symbols and Arrows cjk01 I - - - * CJK Radicals Supplement cjk02 I - - - * Kangxi Radicals cjk03 I - - - + Ideographic Description Characters cjk04 O - - - * * CJK Symbols and Punctuation hira K - - - * * Hiragana kana K - - - * * Katakana bopo I - - - + Bopomofo hang2 H - - - + Hangul Compatibility Jamo cjk05 I - - - * Kanbun bopo1 I - - - + Bopomofo Extended cjk06 I - - - + CJK Strokes kana1 K - - - * Katakana Phonetic Extensions cjk07 O - - - * Enclosed CJK Letters and Months cjk08 O - - - * CJK Compatibility haniA I - - - * CJK Unified Ideographs Extension A hani I - - - * * CJK Unified Ideographs yiii O - - - + Yi Syllables yiii1 O - - - + Yi Radicals hangA H - - - Hangul Jamo Extended-B hang H - - - + Hangul Syllables hangB H - - - Hangul Jamo Extended-B spc04 O - - X * Private Use Area hani1 I - - - * CJK Compatibility Ideographs latn6 O - - X * Alphabetic Presentation Forms cjk09 O - - - * Vertical Forms cjk10 O - - - * CJK Compatibility Forms cjk11 O - - - + Small Form Variants cjk12 O - - - * * Halfwidth and Fullwidth Forms cjk13 O - - - Enclosed Ideographic Supplement haniB I - - - * CJK Unified Ideographs Extension B haniC I - - - CJK Unified Ideographs Extension C hani2 I - - - * CJK Compatibility Ideographs Supplement O X - - (その他のブロック) all, prc, pc1, pnc の欄はそれぞれ forcecjk, prefercjk, prefercjkvar, prefernoncjk モードでの kcatcode の値。値の意味: X=noncjk(15), I=kanji(16), K=kana(17), O=cjk(18), H=hangul(19)。JIS 欄の * はその ブロック内の文字に JIS X 0208 に含まれるものがあることを示す。また CID 欄の * は Adobe-Japan1 に、+ は Adobe-GB1, Adobe-CNS1, Adobe-Korea1 に 含まれるものがあることを示す。 モード CCV が 2 の場合、cjk12 の再分割について以下のようになる。 記号 fc pc pcv pnc JIS CID cjk1a O - - - * * cjk12 で cjk1b, cjk1c 以外 cjk1b K - - - * * ASCII 英数字の全角互換形 cjk1c K - - - * * カタカナの半角互換形(記号は含まず) ※ upTeX の CCV が 2 でモード CCV 指定が 1 の場合は cjk1a~cjk1c の 設定値は cjk12 のものに従う。