summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-04-21 23:46:31 +0000
committerKarl Berry <karl@freefriends.org>2015-04-21 23:46:31 +0000
commitdbf06c3ecc6528bd2410630d2a251940ec0c9b23 (patch)
treec875bdd9f4e6a021f50e1e36e2779c07b828347c /Master/texmf-dist/tex
parent142d903dcd96ad083d58f5518aa138a676eb68c0 (diff)
luatexja (21apr15)
git-svn-id: svn://tug.org/texlive/trunk@36992 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-ajmacros.sty36
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-23.sty334
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty216
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty33
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty234
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/jfm-min.lua5
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/jfm-propv.lua9
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/jfm-tmin.lua189
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua43
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua226
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/lltjext.sty761
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua43
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua120
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-base.sty31
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-charrange.lua49
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-compat.lua28
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-debug.lua83
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua1106
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua13
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua635
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua567
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-jisx0208.lua6930
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua3
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty21
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-math.lua60
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua230
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty49
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua122
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua186
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua80
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua252
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-stack.lua38
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-unicode-ccfix.lua4
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjarticle.cls43
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjbk10.clo2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjbk11.clo2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjbk12.clo2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjbook.cls43
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjltxdoc.cls3
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjreport.cls43
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls41
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls41
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjsize10.clo2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjsize11.clo2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjsize12.clo2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls41
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls41
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtarticle.cls825
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtbk10.clo323
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtbk11.clo323
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtbk12.clo323
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtbook.cls915
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtreport.cls913
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtsize10.clo323
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtsize11.clo323
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltjtsize12.clo323
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja-compat.sty33
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty338
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja.lua302
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja.sty1
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty91
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty48
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty124
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-footmisc.sty58
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty486
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-stfloats.sty49
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty109
68 files changed, 13882 insertions, 5394 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-ajmacros.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-ajmacros.sty
index 3944b966828..89e0953cecb 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-ajmacros.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-ajmacros.sty
@@ -87,7 +87,7 @@
\gdef\shift@CID#1#2{{\@tempcnta#1\advance\@tempcnta#2\CID{\@tempcnta}}}
\gdef\ajTsumesuji{\@ifstar{\@@ajTsumesuji}{\@ajTsumesuji}}
\global\let\ajTumesuji\ajTsumesuji
-\gdef\@ajTsumesuji#1#2{{\@tempcnta\ifydir\ifcase#1\or780\or247\or9758\or9738\fi
+\gdef\@ajTsumesuji#1#2{{\@tempcnta\unless\ifnum\ltjgetparameter{direction}=3 \ifcase#1\or780\or247\or9758\or9738\fi
\else\ifcase#1\or8736\or8966\or13274\or13254\fi\fi
\aj@expand\aj@Tsumesuji#2\@nil}}
\gdef\@@ajTsumesuji#1{\@ajTsumesuji{\aj@expand\aj@count@toks#14321\@nil}{#1}}
@@ -226,15 +226,15 @@
%
\gdef\ajTsumekakko#1{\aj@expand\@ajTsumekakko#1\@nil}
\global\let\ajTumekakko\ajTsumekakko
-\gdef\@ajTsumekakko#1#2{\ifx\@nil#2\mbox{\ifydir\rlap{\CID{10233}}\shift@CID{#1}{9872}%
+\gdef\@ajTsumekakko#1#2{\ifx\@nil#2\mbox{\unless\ifnum\ltjgetparameter{direction}=3 \rlap{\CID{10233}}\shift@CID{#1}{9872}%
\else\CID{13268}\shift@CID{#1}{10185}\CID{13269}\fi}%
\expandafter\@gobble
- \else\shift@CID{#1}{\ifydir10152\else10174\fi}%
+ \else\shift@CID{#1}{\unless\ifnum\ltjgetparameter{direction}=3 10152\else10174\fi}%
\expandafter\aj@Tsumekakko
\fi#2}
-\gdef\aj@Tsumekakko#1#2{\ifx\@nil#2\shift@CID{#1}{\ifydir10162\else10196\fi}%
+\gdef\aj@Tsumekakko#1#2{\ifx\@nil#2\shift@CID{#1}{\unless\ifnum\ltjgetparameter{direction}=3 10162\else10196\fi}%
\expandafter\@gobble
- \else\shift@CID{#1}{\ifydir247\else10185\fi}%
+ \else\shift@CID{#1}{\unless\ifnum\ltjgetparameter{direction}=3 247\else10185\fi}%
\expandafter\aj@Tsumekakko
\fi#2}
\gdef\ajNenrei#1{\ifcase#1\relax\expandafter\ajTsumekakko\or\expandafter\aj@NenreiTu
@@ -242,14 +242,14 @@
\or\expandafter\aj@Nenrei@Sai
\fi}
\gdef\aj@NenreiTu#1{\aj@expand\@aj@NenreiTu#1\@nil}
-\gdef\@aj@NenreiTu#1#2{\shift@CID{#1}{\ifydir10152\else10174\fi}%
- \ifx\@nil#2\CID{\ifydir10172\else10206\fi}\expandafter\@gobble
+\gdef\@aj@NenreiTu#1#2{\shift@CID{#1}{\unless\ifnum\ltjgetparameter{direction}=3 10152\else10174\fi}%
+ \ifx\@nil#2\CID{\unless\ifnum\ltjgetparameter{direction}=3 10172\else10206\fi}\expandafter\@gobble
\else\expandafter\aj@Tsumekakko
\fi#2}
\gdef\aj@NenreiSai#1{\aj@expand\@aj@NenreiSai#1\@nil}
-\gdef\@aj@NenreiSai#1{\shift@CID{#1}{\ifydir10152\else10174\fi}\@aj@NenreiSai@}
-\gdef\@aj@NenreiSai@#1{\ifx\@nil#1\CID{\ifydir10173\else10207\fi}%
- \else\shift@CID{#1}{\ifydir247\else10185\fi}%
+\gdef\@aj@NenreiSai#1{\shift@CID{#1}{\unless\ifnum\ltjgetparameter{direction}=3 10152\else10174\fi}\@aj@NenreiSai@}
+\gdef\@aj@NenreiSai@#1{\ifx\@nil#1\CID{\unless\ifnum\ltjgetparameter{direction}=3 10173\else10207\fi}%
+ \else\shift@CID{#1}{\unless\ifnum\ltjgetparameter{direction}=3 247\else10185\fi}%
\expandafter\@aj@NenreiSai@\fi}
\gdef\aj@Nenrei@Tu#1{\ifnum#1<10 \shift@CID{#1}{10174}\CID{10206}%
\else\expandafter\@aj@Nenrei@Tu\number#1%
@@ -327,7 +327,7 @@
%
\def\@aj半角def#1{\ifx\@nil#1\else
\expandafter\xdef\csname aj半角@#1\endcsname{\noexpand\CID
- {\noexpand\ifydir\number\@tempcnta\noexpand\else\number\@tempcntb\noexpand\fi}}%
+ {\noexpand\unless\noexpand\ifnum\noexpand\ltjgetparameter\noexpand{direction\noexpand}=3 \number\@tempcnta\noexpand\else\number\@tempcntb\noexpand\fi}}%
\advance\@tempcnta\@ne\advance\@tempcntb\@ne
\expandafter\@aj半角def\fi}
\@tempcnta326
@@ -347,7 +347,7 @@
\@ajligdef{#1}{\number\@tempcnta}\advance\@tempcnta\@ne
\expandafter\@ajligaturedef\fi}
\def\@aj@ligdef#1#2#3{\expandafter\xdef\csname ajLig\@ajmojifam#1\endcsname
- {\noexpand\CID{\noexpand\ifydir#2\noexpand\else#3\noexpand\fi}}}
+ {\noexpand\CID{\noexpand\unless\noexpand\ifnum\noexpand\ltjgetparameter\noexpand{direction\noexpand}=3 #2\noexpand\else#3\noexpand\fi}}}
\def\@aj@ligaturedef#1{\ifx\@nil#1\else
\@aj@ligdef{#1}{\number\@tempcnta}{\number\@tempcntb}%
\advance\@tempcnta\@ne\advance\@tempcntb\@ne
@@ -506,10 +506,10 @@
\def\@ajkanadef#1#2#3#4#5#6#7{\expandafter\gdef\csname ajLig#1\endcsname
{\if@kana\def\reserved@a{ruby}%
\ifx\k@family\reserved@a
- \ifydir\CID{#6}\else\CID{#7}\fi
- \else\ifydir\CID{#4}\else\CID{#5}\fi
+ \unless\ifnum\ltjgetparameter{direction}=3 \CID{#6}\else\CID{#7}\fi
+ \else\unless\ifnum\ltjgetparameter{direction}=3 \CID{#4}\else\CID{#5}\fi
\fi
- \else\ifydir\CID{#2}\else\CID{#3}\fi
+ \else\unless\ifnum\ltjgetparameter{direction}=3 \CID{#2}\else\CID{#3}\fi
\fi}}
\newcount\@tempcntc
\newcount\@tempcntd
@@ -793,7 +793,7 @@
%
\gdef\ajLeader{\@ifnextchar[{\aj@Leader}{\aj@Leader[\z@ plus1fill]}}
\gdef\aj@Leader[#1]#2{{\@tempcnta#2\multiply\@tempcnta\tw@
- \advance\@tempcnta1221\ifhmode\ifydir4\else5\fi\else\ifydir5\else4\fi\fi
+ \advance\@tempcnta1221\ifhmode\unless\ifnum\ltjgetparameter{direction}=3 4\else5\fi\else\unless\ifnum\ltjgetparameter{direction}=3 5\else4\fi\fi
\leaders\hbox{\CID{\@tempcnta}}\ifhmode\hskip\else\vskip\fi#1}}
%
%
@@ -827,9 +827,9 @@
* * * *
\def\@removetop#1{\toks#1\expandafter\expandafter\expandafter{\expandafter\@gobble\the\toks#1}}
\@removetop0\@removetop1\@removetop2\@removetop3
-\xdef\ajQuote#1#2{\noexpand\CID{\noexpand\ifydir\noexpand\ifcase#1 \the\toks0
+\xdef\ajQuote#1#2{\noexpand\CID{\noexpand\unless\noexpand\ifnum\noexpand\ltjgetparameter\noexpand{direction\noexpand}=3 \noexpand\ifcase#1 \the\toks0
\noexpand\fi\noexpand\else\noexpand\ifcase#1 \the\toks2
- \noexpand\fi\noexpand\fi}#2\inhibitglue\noexpand\CID{\noexpand\ifydir\noexpand\ifcase#1 \the\toks1
+ \noexpand\fi\noexpand\fi}#2\inhibitglue\noexpand\CID{\noexpand\unless\noexpand\ifnum\noexpand\ltjgetparameter\noexpand{direction\noexpand}=3 \noexpand\ifcase#1 \the\toks1
\noexpand\fi\noexpand\else\noexpand\ifcase#1 \the\toks3
\noexpand\fi\noexpand\fi}}
}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-23.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-23.sty
deleted file mode 100644
index 993cbf4670f..00000000000
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-23.sty
+++ /dev/null
@@ -1,334 +0,0 @@
-%
-% luatexja-fontspec-23.sty
-%
-% This package is compatible with fontspec <=2.3,
-% will be removed in a future version.
-%
-
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-23}[2014/06/19 fontspec support of LuaTeX-ja]
-\RequirePackage{l3keys2e,luatexja}
-\ExplSyntaxOn
-
-%%%%%%%% Change Japanese font family by \rmfamily or not
-\bool_if:NTF \ltj_fontspec_match
-{
- \renewcommand\jttdefault{\gtdefault}
- \DeclareRobustCommand\rmfamily
- {\not@math@alphabet\rmfamily\mathrm
- \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
- \DeclareRobustCommand\sffamily
- {\not@math@alphabet\sffamily\mathsf
- \romanfamily\sfdefault\kanjifamily\gtdefault\selectfont}
- \DeclareRobustCommand\ttfamily
- {\not@math@alphabet\ttfamily\mathtt
- \romanfamily\ttdefault\kanjifamily\jttdefault\selectfont}
- \DeclareDocumentCommand \setmonojfont { O{} m } {
- \__ltj_fontspec_set_family:Nnn \jttdefault {#1}{#2}
- \normalfont
- }
-}{
-}
-
-%%%%%%%% Messages
-
-\msg_new:nnn {luatexja-fontspec} {addjfontfeatures-ignored}
-{
- \string\addjfontfeature (s)~ ignored;\\
- it~ cannot~ be~ used~ with~ a~ font~ that~ wasn't~ selected~ by~ luatexja-fontspec.
-}
-
-\msg_new:nnn {luatexja-fontspec} {altfont-ignored-by-norange}
-{
- ignored~ sublist~ `#1'~ in~ AltFont~ (no~ range~ is~ specified).
-}
-
-\msg_new:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly}
-{
- ignored~ sublist~ `#1'~ in~ AltFont~ (only~ range~ is~ specified).
-}
-
-\cs_generate_variant:Nn \prg_new_conditional:Nnn {Nnx}
-
-%%%%%%%% \g_ltj_fontspec_scale_fp
-%% Default scale value for jfont.
-\fp_new:N \g_ltj_fontspec_scale_fp
-\group_begin:
-\fontsize{10}{10}\selectfont
-\fp_gset:Nn \g_ltj_fontspec_scale_fp {\zw / 10}
-\group_end:
-
-%%%%%%%% Internal control sequences
-%% Each CS is ltj_fontspec version that corresponds to original CS of fontspec.
-\cs_new:Nn \ltj_fontspec_define_option:nn {
- \keys_define:nn {fontspec} { #1 .code:n = {#2}}
-}
-
-\cs_new:Nn \ltj_fontspec_define_preparse_external:nn {
- \keys_define:nn {fontspec-preparse-external} { #1 .code:n = {#2}}
-}
-
-\cs_new:Nn \ltj_fontspec_define_altfont_option:nn {
- \keys_define:nn {fontspec-ltjaltfont} { #1 .code:n = {#2}}
-}
-
-%% Alternate Fonts
-%% Spec: AltFont = {
-%% ...
-%% { Range = <range>, <font features> },
-%% { Range = <range>, Font = <font name>, <font features> },
-%% { Range = <range>, Font = <font name> },
-%% ...
-%% }
-\tl_new:N \l_ltj_fontspec_altname_tl
-\tl_new:N \l_ltj_fontspec_altrange_tl
-\clist_new:N \l_ltj_fontspec_altfont_clist
-\clist_new:N \l_ltj_fontspec_altfont_leftover_clist
-\int_new:N \g_ltj_fontspec_altnumber_int
-
-\ltj_fontspec_define_altfont_option:nn {Range} {
- \tl_set:Nn \l_ltj_fontspec_altrange_tl {#1}
-}
-\ltj_fontspec_define_altfont_option:nn {Font} {
- \fontspec_complete_fontname:Nn \l_ltj_fontspec_altname_tl {#1}
-}
-
-\cs_new:Nn \__ltj_fontspec_altfont_key_code:n
- {
- \clist_set:Nn \l_ltj_fontspec_altfont_clist {#1}
- \fontspec_update_fontid:n {alt:#1}
- }
-
-\cs_new:Nn \ltj_fontspec_select:nn {
- \group_begin:
- \ltj_fontspec_define_option:nn {AltFont} {
- \__ltj_fontspec_altfont_key_code:n { ##1 }
- }
- \ltj_fontspec_define_option:nn {CID} {
- \fontspec_update_fontid:n {+cid=##1}
- \fontspec_update_featstr:n {cid=##1}
- }
- \ltj_fontspec_define_option:nn {JFM} {
- \fontspec_update_fontid:n {+jfm=##1}
- \fontspec_update_featstr:n {jfm=##1}
- }
- \ltj_fontspec_define_option:nn {JFM-var} {
- \fontspec_update_fontid:n {+jfmvar=##1}
- \fontspec_update_featstr:n {jfmvar=##1}
- }
- \ltj_fontspec_define_preparse_external:nn {NoEmbed} {
- \cs_set:Nn \fontspec_namewrap:n {psft:####1}
- }
- %% Omit the warning message
- %% "OpenType feature 'Kerning=Off' (-kern) not available ..."
- \ltj_fontspec_define_option:nn {Kerning/Off} {
- \fontspec_update_fontid:n {-kern}
- \fontspec_update_featstr:n {-kern}
- }
- \tl_set:Nn \g_fontspec_encoding_tl {JY3}
- \tl_set:Nx \g_fontspec_default_fontopts_tl
- {JFM=ujis, Scale=\fp_use:N \g_ltj_fontspec_scale_fp,
- Kerning=Off, \g_ltj_fontspec_default_fontopts_tl}
- \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
- \cs_set_eq:NN \fontspec_make_font_shapes:nnnn \ltj_fontspec_make_font_shapes:nnnn
- \cs_set_eq:NN \DeclareFontFamily \DeclareKanjiFamily
- \fontspec_select:nn{#1}{#2}
- \group_end:
-}
-
-\cs_new:Nn \__ltj_fontspec_set_family:Nnn {
- \ltj_fontspec_select:nn{#2}{#3}
- \tl_set_eq:NN #1 \l_fontspec_family_tl
-}
-\cs_set_eq:NN \__ltj_orig_fontspec_make_font_shapes:nnnn \fontspec_make_font_shapes:nnnn
-\cs_set_eq:NN \__ltj_fontspec_orig_DeclareFontShape \DeclareFontShape
-\cs_new:Nn \ltj_fontspec_make_font_shapes:nnnn {
- \__ltj_orig_fontspec_make_font_shapes:nnnn {#1} {#2} {#3} {#4}
- \group_begin:
- %% Parse font features. However, we have to avoid redefine already defined shape.
- \__fontspec_load_fontname:n {#1}
- \cs_set_eq:NN \DeclareFontShape \use_none:nnnnnn
- \fontspec_declare_shape:nnn {#2}{#3}
- { \quark_if_no_value:NF \l__fontspec_fontopts_clist {\l__fontspec_fontopts_clist,} #4 }
- \cs_set_eq:NN \DeclareFontShape \__ltj_fontspec_orig_DeclareFontShape
- %%
- \clist_if_empty:NF \l_ltj_fontspec_altfont_clist {
- \int_gzero:N \g_ltj_fontspec_altnumber_int
- \clist_map_inline:Nn \l_ltj_fontspec_altfont_clist {
- \tl_clear:N \l_ltj_fontspec_altrange_tl
- \tl_set:Nn \l_ltj_fontspec_altname_tl { #1 }
- \tl_set:Nn \l_tmpa_tl { #1 }
-
- \keys_set_known:nxN {fontspec-ltjaltfont} { \exp_after:wN \use:n ##1 }
- \l_ltj_fontspec_altfont_leftover_clist
-
- \tl_if_empty:NT \l_ltj_fontspec_altrange_tl {
- \msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-norange} { ##1 }
- } {
- \bool_if:nTF {
- \tl_if_eq_p:NN \l_ltj_fontspec_altname_tl \l_tmpa_tl
- &&
- \tl_if_empty_p:N \l_ltj_fontspec_altfont_leftover_clist
- } {
- \msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly} { ##1 }
- } {
- \group_begin:
- \__fontspec_load_fontname:n { \l_ltj_fontspec_altname_tl }
- \fontspec_declare_shape:nnn {#2}
- {#3 _ alt \int_use:N \g_ltj_fontspec_altnumber_int }
- {
- \quark_if_no_value:NF \l__fontspec_fontopts_clist {\l__fontspec_fontopts_clist,}
- #4 , \l_ltj_fontspec_altfont_leftover_clist
- }
- \group_end:
- \DeclareAlternateKanjiFont
- {JY3}{ \l_fontspec_family_tl }{#2}{#3}%
- {JY3}{ \l_fontspec_family_tl }{#2}
- { #3 _alt \int_use:N \g_ltj_fontspec_altnumber_int }
- { \l_ltj_fontspec_altrange_tl }
- \int_gincr:N \g_ltj_fontspec_altnumber_int
- }
- }
- }
- }
- \group_end:
- }
-
-%%%%%%%% User commands
-\DeclareDocumentCommand \jfontspec { O{} m } {
- \__ltj_fontspec_set_family:Nnn \k@family {#1}{#2}
- \selectfont
- \ignorespaces
-}
-
-\DeclareDocumentCommand \setmainjfont { O{} m } {
- \__ltj_fontspec_set_family:Nnn \mcdefault {#1}{#2}
- \DeclareSymbolFont{mincho}{JY3}{\l_fontspec_family_tl}{m}{n}
- \SetSymbolFont{mincho}{bold}{JY3}{\l_fontspec_family_tl}{bx}{n}
- \normalfont
-}
-
-\DeclareDocumentCommand \setsansjfont { O{} m } {
- \__ltj_fontspec_set_family:Nnn \gtdefault {#1}{#2}
- \DeclareMathAlphabet{\mathgt}{JY3}{\l_fontspec_family_tl}{m}{n}
- \normalfont
-}
-
-\DeclareDocumentCommand \newjfontfamily { m O{} m } {
- \ltj_fontspec_select:nn{#2}{#3}
- \use:x {
- \exp_not:N \DeclareRobustCommand \exp_not:N #1 {
- \exp_not:N \kanjifamily {\l_fontspec_family_tl} \exp_not:N \selectfont
- }
- }
-}
-
-\DeclareDocumentCommand \newjfontface { m O{} m } {
- \newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2 ] {#3}
-}
-
-\tl_new:N \g_ltj_fontspec_default_fontopts_tl
-\prop_new:N \g__ltj_fontspec_fontopts_prop
-\DeclareDocumentCommand \defaultjfontfeatures { o m }
- {
- \IfNoValueTF {#1}
- { \__ltj_fontspec_set_default_features:n {#2} }
- { \__ltj_fontspec_set_font_default_features:nn {#1} {#2} }
- }
-\cs_new:Nn \__ltj_fontspec_set_default_features:n
- {
- \tl_set:Nn \g_ltj_fontspec_default_fontopts_tl {#1,}
- }
-\cs_new:Nn \__ltj_fontspec_set_font_default_features:nn
- {
- \__fontspec_sanitise_fontname:Nn \l__fontspec_tmp_tl {#1}
- \tl_if_empty:nTF {#2}
- { \prop_gremove:NV \g__ltj_fontspec_fontopts_prop \l__fontspec_tmp_tl }
- { \prop_gput:NVn \g__ltj_fontspec_fontopts_prop \l__fontspec_tmp_tl {#2} }
- }
-
-\DeclareDocumentCommand \addjfontfeatures {m} {
- \ifcsname zf@family@fontdef\k@family\endcsname
- \group_begin:
- \tl_clear:N \g_ltj_fontspec_default_fontopts_tl
- \use:x {
- \exp_not:N\ltj_fontspec_select:nn
- {\csname zf@family@options\k@family\endcsname,#1}
- {\csname zf@family@fontname\k@family\endcsname}
- }
- \group_end:
- \fontfamily\l_fontspec_family_tl\selectfont
- \else
- \msg_warning:nn {luatexja-fontspec} {addjfontfeatures-ignored}
- \fi
- \ignorespaces
-}
-
-\cs_set_eq:NN \addjfontfeature \addjfontfeatures
-
-%%% CJKShape=JIS2004
-\fontspec_define_feature_option:nnnnn{CJKShape}{JIS2004}{20}{5}{+jp04}
-
-\ExplSyntaxOff
-%%%%%%%% Now we completely ignore kanjifont definition file.
-
-\DeclareRobustCommand\fontfamily[1]{%
- \@notkfamfalse\@notffamfalse
- \edef\tmp@item{'\luatexluaescapestring{#1}'}%
- \edef\tmp@enc{'\luatexluaescapestring{\f@encoding}'}%
- \ifcsname \k@encoding+#1\endcsname % if \k@encoding+#1 is already defined
- \edef\k@family{#1}%
- \else\@notkfamtrue\fi
- \ifcsname \f@encoding+#1\endcsname
- \edef\f@family{#1}%
- \else % search font definition file...
- \directlua{luatexja.jfont.is_ffam(\tmp@enc, \tmp@item)}%
- \ifin@\edef\k@family{#1}\else%
- \directlua{luatexja.jfont.is_Nffam(\tmp@enc, \tmp@item)}%
- \ifin@\@notffamtrue\else%
- % filename of font definition file is always lowercase
- \edef\@temp{\lowercase{\noexpand\IfFileExists{\f@encoding#1.fd}}}%
- \message{(I search font definition file)}%
- \@temp{\@tempswztrue}{\@tempswzfalse}%
- \if@tempswz
- \directlua{luatexja.jfont.add_ffam_list(\tmp@enc, \tmp@item)}%
- \edef\f@family{#1}%
- \else
- \directlua{luatexja.jfont.add_Nffam_list(\tmp@enc, \tmp@item)}%
- \@notffamtrue%
- \fi
- \fi
- \fi
- \fi
- \if@notkfam\if@notffam
- {\ifcsname D@\k@encoding\endcsname\@nameuse{D@\k@encoding}\fi
- \xdef\@@temp{\default@family}}\edef\k@family{\@@temp}%
- {\ifcsname D@\f@encoding\endcsname\@nameuse{D@\f@encoding}\fi
- \xdef\@@temp{\default@family}}\edef\f@family{\@@temp}%
- \fi\fi
-}
-
-% We must redefine \try@load@fontshape to ignore kanjifont definitions at all.
-\def\try@load@fontshape{%
- \expandafter
- \ifx\csname \f@encoding+\f@family\endcsname\relax
- \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
-\ifin@ % Japanese font: we don't search fd.
- \@font@warning{We don't search kanjifont definition
- \MessageBreak for \f@encoding/\f@family}%
-\else % Alphabetic font
- \@font@info{Try loading font information for \f@encoding+\f@family}%
- \global\expandafter\let
- \csname\f@encoding+\f@family\endcsname\@empty
- \nfss@catcodes
- \let\nfss@catcodes\relax
- \edef\reserved@a{%
- \lowercase{%
- \noexpand\InputIfFileExists{\f@encoding\f@family.fd}}}%
- \reserved@a\relax
- {\@input@{\f@encoding\f@family.fd}}%
-\fi
- \fi}
-
-\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty
index f4438544b0c..14f3e3b6172 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec-24.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-24}[2014/12/03 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-24}[2015/01/15 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e,luatexja}
\ExplSyntaxOn
@@ -62,7 +62,6 @@
\cs_new:Nn \ltj_fontspec_define_preparse_external:nn {
\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {#1} {#2}
}
-
\cs_new:Nn \ltj_fontspec_define_altfont_option:nn {
\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont} {#1} {#2}
}
@@ -87,17 +86,35 @@
\ltj_fontspec_define_altfont_option:nn {Font} {
\fontspec_complete_fontname:Nn \l_ltj_fontspec_altname_tl {#1}
}
-
-\cs_new:Nn \__ltj_fontspec_altfont_key_code:n
-{
- \clist_set:Nn \l_ltj_fontspec_altfont_clist {#1}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {AltFont} {
+ \clist_put_right:Nn \l_ltj_fontspec_altfont_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {YokoFeatures} {
+ \clist_put_right:Nn \l_ltj_fontspec_fontfeat_yoko_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {TateFeatures} {
+ \clist_put_right:Nn \l_ltj_fontspec_fontfeat_tate_clist { #1 }
+}
+\__fontspec_keys_define_code:nnn {fontspec-ltjaltfont-reparse} {TateFont} {
+ \tl_if_empty:nF {#1} {
+ \fontspec_complete_fontname:Nn \l_ltj_fontspec_fontname_tate_tl {#1}
+ }
+}
+%%
+\clist_new:N \l_ltj_fontspec_fontfeat_yoko_clist
+\clist_new:N \l_ltj_fontspec_fontfeat_tate_clist
+\tl_new:N \l_ltj_fontspec_fontname_tate_tl
+
+\cs_new:Npn \ltj_fontspec_DeclareFontFamily #1 #2 #3 {
+ \DeclareKanjiFamily {JY3} {#2} {#3}
+ \DeclareKanjiFamily {JT3} {#2} {#3}
}
\cs_set_eq:NN \__ltj_orig_fontspec_select:nn \fontspec_select:nn
\cs_new:Nn \ltj_fontspec_select:nn {
\group_begin:
\ltj_fontspec_define_option:nn {AltFont} {
- \__ltj_fontspec_altfont_key_code:n { ##1 }
+ \clist_put_right:Nn \l_ltj_fontspec_altfont_clist {##1}
}
\ltj_fontspec_define_option:nn {CID} {
\__fontspec_update_featstr:n {cid=##1}
@@ -105,7 +122,19 @@
\ltj_fontspec_define_option:nn {JFM} {
\__fontspec_update_featstr:n {jfm=##1}
}
-
+ % vary by shape
+ \ltj_fontspec_define_option:nn {YokoFeatures} {
+ \clist_put_right:Nn \l_ltj_fontspec_fontfeat_yoko_clist { ##1 }
+ }
+ \ltj_fontspec_define_option:nn {TateFeatures} {
+ \clist_put_right:Nn \l_ltj_fontspec_fontfeat_tate_clist { ##1 }
+ }
+ \ltj_fontspec_define_option:nn {TateFont}
+ {
+ \tl_if_empty:nF {##1} {
+ \fontspec_complete_fontname:Nn \l_ltj_fontspec_fontname_tate_tl {##1}
+ }
+ }
\ltj_fontspec_define_option:nn {JFM-var} {
\__fontspec_update_featstr:n {jfmvar=##1}
}
@@ -117,17 +146,66 @@
\ltj_fontspec_define_option:nn {Kerning/Off} {
\__fontspec_update_featstr:n {-kern}
}
- \tl_set:Nn \g_fontspec_encoding_tl {JY3}
- \clist_set:Nx \g__fontspec_default_fontopts_clist
- {JFM=ujis, Scale=\fp_use:N \g_ltj_fontspec_scale_fp,
- Kerning=Off, \g__ltj_fontspec_default_fontopts_clist}
+ \clist_set:Nx \g__fontspec_default_fontopts_clist {
+ YokoFeatures = { JFM=ujis }, TateFeatures = { JFM=ujisv },
+ Scale=\fp_use:N \g_ltj_fontspec_scale_fp, Kerning=Off,
+ \g__ltj_fontspec_default_fontopts_clist
+ }
\prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
\cs_set_eq:NN \__fontspec_make_font_shapes:Nnnnn \ltj_fontspec_make_font_shapes:Nnnnn
- \cs_set_eq:NN \DeclareFontFamily \DeclareKanjiFamily
+ \cs_set_eq:NN \DeclareFontFamily \ltj_fontspec_DeclareFontFamily
+ \tl_set:Nn \g_fontspec_encoding_tl {JY3}
\__ltj_orig_fontspec_select:nn{#1}{#2}
\group_end:
}
+%% declare_shape
+
+\cs_new:Nn \ltj_fontspec_declare_shape_yoko:nnnn {
+ \ltj_fontspec_declare_shape_aux:nnnnnn {#1} {#2} {#3} {#4} { JY3 } { \l_ltj_fontspec_fontfeat_yoko_clist }
+}
+\cs_new:Nn \ltj_fontspec_declare_shape_tate:nnnn {
+ \ltj_fontspec_declare_shape_aux:nnnnnn {#1} {#2} {#3} {#4} { JT3 } { \l_ltj_fontspec_fontfeat_tate_clist }
+}
+\cs_new:Nn \ltj_fontspec_declare_shape:nnnn {
+ \ltj_fontspec_declare_shape_yoko:nnnn {#1} {#2} {#3} {#4}
+ \ltj_fontspec_declare_shape_tate:nnnn {#1} {#2} {#3} {#4}
+}
+\cs_generate_variant:Nn \ltj_fontspec_declare_shape:nnnn {nnxx}
+\cs_generate_variant:Nn \ltj_fontspec_declare_shape_yoko:nnnn {nnxx}
+\cs_generate_variant:Nn \ltj_fontspec_declare_shape_tate:nnnn {nnxx}
+
+\cs_new:Nn \ltj_fontspec_declare_shape_aux:nnnnnn
+ {
+ \tl_clear:N \l__fontspec_nfss_tl
+ \tl_clear:N \l__fontspec_nfss_sc_tl
+ \tl_set_eq:NN \l__fontspec_saved_fontname_tl \l_fontspec_fontname_tl
+
+ \tl_set:Nn \g_fontspec_encoding_tl {#5}
+ \exp_args:Nx \clist_map_inline:nn {#4}
+ {
+ \tl_clear:N \l__fontspec_size_tl
+ \tl_set_eq:NN \l__fontspec_sizedfont_tl \l__fontspec_saved_fontname_tl % in case not spec'ed
+
+ \keys_set_known:nxN {fontspec-sizing} { \exp_after:wN \use:n ##1 }
+ \l__fontspec_sizing_leftover_clist
+ \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} }
+
+ \str_if_eq:nnTF { #5 } { JY3 } {
+ % "normal"
+ \__fontspec_load_fontname:n {\l__fontspec_sizedfont_tl}
+ } {
+ \tl_if_empty:NTF \l_ltj_fontspec_fontname_tate_tl
+ { \__fontspec_load_fontname:n {\l__fontspec_sizedfont_tl} }
+ { \__fontspec_load_fontname:n {\l_ltj_fontspec_fontname_tate_tl} }
+ }
+ \__fontspec_setup_nfss:Nnn \l__fontspec_nfss_tl {#3} {#6}
+ }
+ \bool_set_true:N \l__fontspec_nosc_bool
+ \__fontspec_declare_shapes_normal:nn {#1} {#2}
+ \__fontspec_declare_shape_slanted:nn {#1} {#2}
+ }
+
\cs_new:Nn \ltj_fontspec_set_family:Nnn {
\cs_set_eq:NN \fontspec_select:nn \ltj_fontspec_select:nn
\__ltj_orig_fontspec_set_family:Nnn #1 {#2} {#3}
@@ -137,14 +215,29 @@
\cs_set_eq:NN \__ltj_orig_fontspec_make_font_shapes:Nnnnn \__fontspec_make_font_shapes:Nnnnn
\cs_set_eq:NN \__ltj_fontspec_orig_DeclareFontShape \DeclareFontShape
\cs_new:Nn \ltj_fontspec_make_font_shapes:Nnnnn {
- \__ltj_orig_fontspec_make_font_shapes:Nnnnn {#1} {#2} {#3} {#4} {#5}
\group_begin:
- %% Parse font features. However, we have to avoid redefine already defined shape.
- \__fontspec_load_fontname:n {#1}
- \cs_set_eq:NN \DeclareFontShape \use_none:nnnnnn
- \__fontspec_declare_shape:nnxx {#2} {#3} { \l__fontspec_fontopts_clist, #4 } {#5}
- \cs_set_eq:NN \DeclareFontShape \__ltj_fontspec_orig_DeclareFontShape
+ %% 基底フォント
+ \cs_set_eq:NN \__fontspec_font_set:Nnn \use_none:nnn
+ \cs_set_eq:NN \__fontspec_font_if_null:NT \use_none:nn
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \ltj_fontspec_declare_shape:nnxx
+ \__ltj_orig_fontspec_make_font_shapes:Nnnnn {#1} {#2} {#3} {#4} {#5}
%%
+ \ltj_fontspec_make_font_shapes_alt:Nnnnnn {#1}{#2}{#3}
+ {#4, \l_ltj_fontspec_fontfeat_yoko_clist}{#5} {JY3 }
+ \ltj_fontspec_make_font_shapes_alt:Nnnnnn {#1}{#2}{#3}
+ {#4, \l_ltj_fontspec_fontfeat_tate_clist}{#5} {JT3}
+ \group_end:
+ }
+
+%%% Altfont 内部処理部
+\cs_new:Nn \ltj_fontspec_make_font_shapes_alt:Nnnnnn {
+ \group_begin:
+ \str_if_eq:nnTF { #6 } { JY3 } {
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \ltj_fontspec_declare_shape_yoko:nnxx
+ }{
+ \cs_set_eq:NN \__fontspec_declare_shape:nnxx \ltj_fontspec_declare_shape_tate:nnxx
+ }
+ \keys_set_known:nn {fontspec-ltjaltfont-reparse} { #4 }
\clist_if_empty:NF \l_ltj_fontspec_altfont_clist {
\int_gzero:N \g_ltj_fontspec_altnumber_int
\clist_map_inline:Nn \l_ltj_fontspec_altfont_clist {
@@ -154,6 +247,7 @@
\keys_set_known:nxN {fontspec-ltjaltfont} { \exp_after:wN \use:n ##1 }
\l_ltj_fontspec_altfont_leftover_clist
+ \keys_set_known:nn {fontspec-ltjaltfont-reparse} { \exp_after:wN \use:n ##1 }
\tl_if_empty:NT \l_ltj_fontspec_altrange_tl {
\msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-norange} { ##1 }
@@ -165,16 +259,14 @@
} {
\msg_warning:nnn {luatexja-fontspec} {altfont-ignored-by-rangeonly} { ##1 }
} {
- \group_begin:
- \__fontspec_load_fontname:n { \l_ltj_fontspec_altname_tl }
- \__fontspec_declare_shape:nnxx {#2}
+ \__ltj_orig_fontspec_make_font_shapes:Nnnnn
+ { \l_ltj_fontspec_altname_tl } {#2}
{#3 _ alt \int_use:N \g_ltj_fontspec_altnumber_int }
- {\l__fontspec_fontopts_clist, #4 , \l_ltj_fontspec_altfont_leftover_clist}
+ {#4, \l_ltj_fontspec_altfont_leftover_clist }
{#5}
- \group_end:
\DeclareAlternateKanjiFont
- {JY3}{ \l_fontspec_family_tl }{#2}{#3}%
- {JY3}{ \l_fontspec_family_tl }{#2}
+ { #6 }{ \l_fontspec_family_tl }{#2}{#3}%
+ { #6 }{ \l_fontspec_family_tl }{#2}
{ #3 _alt \int_use:N \g_ltj_fontspec_altnumber_int }
{ \l_ltj_fontspec_altrange_tl }
\int_gincr:N \g_ltj_fontspec_altnumber_int
@@ -183,7 +275,8 @@
}
}
\group_end:
- }
+}
+
%%%%%%%% User commands
\DeclareDocumentCommand \jfontspec { O{} m O{} } {
@@ -207,7 +300,7 @@
\DeclareDocumentCommand \newjfontfamily { m O{} m O{} } {
\cs_set_eq:NN \fontspec_set_family:Nnn \ltj_fontspec_set_family:Nnn
- \newfontfamily #1 [#2] {#3} [#4]
+ \newfontfamily #1 [#2,#4] {#3}
\cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
}
@@ -264,67 +357,10 @@
}
%%% CJKShape=JIS2004
-\__fontspec_define_feature_option:nnnnn{CJKShape}{JIS2004}{20}{5}{+jp04}
-
-\ExplSyntaxOff
-%%%%%%%% Now we completely ignore kanjifont definition file.
-
-\DeclareRobustCommand\fontfamily[1]{%
- \@notkfamfalse\@notffamfalse
- \edef\tmp@item{'\luatexluaescapestring{#1}'}%
- \edef\tmp@enc{'\luatexluaescapestring{\f@encoding}'}%
- \ifcsname \k@encoding+#1\endcsname % if \k@encoding+#1 is already defined
- \edef\k@family{#1}%
- \else\@notkfamtrue\fi
- \ifcsname \f@encoding+#1\endcsname
- \edef\f@family{#1}%
- \else % search font definition file...
- \directlua{luatexja.jfont.is_ffam(\tmp@enc, \tmp@item)}%
- \ifin@\edef\k@family{#1}\else%
- \directlua{luatexja.jfont.is_Nffam(\tmp@enc, \tmp@item)}%
- \ifin@\@notffamtrue\else%
- % filename of font definition file is always lowercase
- \edef\@temp{\lowercase{\noexpand\IfFileExists{\f@encoding#1.fd}}}%
- \message{(I search font definition file)}%
- \@temp{\@tempswztrue}{\@tempswzfalse}%
- \if@tempswz
- \directlua{luatexja.jfont.add_ffam_list(\tmp@enc, \tmp@item)}%
- \edef\f@family{#1}%
- \else
- \directlua{luatexja.jfont.add_Nffam_list(\tmp@enc, \tmp@item)}%
- \@notffamtrue%
- \fi
- \fi
- \fi
- \fi
- \if@notkfam\if@notffam
- {\ifcsname D@\k@encoding\endcsname\@nameuse{D@\k@encoding}\fi
- \xdef\@@temp{\default@family}}\edef\k@family{\@@temp}%
- {\ifcsname D@\f@encoding\endcsname\@nameuse{D@\f@encoding}\fi
- \xdef\@@temp{\default@family}}\edef\f@family{\@@temp}%
- \fi\fi
-}
-
-% We must redefine \try@load@fontshape to ignore kanjifont definitions at all.
-\def\try@load@fontshape{%
- \expandafter
- \ifx\csname \f@encoding+\f@family\endcsname\relax
- \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
-\ifin@ % Japanese font: we don't search fd.
- \@font@warning{We don't search kanjifont definition
- \MessageBreak for \f@encoding/\f@family}%
-\else % Alphabetic font
- \@font@info{Try loading font information for \f@encoding+\f@family}%
- \global\expandafter\let
- \csname\f@encoding+\f@family\endcsname\@empty
- \nfss@catcodes
- \let\nfss@catcodes\relax
- \edef\reserved@a{%
- \lowercase{%
- \noexpand\InputIfFileExists{\f@encoding\f@family.fd}}}%
- \reserved@a\relax
- {\@input@{\f@encoding\f@family.fd}}%
-\fi
- \fi}
+\__fontspec_define_feature_option:nnnnn{CJKShape}{JIS2004}{20}{100}{+jp04}
+%%% CharacterWidth={VerticalAlternateProportional, VerticalAlternateHalf}
+\__fontspec_define_feature_option:nnnnn{CharacterWidth}{VerticalAlternateProportional}{22}{100}{+vpal}
+\__fontspec_define_feature_option:nnnnn{CharacterWidth}{VerticalAlternateHalf}{22}{101}{+vhal}
+\__fontspec_define_feature_option:nnnnn{Kerning}{Vertical} {}{}{+vkrn}
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty
index 6287324f5e0..695ff385c66 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec}[2014/12/03 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec}[2015/01/15 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e,luatexja}
\ExplSyntaxOn
@@ -16,11 +16,30 @@
pass .code:n = \cs_set:Nn \ltj_fontspec_pass_opts: {#1},% 互換性
}
\ProcessKeysOptions { luatexja-fontspec }
-\RequirePackage[\ltj_fontspec_pass_opts:]{fontspec}[2014/06/01]
-%\cs_if_exist:NTF \fontspec_update_featstr:n {
-% \RequirePackage{luatexja-fontspec-23}
-%} {
- \RequirePackage{luatexja-fontspec-24}
-%}
+\RequirePackage[\ltj_fontspec_pass_opts:]{fontspec}[2014/06/01]% v2.4
+\RequirePackage{luatexja-fontspec-24}
+
+\ExplSyntaxOff
+%%%%%%%% Now we completely ignore kanjifont definition file.
+\@ltj@use@fdfalse
+
+% We must redefine \try@load@fontshape to ignore kanjifont definitions at all.
+\def\try@load@fontshape{%
+ \expandafter
+ \ifx\csname \f@encoding+\f@family\endcsname\relax
+ \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
+\ifin@\else % Alphabetic font
+ \@font@info{Try loading font information for \f@encoding+\f@family}%
+ \global\expandafter\let
+ \csname\f@encoding+\f@family\endcsname\@empty
+ \nfss@catcodes
+ \let\nfss@catcodes\relax
+ \edef\reserved@a{%
+ \lowercase{%
+ \noexpand\InputIfFileExists{\f@encoding\f@family.fd}}}%
+ \reserved@a\relax
+ {\@input@{\f@encoding\f@family.fd}}%
+\fi
+ \fi}
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
index 680f689919c..c23fb3fb4cb 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty
@@ -1,11 +1,15 @@
% luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2014/12/03 Japanese font presets]
+\ProvidesPackage{luatexja-preset}[2015/04/05 Japanese font presets]
\RequirePackage{expl3}
-\RequirePackage{luatexja-fontspec}
+\RequirePackage{luatexja}
\ExplSyntaxOn
%%%% message
+\bool_new:N \l_ltjpreset_nfssonly_bool % nfssonly
+\bool_set_false:N \l_ltjpreset_nfssonly_bool
+\DeclareOption{nfssonly} {\bool_set_true:N \l_ltjpreset_nfssonly_bool}
+\DeclareOption{fontspec} {\bool_set_false:N \l_ltjpreset_nfssonly_bool}
\bool_new:N \l_ltjpreset_bold_bool % bold
\bool_set_false:N \l_ltjpreset_bold_bool
@@ -17,17 +21,11 @@
\DeclareOption{expert} {\bool_set_true:N \l_ltjpreset_expert_bool}
\DeclareOption{noexpert}{\bool_set_false:N \l_ltjpreset_expert_bool}
-\int_new:N \l_ltjpreset_deluxe_int % expert
+\int_new:N \l_ltjpreset_deluxe_int % deluxe
\int_set:Nn \l_ltjpreset_deluxe_int { 0 }
\DeclareOption{deluxe}{\int_set:Nn \l_ltjpreset_deluxe_int { 2 }} % 6 fonts
\DeclareOption{nodeluxe}{\int_set:Nn \l_ltjpreset_deluxe_int { 0 }} % 2 fonts
-% scale
-\msg_new:nnn { luatexja-preset }{ scale }{
- Japanese~fonts~will~be~scaled~by~\fp_use:N \g_ltj_fontspec_scale_fp.
-}
-\msg_warning:nn { luatexja-preset }{ scale }
-
% JFM
\cs_set:Npn \ltjpreset_use_jfm: {ujis} % 使用する JFM
%%% \DeclareOption{min}{\cs_set:Npn \ltjpreset_use_jfm: {min}} % min
@@ -46,7 +44,7 @@
\clist_new:N \l_ltjpreset_font_list
\cs_new:Npn \ltjpreset_set_uni:nn #1#2 {
- \ltjpreset_set_multi:n { #1, #1, #2, #2, #2, #2, #1 }
+ \ltjpreset_set_multi:n { #1, #2, #2, #2, #2, #2, #2 }
}
\cs_new:Npn \ltjpreset_set_multi:n #1 {
\clist_set:Nn \l_ltjpreset_font_list { #1 }
@@ -105,24 +103,24 @@
% ヒラギノ (OSX)
\DeclareOption{hiragino-pro}{
\ltjpreset_set_multi:n {
- Hiragino~Mincho~Pro~W3 ,
- Hiragino~Mincho~Pro~W6 ,
- Hiragino~Kaku~Gothic~Pro~W3 , % gt/m (multi)
- Hiragino~Kaku~Gothic~Pro~W6 ,
- Hiragino~Kaku~Gothic~Pro~W6 , % gt/m (uni)
- Hiragino~Kaku~Gothic~Std~W8 ,
- Hiragino~Maru~Gothic~Pro~W4 ,
+ HiraMinPro-W3 ,
+ HiraMinPro-W6 ,
+ HiraKakuPro-W3 , % gt/m (multi)
+ HiraKakuPro-W6 ,
+ HiraKakuPro-W6 , % gt/m (uni)
+ HiraKakuStd-W8 ,
+ HiraMaruPro-W4 ,
}
}
\DeclareOption{hiragino-pron}{
\ltjpreset_set_multi:n {
- Hiragino~Mincho~ProN~W3 ,
- Hiragino~Mincho~ProN~W6 ,
- Hiragino~Kaku~Gothic~ProN~W3 , % gt/m (multi)
- Hiragino~Kaku~Gothic~ProN~W6 ,
- Hiragino~Kaku~Gothic~ProN~W6 , % gt/m (uni)
- Hiragino~Kaku~Gothic~StdN~W8 ,
- Hiragino~Maru~Gothic~ProN~W4 ,
+ HiraMinProN-W3 ,
+ HiraMinProN-W6 ,
+ HiraKakuProN-W3 , % gt/m (multi)
+ HiraKakuProN-W6 ,
+ HiraKakuProN-W6 , % gt/m (uni)
+ HiraKakuStdN-W8 ,
+ HiraMaruProN-W4 ,
}
}
@@ -161,10 +159,21 @@
YuMincho~Medium , YuMincho~Demibold , % mc/m, mc/bx
YuGothic~Medium , YuGothic~Bold , % gt/m, gt/bx (multiweight))
YuGothic~Bold , YuGothic~Bold , % gt/m (uni), gt/eb
- YuGothic~Bold % mg/m
+ YuGothic~Bold % mg/m
}
}
+% moga-mobo
+\DeclareOption{moga-mobo}{
+ \ltjpreset_set_multi:n {
+ Moga90Mincho, Moga90Mincho~Bold , % mc/m, mc/bx
+ Moga90Gothic, Moga90Gothic~Bold , % gt/m, gt/bx (multiweight))
+ Moga90Gothic~Bold, Moga90Gothic~Bold, % gt/m (uni), gt/eb
+ Mobo90Gothic % mg/m
+ }
+}
+
+
% ipa, ipaex, ms
\DeclareOption{ipa}{
\ltjpreset_set_uni:nn { IPAMincho } { IPAGothic }
@@ -205,23 +214,30 @@
}
\ProcessOptions*
-%% KozMinPr6N の場合はjp04 feature がないので,nlck にする
-\clist_if_in:NnT \l_ltjpreset_font_list { KozMinPr6N-Regular } {
- \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
- \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
- \tl_set:Nn \l_ltjpreset_kanji_shape_tl { , CJKShape=NLC }
- }
-}
+%%%%%%%% main routine
-%% HiraMinProN の場合はjp04 feature がない??ので,nlck にする
-\clist_if_in:NnT \l_ltjpreset_font_list { Hiragino~Mincho~ProN~W3 } {
- \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
- \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
- \tl_set:Nn \l_ltjpreset_kanji_shape_tl { , CJKShape=NLC }
- }
+\msg_new:nnn { luatexja-preset }{ ltj-fontspec }{
+ The~ luatexja-fontspec~ package~ is~ loaded~ already.~
+ Hence~ we~ ignore~ `nfssonly'~option.
+}
+\@ifpackageloaded{luatexja-fontspec}{
+ \bool_if:NT \l_ltjpreset_nfssonly_bool
+ { \msg_warning:nn { luatexja-preset }{ ltj-fontspec } }
+ \bool_set_false:N \l_ltjpreset_nfssonly_bool
+}{}
+
+\bool_new:N \l_ltjpreset_shape_nlck_bool
+%% KozMinPr6N, HiraMinProN-W3 の場合はjp04 feature がないので,nlck にする
+\tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
+\tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
+ \clist_if_in:NnT \l_ltjpreset_font_list { KozMinPr6N-Regular }
+ { \bool_set_true:N \l_ltjpreset_shape_nlck_bool }
+ \clist_if_in:NnT \l_ltjpreset_font_list { HiraMinProN-W3 }
+ { \bool_set_true:N \l_ltjpreset_shape_nlck_bool }
+ \clist_if_in:NnT \l_ltjpreset_font_list { Moga90Mincho }
+ { \tl_remove_all:Nn \l_ltjpreset_font_list {90} }%%% これでいいのか?
+
}
-
-%%%%%%%% main routine
%%%% リストからの展開
% mc/m
@@ -272,17 +288,137 @@
}
}
+%% 90JIS/JIS2004 字形指定のオプション
+\bool_if:NTF \l_ltjpreset_nfssonly_bool {
+ \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS1990 }
+ \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
+ \tl_set:Nn \l_ltjpreset_kanji_shape_tl { +jp90 }
+ }
+ \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
+ \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
+ \bool_if:NTF \l_ltjpreset_shape_nlck_bool
+ { \tl_set:Nn \l_ltjpreset_kanji_shape_tl { +nlck } }
+ { \tl_set:Nn \l_ltjpreset_kanji_shape_tl { +jp04 } }
+ }
+} {
+ \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
+ \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
+ \bool_if:NT \l_ltjpreset_shape_nlck_bool
+ { \tl_set:Nn \l_ltjpreset_kanji_shape_tl { , CJKShape=NLC } }
+ }
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%% nfss only
+\bool_if:NTF \l_ltjpreset_nfssonly_bool {
+
+\fp_new:N \l_ltjpreset_scale_fp
+\group_begin:
+\fontsize{10}{10}\selectfont
+\fp_gset:Nn \l_ltjpreset_scale_fp {\zw / 10}
+\group_end:
+\msg_new:nnn { luatexja-preset }{ scale }{
+ Japanese~fonts~will~be~scaled~by~\fp_use:N \l_ltjpreset_scale_fp.
+}
+\msg_warning:nn { luatexja-preset }{ scale }
+
+\cs_new:Nn \ltj_preset_define_family:nnn {
+ \DeclareFontShape{JY3}{#1}{#2}{n}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
+ {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
+ : jfm=\ltjpreset_use_jfm: ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl
+ ; script=latn \bool_if:NT \l_ltjpreset_expert_bool { ;+hkna }}
+ } {}
+ \DeclareFontShape{JT3}{#1}{#2}{n}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
+ {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
+ : jfm=ujisv ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl
+ ; script=latn \bool_if:NT \l_ltjpreset_expert_bool { ;+vkna }}
+ } {}
+ \bool_if:NT \l_ltjpreset_expert_bool {
+ \DeclareFontShape{JY3}{#1}{#2}{rb}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
+ {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
+ : jfm=\ltjpreset_use_jfm: ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl ;+ruby
+ ; script=kana}
+ } {}
+ \DeclareFontShape{JT3}{#1}{#2}{rb}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
+ {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
+ : jfm=ujisv ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl ;+ruby
+ ; script=kana}
+ } {}
+ }
+}
+
+\DeclareKanjiFamily{JY3}{ltjpm}{}\DeclareKanjiFamily{JT3}{ltjpm}{}
+\DeclareKanjiFamily{JY3}{ltjpg}{}\DeclareKanjiFamily{JT3}{ltjpg}{}
+
+\int_compare:nTF { \l_ltjpreset_deluxe_int == 2 } {
+ \bool_if:NT \l_ltjpreset_bold_bool {
+ \cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_bx:
+ }
+}{
+ \bool_if:NTF \l_ltjpreset_bold_bool {
+ \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_bx:
+ }{
+ \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_n_uni:
+ }
+ \cs_set_eq:NN \ltjpreset_font_gt_bx: \ltjpreset_font_gt_m:
+ \cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_m:
+}
+
+\ltj_preset_define_family:nnn {ltjpm} {m} {\ltjpreset_font_mc_m:}
+\ltj_preset_define_family:nnn {ltjpm} {bx} {\ltjpreset_font_mc_bx:}
+\ltj_preset_define_family:nnn {ltjpg} {m} {\ltjpreset_font_gt_m:}
+\ltj_preset_define_family:nnn {ltjpg} {bx} {\ltjpreset_font_gt_bx:}
+
+\def\mcdefault{ltjpm}\def\gtdefault{ltjpg}
+\normalfont
+
+\SetSymbolFont{mincho}{normal}{JY3}{ltjpm}{m}{n}
+\SetSymbolFont{mincho}{bold}{JY3}{ltjpm}{bx}{n}
+\DeclareMathAlphabet{\mathgt}{JY3}{ltjpg}{m}{n}
+
+\bool_if:NT \l_ltjpreset_expert_bool {
+ \DeclareRobustCommand\rubyfamily { \kanjishape{rb}\selectfont }
+}
+
+\int_compare:nTF { \l_ltjpreset_deluxe_int == 2 } {
+ \DeclareKanjiFamily{JY3}{ltjpmg}{}\DeclareKanjiFamily{JT3}{ltjpmg}{}
+ \ltj_preset_define_family:nnn {ltjpmg} {m} {\ltjpreset_font_mg:}
+ \ltj_preset_define_family:nnn {ltjpg} {eb} {\ltjpreset_font_gt_eb:}
+ \def\ebdefault{eb}
+ \DeclareRobustCommand\ebseries { \not@math@alphabet\ebseries\relaxfontseries\ebdefault\selectfont }
+ \DeclareRobustCommand\gtebfamily { \kanjifamily{ltjpg}\fontseries{eb}\selectfont }
+ \DeclareTextFontCommand{\textgteb}{\gtebfamily}
+ \DeclareRobustCommand\mgfamily { \not@math@alphabet\mgfamily\relax\kanjifamily{ltjpmg}\selectfont }
+ \DeclareTextFontCommand{\textmg}{\mgfamily}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%% fontspec
+} {
+
+\RequirePackage{luatexja-fontspec}
+% scale
+\msg_new:nnn { luatexja-preset }{ scale }{
+ Japanese~fonts~will~be~scaled~by~\fp_use:N \g_ltj_fontspec_scale_fp.
+}
+\msg_warning:nn { luatexja-preset }{ scale }
+
% expert 用設定
\tl_new:N \l_ltjpreset_add_features_tl
\tl_set:Nx \l_ltjpreset_add_features_tl {
- \tl_use:N \l_ltjpreset_kanji_shape_tl,
- JFM = \ltjpreset_use_jfm:
+ \tl_use:N \l_ltjpreset_kanji_shape_tl,
+ YokoFeatures = { JFM = \ltjpreset_use_jfm: },
}
\bool_if:NT \l_ltjpreset_expert_bool {
- \cs_set:Npn \rubyfamily { \addfontfeatures { Style = Ruby} }
- \tl_put_left:Nn \l_ltjpreset_add_features_tl { Style = HorizontalKana, }
+ \cs_set:Npn \rubyfamily { \addjfontfeatures {
+ Style=Ruby , YokoFeatures={RawFeature=-hkna} , TateFeatures={RawFeature=-vkna}
+ } }
+ \tl_put_left:Nn \l_ltjpreset_add_features_tl {
+ YokoFeatures = {Style = HorizontalKana},
+ TateFeatures = {Style = VerticalKana},
+ }
}
% (丸)ゴシック体の設定: bold option もここで
@@ -290,8 +426,7 @@
%% mg
\newjfontfamily \mgfamily [
BoldFont = \ltjpreset_font_mg:,
- \tl_use:N \l_ltjpreset_add_features_tl
- \bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed },
+ \bool_if:NT \l_ltjpreset_noembed_bool { NoEmbed, }
\tl_use:N \l_ltjpreset_add_features_tl
] { \ltjpreset_font_mg: }
\DeclareTextFontCommand{\textmg}{\mgfamily}
@@ -299,9 +434,8 @@
%% 注意: ファミリは 'gteb'.シリーズは \mdseries のまま.
%% \bfseries を追加したほうが良い?
\newjfontfamily \gtebfamily [
- BoldFont = \ltjpreset_font_gt_eb:,
- \tl_use:N \l_ltjpreset_add_features_tl
- \bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed },
+ BoldFont = \ltjpreset_font_gt_eb:,
+ \bool_if:NT \l_ltjpreset_noembed_bool { NoEmbed, }
\tl_use:N \l_ltjpreset_add_features_tl
] { \ltjpreset_font_gt_eb: }
\DeclareTextFontCommand{\textgteb}{\gtebfamily}
@@ -334,5 +468,7 @@
\tl_use:N \l_ltjpreset_add_features_tl
] { \ltjpreset_font_gt_m: }
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+}
\ExplSyntaxOff
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/jfm-min.lua b/Master/texmf-dist/tex/luatex/luatexja/jfm-min.lua
index ff00229b52f..b59b5329c48 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/jfm-min.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/jfm-min.lua
@@ -1,6 +1,6 @@
-- -*- coding: utf-8 -*-
-- jfm-min.lua: min10 互換
--- Besed on umin10.tfm (a counterpart of min10.tfm for upTeX).
+-- Based on umin10.tfm (a counterpart of min10.tfm for upTeX).
local vscale = 0.916443 / 0.962216
local vht = 0.777588 / 0.962216
@@ -9,7 +9,8 @@ local vdp = 0.138855 / 0.962216
luatexja.jfont.define_jfm {
dir = 'yoko',
zw = 1.0, zh = vscale,
-
+ kanjiskip = { 0.0, 0.091641/0.962216, 0.0 },
+ xkanjiskip = { 0.229101/0.962216, 0.183283/0.962216, 0.114551/0.962216 },
[0] = {
align = 'left', left = 0.0, down = 0.0,
width = 1.0, height = vht, depth = vdp, italic=0.0,
diff --git a/Master/texmf-dist/tex/luatex/luatexja/jfm-propv.lua b/Master/texmf-dist/tex/luatex/luatexja/jfm-propv.lua
new file mode 100644
index 00000000000..320ed626488
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/jfm-propv.lua
@@ -0,0 +1,9 @@
+luatexja.jfont.define_jfm {
+ dir = 'tate',
+ zw = 1.0, zh = 1.0,
+
+ [0] = {
+ align = 'left', left = 0.0, down = 0.0,
+ width = 'prop', height = 0.50, depth = 0.50, italic=0.0,
+ }
+}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/jfm-tmin.lua b/Master/texmf-dist/tex/luatex/luatexja/jfm-tmin.lua
new file mode 100644
index 00000000000..2d9f85b59f8
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/jfm-tmin.lua
@@ -0,0 +1,189 @@
+-- -*- coding: utf-8 -*-
+-- jfm-tmin.lua: tmin10 互換
+-- Based on utmin10.tfm (a counterpart of tmin10.tfm for upTeX).
+
+local vscale = 0.916443 / 0.962216
+local vht = 0.458221 / 0.962216
+
+luatexja.jfont.define_jfm {
+ dir = 'tate',
+ zw = 1.0, zh = vscale,
+ kanjiskip = { 0.0, 0.091641/0.962216, 0.0 },
+ xkanjiskip = { 0.229101/0.962216, 0.183283/0.962216, 0.114551/0.962216 },
+ [0] = {
+ align = 'middle', left = 0.00, down = 0.00,
+ width = 1.0, height = vht, depth = vht, italic=0.0,
+ glue = {
+ [1] = { 0, 0, 0 },
+ [2] = { 0, 0, 0 },
+ [3] = { 0.111608, 0.0, 0.111608 },
+ [5] = { 0, 0, 0 },
+ [6] = { 0.5, 0.190480, 0.5 },
+ [7] = { 0.25, 0.190480, 0.25 },
+ [10] = { 0, 0, 0 },
+ }
+ },
+
+ [1] = {
+ chars = {
+ ',', '.'
+ },
+ align = 'left', left = 0.00, down = 0.00,
+ width = 0.5, height = vht, depth = vht, italic=0.0,
+ glue = {
+ [0] = { 0.5, 0.190480, 0.5 },
+ [1] = { 0, 0, 0 },
+ [2] = { 0, 0, 0 },
+ [3] = { 0.5, 0.190480, 0.5 },
+ [4] = { 0, 0, 0 },
+ [5] = { 0.5, 0.190480, 0.5 },
+ [6] = { 0.5, 0.190480, 0.5 },
+ [7] = { 0.5, 0.190480, 0.5 },
+ [10] = { 0, 0, 0 },
+ }
+ },
+
+ [2] = {
+ chars = {
+ '、', '。'
+ },
+ align = 'left', left = 0.00, down = 0.00,
+ width = 0.5, height = vht, depth = vht, italic=0.0,
+ glue = {
+ [0] = { 0.5, 0.190480, 0.5 },
+ [1] = { 0, 0, 0 },
+ [2] = { 0, 0, 0 },
+ [3] = { 0.5, 0.190480, 0.5 },
+ [4] = { 0, 0, 0 },
+ [5] = { 0.5, 0.190480, 0.5 },
+ [6] = { 0.5, 0.190480, 0.5 },
+ [7] = { 0.5, 0.190480, 0.5 },
+ [10] = { 0, 0, 0 },
+ }
+ },
+
+ [3] = {
+ chars = {
+ '〃', '々', 'ぁ', 'ぃ', 'ぅ', 'ぇ', 'ぉ', 'っ', 'ゃ', 'ゅ',
+ 'ょ', 'ゎ', 'ゕ', 'ゖ', 'ゝ', 'ゞ', 'ァ', 'ィ', 'ゥ', 'ェ',
+ 'ォ', 'ッ', 'ャ', 'ュ', 'ョ', 'ヮ', 'ヵ', 'ヶ', 'ヽ', 'ヾ',
+ 'ㇰ', 'ㇱ', 'ㇲ', 'ㇳ', 'ㇴ', 'ㇵ', 'ㇶ', 'ㇷ', 'ㇸ', 'ㇹ',
+ 'ㇺ', 'ㇻ', 'ㇼ', 'ㇽ', 'ㇾ', 'ㇿ',
+ },
+ align = 'middle', left = 0.00, down = 0.00,
+ width = 0.776784, height = vht, depth = vht, italic=0.0,
+ glue = {
+ [0] = { 0.111608, 0.0, 0.111608 },
+ [1] = { 0, 0, 0 },
+ [2] = { 0, 0, 0 },
+ [3] = { 0.111608, 0.0, 0.111608 },
+ [5] = { 0, 0, 0 },
+ [6] = { 0.5, 0.190480, 0.5 },
+ [7] = { 0.25, 0.190480, 0.25 },
+ [10] = { 0, 0, 0 },
+ }
+ },
+
+ [4] = {
+ chars = {
+ '!', '?'
+ },
+ align = 'middle', left = 0.00, down = 0.00,
+ width = 1.0, height = vht, depth = vht, italic=0.0,
+ glue = {
+ [0] = { 1.0, 0.0, 0.5 },
+ [1] = { 0, 0, 0 },
+ [2] = { 0, 0, 0 },
+ [3] = { 1.0, 0.0, 0.5 },
+ [5] = { 0, 0, 0 },
+ [6] = { 1.0, 0.0, 0.5 },
+ [7] = { 1.0, 0.0, 0.5 },
+ [10] = { 0, 0, 0 },
+ }
+ },
+
+ [5] = {
+ chars = {
+ '―', '‥', '…'
+ },
+ align = 'middle', left = 0.00, down = 0.00,
+ width = 1.0, height = vht, depth = vht, italic=0.0,
+ glue = {
+ [0] = { 0, 0, 0 },
+ [1] = { 0, 0, 0 },
+ [2] = { 0, 0, 0 },
+ [3] = { 0, 0, 0 },
+ [4] = { 0, 0, 0 },
+ [5] = { 0, 0, 0 },
+ [6] = { 0.25, 0.190480, 0.25 },
+ [7] = { 0.25, 0.190480, 0.25 },
+ [10] = { 0, 0, 0 },
+ }
+ },
+
+ [6] = { -- 開き括弧類
+ chars = {
+ '‘', '“', '〈', '《', '「', '『', '【', '〔', '〖',
+ '〘', '〝', '(', '[', '{', '⦅'
+ },
+ align = 'right', left = 0.0, down = 0.0,
+ width = 0.5, height = vht, depth = vht, italic=0.0,
+ glue = {
+ [0] = {0, 0, 0},
+ [1] = {0, 0, 0},
+ [2] = {0, 0, 0},
+ [3] = {0, 0, 0},
+ [4] = {0, 0, 0},
+ [5] = {0, 0, 0},
+ [6] = {0, 0, 0},
+ [7] = { 0.25, 0.0, 0.25 },
+ [8] = {0, 0, 0},
+ [9] = {0, 0, 0},
+ }
+ },
+
+ [7] = {
+ chars = {
+ '‐', '‖', '・', '|'
+ },
+ align = 'middle', left = 0.00, down = 0.00,
+ width = 0.5, height = vht, depth = vht, italic=0.0,
+ glue = {
+ [0] = { 0.25, 0.190480, 0.25 },
+ [1] = { 0.25, 0, 0.25 },
+ [2] = { 0.25, 0, 0.25 },
+ [3] = { 0.111608, 0.0, 0.111608 },
+ [4] = { 0.25, 0.190480, 0.25 },
+ [5] = { 0.25, 0.190480, 0.25 },
+ [6] = { 0.25, 0.190480, 0.25 },
+ [7] = { 0, 0.190480, 0.0 },
+ [10] = { 0.25, 0, 0.25 },
+ }
+ },
+
+ [10] = { -- 閉じ括弧類
+ chars = {
+ '’', '”', '〉', '》', '」', '』', '】', '〕',
+ '〗', '〙', '〟', ')', ']', '}', '⦆'
+ },
+ align = 'left', left = 0.0, down = 0.0,
+ width = 0.5, height = vht, depth = vht, italic=0.0,
+ glue = {
+-- 3 は四分, 2, 4, 9 は0, あとは0.5
+ [0] = { 0.5 , 0.190480, 0.5 },
+ [1] = { 0, 0, 0 },
+ [2] = { 0, 0, 0 },
+ [3] = { 0.5 , 0.190480, 0.5 },
+ [4] = { 0, 0, 0 },
+ [5] = { 0.25 , 0.190480, 0.25 },
+ [6] = { 0.5 , 0.190480, 0.5 },
+ [7] = { 0.25 , 0.190480, 0.25 },
+ [10] = {0, 0, 0},
+ }
+ },
+
+ [99] = { -- box末尾
+ chars = {'boxbdd', 'parbdd'},
+ },
+
+}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua
index cb4e9c1f4c8..ced82f66463 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua
@@ -30,7 +30,7 @@ luatexja.jfont.define_jfm {
[1] = { -- 開き括弧類
chars = {
- '‘', '“', '〈', '《', '「', '『', '【', '〔', '〖',
+ '‘', '“', '〈', '《', '「', '『', '【', '〔', '〖',
'〘', '〝', '(', '[', '{', '⦅'
},
align = 'right', left = 0.0, down = 0.0,
@@ -52,7 +52,7 @@ luatexja.jfont.define_jfm {
[2] = { -- 閉じ括弧類
chars = {
- '’', '”', '〉', '》', '」', '』', '】', '〕',
+ '’', '”', '〉', '》', '」', '』', '】', '〕',
'〗', '〙', '〟', ')', ']', '}', '⦆', '、', ',*'
},
align = 'left', left = 0.0, down = 0.0,
@@ -148,28 +148,28 @@ luatexja.jfont.define_jfm {
[7] = { -- 半角カナ
chars = {
- '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ',
- 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ',
- 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ',
- 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト',
- 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ',
- 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ',
+ '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ',
+ 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ',
+ 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ',
+ 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト',
+ 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ',
+ 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ',
'ラ', 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ン', '゙', '゚',
- "AJ1-516", "AJ1-517", "AJ1-518", "AJ1-519", "AJ1-520", "AJ1-521", "AJ1-522",
- "AJ1-523", "AJ1-524", "AJ1-525", "AJ1-526", "AJ1-527", "AJ1-528", "AJ1-529",
- "AJ1-530", "AJ1-531", "AJ1-532", "AJ1-533", "AJ1-534", "AJ1-535", "AJ1-536",
- "AJ1-537", "AJ1-538", "AJ1-539", "AJ1-540", "AJ1-541", "AJ1-542", "AJ1-543",
- "AJ1-544", "AJ1-545", "AJ1-546", "AJ1-547", "AJ1-548", "AJ1-549", "AJ1-550",
- "AJ1-551", "AJ1-552", "AJ1-553", "AJ1-554", "AJ1-555", "AJ1-556", "AJ1-557",
- "AJ1-558", "AJ1-559", "AJ1-560", "AJ1-561", "AJ1-562", "AJ1-563", "AJ1-564",
- "AJ1-565", "AJ1-566", "AJ1-567", "AJ1-568", "AJ1-569", "AJ1-570", "AJ1-571",
- "AJ1-572", "AJ1-573", "AJ1-574", "AJ1-575", "AJ1-576", "AJ1-577", "AJ1-578",
- "AJ1-579", "AJ1-580", "AJ1-581", "AJ1-582", "AJ1-583", "AJ1-584", "AJ1-585",
- "AJ1-586", "AJ1-587", "AJ1-588", "AJ1-589", "AJ1-590", "AJ1-591", "AJ1-592",
+ "AJ1-516", "AJ1-517", "AJ1-518", "AJ1-519", "AJ1-520", "AJ1-521", "AJ1-522",
+ "AJ1-523", "AJ1-524", "AJ1-525", "AJ1-526", "AJ1-527", "AJ1-528", "AJ1-529",
+ "AJ1-530", "AJ1-531", "AJ1-532", "AJ1-533", "AJ1-534", "AJ1-535", "AJ1-536",
+ "AJ1-537", "AJ1-538", "AJ1-539", "AJ1-540", "AJ1-541", "AJ1-542", "AJ1-543",
+ "AJ1-544", "AJ1-545", "AJ1-546", "AJ1-547", "AJ1-548", "AJ1-549", "AJ1-550",
+ "AJ1-551", "AJ1-552", "AJ1-553", "AJ1-554", "AJ1-555", "AJ1-556", "AJ1-557",
+ "AJ1-558", "AJ1-559", "AJ1-560", "AJ1-561", "AJ1-562", "AJ1-563", "AJ1-564",
+ "AJ1-565", "AJ1-566", "AJ1-567", "AJ1-568", "AJ1-569", "AJ1-570", "AJ1-571",
+ "AJ1-572", "AJ1-573", "AJ1-574", "AJ1-575", "AJ1-576", "AJ1-577", "AJ1-578",
+ "AJ1-579", "AJ1-580", "AJ1-581", "AJ1-582", "AJ1-583", "AJ1-584", "AJ1-585",
+ "AJ1-586", "AJ1-587", "AJ1-588", "AJ1-589", "AJ1-590", "AJ1-591", "AJ1-592",
"AJ1-593", "AJ1-594", "AJ1-595", "AJ1-596", "AJ1-597", "AJ1-598",
},
align = 'left', left = 0.0, down = 0.0,
- width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
+ width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
glue = {
[1] = { 0.5 , 0.0, 0.5, 0, 1 },
[2] = {0, 0, 0},
@@ -192,7 +192,7 @@ luatexja.jfont.define_jfm {
'┨', '┩', '┪', '┫', '┬', '┭', '┮', '┯',
'┰', '┱', '┲', '┳', '┴', '┵', '┶', '┷',
'┸', '┹', '┺', '┻', '┼', '┽', '┾', '┿',
- '╀', '╁', '╂', '╃', '╄', '╅', '╆', '╇',
+ '╀', '╁', '╂', '╃', '╄', '╅', '╆', '╇',
'╈', '╉', '╊', '╋', '╌', '╍', '╎', '╏',
'═', '║', '╒', '╓', '╔', '╕', '╖', '╗',
'╘', '╙', '╚', '╛', '╜', '╝', '╞', '╟',
@@ -216,6 +216,7 @@ luatexja.jfont.define_jfm {
}
},
+
[99] = { -- box末尾
chars = {'boxbdd', 'parbdd'},
glue = {
diff --git a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua
new file mode 100644
index 00000000000..179ad55faf4
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua
@@ -0,0 +1,226 @@
+-- -*- coding: utf-8 -*-
+-- jfm-ujisv.lua: LuaTeX-ja 標準 JFM(縦組み用)
+-- based on upnmlminr-h.tfm (a metric in UTF/OTF package used by upTeX).
+
+-- JIS X 4051:2004 では,行末の句読点や中点はベタなのでそれに従う
+-- kanjiskip: 0pt plus .25zw minus 0pt
+-- xkanjiskip: .25zw plus .25zw (or .0833zw) minus .125zw
+
+
+luatexja.jfont.define_jfm {
+ dir = 'tate',
+ zw = 1.0, zh = 1.0,
+ kanjiskip = {0.0, 0.25, 0},
+ xkanjiskip = {0.25, 0.25, .125},
+ [0] = {
+ align = 'middle', left = 0.00, down = 0.00,
+ width = 1.0, height = 0.50, depth = 0.50, italic=0.0,
+ glue = {
+ -- [index] = { width, stretch, shrink, [priority, [ratio]] }
+ [1] = { 0.5 , 0.0, 0.5, 0, 1 },
+ [2] = {0, 0, 0},
+ [3] = { 0.25, 0.0, 0.25, 1, 1 },
+ [4] = {0, 0, 0},
+ [6] = {0, 0, 0},
+ [7] = {0, 0, 0},
+ [8] = {0, 0, 0},
+ [9] = {0, 0, 0},
+ }
+ },
+
+ [1] = { -- 開き括弧類
+ chars = {
+ '‘', '“', '〈', '《', '「', '『', '【', '〔', '〖',
+ '〘', '〝', '(', '[', '{', '⦅'
+ },
+ align = 'right', left = 0.0, down = 0.0,
+ width = 0.5, height = 0.50, depth = 0.50, italic=0.0,
+ glue = {
+-- 3 のみ四分,あとは0
+ [0] = {0, 0, 0},
+ [1] = {0, 0, 0},
+ [2] = {0, 0, 0},
+ [3] = { 0.25, 0.0, 0.25, 1 },
+ [4] = {0, 0, 0},
+ [5] = {0, 0, 0},
+ [6] = {0, 0, 0},
+ [7] = {0, 0, 0},
+ [8] = {0, 0, 0},
+ [9] = {0, 0, 0},
+ }
+ },
+
+ [2] = { -- 閉じ括弧類
+ chars = {
+ '’', '”', '〉', '》', '」', '』', '】', '〕',
+ '〗', '〙', '〟', ')', ']', '}', '⦆', '、', ','
+ },
+ align = 'left', left = 0.0, down = 0.0,
+ width = 0.5, height = 0.50, depth = 0.50, italic=0.0,
+ glue = {
+-- 3 は四分, 2, 4, 9 は0, あとは0.5
+ [0] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [1] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [2] = {0, 0, 0},
+ [3] = { 0.25, 0.0, 0.25, 1, 1 },
+ [4] = {0, 0, 0},
+ [5] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [6] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [7] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [8] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [9] = {0, 0, 0},
+ }
+ },
+
+ [3] = { -- 中点類
+ chars = {'・', ':', ';'},
+ align = 'middle', left = 0.0, down = 0.0,
+ width = 0.5, height = 0.50, depth = 0.50, italic=0.0,
+ --end_stretch = 0.25,
+ glue = {
+-- 3 のみ 0.5,あとは0.25
+ [0] = { 0.25, 0.0, 0.25, 1, 1 },
+ [1] = { 0.25, 0.0, 0.25, 1, 1 },
+ [2] = { 0.25, 0.0, 0.25, 1, 1 },
+ [3] = { 0.5 , 0.0, 0.25 , 1, 0 },
+ [4] = { 0.25, 0.0, 0.25, 1, 1 },
+ [5] = { 0.25, 0.0, 0.25, 1, 1 },
+ [6] = { 0.25, 0.0, 0.25, 1, 1 },
+ [7] = { 0.25, 0.0, 0.25, 1, 1 },
+ [8] = { 0.25, 0.0, 0.25, 1, 1 },
+ [9] = { 0.25, 0.0, 0.25, 1, 1 },
+ }
+ },
+
+ [4] = { -- 句点類
+ chars = {'。', '.'},
+ align = 'left', left = 0.0, down = 0.0,
+ width = 0.5, height = 0.50, depth = 0.50, italic=0.0,
+ glue = {
+-- 3 は.75, 2, 4 は0, あとは0.5
+ [0] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [1] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [3] = { 0.75, 0.0, 0.25, 1, -1/3 },
+ [5] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [6] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [7] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [8] = { 0.5 , 0.0, 0.5, 0, -1 },
+ [9] = { 0.5 , 0.0, 0.5, 0, -1 },
+ }
+ },
+
+ [5] = { -- ダッシュ
+ chars = { '—', '―', '‥', '…', '〳', '〴', '〵', },
+ align = 'left', left = 0.0, down = 0.0,
+ width = 1.0, height = 0.50, depth = 0.50, italic=0.0,
+ glue = {
+ [1] = { 0.5 , 0.0, 0.5, 0, 1 },
+ [2] = {0, 0, 0},
+ [3] = { 0.25, 0.0, 0.25, 1, 1 },
+ [4] = {0, 0, 0},
+ [6] = {0, 0, 0},
+ [9] = {0, 0, 0},
+ },
+ kern = {
+ [5] = 0.0
+ }
+ },
+
+ [6] = { -- 感嘆符・疑問符
+ chars = { '?', '!', '‼', '⁇', '⁈', '⁉', },
+ align = 'left', left = 0.0, down = 0.0,
+ width = 1.0, height = 0.50, depth = 0.50, italic=0.0,
+ glue = {
+ [0] = { 1.0 , 0.0, 0.5, 0, 1 },
+ [1] = { 0.5 , 0.0, 0.5, 0, 1 },
+ [2] = {0, 0, 0},
+ [3] = { 0.75, 0.0, 0.25, 1, 1 },
+ [4] = {0, 0, 0},
+ [6] = {0, 0, 0},
+ [7] = { 0.5 , 0.0, 0.5, 0, 1 },
+ [8] = {0, 0, 0},
+ [9] = {0, 0, 0},
+ },
+ kern = {
+ [5] = 0.0
+ }
+ },
+
+ [7] = { -- 半角カナ
+ chars = {
+ '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ',
+ 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ',
+ 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ',
+ 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト',
+ 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ',
+ 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ',
+ 'ラ', 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ン', '゙', '゚',
+ "AJ1-516", "AJ1-517", "AJ1-518", "AJ1-519", "AJ1-520", "AJ1-521", "AJ1-522",
+ "AJ1-523", "AJ1-524", "AJ1-525", "AJ1-526", "AJ1-527", "AJ1-528", "AJ1-529",
+ "AJ1-530", "AJ1-531", "AJ1-532", "AJ1-533", "AJ1-534", "AJ1-535", "AJ1-536",
+ "AJ1-537", "AJ1-538", "AJ1-539", "AJ1-540", "AJ1-541", "AJ1-542", "AJ1-543",
+ "AJ1-544", "AJ1-545", "AJ1-546", "AJ1-547", "AJ1-548", "AJ1-549", "AJ1-550",
+ "AJ1-551", "AJ1-552", "AJ1-553", "AJ1-554", "AJ1-555", "AJ1-556", "AJ1-557",
+ "AJ1-558", "AJ1-559", "AJ1-560", "AJ1-561", "AJ1-562", "AJ1-563", "AJ1-564",
+ "AJ1-565", "AJ1-566", "AJ1-567", "AJ1-568", "AJ1-569", "AJ1-570", "AJ1-571",
+ "AJ1-572", "AJ1-573", "AJ1-574", "AJ1-575", "AJ1-576", "AJ1-577", "AJ1-578",
+ "AJ1-579", "AJ1-580", "AJ1-581", "AJ1-582", "AJ1-583", "AJ1-584", "AJ1-585",
+ "AJ1-586", "AJ1-587", "AJ1-588", "AJ1-589", "AJ1-590", "AJ1-591", "AJ1-592",
+ "AJ1-593", "AJ1-594", "AJ1-595", "AJ1-596", "AJ1-597", "AJ1-598",
+ },
+ align = 'left', left = 0.0, down = 0.0,
+ width = 0.5, height = 0.5, depth = 0.5, italic=0.0,
+ glue = {
+ [1] = { 0.5 , 0.0, 0.5, 0, 1 },
+ [2] = {0, 0, 0},
+ [3] = { 0.25, 0.0, 0.25, 1, 1 },
+ [4] = {0, 0, 0},
+ [6] = {0, 0, 0},
+ [7] = {0, 0, 0},
+ [8] = {0, 0, 0},
+ [9] = {0, 0, 0},
+ }
+ },
+
+ [8] = { -- 罫線類.
+ chars = {
+ '─', '━', '│', '┃', '┄', '┅', '┆', '┇',
+ '┈', '┉', '┊', '┋', '┌', '┍', '┎', '┏',
+ '┐', '┑', '┒', '┓', '└', '┕', '┖', '┗',
+ '┘', '┙', '┚', '┛', '├', '┝', '┞', '┟',
+ '┠', '┡', '┢', '┣', '┤', '┥', '┦', '┧',
+ '┨', '┩', '┪', '┫', '┬', '┭', '┮', '┯',
+ '┰', '┱', '┲', '┳', '┴', '┵', '┶', '┷',
+ '┸', '┹', '┺', '┻', '┼', '┽', '┾', '┿',
+ '╀', '╁', '╂', '╃', '╄', '╅', '╆', '╇',
+ '╈', '╉', '╊', '╋', '╌', '╍', '╎', '╏',
+ '═', '║', '╒', '╓', '╔', '╕', '╖', '╗',
+ '╘', '╙', '╚', '╛', '╜', '╝', '╞', '╟',
+ '╠', '╡', '╢', '╣', '╤', '╥', '╦', '╧',
+ '╨', '╩', '╪', '╫', '╬', '╭', '╮', '╯',
+ '╰', '╱', '╲', '╳', '╴', '╵', '╶', '╷',
+ '╸', '╹', '╺', '╻', '╼', '╽', '╾', '╿',
+ },
+ align = 'left', left = 0.0, down = 0.0,
+ width = 1.0, height = 0.50, depth = 0.50, italic=0.0,
+ glue = {
+ [1] = { 0.5 , 0.0, 0.5, 0, 1 },
+ [2] = {0, 0, 0},
+ [3] = { 0.25, 0.0, 0.25, 1, 1 },
+ [4] = {0, 0, 0},
+ [6] = {0, 0, 0},
+ [9] = {0, 0, 0},
+ },
+ kern = {
+ [8] = 0.0
+ }
+ },
+
+ [99] = { -- box末尾
+ chars = {'boxbdd', 'parbdd'},
+ glue = {
+ [3] = { 0.25, 0.0, 0.25, 1 },
+ }
+ },
+
+}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty b/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty
new file mode 100644
index 00000000000..5cf1849b92b
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty
@@ -0,0 +1,761 @@
+%
+% lltjext.sty: derived from plext.sty in pLaTeX.
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lltjext}
+ [2014/09/06 v1.2-ltj-3 Macros for vertical writing]
+\RequirePackage{luatexja}
+
+\let\ltj@lltjext@orig@tabular=\tabular
+\let\ltj@lltjext@orig@array=\array
+
+%%% array and tabular
+\def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz
+ \let\@classiv\@arrayclassiv
+ \let\\\@arraycr\let\@halignto\@empty\X@tabarray}
+\def\tabular{\let\@halignto\@empty\X@tabular}
+\@namedef{tabular*}{\@ifnextchar<%>
+ {\@stabular}{\@stabular<Z>}}
+\def\X@tabarray{\@ifnextchar<%>
+ {\p@tabarray}{\p@tabarray<Z>}}
+\def\X@tabular{\@ifnextchar<%>
+ {\p@tabular}{\p@tabular<Z>}}
+\def\@stabular<#1>#2{\def\@halignto{to#2}\p@tabular<#1>}
+\def\p@tabular<#1>{\leavevmode \hbox \bgroup $\let\@acol\@tabacol
+ \let\@classz\@tabclassz
+ \let\@classiv\@tabclassiv \let\\\@tabularcr\p@tabarray<#1>}
+\def\p@tabarray<#1>{\m@th\@ifnextchar[%]
+ {\p@array<#1>}{\p@array<#1>[c]}}
+
+\def\p@array<#1>[#2]#3{%
+ \let\box@dir\relax
+ \if #1z\relax
+ \ifnum\ltjgetparameter{direction}=3\relax
+ \let\box@dir\utod\@tempcnta=\zstrutbox
+ \fi
+ \else
+ \if #1y\relax
+ \let\box@dir\yoko\@tempcnta=\strutbox
+ \else\if #1t\relax
+ \let\box@dir\tate\@tempcnta=\tstrutbox
+ \else\if #1d\relax
+ \let\box@dir\dtou\@tempcnta=\dstrutbox
+ \else\if #1u\relax
+ \let\box@dir\utod\@tempcnta=\zstrutbox
+ \fi\fi\fi\fi
+ \fi
+ \ifx\box@dir\relax
+ \ifcase\ltjgetparameter{direction}
+ \or \let\box@dir\dtou\@tempcnta=\dstrutbox% dtou
+ \or\or\let\box@dir\tate\@tempcnta=\tstrutbox% tate
+ \or \let\box@dir\yoko\@tempcnta=\strutbox% yoko
+ \else \let\box@dir\utod\@tempcnta=\zstrutbox% utod
+ \fi
+ \fi
+ \setbox\@arstrutbox\hbox{%
+ \box@dir
+ \vrule\@height\arraystretch\ltjgetht\@tempcnta
+ \@depth\arraystretch\ltjgetdp\@tempcnta \@width\z@}%
+ \fork@array@option<#1>[#2]%
+ \@mkpream{#3}\edef\@preamble{\ialign \noexpand\@halignto
+ \bgroup\@arstrut \@preamble \tabskip\z@skip \cr}%
+ \let\tabularnewline\\%
+ \@begin@alignbox\bgroup\box@dir\adjustbaseline
+ \let\par\@empty
+ \let\@sharp##\let\protect\relax
+ \lineskip\z@skip\baselineskip\z@skip\@preamble}
+\def\endarray{\crcr\egroup\egroup\@end@alignbox}
+\def\endtabular{\endarray$\egroup}
+\expandafter \let \csname endtabular*\endcsname = \endtabular
+\def\fork@array@option<#1>[#2]{%
+\ifnum\ltjgetparameter{direction}=4 % yoko
+ \ifx\box@dir\yoko
+ \if #2t\relax
+ \let\@begin@alignbox\vtop
+ \let\@end@alignbox\relax
+ \else\if #2b\relax
+ \let\@begin@alignbox\vbox
+ \let\@end@alignbox\relax
+ \else
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi
+ \else
+ \if #2t\relax
+ \def\@begin@alignbox{\vtop\bgroup\kern\z@\vbox}%
+ \def\@end@alignbox{\egroup}%
+ \else\if #2b\relax
+ \let\@begin@alignbox\vbox
+ \let\@end@alignbox\relax
+ \else
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi
+ \fi
+\else\ifnum\ltjgetparameter{direction}=1 % dtou
+ \ifx\box@dir\yoko
+ \if #2t\relax
+ \def\@begin@alignbox{\vtop\bgroup\kern\z@\vbox}%
+ \def\@end@alignbox{\egroup}%
+ \else\if #2b\relax
+ \let\@begin@alignbox\vbox
+ \let\@end@alignbox\relax
+ \else
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi
+ \else\ifx\box@dir\dtou
+ \if #2t\relax
+ \let\@begin@alignbox\vtop
+ \let\@end@alignbox\relax
+ \else\if #2b\relax
+ \let\@begin@alignbox\vbox
+ \let\@end@alignbox\relax
+ \else
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi
+ \else % 180 度回転→vtop, vbox を入れ替える
+ \if #2t\relax
+ \let\@begin@alignbox\vbox %%% !!!
+ \let\@end@alignbox\relax
+ \else\if #2b\relax
+ \let\@begin@alignbox\vtop %%% !!!
+ \let\@end@alignbox\relax
+ \else
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi
+ \fi\fi
+\else % tate, utod
+ \ifx\box@dir\yoko
+ \if #2t\relax
+ \def\@begin@alignbox{\vtop\bgroup\kern\z@\vbox}%
+ \def\@end@alignbox{\egroup}%
+ \else\if #2b\relax
+ \def\@begin@alignbox{\vbox\bgroup\vbox}%
+ \def\@end@alignbox{\kern\z@\egroup}%
+ \else
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi
+ \else\ifx\box@dir\dtou % 180 度回転→vtop, vbox を入れ替える
+ \if #2t\relax
+ \let\@begin@alignbox\vbox %%% !!!
+ \let\@end@alignbox\relax
+ \else\if #2b\relax
+ \let\@begin@alignbox\vtop %%% !!!
+ \let\@end@alignbox\relax
+ \else
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi
+ \else
+ \if #2t\relax
+ \let\@begin@alignbox\vtop
+ \let\@end@alignbox\relax
+ \else\if #2b\relax
+ \let\@begin@alignbox\vbox
+ \let\@end@alignbox\relax
+ \else
+ \let\@begin@alignbox\vcenter
+ \let\@end@alignbox\relax
+ \fi\fi
+ \fi\fi
+\fi\fi%
+}
+
+%%% caption
+\newbox\@floatbox
+\newdimen\floatwidth
+\newdimen\floatheight
+\newdimen\floatruletick \floatruletick=0.4pt
+\newdimen\captionfloatsep \captionfloatsep=10pt
+\def\caption@dir{Z}
+\let\captiondir\relax
+\newdimen\captionwidth \captionwidth\z@
+\def\caption@posa{Z}
+\def\caption@posb{Z}
+\newbox\@captionbox
+\def\captionfontsetup{\normalfont\normalsize}
+\def\layoutfloat{\@ifnextchar(%)
+ {\X@layoutfloat}{\X@layoutfloat(-5\p@,-5\p@)}}
+\def\X@layoutfloat(#1,#2){\@ifnextchar[%]
+ {\@layoutfloat(#1,#2)}{\@layoutfloat(#1,#2)[c]}}
+\long\def\@layoutfloat(#1,#2)[#3]#4{%
+ \setbox\z@\hbox{#4}%
+ \floatwidth=#1 \floatheight=#2 \edef\float@pos{#3}%
+ \ifdim\floatwidth<\z@
+ \floatwidth\ltjgetwd\z@\floatruletick\z@
+ \fi
+ \ifdim\floatheight<\z@
+ \floatheight\ltjgetht\z@\advance\floatheight\ltjgetdp\z@\relax
+ \floatruletick\z@
+ \fi
+ \setbox\@floatbox\vbox to\floatheight{\offinterlineskip
+ \hrule width\floatwidth height\floatruletick depth\z@
+ \vss\hbox to\floatwidth{%
+ \vrule width\floatruletick height\floatheight depth\z@
+ \hss\vbox to\floatheight{\hsize\floatwidth\vss#4\vss}\hss
+ \vrule width\floatruletick height\floatheight depth\z@
+ }\hrule width\floatwidth height\floatruletick depth\z@}}
+\def\DeclareLayoutCaption#1<#2>(#3)[#4#5]{%
+ \expandafter
+ \ifx\csname #1@layoutcaption\endcsname\relax \else
+ \@latex@info{Redeclaring capiton layout setting of '#1'}%
+ \fi
+ \expandafter
+ \gdef\csname #1@layoutcaption\endcsname{%
+ \if Z\caption@dir\def\caption@dir{#2}\fi
+ \ifdim\captionwidth=\z@ \captionwidth=#3\relax\fi
+ \if Z\caption@posa\def\caption@posa{#4}\fi
+ \if Z\caption@posb\def\caption@posb{#5}\fi}}
+\@onlypreamble\DeclareLayoutCaption
+\DeclareLayoutCaption{figure}<y>(.8\linewidth)[cd]
+\DeclareLayoutCaption{table}<y>(.8\linewidth)[cu]
+\def\layoutcaption{\def\caption@dir{Z}\captionwidth\z@
+ \def\caption@posa{Z}\def\caption@posb{Z}%
+ \@ifnextchar<\X@layoutcaption{%
+ \@ifnextchar(\@ilayoutcaption{%
+ \@ifnextchar[\@iilayoutcaption\relax}}}
+\def\X@layoutcaption<#1>{\def\caption@dir{#1}%
+ \@ifnextchar(\@ilayoutcaption{%
+ \@ifnextchar[\@iilayoutcaption\relax}}
+\def\@ilayoutcaption(#1){\setlength\captionwidth{#1}%
+ \@ifnextchar[{\@iilayoutcaption}{\relax}}
+\def\@iilayoutcaption[#1#2]{%
+ \def\caption@posa{#1}\def\caption@posb{#2}}
+\def\pcaption{\refstepcounter\@captype \@dblarg{\@pcaption\@captype}}
+\long\def\@pcaption#1[#2]#3{%
+ \addcontentsline{\csname ext@#1\endcsname}{#1}{%
+ \protect\numberline{\csname the#1\endcsname}{\ignorespaces#2}}%
+ \ifvoid\@floatbox
+ \latex@error{Use with `\protect\layoutfloat'.}\@eha
+ \fi
+ \make@pcaptionbox{#3}%
+ \@pboxswfalse
+ \setbox\@tempboxa\vbox{\hbox to\hsize{\if l\float@pos\else\hss\fi
+ \if l\caption@posb\box\@captionbox\kern\captionfloatsep\fi
+ \if t\caption@posa\vtop
+ \else\if b\caption@posa\vbox
+ \else\ifmmode\vcenter \else\@pboxswtrue $\vcenter \fi\fi\fi
+ {\if u\caption@posb\box\@captionbox\kern\captionfloatsep\fi
+ \unvbox\@floatbox
+ \if d\caption@posb\kern\captionfloatsep\box\@captionbox\fi}%
+ \if r\caption@posb\kern\captionfloatsep\box\@captionbox\fi
+ \if@pboxsw \m@th$\fi \if r\float@pos\else\hss\fi}}%
+ \par\vskip.25\baselineskip
+ \box\@tempboxa}
+\def\make@pcaptionbox#1{%
+ \expandafter
+ \ifx\csname\@captype @layoutcaption\endcsname\relax
+ \@latex@warning{Default caption layout of `\@captype' unknown.}%
+ \def\caption@dir{Z}\captionwidth\z@
+ \def\caption@posa{Z}\def\caption@posb{Z}%
+ \else
+ \csname \@captype @layoutcaption\endcsname
+ \fi
+ \@tempswafalse
+ % tempswa\hline 基本組の組方向とキャプションの組方向が直交するか?
+ \if y\caption@dir \let\captiondir\yoko
+ \ifodd\ltjgetparameter{direction}\relax\@tempswatrue\fi
+ \else\if z\caption@dir \let\captiondir\relax
+ \ifnum\ltjgetparameter{direction}=3\relax\let\captiondir\utod\fi
+ \else\if d\caption@dir \let\captiondir\dtou
+ \ifodd\ltjgetparameter{direction}\else\@tempswatrue\fi
+ \else\if u\caption@dir \let\captiondir\utod
+ \ifodd\ltjgetparameter{direction}\else\@tempswatrue\fi
+ \else\if t\caption@dir \let\captiondir\tate
+ \ifodd\ltjgetparameter{direction}\else\@tempswatrue\fi
+ \fi\fi\fi\fi\fi
+ \setbox0\hbox{\hbox{\captiondir
+ \captionfontsetup\parindent\z@\inhibitglue
+ \csname fnum@\@captype\endcsname  #1}}%"
+ \if@tempswa\@tempdima\ltjgetht0\relax\else\@tempdima\ltjgetwd0\relax\fi
+ \ifdim\@tempdima>\captionwidth \@tempdima\captionwidth \fi
+ \@pboxswfalse
+ \setbox0\hbox{%
+ \if u\caption@posb\vbox
+ \else\if d\caption@posb\vbox
+ \else\if t\caption@posa\vtop
+ \else\if b\caption@posa\vbox
+ \else\ifmmode\vcenter\else\@pboxswtrue $\vcenter\fi
+ \fi\fi\fi\fi
+ {\hsize\@tempdima\kern\z@
+ \vbox{\captiondir\hsize\@tempdima
+ \captionfontsetup\parindent\z@\inhibitglue
+ \csname fnum@\@captype\endcsname  #1}\kern\z@
+ }\if@pboxsw \m@th$\fi}%
+ \let\to@captionboxwidth\relax
+ \if l\caption@posb \else\if r\caption@posb\else
+ \def\to@captionboxwidth{to\floatwidth}\fi\fi
+ \setbox\@captionbox\hbox\to@captionboxwidth{%
+ \if t\caption@posa\else\hss\fi
+ \unhbox0\relax
+ \if b\caption@posa\else\hss\fi}}
+
+%%% minipage and parbox
+\def\minipage{\@ifnextchar<%>
+ {\X@minipage}{\X@minipage<Z>}}
+\def\X@minipage<#1>{\@ifnextchar[%]
+ {\@iminipage<#1>}{\@iiiminipage<#1>{c}\@empty[s]}}
+\def\@iminipage<#1>[#2]{\@ifnextchar[%]
+ {\@iiminipage<#1>{#2}}{\@iiiminipage<#1>{#2}\@empty[s]}}
+\def\@iiminipage<#1>#2[#3]{\@ifnextchar[%]
+ {\@iiiminipage<#1>{#2}{#3}}{\@iiiminipage<#1>{#2}{#3}[#2]}}
+\def\@iiiminipage<#1>#2#3[#4]#5{%
+ \leavevmode\bgroup
+ \setlength\@tempdima{#5}%
+ \def\@mpargs{<#1>{#2}{#3}[#4]{#5}}%
+ \let\box@dir\relax
+ \if #1z\relax
+ \ifnum\ltjgetparameter{direction}=3\relax
+ \let\box@dir\utod
+ \fi
+ \else
+ \if #1y\relax \let\box@dir\yoko
+ \else\if #1t\relax\let\box@dir\tate
+ \else\if #1d\relax\let\box@dir\dtou
+ \else\if #1u\relax\let\box@dir\utod
+ \fi\fi\fi\fi
+ \fi
+ \ifx\box@dir\relax
+ \ifcase\ltjgetparameter{direction}\relax
+ \or \let\box@dir\dtou
+ \or\or\let\box@dir\tate
+ \or \let\box@dir\yoko
+ \else \let\box@dir\utod
+ \fi
+ \fi
+ \setbox\@tempboxa\vbox\bgroup\box@dir
+ \adjustbaseline
+ \color@begingroup
+ \hsize\@tempdima
+ \textwidth\hsize \columnwidth\hsize
+ \@parboxrestore
+ \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}%
+ \c@mpfootnote\z@
+ \let\@footnotetext\@mpfootnotetext
+ \let\@listdepth\@mplistdepth \@mplistdepth\z@
+ \@minipagerestore
+ \global\@minipagetrue %% \global added 24 May 89
+ \everypar{\global\@minipagefalse\everypar{}}}
+\def\endminipage{%
+ \par
+ \unskip
+ \ifvoid\@mpfootins\else
+ \vskip\skip\@mpfootins
+ \normalcolor
+ \footnoterule
+ \unvbox\@mpfootins
+ \fi
+ \global\@minipagefalse %% added 24 May 89
+ \color@endgroup
+ \egroup
+ \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}\egroup}
+\def\parbox{\@ifnextchar<%>
+ {\X@parbox}{\X@parbox<Z>}}
+\def\X@parbox<#1>{\@ifnextchar[%]
+ {\@iparbox<#1>}{\@iiiparbox<#1>{c}\@empty[s]}}
+\def\@iparbox<#1>[#2]{\@ifnextchar[%]
+ {\@iiparbox<#1>{#2}}{\@iiiparbox<#1>{#2}\@empty[s]}}
+\def\@iiparbox<#1>#2[#3]{\@ifnextchar[%]%
+ {\@iiiparbox<#1>{#2}{#3}}{\@iiiparbox<#1>{#2}{#3}[#2]}}
+\long\def\@iiiparbox<#1>#2#3[#4]#5#6{%
+ \leavevmode\bgroup
+ \setlength\@tempdima{#5}%
+ \fork@parbox@option<#1>[#2]%
+ \@begin@tempboxa\vbox{\box@dir
+ \hsize\@tempdima\@parboxrestore\adjustbaseline#6\endgraf}%
+ \ifx\@empty#3\relax\else
+ \setlength\@tempdimb{#3}%
+ \def\@parboxto{to\@tempdimb}%
+ \fi
+ \@begin@parbox\@parboxto{\box@dir\adjustbaseline
+ \let\hss\vss\let\unhbox\unvbox
+ \csname bm@#4\endcsname}\@end@parbox
+ \@end@tempboxa\egroup}
+\def\fork@parbox@option<#1>[#2]{%
+ \let\box@dir\relax
+ \if #1z\relax
+ \ifnum\ltjgetparameter{direction}=3\relax
+ \let\box@dir\utod
+ \fi
+ \else
+ \if #1y\relax \let\box@dir\yoko
+ \else\if #1t\relax\let\box@dir\tate
+ \else\if #1d\relax\let\box@dir\dtou
+ \else\if #1u\relax\let\box@dir\utod
+ \fi\fi\fi\fi
+ \fi
+ \ifx\box@dir\relax
+ \ifcase\ltjgetparameter{direction}\relax
+ \or \let\box@dir\dtou
+ \or\or\let\box@dir\tate
+ \or \let\box@dir\yoko
+ \else \let\box@dir\utod
+ \fi
+ \fi
+%%% now almost same as \fork@array@option
+\ifnum\ltjgetparameter{direction}=4 % yoko
+ \ifx\box@dir\yoko
+ \if #2t\relax
+ \let\@begin@parbox\vtop
+ \let\@end@parbox\relax
+ \else\if #2b\relax
+ \let\@begin@parbox\vbox
+ \let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{$\vcenter}%
+ \def\@end@parbox{\m@th$}%
+ \fi\fi
+ \else
+ \if #2t\relax
+ \def\@begin@parbox{\vtop\bgroup\kern\z@\vbox}%
+ \def\@end@parbox{\egroup}%
+ \else\if #2b\relax
+ \let\@begin@parbox\vbox
+ \let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{$\vcenter}%
+ \def\@end@parbox{\m@th$}%
+ \fi\fi
+ \fi
+\else\ifnum\ltjgetparameter{direction}=1 % dtou
+ \ifx\box@dir\yoko
+ \if #2t\relax
+ \def\@begin@parbox{\vtop\bgroup\kern\z@\vbox}
+ \def\@end@parbox{\egroup}
+ \else\if #2b\relax
+ \let\@begin@parbox\vbox
+ \let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{$\vcenter}%
+ \def\@end@parbox{\m@th$}%
+ \fi\fi
+ \else\ifx\box@dir\dtou
+ \if #2t\relax
+ \let\@begin@parbox\vtop
+ \let\@end@parbox\relax
+ \else\if #2b\relax
+ \let\@begin@parbox\vbox
+ \let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{$\vcenter}%
+ \def\@end@parbox{\m@th$}%
+ \fi\fi
+ \else % 180 度回転→vtop, vbox を入れ替える
+ \if #2t\relax
+ \let\@begin@parbox\vbox %%% !!!
+ \let\@end@parbox\relax
+ \else\if #2b\relax
+ \let\@begin@parbox\vtop %%% !!!
+ \let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{$\vcenter}%
+ \def\@end@parbox{\m@th$}%
+ \fi\fi
+ \fi\fi
+\else % tate, utod
+ \ifx\box@dir\yoko
+ \if #2t\relax
+ \def\@begin@parbox{\vtop\bgroup\kern\z@\vbox}%
+ \def\@end@parbox{\egroup}%
+ \else\if #2b\relax
+ \def\@begin@parbox{\vbox\bgroup\vbox}%
+ \def\@end@parbox{\kern\z@\egroup}%
+ \else
+ \def\@begin@parbox{$\vcenter}%
+ \def\@end@parbox{\m@th$}%
+ \fi\fi
+ \else\ifx\box@dir\dtou % 180 度回転→vtop, vbox を入れ替える
+ \if #2t\relax
+ \let\@begin@parbox\vbox %%% !!!
+ \let\@end@parbox\relax
+ \else\if #2b\relax
+ \let\@begin@parbox\vtop %%% !!!
+ \let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{$\vcenter}%
+ \def\@end@parbox{\m@th$}%
+ \fi\fi
+ \else
+ \if #2t\relax
+ \let\@begin@parbox\vtop
+ \let\@end@parbox\relax
+ \else\if #2b\relax
+ \let\@begin@parbox\vbox
+ \let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{$\vcenter}%
+ \def\@end@parbox{\m@th$}%
+ \fi\fi
+ \fi\fi
+\fi\fi%
+}
+
+%%% pbox
+\def\pbox{\leavevmode\@ifnextchar<{\X@makePbox}{\X@makePbox<Z>}}
+\def\X@makePbox<#1>{%
+ \@ifnextchar[{\@imakePbox<#1>}{\@imakePbox<#1>[-5\p@]}}
+\def\@imakePbox<#1>[#2]{\@ifnextchar[%]
+ {\@iimakePbox<#1>{#2}}{\@iimakePbox<#1>{#2}[c]}}
+\def\@iimakePbox<#1>#2[#3]#4{%
+ \bgroup\let\box@dir\relax
+ \if #1z\relax
+ \ifnum\ltjgetparameter{direction}=3 \relax
+ \let\box@dir\utod
+ \fi
+ \else
+ \if #1y\relax \let\box@dir\yoko
+ \else\if #1t\relax\let\box@dir\tate
+ \else\if #1d\relax\let\box@dir\dtou
+ \else\if #1u\relax\let\box@dir\utod
+ \fi\fi\fi\fi
+ \fi
+ \ifx\box@dir\relax
+ \ifcase\ltjgetparameter{direction}
+ \or \let\box@dir\dtou
+ \or\or\let\box@dir\tate
+ \or \let\box@dir\yoko
+ \else \let\box@dir\utod
+ \fi
+ \fi
+ \ifdim #2 <\z@ \hbox{\box@dir#4}\else
+ \hbox to#2{\box@dir
+ \if #3l\relax\else\hss\fi
+ #4\relax
+ \if #3r\relax\else\hss\fi}\fi\egroup}
+
+%%% picture
+\def\picture{\@ifnextchar<%>
+ {\X@picture}{\X@picture<Z>}}
+\def\X@picture<#1>(#2,#3){\@ifnextchar(%)
+ {\@@picture<#1>(#2,#3)}{\@@picture<#1>(#2,#3)(0,0)}}
+\newdimen\@picwd
+\def\ltj@@pic@reset@blshift{%
+ \ltj@yablshift\z@\ltj@ykblshift\z@
+ \ltj@tablshift\z@\ltj@tkblshift\z@
+}%
+\def\@@picture<#1>(#2,#3)(#4,#5){%
+ \edef\ltj@@pic@save@blshift{%
+ \noexpand\ltj@yablshift\the\ltj@yablshift\noexpand\relax
+ \noexpand\ltj@ykblshift\the\ltj@ykblshift\noexpand\relax
+ \noexpand\ltj@tablshift\the\ltj@tablshift\noexpand\relax
+ \noexpand\ltj@tkblshift\the\ltj@tkblshift\noexpand\relax
+ }%
+ \bgroup\let\box@dir\relax
+ \if #1z\relax
+ \ifnum\ltjgetparameter{direction}=3 \relax
+ \let\box@dir\utod
+ \fi
+ \else
+ \if #1y\relax \let\box@dir\yoko
+ \else\if #1t\relax\let\box@dir\tate
+ \else\if #1d\relax\let\box@dir\dtou
+ \else\if #1u\relax\let\box@dir\utod
+ \fi\fi\fi\fi
+ \fi
+ \ifx\box@dir\relax
+ \ifcase\ltjgetparameter{direction}
+ \or \let\box@dir\dtou
+ \or\or\let\box@dir\tate
+ \or \let\box@dir\yoko
+ \else \let\box@dir\utod
+ \fi
+ \fi
+ \@picwd=#2\unitlength \@picht=#3\unitlength
+ \setbox\@picbox\hbox to\@picwd\bgroup\box@dir
+ \hskip-#4\unitlength\lower#5\unitlength\hbox\bgroup
+ \ltj@@pic@reset@blshift
+ \ignorespaces}
+\def\endpicture{%
+ \egroup\hss\egroup
+ \setbox0=\hbox{\box@dir%
+ \ltjsetht\@picbox\@picht \ltjsetdp\@picbox\z@
+ }%
+ \@tempswafalse
+ \ifnum\ltjgetparameter{direction}=3 \@tempswatrue\fi
+ \ifnum\ltjgetparameter{direction}=11 \@tempswatrue\fi
+ \if@tempswa
+ \ifx\box@dir\yoko % この場合だけ垂直位置補正が必要
+ \ltjsetht\@picbox\dimexpr\ltjgetht\@picbox+\ltjgetdp\@picbox\relax
+ \ltjsetdp\@picbox\z@
+ \fi
+ \fi
+ \mbox{\box\@picbox}%
+ \egroup\ltj@@pic@save@blshift}
+\let\org@put\put
+\def\put{\ltj@@pic@reset@blshift\org@put}
+\let\org@line\line
+\def\line{\ltj@@pic@reset@blshift\org@line}
+\let\org@vector\vector
+\def\vector{\ltj@@pic@reset@blshift\org@vector}
+\let\org@dashbox\dashbox
+\def\dashbox{\ltj@@pic@reset@blshift\org@dashbox}
+\let\org@oval\oval
+\def\oval{\ltj@@pic@reset@blshift\org@oval}
+\let\org@circle\circle
+\def\circle{\ltj@@pic@reset@blshift\org@circle}
+
+%%% rensuji
+\newif\ifnot@advanceline
+\newskip\rensujiskip
+\rensujiskip=0.25\chs plus.25\zw minus.25\zw
+\DeclareRobustCommand\rensuji{%
+ \@ifstar{\not@advancelinetrue\@rensuji}{\@rensuji}}
+\def\@rensuji{\@ifnextchar[{\@@rensuji}{\@@rensuji[c]}}
+\def\@@rensuji[#1]#2{\ifnum\ltjgetparameter{direction}=4\relax%
+ \hbox{#2}\else
+ \hskip\rensujiskip
+ \ifvmode\leavevmode\fi
+ \setbox\tw@\hbox{漢}% 「あ」では仮名書体使用時がまずそう
+ \@tempdimb\ltjgetht\tw@ \advance\@tempdimb\ltjgetdp\tw@
+ \ifnot@advanceline\not@advancelinefalse\else
+ \setbox\z@\hbox{\yoko#2}%
+ \@tempdima\ltjgetht\z@ \advance\@tempdima\ltjgetdp\z@
+ \ifnum\ltjgetparameter{direction}=1\relax
+ % 周囲が dtou の場合には,高さ \ltjgetht\tw@, 深さ \ltjgetdp\tw@ のボックスを基準としている.
+ \if #1c\relax\vrule \@width \z@ \@height\dimexpr.5\@tempdima+.5\ltjgetht\tw@-.5\ltjgetdp\tw@
+ \@depth\dimexpr.5\@tempdima-.5\ltjgetht\tw@+.5\ltjgetdp\tw@
+ \else\if #1l\relax\vrule\@width \z@\@height\ltjgetht\tw@ \@depth\dimexpr\@tempdima-\ltjgetht\tw@
+ \else\vrule\@width \z@ \@height\dimexpr\@tempdima-\ltjgetdp\tw@ \@depth\ltjgetdp\tw@
+ \fi\fi
+ \else
+ % 周囲が tate, utod の場合も同じ
+ \if #1c\relax\vrule \@width \z@ \@height\dimexpr.5\@tempdima+.5\ltjgetht\tw@-.5\ltjgetdp\tw@
+ \@depth\dimexpr.5\@tempdima-.5\ltjgetht\tw@+.5\ltjgetdp\tw@
+ \else\if #1r\relax\vrule\@width \z@\@height\ltjgetht\tw@ \@depth\dimexpr\@tempdima-\ltjgetht\tw@
+ \else\vrule\@width \z@ \@height\dimexpr\@tempdima-\ltjgetdp\tw@ \@depth\ltjgetdp\tw@
+ \fi\fi
+ \fi
+ \fi
+ \ifnum\ltjgetparameter{direction}=1\relax
+ \if #1c\relax\hbox to\@tempdimb{\yoko\hss#2\hss\kern-\ltjgetdp\tw@}%
+ \else\if #1r\relax\vbox{\hbox to\@tempdimb{\yoko\hss#2\kern-\ltjgetdp\tw@}}%
+ \else\lower\ltjgetdp\tw@\vtop{\hbox to\@tempdimb{\yoko#2\hss}}%
+ \fi\fi
+ \else
+ \if #1c\relax\raise\dimexpr.5\@tempdimb-\ltjgetdp\tw@
+ \hbox to\@tempdimb{\yoko \hss#2\hss}%
+ \else\if #1r\relax\raise\dimexpr.5\@tempdimb-\ltjgetdp\tw@
+ \vbox{\hbox to\@tempdimb{\yoko\hss#2}}%
+ \else\raise\dimexpr.5\@tempdimb-\ltjgetdp\tw@
+ \vtop{\hbox to\@tempdimb{\yoko #2\hss}}%
+ \fi\fi
+ \fi
+ \hskip\rensujiskip
+\fi}
+\let\Rensuji\rensuji
+\let\prensuji\rensuji
+
+%%% kanji
+\def\Kanji#1{\expandafter\@Kanji\csname c@#1\endcsname}
+\def\@Kanji#1{\expandafter\kansuji\number #1}
+\def\kanji{\ifnum\ltjgetparameter{direction}=3 \expandafter\kansuji\fi}
+
+%%% bou
+%%%
+\def\boutenchar{\char\euc"A1A2}%"
+\def\bou#1{\ifvmode\leavevmode\fi\@bou#1\end}
+\def\@bou#1{%
+ \ifx#1\end \let\next=\relax
+ \else
+ \ifnum\ltjgetparameter{direction}=3\relax
+ \hbox to\z@{\vbox to\z@{\boxmaxdepth\maxdimen
+ \vss\moveleft0.2\zw\hbox{\yoko\boutenchar}\nointerlineskip
+ \hbox{\char\euc"A1A1}}\hss}\nobreak#1\relax
+ \else
+ \hbox to\z@{\vbox to\z@{\boxmaxdepth\maxdimen
+ \vss\moveleft-0.2\zw\hbox{\boutenchar}\nointerlineskip
+ \hbox{\char\euc"A1A1}}\hss}\nobreak#1\relax
+ \fi
+ \let\next=\@bou
+ \fi\next}
+
+%%% kasen
+\def\kasen#1{%
+ \ifnum\ltjgetparameter{direction}=3\relax
+ \setbox\z@\hbox{#1}\leavevmode\raise.7\zw
+ \hbox to\z@{\vrule\@width\wd\z@ \@depth\z@ \@height.4\p@\hss}%
+ \box\z@
+ \else\underline{#1}\fi}
+
+%%% references
+\def\@eqnnum{{\reset@font\rmfamily \normalcolor
+ \ifnum\ltjgetparameter{direction}=3 \raise.25\zh\hbox{\yoko(\theequation)}%
+ \else (\theequation)\fi}}
+\def\@thecounter#1{\noexpand\rensuji{\noexpand\arabic{#1}}}
+\def\@thmcounter#1{\noexpand\rensuji{\noexpand\arabic{#1}}}
+
+%% Compatibility with array package
+
+\def\ltj@lltjext@patch@array{%
+ \def\@startpbox##1{\bgroup
+ \box@dir\adjustbaseline%%% これを追加
+ \hsize=##1\@arrayparboxrestore
+ \everypar{%
+ \vrule \@height \ltjgetht\@arstrutbox \@width \z@
+ \everypar{}}%
+ }
+ \def\@tabarray{\@ifnextchar<\p@tabarray{\p@tabarray<Z>}}
+ \def\p@array<##1>[##2]##3{%
+ \let\box@dir\relax
+ \if ##1z\relax
+ \ifnum\ltjgetparameter{direction}=3\relax
+ \let\box@dir\utod\@tempcnta=\zstrutbox
+ \fi
+ \else
+ \if ##1y\relax
+ \let\box@dir\yoko\@tempcnta=\strutbox
+ \else\if ##1t\relax
+ \let\box@dir\tate\@tempcnta=\tstrutbox
+ \else\if ##1d\relax
+ \let\box@dir\dtou\@tempcnta=\dstrutbox
+ \else\if ##1u\relax
+ \let\box@dir\utod\@tempcnta=\zstrutbox
+ \fi\fi\fi\fi
+ \fi
+ \ifx\box@dir\relax
+ \ifcase\ltjgetparameter{direction}
+ \or \let\box@dir\dtou\@tempcnta=\tabskip \z@\tabskip \z@\dstrutbox% dtou
+ \or\or\let\box@dir\tate\@tempcnta=\tstrutbox% tate
+ \or \let\box@dir\yoko\@tempcnta=\strutbox% yoko
+ \else \let\box@dir\utod\@tempcnta=\zstrutbox% utod
+ \fi
+ \fi
+ \setbox \@arstrutbox \hbox{\box@dir\vrule
+ \@height \arraystretch
+ \dimexpr \ltjgetht\@tempcnta+\extrarowheight\relax
+ \@depth \arraystretch \ltjgetdp \@tempcnta
+ \@width \z@}%
+ \fork@array@option<##1>[##2]%
+ \begingroup
+ \@mkpream{##3}%
+ \xdef\@preamble{\ialign \noexpand \@halignto
+ \bgroup \tabskip \z@skip \@arstrut \@preamble
+ \tabskip \z@ \cr}%
+ \endgroup
+ \@arrayleft
+ \@begin@alignbox\bgroup\box@dir\adjustbaseline
+ \let\par\@empty
+ \let\@sharp####\let\protect\relax
+ \let\\\@arraycr\let\tabularnewline\\\let\par\@empty
+ \lineskip\z@skip\baselineskip\z@skip\@preamble}
+ \def\endarray{\crcr\egroup\egroup\@end@alignbox}
+}
+
+\@ifpackageloaded{array}{%
+ \let\tabular=\ltj@lltjext@orig@tabular
+ \let\array=\ltj@lltjext@orig@array
+ \ltj@lltjext@patch@array
+}{%
+ \let\ltj@lltjext@orig@tabular\relax
+ \let\ltj@lltjext@orig@array\relax
+ \RequirePackage{filehook}
+ \AtEndOfPackageFile{array}{\ltj@lltjext@patch@array}
+}
+
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua
index 729f186f37b..1bceda3cce2 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-adjust.lua
@@ -3,7 +3,7 @@
--
luatexbase.provides_module({
name = 'luatexja.adjust',
- date = '2014/02/02',
+ date = '2014/09/30',
description = 'Advanced line adjustment for LuaTeX-ja',
})
module('luatexja.adjust', package.seeall)
@@ -11,6 +11,7 @@ module('luatexja.adjust', package.seeall)
luatexja.load_module('jfont'); local ltjf = luatexja.jfont
luatexja.load_module('jfmglue'); local ltjj = luatexja.jfmglue
luatexja.load_module('stack'); local ltjs = luatexja.stack
+luatexja.load_module('direction'); local ltjd = luatexja.direction
local Dnode = node.direct or node
@@ -45,7 +46,7 @@ local id_glue_spec = node.id('glue_spec')
local id_whatsit = node.id('whatsit')
local attr_icflag = luatexbase.attributes['ltj@icflag']
local attr_jchar_class = luatexbase.attributes['ltj@charclass']
-local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
+local lang_ja = luatexja.lang_ja
local ltjf_font_metric_table = ltjf.font_metric_table
local spec_zero_glue = ltjj.spec_zero_glue
@@ -87,7 +88,7 @@ local function get_stretched(q, go, gs)
else return 0
end
else -- shrinking
- if getfield(qs, 'shrink_order') == go then
+ if getfield(qs, 'shrink_order') == go then
return getfield(qs, 'shrink')
else return 0
end
@@ -97,7 +98,7 @@ end
local res = {}
local gs_used_line = {}
local function get_total_stretched(p, line)
- local go, gf, gs
+ local go, gf, gs
= getfield(p, 'glue_order'), getfield(p, 'glue_set'), getfield(p, 'glue_sign')
if go ~= 0 then return nil end
res[0], res.glue_set, res.name = 0, gf, (gs==1) and 'stretch' or 'shrink'
@@ -106,7 +107,7 @@ local function get_total_stretched(p, line)
local total = 0
for q in node_traverse_id(id_glue, getlist(p)) do
local a, ic = get_stretched(q, go, gs), get_attr_icflag(q)
- if type(res[ic]) == 'number' then
+ if type(res[ic]) == 'number' then
-- kanjiskip, xkanjiskip は段落内で spec を共有しているが,
-- それはここでは望ましくないので,各 glue ごとに異なる spec を使う.
-- 本当は各行ごとに glue_spec を共有させたかったが,安直にやると
@@ -127,7 +128,7 @@ local function get_total_stretched(p, line)
elseif ic == XKANJI_SKIP_JFM then ic = XKANJI_SKIP
end
res[ic], total = res[ic] + a, total + a
- else
+ else
res[0], total = res[0] + a, total + a
end
end
@@ -155,11 +156,11 @@ local function set_stretch(p, after, before, ic, name)
end
for q in node_traverse_id(id_glue, getlist(p)) do
local f = get_attr_icflag(q)
- if (f == ic) or ((ic ==KANJI_SKIP) and (f == KANJI_SKIP_JFM))
+ if (f == ic) or ((ic ==KANJI_SKIP) and (f == KANJI_SKIP_JFM))
or ((ic ==XKANJI_SKIP) and (f == XKANJI_SKIP_JFM)) then
local qs, do_flag = getfield(q, 'spec'), true
- for i=1,#set_stretch_table do
- if set_stretch_table[i]==qs then do_flag = false end
+ for i=1,#set_stretch_table do
+ if set_stretch_table[i]==qs then do_flag = false end
end
if getfield(qs, 'writable') and getfield(qs, name..'_order')==0 and do_flag then
setfield(qs, name, getfield(qs, name)*ratio)
@@ -171,35 +172,35 @@ local function set_stretch(p, after, before, ic, name)
end
-- step 1: 行末に kern を挿入(句読点,中点用)
+local ltjd_glyph_from_packed = ltjd.glyph_from_packed
local function aw_step1(p, res, total)
local head = getlist(p)
local x = node_tail(head); if not x then return false end
-- x: \rightskip
x = node_prev(x); if not x then return false end
- if getid(x) == id_glue and getsubtype(x) == 15 then
+ local xi, xc = getid(x)
+ if xi == id_glue and getsubtype(x) == 15 then
-- 段落最終行のときは,\penalty10000 \parfillskip が入るので,
-- その前の node が本来の末尾文字となる
- x = node_prev(node_prev(x))
+ x = node_prev(node_prev(x)); xi = getid(x)
end
-- local xi = getid(x)
- -- while (get_attr_icflag(x) == PACKED)
+ -- while (get_attr_icflag(x) == PACKED)
-- and ((xi == id_penalty) or (xi == id_kern) or (xi == id_kern)) do
-- x = node_prev(x); xi = getid(x)
-- end
- local xi, xc = getid(x)
- if xi == id_glyph and has_attr(x, attr_curjfnt) == getfont(x) then
+ if xi == id_glyph and getfield(x, 'lang')==lang_ja then
-- 和文文字
xc = x
elseif xi == id_hlist and get_attr_icflag(x) == PACKED then
-- packed JAchar
- xc = getlist(x)
- while getid(xc) == id_whatsit do xc = node_next(xc) end
+ xc = ltjd_glyph_from_packed(x)
+ while getid(xc) == id_whatsit do xc = node_next(xc) end -- これはなんのために?
else
return false-- それ以外は対象外.
end
local xk = ltjf_font_metric_table[getfont(xc)]
- xk = xk.char_type[has_attr(xc, attr_jchar_class) or 0]
- xk = xk['end_' .. res.name] or 0
+ .char_type[has_attr(xc, attr_jchar_class) or 0]['end_' .. res.name] or 0
if xk>0 and total>=xk then
total = total - xk
@@ -255,12 +256,12 @@ end
local ltjs_fast_get_stack_skip = ltjs.fast_get_stack_skip
-local function adjust_width(head)
+local function adjust_width(head)
if not head then return head end
local line = 1
for p in node_traverse_id(id_hlist, to_direct(head)) do
line = line + 1
- local res, total = get_total_stretched(p, line)
+ local res, total = get_total_stretched(p, line)
-- this is the same table as the table which is def'd in l. 92
if res and res.glue_set<1 then
total = round(total * res.glue_set)
@@ -277,7 +278,7 @@ do
local is_reg = false
function enable_cb()
if not is_reg then
- luatexbase.add_to_callback('post_linebreak_filter',
+ luatexbase.add_to_callback('post_linebreak_filter',
adjust_width, 'Adjust width', 100)
is_reg = true
end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua
index 0275521ec4a..f5535d65c67 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua
@@ -8,12 +8,13 @@ local node, table, tex, token = node, table, tex, token
local cat_lp = luatexbase.catcodetables['latex-package']
--------------------
-luatexja.base = {}
+local ltjb = {}
+luatexja.base = ltjb
local public_name = 'luatexja'
local public_version = 'alpha'
-luatexja.base.public_name = public_name
-luatexja.base.public_version = public_version
+ltjb.public_name = public_name
+ltjb.public_version = public_version
-------------------- Fully-expandable error messaging
@@ -150,7 +151,7 @@ local function mprint(...)
end
return tex.print(unpack(lines))
end
-luatexja.base.mprint = mprint
+ltjb.mprint = mprint
-------------------- Handling of TeX values
do
@@ -226,9 +227,9 @@ do
s.shrink or 0, s.shrink_order or 0))
end
- luatexja.base.to_dimen = to_dimen
- luatexja.base.dump_skip = dump_skip
- luatexja.base.to_skip = to_skip
+ ltjb.to_dimen = to_dimen
+ ltjb.dump_skip = dump_skip
+ ltjb.to_skip = to_skip
end
-------------------- Virtual table for LaTeX counters
@@ -245,7 +246,7 @@ do
function mt_counter.__newindex(tbl, key, val)
tex.count['c@'..key] = val
end
- luatexja.base.counter = counter
+ ltjb.counter = counter
--! ixbase.length は tex.skip と全く同じなので不要.
end
@@ -391,8 +392,8 @@ do
end)
end
- luatexja.base.scan_brace = scan_brace
- luatexja.base.scan_number = scan_number
+ ltjb.scan_brace = scan_brace
+ ltjb.scan_number = scan_number
end
-------------------- TeX register allocation
@@ -429,23 +430,11 @@ do
return token.create(name)[2] - cmod_base_skip
end
- luatexja.base.const_number = const_number
- luatexja.base.count_number = count_number
- luatexja.base.attribute_number = attribute_number
- luatexja.base.dimen_number = dimen_number
- luatexja.base.skip_number = skip_number
-end
-
--------------------- mock of debug logger
-if not debug or debug == _G.debug then
- local function no_op() end
- debug = no_op
- package_debug = no_op
- show_term = no_op
- show_log = no_op
- function debug_logger()
- return no_op
- end
+ ltjb.const_number = const_number
+ ltjb.count_number = count_number
+ ltjb.attribute_number = attribute_number
+ ltjb.dimen_number = dimen_number
+ ltjb.skip_number = skip_number
end
-------------------- getting next token
@@ -454,7 +443,7 @@ local function get_cs(s)
cstemp = token.csname_name(token.get_next())
tex.sprint(cat_lp,'\\' .. s)
end
-luatexja.base.get_cs = get_cs
+ltjb.get_cs = get_cs
-------------------- common error message
do
@@ -471,7 +460,7 @@ do
end
return c
end
- luatexja.base.in_unicode = in_unicode
+ ltjb.in_unicode = in_unicode
end
-------------------- cache management
@@ -569,36 +558,53 @@ do
end
end
- luatexja.base.load_cache = load_cache
- luatexja.base.save_cache_luc = save_cache_luc
- luatexja.base.save_cache = save_cache
+ ltjb.load_cache = load_cache
+ ltjb.save_cache_luc = save_cache_luc
+ ltjb.save_cache = save_cache
end
-luatexja.base._error_set_break = _error_set_break
-luatexja.base._error_set_message = _error_set_message
-luatexja.base._error_show = _error_show
-luatexja.base._generic_warn_info = _generic_warn_info
-
-luatexja.base.package_error = package_error
-luatexja.base.package_warning = package_warning
-luatexja.base.package_warning_no_line = package_warning_no_line
-luatexja.base.package_info = package_info
-luatexja.base.package_info_no_line = package_info_no_line
-
-luatexja.base.generic_error = generic_error
-luatexja.base.generic_warning = generic_warning
-luatexja.base.generic_warning_no_line = generic_warning_no_line
-luatexja.base.generic_info = generic_info
-luatexja.base.generic_info_no_line = generic_info_no_line
-
-luatexja.base.ltj_warning_no_line = ltj_warning_no_line
-luatexja.base.ltj_error = ltj_error
-
-luatexja.base.debug = debug
-luatexja.base.package_debug = package_debug
-luatexja.base.debug_logger = debug_logger
-luatexja.base.show_term = show_term
-luatexja.base.show_log = show_log
+----
+do
+ local tex_set_attr, tex_get_attr = tex.setattribute, tex.getattribute
+ function ltjb.ensure_tex_attr(a, v)
+ if tex_get_attr(a)~=v then
+ tex_set_attr(a, v)
+ end
+ end
+end
+----
+
+ltjb._error_set_break = _error_set_break
+ltjb._error_set_message = _error_set_message
+ltjb._error_show = _error_show
+ltjb._generic_warn_info = _generic_warn_info
+
+ltjb.package_error = package_error
+ltjb.package_warning = package_warning
+ltjb.package_warning_no_line = package_warning_no_line
+ltjb.package_info = package_info
+ltjb.package_info_no_line = package_info_no_line
+
+ltjb.generic_error = generic_error
+ltjb.generic_warning = generic_warning
+ltjb.generic_warning_no_line = generic_warning_no_line
+ltjb.generic_info = generic_info
+ltjb.generic_info_no_line = generic_info_no_line
+
+ltjb.ltj_warning_no_line = ltj_warning_no_line
+ltjb.ltj_error = ltj_error
+
+-------------------- mock of debug logger
+if not ltjb.out_debug then
+ local function no_op() end
+ ltjb.start_time_measure = no_op
+ ltjb.stop_time_measure = no_op
+ ltjb.out_debug = no_op
+ ltjb.package_debug = no_op
+ ltjb.debug_logger = function() return no_op end
+ ltjb.show_term = no_op
+ ltjb.show_log = no_op
+end
-------------------- all done
-- EOF
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-base.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-base.sty
index d30221e0c51..b8b7855476f 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-base.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-base.sty
@@ -23,8 +23,8 @@
\newcount\ltj@tempcntb
\newcount\ltj@tempcntc
\newdimen\ltj@tempdima
-\newskip\ltj@tempskipa
-\newtoks\ltj@temptoks
+% \newskip\ltj@tempskipa unused
+% \newtoks\ltj@temptoks unused
\countdef\ltj@@count@zero=0 %
\luatexattributedef\ltj@@attr@zero=0 %
@@ -512,6 +512,33 @@ luatexja.base._error_show(true)% and many spaces trail!
\def#1{\ltj@package@debug{#2}}
}
+%% \ltj@afterbox <token><box>
+%% -> \setbox\ltj@afbox<box><token>
+%% from Sonja Maus, ``Looking Ahead for a <box>'',
+%% TUGBoat, 11, No. 4, 1990.
+\newbox\ltj@afbox
+\protected\def\ltj@afterbox#1{%
+ \def\ltj@afb@xarg{#1}%
+ \afterassignment\ltj@afb@x
+ \chardef\next`.}
+\def\ltj@afb@x{\futurelet\next\ltj@afb@xtest}
+\def\ltj@afb@xtest{%
+ \ifcase\ifx\next\hbox\tw@\fi
+ \ifx\next\vbox\tw@\fi
+ \ifx\next\vtop\tw@\fi
+ \ifx\next\box\@ne\fi
+ \ifx\next\copy\@ne\fi
+ \ifx\next\vsplit\@ne\fi
+ \ifx\next\lastbox\@ne\fi
+ 0% ``A <box> was ...'' error will be causes by \setbox later anyway.
+ \or\afterassignment\ltj@afb@xarg
+ \or\afterassignment\ltj@afb@xagarg
+ \fi
+ \setbox\ltj@afbox
+}
+\def\ltj@afb@xagarg{\aftergroup\ltj@afb@xarg}
+
+
%%------------------ all done
\ltj@base@AtEnd
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-charrange.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-charrange.lua
index e2d97de7134..020cec9a3c3 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-charrange.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-charrange.lua
@@ -3,7 +3,7 @@
--
luatexbase.provides_module({
name = 'luatexja.charrange',
- date = '2014/01/19',
+ date = '2014/05/08',
description = 'Handling the range of Japanese characters',
})
module('luatexja.charrange', package.seeall)
@@ -24,13 +24,16 @@ local pow = math.pow
local kcat_attr_table = {}
local pow_table = {}
local fn_table = {} -- used in is_ucs_in_japanese_char_direct
+local nfn_table = {} -- used in is_ucs_in_japanese_char_node
for i = 0, 31*ATTR_RANGE-1 do
- kcat_attr_table[i] = luatexbase.attributes['ltj@kcat'..floor(i/31)]
- pow_table[i] = pow(2, i%31)
- fn_table[i] = function(p)
- return floor(has_attr(p, kcat_attr_table[i])/pow_table[i])%2 ~= jcr_noncjk
- end
+ local ka, pw = luatexbase.attributes['ltj@kcat'..floor(i/31)], 1/pow(2, i%31)
+ local jcr_noncjk = jcr_noncjk
+ kcat_attr_table[i], pow_table[i] = ka, pow(2, i%31)
+ fn_table[i] = function(p) return floor(has_attr(p, ka)*pw)%2 ~= jcr_noncjk end
+ nfn_table[i] = function(p) return floor(has_attr_node(p, ka)*pw)%2 ~= jcr_noncjk end
end
+fn_table[-1] = function() return false end -- for char --U+007F
+nfn_table[-1] = function() return false end -- for char --U+007F
pow_table[31*ATTR_RANGE] = pow(2, 31)
-- jcr_table_main[chr_code] = index
@@ -42,6 +45,7 @@ jcr_table_main = {}
local jcr_table_main = jcr_table_main
local ucs_out = 0x110000
+for i=0x0 ,0x7F do jcr_table_main[i]=-1 end
for i=0x80 ,0xFF do jcr_table_main[i]=1 end
for i=0x100,ucs_out-1 do jcr_table_main[i]=0 end
@@ -68,12 +72,8 @@ function add_char_range(b,e,ind) -- ind: external range number
end
function char_to_range(c) -- return the external range number
- c=ltjb.in_unicode(c, false)
- if c<0x80 then return -1
- else
- local r = jcr_table_main[c] or 217
- return (r and r~=0) and r or 217
- end
+ local r = jcr_table_main[ltjb.in_unicode(c, false)] or 217
+ return (r~=0) and r or 217
end
function get_range_setting(i) -- i: internal range number
@@ -82,29 +82,17 @@ end
-- glyph_node p は和文文字か?
function is_ucs_in_japanese_char_node(p)
- local c = p.char
- if c<0x80 then
- return false
- else
- local i=jcr_table_main[c]
- return (floor(
- has_attr_node(p, kcat_attr_table[i])/pow_table[i])%2 ~= jcr_noncjk)
- end
+ return nfn_table[jcr_table_main[c or p.char]](p)
end
is_ucs_in_japanese_char = is_ucs_in_japanese_char_node
+-- only ltj-otf.lua uses this version
-function is_ucs_in_japanese_char_direct(p)
- local c = getchar(p)
- if c<0x80 then
- return false
- else
- return fn_table[jcr_table_main[c]](p)
- end
+function is_ucs_in_japanese_char_direct(p ,c)
+ return fn_table[jcr_table_main[c or getchar(p)]](p)
end
function is_japanese_char_curlist(c) -- assume that c>=0x80
- local i=jcr_table_main[c]
- return get_range_setting(i)~= jcr_noncjk
+ return get_range_setting(jcr_table_main[c])~= jcr_noncjk
end
-- EXT
@@ -120,7 +108,8 @@ function toggle_char_range(g, i) -- i: external range number
if i>=7*ATTR_RANGE then i=0 end
local attr = kcat_attr_table[i]
local a = tex_getattr(attr)
- tex.setattribute(g,attr,(floor(a/pow_table[i+1])*2+kc)*pow_table[i]+a%pow_table[i])
+ tex.setattribute(g, attr,
+ (floor(a/pow_table[i+1])*2+kc)*pow_table[i]+a%pow_table[i])
end
end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-compat.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-compat.lua
index af5da70c41c..bc8ac9d6795 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-compat.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-compat.lua
@@ -20,7 +20,7 @@ end
-- \kuten, \jis, \euc, \sjis, \ucs, \kansuji
local function to_kansuji(num)
if not num then num=0; return
- elseif num<0 then
+ elseif num<0 then
num = -num; tex.write('-')
end
local s = ""
@@ -35,34 +35,34 @@ end
-- \ucs: 単なる identity
local function from_ucs(i)
- if type(i)~='number' then
+ if type(i)~='number' then
ltjb.package_error('luatexja',
"invalid character code (".. tostring(i) .. ")",
"I'm going to use 0 instead of that illegal character code.")
- i=0
+ i=0
end
tex.write(i)
end
-- \kuten: 面区点 (それぞれで16進2桁を使用)=> Unicode 符号位置
local function from_kuten(i)
- if type(i)~='number' then
+ if type(i)~='number' then
ltjb.package_error('luatexja',
"invalid character code (".. tostring(i) .. ")",
"I'm going to use 0 instead of that illegal character code.")
- i=0
+ i=0
end
tex.write(tostring(jisx0208.table_jisx0208_uptex[i] or 0))
end
-- \euc: EUC-JP による符号位置 => Unicode 符号位置
local function from_euc(i)
- if type(i)~='number' then
+ if type(i)~='number' then
ltjb.package_error('luatexja',
"invalid character code (".. tostring(i) .. ")",
"I'm going to use 0 instead of that illegal character code.")
i=0
- elseif i>=0x10000 or i<0xa0a0 then
+ elseif i>=0x10000 or i<0xa0a0 then
i=0
end
from_kuten(i-0xa0a0)
@@ -70,7 +70,7 @@ end
-- \jis: ISO-2022-JP による符号位置 => Unicode 符号位置
local function from_jis(i)
- if (type(i)~='number') or i>=0x10000 or i<0 then
+ if (type(i)~='number') or i>=0x10000 or i<0 then
ltjb.package_error('luatexja',
"invalid character code (".. tostring(i) .. ")",
"I'm going to use 0 instead of that illegal character code.")
@@ -81,19 +81,19 @@ end
-- \sjis: Shift_JIS による符号位置 => Unicode 符号位置
local function from_sjis(i)
- if (type(i)~='number') or i>=0x10000 or i<0 then
+ if (type(i)~='number') or i>=0x10000 or i<0 then
ltjb.package_error('luatexja',
"invalid character code (".. tostring(i) .. ")",
"I'm going to use 0 instead of that illegal character code.")
- tex.write('0'); return
+ tex.write('0'); return
end
local c2 = math.floor(i/256)
local c1 = i%256
local shift_jisx0213_s1a3_table = {
- { [false]= 1, [true]= 8},
- { [false]= 3, [true]= 4},
- { [false]= 5, [true]=12},
- { [false]=13, [true]=14},
+ { [false]= 1, [true]= 8},
+ { [false]= 3, [true]= 4},
+ { [false]= 5, [true]=12},
+ { [false]=13, [true]=14},
{ [false]=15 } }
if c2 >= 0x81 then
if c2 >= 0xF0 then -- this if block won't be true
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-debug.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-debug.lua
index a7055bbb015..ac517500e8e 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-debug.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-debug.lua
@@ -1,15 +1,9 @@
--
-- luatexja/debug.lua
--
-luatexbase.provides_module({
- name = 'luatexja.debug',
- date = '2011/05/14',
- description = '',
-})
-module('luatexja.debug', package.seeall)
-local err, warn, info, log = luatexbase.errwarinf(_NAME)
-
-local table = table
+local ltjdbg = {}
+luatexja.debug = ltjdbg
+local table, string = table, string
-------------------- pretty-print
@@ -32,7 +26,7 @@ local function normal_serialize(t)
return ret
end
-function table_tosource(t)
+local function table_tosource(t)
if not next(t) then return "{}" end
local res_n = "\127"..normal_serialize({t}).."\127"
local s, e, cap = res_n:find("\127{\n ({ .* }),\n}\127")
@@ -40,15 +34,17 @@ function table_tosource(t)
else return normal_serialize(t)
end
end
+ltjdbg.table_tosource = table_tosource
-function function_tosource(f)
+local function function_tosource(f)
local res = normal_serialize({f})
return res:sub(4, res:len() - 3)
end
+ltjdbg.function_tosource = function_tosource
--! 値 v をそれを表すソース文字列に変換する.
--! lualibs の table.serialize() の処理を利用している.
-function tosource(v)
+local function tosource(v)
local tv = type(v)
if tv == "function" then return function_tosource(v)
elseif tv == "table" then return table_tosource(v)
@@ -56,6 +52,7 @@ function tosource(v)
else return tostring(v)
end
end
+ltjdbg.tosource = tosource
local function coerce(f, v)
if f == "q" then return "s", tosource(v)
@@ -79,26 +76,73 @@ end
--! - %q は全ての型について tosource() に変換
--! - <%> の代わりに <`> も使える (TeX での使用のため)
--! - %d, %s 等でキャストを行う
-function pformat(fmt, ...)
+local function pformat(fmt, ...)
if type(fmt) == "string" then
return do_pformat(fmt, ...)
else
return tosource(fmt)
end
end
+ltjdbg.pformat = pformat
+
+-------------------- 所要時間合計
+require("socket")
+do
+ local max = math.max
+ local gettime = socket.gettime
+ local time_stat = {}
+ local function start_time_measure(n)
+ if not time_stat[n] then
+ time_stat[n] = {1, -gettime()}
+ else
+ local t = time_stat[n]
+ t[1], t[2] = t[1]+1, t[2]-gettime()
+ end
+ end
+ local function stop_time_measure(n)
+ local t = time_stat[n]
+ t[2] = t[2] + gettime()
+ end
+
+ local function print_measure()
+ stop_time_measure('RUN')
+ local temp = {}
+ for i,v in pairs(time_stat) do
+ temp[#temp+1] = { i, v[1], v[2], v[2]/v[1] }
+ end
+ table.sort(temp, function (a,b) return (a[4]>b[4]) end)
+ print()
+ print('desc', 'ave. (us)', 'times', 'total (ms)')
+ for _,v in ipairs(temp) do
+ print ((v[1] .. ' '):sub(1,16), 1000000*v[4], v[2], 1000*v[3])
+ end
+ end
+ if luatexja.base then
+ luatexja.base.start_time_measure = start_time_measure
+ luatexja.base.stop_time_measure = stop_time_measure
+ luatexbase.add_to_callback('stop_run', print_measure, 'luatexja.time_measure', 1)
+ luatexbase.add_to_callback('pre_linebreak_filter',
+ function(p)
+ start_time_measure('tex_linebreak'); return p
+ end,
+ 'measure_tex_linebreak', 20000)
+ end
+end
-------------------- debug logging
-
+do
local debug_show_term = true
local debug_show_log = true
--! デバッグログを端末に出力するか
-function show_term(v)
+local function show_term(v)
debug_show_term = v
end
+ltjdbg.show_term = show_term
--! デバッグログをログファイルに出力するか
function show_log(v)
debug_show_log = v
end
+ltjdbg.show_log = show_log
local function write_debug_log(s)
local target
@@ -112,31 +156,32 @@ local function write_debug_log(s)
end
--! デバッグログ出力. 引数は pformat() と同じ.
-function debug(...)
+local function out_debug(...)
if debug_show_term or debug_show_log then
write_debug_log("%DEBUG:"..pformat(...))
end
end
--! デバッグログ出力, パッケージ名付き.
-function package_debug(pkg, ...)
+local function package_debug(pkg, ...)
if debug_show_term or debug_show_log then
write_debug_log("%DEBUG("..pkg.."):"..pformat(...))
end
end
--! パッケージ名付きデバッグログ出力器を得る.
-function debug_logger(pkg)
+local function debug_logger(pkg)
return function(...) package_debug(pkg, ...) end
end
if luatexja.base then
- luatexja.base.debug = debug
+ luatexja.base.out_debug = out_debug
luatexja.base.package_debug = package_debug
luatexja.base.debug_logger = debug_logger
luatexja.base.show_term = show_term
luatexja.base.show_log = show_log
end
+end
-------------------- all done
-- EOF
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua
new file mode 100644
index 00000000000..c05d0ed6c35
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-direction.lua
@@ -0,0 +1,1106 @@
+--
+-- src/ltj-direction.lua
+--
+
+luatexja.load_module('base'); local ltjb = luatexja.base
+luatexja.load_module('stack'); local ltjs = luatexja.stack
+luatexja.direction = {}
+
+local attr_dir = luatexbase.attributes['ltj@dir']
+local attr_icflag = luatexbase.attributes['ltj@icflag']
+
+local cat_lp = luatexbase.catcodetables['latex-package']
+local Dnode = node.direct or node
+local nullfunc = function (n) return n end
+local to_node = (Dnode ~= node) and Dnode.tonode or nullfunc
+local to_direct = (Dnode ~= node) and Dnode.todirect or nullfunc
+local has_attr = Dnode.has_attribute
+local set_attr = Dnode.set_attribute
+local insert_before = Dnode.insert_before
+local insert_after = Dnode.insert_after
+local getid = (Dnode ~= node) and Dnode.getid or function(n) return n.id end
+local getsubtype = (Dnode ~= node) and Dnode.getsubtype or function(n) return n.subtype end
+local getlist = (Dnode ~= node) and Dnode.getlist or function(n) return n.head end
+local setfield = (Dnode ~= node) and Dnode.setfield or function(n, i, c) n[i] = c end
+local getfield = (Dnode ~= node) and Dnode.getfield or function(n, i) return n[i] end
+local node_new = Dnode.new
+local node_tail = Dnode.tail
+local node_free = Dnode.free
+local node_remove = Dnode.remove
+local node_next = (Dnode ~= node) and Dnode.getnext or node.next
+local traverse = Dnode.traverse
+local traverse_id = Dnode.traverse_id
+local start_time_measure, stop_time_measure
+ = ltjb.start_time_measure, ltjb.stop_time_measure
+local abs = math.abs
+
+local id_kern = node.id('kern')
+local id_hlist = node.id('hlist')
+local id_vlist = node.id('vlist')
+local id_whatsit = node.id('whatsit')
+local sid_save = node.subtype('pdf_save')
+local sid_restore = node.subtype('pdf_restore')
+local sid_matrix = node.subtype('pdf_setmatrix')
+local sid_user = node.subtype('user_defined')
+
+local tex_nest = tex.nest
+local tex_getcount = tex.getcount
+local ensure_tex_attr = ltjb.ensure_tex_attr
+local PROCESSED = luatexja.icflag_table.PROCESSED
+local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG
+local PACKED = luatexja.icflag_table.PACKED
+local DIR = luatexja.userid_table.DIR
+local dir_tate = luatexja.dir_table.dir_tate
+local dir_yoko = luatexja.dir_table.dir_yoko
+local dir_dtou = luatexja.dir_table.dir_dtou
+local dir_utod = luatexja.dir_table.dir_utod
+local dir_math_mod = luatexja.dir_table.dir_math_mod
+local dir_node_auto = luatexja.dir_table.dir_node_auto
+local dir_node_manual = luatexja.dir_table.dir_node_manual
+local function get_attr_icflag(p)
+ return (has_attr(p, attr_icflag) or 0) % PROCESSED_BEGIN_FLAG
+end
+
+local page_direction
+--
+local dir_pool
+do
+ local node_copy = Dnode.copy
+ dir_pool = {}
+ for _,i in pairs({dir_tate, dir_yoko, dir_dtou, dir_utod}) do
+ local w = node_new(id_whatsit, sid_user)
+ set_attr(w, attr_dir, i)
+ setfield(w, 'user_id', DIR)
+ setfield(w, 'type', 110)
+ setfield(w, 'next', nil)
+ dir_pool[i] = function () return node_copy(w) end
+ end
+end
+
+--
+local function adjust_badness(hd)
+ if not node_next(hd) and getid(hd)==id_whatsit and getsubtype(hd)==sid_user
+ and getfield(hd, 'user_id')==DIR then
+ -- avoid double whatsit
+ luatexja.global_temp=tex.globaldefs; tex.globaldefs=0
+ luatexja.hbadness_temp=tex.hbadness; tex.hbadness=10000
+ luatexja.vbadness_temp=tex.vbadness; tex.vbadness=10000
+ else
+ luatexja.global_temp = nil
+ luatexja.hbadness_temp=nil
+ luatexja.vbadness_temp=nil
+ end
+end
+
+local get_dir_count, get_adjust_dir_count
+do
+ local function get_dir_count_inner(h)
+ if h then
+ if h.id==id_whatsit and h.subtype==sid_user and h.user_id==DIR then
+ local ic = node.has_attribute(h, attr_icflag) or 0
+ return (ic<PROCESSED_BEGIN_FLAG)
+ and (node.has_attribute(h,attr_dir)%dir_node_auto) or 0
+ else
+ return 0
+ end
+ else
+ return 0
+ end
+ end
+ function get_dir_count()
+ for i=tex_nest.ptr, 1, -1 do
+ local h = tex_nest[i].head.next
+ if h then
+ local t = get_dir_count_inner(h)
+ if t~=0 then return t end
+ end
+ end
+ return page_direction
+ end
+ function get_adjust_dir_count()
+ for i=tex_nest.ptr, 1, -1 do
+ local v = tex_nest[i]
+ local h, m = v.head.next, v.mode
+ if abs(m)== ltjs.vmode and h then
+ local t = get_dir_count_inner(h)
+ if t~=0 then return t end
+ end
+ end
+ return page_direction
+ end
+ luatexja.direction.get_dir_count = get_dir_count
+ luatexja.direction.get_adjust_dir_count = get_adjust_dir_count
+end
+
+
+-- \tate, \yoko,\dtou, \utod
+do
+ local node_next = node.next
+ local node_set_attr = node.set_attribute
+ local node_traverse = node.traverse
+ local STCK = luatexja.userid_table.STCK
+ local IHB = luatexja.userid_table.IHB
+
+ local function test_list(h, lv)
+ if not h then
+ return 2 -- need to create dir_whatsit
+ else
+ local flag = 2 -- need to create dir_whatsit
+ local w
+ for p in node_traverse(h) do
+ if p.id==id_whatsit then
+ if p.subtype==sid_user then
+ local uid= p.user_id
+ if uid==DIR then
+ flag = 1; w = w or p -- found
+ elseif not(uid==IHB or uid==STCK) then
+ flag = 0; break -- error
+ end
+ else
+ flag = 0; break
+ end
+ else
+ flag = 0; break
+ end
+ end
+ if flag==1 then -- dir_whatsit already exists
+ return 1,w
+ else
+ return flag
+ end
+ end
+ end
+ function luatexja.direction.set_list_direction_hook(v)
+ local lv = tex_nest.ptr -- must be >= 1
+ if not v then
+ v = get_dir_count()
+ if abs(tex_nest[lv-1].mode) == ltjs.mmode and v == dir_tate then
+ v = dir_utod
+ end
+ elseif v=='adj' then
+ v = get_adjust_dir_count()
+ end
+ local h = to_direct(tex_nest[lv].head)
+ local w = dir_pool[v]()
+ insert_after(h, h, w)
+ tex_nest[lv].tail = to_node(node_tail(w))
+ ensure_tex_attr(attr_icflag, 0)
+ ensure_tex_attr(attr_dir, 0)
+ end
+
+ local function set_list_direction(v, name)
+ local lv = tex_nest.ptr
+ if not v then
+ v,name = get_dir_count(), nil
+ if lv>=1 and abs(tex_nest[lv-1].mode) == ltjs.mmode and v == dir_tate then
+ v = dir_utod
+ end
+ elseif v=='adj' then
+ v,name = get_adjust_dir_count(), nil
+ end
+ if tex.currentgrouptype==6 then
+ ltjb.package_error(
+ 'luatexja',
+ "You can't use `\\" .. name .. "' in an align",
+ "To change direction in an align, \n"
+ .. "you shold use \\hbox or \\vbox.")
+ else
+ local h = (lv==0) and tex.lists.page_head or tex_nest[lv].head.next
+ local flag,w = test_list(h,lv)
+ if flag==0 then
+ if lv==0 and not page_direction then
+ page_direction = v -- for first call of \yoko (in luatexja-core.sty)
+ else
+ ltjb.package_error(
+ 'luatexja',
+ "Use `\\" .. tostring(name) .. "' at top of list",
+ 'Direction change command by LuaTeX-ja is available\n'
+ .. 'only when the current list is null.')
+ end
+ elseif flag==1 then
+ node_set_attr(w, attr_dir, v)
+ if lv==0 then page_direction = v end
+ else
+ if lv==0 then page_direction = v end
+ end
+ ensure_tex_attr(attr_icflag, 0)
+ end
+ ensure_tex_attr(attr_dir, 0)
+ end
+ luatexja.direction.set_list_direction = set_list_direction
+end
+
+-- ボックスに dir whatsit を追加
+local function create_dir_whatsit(hd, gc, new_dir)
+ if getid(hd)==id_whatsit and
+ getsubtype(hd)==sid_user and getfield(hd, 'user_id')==DIR then
+ set_attr(hd, attr_icflag,
+ get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG)
+ local n = node_next(hd)
+ if n then
+ set_attr(n, attr_icflag,
+ get_attr_icflag(n) + PROCESSED_BEGIN_FLAG)
+ end
+ ensure_tex_attr(attr_icflag, 0)
+ return hd
+ else
+ local w = dir_pool[new_dir]()
+ setfield(w, 'next', hd)
+ set_attr(w, attr_icflag, PROCESSED_BEGIN_FLAG)
+ set_attr(hd, attr_icflag,
+ get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG)
+ ensure_tex_attr(attr_icflag, 0)
+ ensure_tex_attr(attr_dir, 0)
+ return w
+ end
+end
+
+-- hpack_filter, vpack_filter, post_line_break_filter
+-- の結果を組方向を明示するため,先頭に dir_node を設置
+do
+ local function create_dir_whatsit_hpack(h, gc)
+ local hd = to_direct(h)
+ if gc=='fin_row' or gc == 'preamble' then
+ if hd then
+ set_attr(hd, attr_icflag, PROCESSED_BEGIN_FLAG)
+ ensure_tex_attr(attr_icflag, 0)
+ end
+ return h
+ else
+ adjust_badness(hd)
+ return to_node(create_dir_whatsit(hd, gc, ltjs.list_dir))
+ end
+ end
+
+ luatexbase.add_to_callback('hpack_filter',
+ create_dir_whatsit_hpack, 'ltj.create_dir_whatsit', 10000)
+end
+
+do
+ local function create_dir_whatsit_parbox(h, gc)
+ stop_time_measure('tex_linebreak')
+ -- start 側は ltj-debug.lua に
+ local new_dir = ltjs.list_dir
+ for line in traverse_id(id_hlist, to_direct(h)) do
+ setfield(line, 'head', create_dir_whatsit(getlist(line), gc, new_dir) )
+ end
+ ensure_tex_attr(attr_dir, 0)
+ return h
+ end
+ luatexbase.add_to_callback('post_linebreak_filter',
+ create_dir_whatsit_parbox, 'ltj.create_dir_whatsit', 10000)
+end
+
+local create_dir_whatsit_vbox
+do
+ local wh = {}
+ local id_glue, sid_parskip = node.id('glue'), 3
+ create_dir_whatsit_vbox = function (hd, gc)
+ ltjs.list_dir = get_dir_count()
+ -- remove dir whatsit
+ for x in traverse_id(id_whatsit, hd) do
+ if getsubtype(x)==sid_user and getfield(x, 'user_id')==DIR then
+ wh[#wh+1]=x
+ end
+ end
+ if hd==wh[1] then
+ ltjs.list_dir =has_attr(hd,attr_dir)
+ local x = node_next(hd)
+ if getid(x)==id_glue and getsubtype(x)==sid_parskip then
+ node_remove(hd,x); node_free(x)
+ end
+ end
+ for i=1,#wh do
+ hd = node_remove(hd, wh[i]); node_free(wh[i]); wh[i] = nil
+ end
+ if gc=='fin_row' then -- gc == 'preamble' case is treated in dir_adjust_vpack
+ if hd then
+ set_attr(hd, attr_icflag, PROCESSED_BEGIN_FLAG)
+ ensure_tex_attr(attr_icflag, 0)
+ end
+ return hd
+ else
+ local n =node_next(hd)
+ if gc=='vtop' then
+ local w = create_dir_whatsit(hd, gc, ltjs.list_dir)
+ -- move dir whatsit after hd
+ setfield(hd, 'next', w); setfield(w, 'next', n)
+ return hd
+ else
+ hd = create_dir_whatsit(hd, gc, ltjs.list_dir)
+ return hd
+ end
+ end
+ end
+end
+
+-- dir_node に包む方法を書いたテーブル
+local dir_node_aux
+do
+ local floor = math.floor
+ local get_h =function (w,h,d) return h end
+ local get_d =function (w,h,d) return d end
+ local get_h_d =function (w,h,d) return h+d end
+ local get_h_d_neg =function (w,h,d) return -h-d end
+ local get_d_neg =function (w,h,d) return -d end
+ local get_w_half =function (w,h,d) return floor(0.5*w) end
+ local get_w_half_rem =function (w,h,d) return w-floor(0.5*w) end
+ local get_w_neg =function (w,h,d) return -w end
+ local get_w =function (w,h,d) return w end
+ local zero = function() return 0 end
+ dir_node_aux = {
+ [dir_yoko] = { -- yoko を
+ [dir_tate] = { -- tate 中で組む
+ width = get_h_d,
+ height = get_w_half,
+ depth = get_w_half_rem,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 1 -1 0' },
+ { 'kern', function(w,h,d,nw,nh,nd) return -nd end },
+ { 'box' , get_h},
+ { 'kern', function(w,h,d,nw,nh,nd) return nd-w end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 1 -1 0' },
+ { 'kern' , zero },
+ { 'box' , function(w,h,d,nw,nh,nd) return -nh-nd end },
+ { 'kern', get_h_d_neg},
+ { 'whatsit', sid_restore },
+ },
+ },
+ [dir_dtou] = { -- dtou 中で組む
+ width = get_h_d,
+ height = get_w,
+ depth = zero,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 -1 1 0' },
+ { 'kern', function(w,h,d,nw,nh,nd) return -nh end },
+ { 'box', get_d_neg },
+ { 'kern', function(w,h,d,nw,nh,nd) return nh-w end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 -1 1 0' },
+ { 'kern', get_h_d_neg },
+ { 'box', zero },
+ { 'whatsit', sid_restore },
+ },
+ },
+ },
+ [dir_tate] = { -- tate を
+ [dir_yoko] = { -- yoko 中で組む
+ width = get_h_d,
+ height = get_w,
+ depth = zero,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 -1 1 0' },
+ { 'kern', function (w,h,d,nw,nh,nd) return -nh end },
+ { 'box' , get_d_neg },
+ { 'kern', function (w,h,d,nw,nh,nd) return nh-w end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 -1 1 0' },
+ { 'kern', get_h_d_neg },
+ { 'box', zero },
+ { 'whatsit', sid_restore },
+ },
+ },
+ [dir_dtou] = { -- dtou 中で組む
+ width = get_w,
+ height = get_d,
+ depth = get_h,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '-1 0 0 -1' },
+ { 'kern', get_w_neg },
+ { 'box', function (w,h,d,nw,nh,nd) return h-nd end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '-1 0 0 -1' },
+ { 'kern', get_h_d_neg },
+ { 'box', get_w_neg },
+ { 'whatsit', sid_restore },
+ },
+ },
+ },
+ [dir_dtou] = { -- dtou を
+ [dir_yoko] = { -- yoko 中で組む
+ width = get_h_d,
+ height = get_w,
+ depth = zero,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 1 -1 0' },
+ { 'kern', function (w,h,d,nw,nh,nd) return -nd end },
+ { 'box', get_h },
+ { 'kern', function (w,h,d,nw,nh,nd) return nd-w end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'kern', zero },
+ { 'whatsit', sid_save },
+ { 'rotate', '0 1 -1 0' },
+ { 'box', function (w,h,d,nw,nh,nd) return -nd-nh end },
+ { 'kern', get_h_d_neg },
+ { 'whatsit', sid_restore },
+ },
+ },
+ [dir_tate] = { -- tate 中で組む
+ width = get_w,
+ height = get_d,
+ depth = get_h,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '-1 0 0 -1' },
+ { 'kern', get_w_neg },
+ { 'box', function (w,h,d,nw,nh,nd) return h-nd end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', ' -1 0 0 -1' },
+ { 'kern', function (w,h,d,nw,nh,nd) return -nh-nd end },
+ { 'box', get_w_neg },
+ { 'kern', function (w,h,d,nw,nh,nd) return nh+nd-h-d end },
+ { 'whatsit', sid_restore },
+ },
+ },
+ },
+ }
+end
+
+-- 1st ret val: b の組方向
+-- 2nd ret val はその DIR whatsit
+local function get_box_dir(b, default)
+ start_time_measure('get_box_dir')
+ local dir = has_attr(b, attr_dir) or 0
+ local bh = getfield(b,'head')
+ -- b は insert node となりうるので getlist() は使えない
+ local c
+ for bh in traverse_id(id_whatsit, bh) do
+ if getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then
+ c = bh
+ dir = (dir==0) and has_attr(bh, attr_dir) or dir
+ end
+ end
+ -- for i=1,2 do
+ -- if bh and getid(bh)==id_whatsit
+ -- and getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then
+ -- c = bh
+ -- dir = (dir==0) and has_attr(bh, attr_dir) or dir
+ -- end
+ -- bh = node_next(bh)
+ -- end
+ stop_time_measure('get_box_dir')
+ return (dir==0 and default or dir), c
+end
+
+do
+ local getbox = tex.getbox
+ local dir_backup
+ function luatexja.direction.unbox_check_dir(is_copy)
+ start_time_measure('box_primitive_hook')
+ local list_dir = get_dir_count()%dir_math_mod
+ local b = getbox(tex_getcount('ltj@tempcnta'))
+ if b then
+ local box_dir = get_box_dir(to_direct(b), dir_yoko)
+ if box_dir%dir_math_mod ~= list_dir then
+ ltjb.package_error(
+ 'luatexja',
+ "Incompatible direction list can't be unboxed",
+ 'I refuse to unbox a box in differrent direction.')
+ tex.sprint(cat_lp, '\\@gobbletwo')
+ else
+ dir_backup = nil
+ local bd = to_direct(b)
+ local hd = getlist(bd)
+ local nh = hd
+ while hd do
+ if getid(hd)==id_whatsit and getsubtype(hd)==sid_user
+ and getfield(hd, 'user_id')==DIR then
+ local d = hd
+ nh, hd = node_remove(nh, hd)
+ if is_copy and (not dir_backup) then
+ dir_backup = d
+ setfield(dir_backup, 'next', nil)
+ else
+ node_free(d)
+ end
+ else
+ hd = node_next(hd)
+ end
+ end
+ setfield(bd, 'head', nh)
+ end
+ end
+ if luatexja.global_temp and tex.globaldefs~=luatexja.global_temp then
+ tex.globaldefs = luatexja.global_temp
+ end
+ stop_time_measure('box_primitive_hook')
+ end
+ function luatexja.direction.uncopy_restore_whatsit()
+ local b = getbox(tex_getcount('ltj@tempcnta'))
+ if b then
+ local bd = to_direct(b)
+ if dir_backup then
+ setfield(dir_backup, 'next', getlist(bd))
+ setfield(bd, 'head', dir_backup)
+ dir_backup = nil
+ end
+ end
+ end
+end
+
+-- dir_node に包まれている「本来の中身」を取り出し,
+-- dir_node を全部消去
+local function unwrap_dir_node(b, head, box_dir)
+ -- b: dir_node, head: the head of list, box_dir:
+ -- return values are (new head), (next of b), (contents), (dir of contents)
+ local bh = getlist(b)
+ local nh, nb
+ if head then
+ nh = insert_before(head, b, bh)
+ nh, nb = node_remove(nh, b)
+ setfield(b, 'next', nil)
+ node_free(b)
+ end
+ local shift_old, b_dir, wh = nil, get_box_dir(bh, 0)
+ if wh then
+ Dnode.flush_list(getfield(wh, 'value'))
+ setfield(wh, 'value', nil)
+ end
+ return nh, nb, bh, b_dir
+end
+
+-- is_manual: 寸法変更に伴うものか?
+local function create_dir_node(b, b_dir, new_dir, is_manual)
+ local info = dir_node_aux[b_dir%dir_math_mod][new_dir%dir_math_mod]
+ local w = getfield(b, 'width')
+ local h = getfield(b, 'height')
+ local d = getfield(b, 'depth')
+ local db = node_new(getid(b)) -- dir_node
+ set_attr(db, attr_dir,
+ new_dir + (is_manual and dir_node_manual or dir_node_auto))
+ set_attr(db, attr_icflag, PROCESSED)
+ set_attr(b, attr_icflag, PROCESSED)
+ ensure_tex_attr(attr_dir, 0)
+ ensure_tex_attr(attr_icflag, 0)
+ setfield(db, 'dir', getfield(b, 'dir'))
+ setfield(db, 'shift', 0)
+ setfield(db, 'width', info.width(w,h,d))
+ setfield(db, 'height', info.height(w,h,d))
+ setfield(db, 'depth', info.depth(w,h,d))
+ return db
+end
+
+-- 異方向のボックスの処理
+local make_dir_whatsit, process_dir_node
+do
+ make_dir_whatsit = function (head, b, new_dir, origin)
+ new_dir = new_dir%dir_math_mod
+ -- head: list head, b: box
+ -- origin: コール元 (for debug)
+ -- return value: (new head), (next of b), (new b), (is_b_dir_node)
+ -- (new b): b か dir_node に被せられた b
+ local bh = getlist(b)
+ local box_dir, dn = get_box_dir(b, ltjs.list_dir)
+ -- 既に b の中身にあるwhatsit
+
+ if box_dir%dir_math_mod==new_dir then
+ if box_dir>=dir_node_auto then
+ -- dir_node としてカプセル化されている
+ local _, dnc = get_box_dir(b, 0)
+ if dnc then -- free all other dir_node
+ Dnode.flush_list(getfield(dnc, 'value'))
+ setfield(dnc, 'value', nil)
+ end
+ set_attr(b, attr_dir, box_dir%dir_math_mod + dir_node_auto)
+ return head, node_next(b), b, true
+ else
+ -- 組方向が一緒 (up to math dir) のボックスなので,何もしなくて良い
+ return head, node_next(b), b, false
+ end
+ else
+ -- 組方向を合わせる必要あり
+ local nh, nb, ret, flag
+ if box_dir>= dir_node_auto then -- unwrap
+ local b_dir
+ head, nb, b, b_dir = unwrap_dir_node(b, head, box_dir)
+ bh = getlist(b)
+ if b_dir%dir_math_mod==new_dir then
+ -- dir_node の中身が周囲の組方向とあっている
+ return head, nb, b, false
+ else box_dir = b_dir end
+ end
+ box_dir = box_dir%dir_math_mod
+ local db
+ local dnh = getfield(dn, 'value')
+ for x in traverse(dnh) do
+ if has_attr(x, attr_dir)%dir_math_mod == new_dir then
+ setfield(dn, 'value', to_node(node_remove(dnh, x)))
+ db=x; break
+ end
+ end
+ Dnode.flush_list(getfield(dn, 'value'))
+ setfield(dn, 'value', nil)
+ db = db or create_dir_node(b, box_dir, new_dir, false)
+ local w = getfield(b, 'width')
+ local h = getfield(b, 'height')
+ local d = getfield(b, 'depth')
+ local dn_w = getfield(db, 'width')
+ local dn_h = getfield(db, 'height')
+ local dn_d = getfield(db, 'depth')
+ nh, nb = insert_before(head, b, db), nil
+ nh, nb = node_remove(nh, b)
+ setfield(b, 'next', nil); setfield(db, 'head', b)
+ ret, flag = db, true
+ return nh, nb, ret, flag
+ end
+ end
+ process_dir_node = function (hd, gc)
+ local x, new_dir = hd, ltjs.list_dir or dir_yoko
+ while x do
+ local xid = getid(x)
+ if (xid==id_hlist and get_attr_icflag(x)~=PACKED)
+ or xid==id_vlist then
+ hd, x = make_dir_whatsit(hd, x, new_dir, 'process_dir_node:' .. gc)
+ else
+ x = node_next(x)
+ end
+ end
+ return hd
+ end
+
+ -- lastbox
+ local node_prev = (Dnode~=node) and Dnode.getprev or node.prev
+ local function lastbox_hook()
+ start_time_measure('box_primitive_hook')
+ local bn = tex_nest[tex_nest.ptr].tail
+ if bn then
+ local b, head = to_direct(bn), to_direct(tex_nest[tex_nest.ptr].head)
+ local bid = getid(b)
+ if bid==id_hlist or bid==id_vlist then
+ local box_dir = get_box_dir(b, 0)
+ if box_dir>= dir_node_auto then -- unwrap dir_node
+ local p = node_prev(b)
+ local dummy1, dummy2, nb = unwrap_dir_node(b, nil, box_dir)
+ setfield(p, 'next', nb); tex_nest[tex_nest.ptr].tail = to_node(nb)
+ setfield(b, 'next', nil); setfield(b, 'head', nil)
+ node_free(b); b = nb
+ end
+ local _, wh = get_box_dir(b, 0) -- clean dir_node attached to the box
+ if wh then
+ Dnode.flush_list(getfield('value', wh))
+ setfield(wh, 'value', nil)
+ end
+ end
+ end
+ stop_time_measure('box_primitive_hook')
+ end
+
+ luatexja.direction.make_dir_whatsit = make_dir_whatsit
+ luatexja.direction.lastbox_hook = lastbox_hook
+end
+
+-- \wd, \ht, \dp の代わり
+do
+ local getbox, setdimen = tex.getbox, tex.setdimen
+ local function get_box_dim_common(key, s, l_dir)
+ -- s: not dir_node.
+ local s_dir, wh = get_box_dir(s, dir_yoko)
+ s_dir = s_dir%dir_math_mod
+ if s_dir ~= l_dir then
+ local not_found = true
+ for x in traverse(getfield(wh, 'value')) do
+ if l_dir == has_attr(x, attr_dir)%dir_node_auto then
+ setdimen('ltj@tempdima', getfield(x, key))
+ not_found = false; break
+ end
+ end
+ if not_found then
+ local w = getfield(s, 'width')
+ local h = getfield(s, 'height')
+ local d = getfield(s, 'depth')
+ setdimen('ltj@tempdima',
+ dir_node_aux[s_dir][l_dir][key](w,h,d))
+ end
+ else
+ setdimen('ltj@tempdima', getfield(s, key))
+ end
+ end
+ local function get_box_dim(key, n)
+ local gt = tex.globaldefs; tex.globaldefs = 0
+ local s = getbox(n)
+ if s then
+ local l_dir = (get_dir_count())%dir_math_mod
+ s = to_direct(s)
+ local b_dir = get_box_dir(s,dir_yoko)
+ if b_dir<dir_node_auto then
+ get_box_dim_common(key, s, l_dir)
+ elseif b_dir%dir_math_mod==l_dir then
+ setdimen('ltj@tempdima', getfield(s, key))
+ else
+ get_box_dim_common(key, getlist(s), l_dir)
+ end
+ else
+ setdimen('ltj@tempdima', 0)
+ end
+ tex.sprint(cat_lp, '\\ltj@tempdima')
+ tex.globaldefs = gt
+ end
+ luatexja.direction.get_box_dim = get_box_dim
+
+ -- return value: (changed dimen of box itself?)
+ local function set_box_dim_common(key, s, l_dir)
+ local s_dir, wh = get_box_dir(s, dir_yoko)
+ s_dir = s_dir%dir_math_mod
+ if s_dir ~= l_dir then
+ if not wh then
+ wh = create_dir_whatsit(getlist(s), 'set_box_dim', s_dir)
+ setfield(s, 'head', wh)
+ end
+ local db
+ local dnh = getfield(wh, 'value')
+ for x in traverse(dnh) do
+ if has_attr(x, attr_dir)%dir_node_auto==l_dir then
+ db = x; break
+ end
+ end
+ if not db then
+ db = create_dir_node(s, s_dir, l_dir, true)
+ setfield(db, 'next', dnh)
+ setfield(wh, 'value',to_node(db))
+ end
+ setfield(db, key, tex.getdimen('ltj@tempdima'))
+ return false
+ else
+ setfield(s, key, tex.getdimen('ltj@tempdima'))
+ if wh then
+ -- change dimension of dir_nodes which are created "automatically"
+ local bw, bh, bd
+ = getfield(s,'width'), getfield(s, 'height'), getfield(s, 'depth')
+ for x in traverse(getfield(wh, 'value')) do
+ local x_dir = has_attr(x, attr_dir)
+ if x_dir<dir_node_manual then
+ local info = dir_node_aux[s_dir][x_dir%dir_node_auto]
+ setfield(x, 'width', info.width(bw,bh,bd))
+ setfield(x, 'height', info.height(bw,bh,bd))
+ setfield(x, 'depth', info.depth(bw,bh,bd))
+ end
+ end
+ end
+ return true
+ end
+ end
+ local function set_box_dim(key)
+ local n = tex_getcount('ltj@tempcnta')
+ local s = getbox(n)
+ if s then
+ local l_dir = (get_dir_count())%dir_math_mod
+ s = to_direct(s)
+ local b_dir = get_box_dir(s,dir_yoko)
+ if b_dir<dir_node_auto then
+ set_box_dim_common(key, s, l_dir)
+ elseif b_dir%dir_math_mod == l_dir then
+ -- s is dir_node
+ setfield(s, key, tex.getdimen('ltj@tempdima'))
+ if b_dir<dir_node_manual then
+ set_attr(s, attr_dir, b_dir%dir_node_auto + dir_node_manual)
+ end
+ else
+ local sid, b = getid(s), getlist(s)
+ local info = dir_node_aux[get_box_dir(b,dir_yoko)%dir_math_mod][b_dir%dir_node_auto]
+ local bw, bh, bd
+ = getfield(b,'width'), getfield(b, 'height'), getfield(b, 'depth')
+ local sw, sh, sd
+ = getfield(s,'width'), getfield(s, 'height'), getfield(s, 'depth')
+ if set_box_dim_common(key, b, l_dir) and b_dir<dir_node_manual then
+ -- re-calculate dimension of s, if s is created "automatically"
+ if b_dir<dir_node_manual then
+ setfield(s, 'width', info.width(bw,bh,bd))
+ setfield(s, 'height', info.height(bw,bh,bd))
+ setfield(s, 'depth', info.depth(bw,bh,bd))
+ end
+ end
+ end
+ end
+ end
+ luatexja.direction.set_box_dim = set_box_dim
+end
+
+do
+ local getbox = tex.getbox
+ local function get_register_dir(n)
+ local s = getbox(n)
+ if s then
+ s = to_direct(s)
+ local b_dir = get_box_dir(s, dir_yoko)
+ if b_dir<dir_node_auto then
+ return b_dir
+ else
+ local b_dir = get_box_dir(
+ node_next(node_next(node_next(getlist(s)))), dir_yoko)
+ return b_dir
+ end
+ else
+ return 0
+ end
+ end
+ luatexja.direction.get_register_dir = get_register_dir
+end
+
+do
+ local getbox, setbox, copy_list = tex.getbox, tex.setbox, Dnode.copy_list
+ -- raise, lower
+ function luatexja.direction.raise_box()
+ start_time_measure('box_primitive_hook')
+ local list_dir = get_dir_count()
+ local s = getbox('ltj@afbox')
+ if s then
+ local sd = to_direct(s)
+ local box_dir = get_box_dir(sd, dir_yoko)
+ if box_dir%dir_math_mod ~= list_dir then
+ setbox(
+ 'ltj@afbox',
+ to_node(copy_list(make_dir_whatsit(sd, sd, list_dir, 'box_move')))
+ -- copy_list しないとリストの整合性が崩れる……?
+ )
+ end
+ end
+ stop_time_measure('box_primitive_hook')
+ end
+end
+
+-- PACKED の hbox から文字を取り出す
+-- luatexja.jfmglue.check_box などで使用
+do
+ local function glyph_from_packed(h)
+ local b = getlist(h)
+ return (getid(b)==id_kern or (getid(b)==id_whatsit and getsubtype(b)==sid_save) )
+ and node_next(node_next(node_next(b))) or b
+ end
+ luatexja.direction.glyph_from_packed = glyph_from_packed
+end
+
+-- adjust
+do
+ local id_adjust = node.id('adjust')
+ function luatexja.direction.check_adjust_direction()
+ start_time_measure('box_primitive_hook')
+ local list_dir = get_adjust_dir_count()
+ local a = tex_nest[tex_nest.ptr].tail
+ local ad = to_direct(a)
+ if a and getid(ad)==id_adjust then
+ local adj_dir = get_box_dir(ad)
+ if list_dir~=adj_dir then
+ ltjb.package_error(
+ 'luatexja',
+ 'Direction Incompatible',
+ "\\vadjust's argument and outer vlist must have same direction.")
+ Dnode.last_node()
+ end
+ end
+ stop_time_measure('box_primitive_hook')
+ end
+end
+
+-- insert
+do
+ local id_ins = node.id('ins')
+ local id_rule = node.id('rule')
+ function luatexja.direction.populate_insertion_dir_whatsit()
+ start_time_measure('box_primitive_hook')
+ local list_dir = get_dir_count()
+ local a = tex_nest[tex_nest.ptr].tail
+ local ad = to_direct(a)
+ if a and getid(ad)==id_ins then
+ local h = getfield(ad, 'head')
+ if getid(h)==id_whatsit and
+ getsubtype(h)==sid_user and getfield(h, 'user_id')==DIR then
+ local n = h; h = node_remove(h,h)
+ node_free(n)
+ end
+ for box_rule in traverse(h) do
+ if getid(box_rule)<id_rule then
+ h = insert_before(h, box_rule, dir_pool[list_dir]())
+ end
+ end
+ ensure_tex_attr(attr_dir, 0)
+ setfield(ad, 'head', h)
+ end
+ stop_time_measure('box_primitive_hook')
+ end
+end
+
+-- vsplit
+do
+ local split_dir_whatsit
+ local function dir_adjust_vpack(h, gc)
+ start_time_measure('direction_vpack')
+ local hd = to_direct(h)
+ if gc=='split_keep' then
+ -- supply dir_whatsit
+ hd = create_dir_whatsit_vbox(hd, gc)
+ split_dir_whatsit = hd
+ elseif gc=='split_off' then
+ for bh in traverse_id(id_whatsit, hd) do
+ if getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then
+ ltjs.list_dir = has_attr(bh, attr_dir); break
+ end
+ end
+ -- local bh=hd
+ -- for i=1,2 do
+ -- if bh and getid(bh)==id_whatsit
+ -- and getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then
+ -- ltjs.list_dir = has_attr(bh, attr_dir); break
+ -- end
+ -- bh = node_next(bh)
+ -- end
+ if split_dir_whatsit then
+ -- adjust direction of 'split_keep'
+ set_attr(split_dir_whatsit, attr_dir, ltjs.list_dir)
+ end
+ split_dir_whatsit=nil
+ elseif gc=='preamble' then
+ split_dir_whatsit=nil
+ else
+ adjust_badness(hd)
+ hd = process_dir_node(create_dir_whatsit_vbox(hd, gc), gc)
+ split_dir_whatsit=nil
+ end
+ stop_time_measure('direction_vpack')
+ return to_node(hd)
+ end
+ luatexbase.add_to_callback('vpack_filter',
+ dir_adjust_vpack,
+ 'ltj.direction', 10000)
+end
+
+do
+ -- supply direction whatsit to the main vertical list "of the next page"
+ local function dir_adjust_pre_output(h, gc)
+ return to_node(create_dir_whatsit_vbox(to_direct(h), gc))
+ end
+ luatexbase.add_to_callback('pre_output_filter',
+ dir_adjust_pre_output,
+ 'ltj.direction', 10000)
+
+ function luatexja.direction.remove_end_whatsit()
+ local h=tex.lists.page_head
+ if h and (not h.next) and
+ h.id==id_whatsit and h.subtype==sid_user and
+ h.user_id == DIR then
+ tex.lists.page_head = nil
+ node.free(h)
+ end
+ end
+end
+
+-- buildpage filter
+do
+ local function dir_adjust_buildpage(info)
+ if info=='box' then
+ local head = to_direct(tex.lists.contrib_head)
+ if head then
+ head = make_dir_whatsit(head,
+ node_tail(head),
+ get_dir_count(),
+ 'buildpage')
+ tex.lists.contrib_head = to_node(head)
+ end
+ end
+ end
+ luatexbase.add_to_callback('buildpage_filter',
+ dir_adjust_buildpage,
+ 'ltj.direction', 10000)
+end
+
+-- finalize (executed just before \shipout)
+-- we supply correct pdfsavematrix nodes etc. inside dir_node
+do
+ local finalize_inner
+ local function finalize_dir_node(db,new_dir)
+ local b = getlist(db)
+ finalize_inner(b)
+ local w = getfield(b, 'width')
+ local h = getfield(b, 'height')
+ local d = getfield(b, 'depth')
+ local dn_w = getfield(db, 'width')
+ local dn_h = getfield(db, 'height')
+ local dn_d = getfield(db, 'depth')
+ local db_head, db_tail
+ for _,v in ipairs(dir_node_aux
+ [get_box_dir(b, dir_yoko)%dir_math_mod][new_dir][getid(b)]) do
+ local cmd, arg, nn = v[1], v[2]
+ if cmd=='kern' then
+ nn = node_new(id_kern)
+ setfield(nn, 'kern', arg(w, h, d, dn_w, dn_h, dn_d))
+ elseif cmd=='whatsit' then
+ nn = node_new(id_whatsit, arg)
+ elseif cmd=='rotate' then
+ nn = node_new(id_whatsit, sid_matrix)
+ setfield(nn, 'data', arg)
+ elseif cmd=='box' then
+ nn = b; setfield(b, 'next', nil)
+ setfield(nn, 'shift', arg(w, h, d, dn_w, dn_h, dn_d))
+ end
+ if db_head then
+ insert_after(db_head, db_tail, nn)
+ db_tail = nn
+ else
+ setfield(db, 'head', nn)
+ db_head, db_tail = nn, nn
+ end
+ end
+ end
+
+ tex.setattribute(attr_dir, dir_yoko)
+ local shipout_temp = node_new(id_hlist)
+ tex.setattribute(attr_dir, 0)
+
+ finalize_inner = function (box)
+ for n in traverse(getlist(box)) do
+ local nid = getid(n)
+ if (nid==id_hlist or nid==id_vlist) then
+ local ndir = get_box_dir(n, dir_yoko)
+ if ndir>=dir_node_auto then -- n is dir_node
+ finalize_dir_node(n, ndir%dir_math_mod)
+ else
+ finalize_inner(n)
+ end
+ end
+ end
+ end
+ local getbox = tex.getbox
+ local setbox, copy = Dnode.setbox, Dnode.copy
+ local lua_mem_kb = 0
+ function luatexja.direction.finalize()
+ local a = to_direct(tex.getbox("AtBeginShipoutBox"))
+ local a_dir = get_box_dir(a, dir_yoko)
+ if a_dir~=dir_yoko then
+ local b = create_dir_node(a, a_dir, dir_yoko, false)
+ setfield(b, 'head', a); a = b
+ end
+ setfield(shipout_temp, 'head', a)
+ finalize_inner(shipout_temp)
+ setbox('global', "AtBeginShipoutBox", copy(getlist(shipout_temp)))
+ setfield(shipout_temp, 'head',nil)
+
+ -- garbage collect
+ --local m = collectgarbage('count')
+ --if m>lua_mem_kb+20480 then
+ -- collectgarbage(); lua_mem_kb = collectgarbage('count')
+ --end
+ --print('Lua Memory Usage', lua_mem_kb)
+ end
+end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
index cfef819b869..cec74cfc232 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
@@ -2,6 +2,7 @@
-- luatexja/ltj-inputbuf.lua
--
+luatexja.load_module('base'); local ltjb = luatexja.base
luatexja.load_module('charrange'); local ltjc = luatexja.charrange
require("unicode")
@@ -16,15 +17,20 @@ local FFFFF = string.char(0xF3,0xBF,0xBF,0xBF)
--- the following function is modified from jafontspec.lua (by K. Maeda).
--- Instead of "%", we use U+FFFFF for suppressing spaces.
+--DEBUG require"socket"
+local time_line = 0
+local start_time_measure, stop_time_measure
+ = ltjb.start_time_measure, ltjb.stop_time_measure
local function add_comment(buffer)
+ start_time_measure('inputbuf')
local i = utflen(buffer)
- while (i>0) and (getcatcode(utfbyte(buffer, i))==1
+ while (i>0) and (getcatcode(utfbyte(buffer, i))==1
or getcatcode(utfbyte(buffer, i))==2) do
i=i-1
end
if i>0 then
local c = utfbyte(buffer, i)
- if c>0x80 then
+ if c>=0x80 then
local ct = getcatcode(c)
local te = tex.endlinechar
local ctl = (te ~= -1) and (getcatcode(te)==5) and (getcatcode(0xFFFFF)==14)
@@ -37,10 +43,11 @@ local function add_comment(buffer)
end
end
end
+ stop_time_measure('inputbuf')
return buffer
end
-luatexbase.add_to_callback('process_input_buffer',
+luatexbase.add_to_callback('process_input_buffer',
add_comment,'ltj.process_input_buffer')
--EOF
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
index 6b2fb95d4a5..e0cb298680c 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
@@ -3,7 +3,7 @@
--
luatexbase.provides_module({
name = 'luatexja.jfmglue',
- date = '2014/02/02',
+ date = '2015/02/07',
description = 'Insertion process of JFM glues and kanjiskip',
})
module('luatexja.jfmglue', package.seeall)
@@ -12,6 +12,8 @@ local err, warn, info, log = luatexbase .errwarinf(_NAME)
luatexja.load_module('base'); local ltjb = luatexja.base
luatexja.load_module('stack'); local ltjs = luatexja.stack
luatexja.load_module('jfont'); local ltjf = luatexja.jfont
+luatexja.load_module('direction'); local ltjd = luatexja.direction
+luatexja.load_module('setwidth'); local ltjw = luatexja.setwidth
local pairs = pairs
local Dnode = node.direct or node
@@ -34,16 +36,16 @@ local insert_before = Dnode.insert_before
local insert_after = Dnode.insert_after
local node_next = (Dnode ~= node) and Dnode.getnext or node.next
local round = tex.round
+local ltjd_make_dir_whatsit = ltjd.make_dir_whatsit
local ltjf_font_metric_table = ltjf.font_metric_table
local ltjf_find_char_class = ltjf.find_char_class
local node_new = Dnode.new
local node_copy = Dnode.copy
-local node_remove = luatexja.Dnode_remove -- Dnode.remove
+local node_remove = Dnode.remove
local node_tail = Dnode.tail
local node_free = Dnode.free
local node_end_of_math = Dnode.end_of_math
-
local id_glyph = node.id('glyph')
local id_hlist = node.id('hlist')
local id_vlist = node.id('vlist')
@@ -64,6 +66,7 @@ local id_box_like = 256 -- vbox, shifted hbox
local id_pbox = 257 -- already processed nodes (by \unhbox)
local id_pbox_w = 258 -- cluster which consists of a whatsit
local sid_user = node.subtype('user_defined')
+local lang_ja = luatexja.lang_ja
local sid_start_link = node.subtype('pdf_start_link')
local sid_start_thread = node.subtype('pdf_start_thread')
@@ -78,12 +81,19 @@ local PROCESSED = luatexja.icflag_table.PROCESSED
local IC_PROCESSED = luatexja.icflag_table.IC_PROCESSED
local BOXBDD = luatexja.icflag_table.BOXBDD
local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG
+
+local attr_icflag = luatexbase.attributes['ltj@icflag']
local kanji_skip
local xkanji_skip
local table_current_stack
+local list_dir
+local capsule_glyph
+local tex_dir
+local attr_ablshift
+local set_np_xspc_jachar
+local set_np_xspc_jachar_hbox
-local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
-local attr_icflag = luatexbase.attributes['ltj@icflag']
+local ltjs_orig_char_table = ltjs.orig_char_table
local function get_attr_icflag(p)
return (has_attr(p, attr_icflag) or 0)%PROCESSED_BEGIN_FLAG
@@ -91,10 +101,6 @@ end
-------------------- Helper functions
-local function copy_attr(new, old)
- -- 仕様が決まるまで off にしておく
-end
-
-- This function is called only for acquiring `special' characters.
local function fast_find_char_class(c,m)
return m.chars[c] or 0
@@ -103,12 +109,14 @@ end
-- 文字クラスの決定
local slow_find_char_class
do
+ local start_time_measure = ltjb.start_time_measure
+ local stop_time_measure = ltjb.stop_time_measure
slow_find_char_class = function (c, m, oc)
local cls = ltjf_find_char_class(oc, m)
- if cls==0 then
- return ltjf_find_char_class(-c, m), oc
+ if oc~=c and c and cls==0 then
+ return ltjf_find_char_class(c, m)
else
- return cls, oc
+ return cls
end
end
end
@@ -139,16 +147,15 @@ end
local function add_penalty(p,e)
local pp = getfield(p, 'penalty')
if pp>=10000 then
- if e<=-10000 then pp = 0 end
+ if e<=-10000 then setfield(p, 'penalty', 0) end
elseif pp<=-10000 then
- if e>=10000 then pp = 0 end
+ if e>=10000 then setfield(p, 'penalty', 0) end
else
pp = pp + e
if pp>=10000 then setfield(p, 'penalty', 10000)
elseif pp<=-10000 then setfield(p, 'penalty', -10000)
else setfield(p, 'penalty', pp) end
end
- return
end
-- 「異なる JFM」の間の調整方法
@@ -164,16 +171,17 @@ local head -- the head of current list
local Np, Nq, Bp
local widow_Bp, widow_Np -- \jcharwidowpenalty 挿入位置管理用
-local ihb_flag -- JFM グルー挿入抑止用 flag
- -- on: \inhibitglue 指定時,hlist の周囲
+local non_ihb_flag -- JFM グルー挿入抑止用 flag
+-- false: \inhibitglue 指定時 true: それ以外
-------------------- hlist 内の文字の検索
local first_char, last_char, find_first_char
-
+do
+local ltjd_glyph_from_packed = ltjd.glyph_from_packed
local function check_box(box_ptr, box_end)
local p = box_ptr; local found_visible_node = false
- if not p then
+ if not p then
find_first_char = false; last_char = nil
return true
end
@@ -183,24 +191,23 @@ local function check_box(box_ptr, box_end)
p = node_next(node_next(node_next(p))); pid = getid(p) -- p must be glyph_node
end
if pid==id_glyph then
- repeat
- if find_first_char then
+ repeat
+ if find_first_char then
first_char = p; find_first_char = false
end
last_char = p; found_visible_node = true; p=node_next(p)
- if (not p) or p==box_end then
- return found_visible_node
+ if (not p) or p==box_end then
+ return found_visible_node
end
until getid(p)~=id_glyph
pid = getid(p) -- p must be non-nil
end
if pid==id_kern then
local pa = get_attr_icflag(p)
- --if pa==IC_PROCESSED or pa == PACKED then
if pa==IC_PROCESSED then
-- do nothing
elseif getsubtype(p)==2 then
- p = node_next(node_next(p));
+ p = node_next(node_next(p));
-- Note that another node_next will be executed outside this if-statement.
else
found_visible_node = true
@@ -208,23 +215,26 @@ local function check_box(box_ptr, box_end)
end
elseif pid==id_hlist then
if PACKED == get_attr_icflag(p) then
+ local s = ltjd_glyph_from_packed(p)
if find_first_char then
- first_char = getlist(p); find_first_char = false
+ first_char = s; find_first_char = false
end
- last_char = getlist(p); found_visible_node = true
+ last_char = s; found_visible_node = true
else
if getfield(p, 'shift')==0 then
+ last_char = nil
if check_box(getlist(p), nil) then found_visible_node = true end
- else
+ else
find_first_char = false; last_char = nil
end
end
elseif pid==id_math then
- if find_first_char then
+ if find_first_char then
first_char = p; find_first_char = false
end
last_char = p; found_visible_node = true
- --elseif pid==id_rule and get_attr_icflag(p)==PACKED then -- do nothing
+ elseif pid==id_rule and get_attr_icflag(p)==PACKED then
+ -- do nothing
elseif not (pid==id_ins or pid==id_mark
or pid==id_adjust or pid==id_whatsit
or pid==id_penalty) then
@@ -234,7 +244,7 @@ local function check_box(box_ptr, box_end)
p = node_next(p)
end
return found_visible_node
-end
+end
function check_box_high(Nx, box_ptr, box_end)
first_char = nil; last_char = nil; find_first_char = true
@@ -242,8 +252,8 @@ function check_box_high(Nx, box_ptr, box_end)
local first_char = first_char
if first_char then
if getid(first_char)==id_glyph then
- if getfont(first_char) == (has_attr(first_char, attr_curjfnt) or -1) then
- set_np_xspc_jachar(Nx, first_char)
+ if getfield(first_char, 'lang') == lang_ja then
+ set_np_xspc_jachar_hbox(Nx, first_char)
else
set_np_xspc_alchar(Nx, getchar(first_char),first_char, 1)
end
@@ -254,85 +264,188 @@ function check_box_high(Nx, box_ptr, box_end)
end
return last_char
end
-
+end
-------------------- Np の計算と情報取得
-luatexbase.create_callback("luatexja.jfmglue.whatsit_getinfo", "data",
- function (Np, lp, Nq)
- if Np.nuc then return Np
- else
+luatexbase.create_callback("luatexja.jfmglue.whatsit_getinfo", "data",
+ function (Np, lp, Nq)
+ if Np.nuc then return Np
+ else
return Np -- your code
end
end)
-luatexbase.create_callback("luatexja.jfmglue.whatsit_after", "data",
+luatexbase.create_callback("luatexja.jfmglue.whatsit_after", "data",
function (stat, Nq, Np) return false end)
-- calc next Np
+local calc_np
do
-local function set_attr_icflag_processed(p)
- if get_attr_icflag(p)<= ITALIC then
- set_attr(p, attr_icflag, PROCESSED)
- end
-end
-
+local traverse = Dnode.traverse
local function check_next_ickern(lp)
if lp and getid(lp) == id_kern and ITALIC == get_attr_icflag(lp) then
set_attr(lp, attr_icflag, IC_PROCESSED)
Np.last = lp; return node_next(lp)
- else
+ else
Np.last = Np.nuc; return lp
end
end
local function calc_np_pbox(lp, last)
+ local first, lpa, nc = (not Np.first), KINSOKU, nil
Np.first = Np.first or lp; Np.id = id_pbox
- local lpa, nc = KINSOKU, nil
set_attr(lp, attr_icflag, get_attr_icflag(lp));
while lp ~=last and (lpa>=PACKED) and (lpa<BOXBDD) do
- nc, lp = lp, node_next(lp); lpa = lp and has_attr(lp, attr_icflag) or 0
+ if getid(lp)==id_hlist or getid(lp)==id_vlist then
+ head, lp, nc = ltjd_make_dir_whatsit(head, lp, list_dir, 'jfm pbox')
+ Np.first = first and nc or Np.first
+ else
+ nc, lp = lp, node_next(lp)
+ end
+ first, lpa = false, (lp and has_attr(lp, attr_icflag) or 0)
-- get_attr_icflag() ではいけない!
end
Np.nuc = nc
- return check_next_ickern(lp)
+ lp = check_next_ickern(lp)
+ Np.last_char = check_box_high(Np, Np.first, lp)
+ return lp
end
-
+local ltjw_apply_ashift_math = ltjw.apply_ashift_math
+local ltjw_apply_ashift_disc = ltjw.apply_ashift_disc
+local min, max = math.min, math.max
+local function calc_np_aux_glyph_common(lp)
+ Np.nuc = lp
+ Np.first= (Np.first or lp)
+ if getfield(lp, 'lang') == lang_ja then
+ Np.id = id_jglyph
+ local m, cls = set_np_xspc_jachar(Np, lp)
+ local npi, npf
+ lp, head, npi, npf = capsule_glyph(lp, m, cls, head, tex_dir, lp)
+ Np.first = (Np.first~=Np.nuc) and Np.first or npf or npi
+ Np.nuc = npi
+ return true, check_next_ickern(lp);
+ else
+ Np.id = id_glyph
+ set_np_xspc_alchar(Np, getchar(lp), lp, 1)
+ -- loop
+ local first_glyph, last_glyph = lp
+ set_attr(lp, attr_icflag, PROCESSED); Np.last = lp
+ local y_adjust = has_attr(lp,attr_ablshift) or 0
+ local node_depth = getfield(lp, 'depth') + min(y_adjust, 0)
+ local adj_depth = (y_adjust>0) and (getfield(lp, 'depth') + y_adjust) or 0
+ setfield(lp, 'yoffset', getfield(lp, 'yoffset') - y_adjust)
+ lp = node_next(lp)
+ for lx in traverse(lp) do
+ local lai = get_attr_icflag(lx)
+ if lx==last or lai>=PACKED then
+ lp=lx; break
+ else
+ local lid = getid(lx)
+ if lid==id_glyph and getfield(lx, 'lang') ~= lang_ja then
+ -- 欧文文字
+ last_glyph = lx; set_attr(lx, attr_icflag, PROCESSED); Np.last = lx
+ y_adjust = has_attr(lx,attr_ablshift) or 0
+ node_depth = max(getfield(lx, 'depth') + min(y_adjust, 0), node_depth)
+ adj_depth = (y_adjust>0) and max(getfield(lx, 'depth') + y_adjust, adj_depth) or adj_depth
+ setfield(lx, 'yoffset', getfield(lx, 'yoffset') - y_adjust)
+ elseif lid==id_kern then
+ local ls = getsubtype(lx)
+ if ls==2 then -- アクセント用の kern
+ set_attr(lx, attr_icflag, PROCESSED)
+ lx = node_next(lx) -- lp: アクセント本体
+ setfield(lx, 'yoffset', getfield(lp, 'yoffset') - (has_attr(lx,attr_ablshift) or 0))
+ lx = node_next(node_next(lx))
+ elseif ls==0 then
+ Np.last = lx
+ elseif (ls==1 and lai==ITALIC) then
+ Np.last = lx; set_attr(lx, attr_icflag, IC_PROCESSED)
+ else
+ lp=lx; break
+ end
+ else
+ lp=lx; break
+ end
+ end
+ end
+ local r
+ if adj_depth>node_depth then
+ r = node_new(id_rule)
+ setfield(r, 'width', 0); setfield(r, 'height', 0)
+ setfield(r, 'depth',adj_depth); setfield(r, 'dir', tex_dir)
+ set_attr(r, attr_icflag, PROCESSED)
+ end
+ if last_glyph then
+ Np.last_char = last_glyph
+ if r then insert_after(head, first_glyph, r) end
+ else
+ local npn = Np.nuc
+ Np.last_char = npn
+ if r then
+ local nf, nc = getfont(npn), getchar(npn)
+ local ct = (font.getfont(nf) or font.fonts[nf] ).characters[nc]
+ if (ct.left_protruding or 0) == 0 then
+ head = insert_before(head, npn, r)
+ Np.first = (Np.first==npn) and r or npn
+ elseif (ct.right_protruding or 0) == 0 then
+ insert_after(head, npn, r); Np.last, lp = r, r
+ else
+ ltjb.package_warning_no_line(
+ 'luatexja',
+ 'Check depth of glyph node ' .. tostring(npn) .. '(font=' .. nf
+ .. ', char=' .. nc .. '), because its \\lpcode is ' .. tostring(ct.left_protruding)
+ .. ' and its \\rpcode is ' .. tostring(ct.right_protruding)
+ ); node_free(r)
+ end
+ end
+ end
+ return true, lp
+ end
+end
local calc_np_auxtable = {
- [id_glyph] = function (lp)
- Np.first, Np.nuc = (Np.first or lp), lp;
- Np.id = (getfont(lp) == (has_attr(lp, attr_curjfnt) or -1))
- and id_jglyph or id_glyph
- return true, check_next_ickern(node_next(lp));
+ [id_glyph] = calc_np_aux_glyph_common,
+ [id_hlist] = function(lp)
+ local op, flag
+ head, lp, op, flag = ltjd_make_dir_whatsit(head, lp, list_dir, 'jfm hlist')
+ set_attr(op, attr_icflag, PROCESSED)
+ Np.first = Np.first or op; Np.last = op; Np.nuc = op;
+ if (flag or getfield(op, 'shift')~=0) then
+ Np.id = id_box_like
+ else
+ Np.id = id_hlist
+ Np.last_char = check_box_high(Np, getlist(op), nil)
+ end
+ return true, lp
end,
- [id_hlist] = function(lp)
- Np.first = Np.first or lp; Np.last = lp; Np.nuc = lp;
- set_attr(lp, attr_icflag, PROCESSED)
- Np.id = (getfield(lp, 'shift')~=0) and id_box_like or id_hlist
- return true, node_next(lp)
+ [id_vlist] = function(lp)
+ local op
+ head, lp, op = ltjd_make_dir_whatsit(head, lp, list_dir, 'jfm:' .. getid(lp))
+ Np.first = Np.first or op; Np.last = op; Np.nuc = op;
+ Np.id = id_box_like;
+ return true, lp
end,
box_like = function(lp)
- Np.first = Np.first or lp; Np.nuc = lp; Np.last = lp;
- Np.id = id_box_like; set_attr(lp, attr_icflag, PROCESSED)
- return true, node_next(lp);
+ Np.first = Np.first or lp; Np.last = lp; Np.nuc = lp;
+ Np.id = id_box_like;
+ return true, node_next(lp)
end,
- skip = function(lp)
+ skip = function(lp)
set_attr(lp, attr_icflag, PROCESSED)
return false, node_next(lp)
end,
- [id_whatsit] = function(lp)
+ [id_whatsit] = function(lp)
local lps = getsubtype(lp)
if lps==sid_user then
if getfield(lp, 'user_id')==luatexja.userid_table.IHB then
- local lq = node_next(lp);
- head = node_remove(head, lp); node_free(lp); ihb_flag = true
+ local lq = node_next(lp);
+ head = node_remove(head, lp); node_free(lp); non_ihb_flag = false
return false, lq;
else
set_attr(lp, attr_icflag, PROCESSED)
luatexbase.call_callback("luatexja.jfmglue.whatsit_getinfo",
Np, lp, Nq)
- if Np.nuc then
- Np.id = id_pbox_w; Np.first = Np.nuc; Np.last = Np.nuc;
+ if Np.nuc then
+ Np.id = id_pbox_w; Np.first = Np.nuc; Np.last = Np.nuc;
return true, node_next(lp)
else
return false, node_next(lp)
@@ -341,7 +454,7 @@ local calc_np_auxtable = {
else
-- we do special treatment for these whatsit nodes.
if lps == sid_start_link or lps == sid_start_thread then
- Np.first = lp
+ Np.first = lp
elseif lps == sid_end_link or lps == sid_end_thread then
Np.first, Nq.last = nil, lp;
end
@@ -350,28 +463,37 @@ local calc_np_auxtable = {
end
end,
[id_math] = function(lp)
- Np.first, Np.nuc = (Np.first or lp), lp;
- set_attr(lp, attr_icflag, PROCESSED)
- lp = node_end_of_math(lp)
+ Np.first, Np.nuc = (Np.first or lp), lp;
set_attr(lp, attr_icflag, PROCESSED)
- Np.last, Np.id = lp, id_math;
- return true, node_next(lp);
+ set_np_xspc_alchar(Np, -1, lp)
+ local end_math = node_end_of_math(lp)
+ ltjw_apply_ashift_math(lp, end_math, attr_ablshift)
+ set_attr(end_math, attr_icflag, PROCESSED)
+ Np.last, Np.id = end_math, id_math;
+ return true, node_next(end_math);
+ end,
+ [id_glue] = function(lp)
+ Np.first, Np.nuc, Np.last = (Np.first or lp), lp, lp;
+ Np.id = getid(lp); set_attr(lp, attr_icflag, PROCESSED)
+ return true, node_next(lp)
end,
- discglue = function(lp)
- Np.first, Np.nuc, Np.last = (Np.first or lp), lp, lp;
+ [id_disc] = function(lp)
+ Np.first, Np.nuc, Np.last = (Np.first or lp), lp, lp;
Np.id = getid(lp); set_attr(lp, attr_icflag, PROCESSED)
+ ltjw_apply_ashift_disc(lp, (list_dir==dir_tate), tex_dir)
+ Np.last_char = check_box_high(Np, getfield(lp, 'replace'), nil)
return true, node_next(lp)
end,
- [id_kern] = function(lp)
- Np.first = Np.first or lp
+ [id_kern] = function(lp)
if getsubtype(lp)==2 then
+ Np.first = Np.first or lp
set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
- set_attr(lp, attr_icflag, PROCESSED); Np.nuc = lp
- Np.id = (getfont(lp) == (has_attr(lp, attr_curjfnt) or -1)) and id_jglyph or id_glyph
- return true, check_next_ickern(node_next(lp));
+ set_attr(lp, attr_icflag, PROCESSED);
+ return calc_np_aux_glyph_common(lp)
else
+ Np.first = Np.first or lp
Np.id = id_kern; set_attr(lp, attr_icflag, PROCESSED)
Np.last = lp; return true, node_next(lp)
end
@@ -381,19 +503,16 @@ local calc_np_auxtable = {
return false, node_next(lp)
end,
}
-calc_np_auxtable[id_vlist] = calc_np_auxtable.box_like
calc_np_auxtable[id_rule] = calc_np_auxtable.box_like
calc_np_auxtable[13] = calc_np_auxtable.box_like
calc_np_auxtable[id_ins] = calc_np_auxtable.skip
calc_np_auxtable[id_mark] = calc_np_auxtable.skip
calc_np_auxtable[id_adjust] = calc_np_auxtable.skip
-calc_np_auxtable[id_disc] = calc_np_auxtable.discglue
-calc_np_auxtable[id_glue] = calc_np_auxtable.discglue
-function calc_np(lp, last)
+function calc_np(last, lp)
local k
-- We assume lp = node_next(Np.last)
- Np, Nq, ihb_flag = Nq, Np, nil
+ Np, Nq, non_ihb_flag = Nq, Np, true
-- We clear `predefined' entries of Np before pairs() loop,
-- because using only pairs() loop is slower.
Np.post, Np.pre, Np.xspc = nil, nil, nil
@@ -407,20 +526,19 @@ function calc_np(lp, last)
-- unbox 由来ノードの検出
if lpa>=PACKED then
if lpa%PROCESSED_BEGIN_FLAG == BOXBDD then
- local lq = node_next(lp)
+ local lq = node_next(lp)
head = node_remove(head, lp); node_free(lp); lp = lq
- else return calc_np_pbox(lp, last)
+ else
+ return calc_np_pbox(lp, last)
end -- id_pbox
else
k, lp = calc_np_auxtable[getid(lp)](lp)
if k then return lp end
end
end
- Np = nil; return lp
+ Np=nil
end
-
end
-local calc_np = calc_np
-- extract informations from Np
-- We think that "Np is a Japanese character" if Np.met~=nil,
@@ -433,24 +551,39 @@ do
local POST = luatexja.stack_table_index.POST
local KCAT = luatexja.stack_table_index.KCAT
local XSP = luatexja.stack_table_index.XSP
+ local dir_tate = luatexja.dir_table.dir_tate
-- 和文文字のデータを取得
local attr_jchar_class = luatexbase.attributes['ltj@charclass']
- local attr_orig_char = luatexbase.attributes['ltj@origchar']
+ local attr_jchar_code = luatexbase.attributes['ltj@charcode']
local attr_autospc = luatexbase.attributes['ltj@autospc']
local attr_autoxspc = luatexbase.attributes['ltj@autoxspc']
+ --local ltjf_get_vert_glyph = ltjf.get_vert_glyph
function set_np_xspc_jachar(Nx, x)
local m = ltjf_font_metric_table[getfont(x)]
- local cls, c = slow_find_char_class(has_attr(x, attr_orig_char), m, getchar(x))
- Nx.met, Nx.char = m, c; Nx.class = cls;
+ local c, c_glyph = ltjs_orig_char_table[x], getchar(x)
+ c = c or c_glyph
+ local cls = slow_find_char_class(c, m, c_glyph)
+ Nx.met, Nx.class, Nx.char = m, cls, c;
if cls~=0 then set_attr(x, attr_jchar_class, cls) end
+ if c~=c_glyph then set_attr(x, attr_jchar_code, c) end
+ Nx.pre = table_current_stack[PRE + c] or 0
+ Nx.post = table_current_stack[POST + c] or 0
+ Nx.xspc = table_current_stack[XSP + c] or 3
+ Nx.kcat = table_current_stack[KCAT + c] or 0
+ Nx.auto_kspc, Nx.auto_xspc = (has_attr(x, attr_autospc)==1), (has_attr(x, attr_autoxspc)==1)
+ return m, cls
+ end
+ function set_np_xspc_jachar_hbox(Nx, x)
+ local m = ltjf_font_metric_table[getfont(x)]
+ local c = has_attr(x, attr_jchar_code) or getchar(x)
+ Nx.met, Nx.char = m, c; Nx.class = has_attr(x, attr_jchar_class) or 0;
Nx.pre = table_current_stack[PRE + c] or 0
Nx.post = table_current_stack[POST + c] or 0
Nx.xspc = table_current_stack[XSP + c] or 3
Nx.kcat = table_current_stack[KCAT + c] or 0
Nx.auto_kspc, Nx.auto_xspc = (has_attr(x, attr_autospc)==1), (has_attr(x, attr_autoxspc)==1)
- end
- local set_np_xspc_jachar = set_np_xspc_jachar
+ end
-- 欧文文字のデータを取得
local floor = math.floor
@@ -465,9 +598,8 @@ do
Nx.pre = table_current_stack[PRE + c] or 0
Nx.post = table_current_stack[POST + c] or 0
Nx.xspc = table_current_stack[XSP + c] or 3
- Nx.char = 'jcharbdd'
else
- Nx.pre, Nx.post, Nx.char = 0, 0, -1
+ Nx.pre, Nx.post = 0, 0
Nx.xspc = table_current_stack[XSP - 1] or 3
end
Nx.met = nil
@@ -475,26 +607,14 @@ do
end
local set_np_xspc_alchar = set_np_xspc_alchar
--- Np の情報取得メインルーチン
- extract_np = function ()
- local x, i = Np.nuc, Np.id;
- if i == id_jglyph then return set_np_xspc_jachar(Np, x)
- elseif i == id_glyph then return set_np_xspc_alchar(Np, getchar(x), x, 1)
- elseif i == id_hlist then Np.last_char = check_box_high(Np, getlist(x), nil)
- elseif i == id_pbox then Np.last_char = check_box_high(Np, Np.first, node_next(Np.last))
- elseif i == id_disc then Np.last_char = check_box_high(Np, getfield(x, 'replace'), nil)
- elseif i == id_math then return set_np_xspc_alchar(Np, -1, x)
- end
- end
-
-- change the information for the next loop
-- (will be done if Nx is an alphabetic character or a hlist)
after_hlist = function (Nx)
local s = Nx.last_char
if s then
if getid(s)==id_glyph then
- if getfont(s) == (has_attr(s, attr_curjfnt) or -1) then
- set_np_xspc_jachar(Nx, s)
+ if getfield(s, 'lang') == lang_ja then
+ set_np_xspc_jachar_hbox(Nx, s)
else
set_np_xspc_alchar(Nx, getchar(s), s, 2)
end
@@ -505,9 +625,9 @@ do
Nx.pre, Nx.met = nil, nil
end
end
-
+
after_alchar = function (Nx)
- local x = Nx.nuc
+ local x = Nx.last_char
return set_np_xspc_alchar(Nx, getchar(x), x, 2)
end
@@ -524,7 +644,7 @@ local function handle_penalty_normal(post, pre, g)
if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end
setfield(p, 'penalty', a)
head = insert_before(head, Np.first, p)
- Bp[1]=p;
+ Bp[1]=p;
set_attr(p, attr_icflag, KINSOKU)
end
else for _, v in pairs(Bp) do add_penalty(v,a) end
@@ -562,18 +682,18 @@ end
-- 和文文字間の JFM glue を node 化
local function new_jfm_glue(m, bc, ac)
-- bc, ac: char classes
- local g, d = m.char_type[bc][ac], 0
- local n
+ local g = m.char_type[bc][ac]
if g then
- n,d = node_copy(g[2]), g[3]
- if g[1] then
+ if g[1] then
local f = node_new(id_glue)
set_attr(f, attr_icflag, g[4])
- setfield(f, 'spec', n)
- return f, d
+ setfield(f, 'spec', node_copy(g[2]))
+ return f, g[3]
+ else
+ return node_copy(g[2]), g[3]
end
end
- return n, d
+ return nil, 0
end
-- Nq.last (kern w) .... (glue/kern g) Np.first
@@ -586,7 +706,7 @@ end
-------------------- 和文文字間空白量の決定
-
+local null_skip_table = {0, 0, 0}
-- get kanjiskip
local get_kanjiskip
local get_kanjiskip_normal, get_kanjiskip_jfm
@@ -610,13 +730,13 @@ do
local gx = node_new(id_glue_spec);
setfield(gx, 'stretch_order', 0); setfield(gx, 'shrink_order', 0)
local pm, qm = Np.met, Nq.met
- local bk = qm.kanjiskip or {0, 0, 0}
+ local bk = qm.kanjiskip or null_skip_table
if (pm.char_type==qm.char_type) and (qm.var==pm.var) then
setfield(gx, 'width', bk[1])
setfield(gx, 'stretch', bk[2])
setfield(gx, 'shrink', bk[3])
else
- local ak = pm.kanjiskip or {0, 0, 0}
+ local ak = pm.kanjiskip or null_skip_table
setfield(gx, 'width', round(diffmet_rule(bk[1], ak[1])))
setfield(gx, 'stretch', round(diffmet_rule(bk[2], ak[2])))
setfield(gx, 'shrink', -round(diffmet_rule(-bk[3], -ak[3])))
@@ -638,20 +758,20 @@ do
local bk_ak = 2*id_kern - id_kern
calc_ja_ja_aux = function (gb,ga, db, da)
- local rbb, rab = (1-db)/2, (1-da)/2 -- 「前の文字」由来のグルーの割合
- local rba, raa = (1+db)/2, (1+da)/2 -- 「前の文字」由来のグルーの割合
- if diffmet_rule ~= math.two_pleft and diffmet_rule ~= math.two_pright
+ local rbb, rab = 0.5*(1-db), 0.5*(1-da) -- 「前の文字」由来のグルーの割合
+ local rba, raa = 0.5*(1+db), 0.5*(1+da) -- 「前の文字」由来のグルーの割合
+ if diffmet_rule ~= math.two_pleft and diffmet_rule ~= math.two_pright
and diffmet_rule ~= math.two_paverage then
rbb, rab, rba, raa = 1,0,0,1
end
- if not gb then
- if ga then
- gb = node_new(id_kern); setfield(gb, 'kern', 0)
+ if not gb then
+ if ga then
+ gb = node_new(id_kern); setfield(gb, 'kern', 0)
else return nil end
- elseif not ga then
+ elseif not ga then
ga = node_new(id_kern); setfield(ga, 'kern', 0)
end
-
+
local k = 2*getid(gb) - getid(ga)
if k == bg_ag then
local bs, as = getfield(gb, 'spec'), getfield(ga, 'spec')
@@ -670,7 +790,7 @@ do
setfield(gb, 'kern', round(diffmet_rule(rbb*bd + rba*ad, rab*bd + raa*ad)))
node_free(ga)
return gb
- elseif k == bk_ag then
+ elseif k == bk_ag then
local as = getfield(ga, 'spec')
-- gb: kern, ga: glue
local bd, ad = getfield(gb, 'kern'), getfield(as, 'width')
@@ -697,22 +817,19 @@ do
end
local function calc_ja_ja_glue()
- if ihb_flag then return nil
+ local qm, pm = Nq.met, Np.met
+ if (qm.char_type==pm.char_type) and (qm.var==pm.var) then
+ return new_jfm_glue(qm, Nq.class, Np.class)
else
- local qm, pm = Nq.met, Np.met
- if (qm.char_type==pm.char_type) and (qm.var==pm.var) then
- return new_jfm_glue(qm, Nq.class, Np.class)
- else
- local npn, nqn = Np.nuc, Nq.nuc
- local gb, db = new_jfm_glue(qm, Nq.class,
- slow_find_char_class(has_attr(npn, attr_orig_char),
- qm, getchar(npn)))
- local ga, da = new_jfm_glue(pm,
- slow_find_char_class(has_attr(nqn, attr_orig_char),
- pm, getchar(nqn)),
- Np.class)
- return calc_ja_ja_aux(gb, ga, db, da);
- end
+ local npn, nqn = Np.nuc, Nq.nuc
+ local gb, db = new_jfm_glue(qm, Nq.class,
+ slow_find_char_class(Np.char,
+ qm, getchar(npn)))
+ local ga, da = new_jfm_glue(pm,
+ slow_find_char_class(Nq.char,
+ pm, getchar(nqn)),
+ Np.class)
+ return calc_ja_ja_aux(gb, ga, db, da);
end
end
@@ -726,8 +843,7 @@ do
local XKANJI_SKIP_JFM = luatexja.icflag_table.XKANJI_SKIP_JFM
get_xkanjiskip_normal = function (Nn)
if (Nq.xspc>=2) and (Np.xspc%2==1) and (Nq.auto_xspc or Np.auto_xspc) then
- local f = node_copy(xkanji_skip)
- return f
+ return node_copy(xkanji_skip)
else
local g = node_copy(zero_glue)
set_attr(g, attr_icflag, XKANJI_SKIP)
@@ -740,7 +856,7 @@ do
g = node_new(id_glue)
local gx = node_new(id_glue_spec);
setfield(gx, 'stretch_order', 0); setfield(gx, 'shrink_order', 0)
- local bk = Nn.met.xkanjiskip or {0, 0, 0}
+ local bk = Nn.met.xkanjiskip or null_skip_table
setfield(gx, 'width', bk[1])
setfield(gx, 'stretch', bk[2])
setfield(gx, 'shrink', bk[3])
@@ -756,36 +872,30 @@ end
-------------------- 隣接した「塊」間の処理
local function get_OA_skip()
- if not ihb_flag then
- local pm = Np.met
- return new_jfm_glue(pm,
- fast_find_char_class(((Nq.id == id_math and -1) or (type(Nq.char)=='string' and Nq.char or 'jcharbdd')), pm), Np.class)
- else return nil
- end
+ local pm = Np.met
+ return new_jfm_glue(pm,
+ fast_find_char_class((Nq.id == id_math and -1 or 'jcharbdd'), pm), Np.class)
end
local function get_OB_skip()
- if not ihb_flag then
- local qm = Nq.met
- return new_jfm_glue(qm, Nq.class,
- fast_find_char_class(((Np.id == id_math and -1) or'jcharbdd'), qm))
- else return nil
- end
+ local qm = Nq.met
+ return new_jfm_glue(qm, Nq.class,
+ fast_find_char_class((Np.id == id_math and -1 or'jcharbdd'), qm))
end
-- (anything) .. jachar
local function handle_np_jachar(mode)
local qid = Nq.id
- if qid==id_jglyph or ((qid==id_pbox or qid==id_pbox_w) and Nq.met) then
- local g = calc_ja_ja_glue() or get_kanjiskip() -- M->K
+ if qid==id_jglyph or ((qid==id_pbox or qid==id_pbox_w) and Nq.met) then
+ local g = non_ihb_flag and calc_ja_ja_glue() or get_kanjiskip() -- M->K
handle_penalty_normal(Nq.post, Np.pre, g); real_insert(g)
elseif Nq.met then -- qid==id_hlist
- local g = get_OA_skip() or get_kanjiskip() -- O_A->K
+ local g = non_ihb_flag and get_OA_skip() or get_kanjiskip() -- O_A->K
handle_penalty_normal(0, Np.pre, g); real_insert(g)
- elseif Nq.pre then
- local g = get_OA_skip() or get_xkanjiskip(Np) -- O_A->X
+ elseif Nq.pre then
+ local g = non_ihb_flag and get_OA_skip() or get_xkanjiskip(Np) -- O_A->X
handle_penalty_normal((qid==id_hlist and 0 or Nq.post), Np.pre, g); real_insert(g)
else
- local g = get_OA_skip() -- O_A
+ local g = non_ihb_flag and get_OA_skip() -- O_A
if qid==id_glue then handle_penalty_normal(0, Np.pre, g)
elseif qid==id_kern then handle_penalty_suppress(0, Np.pre, g)
else handle_penalty_always(0, Np.pre, g)
@@ -800,11 +910,11 @@ end
-- jachar .. (anything)
local function handle_nq_jachar()
- if Np.pre then
- local g = get_OB_skip() or get_xkanjiskip(Nq) -- O_B->X
+ if Np.pre then
+ local g = non_ihb_flag and get_OB_skip() or get_xkanjiskip(Nq) -- O_B->X
handle_penalty_normal(Nq.post, (Np.id==id_hlist and 0 or Np.pre), g); real_insert(g)
else
- local g = get_OB_skip() -- O_B
+ local g =non_ihb_flag and get_OB_skip() -- O_B
if Np.id==id_glue then handle_penalty_normal(Nq.post, 0, g)
elseif Np.id==id_kern then handle_penalty_suppress(Nq.post, 0, g)
else handle_penalty_always(Nq.post, 0, g)
@@ -816,13 +926,13 @@ end
-- (anything) .. (和文文字で始まる hlist)
local function handle_np_ja_hlist()
local qid = Nq.id
- if qid==id_jglyph or ((qid==id_pbox or Nq.id == id_pbox_w) and Nq.met) then
- local g = get_OB_skip() or get_kanjiskip() -- O_B->K
+ if qid==id_jglyph or ((qid==id_pbox or Nq.id == id_pbox_w) and Nq.met) then
+ local g = non_ihb_flag and get_OB_skip() or get_kanjiskip() -- O_B->K
handle_penalty_normal(Nq.post, 0, g); real_insert(g)
elseif Nq.met then -- Nq.id==id_hlist
local g = get_kanjiskip() -- K
handle_penalty_suppress(0, 0, g); real_insert(g)
- elseif Nq.pre then
+ elseif Nq.pre then
local g = get_xkanjiskip(Np) -- X
handle_penalty_suppress(0, 0, g); real_insert(g)
end
@@ -830,7 +940,7 @@ end
-- (和文文字で終わる hlist) .. (anything)
local function handle_nq_ja_hlist()
- if Np.pre then
+ if Np.pre then
local g = get_xkanjiskip(Nq) -- X
handle_penalty_suppress(0, 0, g); real_insert(g)
end
@@ -840,16 +950,13 @@ end
-- Nq が前側のクラスタとなることによる修正
do
local adjust_nq_aux = {
- [id_glyph] = function()
- local x = Nq.nuc
- return set_np_xspc_alchar(Nq, getchar(x),x, 2)
- end, -- after_alchar(Nq)
+ [id_glyph] = function() after_alchar(Nq) end, -- after_alchar(Nq)
[id_hlist] = function() after_hlist(Nq) end,
[id_pbox] = function() after_hlist(Nq) end,
[id_disc] = function() after_hlist(Nq) end,
- [id_pbox_w] = function()
+ [id_pbox_w] = function()
luatexbase.call_callback("luatexja.jfmglue.whatsit_after",
- false, Nq, Np)
+ false, Nq, Np)
end,
}
@@ -872,13 +979,12 @@ local function handle_list_tail(mode)
-- Insert \jcharwidowpenalty
Bp = widow_Bp; Np = widow_Np
if Np.first then
- handle_penalty_normal(0,
- table_current_stack[JWP] or 0)
+ handle_penalty_normal(0, table_current_stack[JWP] or 0)
end
else
-- the current list is the contents of a hbox
local npi, pm = Np.id, Np.met
- if npi == id_jglyph or (npi==id_pbox and pm) then
+ if npi == id_jglyph or (npi==id_pbox and pm) then
local g = new_jfm_glue(pm, Np.class, fast_find_char_class('boxbdd', pm))
if g then
set_attr(g, attr_icflag, BOXBDD)
@@ -891,8 +997,8 @@ end
-- リスト先頭の処理
local function handle_list_head(par_indented)
local npi, pm = Np.id, Np.met
- if npi == id_jglyph or (npi==id_pbox and pm) then
- if not ihb_flag then
+ if npi == id_jglyph or (npi==id_pbox and pm) then
+ if non_ihb_flag then
local g = new_jfm_glue(pm, fast_find_char_class(par_indented, pm), Np.class)
if g then
set_attr(g, attr_icflag, BOXBDD)
@@ -914,55 +1020,74 @@ do
local XKANJI_SKIP = luatexja.icflag_table.XKANJI_SKIP
local KSK = luatexja.stack_table_index.KSK
local XSK = luatexja.stack_table_index.XSK
- init_var = function (mode)
+ local dir_yoko = luatexja.dir_table.dir_yoko
+ local dir_tate = luatexja.dir_table.dir_tate
+ local attr_yablshift = luatexbase.attributes['ltj@yablshift']
+ local attr_tablshift = luatexbase.attributes['ltj@tablshift']
+ local table_pool = {
+ {}, {}, {first=nil},
+ { auto_kspc=nil, auto_xspc=nil, char=nil, class=nil,
+ first=nil, id=nil, last=nil, met=nil, nuc=nil,
+ post=nil, pre=nil, xspc=nil, },
+ { auto_kspc=nil, auto_xspc=nil, char=nil, class=nil,
+ first=nil, id=nil, last=nil, met=nil, nuc=nil,
+ post=nil, pre=nil, xspc=nil, },
+ }
+ init_var = function (mode,dir)
-- 1073741823: max_dimen
- Bp, widow_Bp, widow_Np = {}, {}, {first = nil}
+ Bp, widow_Bp, widow_Np, Np, Nq
+ = table_pool[1], table_pool[2], table_pool[3], table_pool[4], table_pool[5]
+ for i=1,5 do for j,_ in pairs(table_pool[i]) do table_pool[i][j]=nil end end
table_current_stack = ltjs.table_current_stack
-
- kanji_skip = node_new(id_glue)
- setfield(kanji_skip, 'spec', skip_table_to_spec(KSK))
- set_attr(kanji_skip, attr_icflag, KANJI_SKIP)
- get_kanjiskip = (getfield(getfield(kanji_skip, 'spec'), 'width') == 1073741823)
- and get_kanjiskip_jfm or get_kanjiskip_normal
-
- xkanji_skip = node_new(id_glue)
- setfield(xkanji_skip, 'spec', skip_table_to_spec(XSK))
- set_attr(xkanji_skip, attr_icflag, XKANJI_SKIP)
- get_xkanjiskip = (getfield(getfield(xkanji_skip, 'spec'), 'width') == 1073741823)
- and get_xkanjiskip_jfm or get_xkanjiskip_normal
-
- Np = {
- auto_kspc=nil, auto_xspc=nil, char=nil, class=nil,
- first=nil, id=nil, last=nil, met=nil, nuc=nil,
- post=nil, pre=nil, xspc=nil,
- }
- Nq = {
- auto_kspc=nil, auto_xspc=nil, char=nil, class=nil,
- first=nil, id=nil, last=nil, met=nil, nuc=nil,
- post=nil, pre=nil, xspc=nil,
- }
- if mode then
+
+ list_dir, tex_dir = (ltjs.list_dir or dir_yoko), (dir or 'TLT')
+ local is_dir_tate = list_dir==dir_tate
+ capsule_glyph = is_dir_tate and ltjw.capsule_glyph_tate or ltjw.capsule_glyph_yoko
+ attr_ablshift = is_dir_tate and attr_tablshift or attr_yablshift
+ local TEMP = node_new(id_glue)
+ -- TEMP is a dummy node, which will be freed at the end of the callback.
+ -- ithout this node, set_attr(kanji_skip, ...) somehow creates an "orphaned" attribute list.
+
+ do
+ kanji_skip = node_new(id_glue); set_attr(kanji_skip, attr_icflag, KANJI_SKIP)
+ local s = skip_table_to_spec(KSK)
+ setfield(kanji_skip, 'spec', s)
+ get_kanjiskip = (getfield(s, 'width') == 1073741823)
+ and get_kanjiskip_jfm or get_kanjiskip_normal
+ end
+
+ do
+ xkanji_skip = node_new(id_glue); set_attr(xkanji_skip, attr_icflag, XKANJI_SKIP)
+ local s = skip_table_to_spec(XSK)
+ setfield(xkanji_skip, 'spec', s)
+ get_xkanjiskip = (getfield(s, 'width') == 1073741823)
+ and get_xkanjiskip_jfm or get_xkanjiskip_normal
+ end
+
+ if mode then
-- the current list is to be line-breaked:
-- hbox from \parindent is skipped.
local lp, par_indented, lpi, lps = head, 'boxbdd', getid(head), getsubtype(head)
- while lp and ((lpi==id_whatsit and lps~=sid_user)
+ while lp and ((lpi==id_whatsit and lps~=sid_user)
or ((lpi==id_hlist) and (lps==3))) do
- if (lpi==id_hlist) and (lps==3) then
+ if (lpi==id_hlist) and (lps==3) then
Np.char, par_indented = 'parbdd', 'parbdd'
Np.width = getfield(lp, 'width')
end
lp=node_next(lp); lpi, lps = getid(lp), getsubtype(lp) end
- return lp, node_tail(head), par_indented
+ return lp, node_tail(head), par_indented, TEMP
else
- return head, nil, 'boxbdd'
+ return head, nil, 'boxbdd', TEMP
end
end
end
-local function cleanup(mode)
+local ensure_tex_attr = ltjb.ensure_tex_attr
+local function cleanup(mode, TEMP)
-- adjust attr_icflag for avoiding error
- tex.setattribute('global', attr_icflag, 0)
- node_free(kanji_skip); node_free(xkanji_skip)
+ if tex.getattribute(attr_icflag)~=0 then ensure_tex_attr(attr_icflag, 0) end
+ node_free(kanji_skip); node_free(xkanji_skip); node_free(TEMP)
+
if mode then
local h = node_next(head)
if getid(h) == id_penalty and getfield(h, 'penalty') == 10000 then
@@ -971,45 +1096,37 @@ local function cleanup(mode)
return false
end
end
- return head
- else
- set_attr(head, attr_icflag,
- get_attr_icflag(head) + PROCESSED_BEGIN_FLAG);
- return head
end
+ return head
end
-------------------- 外部から呼ばれる関数
-- main interface
-function main(ahead, mode)
+function main(ahead, mode, dir)
if not ahead then return ahead end
head = ahead;
- local lp, last, par_indented = init_var(mode)
- lp = calc_np(lp, last)
- if Np then
- extract_np(); handle_list_head(par_indented)
- else
- return cleanup(mode)
- end
- lp = calc_np(lp, last)
- while Np do
- extract_np();
- adjust_nq();
- local pid, pm = Np.id, Np.met
- -- 挿入部
- if pid == id_jglyph then
- handle_np_jachar(mode)
- elseif pm then
- if pid==id_hlist then handle_np_ja_hlist()
- else handle_np_jachar() end
- elseif Nq.met then
- if Nq.id==id_hlist then handle_nq_ja_hlist()
- else handle_nq_jachar() end
+ local lp, last, par_indented, TEMP = init_var(mode,dir)
+ lp = calc_np(last, lp)
+ if Np then
+ handle_list_head(par_indented)
+ lp = calc_np(last,lp); while Np do
+ adjust_nq();
+ local pid, pm = Np.id, Np.met
+ -- 挿入部
+ if pid == id_jglyph then
+ handle_np_jachar(mode)
+ elseif pm then
+ if pid==id_hlist then handle_np_ja_hlist()
+ else handle_np_jachar() end
+ elseif Nq.met then
+ if Nq.id==id_hlist then handle_nq_ja_hlist()
+ else handle_nq_jachar() end
+ end
+ lp = calc_np(last,lp)
end
- lp = calc_np(lp, last)
+ handle_list_tail(mode)
end
- handle_list_tail(mode)
- return cleanup(mode)
+ return cleanup(mode, TEMP)
end
end
@@ -1039,14 +1156,9 @@ do
end
local function whatsit_callback(Np, lp, Nq)
- if Np and Np.nuc then return Np
+ if Np and Np.nuc then return Np
elseif Np and getfield(lp, 'user_id') == BPAR then
Np.first = lp; Np.nuc = lp; Np.last = lp
- Np.char = 'parbdd'
- Np.met = nil
- Np.pre = 0; Np.post = 0
- Np.xspc = 0
- Np.auto_xspc = false
return Np
end
end
@@ -1055,6 +1167,13 @@ do
if not s and getfield(Nq.nuc, 'user_id') == BPAR then
local x, y = node_prev(Nq.nuc), Nq.nuc
Nq.first, Nq.nuc, Nq.last = x, x, x
+ if Np then
+ if Np.met then
+ Nq.class = fast_find_char_class('parbdd', Np.met)
+ end
+ Nq.met = Np.met; Nq.pre = 0; Nq.post = 0; Nq.xspc = 0
+ Nq.auto_xspc = false
+ end
head = node_remove(head, y)
node_free(y)
end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
index ff0788d82bf..76ca9ff7a54 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
@@ -3,22 +3,21 @@
--
luatexbase.provides_module({
name = 'luatexja.jfont',
- date = '2014/02/01',
+ date = '2015/02/08',
description = 'Loader for Japanese fonts',
})
module('luatexja.jfont', package.seeall)
luatexja.load_module('base'); local ltjb = luatexja.base
luatexja.load_module('charrange'); local ltjc = luatexja.charrange
+luatexja.load_module('rmlgbm'); local ltjr = luatexja.rmlgbm
+luatexja.load_module('direction'); local ltjd = luatexja.direction
-local mem_leak_glue, mem_leak_gs, mem_leak_kern = 0, 0, 0
local Dnode = node.direct or node
local setfield = (Dnode ~= node) and Dnode.setfield or function(n, i, c) n[i] = c end
local getid = (Dnode ~= node) and Dnode.getid or function(n) return n.id end
-local getfont = (Dnode ~= node) and Dnode.getfont or function(n) return n.font end
-local getchar = (Dnode ~= node) and Dnode.getchar or function(n) return n.char end
local nullfunc = function(n) return n end
local to_direct = (Dnode ~= node) and Dnode.todirect or nullfunc
@@ -27,18 +26,17 @@ local node_new = Dnode.new
local node_free = Dnode.free
local has_attr = Dnode.has_attribute
local set_attr = Dnode.set_attribute
-local node_write = Dnode.write
local round = tex.round
local font_getfont = font.getfont
local attr_icflag = luatexbase.attributes['ltj@icflag']
local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
+local attr_curtfnt = luatexbase.attributes['ltj@curtfnt']
local id_glyph = node.id('glyph')
local id_kern = node.id('kern')
local id_glue_spec = node.id('glue_spec')
local id_glue = node.id('glue')
local cat_lp = luatexbase.catcodetables['latex-package']
-local ITALIC = luatexja.icflag_table.ITALIC
local FROM_JFM = luatexja.icflag_table.FROM_JFM
------------------------------------------------------------------------
@@ -52,12 +50,13 @@ luatexbase.create_callback("luatexja.load_jfm", "data", function (ft, jn) return
local jfm_file_name, jfm_var
local defjfm_res
+local jfm_dir, is_def_jfont
function define_jfm(t)
local real_char -- Does current character class have the 'real' character?
- if t.dir~='yoko' then
+ if t.dir~=jfm_dir then
defjfm_res= nil; return
- elseif type(t.zw)~='number' or type(t.zh)~='number' then
+ elseif type(t.zw)~='number' or type(t.zh)~='number' then
defjfm_res= nil; return
end
t.char_type = {}; t.chars = {}
@@ -69,44 +68,42 @@ function define_jfm(t)
else
real_char = false
for j,w in pairs(v.chars) do
- if type(w) == 'number' then
+ if type(w) == 'number' and w~=-1 then
real_char = true;
elseif type(w) == 'string' and utf.len(w)==1 then
real_char = true; w = utf.byte(w)
elseif type(w) == 'string' and utf.len(w)==2 and utf.sub(w,2) == '*' then
real_char = true; w = utf.byte(utf.sub(w,1,1))
- if not t.chars[-w] then
- t.chars[-w] = i
- else
- defjfm_res= nil; return
- end
end
if not t.chars[w] then
t.chars[w] = i
- else
+ else
defjfm_res= nil; return
end
end
- if type(v.align)~='string' then
+ if type(v.align)~='string' then
v.align = 'left' -- left
end
if real_char then
- if not (type(v.width)=='number' or v.width~='prop') then
+ if type(v.width)~='number' and v.width~='prop' then
defjfm_res= nil; return
else
+ if v.width=='prop' and jfm_dir=='tate' then
+ v.width = 1.0
+ end
if type(v.height)~='number' then
v.height = 0.0
end
if type(v.depth)~='number' then
v.depth = 0.0
end
- if type(v.italic)~='number' then
+ if type(v.italic)~='number' then
v.italic = 0.0
end
- if type(v.left)~='number' then
+ if type(v.left)~='number' then
v.left = 0.0
end
- if type(v.down)~='number' then
+ if type(v.down)~='number' then
v.down = 0.0
end
end
@@ -118,9 +115,9 @@ function define_jfm(t)
if v.kern[j] then defjfm_res= nil; return end
end
for j,x in pairs(v.kern) do
- if type(x)=='number' then
+ if type(x)=='number' then
v.kern[j] = {x, 0}
- elseif type(x)=='table' then
+ elseif type(x)=='table' then
v.kern[j] = {x[1], x[2] or 0}
end
end
@@ -150,20 +147,20 @@ do
return new
else return nil end
end
-
+
update_jfm_cache = function (j,sz)
if metrics[j].size_cache[sz] then return end
+ --local TEMP = node_new(id_kern)
local t = {}
metrics[j].size_cache[sz] = t
t.chars = metrics[j].chars
t.char_type = mult_table(metrics[j].char_type, sz)
for i,v in pairs(t.char_type) do
- v.align = (v.align=='left') and 0 or
+ v.align = (v.align=='left') and 0 or
((v.align=='right') and 1 or 0.5)
if type(i) == 'number' then -- char_type
for k,w in pairs(v.glue) do
local h = node_new(id_glue_spec)
-mem_leak_gs = mem_leak_gs+1
v[k] = {true, h, (w[5] and w[5]/sz or 0), FROM_JFM + (w[4] and w[4]/sz or 0)}
setfield(h, 'width', w[1])
setfield(h, 'stretch', w[2])
@@ -173,7 +170,6 @@ mem_leak_gs = mem_leak_gs+1
end
for k,w in pairs(v.kern) do
local g = node_new(id_kern)
-mem_leak_kern = mem_leak_kern +1
setfield(g, 'kern', w[1])
setfield(g, 'subtype', 1)
set_attr(g, attr_icflag, FROM_JFM)
@@ -186,19 +182,34 @@ mem_leak_kern = mem_leak_kern +1
t.xkanjiskip = mult_table(metrics[j].xkanjiskip,sz)
t.zw = round(metrics[j].zw*sz)
t.zh = round(metrics[j].zh*sz)
+ t.size = sz
+ --node_free(TEMP)
end
end
-luatexbase.create_callback("luatexja.find_char_class", "data",
+luatexbase.create_callback("luatexja.find_char_class", "data",
function (arg, fmtable, char)
return 0
end)
-
-function find_char_class(c,m)
--- c: character code, m:
- if not m then return 0 end
- return m.chars[c] or
- luatexbase.call_callback("luatexja.find_char_class", 0, m, c)
+do
+ local start_time_measure = ltjb.start_time_measure
+ local stop_time_measure = ltjb.stop_time_measure
+ local fcc_temp = { chars_cbcache = {} }
+ setmetatable(
+ fcc_temp.chars_cbcache,
+ {
+ __index = function () return 0 end,
+ })
+ function find_char_class(c,m)
+ -- c: character code, m:
+ local r = (m or fcc_temp).chars_cbcache[c]
+ if not r then
+ r = m.chars[c] or
+ luatexbase.call_callback("luatexja.find_char_class", 0, m, c)
+ m.chars_cbcache[c or 0] = r
+ end
+ return r
+ end
end
@@ -210,14 +221,14 @@ do
local cstemp
local global_flag -- true if \globaljfont, false if \jfont
local function load_jfont_metric()
- if jfm_file_name=='' then
+ if jfm_file_name=='' then
ltjb.package_error('luatexja',
'no JFM specified',
'To load and define a Japanese font, a JFM must be specified.'..
"The JFM 'ujis' will be used for now.")
jfm_file_name='ujis'
end
- for j,v in ipairs(metrics) do
+ for j,v in ipairs(metrics) do
if v.name==jfm_file_name then return j end
end
luatexja.load_lua('jfm-' .. jfm_file_name .. '.lua')
@@ -225,97 +236,137 @@ do
defjfm_res.name = jfm_file_name
table.insert(metrics, defjfm_res)
return #metrics
- else
+ else
return nil
end
end
-- EXT
- function jfontdefX(g)
+ function jfontdefX(g, dir)
+ jfm_dir, is_def_jfont = dir, true
local t = token.get_next()
cstemp=token.csname_name(t)
global_flag = g and '\\global' or ''
- tex.sprint(cat_lp, '\\expandafter\\font\\csname ' .. cstemp .. '\\endcsname')
+ tex.sprint(cat_lp, '\\expandafter\\font\\csname ', cstemp, '\\endcsname')
end
-
+
luatexbase.create_callback("luatexja.define_jfont", "data", function (ft, fn) return ft end)
-- EXT
- function jfontdefY() -- for horizontal font
- local j = load_jfont_metric()
+ local identifiers = fonts.hashes.identifiers
+ function jfontdefY()
+ local j = load_jfont_metric(jfm_dir)
local fn = font.id(cstemp)
local f = font_getfont(fn)
- if not j then
+ if not j then
ltjb.package_error('luatexja',
"bad JFM `" .. jfm_file_name .. "'",
'The JFM file you specified is not valid JFM file.\n'..
'So defining Japanese font is cancelled.')
- tex.sprint(cat_lp, global_flag .. '\\expandafter\\let\\csname ' ..cstemp
- .. '\\endcsname=\\relax')
- return
+ tex.sprint(cat_lp, global_flag, '\\expandafter\\let\\csname ', cstemp,
+ '\\endcsname=\\relax')
+ return
end
update_jfm_cache(j, f.size)
- --print('MEMORY LEAK (acc): ', mem_leak_glue, mem_leak_gs, mem_leak_kern)
+ local ad = identifiers[fn].parameters
local sz = metrics[j].size_cache[f.size]
- local fmtable = { jfm = j, size = f.size, var = jfm_var,
- zw = sz.zw, zh = sz.zh,
+ local fmtable = { jfm = j, size = f.size, var = jfm_var,
+ zw = sz.zw, zh = sz.zh,
+ ascent = ad.ascender,
+ descent = ad.descender,
chars = sz.chars, char_type = sz.char_type,
- kanjiskip = sz.kanjiskip, xkanjiskip = sz.xkanjiskip,
+ kanjiskip = sz.kanjiskip, xkanjiskip = sz.xkanjiskip,
+ chars_cbcache = {},
}
-
+
fmtable = luatexbase.call_callback("luatexja.define_jfont", fmtable, fn)
font_metric_table[fn]=fmtable
- tex.sprint(cat_lp, global_flag .. '\\protected\\expandafter\\def\\csname '
- .. cstemp .. '\\endcsname{\\ltj@curjfnt=' .. fn .. '\\relax}')
+ tex.sprint(cat_lp, global_flag, '\\protected\\expandafter\\def\\csname ',
+ cstemp , '\\endcsname{\\ltj@cur'..
+ (jfm_dir == 'yoko' and 'j' or 't') .. 'fnt', fn, '\\relax}')
end
end
do
+ local get_dir_count = ltjd.get_dir_count
+ local dir_tate = luatexja.dir_table.dir_tate
+ local tex_get_attr = tex.getattribute
-- PUBLIC function
- function get_zw()
- local a = font_metric_table[tex.attribute[attr_curjfnt]]
+ function get_zw()
+ local a = font_metric_table[
+ tex_get_attr((get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt)]
return a and a.zw or 0
end
- function get_zh()
- local a = font_metric_table[tex.attribute[attr_curjfnt]]
+ function get_zh()
+ local a = font_metric_table[
+ tex_get_attr((get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt)]
return a and a.zw or 0
end
end
do
-- extract jfm_file_name and jfm_var
+ -- normalize position of 'jfm=' and 'jfmvar=' keys
local function extract_metric(name)
- local basename=name
- local tmp = utf.sub(basename, 1, 5)
jfm_file_name = ''; jfm_var = ''
+ local tmp, index = name:sub(1, 5), 1
if tmp == 'file:' or tmp == 'name:' or tmp == 'psft:' then
- basename = utf.sub(basename, 6)
- end
- local p = utf.find(basename, ":")
- if p then
- basename = utf.sub(basename, p+1)
- else return
- end
- -- now basename contains 'features' only.
- p=1
- while p do
- local q = utf.find(basename, ";", p+1) or utf.len(basename)+1
- if utf.sub(basename, p, p+3)=='jfm=' and q>p+4 then
- jfm_file_name = utf.sub(basename, p+4, q-1)
- elseif utf.sub(basename, p, p+6)=='jfmvar=' and q>p+6 then
- jfm_var = utf.sub(basename, p+7, q-1)
+ index = 6
+ end
+ local p = name:find(":", index); index = p and (p+1) or index
+ while index do
+ local l = name:len()+1
+ local q = name:find(";", index+1) or l
+ if name:sub(index, index+3)=='jfm=' and q>index+4 then
+ jfm_file_name = name:sub(index+4, q-1)
+ if l~=q then
+ name = name:sub(1,index-1) .. name:sub(q+1)
+ else
+ name = name:sub(1,index-1)
+ index = nil
+ end
+ elseif name:sub(index, index+6)=='jfmvar=' and q>index+6 then
+ jfm_var = name:sub(index+7, q-1)
+ if l~=q then
+ name = name:sub(1,index-1) .. name:sub(q+1)
+ else
+ name = name:sub(1,index-1)
+ index = nil
+ end
+ else
+ index = (l~=q) and (q+1) or nil
end
- if utf.len(basename)+1==q then p = nil else p = q + 1 end
end
- return
+ if jfm_file_name~='' then
+ local l = name:sub(-1)
+ name = name
+ .. ((l==':' or l==';') and '' or ';')
+ .. 'jfm=' .. jfm_file_name
+ if jfm_var~='' then
+ name = name .. 'jfmvar=' .. jfm_var
+ end
+ end
+ if jfm_dir == 'tate' then
+ if not name:match('vert') and not name:match('vrt2') then
+ name = name .. ';vert;vrt2'
+ end
+ end
+ return name
end
-
- -- replace fonts.define.read()
- function font_callback(name, size, id, fallback)
- extract_metric(name)
- -- In the present imple., we don't remove "jfm=..." from name.
- return fallback(name, size, id)
+
+ -- define_font callback
+ local otfl_fdr = fonts.definers.read
+ local ltjr_font_callback = ltjr.font_callback
+ function luatexja.font_callback(name, size, id)
+ local new_name = is_def_jfont and extract_metric(name) or name
+ is_def_jfont = false
+ local res = ltjr_font_callback(new_name, size, id, otfl_fdr)
+ luatexbase.call_callback('luatexja.define_font', res, new_name, size, id)
+ -- this callback processes variation selector, so we execute it always
+ return res
end
+ luatexbase.create_callback('luatexja.define_font', 'simple', function (n) return n end)
+ luatexbase.add_to_callback('define_font',luatexja.font_callback,"luatexja.font_callback", 1)
end
------------------------------------------------------------------------
@@ -329,11 +380,11 @@ do
function is_kyenc(enc)
tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (kyenc_list[enc] or 'false '))
end
- function is_kyenc(enc)
- tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (kyenc_list[enc] or 'false '))
+ function is_ktenc(enc)
+ tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (ktenc_list[enc] or 'false '))
end
- function is_kenc(enc)
- tex.sprint(cat_lp, '\\let\\ifin@\\if'
+ function is_kenc(enc)
+ tex.sprint(cat_lp, '\\let\\ifin@\\if'
.. (kyenc_list[enc] or ktenc_list[enc] or 'false '))
end
@@ -347,10 +398,10 @@ do
Nkfam_list[enc][fam] = 'true '
end
function is_kfam(enc, fam)
- tex.sprint(cat_lp, '\\let\\ifin@\\if'
+ tex.sprint(cat_lp, '\\let\\ifin@\\if'
.. (kfam_list[enc] and kfam_list[enc][fam] or 'false ')) end
function is_Nkfam(enc, fam)
- tex.sprint(cat_lp, '\\let\\ifin@\\if'
+ tex.sprint(cat_lp, '\\let\\ifin@\\if'
.. (Nkfam_list[enc] and Nkfam_list[enc][fam] or 'false ')) end
local ffam_list, Nffam_list = {}, {}
@@ -363,10 +414,10 @@ do
Nffam_list[enc][fam] = 'true '
end
function is_ffam(enc, fam)
- tex.sprint(cat_lp, '\\let\\ifin@\\if'
+ tex.sprint(cat_lp, '\\let\\ifin@\\if'
.. (ffam_list[enc] and ffam_list[enc][fam] or 'false ')) end
function is_Nffam(enc, fam)
- tex.sprint(cat_lp, '\\let\\ifin@\\if'
+ tex.sprint(cat_lp, '\\let\\ifin@\\if'
.. (Nffam_list[enc] and Nffam_list[enc][fam] or 'false ')) end
end
------------------------------------------------------------------------
@@ -414,7 +465,7 @@ end
-- EXT
function clear_alt_font(bfnt)
- if alt_font_table[bfnt] then
+ if alt_font_table[bfnt] then
local t = alt_font_table[bfnt]
for i,_ in pairs(t) do t[i]=nil; end
end
@@ -434,7 +485,7 @@ local alt_font_table_latex = {}
function clear_alt_font_latex(bbase)
local t = alt_font_table_latex[bbase]
if t then
- for j,v in pairs(t) do t[j] = nil end
+ for j,v in pairs(t) do t[j] = nil end
end
end
@@ -491,17 +542,21 @@ do
end
-- EXT
- function output_alt_font_cmd(bbase)
+ function output_alt_font_cmd(dir, bbase)
alt_font_base = bbase
- alt_font_base_num = tex.getattribute(attr_curjfnt)
+ if dir == 't' then
+ alt_font_base_num = tex.getattribute(attr_curtfnt)
+ else
+ alt_font_base_num = tex.getattribute(attr_curjfnt)
+ end
local t = alt_font_table[alt_font_base_num]
- if t then
+ if t then
for i,_ in pairs(t) do t[i]=nil end
end
t = alt_font_table_latex[bbase]
if t then
- for i,_ in pairs(t) do
- tex.sprint(cat_lp, '\\ltj@pickup@altfont@aux{' .. i .. '}')
+ for i,_ in pairs(t) do
+ tex.sprint(cat_lp, '\\ltj@pickup@altfont@aux' .. dir .. '{' .. i .. '}')
end
end
end
@@ -515,10 +570,10 @@ do
.. '\\csname ' .. i .. '/' .. size_str .. '\\endcsname{' .. i .. '}')
end
end
- end
+ end
local function pickup_alt_font_class(class, afnt_num, afnt_chars)
- local t = alt_font_table[alt_font_base_num]
+ local t = alt_font_table[alt_font_base_num]
local tx = font_metric_table[alt_font_base_num].chars
for i,v in pairs(tx) do
if v==class and afnt_chars[i] then t[i]=afnt_num end
@@ -533,11 +588,11 @@ do
for i,v in pairs(alt_font_table_latex[alt_font_base]) do
if i == afnt_base then
for j,_ in pairs(v) do
- if j>=0 then
+ if j>=0 then
if ac[j] then t[j]=afnt_num end
else -- -n (n>=1) means that the character class n,
- -- which is defined in the JFM
- pickup_alt_font_class(-j, afnt_num, ac)
+ -- which is defined in the JFM
+ pickup_alt_font_class(-j, afnt_num, ac)
end
end
return
@@ -546,36 +601,300 @@ do
end
end
+------------------------------------------------------------------------
+-- 終了時に各種ノードを破棄
+------------------------------------------------------------------------
+do
+ function cleanup_size_cache()
+ --local gs, ke = 0, 0
+ for _,n in pairs(metrics) do
+ for i,t in pairs(n.size_cache) do
+ for _,v in pairs(t.char_type) do
+ for k,w in pairs(v) do
+ if type(k)=='number' then
+ --if w[1] then gs = gs + 1 else ke = ke + 1 end
+ node_free(w[2])
+ end
+ end
+ end
+ n.size_cache[i]=nil
+ end
+ end
+ --print('glue spec: ', gs, 'kern: ', ke)
+ end
+end
+
+------------------------------------------------------------------------
+-- 追加のフォント情報
+------------------------------------------------------------------------
+font_extra_info = {}
+local font_extra_info = font_extra_info -- key: fontnumber
+local font_extra_basename = {} -- key: basename
+
+-- IVS and vertical metrics
+local prepare_fl_data
+local supply_vkern_table
+do
+ local fields = fontloader.fields
+ local function glyph_vmetric(glyph)
+ local flds = fields(glyph)
+ local vw, tsb, vk = nil, nil, nil
+ for _,i in ipairs(flds) do
+ if i=='vwidth' then vw = glyph.vwidth end
+ if i=='tsidebearing' then tsb = glyph.tsidebearing end
+ if i=='vkerns' then vk = glyph.vkerns end
+ end
+ return vw, tsb, vk
+ end
+
+ local sort = table.sort
+ local function add_fl_table(dest, tg, unitable, glyphmax, asc_des, units)
+ for i = 0, glyphmax-1 do
+ local gv = tg[i]
+ if gv then
+ if gv.altuni then
+ for _,at in pairs(gv.altuni) do
+ local bu, vsel = at.unicode, at.variant
+ if vsel then
+ if vsel>=0xE0100 then vsel = vsel - 0xE0100 end
+ dest = dest or {}; dest[bu] = dest[bu] or {}
+ local uniq_flag = true
+ for i,_ in pairs(dest[bu]) do
+ if i==vs then uniq_flag = false; break end
+ end
+ if uniq_flag then
+ dest[bu][vsel] = unitable[gv.name]
+ end
+ end
+ end
+ end
+ -- vertical metric
+ local vw, tsb, vk = glyph_vmetric(gv)
+ local gi = unitable[gv.name]
+ if gi and vw and vw~=asc_des then
+ -- We do not use tsidebearing, since (1) fontloader does not read VORG table
+ -- and (2) 'tsidebearing' doea not appear in the returned table by fontloader.fields.
+ -- Hence, we assume that vertical origin == ascender
+ -- (see capsule_glyph_tate in ltj-setwidth.lua)
+ dest = dest or {}; dest[gi] = dest[gi] or {}
+ dest[gi].vwidth = vw/units
+ end
+ -- vertical kern
+ if gi and vk then
+ dest = dest or {};
+ local dest_vk = dest.vkerns or {}; dest.vkerns = dest_vk
+ for _,v in pairs(vk) do
+ if unitable[v.char] then
+ local vl = v.lookup
+ if type(vl)=='table' then
+ for _,vlt in pairs(vl) do
+ dest_vk[vlt] = dest_vk[vlt] or {}
+ dest_vk[vlt][gi] = dest_vk[vlt][gi] or {}
+ dest_vk[vlt][gi][unitable[v.char]] = v.off
+ end
+ else
+ dest_vk[vl] = dest_vk[vl] or {}
+ dest_vk[vl][gi] = dest_vk[vl][gi] or {}
+ dest_vk[vl][gi][unitable[v.char]] = v.off
+ end
+ end
+ end
+ end
+ end
+ end
+ return dest
+ end
+ prepare_fl_data = function (dest, id)
+ local fl = fontloader.open(id.filename)
+ local unicodes = id.resources.unicodes
+ if fl.glyphs then
+ dest = add_fl_table(dest, fl.glyphs, id.resources.unicodes, fl.glyphmax,
+ fl.ascent + fl.descent, fl.units_per_em)
+ end
+ if fl.subfonts then
+ for _,v in pairs(fl.subfonts) do
+ dest = add_fl_table(dest, v.glyphs, id.resources.unicodes, v.glyphmax,
+ fl.ascent + fl.descent, fl.units_per_em)
+ end
+ end
+ fontloader.close(fl); collectgarbage("collect")
+ return dest
+ end
+ -- supply vkern table
+ supply_vkern_table = function(id, bname)
+ local bx = font_extra_basename[bname].vkerns
+ local lookuphash = id.resources.lookuphash
+ local desc = id.shared.rawdata.descriptions
+ if bx then
+ for i,v in pairs(bx) do
+ lookuphash[i] = lookuphash[i] or v
+ for j,w in pairs(v) do
+ desc[j].kerns = desc[j].kerns or {}
+ desc[j].kerns[i] = w
+ end
+ end
+ end
+ end
+end
+
+--
+do
+ local cache_ver = 6
+ local checksum = file.checksum
+
+ local function prepare_extra_data_base(id)
+ if not id then return end
+ local bname = file.nameonly(id.filename or '')
+ if not font_extra_basename[bname] then
+ -- if the cache is present, read it
+ local newsum = checksum(id.filename) -- MD5 checksum of the fontfile
+ local v = "extra_" .. string.lower(file.nameonly(id.filename))
+ local dat = ltjb.load_cache(
+ v,
+ function (t) return (t.version~=cache_ver) or (t.chksum~=newsum) end
+ )
+ -- if the cache is not found or outdated, save the cache
+ if dat then
+ font_extra_basename[bname] = dat[1] or {}
+ else
+ local dat = nil
+ dat = prepare_fl_data(dat, id)
+ font_extra_basename[bname] = dat or {}
+ ltjb.save_cache( v,
+ {
+ chksum = checksum(id.filename),
+ version = cache_ver,
+ dat,
+ })
+ end
+ return bname
+ end
+ end
+ local function prepare_extra_data_font(id, res)
+ if type(res)=='table' and res.shared then
+ font_extra_info[id] = font_extra_basename[file.nameonly(res.filename)]
+ end
+ end
+ luatexbase.add_to_callback(
+ 'luaotfload.patch_font',
+ function (tfmdata)
+ -- these function is executed one time per one fontfile
+ local bname = prepare_extra_data_base(tfmdata)
+ if bname then supply_vkern_table(tfmdata, bname) end
+ return tfmdata
+ end,
+ 'ltj.prepare_extra_data', 1)
+ luatexbase.add_to_callback(
+ 'luatexja.define_font',
+ function (res, name, size, id)
+ prepare_extra_data_font(id, res)
+ end,
+ 'ltj.prepare_extra_data', 1)
+
+ local nulltable = {} -- dummy
+ ltjr.vert_addfunc = function (n) font_extra_info[n] = nulltable end
+
+ local identifiers = fonts.hashes.identifiers
+ for i=1,font.nextid()-1 do
+ if identifiers[i] then
+ prepare_extra_data_base(identifiers[i])
+ prepare_extra_data_font(i,identifiers[i])
+ end
+ end
+end
------------------------------------------------------------------------
--- MISC
+-- calculate vadvance
------------------------------------------------------------------------
+do
+ local function acc_feature(table_vadv, table_vorg, subtables, ft, already_vert)
+ for char_num,v in pairs(ft.shared.rawdata.descriptions) do
+ if v.slookups then
+ for sn, sv in pairs(v.slookups) do
+ if subtables[sn] and type(sv)=='table' then
+ if sv[4]~=0 then
+ table_vadv[char_num]
+ = (table_vadv[char_num] or 0) + sv[4]
+ end
+ if sv[2]~=0 and not already_vert then
+ table_vorg[char_num]
+ = (table_vorg[char_num] or 0) + sv[2]
+ end
+ end
+ end
+ end
+ end
+ end
-local is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char_direct
-local font = font
--- EXT: italic correction
-function append_italic()
- local p = to_direct(tex.nest[tex.nest.ptr].tail)
- if p and getid(p)==id_glyph then
- local f = getfont(p)
- local g = node_new(id_kern)
- setfield(g, 'subtype', 1)
- set_attr(g, attr_icflag, ITALIC)
- if is_ucs_in_japanese_char(p) then
- f = has_attr(p, attr_curjfnt)
- local j = font_metric_table[f]
- setfield(g, 'kern', j.char_type[find_char_class(getchar(p), j)].italic)
- else
- local h = font_getfont(f) or font.fonts[f]
- if h then
- setfield(g, 'kern', h.characters[getchar(p)].italic)
+luatexbase.add_to_callback(
+ "luatexja.define_jfont",
+ function (fmtable, fnum)
+ local vadv = {}; fmtable.v_advance = vadv
+ local vorg = {}; fmtable.v_origin = vorg
+ local ft = font_getfont(fnum)
+ local subtables = {}
+ if ft.specification then
+ for feat_name,v in pairs(ft.specification.features.normal) do
+ if v==true then
+ for _,i in pairs(ft.resources.sequences) do
+ if i.order[1]== feat_name and i.type == 'gpos_single' then
+ for _,st in pairs(i.subtables) do
+ subtables[st] = true
+ end
+ end
+ end
+ end
+ end
+ acc_feature(vadv, vorg, subtables, ft,
+ ft.specification.features.normal.vrt2 or ft.specification.features.normal.vert)
+ for i,v in pairs(vadv) do
+ vadv[i]=vadv[i]/ft.units_per_em*fmtable.size
+ end
+ for i,v in pairs(vorg) do
+ vorg[i]=vorg[i]/ft.units_per_em*fmtable.size
+ end
+ end
+ return fmtable
+ end, 1, 'ltj.v_advance'
+)
+end
+------------------------------------------------------------------------
+-- MISC
+------------------------------------------------------------------------
+do
+ local getfont = (Dnode ~= node) and Dnode.getfont or function(n) return n.font end
+ local getchar = (Dnode ~= node) and Dnode.getchar or function(n) return n.char end
+ local get_dir_count = ltjd.get_dir_count
+ local is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char_direct
+ local ensure_tex_attr = ltjb.ensure_tex_attr
+ local node_write = Dnode.write
+ local font = font
+ local ITALIC = luatexja.icflag_table.ITALIC
+ -- EXT: italic correction
+ function append_italic()
+ local p = to_direct(tex.nest[tex.nest.ptr].tail)
+ local TEMP = node_new(id_kern)
+ if p and getid(p)==id_glyph then
+ if is_ucs_in_japanese_char(p) then
+ local j = font_metric_table[
+ has_attr(p, (get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt)
+ ]
+ local g = node_new(id_kern)
+ setfield(g, 'subtype', 1); set_attr(g, attr_icflag, ITALIC)
+ setfield(g, 'kern', j.char_type[find_char_class(getchar(p), j)].italic)
+ node_write(g); ensure_tex_attr(attr_icflag, 0)
else
- tex.attribute[attr_icflag] = 0
- return node_free(g)
+ local f = getfont(p)
+ local h = font_getfont(f) or font.fonts[f]
+ if h then
+ local g = node_new(id_kern)
+ setfield(g, 'subtype', 1); set_attr(g, attr_icflag, ITALIC)
+ setfield(g, 'kern', h.characters[getchar(p)].italic)
+ node_write(g); ensure_tex_attr(attr_icflag, 0)
+ end
end
end
- node_write(g)
- tex.attribute[attr_icflag] = 0
+ node_free(TEMP)
end
end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jisx0208.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jisx0208.lua
index 1d9a70b7942..a31dbcd786c 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jisx0208.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jisx0208.lua
@@ -1,6883 +1,6883 @@
return {
version = 2,
-table_jisx0208_uptex = {
+table_jisx0208_uptex = {
[0x101] = 0x3000, --( )
- [0x102] = 0x3001, --(、)
+ [0x102] = 0x3001, --(、)
[0x103] = 0x3002, --(。)
- [0x104] = 0xFF0C, --(,)
+ [0x104] = 0xFF0C, --(,)
[0x105] = 0xFF0E, --(.)
- [0x106] = 0x30FB, --(・)
+ [0x106] = 0x30FB, --(・)
[0x107] = 0xFF1A, --(:)
- [0x108] = 0xFF1B, --(;)
+ [0x108] = 0xFF1B, --(;)
[0x109] = 0xFF1F, --(?)
- [0x10A] = 0xFF01, --(!)
+ [0x10A] = 0xFF01, --(!)
[0x10B] = 0x309B, --(゛)
- [0x10C] = 0x309C, --(゜)
- [0x10D] = 0xB4,
+ [0x10C] = 0x309C, --(゜)
+ [0x10D] = 0xB4,
[0x10E] = 0xFF40, --(`)
- [0x10F] = 0xA8,
- [0x110] = 0xFF3E, --(^)
+ [0x10F] = 0xA8,
+ [0x110] = 0xFF3E, --(^)
[0x111] = 0xFFE3, --( ̄)
- [0x112] = 0xFF3F, --(_)
+ [0x112] = 0xFF3F, --(_)
[0x113] = 0x30FD, --(ヽ)
- [0x114] = 0x30FE, --(ヾ)
+ [0x114] = 0x30FE, --(ヾ)
[0x115] = 0x309D, --(ゝ)
- [0x116] = 0x309E, --(ゞ)
+ [0x116] = 0x309E, --(ゞ)
[0x117] = 0x3003, --(〃)
- [0x118] = 0x4EDD, --(仝)
+ [0x118] = 0x4EDD, --(仝)
[0x119] = 0x3005, --(々)
- [0x11A] = 0x3006, --(〆)
+ [0x11A] = 0x3006, --(〆)
[0x11B] = 0x3007, --(〇)
- [0x11C] = 0x30FC, --(ー)
+ [0x11C] = 0x30FC, --(ー)
[0x11D] = 0x2015, --(―)
- [0x11E] = 0x2010, --(‐)
+ [0x11E] = 0x2010, --(‐)
[0x11F] = 0xFF0F, --(/)
- [0x120] = 0xFF3C, --(\)
+ [0x120] = 0xFF3C, --(\)
[0x121] = 0x301C, --(〜)
- [0x122] = 0x2016, --(‖)
+ [0x122] = 0x2016, --(‖)
[0x123] = 0xFF5C, --(|)
- [0x124] = 0x2026, --(…)
+ [0x124] = 0x2026, --(…)
[0x125] = 0x2025, --(‥)
- [0x126] = 0x2018, --(‘)
+ [0x126] = 0x2018, --(‘)
[0x127] = 0x2019, --(’)
- [0x128] = 0x201C, --(“)
+ [0x128] = 0x201C, --(“)
[0x129] = 0x201D, --(”)
- [0x12A] = 0xFF08, --(()
+ [0x12A] = 0xFF08, --(()
[0x12B] = 0xFF09, --())
- [0x12C] = 0x3014, --(〔)
+ [0x12C] = 0x3014, --(〔)
[0x12D] = 0x3015, --(〕)
- [0x12E] = 0xFF3B, --([)
+ [0x12E] = 0xFF3B, --([)
[0x12F] = 0xFF3D, --(])
- [0x130] = 0xFF5B, --({)
+ [0x130] = 0xFF5B, --({)
[0x131] = 0xFF5D, --(})
- [0x132] = 0x3008, --(〈)
+ [0x132] = 0x3008, --(〈)
[0x133] = 0x3009, --(〉)
- [0x134] = 0x300A, --(《)
+ [0x134] = 0x300A, --(《)
[0x135] = 0x300B, --(》)
- [0x136] = 0x300C, --(「)
+ [0x136] = 0x300C, --(「)
[0x137] = 0x300D, --(」)
- [0x138] = 0x300E, --(『)
+ [0x138] = 0x300E, --(『)
[0x139] = 0x300F, --(』)
- [0x13A] = 0x3010, --(【)
+ [0x13A] = 0x3010, --(【)
[0x13B] = 0x3011, --(】)
- [0x13C] = 0xFF0B, --(+)
- [0x13D] = 0x2212, --(−)
- [0x13E] = 0xB1,
- [0x13F] = 0xD7,
- [0x140] = 0xF7,
+ [0x13C] = 0xFF0B, --(+)
+ [0x13D] = 0x2212, --(−)
+ [0x13E] = 0xB1,
+ [0x13F] = 0xD7,
+ [0x140] = 0xF7,
[0x141] = 0xFF1D, --(=)
- [0x142] = 0x2260, --(≠)
+ [0x142] = 0x2260, --(≠)
[0x143] = 0xFF1C, --(<)
- [0x144] = 0xFF1E, --(>)
+ [0x144] = 0xFF1E, --(>)
[0x145] = 0x2266, --(≦)
- [0x146] = 0x2267, --(≧)
+ [0x146] = 0x2267, --(≧)
[0x147] = 0x221E, --(∞)
- [0x148] = 0x2234, --(∴)
+ [0x148] = 0x2234, --(∴)
[0x149] = 0x2642, --(♂)
- [0x14A] = 0x2640, --(♀)
- [0x14B] = 0xB0,
+ [0x14A] = 0x2640, --(♀)
+ [0x14B] = 0xB0,
[0x14C] = 0x2032, --(′)
- [0x14D] = 0x2033, --(″)
+ [0x14D] = 0x2033, --(″)
[0x14E] = 0x2103, --(℃)
- [0x14F] = 0xFFE5, --(¥)
+ [0x14F] = 0xFFE5, --(¥)
[0x150] = 0xFF04, --($)
- [0x151] = 0xFFE0, --(¢)
+ [0x151] = 0xFFE0, --(¢)
[0x152] = 0xFFE1, --(£)
- [0x153] = 0xFF05, --(%)
+ [0x153] = 0xFF05, --(%)
[0x154] = 0xFF03, --(#)
- [0x155] = 0xFF06, --(&)
+ [0x155] = 0xFF06, --(&)
[0x156] = 0xFF0A, --(*)
- [0x157] = 0xFF20, --(@)
- [0x158] = 0xA7,
+ [0x157] = 0xFF20, --(@)
+ [0x158] = 0xA7,
[0x159] = 0x2606, --(☆)
- [0x15A] = 0x2605, --(★)
+ [0x15A] = 0x2605, --(★)
[0x15B] = 0x25CB, --(○)
- [0x15C] = 0x25CF, --(●)
+ [0x15C] = 0x25CF, --(●)
[0x15D] = 0x25CE, --(◎)
- [0x15E] = 0x25C7, --(◇)
+ [0x15E] = 0x25C7, --(◇)
[0x201] = 0x25C6, --(◆)
- [0x202] = 0x25A1, --(□)
+ [0x202] = 0x25A1, --(□)
[0x203] = 0x25A0, --(■)
- [0x204] = 0x25B3, --(△)
+ [0x204] = 0x25B3, --(△)
[0x205] = 0x25B2, --(▲)
- [0x206] = 0x25BD, --(▽)
+ [0x206] = 0x25BD, --(▽)
[0x207] = 0x25BC, --(▼)
- [0x208] = 0x203B, --(※)
+ [0x208] = 0x203B, --(※)
[0x209] = 0x3012, --(〒)
- [0x20A] = 0x2192, --(→)
+ [0x20A] = 0x2192, --(→)
[0x20B] = 0x2190, --(←)
- [0x20C] = 0x2191, --(↑)
+ [0x20C] = 0x2191, --(↑)
[0x20D] = 0x2193, --(↓)
- [0x20E] = 0x3013, --(〓)
+ [0x20E] = 0x3013, --(〓)
[0x21A] = 0x2208, --(∈)
- [0x21B] = 0x220B, --(∋)
+ [0x21B] = 0x220B, --(∋)
[0x21C] = 0x2286, --(⊆)
- [0x21D] = 0x2287, --(⊇)
+ [0x21D] = 0x2287, --(⊇)
[0x21E] = 0x2282, --(⊂)
- [0x21F] = 0x2283, --(⊃)
+ [0x21F] = 0x2283, --(⊃)
[0x220] = 0x222A, --(∪)
- [0x221] = 0x2229, --(∩)
+ [0x221] = 0x2229, --(∩)
[0x22A] = 0x2227, --(∧)
- [0x22B] = 0x2228, --(∨)
+ [0x22B] = 0x2228, --(∨)
[0x22C] = 0xFFE2, --(¬)
- [0x22D] = 0x21D2, --(⇒)
+ [0x22D] = 0x21D2, --(⇒)
[0x22E] = 0x21D4, --(⇔)
- [0x22F] = 0x2200, --(∀)
+ [0x22F] = 0x2200, --(∀)
[0x230] = 0x2203, --(∃)
- [0x23C] = 0x2220, --(∠)
+ [0x23C] = 0x2220, --(∠)
[0x23D] = 0x22A5, --(⊥)
- [0x23E] = 0x2312, --(⌒)
+ [0x23E] = 0x2312, --(⌒)
[0x23F] = 0x2202, --(∂)
- [0x240] = 0x2207, --(∇)
+ [0x240] = 0x2207, --(∇)
[0x241] = 0x2261, --(≡)
- [0x242] = 0x2252, --(≒)
+ [0x242] = 0x2252, --(≒)
[0x243] = 0x226A, --(≪)
- [0x244] = 0x226B, --(≫)
+ [0x244] = 0x226B, --(≫)
[0x245] = 0x221A, --(√)
- [0x246] = 0x223D, --(∽)
+ [0x246] = 0x223D, --(∽)
[0x247] = 0x221D, --(∝)
- [0x248] = 0x2235, --(∵)
+ [0x248] = 0x2235, --(∵)
[0x249] = 0x222B, --(∫)
- [0x24A] = 0x222C, --(∬)
+ [0x24A] = 0x222C, --(∬)
[0x252] = 0x212B, --(Å)
- [0x253] = 0x2030, --(‰)
+ [0x253] = 0x2030, --(‰)
[0x254] = 0x266F, --(♯)
- [0x255] = 0x266D, --(♭)
+ [0x255] = 0x266D, --(♭)
[0x256] = 0x266A, --(♪)
- [0x257] = 0x2020, --(†)
- [0x258] = 0x2021, --(‡)
- [0x259] = 0xB6,
- [0x25E] = 0x25EF, --(◯)
+ [0x257] = 0x2020, --(†)
+ [0x258] = 0x2021, --(‡)
+ [0x259] = 0xB6,
+ [0x25E] = 0x25EF, --(◯)
[0x310] = 0xFF10, --(0)
- [0x311] = 0xFF11, --(1)
+ [0x311] = 0xFF11, --(1)
[0x312] = 0xFF12, --(2)
- [0x313] = 0xFF13, --(3)
+ [0x313] = 0xFF13, --(3)
[0x314] = 0xFF14, --(4)
- [0x315] = 0xFF15, --(5)
+ [0x315] = 0xFF15, --(5)
[0x316] = 0xFF16, --(6)
- [0x317] = 0xFF17, --(7)
+ [0x317] = 0xFF17, --(7)
[0x318] = 0xFF18, --(8)
- [0x319] = 0xFF19, --(9)
+ [0x319] = 0xFF19, --(9)
[0x321] = 0xFF21, --(A)
- [0x322] = 0xFF22, --(B)
+ [0x322] = 0xFF22, --(B)
[0x323] = 0xFF23, --(C)
- [0x324] = 0xFF24, --(D)
+ [0x324] = 0xFF24, --(D)
[0x325] = 0xFF25, --(E)
- [0x326] = 0xFF26, --(F)
+ [0x326] = 0xFF26, --(F)
[0x327] = 0xFF27, --(G)
- [0x328] = 0xFF28, --(H)
+ [0x328] = 0xFF28, --(H)
[0x329] = 0xFF29, --(I)
- [0x32A] = 0xFF2A, --(J)
+ [0x32A] = 0xFF2A, --(J)
[0x32B] = 0xFF2B, --(K)
- [0x32C] = 0xFF2C, --(L)
+ [0x32C] = 0xFF2C, --(L)
[0x32D] = 0xFF2D, --(M)
- [0x32E] = 0xFF2E, --(N)
+ [0x32E] = 0xFF2E, --(N)
[0x32F] = 0xFF2F, --(O)
- [0x330] = 0xFF30, --(P)
+ [0x330] = 0xFF30, --(P)
[0x331] = 0xFF31, --(Q)
- [0x332] = 0xFF32, --(R)
+ [0x332] = 0xFF32, --(R)
[0x333] = 0xFF33, --(S)
- [0x334] = 0xFF34, --(T)
+ [0x334] = 0xFF34, --(T)
[0x335] = 0xFF35, --(U)
- [0x336] = 0xFF36, --(V)
+ [0x336] = 0xFF36, --(V)
[0x337] = 0xFF37, --(W)
- [0x338] = 0xFF38, --(X)
+ [0x338] = 0xFF38, --(X)
[0x339] = 0xFF39, --(Y)
- [0x33A] = 0xFF3A, --(Z)
+ [0x33A] = 0xFF3A, --(Z)
[0x341] = 0xFF41, --(a)
- [0x342] = 0xFF42, --(b)
+ [0x342] = 0xFF42, --(b)
[0x343] = 0xFF43, --(c)
- [0x344] = 0xFF44, --(d)
+ [0x344] = 0xFF44, --(d)
[0x345] = 0xFF45, --(e)
- [0x346] = 0xFF46, --(f)
+ [0x346] = 0xFF46, --(f)
[0x347] = 0xFF47, --(g)
- [0x348] = 0xFF48, --(h)
+ [0x348] = 0xFF48, --(h)
[0x349] = 0xFF49, --(i)
- [0x34A] = 0xFF4A, --(j)
+ [0x34A] = 0xFF4A, --(j)
[0x34B] = 0xFF4B, --(k)
- [0x34C] = 0xFF4C, --(l)
+ [0x34C] = 0xFF4C, --(l)
[0x34D] = 0xFF4D, --(m)
- [0x34E] = 0xFF4E, --(n)
+ [0x34E] = 0xFF4E, --(n)
[0x34F] = 0xFF4F, --(o)
- [0x350] = 0xFF50, --(p)
+ [0x350] = 0xFF50, --(p)
[0x351] = 0xFF51, --(q)
- [0x352] = 0xFF52, --(r)
+ [0x352] = 0xFF52, --(r)
[0x353] = 0xFF53, --(s)
- [0x354] = 0xFF54, --(t)
+ [0x354] = 0xFF54, --(t)
[0x355] = 0xFF55, --(u)
- [0x356] = 0xFF56, --(v)
+ [0x356] = 0xFF56, --(v)
[0x357] = 0xFF57, --(w)
- [0x358] = 0xFF58, --(x)
+ [0x358] = 0xFF58, --(x)
[0x359] = 0xFF59, --(y)
- [0x35A] = 0xFF5A, --(z)
+ [0x35A] = 0xFF5A, --(z)
[0x401] = 0x3041, --(ぁ)
- [0x402] = 0x3042, --(あ)
+ [0x402] = 0x3042, --(あ)
[0x403] = 0x3043, --(ぃ)
- [0x404] = 0x3044, --(い)
+ [0x404] = 0x3044, --(い)
[0x405] = 0x3045, --(ぅ)
- [0x406] = 0x3046, --(う)
+ [0x406] = 0x3046, --(う)
[0x407] = 0x3047, --(ぇ)
- [0x408] = 0x3048, --(え)
+ [0x408] = 0x3048, --(え)
[0x409] = 0x3049, --(ぉ)
- [0x40A] = 0x304A, --(お)
+ [0x40A] = 0x304A, --(お)
[0x40B] = 0x304B, --(か)
- [0x40C] = 0x304C, --(が)
+ [0x40C] = 0x304C, --(が)
[0x40D] = 0x304D, --(き)
- [0x40E] = 0x304E, --(ぎ)
+ [0x40E] = 0x304E, --(ぎ)
[0x40F] = 0x304F, --(く)
- [0x410] = 0x3050, --(ぐ)
+ [0x410] = 0x3050, --(ぐ)
[0x411] = 0x3051, --(け)
- [0x412] = 0x3052, --(げ)
+ [0x412] = 0x3052, --(げ)
[0x413] = 0x3053, --(こ)
- [0x414] = 0x3054, --(ご)
+ [0x414] = 0x3054, --(ご)
[0x415] = 0x3055, --(さ)
- [0x416] = 0x3056, --(ざ)
+ [0x416] = 0x3056, --(ざ)
[0x417] = 0x3057, --(し)
- [0x418] = 0x3058, --(じ)
+ [0x418] = 0x3058, --(じ)
[0x419] = 0x3059, --(す)
- [0x41A] = 0x305A, --(ず)
+ [0x41A] = 0x305A, --(ず)
[0x41B] = 0x305B, --(せ)
- [0x41C] = 0x305C, --(ぜ)
+ [0x41C] = 0x305C, --(ぜ)
[0x41D] = 0x305D, --(そ)
- [0x41E] = 0x305E, --(ぞ)
+ [0x41E] = 0x305E, --(ぞ)
[0x41F] = 0x305F, --(た)
- [0x420] = 0x3060, --(だ)
+ [0x420] = 0x3060, --(だ)
[0x421] = 0x3061, --(ち)
- [0x422] = 0x3062, --(ぢ)
+ [0x422] = 0x3062, --(ぢ)
[0x423] = 0x3063, --(っ)
- [0x424] = 0x3064, --(つ)
+ [0x424] = 0x3064, --(つ)
[0x425] = 0x3065, --(づ)
- [0x426] = 0x3066, --(て)
+ [0x426] = 0x3066, --(て)
[0x427] = 0x3067, --(で)
- [0x428] = 0x3068, --(と)
+ [0x428] = 0x3068, --(と)
[0x429] = 0x3069, --(ど)
- [0x42A] = 0x306A, --(な)
+ [0x42A] = 0x306A, --(な)
[0x42B] = 0x306B, --(に)
- [0x42C] = 0x306C, --(ぬ)
+ [0x42C] = 0x306C, --(ぬ)
[0x42D] = 0x306D, --(ね)
- [0x42E] = 0x306E, --(の)
+ [0x42E] = 0x306E, --(の)
[0x42F] = 0x306F, --(は)
- [0x430] = 0x3070, --(ば)
+ [0x430] = 0x3070, --(ば)
[0x431] = 0x3071, --(ぱ)
- [0x432] = 0x3072, --(ひ)
+ [0x432] = 0x3072, --(ひ)
[0x433] = 0x3073, --(び)
- [0x434] = 0x3074, --(ぴ)
+ [0x434] = 0x3074, --(ぴ)
[0x435] = 0x3075, --(ふ)
- [0x436] = 0x3076, --(ぶ)
+ [0x436] = 0x3076, --(ぶ)
[0x437] = 0x3077, --(ぷ)
- [0x438] = 0x3078, --(へ)
+ [0x438] = 0x3078, --(へ)
[0x439] = 0x3079, --(べ)
- [0x43A] = 0x307A, --(ぺ)
+ [0x43A] = 0x307A, --(ぺ)
[0x43B] = 0x307B, --(ほ)
- [0x43C] = 0x307C, --(ぼ)
+ [0x43C] = 0x307C, --(ぼ)
[0x43D] = 0x307D, --(ぽ)
- [0x43E] = 0x307E, --(ま)
+ [0x43E] = 0x307E, --(ま)
[0x43F] = 0x307F, --(み)
- [0x440] = 0x3080, --(む)
+ [0x440] = 0x3080, --(む)
[0x441] = 0x3081, --(め)
- [0x442] = 0x3082, --(も)
+ [0x442] = 0x3082, --(も)
[0x443] = 0x3083, --(ゃ)
- [0x444] = 0x3084, --(や)
+ [0x444] = 0x3084, --(や)
[0x445] = 0x3085, --(ゅ)
- [0x446] = 0x3086, --(ゆ)
+ [0x446] = 0x3086, --(ゆ)
[0x447] = 0x3087, --(ょ)
- [0x448] = 0x3088, --(よ)
+ [0x448] = 0x3088, --(よ)
[0x449] = 0x3089, --(ら)
- [0x44A] = 0x308A, --(り)
+ [0x44A] = 0x308A, --(り)
[0x44B] = 0x308B, --(る)
- [0x44C] = 0x308C, --(れ)
+ [0x44C] = 0x308C, --(れ)
[0x44D] = 0x308D, --(ろ)
- [0x44E] = 0x308E, --(ゎ)
+ [0x44E] = 0x308E, --(ゎ)
[0x44F] = 0x308F, --(わ)
- [0x450] = 0x3090, --(ゐ)
+ [0x450] = 0x3090, --(ゐ)
[0x451] = 0x3091, --(ゑ)
- [0x452] = 0x3092, --(を)
+ [0x452] = 0x3092, --(を)
[0x453] = 0x3093, --(ん)
- [0x501] = 0x30A1, --(ァ)
+ [0x501] = 0x30A1, --(ァ)
[0x502] = 0x30A2, --(ア)
- [0x503] = 0x30A3, --(ィ)
+ [0x503] = 0x30A3, --(ィ)
[0x504] = 0x30A4, --(イ)
- [0x505] = 0x30A5, --(ゥ)
+ [0x505] = 0x30A5, --(ゥ)
[0x506] = 0x30A6, --(ウ)
- [0x507] = 0x30A7, --(ェ)
+ [0x507] = 0x30A7, --(ェ)
[0x508] = 0x30A8, --(エ)
- [0x509] = 0x30A9, --(ォ)
+ [0x509] = 0x30A9, --(ォ)
[0x50A] = 0x30AA, --(オ)
- [0x50B] = 0x30AB, --(カ)
+ [0x50B] = 0x30AB, --(カ)
[0x50C] = 0x30AC, --(ガ)
- [0x50D] = 0x30AD, --(キ)
+ [0x50D] = 0x30AD, --(キ)
[0x50E] = 0x30AE, --(ギ)
- [0x50F] = 0x30AF, --(ク)
+ [0x50F] = 0x30AF, --(ク)
[0x510] = 0x30B0, --(グ)
- [0x511] = 0x30B1, --(ケ)
+ [0x511] = 0x30B1, --(ケ)
[0x512] = 0x30B2, --(ゲ)
- [0x513] = 0x30B3, --(コ)
+ [0x513] = 0x30B3, --(コ)
[0x514] = 0x30B4, --(ゴ)
- [0x515] = 0x30B5, --(サ)
+ [0x515] = 0x30B5, --(サ)
[0x516] = 0x30B6, --(ザ)
- [0x517] = 0x30B7, --(シ)
+ [0x517] = 0x30B7, --(シ)
[0x518] = 0x30B8, --(ジ)
- [0x519] = 0x30B9, --(ス)
+ [0x519] = 0x30B9, --(ス)
[0x51A] = 0x30BA, --(ズ)
- [0x51B] = 0x30BB, --(セ)
+ [0x51B] = 0x30BB, --(セ)
[0x51C] = 0x30BC, --(ゼ)
- [0x51D] = 0x30BD, --(ソ)
+ [0x51D] = 0x30BD, --(ソ)
[0x51E] = 0x30BE, --(ゾ)
- [0x51F] = 0x30BF, --(タ)
+ [0x51F] = 0x30BF, --(タ)
[0x520] = 0x30C0, --(ダ)
- [0x521] = 0x30C1, --(チ)
+ [0x521] = 0x30C1, --(チ)
[0x522] = 0x30C2, --(ヂ)
- [0x523] = 0x30C3, --(ッ)
+ [0x523] = 0x30C3, --(ッ)
[0x524] = 0x30C4, --(ツ)
- [0x525] = 0x30C5, --(ヅ)
+ [0x525] = 0x30C5, --(ヅ)
[0x526] = 0x30C6, --(テ)
- [0x527] = 0x30C7, --(デ)
+ [0x527] = 0x30C7, --(デ)
[0x528] = 0x30C8, --(ト)
- [0x529] = 0x30C9, --(ド)
+ [0x529] = 0x30C9, --(ド)
[0x52A] = 0x30CA, --(ナ)
- [0x52B] = 0x30CB, --(ニ)
+ [0x52B] = 0x30CB, --(ニ)
[0x52C] = 0x30CC, --(ヌ)
- [0x52D] = 0x30CD, --(ネ)
+ [0x52D] = 0x30CD, --(ネ)
[0x52E] = 0x30CE, --(ノ)
- [0x52F] = 0x30CF, --(ハ)
+ [0x52F] = 0x30CF, --(ハ)
[0x530] = 0x30D0, --(バ)
- [0x531] = 0x30D1, --(パ)
+ [0x531] = 0x30D1, --(パ)
[0x532] = 0x30D2, --(ヒ)
- [0x533] = 0x30D3, --(ビ)
+ [0x533] = 0x30D3, --(ビ)
[0x534] = 0x30D4, --(ピ)
- [0x535] = 0x30D5, --(フ)
+ [0x535] = 0x30D5, --(フ)
[0x536] = 0x30D6, --(ブ)
- [0x537] = 0x30D7, --(プ)
+ [0x537] = 0x30D7, --(プ)
[0x538] = 0x30D8, --(ヘ)
- [0x539] = 0x30D9, --(ベ)
+ [0x539] = 0x30D9, --(ベ)
[0x53A] = 0x30DA, --(ペ)
- [0x53B] = 0x30DB, --(ホ)
+ [0x53B] = 0x30DB, --(ホ)
[0x53C] = 0x30DC, --(ボ)
- [0x53D] = 0x30DD, --(ポ)
+ [0x53D] = 0x30DD, --(ポ)
[0x53E] = 0x30DE, --(マ)
- [0x53F] = 0x30DF, --(ミ)
+ [0x53F] = 0x30DF, --(ミ)
[0x540] = 0x30E0, --(ム)
- [0x541] = 0x30E1, --(メ)
+ [0x541] = 0x30E1, --(メ)
[0x542] = 0x30E2, --(モ)
- [0x543] = 0x30E3, --(ャ)
+ [0x543] = 0x30E3, --(ャ)
[0x544] = 0x30E4, --(ヤ)
- [0x545] = 0x30E5, --(ュ)
+ [0x545] = 0x30E5, --(ュ)
[0x546] = 0x30E6, --(ユ)
- [0x547] = 0x30E7, --(ョ)
+ [0x547] = 0x30E7, --(ョ)
[0x548] = 0x30E8, --(ヨ)
- [0x549] = 0x30E9, --(ラ)
+ [0x549] = 0x30E9, --(ラ)
[0x54A] = 0x30EA, --(リ)
- [0x54B] = 0x30EB, --(ル)
+ [0x54B] = 0x30EB, --(ル)
[0x54C] = 0x30EC, --(レ)
- [0x54D] = 0x30ED, --(ロ)
+ [0x54D] = 0x30ED, --(ロ)
[0x54E] = 0x30EE, --(ヮ)
- [0x54F] = 0x30EF, --(ワ)
+ [0x54F] = 0x30EF, --(ワ)
[0x550] = 0x30F0, --(ヰ)
- [0x551] = 0x30F1, --(ヱ)
+ [0x551] = 0x30F1, --(ヱ)
[0x552] = 0x30F2, --(ヲ)
- [0x553] = 0x30F3, --(ン)
+ [0x553] = 0x30F3, --(ン)
[0x554] = 0x30F4, --(ヴ)
- [0x555] = 0x30F5, --(ヵ)
+ [0x555] = 0x30F5, --(ヵ)
[0x556] = 0x30F6, --(ヶ)
- [0x601] = 0x391, --(Α)
- [0x602] = 0x392, --(Β)
+ [0x601] = 0x391, --(Α)
+ [0x602] = 0x392, --(Β)
[0x603] = 0x393, --(Γ)
- [0x604] = 0x394, --(Δ)
- [0x605] = 0x395, --(Ε)
+ [0x604] = 0x394, --(Δ)
+ [0x605] = 0x395, --(Ε)
[0x606] = 0x396, --(Ζ)
- [0x607] = 0x397, --(Η)
- [0x608] = 0x398, --(Θ)
+ [0x607] = 0x397, --(Η)
+ [0x608] = 0x398, --(Θ)
[0x609] = 0x399, --(Ι)
- [0x60A] = 0x39A, --(Κ)
- [0x60B] = 0x39B, --(Λ)
+ [0x60A] = 0x39A, --(Κ)
+ [0x60B] = 0x39B, --(Λ)
[0x60C] = 0x39C, --(Μ)
- [0x60D] = 0x39D, --(Ν)
- [0x60E] = 0x39E, --(Ξ)
+ [0x60D] = 0x39D, --(Ν)
+ [0x60E] = 0x39E, --(Ξ)
[0x60F] = 0x39F, --(Ο)
- [0x610] = 0x3A0, --(Π)
- [0x611] = 0x3A1, --(Ρ)
+ [0x610] = 0x3A0, --(Π)
+ [0x611] = 0x3A1, --(Ρ)
[0x612] = 0x3A3, --(Σ)
- [0x613] = 0x3A4, --(Τ)
- [0x614] = 0x3A5, --(Υ)
+ [0x613] = 0x3A4, --(Τ)
+ [0x614] = 0x3A5, --(Υ)
[0x615] = 0x3A6, --(Φ)
- [0x616] = 0x3A7, --(Χ)
- [0x617] = 0x3A8, --(Ψ)
+ [0x616] = 0x3A7, --(Χ)
+ [0x617] = 0x3A8, --(Ψ)
[0x618] = 0x3A9, --(Ω)
- [0x621] = 0x3B1, --(α)
- [0x622] = 0x3B2, --(β)
+ [0x621] = 0x3B1, --(α)
+ [0x622] = 0x3B2, --(β)
[0x623] = 0x3B3, --(γ)
- [0x624] = 0x3B4, --(δ)
- [0x625] = 0x3B5, --(ε)
+ [0x624] = 0x3B4, --(δ)
+ [0x625] = 0x3B5, --(ε)
[0x626] = 0x3B6, --(ζ)
- [0x627] = 0x3B7, --(η)
- [0x628] = 0x3B8, --(θ)
+ [0x627] = 0x3B7, --(η)
+ [0x628] = 0x3B8, --(θ)
[0x629] = 0x3B9, --(ι)
- [0x62A] = 0x3BA, --(κ)
- [0x62B] = 0x3BB, --(λ)
+ [0x62A] = 0x3BA, --(κ)
+ [0x62B] = 0x3BB, --(λ)
[0x62C] = 0x3BC, --(μ)
- [0x62D] = 0x3BD, --(ν)
- [0x62E] = 0x3BE, --(ξ)
+ [0x62D] = 0x3BD, --(ν)
+ [0x62E] = 0x3BE, --(ξ)
[0x62F] = 0x3BF, --(ο)
- [0x630] = 0x3C0, --(π)
- [0x631] = 0x3C1, --(ρ)
+ [0x630] = 0x3C0, --(π)
+ [0x631] = 0x3C1, --(ρ)
[0x632] = 0x3C3, --(σ)
- [0x633] = 0x3C4, --(τ)
- [0x634] = 0x3C5, --(υ)
+ [0x633] = 0x3C4, --(τ)
+ [0x634] = 0x3C5, --(υ)
[0x635] = 0x3C6, --(φ)
- [0x636] = 0x3C7, --(χ)
- [0x637] = 0x3C8, --(ψ)
+ [0x636] = 0x3C7, --(χ)
+ [0x637] = 0x3C8, --(ψ)
[0x638] = 0x3C9, --(ω)
- [0x701] = 0x410, --(А)
- [0x702] = 0x411, --(Б)
+ [0x701] = 0x410, --(А)
+ [0x702] = 0x411, --(Б)
[0x703] = 0x412, --(В)
- [0x704] = 0x413, --(Г)
- [0x705] = 0x414, --(Д)
+ [0x704] = 0x413, --(Г)
+ [0x705] = 0x414, --(Д)
[0x706] = 0x415, --(Е)
- [0x707] = 0x401, --(Ё)
- [0x708] = 0x416, --(Ж)
+ [0x707] = 0x401, --(Ё)
+ [0x708] = 0x416, --(Ж)
[0x709] = 0x417, --(З)
- [0x70A] = 0x418, --(И)
- [0x70B] = 0x419, --(Й)
+ [0x70A] = 0x418, --(И)
+ [0x70B] = 0x419, --(Й)
[0x70C] = 0x41A, --(К)
- [0x70D] = 0x41B, --(Л)
- [0x70E] = 0x41C, --(М)
+ [0x70D] = 0x41B, --(Л)
+ [0x70E] = 0x41C, --(М)
[0x70F] = 0x41D, --(Н)
- [0x710] = 0x41E, --(О)
- [0x711] = 0x41F, --(П)
+ [0x710] = 0x41E, --(О)
+ [0x711] = 0x41F, --(П)
[0x712] = 0x420, --(Р)
- [0x713] = 0x421, --(С)
- [0x714] = 0x422, --(Т)
+ [0x713] = 0x421, --(С)
+ [0x714] = 0x422, --(Т)
[0x715] = 0x423, --(У)
- [0x716] = 0x424, --(Ф)
- [0x717] = 0x425, --(Х)
+ [0x716] = 0x424, --(Ф)
+ [0x717] = 0x425, --(Х)
[0x718] = 0x426, --(Ц)
- [0x719] = 0x427, --(Ч)
- [0x71A] = 0x428, --(Ш)
+ [0x719] = 0x427, --(Ч)
+ [0x71A] = 0x428, --(Ш)
[0x71B] = 0x429, --(Щ)
- [0x71C] = 0x42A, --(Ъ)
- [0x71D] = 0x42B, --(Ы)
+ [0x71C] = 0x42A, --(Ъ)
+ [0x71D] = 0x42B, --(Ы)
[0x71E] = 0x42C, --(Ь)
- [0x71F] = 0x42D, --(Э)
- [0x720] = 0x42E, --(Ю)
+ [0x71F] = 0x42D, --(Э)
+ [0x720] = 0x42E, --(Ю)
[0x721] = 0x42F, --(Я)
- [0x731] = 0x430, --(а)
- [0x732] = 0x431, --(б)
+ [0x731] = 0x430, --(а)
+ [0x732] = 0x431, --(б)
[0x733] = 0x432, --(в)
- [0x734] = 0x433, --(г)
- [0x735] = 0x434, --(д)
+ [0x734] = 0x433, --(г)
+ [0x735] = 0x434, --(д)
[0x736] = 0x435, --(е)
- [0x737] = 0x451, --(ё)
- [0x738] = 0x436, --(ж)
+ [0x737] = 0x451, --(ё)
+ [0x738] = 0x436, --(ж)
[0x739] = 0x437, --(з)
- [0x73A] = 0x438, --(и)
- [0x73B] = 0x439, --(й)
+ [0x73A] = 0x438, --(и)
+ [0x73B] = 0x439, --(й)
[0x73C] = 0x43A, --(к)
- [0x73D] = 0x43B, --(л)
- [0x73E] = 0x43C, --(м)
+ [0x73D] = 0x43B, --(л)
+ [0x73E] = 0x43C, --(м)
[0x73F] = 0x43D, --(н)
- [0x740] = 0x43E, --(о)
- [0x741] = 0x43F, --(п)
+ [0x740] = 0x43E, --(о)
+ [0x741] = 0x43F, --(п)
[0x742] = 0x440, --(р)
- [0x743] = 0x441, --(с)
- [0x744] = 0x442, --(т)
+ [0x743] = 0x441, --(с)
+ [0x744] = 0x442, --(т)
[0x745] = 0x443, --(у)
- [0x746] = 0x444, --(ф)
- [0x747] = 0x445, --(х)
+ [0x746] = 0x444, --(ф)
+ [0x747] = 0x445, --(х)
[0x748] = 0x446, --(ц)
- [0x749] = 0x447, --(ч)
- [0x74A] = 0x448, --(ш)
+ [0x749] = 0x447, --(ч)
+ [0x74A] = 0x448, --(ш)
[0x74B] = 0x449, --(щ)
- [0x74C] = 0x44A, --(ъ)
- [0x74D] = 0x44B, --(ы)
+ [0x74C] = 0x44A, --(ъ)
+ [0x74D] = 0x44B, --(ы)
[0x74E] = 0x44C, --(ь)
- [0x74F] = 0x44D, --(э)
- [0x750] = 0x44E, --(ю)
+ [0x74F] = 0x44D, --(э)
+ [0x750] = 0x44E, --(ю)
[0x751] = 0x44F, --(я)
- [0x801] = 0x2500, --(─)
+ [0x801] = 0x2500, --(─)
[0x802] = 0x2502, --(│)
- [0x803] = 0x250C, --(┌)
+ [0x803] = 0x250C, --(┌)
[0x804] = 0x2510, --(┐)
- [0x805] = 0x2518, --(┘)
+ [0x805] = 0x2518, --(┘)
[0x806] = 0x2514, --(└)
- [0x807] = 0x251C, --(├)
+ [0x807] = 0x251C, --(├)
[0x808] = 0x252C, --(┬)
- [0x809] = 0x2524, --(┤)
+ [0x809] = 0x2524, --(┤)
[0x80A] = 0x2534, --(┴)
- [0x80B] = 0x253C, --(┼)
+ [0x80B] = 0x253C, --(┼)
[0x80C] = 0x2501, --(━)
- [0x80D] = 0x2503, --(┃)
+ [0x80D] = 0x2503, --(┃)
[0x80E] = 0x250F, --(┏)
- [0x80F] = 0x2513, --(┓)
+ [0x80F] = 0x2513, --(┓)
[0x810] = 0x251B, --(┛)
- [0x811] = 0x2517, --(┗)
+ [0x811] = 0x2517, --(┗)
[0x812] = 0x2523, --(┣)
- [0x813] = 0x2533, --(┳)
+ [0x813] = 0x2533, --(┳)
[0x814] = 0x252B, --(┫)
- [0x815] = 0x253B, --(┻)
+ [0x815] = 0x253B, --(┻)
[0x816] = 0x254B, --(╋)
- [0x817] = 0x2520, --(┠)
+ [0x817] = 0x2520, --(┠)
[0x818] = 0x252F, --(┯)
- [0x819] = 0x2528, --(┨)
+ [0x819] = 0x2528, --(┨)
[0x81A] = 0x2537, --(┷)
- [0x81B] = 0x253F, --(┿)
+ [0x81B] = 0x253F, --(┿)
[0x81C] = 0x251D, --(┝)
- [0x81D] = 0x2530, --(┰)
+ [0x81D] = 0x2530, --(┰)
[0x81E] = 0x2525, --(┥)
- [0x81F] = 0x2538, --(┸)
+ [0x81F] = 0x2538, --(┸)
[0x820] = 0x2542, --(╂)
- [0x1001] = 0x4E9C, --(亜)
+ [0x1001] = 0x4E9C, --(亜)
[0x1002] = 0x5516, --(唖)
- [0x1003] = 0x5A03, --(娃)
+ [0x1003] = 0x5A03, --(娃)
[0x1004] = 0x963F, --(阿)
- [0x1005] = 0x54C0, --(哀)
+ [0x1005] = 0x54C0, --(哀)
[0x1006] = 0x611B, --(愛)
- [0x1007] = 0x6328, --(挨)
+ [0x1007] = 0x6328, --(挨)
[0x1008] = 0x59F6, --(姶)
- [0x1009] = 0x9022, --(逢)
+ [0x1009] = 0x9022, --(逢)
[0x100A] = 0x8475, --(葵)
- [0x100B] = 0x831C, --(茜)
+ [0x100B] = 0x831C, --(茜)
[0x100C] = 0x7A50, --(穐)
- [0x100D] = 0x60AA, --(悪)
+ [0x100D] = 0x60AA, --(悪)
[0x100E] = 0x63E1, --(握)
- [0x100F] = 0x6E25, --(渥)
+ [0x100F] = 0x6E25, --(渥)
[0x1010] = 0x65ED, --(旭)
- [0x1011] = 0x8466, --(葦)
+ [0x1011] = 0x8466, --(葦)
[0x1012] = 0x82A6, --(芦)
- [0x1013] = 0x9BF5, --(鯵)
+ [0x1013] = 0x9BF5, --(鯵)
[0x1014] = 0x6893, --(梓)
- [0x1015] = 0x5727, --(圧)
+ [0x1015] = 0x5727, --(圧)
[0x1016] = 0x65A1, --(斡)
- [0x1017] = 0x6271, --(扱)
+ [0x1017] = 0x6271, --(扱)
[0x1018] = 0x5B9B, --(宛)
- [0x1019] = 0x59D0, --(姐)
+ [0x1019] = 0x59D0, --(姐)
[0x101A] = 0x867B, --(虻)
- [0x101B] = 0x98F4, --(飴)
+ [0x101B] = 0x98F4, --(飴)
[0x101C] = 0x7D62, --(絢)
- [0x101D] = 0x7DBE, --(綾)
+ [0x101D] = 0x7DBE, --(綾)
[0x101E] = 0x9B8E, --(鮎)
- [0x101F] = 0x6216, --(或)
+ [0x101F] = 0x6216, --(或)
[0x1020] = 0x7C9F, --(粟)
- [0x1021] = 0x88B7, --(袷)
+ [0x1021] = 0x88B7, --(袷)
[0x1022] = 0x5B89, --(安)
- [0x1023] = 0x5EB5, --(庵)
+ [0x1023] = 0x5EB5, --(庵)
[0x1024] = 0x6309, --(按)
- [0x1025] = 0x6697, --(暗)
+ [0x1025] = 0x6697, --(暗)
[0x1026] = 0x6848, --(案)
- [0x1027] = 0x95C7, --(闇)
+ [0x1027] = 0x95C7, --(闇)
[0x1028] = 0x978D, --(鞍)
- [0x1029] = 0x674F, --(杏)
+ [0x1029] = 0x674F, --(杏)
[0x102A] = 0x4EE5, --(以)
- [0x102B] = 0x4F0A, --(伊)
+ [0x102B] = 0x4F0A, --(伊)
[0x102C] = 0x4F4D, --(位)
- [0x102D] = 0x4F9D, --(依)
+ [0x102D] = 0x4F9D, --(依)
[0x102E] = 0x5049, --(偉)
- [0x102F] = 0x56F2, --(囲)
+ [0x102F] = 0x56F2, --(囲)
[0x1030] = 0x5937, --(夷)
- [0x1031] = 0x59D4, --(委)
+ [0x1031] = 0x59D4, --(委)
[0x1032] = 0x5A01, --(威)
- [0x1033] = 0x5C09, --(尉)
+ [0x1033] = 0x5C09, --(尉)
[0x1034] = 0x60DF, --(惟)
- [0x1035] = 0x610F, --(意)
+ [0x1035] = 0x610F, --(意)
[0x1036] = 0x6170, --(慰)
- [0x1037] = 0x6613, --(易)
+ [0x1037] = 0x6613, --(易)
[0x1038] = 0x6905, --(椅)
- [0x1039] = 0x70BA, --(為)
+ [0x1039] = 0x70BA, --(為)
[0x103A] = 0x754F, --(畏)
- [0x103B] = 0x7570, --(異)
+ [0x103B] = 0x7570, --(異)
[0x103C] = 0x79FB, --(移)
- [0x103D] = 0x7DAD, --(維)
+ [0x103D] = 0x7DAD, --(維)
[0x103E] = 0x7DEF, --(緯)
- [0x103F] = 0x80C3, --(胃)
+ [0x103F] = 0x80C3, --(胃)
[0x1040] = 0x840E, --(萎)
- [0x1041] = 0x8863, --(衣)
+ [0x1041] = 0x8863, --(衣)
[0x1042] = 0x8B02, --(謂)
- [0x1043] = 0x9055, --(違)
+ [0x1043] = 0x9055, --(違)
[0x1044] = 0x907A, --(遺)
- [0x1045] = 0x533B, --(医)
+ [0x1045] = 0x533B, --(医)
[0x1046] = 0x4E95, --(井)
- [0x1047] = 0x4EA5, --(亥)
+ [0x1047] = 0x4EA5, --(亥)
[0x1048] = 0x57DF, --(域)
- [0x1049] = 0x80B2, --(育)
+ [0x1049] = 0x80B2, --(育)
[0x104A] = 0x90C1, --(郁)
- [0x104B] = 0x78EF, --(磯)
+ [0x104B] = 0x78EF, --(磯)
[0x104C] = 0x4E00, --(一)
- [0x104D] = 0x58F1, --(壱)
+ [0x104D] = 0x58F1, --(壱)
[0x104E] = 0x6EA2, --(溢)
- [0x104F] = 0x9038, --(逸)
+ [0x104F] = 0x9038, --(逸)
[0x1050] = 0x7A32, --(稲)
- [0x1051] = 0x8328, --(茨)
+ [0x1051] = 0x8328, --(茨)
[0x1052] = 0x828B, --(芋)
- [0x1053] = 0x9C2F, --(鰯)
+ [0x1053] = 0x9C2F, --(鰯)
[0x1054] = 0x5141, --(允)
- [0x1055] = 0x5370, --(印)
+ [0x1055] = 0x5370, --(印)
[0x1056] = 0x54BD, --(咽)
- [0x1057] = 0x54E1, --(員)
+ [0x1057] = 0x54E1, --(員)
[0x1058] = 0x56E0, --(因)
- [0x1059] = 0x59FB, --(姻)
+ [0x1059] = 0x59FB, --(姻)
[0x105A] = 0x5F15, --(引)
- [0x105B] = 0x98F2, --(飲)
+ [0x105B] = 0x98F2, --(飲)
[0x105C] = 0x6DEB, --(淫)
- [0x105D] = 0x80E4, --(胤)
+ [0x105D] = 0x80E4, --(胤)
[0x105E] = 0x852D, --(蔭)
- [0x1101] = 0x9662, --(院)
+ [0x1101] = 0x9662, --(院)
[0x1102] = 0x9670, --(陰)
- [0x1103] = 0x96A0, --(隠)
+ [0x1103] = 0x96A0, --(隠)
[0x1104] = 0x97FB, --(韻)
- [0x1105] = 0x540B, --(吋)
+ [0x1105] = 0x540B, --(吋)
[0x1106] = 0x53F3, --(右)
- [0x1107] = 0x5B87, --(宇)
+ [0x1107] = 0x5B87, --(宇)
[0x1108] = 0x70CF, --(烏)
- [0x1109] = 0x7FBD, --(羽)
+ [0x1109] = 0x7FBD, --(羽)
[0x110A] = 0x8FC2, --(迂)
- [0x110B] = 0x96E8, --(雨)
+ [0x110B] = 0x96E8, --(雨)
[0x110C] = 0x536F, --(卯)
- [0x110D] = 0x9D5C, --(鵜)
+ [0x110D] = 0x9D5C, --(鵜)
[0x110E] = 0x7ABA, --(窺)
- [0x110F] = 0x4E11, --(丑)
+ [0x110F] = 0x4E11, --(丑)
[0x1110] = 0x7893, --(碓)
- [0x1111] = 0x81FC, --(臼)
+ [0x1111] = 0x81FC, --(臼)
[0x1112] = 0x6E26, --(渦)
- [0x1113] = 0x5618, --(嘘)
+ [0x1113] = 0x5618, --(嘘)
[0x1114] = 0x5504, --(唄)
- [0x1115] = 0x6B1D, --(欝)
+ [0x1115] = 0x6B1D, --(欝)
[0x1116] = 0x851A, --(蔚)
- [0x1117] = 0x9C3B, --(鰻)
+ [0x1117] = 0x9C3B, --(鰻)
[0x1118] = 0x59E5, --(姥)
- [0x1119] = 0x53A9, --(厩)
+ [0x1119] = 0x53A9, --(厩)
[0x111A] = 0x6D66, --(浦)
- [0x111B] = 0x74DC, --(瓜)
+ [0x111B] = 0x74DC, --(瓜)
[0x111C] = 0x958F, --(閏)
- [0x111D] = 0x5642, --(噂)
+ [0x111D] = 0x5642, --(噂)
[0x111E] = 0x4E91, --(云)
- [0x111F] = 0x904B, --(運)
+ [0x111F] = 0x904B, --(運)
[0x1120] = 0x96F2, --(雲)
- [0x1121] = 0x834F, --(荏)
+ [0x1121] = 0x834F, --(荏)
[0x1122] = 0x990C, --(餌)
- [0x1123] = 0x53E1, --(叡)
+ [0x1123] = 0x53E1, --(叡)
[0x1124] = 0x55B6, --(営)
- [0x1125] = 0x5B30, --(嬰)
+ [0x1125] = 0x5B30, --(嬰)
[0x1126] = 0x5F71, --(影)
- [0x1127] = 0x6620, --(映)
+ [0x1127] = 0x6620, --(映)
[0x1128] = 0x66F3, --(曳)
- [0x1129] = 0x6804, --(栄)
+ [0x1129] = 0x6804, --(栄)
[0x112A] = 0x6C38, --(永)
- [0x112B] = 0x6CF3, --(泳)
+ [0x112B] = 0x6CF3, --(泳)
[0x112C] = 0x6D29, --(洩)
- [0x112D] = 0x745B, --(瑛)
+ [0x112D] = 0x745B, --(瑛)
[0x112E] = 0x76C8, --(盈)
- [0x112F] = 0x7A4E, --(穎)
+ [0x112F] = 0x7A4E, --(穎)
[0x1130] = 0x9834, --(頴)
- [0x1131] = 0x82F1, --(英)
+ [0x1131] = 0x82F1, --(英)
[0x1132] = 0x885B, --(衛)
- [0x1133] = 0x8A60, --(詠)
+ [0x1133] = 0x8A60, --(詠)
[0x1134] = 0x92ED, --(鋭)
- [0x1135] = 0x6DB2, --(液)
+ [0x1135] = 0x6DB2, --(液)
[0x1136] = 0x75AB, --(疫)
- [0x1137] = 0x76CA, --(益)
+ [0x1137] = 0x76CA, --(益)
[0x1138] = 0x99C5, --(駅)
- [0x1139] = 0x60A6, --(悦)
+ [0x1139] = 0x60A6, --(悦)
[0x113A] = 0x8B01, --(謁)
- [0x113B] = 0x8D8A, --(越)
+ [0x113B] = 0x8D8A, --(越)
[0x113C] = 0x95B2, --(閲)
- [0x113D] = 0x698E, --(榎)
+ [0x113D] = 0x698E, --(榎)
[0x113E] = 0x53AD, --(厭)
- [0x113F] = 0x5186, --(円)
+ [0x113F] = 0x5186, --(円)
[0x1140] = 0x5712, --(園)
- [0x1141] = 0x5830, --(堰)
+ [0x1141] = 0x5830, --(堰)
[0x1142] = 0x5944, --(奄)
- [0x1143] = 0x5BB4, --(宴)
+ [0x1143] = 0x5BB4, --(宴)
[0x1144] = 0x5EF6, --(延)
- [0x1145] = 0x6028, --(怨)
+ [0x1145] = 0x6028, --(怨)
[0x1146] = 0x63A9, --(掩)
- [0x1147] = 0x63F4, --(援)
+ [0x1147] = 0x63F4, --(援)
[0x1148] = 0x6CBF, --(沿)
- [0x1149] = 0x6F14, --(演)
+ [0x1149] = 0x6F14, --(演)
[0x114A] = 0x708E, --(炎)
- [0x114B] = 0x7114, --(焔)
+ [0x114B] = 0x7114, --(焔)
[0x114C] = 0x7159, --(煙)
- [0x114D] = 0x71D5, --(燕)
+ [0x114D] = 0x71D5, --(燕)
[0x114E] = 0x733F, --(猿)
- [0x114F] = 0x7E01, --(縁)
+ [0x114F] = 0x7E01, --(縁)
[0x1150] = 0x8276, --(艶)
- [0x1151] = 0x82D1, --(苑)
+ [0x1151] = 0x82D1, --(苑)
[0x1152] = 0x8597, --(薗)
- [0x1153] = 0x9060, --(遠)
+ [0x1153] = 0x9060, --(遠)
[0x1154] = 0x925B, --(鉛)
- [0x1155] = 0x9D1B, --(鴛)
+ [0x1155] = 0x9D1B, --(鴛)
[0x1156] = 0x5869, --(塩)
- [0x1157] = 0x65BC, --(於)
+ [0x1157] = 0x65BC, --(於)
[0x1158] = 0x6C5A, --(汚)
- [0x1159] = 0x7525, --(甥)
+ [0x1159] = 0x7525, --(甥)
[0x115A] = 0x51F9, --(凹)
- [0x115B] = 0x592E, --(央)
+ [0x115B] = 0x592E, --(央)
[0x115C] = 0x5965, --(奥)
- [0x115D] = 0x5F80, --(往)
+ [0x115D] = 0x5F80, --(往)
[0x115E] = 0x5FDC, --(応)
- [0x1201] = 0x62BC, --(押)
+ [0x1201] = 0x62BC, --(押)
[0x1202] = 0x65FA, --(旺)
- [0x1203] = 0x6A2A, --(横)
+ [0x1203] = 0x6A2A, --(横)
[0x1204] = 0x6B27, --(欧)
- [0x1205] = 0x6BB4, --(殴)
+ [0x1205] = 0x6BB4, --(殴)
[0x1206] = 0x738B, --(王)
- [0x1207] = 0x7FC1, --(翁)
+ [0x1207] = 0x7FC1, --(翁)
[0x1208] = 0x8956, --(襖)
- [0x1209] = 0x9D2C, --(鴬)
+ [0x1209] = 0x9D2C, --(鴬)
[0x120A] = 0x9D0E, --(鴎)
- [0x120B] = 0x9EC4, --(黄)
+ [0x120B] = 0x9EC4, --(黄)
[0x120C] = 0x5CA1, --(岡)
- [0x120D] = 0x6C96, --(沖)
+ [0x120D] = 0x6C96, --(沖)
[0x120E] = 0x837B, --(荻)
- [0x120F] = 0x5104, --(億)
+ [0x120F] = 0x5104, --(億)
[0x1210] = 0x5C4B, --(屋)
- [0x1211] = 0x61B6, --(憶)
+ [0x1211] = 0x61B6, --(憶)
[0x1212] = 0x81C6, --(臆)
- [0x1213] = 0x6876, --(桶)
+ [0x1213] = 0x6876, --(桶)
[0x1214] = 0x7261, --(牡)
- [0x1215] = 0x4E59, --(乙)
+ [0x1215] = 0x4E59, --(乙)
[0x1216] = 0x4FFA, --(俺)
- [0x1217] = 0x5378, --(卸)
+ [0x1217] = 0x5378, --(卸)
[0x1218] = 0x6069, --(恩)
- [0x1219] = 0x6E29, --(温)
+ [0x1219] = 0x6E29, --(温)
[0x121A] = 0x7A4F, --(穏)
- [0x121B] = 0x97F3, --(音)
+ [0x121B] = 0x97F3, --(音)
[0x121C] = 0x4E0B, --(下)
- [0x121D] = 0x5316, --(化)
+ [0x121D] = 0x5316, --(化)
[0x121E] = 0x4EEE, --(仮)
- [0x121F] = 0x4F55, --(何)
+ [0x121F] = 0x4F55, --(何)
[0x1220] = 0x4F3D, --(伽)
- [0x1221] = 0x4FA1, --(価)
+ [0x1221] = 0x4FA1, --(価)
[0x1222] = 0x4F73, --(佳)
- [0x1223] = 0x52A0, --(加)
+ [0x1223] = 0x52A0, --(加)
[0x1224] = 0x53EF, --(可)
- [0x1225] = 0x5609, --(嘉)
+ [0x1225] = 0x5609, --(嘉)
[0x1226] = 0x590F, --(夏)
- [0x1227] = 0x5AC1, --(嫁)
+ [0x1227] = 0x5AC1, --(嫁)
[0x1228] = 0x5BB6, --(家)
- [0x1229] = 0x5BE1, --(寡)
+ [0x1229] = 0x5BE1, --(寡)
[0x122A] = 0x79D1, --(科)
- [0x122B] = 0x6687, --(暇)
+ [0x122B] = 0x6687, --(暇)
[0x122C] = 0x679C, --(果)
- [0x122D] = 0x67B6, --(架)
+ [0x122D] = 0x67B6, --(架)
[0x122E] = 0x6B4C, --(歌)
- [0x122F] = 0x6CB3, --(河)
+ [0x122F] = 0x6CB3, --(河)
[0x1230] = 0x706B, --(火)
- [0x1231] = 0x73C2, --(珂)
+ [0x1231] = 0x73C2, --(珂)
[0x1232] = 0x798D, --(禍)
- [0x1233] = 0x79BE, --(禾)
+ [0x1233] = 0x79BE, --(禾)
[0x1234] = 0x7A3C, --(稼)
- [0x1235] = 0x7B87, --(箇)
+ [0x1235] = 0x7B87, --(箇)
[0x1236] = 0x82B1, --(花)
- [0x1237] = 0x82DB, --(苛)
+ [0x1237] = 0x82DB, --(苛)
[0x1238] = 0x8304, --(茄)
- [0x1239] = 0x8377, --(荷)
+ [0x1239] = 0x8377, --(荷)
[0x123A] = 0x83EF, --(華)
- [0x123B] = 0x83D3, --(菓)
+ [0x123B] = 0x83D3, --(菓)
[0x123C] = 0x8766, --(蝦)
- [0x123D] = 0x8AB2, --(課)
+ [0x123D] = 0x8AB2, --(課)
[0x123E] = 0x5629, --(嘩)
- [0x123F] = 0x8CA8, --(貨)
+ [0x123F] = 0x8CA8, --(貨)
[0x1240] = 0x8FE6, --(迦)
- [0x1241] = 0x904E, --(過)
+ [0x1241] = 0x904E, --(過)
[0x1242] = 0x971E, --(霞)
- [0x1243] = 0x868A, --(蚊)
+ [0x1243] = 0x868A, --(蚊)
[0x1244] = 0x4FC4, --(俄)
- [0x1245] = 0x5CE8, --(峨)
+ [0x1245] = 0x5CE8, --(峨)
[0x1246] = 0x6211, --(我)
- [0x1247] = 0x7259, --(牙)
+ [0x1247] = 0x7259, --(牙)
[0x1248] = 0x753B, --(画)
- [0x1249] = 0x81E5, --(臥)
+ [0x1249] = 0x81E5, --(臥)
[0x124A] = 0x82BD, --(芽)
- [0x124B] = 0x86FE, --(蛾)
+ [0x124B] = 0x86FE, --(蛾)
[0x124C] = 0x8CC0, --(賀)
- [0x124D] = 0x96C5, --(雅)
+ [0x124D] = 0x96C5, --(雅)
[0x124E] = 0x9913, --(餓)
- [0x124F] = 0x99D5, --(駕)
+ [0x124F] = 0x99D5, --(駕)
[0x1250] = 0x4ECB, --(介)
- [0x1251] = 0x4F1A, --(会)
+ [0x1251] = 0x4F1A, --(会)
[0x1252] = 0x89E3, --(解)
- [0x1253] = 0x56DE, --(回)
+ [0x1253] = 0x56DE, --(回)
[0x1254] = 0x584A, --(塊)
- [0x1255] = 0x58CA, --(壊)
+ [0x1255] = 0x58CA, --(壊)
[0x1256] = 0x5EFB, --(廻)
- [0x1257] = 0x5FEB, --(快)
+ [0x1257] = 0x5FEB, --(快)
[0x1258] = 0x602A, --(怪)
- [0x1259] = 0x6094, --(悔)
+ [0x1259] = 0x6094, --(悔)
[0x125A] = 0x6062, --(恢)
- [0x125B] = 0x61D0, --(懐)
+ [0x125B] = 0x61D0, --(懐)
[0x125C] = 0x6212, --(戒)
- [0x125D] = 0x62D0, --(拐)
+ [0x125D] = 0x62D0, --(拐)
[0x125E] = 0x6539, --(改)
- [0x1301] = 0x9B41, --(魁)
+ [0x1301] = 0x9B41, --(魁)
[0x1302] = 0x6666, --(晦)
- [0x1303] = 0x68B0, --(械)
+ [0x1303] = 0x68B0, --(械)
[0x1304] = 0x6D77, --(海)
- [0x1305] = 0x7070, --(灰)
+ [0x1305] = 0x7070, --(灰)
[0x1306] = 0x754C, --(界)
- [0x1307] = 0x7686, --(皆)
+ [0x1307] = 0x7686, --(皆)
[0x1308] = 0x7D75, --(絵)
- [0x1309] = 0x82A5, --(芥)
+ [0x1309] = 0x82A5, --(芥)
[0x130A] = 0x87F9, --(蟹)
- [0x130B] = 0x958B, --(開)
+ [0x130B] = 0x958B, --(開)
[0x130C] = 0x968E, --(階)
- [0x130D] = 0x8C9D, --(貝)
+ [0x130D] = 0x8C9D, --(貝)
[0x130E] = 0x51F1, --(凱)
- [0x130F] = 0x52BE, --(劾)
+ [0x130F] = 0x52BE, --(劾)
[0x1310] = 0x5916, --(外)
- [0x1311] = 0x54B3, --(咳)
+ [0x1311] = 0x54B3, --(咳)
[0x1312] = 0x5BB3, --(害)
- [0x1313] = 0x5D16, --(崖)
+ [0x1313] = 0x5D16, --(崖)
[0x1314] = 0x6168, --(慨)
- [0x1315] = 0x6982, --(概)
+ [0x1315] = 0x6982, --(概)
[0x1316] = 0x6DAF, --(涯)
- [0x1317] = 0x788D, --(碍)
+ [0x1317] = 0x788D, --(碍)
[0x1318] = 0x84CB, --(蓋)
- [0x1319] = 0x8857, --(街)
+ [0x1319] = 0x8857, --(街)
[0x131A] = 0x8A72, --(該)
- [0x131B] = 0x93A7, --(鎧)
+ [0x131B] = 0x93A7, --(鎧)
[0x131C] = 0x9AB8, --(骸)
- [0x131D] = 0x6D6C, --(浬)
+ [0x131D] = 0x6D6C, --(浬)
[0x131E] = 0x99A8, --(馨)
- [0x131F] = 0x86D9, --(蛙)
+ [0x131F] = 0x86D9, --(蛙)
[0x1320] = 0x57A3, --(垣)
- [0x1321] = 0x67FF, --(柿)
+ [0x1321] = 0x67FF, --(柿)
[0x1322] = 0x86CE, --(蛎)
- [0x1323] = 0x920E, --(鈎)
+ [0x1323] = 0x920E, --(鈎)
[0x1324] = 0x5283, --(劃)
- [0x1325] = 0x5687, --(嚇)
+ [0x1325] = 0x5687, --(嚇)
[0x1326] = 0x5404, --(各)
- [0x1327] = 0x5ED3, --(廓)
+ [0x1327] = 0x5ED3, --(廓)
[0x1328] = 0x62E1, --(拡)
- [0x1329] = 0x64B9, --(撹)
+ [0x1329] = 0x64B9, --(撹)
[0x132A] = 0x683C, --(格)
- [0x132B] = 0x6838, --(核)
+ [0x132B] = 0x6838, --(核)
[0x132C] = 0x6BBB, --(殻)
- [0x132D] = 0x7372, --(獲)
+ [0x132D] = 0x7372, --(獲)
[0x132E] = 0x78BA, --(確)
- [0x132F] = 0x7A6B, --(穫)
+ [0x132F] = 0x7A6B, --(穫)
[0x1330] = 0x899A, --(覚)
- [0x1331] = 0x89D2, --(角)
+ [0x1331] = 0x89D2, --(角)
[0x1332] = 0x8D6B, --(赫)
- [0x1333] = 0x8F03, --(較)
+ [0x1333] = 0x8F03, --(較)
[0x1334] = 0x90ED, --(郭)
- [0x1335] = 0x95A3, --(閣)
+ [0x1335] = 0x95A3, --(閣)
[0x1336] = 0x9694, --(隔)
- [0x1337] = 0x9769, --(革)
+ [0x1337] = 0x9769, --(革)
[0x1338] = 0x5B66, --(学)
- [0x1339] = 0x5CB3, --(岳)
+ [0x1339] = 0x5CB3, --(岳)
[0x133A] = 0x697D, --(楽)
- [0x133B] = 0x984D, --(額)
+ [0x133B] = 0x984D, --(額)
[0x133C] = 0x984E, --(顎)
- [0x133D] = 0x639B, --(掛)
+ [0x133D] = 0x639B, --(掛)
[0x133E] = 0x7B20, --(笠)
- [0x133F] = 0x6A2B, --(樫)
+ [0x133F] = 0x6A2B, --(樫)
[0x1340] = 0x6A7F, --(橿)
- [0x1341] = 0x68B6, --(梶)
+ [0x1341] = 0x68B6, --(梶)
[0x1342] = 0x9C0D, --(鰍)
- [0x1343] = 0x6F5F, --(潟)
+ [0x1343] = 0x6F5F, --(潟)
[0x1344] = 0x5272, --(割)
- [0x1345] = 0x559D, --(喝)
+ [0x1345] = 0x559D, --(喝)
[0x1346] = 0x6070, --(恰)
- [0x1347] = 0x62EC, --(括)
+ [0x1347] = 0x62EC, --(括)
[0x1348] = 0x6D3B, --(活)
- [0x1349] = 0x6E07, --(渇)
+ [0x1349] = 0x6E07, --(渇)
[0x134A] = 0x6ED1, --(滑)
- [0x134B] = 0x845B, --(葛)
+ [0x134B] = 0x845B, --(葛)
[0x134C] = 0x8910, --(褐)
- [0x134D] = 0x8F44, --(轄)
+ [0x134D] = 0x8F44, --(轄)
[0x134E] = 0x4E14, --(且)
- [0x134F] = 0x9C39, --(鰹)
+ [0x134F] = 0x9C39, --(鰹)
[0x1350] = 0x53F6, --(叶)
- [0x1351] = 0x691B, --(椛)
+ [0x1351] = 0x691B, --(椛)
[0x1352] = 0x6A3A, --(樺)
- [0x1353] = 0x9784, --(鞄)
+ [0x1353] = 0x9784, --(鞄)
[0x1354] = 0x682A, --(株)
- [0x1355] = 0x515C, --(兜)
+ [0x1355] = 0x515C, --(兜)
[0x1356] = 0x7AC3, --(竃)
- [0x1357] = 0x84B2, --(蒲)
+ [0x1357] = 0x84B2, --(蒲)
[0x1358] = 0x91DC, --(釜)
- [0x1359] = 0x938C, --(鎌)
+ [0x1359] = 0x938C, --(鎌)
[0x135A] = 0x565B, --(噛)
- [0x135B] = 0x9D28, --(鴨)
+ [0x135B] = 0x9D28, --(鴨)
[0x135C] = 0x6822, --(栢)
- [0x135D] = 0x8305, --(茅)
+ [0x135D] = 0x8305, --(茅)
[0x135E] = 0x8431, --(萱)
- [0x1401] = 0x7CA5, --(粥)
+ [0x1401] = 0x7CA5, --(粥)
[0x1402] = 0x5208, --(刈)
- [0x1403] = 0x82C5, --(苅)
+ [0x1403] = 0x82C5, --(苅)
[0x1404] = 0x74E6, --(瓦)
- [0x1405] = 0x4E7E, --(乾)
+ [0x1405] = 0x4E7E, --(乾)
[0x1406] = 0x4F83, --(侃)
- [0x1407] = 0x51A0, --(冠)
+ [0x1407] = 0x51A0, --(冠)
[0x1408] = 0x5BD2, --(寒)
- [0x1409] = 0x520A, --(刊)
+ [0x1409] = 0x520A, --(刊)
[0x140A] = 0x52D8, --(勘)
- [0x140B] = 0x52E7, --(勧)
+ [0x140B] = 0x52E7, --(勧)
[0x140C] = 0x5DFB, --(巻)
- [0x140D] = 0x559A, --(喚)
+ [0x140D] = 0x559A, --(喚)
[0x140E] = 0x582A, --(堪)
- [0x140F] = 0x59E6, --(姦)
+ [0x140F] = 0x59E6, --(姦)
[0x1410] = 0x5B8C, --(完)
- [0x1411] = 0x5B98, --(官)
+ [0x1411] = 0x5B98, --(官)
[0x1412] = 0x5BDB, --(寛)
- [0x1413] = 0x5E72, --(干)
+ [0x1413] = 0x5E72, --(干)
[0x1414] = 0x5E79, --(幹)
- [0x1415] = 0x60A3, --(患)
+ [0x1415] = 0x60A3, --(患)
[0x1416] = 0x611F, --(感)
- [0x1417] = 0x6163, --(慣)
+ [0x1417] = 0x6163, --(慣)
[0x1418] = 0x61BE, --(憾)
- [0x1419] = 0x63DB, --(換)
+ [0x1419] = 0x63DB, --(換)
[0x141A] = 0x6562, --(敢)
- [0x141B] = 0x67D1, --(柑)
+ [0x141B] = 0x67D1, --(柑)
[0x141C] = 0x6853, --(桓)
- [0x141D] = 0x68FA, --(棺)
+ [0x141D] = 0x68FA, --(棺)
[0x141E] = 0x6B3E, --(款)
- [0x141F] = 0x6B53, --(歓)
+ [0x141F] = 0x6B53, --(歓)
[0x1420] = 0x6C57, --(汗)
- [0x1421] = 0x6F22, --(漢)
+ [0x1421] = 0x6F22, --(漢)
[0x1422] = 0x6F97, --(澗)
- [0x1423] = 0x6F45, --(潅)
+ [0x1423] = 0x6F45, --(潅)
[0x1424] = 0x74B0, --(環)
- [0x1425] = 0x7518, --(甘)
+ [0x1425] = 0x7518, --(甘)
[0x1426] = 0x76E3, --(監)
- [0x1427] = 0x770B, --(看)
+ [0x1427] = 0x770B, --(看)
[0x1428] = 0x7AFF, --(竿)
- [0x1429] = 0x7BA1, --(管)
+ [0x1429] = 0x7BA1, --(管)
[0x142A] = 0x7C21, --(簡)
- [0x142B] = 0x7DE9, --(緩)
+ [0x142B] = 0x7DE9, --(緩)
[0x142C] = 0x7F36, --(缶)
- [0x142D] = 0x7FF0, --(翰)
+ [0x142D] = 0x7FF0, --(翰)
[0x142E] = 0x809D, --(肝)
- [0x142F] = 0x8266, --(艦)
+ [0x142F] = 0x8266, --(艦)
[0x1430] = 0x839E, --(莞)
- [0x1431] = 0x89B3, --(観)
+ [0x1431] = 0x89B3, --(観)
[0x1432] = 0x8ACC, --(諌)
- [0x1433] = 0x8CAB, --(貫)
+ [0x1433] = 0x8CAB, --(貫)
[0x1434] = 0x9084, --(還)
- [0x1435] = 0x9451, --(鑑)
+ [0x1435] = 0x9451, --(鑑)
[0x1436] = 0x9593, --(間)
- [0x1437] = 0x9591, --(閑)
+ [0x1437] = 0x9591, --(閑)
[0x1438] = 0x95A2, --(関)
- [0x1439] = 0x9665, --(陥)
+ [0x1439] = 0x9665, --(陥)
[0x143A] = 0x97D3, --(韓)
- [0x143B] = 0x9928, --(館)
+ [0x143B] = 0x9928, --(館)
[0x143C] = 0x8218, --(舘)
- [0x143D] = 0x4E38, --(丸)
+ [0x143D] = 0x4E38, --(丸)
[0x143E] = 0x542B, --(含)
- [0x143F] = 0x5CB8, --(岸)
+ [0x143F] = 0x5CB8, --(岸)
[0x1440] = 0x5DCC, --(巌)
- [0x1441] = 0x73A9, --(玩)
+ [0x1441] = 0x73A9, --(玩)
[0x1442] = 0x764C, --(癌)
- [0x1443] = 0x773C, --(眼)
+ [0x1443] = 0x773C, --(眼)
[0x1444] = 0x5CA9, --(岩)
- [0x1445] = 0x7FEB, --(翫)
+ [0x1445] = 0x7FEB, --(翫)
[0x1446] = 0x8D0B, --(贋)
- [0x1447] = 0x96C1, --(雁)
+ [0x1447] = 0x96C1, --(雁)
[0x1448] = 0x9811, --(頑)
- [0x1449] = 0x9854, --(顔)
+ [0x1449] = 0x9854, --(顔)
[0x144A] = 0x9858, --(願)
- [0x144B] = 0x4F01, --(企)
+ [0x144B] = 0x4F01, --(企)
[0x144C] = 0x4F0E, --(伎)
- [0x144D] = 0x5371, --(危)
+ [0x144D] = 0x5371, --(危)
[0x144E] = 0x559C, --(喜)
- [0x144F] = 0x5668, --(器)
+ [0x144F] = 0x5668, --(器)
[0x1450] = 0x57FA, --(基)
- [0x1451] = 0x5947, --(奇)
+ [0x1451] = 0x5947, --(奇)
[0x1452] = 0x5B09, --(嬉)
- [0x1453] = 0x5BC4, --(寄)
+ [0x1453] = 0x5BC4, --(寄)
[0x1454] = 0x5C90, --(岐)
- [0x1455] = 0x5E0C, --(希)
+ [0x1455] = 0x5E0C, --(希)
[0x1456] = 0x5E7E, --(幾)
- [0x1457] = 0x5FCC, --(忌)
+ [0x1457] = 0x5FCC, --(忌)
[0x1458] = 0x63EE, --(揮)
- [0x1459] = 0x673A, --(机)
+ [0x1459] = 0x673A, --(机)
[0x145A] = 0x65D7, --(旗)
- [0x145B] = 0x65E2, --(既)
+ [0x145B] = 0x65E2, --(既)
[0x145C] = 0x671F, --(期)
- [0x145D] = 0x68CB, --(棋)
+ [0x145D] = 0x68CB, --(棋)
[0x145E] = 0x68C4, --(棄)
- [0x1501] = 0x6A5F, --(機)
+ [0x1501] = 0x6A5F, --(機)
[0x1502] = 0x5E30, --(帰)
- [0x1503] = 0x6BC5, --(毅)
+ [0x1503] = 0x6BC5, --(毅)
[0x1504] = 0x6C17, --(気)
- [0x1505] = 0x6C7D, --(汽)
+ [0x1505] = 0x6C7D, --(汽)
[0x1506] = 0x757F, --(畿)
- [0x1507] = 0x7948, --(祈)
+ [0x1507] = 0x7948, --(祈)
[0x1508] = 0x5B63, --(季)
- [0x1509] = 0x7A00, --(稀)
+ [0x1509] = 0x7A00, --(稀)
[0x150A] = 0x7D00, --(紀)
- [0x150B] = 0x5FBD, --(徽)
+ [0x150B] = 0x5FBD, --(徽)
[0x150C] = 0x898F, --(規)
- [0x150D] = 0x8A18, --(記)
+ [0x150D] = 0x8A18, --(記)
[0x150E] = 0x8CB4, --(貴)
- [0x150F] = 0x8D77, --(起)
+ [0x150F] = 0x8D77, --(起)
[0x1510] = 0x8ECC, --(軌)
- [0x1511] = 0x8F1D, --(輝)
+ [0x1511] = 0x8F1D, --(輝)
[0x1512] = 0x98E2, --(飢)
- [0x1513] = 0x9A0E, --(騎)
+ [0x1513] = 0x9A0E, --(騎)
[0x1514] = 0x9B3C, --(鬼)
- [0x1515] = 0x4E80, --(亀)
+ [0x1515] = 0x4E80, --(亀)
[0x1516] = 0x507D, --(偽)
- [0x1517] = 0x5100, --(儀)
+ [0x1517] = 0x5100, --(儀)
[0x1518] = 0x5993, --(妓)
- [0x1519] = 0x5B9C, --(宜)
+ [0x1519] = 0x5B9C, --(宜)
[0x151A] = 0x622F, --(戯)
- [0x151B] = 0x6280, --(技)
+ [0x151B] = 0x6280, --(技)
[0x151C] = 0x64EC, --(擬)
- [0x151D] = 0x6B3A, --(欺)
+ [0x151D] = 0x6B3A, --(欺)
[0x151E] = 0x72A0, --(犠)
- [0x151F] = 0x7591, --(疑)
+ [0x151F] = 0x7591, --(疑)
[0x1520] = 0x7947, --(祇)
- [0x1521] = 0x7FA9, --(義)
+ [0x1521] = 0x7FA9, --(義)
[0x1522] = 0x87FB, --(蟻)
- [0x1523] = 0x8ABC, --(誼)
+ [0x1523] = 0x8ABC, --(誼)
[0x1524] = 0x8B70, --(議)
- [0x1525] = 0x63AC, --(掬)
+ [0x1525] = 0x63AC, --(掬)
[0x1526] = 0x83CA, --(菊)
- [0x1527] = 0x97A0, --(鞠)
+ [0x1527] = 0x97A0, --(鞠)
[0x1528] = 0x5409, --(吉)
- [0x1529] = 0x5403, --(吃)
+ [0x1529] = 0x5403, --(吃)
[0x152A] = 0x55AB, --(喫)
- [0x152B] = 0x6854, --(桔)
+ [0x152B] = 0x6854, --(桔)
[0x152C] = 0x6A58, --(橘)
- [0x152D] = 0x8A70, --(詰)
+ [0x152D] = 0x8A70, --(詰)
[0x152E] = 0x7827, --(砧)
- [0x152F] = 0x6775, --(杵)
+ [0x152F] = 0x6775, --(杵)
[0x1530] = 0x9ECD, --(黍)
- [0x1531] = 0x5374, --(却)
+ [0x1531] = 0x5374, --(却)
[0x1532] = 0x5BA2, --(客)
- [0x1533] = 0x811A, --(脚)
+ [0x1533] = 0x811A, --(脚)
[0x1534] = 0x8650, --(虐)
- [0x1535] = 0x9006, --(逆)
+ [0x1535] = 0x9006, --(逆)
[0x1536] = 0x4E18, --(丘)
- [0x1537] = 0x4E45, --(久)
+ [0x1537] = 0x4E45, --(久)
[0x1538] = 0x4EC7, --(仇)
- [0x1539] = 0x4F11, --(休)
+ [0x1539] = 0x4F11, --(休)
[0x153A] = 0x53CA, --(及)
- [0x153B] = 0x5438, --(吸)
+ [0x153B] = 0x5438, --(吸)
[0x153C] = 0x5BAE, --(宮)
- [0x153D] = 0x5F13, --(弓)
+ [0x153D] = 0x5F13, --(弓)
[0x153E] = 0x6025, --(急)
- [0x153F] = 0x6551, --(救)
+ [0x153F] = 0x6551, --(救)
[0x1540] = 0x673D, --(朽)
- [0x1541] = 0x6C42, --(求)
+ [0x1541] = 0x6C42, --(求)
[0x1542] = 0x6C72, --(汲)
- [0x1543] = 0x6CE3, --(泣)
+ [0x1543] = 0x6CE3, --(泣)
[0x1544] = 0x7078, --(灸)
- [0x1545] = 0x7403, --(球)
+ [0x1545] = 0x7403, --(球)
[0x1546] = 0x7A76, --(究)
- [0x1547] = 0x7AAE, --(窮)
+ [0x1547] = 0x7AAE, --(窮)
[0x1548] = 0x7B08, --(笈)
- [0x1549] = 0x7D1A, --(級)
+ [0x1549] = 0x7D1A, --(級)
[0x154A] = 0x7CFE, --(糾)
- [0x154B] = 0x7D66, --(給)
+ [0x154B] = 0x7D66, --(給)
[0x154C] = 0x65E7, --(旧)
- [0x154D] = 0x725B, --(牛)
+ [0x154D] = 0x725B, --(牛)
[0x154E] = 0x53BB, --(去)
- [0x154F] = 0x5C45, --(居)
+ [0x154F] = 0x5C45, --(居)
[0x1550] = 0x5DE8, --(巨)
- [0x1551] = 0x62D2, --(拒)
+ [0x1551] = 0x62D2, --(拒)
[0x1552] = 0x62E0, --(拠)
- [0x1553] = 0x6319, --(挙)
+ [0x1553] = 0x6319, --(挙)
[0x1554] = 0x6E20, --(渠)
- [0x1555] = 0x865A, --(虚)
+ [0x1555] = 0x865A, --(虚)
[0x1556] = 0x8A31, --(許)
- [0x1557] = 0x8DDD, --(距)
+ [0x1557] = 0x8DDD, --(距)
[0x1558] = 0x92F8, --(鋸)
- [0x1559] = 0x6F01, --(漁)
+ [0x1559] = 0x6F01, --(漁)
[0x155A] = 0x79A6, --(禦)
- [0x155B] = 0x9B5A, --(魚)
+ [0x155B] = 0x9B5A, --(魚)
[0x155C] = 0x4EA8, --(亨)
- [0x155D] = 0x4EAB, --(享)
+ [0x155D] = 0x4EAB, --(享)
[0x155E] = 0x4EAC, --(京)
- [0x1601] = 0x4F9B, --(供)
+ [0x1601] = 0x4F9B, --(供)
[0x1602] = 0x4FA0, --(侠)
- [0x1603] = 0x50D1, --(僑)
+ [0x1603] = 0x50D1, --(僑)
[0x1604] = 0x5147, --(兇)
- [0x1605] = 0x7AF6, --(競)
+ [0x1605] = 0x7AF6, --(競)
[0x1606] = 0x5171, --(共)
- [0x1607] = 0x51F6, --(凶)
+ [0x1607] = 0x51F6, --(凶)
[0x1608] = 0x5354, --(協)
- [0x1609] = 0x5321, --(匡)
+ [0x1609] = 0x5321, --(匡)
[0x160A] = 0x537F, --(卿)
- [0x160B] = 0x53EB, --(叫)
+ [0x160B] = 0x53EB, --(叫)
[0x160C] = 0x55AC, --(喬)
- [0x160D] = 0x5883, --(境)
+ [0x160D] = 0x5883, --(境)
[0x160E] = 0x5CE1, --(峡)
- [0x160F] = 0x5F37, --(強)
+ [0x160F] = 0x5F37, --(強)
[0x1610] = 0x5F4A, --(彊)
- [0x1611] = 0x602F, --(怯)
+ [0x1611] = 0x602F, --(怯)
[0x1612] = 0x6050, --(恐)
- [0x1613] = 0x606D, --(恭)
+ [0x1613] = 0x606D, --(恭)
[0x1614] = 0x631F, --(挟)
- [0x1615] = 0x6559, --(教)
+ [0x1615] = 0x6559, --(教)
[0x1616] = 0x6A4B, --(橋)
- [0x1617] = 0x6CC1, --(況)
+ [0x1617] = 0x6CC1, --(況)
[0x1618] = 0x72C2, --(狂)
- [0x1619] = 0x72ED, --(狭)
+ [0x1619] = 0x72ED, --(狭)
[0x161A] = 0x77EF, --(矯)
- [0x161B] = 0x80F8, --(胸)
+ [0x161B] = 0x80F8, --(胸)
[0x161C] = 0x8105, --(脅)
- [0x161D] = 0x8208, --(興)
+ [0x161D] = 0x8208, --(興)
[0x161E] = 0x854E, --(蕎)
- [0x161F] = 0x90F7, --(郷)
+ [0x161F] = 0x90F7, --(郷)
[0x1620] = 0x93E1, --(鏡)
- [0x1621] = 0x97FF, --(響)
+ [0x1621] = 0x97FF, --(響)
[0x1622] = 0x9957, --(饗)
- [0x1623] = 0x9A5A, --(驚)
+ [0x1623] = 0x9A5A, --(驚)
[0x1624] = 0x4EF0, --(仰)
- [0x1625] = 0x51DD, --(凝)
+ [0x1625] = 0x51DD, --(凝)
[0x1626] = 0x5C2D, --(尭)
- [0x1627] = 0x6681, --(暁)
+ [0x1627] = 0x6681, --(暁)
[0x1628] = 0x696D, --(業)
- [0x1629] = 0x5C40, --(局)
+ [0x1629] = 0x5C40, --(局)
[0x162A] = 0x66F2, --(曲)
- [0x162B] = 0x6975, --(極)
+ [0x162B] = 0x6975, --(極)
[0x162C] = 0x7389, --(玉)
- [0x162D] = 0x6850, --(桐)
+ [0x162D] = 0x6850, --(桐)
[0x162E] = 0x7C81, --(粁)
- [0x162F] = 0x50C5, --(僅)
+ [0x162F] = 0x50C5, --(僅)
[0x1630] = 0x52E4, --(勤)
- [0x1631] = 0x5747, --(均)
+ [0x1631] = 0x5747, --(均)
[0x1632] = 0x5DFE, --(巾)
- [0x1633] = 0x9326, --(錦)
+ [0x1633] = 0x9326, --(錦)
[0x1634] = 0x65A4, --(斤)
- [0x1635] = 0x6B23, --(欣)
+ [0x1635] = 0x6B23, --(欣)
[0x1636] = 0x6B3D, --(欽)
- [0x1637] = 0x7434, --(琴)
+ [0x1637] = 0x7434, --(琴)
[0x1638] = 0x7981, --(禁)
- [0x1639] = 0x79BD, --(禽)
+ [0x1639] = 0x79BD, --(禽)
[0x163A] = 0x7B4B, --(筋)
- [0x163B] = 0x7DCA, --(緊)
+ [0x163B] = 0x7DCA, --(緊)
[0x163C] = 0x82B9, --(芹)
- [0x163D] = 0x83CC, --(菌)
+ [0x163D] = 0x83CC, --(菌)
[0x163E] = 0x887F, --(衿)
- [0x163F] = 0x895F, --(襟)
+ [0x163F] = 0x895F, --(襟)
[0x1640] = 0x8B39, --(謹)
- [0x1641] = 0x8FD1, --(近)
+ [0x1641] = 0x8FD1, --(近)
[0x1642] = 0x91D1, --(金)
- [0x1643] = 0x541F, --(吟)
+ [0x1643] = 0x541F, --(吟)
[0x1644] = 0x9280, --(銀)
- [0x1645] = 0x4E5D, --(九)
+ [0x1645] = 0x4E5D, --(九)
[0x1646] = 0x5036, --(倶)
- [0x1647] = 0x53E5, --(句)
+ [0x1647] = 0x53E5, --(句)
[0x1648] = 0x533A, --(区)
- [0x1649] = 0x72D7, --(狗)
+ [0x1649] = 0x72D7, --(狗)
[0x164A] = 0x7396, --(玖)
- [0x164B] = 0x77E9, --(矩)
+ [0x164B] = 0x77E9, --(矩)
[0x164C] = 0x82E6, --(苦)
- [0x164D] = 0x8EAF, --(躯)
+ [0x164D] = 0x8EAF, --(躯)
[0x164E] = 0x99C6, --(駆)
- [0x164F] = 0x99C8, --(駈)
+ [0x164F] = 0x99C8, --(駈)
[0x1650] = 0x99D2, --(駒)
- [0x1651] = 0x5177, --(具)
+ [0x1651] = 0x5177, --(具)
[0x1652] = 0x611A, --(愚)
- [0x1653] = 0x865E, --(虞)
+ [0x1653] = 0x865E, --(虞)
[0x1654] = 0x55B0, --(喰)
- [0x1655] = 0x7A7A, --(空)
+ [0x1655] = 0x7A7A, --(空)
[0x1656] = 0x5076, --(偶)
- [0x1657] = 0x5BD3, --(寓)
+ [0x1657] = 0x5BD3, --(寓)
[0x1658] = 0x9047, --(遇)
- [0x1659] = 0x9685, --(隅)
+ [0x1659] = 0x9685, --(隅)
[0x165A] = 0x4E32, --(串)
- [0x165B] = 0x6ADB, --(櫛)
+ [0x165B] = 0x6ADB, --(櫛)
[0x165C] = 0x91E7, --(釧)
- [0x165D] = 0x5C51, --(屑)
+ [0x165D] = 0x5C51, --(屑)
[0x165E] = 0x5C48, --(屈)
- [0x1701] = 0x6398, --(掘)
+ [0x1701] = 0x6398, --(掘)
[0x1702] = 0x7A9F, --(窟)
- [0x1703] = 0x6C93, --(沓)
+ [0x1703] = 0x6C93, --(沓)
[0x1704] = 0x9774, --(靴)
- [0x1705] = 0x8F61, --(轡)
+ [0x1705] = 0x8F61, --(轡)
[0x1706] = 0x7AAA, --(窪)
- [0x1707] = 0x718A, --(熊)
+ [0x1707] = 0x718A, --(熊)
[0x1708] = 0x9688, --(隈)
- [0x1709] = 0x7C82, --(粂)
+ [0x1709] = 0x7C82, --(粂)
[0x170A] = 0x6817, --(栗)
- [0x170B] = 0x7E70, --(繰)
+ [0x170B] = 0x7E70, --(繰)
[0x170C] = 0x6851, --(桑)
- [0x170D] = 0x936C, --(鍬)
+ [0x170D] = 0x936C, --(鍬)
[0x170E] = 0x52F2, --(勲)
- [0x170F] = 0x541B, --(君)
+ [0x170F] = 0x541B, --(君)
[0x1710] = 0x85AB, --(薫)
- [0x1711] = 0x8A13, --(訓)
+ [0x1711] = 0x8A13, --(訓)
[0x1712] = 0x7FA4, --(群)
- [0x1713] = 0x8ECD, --(軍)
+ [0x1713] = 0x8ECD, --(軍)
[0x1714] = 0x90E1, --(郡)
- [0x1715] = 0x5366, --(卦)
+ [0x1715] = 0x5366, --(卦)
[0x1716] = 0x8888, --(袈)
- [0x1717] = 0x7941, --(祁)
+ [0x1717] = 0x7941, --(祁)
[0x1718] = 0x4FC2, --(係)
- [0x1719] = 0x50BE, --(傾)
+ [0x1719] = 0x50BE, --(傾)
[0x171A] = 0x5211, --(刑)
- [0x171B] = 0x5144, --(兄)
+ [0x171B] = 0x5144, --(兄)
[0x171C] = 0x5553, --(啓)
- [0x171D] = 0x572D, --(圭)
+ [0x171D] = 0x572D, --(圭)
[0x171E] = 0x73EA, --(珪)
- [0x171F] = 0x578B, --(型)
+ [0x171F] = 0x578B, --(型)
[0x1720] = 0x5951, --(契)
- [0x1721] = 0x5F62, --(形)
+ [0x1721] = 0x5F62, --(形)
[0x1722] = 0x5F84, --(径)
- [0x1723] = 0x6075, --(恵)
+ [0x1723] = 0x6075, --(恵)
[0x1724] = 0x6176, --(慶)
- [0x1725] = 0x6167, --(慧)
+ [0x1725] = 0x6167, --(慧)
[0x1726] = 0x61A9, --(憩)
- [0x1727] = 0x63B2, --(掲)
+ [0x1727] = 0x63B2, --(掲)
[0x1728] = 0x643A, --(携)
- [0x1729] = 0x656C, --(敬)
+ [0x1729] = 0x656C, --(敬)
[0x172A] = 0x666F, --(景)
- [0x172B] = 0x6842, --(桂)
+ [0x172B] = 0x6842, --(桂)
[0x172C] = 0x6E13, --(渓)
- [0x172D] = 0x7566, --(畦)
+ [0x172D] = 0x7566, --(畦)
[0x172E] = 0x7A3D, --(稽)
- [0x172F] = 0x7CFB, --(系)
+ [0x172F] = 0x7CFB, --(系)
[0x1730] = 0x7D4C, --(経)
- [0x1731] = 0x7D99, --(継)
+ [0x1731] = 0x7D99, --(継)
[0x1732] = 0x7E4B, --(繋)
- [0x1733] = 0x7F6B, --(罫)
+ [0x1733] = 0x7F6B, --(罫)
[0x1734] = 0x830E, --(茎)
- [0x1735] = 0x834A, --(荊)
+ [0x1735] = 0x834A, --(荊)
[0x1736] = 0x86CD, --(蛍)
- [0x1737] = 0x8A08, --(計)
+ [0x1737] = 0x8A08, --(計)
[0x1738] = 0x8A63, --(詣)
- [0x1739] = 0x8B66, --(警)
+ [0x1739] = 0x8B66, --(警)
[0x173A] = 0x8EFD, --(軽)
- [0x173B] = 0x981A, --(頚)
+ [0x173B] = 0x981A, --(頚)
[0x173C] = 0x9D8F, --(鶏)
- [0x173D] = 0x82B8, --(芸)
+ [0x173D] = 0x82B8, --(芸)
[0x173E] = 0x8FCE, --(迎)
- [0x173F] = 0x9BE8, --(鯨)
+ [0x173F] = 0x9BE8, --(鯨)
[0x1740] = 0x5287, --(劇)
- [0x1741] = 0x621F, --(戟)
+ [0x1741] = 0x621F, --(戟)
[0x1742] = 0x6483, --(撃)
- [0x1743] = 0x6FC0, --(激)
+ [0x1743] = 0x6FC0, --(激)
[0x1744] = 0x9699, --(隙)
- [0x1745] = 0x6841, --(桁)
+ [0x1745] = 0x6841, --(桁)
[0x1746] = 0x5091, --(傑)
- [0x1747] = 0x6B20, --(欠)
+ [0x1747] = 0x6B20, --(欠)
[0x1748] = 0x6C7A, --(決)
- [0x1749] = 0x6F54, --(潔)
+ [0x1749] = 0x6F54, --(潔)
[0x174A] = 0x7A74, --(穴)
- [0x174B] = 0x7D50, --(結)
+ [0x174B] = 0x7D50, --(結)
[0x174C] = 0x8840, --(血)
- [0x174D] = 0x8A23, --(訣)
+ [0x174D] = 0x8A23, --(訣)
[0x174E] = 0x6708, --(月)
- [0x174F] = 0x4EF6, --(件)
+ [0x174F] = 0x4EF6, --(件)
[0x1750] = 0x5039, --(倹)
- [0x1751] = 0x5026, --(倦)
+ [0x1751] = 0x5026, --(倦)
[0x1752] = 0x5065, --(健)
- [0x1753] = 0x517C, --(兼)
+ [0x1753] = 0x517C, --(兼)
[0x1754] = 0x5238, --(券)
- [0x1755] = 0x5263, --(剣)
+ [0x1755] = 0x5263, --(剣)
[0x1756] = 0x55A7, --(喧)
- [0x1757] = 0x570F, --(圏)
+ [0x1757] = 0x570F, --(圏)
[0x1758] = 0x5805, --(堅)
- [0x1759] = 0x5ACC, --(嫌)
+ [0x1759] = 0x5ACC, --(嫌)
[0x175A] = 0x5EFA, --(建)
- [0x175B] = 0x61B2, --(憲)
+ [0x175B] = 0x61B2, --(憲)
[0x175C] = 0x61F8, --(懸)
- [0x175D] = 0x62F3, --(拳)
+ [0x175D] = 0x62F3, --(拳)
[0x175E] = 0x6372, --(捲)
- [0x1801] = 0x691C, --(検)
+ [0x1801] = 0x691C, --(検)
[0x1802] = 0x6A29, --(権)
- [0x1803] = 0x727D, --(牽)
+ [0x1803] = 0x727D, --(牽)
[0x1804] = 0x72AC, --(犬)
- [0x1805] = 0x732E, --(献)
+ [0x1805] = 0x732E, --(献)
[0x1806] = 0x7814, --(研)
- [0x1807] = 0x786F, --(硯)
+ [0x1807] = 0x786F, --(硯)
[0x1808] = 0x7D79, --(絹)
- [0x1809] = 0x770C, --(県)
+ [0x1809] = 0x770C, --(県)
[0x180A] = 0x80A9, --(肩)
- [0x180B] = 0x898B, --(見)
+ [0x180B] = 0x898B, --(見)
[0x180C] = 0x8B19, --(謙)
- [0x180D] = 0x8CE2, --(賢)
+ [0x180D] = 0x8CE2, --(賢)
[0x180E] = 0x8ED2, --(軒)
- [0x180F] = 0x9063, --(遣)
+ [0x180F] = 0x9063, --(遣)
[0x1810] = 0x9375, --(鍵)
- [0x1811] = 0x967A, --(険)
+ [0x1811] = 0x967A, --(険)
[0x1812] = 0x9855, --(顕)
- [0x1813] = 0x9A13, --(験)
+ [0x1813] = 0x9A13, --(験)
[0x1814] = 0x9E78, --(鹸)
- [0x1815] = 0x5143, --(元)
+ [0x1815] = 0x5143, --(元)
[0x1816] = 0x539F, --(原)
- [0x1817] = 0x53B3, --(厳)
+ [0x1817] = 0x53B3, --(厳)
[0x1818] = 0x5E7B, --(幻)
- [0x1819] = 0x5F26, --(弦)
+ [0x1819] = 0x5F26, --(弦)
[0x181A] = 0x6E1B, --(減)
- [0x181B] = 0x6E90, --(源)
+ [0x181B] = 0x6E90, --(源)
[0x181C] = 0x7384, --(玄)
- [0x181D] = 0x73FE, --(現)
+ [0x181D] = 0x73FE, --(現)
[0x181E] = 0x7D43, --(絃)
- [0x181F] = 0x8237, --(舷)
+ [0x181F] = 0x8237, --(舷)
[0x1820] = 0x8A00, --(言)
- [0x1821] = 0x8AFA, --(諺)
+ [0x1821] = 0x8AFA, --(諺)
[0x1822] = 0x9650, --(限)
- [0x1823] = 0x4E4E, --(乎)
+ [0x1823] = 0x4E4E, --(乎)
[0x1824] = 0x500B, --(個)
- [0x1825] = 0x53E4, --(古)
+ [0x1825] = 0x53E4, --(古)
[0x1826] = 0x547C, --(呼)
- [0x1827] = 0x56FA, --(固)
+ [0x1827] = 0x56FA, --(固)
[0x1828] = 0x59D1, --(姑)
- [0x1829] = 0x5B64, --(孤)
+ [0x1829] = 0x5B64, --(孤)
[0x182A] = 0x5DF1, --(己)
- [0x182B] = 0x5EAB, --(庫)
+ [0x182B] = 0x5EAB, --(庫)
[0x182C] = 0x5F27, --(弧)
- [0x182D] = 0x6238, --(戸)
+ [0x182D] = 0x6238, --(戸)
[0x182E] = 0x6545, --(故)
- [0x182F] = 0x67AF, --(枯)
+ [0x182F] = 0x67AF, --(枯)
[0x1830] = 0x6E56, --(湖)
- [0x1831] = 0x72D0, --(狐)
+ [0x1831] = 0x72D0, --(狐)
[0x1832] = 0x7CCA, --(糊)
- [0x1833] = 0x88B4, --(袴)
+ [0x1833] = 0x88B4, --(袴)
[0x1834] = 0x80A1, --(股)
- [0x1835] = 0x80E1, --(胡)
+ [0x1835] = 0x80E1, --(胡)
[0x1836] = 0x83F0, --(菰)
- [0x1837] = 0x864E, --(虎)
+ [0x1837] = 0x864E, --(虎)
[0x1838] = 0x8A87, --(誇)
- [0x1839] = 0x8DE8, --(跨)
+ [0x1839] = 0x8DE8, --(跨)
[0x183A] = 0x9237, --(鈷)
- [0x183B] = 0x96C7, --(雇)
+ [0x183B] = 0x96C7, --(雇)
[0x183C] = 0x9867, --(顧)
- [0x183D] = 0x9F13, --(鼓)
+ [0x183D] = 0x9F13, --(鼓)
[0x183E] = 0x4E94, --(五)
- [0x183F] = 0x4E92, --(互)
+ [0x183F] = 0x4E92, --(互)
[0x1840] = 0x4F0D, --(伍)
- [0x1841] = 0x5348, --(午)
+ [0x1841] = 0x5348, --(午)
[0x1842] = 0x5449, --(呉)
- [0x1843] = 0x543E, --(吾)
+ [0x1843] = 0x543E, --(吾)
[0x1844] = 0x5A2F, --(娯)
- [0x1845] = 0x5F8C, --(後)
+ [0x1845] = 0x5F8C, --(後)
[0x1846] = 0x5FA1, --(御)
- [0x1847] = 0x609F, --(悟)
+ [0x1847] = 0x609F, --(悟)
[0x1848] = 0x68A7, --(梧)
- [0x1849] = 0x6A8E, --(檎)
+ [0x1849] = 0x6A8E, --(檎)
[0x184A] = 0x745A, --(瑚)
- [0x184B] = 0x7881, --(碁)
+ [0x184B] = 0x7881, --(碁)
[0x184C] = 0x8A9E, --(語)
- [0x184D] = 0x8AA4, --(誤)
+ [0x184D] = 0x8AA4, --(誤)
[0x184E] = 0x8B77, --(護)
- [0x184F] = 0x9190, --(醐)
+ [0x184F] = 0x9190, --(醐)
[0x1850] = 0x4E5E, --(乞)
- [0x1851] = 0x9BC9, --(鯉)
+ [0x1851] = 0x9BC9, --(鯉)
[0x1852] = 0x4EA4, --(交)
- [0x1853] = 0x4F7C, --(佼)
+ [0x1853] = 0x4F7C, --(佼)
[0x1854] = 0x4FAF, --(侯)
- [0x1855] = 0x5019, --(候)
+ [0x1855] = 0x5019, --(候)
[0x1856] = 0x5016, --(倖)
- [0x1857] = 0x5149, --(光)
+ [0x1857] = 0x5149, --(光)
[0x1858] = 0x516C, --(公)
- [0x1859] = 0x529F, --(功)
+ [0x1859] = 0x529F, --(功)
[0x185A] = 0x52B9, --(効)
- [0x185B] = 0x52FE, --(勾)
+ [0x185B] = 0x52FE, --(勾)
[0x185C] = 0x539A, --(厚)
- [0x185D] = 0x53E3, --(口)
+ [0x185D] = 0x53E3, --(口)
[0x185E] = 0x5411, --(向)
- [0x1901] = 0x540E, --(后)
+ [0x1901] = 0x540E, --(后)
[0x1902] = 0x5589, --(喉)
- [0x1903] = 0x5751, --(坑)
+ [0x1903] = 0x5751, --(坑)
[0x1904] = 0x57A2, --(垢)
- [0x1905] = 0x597D, --(好)
+ [0x1905] = 0x597D, --(好)
[0x1906] = 0x5B54, --(孔)
- [0x1907] = 0x5B5D, --(孝)
+ [0x1907] = 0x5B5D, --(孝)
[0x1908] = 0x5B8F, --(宏)
- [0x1909] = 0x5DE5, --(工)
+ [0x1909] = 0x5DE5, --(工)
[0x190A] = 0x5DE7, --(巧)
- [0x190B] = 0x5DF7, --(巷)
+ [0x190B] = 0x5DF7, --(巷)
[0x190C] = 0x5E78, --(幸)
- [0x190D] = 0x5E83, --(広)
+ [0x190D] = 0x5E83, --(広)
[0x190E] = 0x5E9A, --(庚)
- [0x190F] = 0x5EB7, --(康)
+ [0x190F] = 0x5EB7, --(康)
[0x1910] = 0x5F18, --(弘)
- [0x1911] = 0x6052, --(恒)
+ [0x1911] = 0x6052, --(恒)
[0x1912] = 0x614C, --(慌)
- [0x1913] = 0x6297, --(抗)
+ [0x1913] = 0x6297, --(抗)
[0x1914] = 0x62D8, --(拘)
- [0x1915] = 0x63A7, --(控)
+ [0x1915] = 0x63A7, --(控)
[0x1916] = 0x653B, --(攻)
- [0x1917] = 0x6602, --(昂)
+ [0x1917] = 0x6602, --(昂)
[0x1918] = 0x6643, --(晃)
- [0x1919] = 0x66F4, --(更)
+ [0x1919] = 0x66F4, --(更)
[0x191A] = 0x676D, --(杭)
- [0x191B] = 0x6821, --(校)
+ [0x191B] = 0x6821, --(校)
[0x191C] = 0x6897, --(梗)
- [0x191D] = 0x69CB, --(構)
+ [0x191D] = 0x69CB, --(構)
[0x191E] = 0x6C5F, --(江)
- [0x191F] = 0x6D2A, --(洪)
+ [0x191F] = 0x6D2A, --(洪)
[0x1920] = 0x6D69, --(浩)
- [0x1921] = 0x6E2F, --(港)
+ [0x1921] = 0x6E2F, --(港)
[0x1922] = 0x6E9D, --(溝)
- [0x1923] = 0x7532, --(甲)
+ [0x1923] = 0x7532, --(甲)
[0x1924] = 0x7687, --(皇)
- [0x1925] = 0x786C, --(硬)
+ [0x1925] = 0x786C, --(硬)
[0x1926] = 0x7A3F, --(稿)
- [0x1927] = 0x7CE0, --(糠)
+ [0x1927] = 0x7CE0, --(糠)
[0x1928] = 0x7D05, --(紅)
- [0x1929] = 0x7D18, --(紘)
+ [0x1929] = 0x7D18, --(紘)
[0x192A] = 0x7D5E, --(絞)
- [0x192B] = 0x7DB1, --(綱)
+ [0x192B] = 0x7DB1, --(綱)
[0x192C] = 0x8015, --(耕)
- [0x192D] = 0x8003, --(考)
+ [0x192D] = 0x8003, --(考)
[0x192E] = 0x80AF, --(肯)
- [0x192F] = 0x80B1, --(肱)
+ [0x192F] = 0x80B1, --(肱)
[0x1930] = 0x8154, --(腔)
- [0x1931] = 0x818F, --(膏)
+ [0x1931] = 0x818F, --(膏)
[0x1932] = 0x822A, --(航)
- [0x1933] = 0x8352, --(荒)
+ [0x1933] = 0x8352, --(荒)
[0x1934] = 0x884C, --(行)
- [0x1935] = 0x8861, --(衡)
+ [0x1935] = 0x8861, --(衡)
[0x1936] = 0x8B1B, --(講)
- [0x1937] = 0x8CA2, --(貢)
+ [0x1937] = 0x8CA2, --(貢)
[0x1938] = 0x8CFC, --(購)
- [0x1939] = 0x90CA, --(郊)
+ [0x1939] = 0x90CA, --(郊)
[0x193A] = 0x9175, --(酵)
- [0x193B] = 0x9271, --(鉱)
+ [0x193B] = 0x9271, --(鉱)
[0x193C] = 0x783F, --(砿)
- [0x193D] = 0x92FC, --(鋼)
+ [0x193D] = 0x92FC, --(鋼)
[0x193E] = 0x95A4, --(閤)
- [0x193F] = 0x964D, --(降)
+ [0x193F] = 0x964D, --(降)
[0x1940] = 0x9805, --(項)
- [0x1941] = 0x9999, --(香)
+ [0x1941] = 0x9999, --(香)
[0x1942] = 0x9AD8, --(高)
- [0x1943] = 0x9D3B, --(鴻)
+ [0x1943] = 0x9D3B, --(鴻)
[0x1944] = 0x525B, --(剛)
- [0x1945] = 0x52AB, --(劫)
+ [0x1945] = 0x52AB, --(劫)
[0x1946] = 0x53F7, --(号)
- [0x1947] = 0x5408, --(合)
+ [0x1947] = 0x5408, --(合)
[0x1948] = 0x58D5, --(壕)
- [0x1949] = 0x62F7, --(拷)
+ [0x1949] = 0x62F7, --(拷)
[0x194A] = 0x6FE0, --(濠)
- [0x194B] = 0x8C6A, --(豪)
+ [0x194B] = 0x8C6A, --(豪)
[0x194C] = 0x8F5F, --(轟)
- [0x194D] = 0x9EB9, --(麹)
+ [0x194D] = 0x9EB9, --(麹)
[0x194E] = 0x514B, --(克)
- [0x194F] = 0x523B, --(刻)
+ [0x194F] = 0x523B, --(刻)
[0x1950] = 0x544A, --(告)
- [0x1951] = 0x56FD, --(国)
+ [0x1951] = 0x56FD, --(国)
[0x1952] = 0x7A40, --(穀)
- [0x1953] = 0x9177, --(酷)
+ [0x1953] = 0x9177, --(酷)
[0x1954] = 0x9D60, --(鵠)
- [0x1955] = 0x9ED2, --(黒)
+ [0x1955] = 0x9ED2, --(黒)
[0x1956] = 0x7344, --(獄)
- [0x1957] = 0x6F09, --(漉)
+ [0x1957] = 0x6F09, --(漉)
[0x1958] = 0x8170, --(腰)
- [0x1959] = 0x7511, --(甑)
+ [0x1959] = 0x7511, --(甑)
[0x195A] = 0x5FFD, --(忽)
- [0x195B] = 0x60DA, --(惚)
+ [0x195B] = 0x60DA, --(惚)
[0x195C] = 0x9AA8, --(骨)
- [0x195D] = 0x72DB, --(狛)
+ [0x195D] = 0x72DB, --(狛)
[0x195E] = 0x8FBC, --(込)
- [0x1A01] = 0x6B64, --(此)
+ [0x1A01] = 0x6B64, --(此)
[0x1A02] = 0x9803, --(頃)
- [0x1A03] = 0x4ECA, --(今)
+ [0x1A03] = 0x4ECA, --(今)
[0x1A04] = 0x56F0, --(困)
- [0x1A05] = 0x5764, --(坤)
+ [0x1A05] = 0x5764, --(坤)
[0x1A06] = 0x58BE, --(墾)
- [0x1A07] = 0x5A5A, --(婚)
+ [0x1A07] = 0x5A5A, --(婚)
[0x1A08] = 0x6068, --(恨)
- [0x1A09] = 0x61C7, --(懇)
+ [0x1A09] = 0x61C7, --(懇)
[0x1A0A] = 0x660F, --(昏)
- [0x1A0B] = 0x6606, --(昆)
+ [0x1A0B] = 0x6606, --(昆)
[0x1A0C] = 0x6839, --(根)
- [0x1A0D] = 0x68B1, --(梱)
+ [0x1A0D] = 0x68B1, --(梱)
[0x1A0E] = 0x6DF7, --(混)
- [0x1A0F] = 0x75D5, --(痕)
+ [0x1A0F] = 0x75D5, --(痕)
[0x1A10] = 0x7D3A, --(紺)
- [0x1A11] = 0x826E, --(艮)
+ [0x1A11] = 0x826E, --(艮)
[0x1A12] = 0x9B42, --(魂)
- [0x1A13] = 0x4E9B, --(些)
+ [0x1A13] = 0x4E9B, --(些)
[0x1A14] = 0x4F50, --(佐)
- [0x1A15] = 0x53C9, --(叉)
+ [0x1A15] = 0x53C9, --(叉)
[0x1A16] = 0x5506, --(唆)
- [0x1A17] = 0x5D6F, --(嵯)
+ [0x1A17] = 0x5D6F, --(嵯)
[0x1A18] = 0x5DE6, --(左)
- [0x1A19] = 0x5DEE, --(差)
+ [0x1A19] = 0x5DEE, --(差)
[0x1A1A] = 0x67FB, --(査)
- [0x1A1B] = 0x6C99, --(沙)
+ [0x1A1B] = 0x6C99, --(沙)
[0x1A1C] = 0x7473, --(瑳)
- [0x1A1D] = 0x7802, --(砂)
+ [0x1A1D] = 0x7802, --(砂)
[0x1A1E] = 0x8A50, --(詐)
- [0x1A1F] = 0x9396, --(鎖)
+ [0x1A1F] = 0x9396, --(鎖)
[0x1A20] = 0x88DF, --(裟)
- [0x1A21] = 0x5750, --(坐)
+ [0x1A21] = 0x5750, --(坐)
[0x1A22] = 0x5EA7, --(座)
- [0x1A23] = 0x632B, --(挫)
+ [0x1A23] = 0x632B, --(挫)
[0x1A24] = 0x50B5, --(債)
- [0x1A25] = 0x50AC, --(催)
+ [0x1A25] = 0x50AC, --(催)
[0x1A26] = 0x518D, --(再)
- [0x1A27] = 0x6700, --(最)
+ [0x1A27] = 0x6700, --(最)
[0x1A28] = 0x54C9, --(哉)
- [0x1A29] = 0x585E, --(塞)
+ [0x1A29] = 0x585E, --(塞)
[0x1A2A] = 0x59BB, --(妻)
- [0x1A2B] = 0x5BB0, --(宰)
+ [0x1A2B] = 0x5BB0, --(宰)
[0x1A2C] = 0x5F69, --(彩)
- [0x1A2D] = 0x624D, --(才)
+ [0x1A2D] = 0x624D, --(才)
[0x1A2E] = 0x63A1, --(採)
- [0x1A2F] = 0x683D, --(栽)
+ [0x1A2F] = 0x683D, --(栽)
[0x1A30] = 0x6B73, --(歳)
- [0x1A31] = 0x6E08, --(済)
+ [0x1A31] = 0x6E08, --(済)
[0x1A32] = 0x707D, --(災)
- [0x1A33] = 0x91C7, --(采)
+ [0x1A33] = 0x91C7, --(采)
[0x1A34] = 0x7280, --(犀)
- [0x1A35] = 0x7815, --(砕)
+ [0x1A35] = 0x7815, --(砕)
[0x1A36] = 0x7826, --(砦)
- [0x1A37] = 0x796D, --(祭)
+ [0x1A37] = 0x796D, --(祭)
[0x1A38] = 0x658E, --(斎)
- [0x1A39] = 0x7D30, --(細)
+ [0x1A39] = 0x7D30, --(細)
[0x1A3A] = 0x83DC, --(菜)
- [0x1A3B] = 0x88C1, --(裁)
+ [0x1A3B] = 0x88C1, --(裁)
[0x1A3C] = 0x8F09, --(載)
- [0x1A3D] = 0x969B, --(際)
+ [0x1A3D] = 0x969B, --(際)
[0x1A3E] = 0x5264, --(剤)
- [0x1A3F] = 0x5728, --(在)
+ [0x1A3F] = 0x5728, --(在)
[0x1A40] = 0x6750, --(材)
- [0x1A41] = 0x7F6A, --(罪)
+ [0x1A41] = 0x7F6A, --(罪)
[0x1A42] = 0x8CA1, --(財)
- [0x1A43] = 0x51B4, --(冴)
+ [0x1A43] = 0x51B4, --(冴)
[0x1A44] = 0x5742, --(坂)
- [0x1A45] = 0x962A, --(阪)
+ [0x1A45] = 0x962A, --(阪)
[0x1A46] = 0x583A, --(堺)
- [0x1A47] = 0x698A, --(榊)
+ [0x1A47] = 0x698A, --(榊)
[0x1A48] = 0x80B4, --(肴)
- [0x1A49] = 0x54B2, --(咲)
+ [0x1A49] = 0x54B2, --(咲)
[0x1A4A] = 0x5D0E, --(崎)
- [0x1A4B] = 0x57FC, --(埼)
+ [0x1A4B] = 0x57FC, --(埼)
[0x1A4C] = 0x7895, --(碕)
- [0x1A4D] = 0x9DFA, --(鷺)
+ [0x1A4D] = 0x9DFA, --(鷺)
[0x1A4E] = 0x4F5C, --(作)
- [0x1A4F] = 0x524A, --(削)
+ [0x1A4F] = 0x524A, --(削)
[0x1A50] = 0x548B, --(咋)
- [0x1A51] = 0x643E, --(搾)
+ [0x1A51] = 0x643E, --(搾)
[0x1A52] = 0x6628, --(昨)
- [0x1A53] = 0x6714, --(朔)
+ [0x1A53] = 0x6714, --(朔)
[0x1A54] = 0x67F5, --(柵)
- [0x1A55] = 0x7A84, --(窄)
+ [0x1A55] = 0x7A84, --(窄)
[0x1A56] = 0x7B56, --(策)
- [0x1A57] = 0x7D22, --(索)
+ [0x1A57] = 0x7D22, --(索)
[0x1A58] = 0x932F, --(錯)
- [0x1A59] = 0x685C, --(桜)
+ [0x1A59] = 0x685C, --(桜)
[0x1A5A] = 0x9BAD, --(鮭)
- [0x1A5B] = 0x7B39, --(笹)
+ [0x1A5B] = 0x7B39, --(笹)
[0x1A5C] = 0x5319, --(匙)
- [0x1A5D] = 0x518A, --(冊)
+ [0x1A5D] = 0x518A, --(冊)
[0x1A5E] = 0x5237, --(刷)
- [0x1B01] = 0x5BDF, --(察)
+ [0x1B01] = 0x5BDF, --(察)
[0x1B02] = 0x62F6, --(拶)
- [0x1B03] = 0x64AE, --(撮)
+ [0x1B03] = 0x64AE, --(撮)
[0x1B04] = 0x64E6, --(擦)
- [0x1B05] = 0x672D, --(札)
+ [0x1B05] = 0x672D, --(札)
[0x1B06] = 0x6BBA, --(殺)
- [0x1B07] = 0x85A9, --(薩)
+ [0x1B07] = 0x85A9, --(薩)
[0x1B08] = 0x96D1, --(雑)
- [0x1B09] = 0x7690, --(皐)
+ [0x1B09] = 0x7690, --(皐)
[0x1B0A] = 0x9BD6, --(鯖)
- [0x1B0B] = 0x634C, --(捌)
+ [0x1B0B] = 0x634C, --(捌)
[0x1B0C] = 0x9306, --(錆)
- [0x1B0D] = 0x9BAB, --(鮫)
+ [0x1B0D] = 0x9BAB, --(鮫)
[0x1B0E] = 0x76BF, --(皿)
- [0x1B0F] = 0x6652, --(晒)
+ [0x1B0F] = 0x6652, --(晒)
[0x1B10] = 0x4E09, --(三)
- [0x1B11] = 0x5098, --(傘)
+ [0x1B11] = 0x5098, --(傘)
[0x1B12] = 0x53C2, --(参)
- [0x1B13] = 0x5C71, --(山)
+ [0x1B13] = 0x5C71, --(山)
[0x1B14] = 0x60E8, --(惨)
- [0x1B15] = 0x6492, --(撒)
+ [0x1B15] = 0x6492, --(撒)
[0x1B16] = 0x6563, --(散)
- [0x1B17] = 0x685F, --(桟)
+ [0x1B17] = 0x685F, --(桟)
[0x1B18] = 0x71E6, --(燦)
- [0x1B19] = 0x73CA, --(珊)
+ [0x1B19] = 0x73CA, --(珊)
[0x1B1A] = 0x7523, --(産)
- [0x1B1B] = 0x7B97, --(算)
+ [0x1B1B] = 0x7B97, --(算)
[0x1B1C] = 0x7E82, --(纂)
- [0x1B1D] = 0x8695, --(蚕)
+ [0x1B1D] = 0x8695, --(蚕)
[0x1B1E] = 0x8B83, --(讃)
- [0x1B1F] = 0x8CDB, --(賛)
+ [0x1B1F] = 0x8CDB, --(賛)
[0x1B20] = 0x9178, --(酸)
- [0x1B21] = 0x9910, --(餐)
+ [0x1B21] = 0x9910, --(餐)
[0x1B22] = 0x65AC, --(斬)
- [0x1B23] = 0x66AB, --(暫)
+ [0x1B23] = 0x66AB, --(暫)
[0x1B24] = 0x6B8B, --(残)
- [0x1B25] = 0x4ED5, --(仕)
+ [0x1B25] = 0x4ED5, --(仕)
[0x1B26] = 0x4ED4, --(仔)
- [0x1B27] = 0x4F3A, --(伺)
+ [0x1B27] = 0x4F3A, --(伺)
[0x1B28] = 0x4F7F, --(使)
- [0x1B29] = 0x523A, --(刺)
+ [0x1B29] = 0x523A, --(刺)
[0x1B2A] = 0x53F8, --(司)
- [0x1B2B] = 0x53F2, --(史)
+ [0x1B2B] = 0x53F2, --(史)
[0x1B2C] = 0x55E3, --(嗣)
- [0x1B2D] = 0x56DB, --(四)
+ [0x1B2D] = 0x56DB, --(四)
[0x1B2E] = 0x58EB, --(士)
- [0x1B2F] = 0x59CB, --(始)
+ [0x1B2F] = 0x59CB, --(始)
[0x1B30] = 0x59C9, --(姉)
- [0x1B31] = 0x59FF, --(姿)
+ [0x1B31] = 0x59FF, --(姿)
[0x1B32] = 0x5B50, --(子)
- [0x1B33] = 0x5C4D, --(屍)
+ [0x1B33] = 0x5C4D, --(屍)
[0x1B34] = 0x5E02, --(市)
- [0x1B35] = 0x5E2B, --(師)
+ [0x1B35] = 0x5E2B, --(師)
[0x1B36] = 0x5FD7, --(志)
- [0x1B37] = 0x601D, --(思)
+ [0x1B37] = 0x601D, --(思)
[0x1B38] = 0x6307, --(指)
- [0x1B39] = 0x652F, --(支)
+ [0x1B39] = 0x652F, --(支)
[0x1B3A] = 0x5B5C, --(孜)
- [0x1B3B] = 0x65AF, --(斯)
+ [0x1B3B] = 0x65AF, --(斯)
[0x1B3C] = 0x65BD, --(施)
- [0x1B3D] = 0x65E8, --(旨)
+ [0x1B3D] = 0x65E8, --(旨)
[0x1B3E] = 0x679D, --(枝)
- [0x1B3F] = 0x6B62, --(止)
+ [0x1B3F] = 0x6B62, --(止)
[0x1B40] = 0x6B7B, --(死)
- [0x1B41] = 0x6C0F, --(氏)
+ [0x1B41] = 0x6C0F, --(氏)
[0x1B42] = 0x7345, --(獅)
- [0x1B43] = 0x7949, --(祉)
+ [0x1B43] = 0x7949, --(祉)
[0x1B44] = 0x79C1, --(私)
- [0x1B45] = 0x7CF8, --(糸)
+ [0x1B45] = 0x7CF8, --(糸)
[0x1B46] = 0x7D19, --(紙)
- [0x1B47] = 0x7D2B, --(紫)
+ [0x1B47] = 0x7D2B, --(紫)
[0x1B48] = 0x80A2, --(肢)
- [0x1B49] = 0x8102, --(脂)
+ [0x1B49] = 0x8102, --(脂)
[0x1B4A] = 0x81F3, --(至)
- [0x1B4B] = 0x8996, --(視)
+ [0x1B4B] = 0x8996, --(視)
[0x1B4C] = 0x8A5E, --(詞)
- [0x1B4D] = 0x8A69, --(詩)
+ [0x1B4D] = 0x8A69, --(詩)
[0x1B4E] = 0x8A66, --(試)
- [0x1B4F] = 0x8A8C, --(誌)
+ [0x1B4F] = 0x8A8C, --(誌)
[0x1B50] = 0x8AEE, --(諮)
- [0x1B51] = 0x8CC7, --(資)
+ [0x1B51] = 0x8CC7, --(資)
[0x1B52] = 0x8CDC, --(賜)
- [0x1B53] = 0x96CC, --(雌)
+ [0x1B53] = 0x96CC, --(雌)
[0x1B54] = 0x98FC, --(飼)
- [0x1B55] = 0x6B6F, --(歯)
+ [0x1B55] = 0x6B6F, --(歯)
[0x1B56] = 0x4E8B, --(事)
- [0x1B57] = 0x4F3C, --(似)
+ [0x1B57] = 0x4F3C, --(似)
[0x1B58] = 0x4F8D, --(侍)
- [0x1B59] = 0x5150, --(児)
+ [0x1B59] = 0x5150, --(児)
[0x1B5A] = 0x5B57, --(字)
- [0x1B5B] = 0x5BFA, --(寺)
+ [0x1B5B] = 0x5BFA, --(寺)
[0x1B5C] = 0x6148, --(慈)
- [0x1B5D] = 0x6301, --(持)
+ [0x1B5D] = 0x6301, --(持)
[0x1B5E] = 0x6642, --(時)
- [0x1C01] = 0x6B21, --(次)
+ [0x1C01] = 0x6B21, --(次)
[0x1C02] = 0x6ECB, --(滋)
- [0x1C03] = 0x6CBB, --(治)
+ [0x1C03] = 0x6CBB, --(治)
[0x1C04] = 0x723E, --(爾)
- [0x1C05] = 0x74BD, --(璽)
+ [0x1C05] = 0x74BD, --(璽)
[0x1C06] = 0x75D4, --(痔)
- [0x1C07] = 0x78C1, --(磁)
+ [0x1C07] = 0x78C1, --(磁)
[0x1C08] = 0x793A, --(示)
- [0x1C09] = 0x800C, --(而)
+ [0x1C09] = 0x800C, --(而)
[0x1C0A] = 0x8033, --(耳)
- [0x1C0B] = 0x81EA, --(自)
+ [0x1C0B] = 0x81EA, --(自)
[0x1C0C] = 0x8494, --(蒔)
- [0x1C0D] = 0x8F9E, --(辞)
+ [0x1C0D] = 0x8F9E, --(辞)
[0x1C0E] = 0x6C50, --(汐)
- [0x1C0F] = 0x9E7F, --(鹿)
+ [0x1C0F] = 0x9E7F, --(鹿)
[0x1C10] = 0x5F0F, --(式)
- [0x1C11] = 0x8B58, --(識)
+ [0x1C11] = 0x8B58, --(識)
[0x1C12] = 0x9D2B, --(鴫)
- [0x1C13] = 0x7AFA, --(竺)
+ [0x1C13] = 0x7AFA, --(竺)
[0x1C14] = 0x8EF8, --(軸)
- [0x1C15] = 0x5B8D, --(宍)
+ [0x1C15] = 0x5B8D, --(宍)
[0x1C16] = 0x96EB, --(雫)
- [0x1C17] = 0x4E03, --(七)
+ [0x1C17] = 0x4E03, --(七)
[0x1C18] = 0x53F1, --(叱)
- [0x1C19] = 0x57F7, --(執)
+ [0x1C19] = 0x57F7, --(執)
[0x1C1A] = 0x5931, --(失)
- [0x1C1B] = 0x5AC9, --(嫉)
+ [0x1C1B] = 0x5AC9, --(嫉)
[0x1C1C] = 0x5BA4, --(室)
- [0x1C1D] = 0x6089, --(悉)
+ [0x1C1D] = 0x6089, --(悉)
[0x1C1E] = 0x6E7F, --(湿)
- [0x1C1F] = 0x6F06, --(漆)
+ [0x1C1F] = 0x6F06, --(漆)
[0x1C20] = 0x75BE, --(疾)
- [0x1C21] = 0x8CEA, --(質)
+ [0x1C21] = 0x8CEA, --(質)
[0x1C22] = 0x5B9F, --(実)
- [0x1C23] = 0x8500, --(蔀)
+ [0x1C23] = 0x8500, --(蔀)
[0x1C24] = 0x7BE0, --(篠)
- [0x1C25] = 0x5072, --(偲)
+ [0x1C25] = 0x5072, --(偲)
[0x1C26] = 0x67F4, --(柴)
- [0x1C27] = 0x829D, --(芝)
+ [0x1C27] = 0x829D, --(芝)
[0x1C28] = 0x5C61, --(屡)
- [0x1C29] = 0x854A, --(蕊)
+ [0x1C29] = 0x854A, --(蕊)
[0x1C2A] = 0x7E1E, --(縞)
- [0x1C2B] = 0x820E, --(舎)
+ [0x1C2B] = 0x820E, --(舎)
[0x1C2C] = 0x5199, --(写)
- [0x1C2D] = 0x5C04, --(射)
+ [0x1C2D] = 0x5C04, --(射)
[0x1C2E] = 0x6368, --(捨)
- [0x1C2F] = 0x8D66, --(赦)
+ [0x1C2F] = 0x8D66, --(赦)
[0x1C30] = 0x659C, --(斜)
- [0x1C31] = 0x716E, --(煮)
+ [0x1C31] = 0x716E, --(煮)
[0x1C32] = 0x793E, --(社)
- [0x1C33] = 0x7D17, --(紗)
+ [0x1C33] = 0x7D17, --(紗)
[0x1C34] = 0x8005, --(者)
- [0x1C35] = 0x8B1D, --(謝)
+ [0x1C35] = 0x8B1D, --(謝)
[0x1C36] = 0x8ECA, --(車)
- [0x1C37] = 0x906E, --(遮)
+ [0x1C37] = 0x906E, --(遮)
[0x1C38] = 0x86C7, --(蛇)
- [0x1C39] = 0x90AA, --(邪)
+ [0x1C39] = 0x90AA, --(邪)
[0x1C3A] = 0x501F, --(借)
- [0x1C3B] = 0x52FA, --(勺)
+ [0x1C3B] = 0x52FA, --(勺)
[0x1C3C] = 0x5C3A, --(尺)
- [0x1C3D] = 0x6753, --(杓)
+ [0x1C3D] = 0x6753, --(杓)
[0x1C3E] = 0x707C, --(灼)
- [0x1C3F] = 0x7235, --(爵)
+ [0x1C3F] = 0x7235, --(爵)
[0x1C40] = 0x914C, --(酌)
- [0x1C41] = 0x91C8, --(釈)
+ [0x1C41] = 0x91C8, --(釈)
[0x1C42] = 0x932B, --(錫)
- [0x1C43] = 0x82E5, --(若)
+ [0x1C43] = 0x82E5, --(若)
[0x1C44] = 0x5BC2, --(寂)
- [0x1C45] = 0x5F31, --(弱)
+ [0x1C45] = 0x5F31, --(弱)
[0x1C46] = 0x60F9, --(惹)
- [0x1C47] = 0x4E3B, --(主)
+ [0x1C47] = 0x4E3B, --(主)
[0x1C48] = 0x53D6, --(取)
- [0x1C49] = 0x5B88, --(守)
+ [0x1C49] = 0x5B88, --(守)
[0x1C4A] = 0x624B, --(手)
- [0x1C4B] = 0x6731, --(朱)
+ [0x1C4B] = 0x6731, --(朱)
[0x1C4C] = 0x6B8A, --(殊)
- [0x1C4D] = 0x72E9, --(狩)
+ [0x1C4D] = 0x72E9, --(狩)
[0x1C4E] = 0x73E0, --(珠)
- [0x1C4F] = 0x7A2E, --(種)
+ [0x1C4F] = 0x7A2E, --(種)
[0x1C50] = 0x816B, --(腫)
- [0x1C51] = 0x8DA3, --(趣)
+ [0x1C51] = 0x8DA3, --(趣)
[0x1C52] = 0x9152, --(酒)
- [0x1C53] = 0x9996, --(首)
+ [0x1C53] = 0x9996, --(首)
[0x1C54] = 0x5112, --(儒)
- [0x1C55] = 0x53D7, --(受)
+ [0x1C55] = 0x53D7, --(受)
[0x1C56] = 0x546A, --(呪)
- [0x1C57] = 0x5BFF, --(寿)
+ [0x1C57] = 0x5BFF, --(寿)
[0x1C58] = 0x6388, --(授)
- [0x1C59] = 0x6A39, --(樹)
+ [0x1C59] = 0x6A39, --(樹)
[0x1C5A] = 0x7DAC, --(綬)
- [0x1C5B] = 0x9700, --(需)
+ [0x1C5B] = 0x9700, --(需)
[0x1C5C] = 0x56DA, --(囚)
- [0x1C5D] = 0x53CE, --(収)
+ [0x1C5D] = 0x53CE, --(収)
[0x1C5E] = 0x5468, --(周)
- [0x1D01] = 0x5B97, --(宗)
+ [0x1D01] = 0x5B97, --(宗)
[0x1D02] = 0x5C31, --(就)
- [0x1D03] = 0x5DDE, --(州)
+ [0x1D03] = 0x5DDE, --(州)
[0x1D04] = 0x4FEE, --(修)
- [0x1D05] = 0x6101, --(愁)
+ [0x1D05] = 0x6101, --(愁)
[0x1D06] = 0x62FE, --(拾)
- [0x1D07] = 0x6D32, --(洲)
+ [0x1D07] = 0x6D32, --(洲)
[0x1D08] = 0x79C0, --(秀)
- [0x1D09] = 0x79CB, --(秋)
+ [0x1D09] = 0x79CB, --(秋)
[0x1D0A] = 0x7D42, --(終)
- [0x1D0B] = 0x7E4D, --(繍)
+ [0x1D0B] = 0x7E4D, --(繍)
[0x1D0C] = 0x7FD2, --(習)
- [0x1D0D] = 0x81ED, --(臭)
+ [0x1D0D] = 0x81ED, --(臭)
[0x1D0E] = 0x821F, --(舟)
- [0x1D0F] = 0x8490, --(蒐)
+ [0x1D0F] = 0x8490, --(蒐)
[0x1D10] = 0x8846, --(衆)
- [0x1D11] = 0x8972, --(襲)
+ [0x1D11] = 0x8972, --(襲)
[0x1D12] = 0x8B90, --(讐)
- [0x1D13] = 0x8E74, --(蹴)
+ [0x1D13] = 0x8E74, --(蹴)
[0x1D14] = 0x8F2F, --(輯)
- [0x1D15] = 0x9031, --(週)
+ [0x1D15] = 0x9031, --(週)
[0x1D16] = 0x914B, --(酋)
- [0x1D17] = 0x916C, --(酬)
+ [0x1D17] = 0x916C, --(酬)
[0x1D18] = 0x96C6, --(集)
- [0x1D19] = 0x919C, --(醜)
+ [0x1D19] = 0x919C, --(醜)
[0x1D1A] = 0x4EC0, --(什)
- [0x1D1B] = 0x4F4F, --(住)
+ [0x1D1B] = 0x4F4F, --(住)
[0x1D1C] = 0x5145, --(充)
- [0x1D1D] = 0x5341, --(十)
+ [0x1D1D] = 0x5341, --(十)
[0x1D1E] = 0x5F93, --(従)
- [0x1D1F] = 0x620E, --(戎)
+ [0x1D1F] = 0x620E, --(戎)
[0x1D20] = 0x67D4, --(柔)
- [0x1D21] = 0x6C41, --(汁)
+ [0x1D21] = 0x6C41, --(汁)
[0x1D22] = 0x6E0B, --(渋)
- [0x1D23] = 0x7363, --(獣)
+ [0x1D23] = 0x7363, --(獣)
[0x1D24] = 0x7E26, --(縦)
- [0x1D25] = 0x91CD, --(重)
+ [0x1D25] = 0x91CD, --(重)
[0x1D26] = 0x9283, --(銃)
- [0x1D27] = 0x53D4, --(叔)
+ [0x1D27] = 0x53D4, --(叔)
[0x1D28] = 0x5919, --(夙)
- [0x1D29] = 0x5BBF, --(宿)
+ [0x1D29] = 0x5BBF, --(宿)
[0x1D2A] = 0x6DD1, --(淑)
- [0x1D2B] = 0x795D, --(祝)
+ [0x1D2B] = 0x795D, --(祝)
[0x1D2C] = 0x7E2E, --(縮)
- [0x1D2D] = 0x7C9B, --(粛)
+ [0x1D2D] = 0x7C9B, --(粛)
[0x1D2E] = 0x587E, --(塾)
- [0x1D2F] = 0x719F, --(熟)
+ [0x1D2F] = 0x719F, --(熟)
[0x1D30] = 0x51FA, --(出)
- [0x1D31] = 0x8853, --(術)
+ [0x1D31] = 0x8853, --(術)
[0x1D32] = 0x8FF0, --(述)
- [0x1D33] = 0x4FCA, --(俊)
+ [0x1D33] = 0x4FCA, --(俊)
[0x1D34] = 0x5CFB, --(峻)
- [0x1D35] = 0x6625, --(春)
+ [0x1D35] = 0x6625, --(春)
[0x1D36] = 0x77AC, --(瞬)
- [0x1D37] = 0x7AE3, --(竣)
+ [0x1D37] = 0x7AE3, --(竣)
[0x1D38] = 0x821C, --(舜)
- [0x1D39] = 0x99FF, --(駿)
+ [0x1D39] = 0x99FF, --(駿)
[0x1D3A] = 0x51C6, --(准)
- [0x1D3B] = 0x5FAA, --(循)
+ [0x1D3B] = 0x5FAA, --(循)
[0x1D3C] = 0x65EC, --(旬)
- [0x1D3D] = 0x696F, --(楯)
+ [0x1D3D] = 0x696F, --(楯)
[0x1D3E] = 0x6B89, --(殉)
- [0x1D3F] = 0x6DF3, --(淳)
+ [0x1D3F] = 0x6DF3, --(淳)
[0x1D40] = 0x6E96, --(準)
- [0x1D41] = 0x6F64, --(潤)
+ [0x1D41] = 0x6F64, --(潤)
[0x1D42] = 0x76FE, --(盾)
- [0x1D43] = 0x7D14, --(純)
+ [0x1D43] = 0x7D14, --(純)
[0x1D44] = 0x5DE1, --(巡)
- [0x1D45] = 0x9075, --(遵)
+ [0x1D45] = 0x9075, --(遵)
[0x1D46] = 0x9187, --(醇)
- [0x1D47] = 0x9806, --(順)
+ [0x1D47] = 0x9806, --(順)
[0x1D48] = 0x51E6, --(処)
- [0x1D49] = 0x521D, --(初)
+ [0x1D49] = 0x521D, --(初)
[0x1D4A] = 0x6240, --(所)
- [0x1D4B] = 0x6691, --(暑)
+ [0x1D4B] = 0x6691, --(暑)
[0x1D4C] = 0x66D9, --(曙)
- [0x1D4D] = 0x6E1A, --(渚)
+ [0x1D4D] = 0x6E1A, --(渚)
[0x1D4E] = 0x5EB6, --(庶)
- [0x1D4F] = 0x7DD2, --(緒)
+ [0x1D4F] = 0x7DD2, --(緒)
[0x1D50] = 0x7F72, --(署)
- [0x1D51] = 0x66F8, --(書)
+ [0x1D51] = 0x66F8, --(書)
[0x1D52] = 0x85AF, --(薯)
- [0x1D53] = 0x85F7, --(藷)
+ [0x1D53] = 0x85F7, --(藷)
[0x1D54] = 0x8AF8, --(諸)
- [0x1D55] = 0x52A9, --(助)
+ [0x1D55] = 0x52A9, --(助)
[0x1D56] = 0x53D9, --(叙)
- [0x1D57] = 0x5973, --(女)
+ [0x1D57] = 0x5973, --(女)
[0x1D58] = 0x5E8F, --(序)
- [0x1D59] = 0x5F90, --(徐)
+ [0x1D59] = 0x5F90, --(徐)
[0x1D5A] = 0x6055, --(恕)
- [0x1D5B] = 0x92E4, --(鋤)
+ [0x1D5B] = 0x92E4, --(鋤)
[0x1D5C] = 0x9664, --(除)
- [0x1D5D] = 0x50B7, --(傷)
+ [0x1D5D] = 0x50B7, --(傷)
[0x1D5E] = 0x511F, --(償)
- [0x1E01] = 0x52DD, --(勝)
+ [0x1E01] = 0x52DD, --(勝)
[0x1E02] = 0x5320, --(匠)
- [0x1E03] = 0x5347, --(升)
+ [0x1E03] = 0x5347, --(升)
[0x1E04] = 0x53EC, --(召)
- [0x1E05] = 0x54E8, --(哨)
+ [0x1E05] = 0x54E8, --(哨)
[0x1E06] = 0x5546, --(商)
- [0x1E07] = 0x5531, --(唱)
+ [0x1E07] = 0x5531, --(唱)
[0x1E08] = 0x5617, --(嘗)
- [0x1E09] = 0x5968, --(奨)
+ [0x1E09] = 0x5968, --(奨)
[0x1E0A] = 0x59BE, --(妾)
- [0x1E0B] = 0x5A3C, --(娼)
+ [0x1E0B] = 0x5A3C, --(娼)
[0x1E0C] = 0x5BB5, --(宵)
- [0x1E0D] = 0x5C06, --(将)
+ [0x1E0D] = 0x5C06, --(将)
[0x1E0E] = 0x5C0F, --(小)
- [0x1E0F] = 0x5C11, --(少)
+ [0x1E0F] = 0x5C11, --(少)
[0x1E10] = 0x5C1A, --(尚)
- [0x1E11] = 0x5E84, --(庄)
+ [0x1E11] = 0x5E84, --(庄)
[0x1E12] = 0x5E8A, --(床)
- [0x1E13] = 0x5EE0, --(廠)
+ [0x1E13] = 0x5EE0, --(廠)
[0x1E14] = 0x5F70, --(彰)
- [0x1E15] = 0x627F, --(承)
+ [0x1E15] = 0x627F, --(承)
[0x1E16] = 0x6284, --(抄)
- [0x1E17] = 0x62DB, --(招)
+ [0x1E17] = 0x62DB, --(招)
[0x1E18] = 0x638C, --(掌)
- [0x1E19] = 0x6377, --(捷)
+ [0x1E19] = 0x6377, --(捷)
[0x1E1A] = 0x6607, --(昇)
- [0x1E1B] = 0x660C, --(昌)
+ [0x1E1B] = 0x660C, --(昌)
[0x1E1C] = 0x662D, --(昭)
- [0x1E1D] = 0x6676, --(晶)
+ [0x1E1D] = 0x6676, --(晶)
[0x1E1E] = 0x677E, --(松)
- [0x1E1F] = 0x68A2, --(梢)
+ [0x1E1F] = 0x68A2, --(梢)
[0x1E20] = 0x6A1F, --(樟)
- [0x1E21] = 0x6A35, --(樵)
+ [0x1E21] = 0x6A35, --(樵)
[0x1E22] = 0x6CBC, --(沼)
- [0x1E23] = 0x6D88, --(消)
+ [0x1E23] = 0x6D88, --(消)
[0x1E24] = 0x6E09, --(渉)
- [0x1E25] = 0x6E58, --(湘)
+ [0x1E25] = 0x6E58, --(湘)
[0x1E26] = 0x713C, --(焼)
- [0x1E27] = 0x7126, --(焦)
+ [0x1E27] = 0x7126, --(焦)
[0x1E28] = 0x7167, --(照)
- [0x1E29] = 0x75C7, --(症)
+ [0x1E29] = 0x75C7, --(症)
[0x1E2A] = 0x7701, --(省)
- [0x1E2B] = 0x785D, --(硝)
+ [0x1E2B] = 0x785D, --(硝)
[0x1E2C] = 0x7901, --(礁)
- [0x1E2D] = 0x7965, --(祥)
+ [0x1E2D] = 0x7965, --(祥)
[0x1E2E] = 0x79F0, --(称)
- [0x1E2F] = 0x7AE0, --(章)
+ [0x1E2F] = 0x7AE0, --(章)
[0x1E30] = 0x7B11, --(笑)
- [0x1E31] = 0x7CA7, --(粧)
+ [0x1E31] = 0x7CA7, --(粧)
[0x1E32] = 0x7D39, --(紹)
- [0x1E33] = 0x8096, --(肖)
+ [0x1E33] = 0x8096, --(肖)
[0x1E34] = 0x83D6, --(菖)
- [0x1E35] = 0x848B, --(蒋)
+ [0x1E35] = 0x848B, --(蒋)
[0x1E36] = 0x8549, --(蕉)
- [0x1E37] = 0x885D, --(衝)
+ [0x1E37] = 0x885D, --(衝)
[0x1E38] = 0x88F3, --(裳)
- [0x1E39] = 0x8A1F, --(訟)
+ [0x1E39] = 0x8A1F, --(訟)
[0x1E3A] = 0x8A3C, --(証)
- [0x1E3B] = 0x8A54, --(詔)
+ [0x1E3B] = 0x8A54, --(詔)
[0x1E3C] = 0x8A73, --(詳)
- [0x1E3D] = 0x8C61, --(象)
+ [0x1E3D] = 0x8C61, --(象)
[0x1E3E] = 0x8CDE, --(賞)
- [0x1E3F] = 0x91A4, --(醤)
+ [0x1E3F] = 0x91A4, --(醤)
[0x1E40] = 0x9266, --(鉦)
- [0x1E41] = 0x937E, --(鍾)
+ [0x1E41] = 0x937E, --(鍾)
[0x1E42] = 0x9418, --(鐘)
- [0x1E43] = 0x969C, --(障)
+ [0x1E43] = 0x969C, --(障)
[0x1E44] = 0x9798, --(鞘)
- [0x1E45] = 0x4E0A, --(上)
+ [0x1E45] = 0x4E0A, --(上)
[0x1E46] = 0x4E08, --(丈)
- [0x1E47] = 0x4E1E, --(丞)
+ [0x1E47] = 0x4E1E, --(丞)
[0x1E48] = 0x4E57, --(乗)
- [0x1E49] = 0x5197, --(冗)
+ [0x1E49] = 0x5197, --(冗)
[0x1E4A] = 0x5270, --(剰)
- [0x1E4B] = 0x57CE, --(城)
+ [0x1E4B] = 0x57CE, --(城)
[0x1E4C] = 0x5834, --(場)
- [0x1E4D] = 0x58CC, --(壌)
+ [0x1E4D] = 0x58CC, --(壌)
[0x1E4E] = 0x5B22, --(嬢)
- [0x1E4F] = 0x5E38, --(常)
+ [0x1E4F] = 0x5E38, --(常)
[0x1E50] = 0x60C5, --(情)
- [0x1E51] = 0x64FE, --(擾)
+ [0x1E51] = 0x64FE, --(擾)
[0x1E52] = 0x6761, --(条)
- [0x1E53] = 0x6756, --(杖)
+ [0x1E53] = 0x6756, --(杖)
[0x1E54] = 0x6D44, --(浄)
- [0x1E55] = 0x72B6, --(状)
+ [0x1E55] = 0x72B6, --(状)
[0x1E56] = 0x7573, --(畳)
- [0x1E57] = 0x7A63, --(穣)
+ [0x1E57] = 0x7A63, --(穣)
[0x1E58] = 0x84B8, --(蒸)
- [0x1E59] = 0x8B72, --(譲)
+ [0x1E59] = 0x8B72, --(譲)
[0x1E5A] = 0x91B8, --(醸)
- [0x1E5B] = 0x9320, --(錠)
+ [0x1E5B] = 0x9320, --(錠)
[0x1E5C] = 0x5631, --(嘱)
- [0x1E5D] = 0x57F4, --(埴)
+ [0x1E5D] = 0x57F4, --(埴)
[0x1E5E] = 0x98FE, --(飾)
- [0x1F01] = 0x62ED, --(拭)
+ [0x1F01] = 0x62ED, --(拭)
[0x1F02] = 0x690D, --(植)
- [0x1F03] = 0x6B96, --(殖)
+ [0x1F03] = 0x6B96, --(殖)
[0x1F04] = 0x71ED, --(燭)
- [0x1F05] = 0x7E54, --(織)
+ [0x1F05] = 0x7E54, --(織)
[0x1F06] = 0x8077, --(職)
- [0x1F07] = 0x8272, --(色)
+ [0x1F07] = 0x8272, --(色)
[0x1F08] = 0x89E6, --(触)
- [0x1F09] = 0x98DF, --(食)
+ [0x1F09] = 0x98DF, --(食)
[0x1F0A] = 0x8755, --(蝕)
- [0x1F0B] = 0x8FB1, --(辱)
+ [0x1F0B] = 0x8FB1, --(辱)
[0x1F0C] = 0x5C3B, --(尻)
- [0x1F0D] = 0x4F38, --(伸)
+ [0x1F0D] = 0x4F38, --(伸)
[0x1F0E] = 0x4FE1, --(信)
- [0x1F0F] = 0x4FB5, --(侵)
+ [0x1F0F] = 0x4FB5, --(侵)
[0x1F10] = 0x5507, --(唇)
- [0x1F11] = 0x5A20, --(娠)
+ [0x1F11] = 0x5A20, --(娠)
[0x1F12] = 0x5BDD, --(寝)
- [0x1F13] = 0x5BE9, --(審)
+ [0x1F13] = 0x5BE9, --(審)
[0x1F14] = 0x5FC3, --(心)
- [0x1F15] = 0x614E, --(慎)
+ [0x1F15] = 0x614E, --(慎)
[0x1F16] = 0x632F, --(振)
- [0x1F17] = 0x65B0, --(新)
+ [0x1F17] = 0x65B0, --(新)
[0x1F18] = 0x664B, --(晋)
- [0x1F19] = 0x68EE, --(森)
+ [0x1F19] = 0x68EE, --(森)
[0x1F1A] = 0x699B, --(榛)
- [0x1F1B] = 0x6D78, --(浸)
+ [0x1F1B] = 0x6D78, --(浸)
[0x1F1C] = 0x6DF1, --(深)
- [0x1F1D] = 0x7533, --(申)
+ [0x1F1D] = 0x7533, --(申)
[0x1F1E] = 0x75B9, --(疹)
- [0x1F1F] = 0x771F, --(真)
+ [0x1F1F] = 0x771F, --(真)
[0x1F20] = 0x795E, --(神)
- [0x1F21] = 0x79E6, --(秦)
+ [0x1F21] = 0x79E6, --(秦)
[0x1F22] = 0x7D33, --(紳)
- [0x1F23] = 0x81E3, --(臣)
+ [0x1F23] = 0x81E3, --(臣)
[0x1F24] = 0x82AF, --(芯)
- [0x1F25] = 0x85AA, --(薪)
+ [0x1F25] = 0x85AA, --(薪)
[0x1F26] = 0x89AA, --(親)
- [0x1F27] = 0x8A3A, --(診)
+ [0x1F27] = 0x8A3A, --(診)
[0x1F28] = 0x8EAB, --(身)
- [0x1F29] = 0x8F9B, --(辛)
+ [0x1F29] = 0x8F9B, --(辛)
[0x1F2A] = 0x9032, --(進)
- [0x1F2B] = 0x91DD, --(針)
+ [0x1F2B] = 0x91DD, --(針)
[0x1F2C] = 0x9707, --(震)
- [0x1F2D] = 0x4EBA, --(人)
+ [0x1F2D] = 0x4EBA, --(人)
[0x1F2E] = 0x4EC1, --(仁)
- [0x1F2F] = 0x5203, --(刃)
+ [0x1F2F] = 0x5203, --(刃)
[0x1F30] = 0x5875, --(塵)
- [0x1F31] = 0x58EC, --(壬)
+ [0x1F31] = 0x58EC, --(壬)
[0x1F32] = 0x5C0B, --(尋)
- [0x1F33] = 0x751A, --(甚)
+ [0x1F33] = 0x751A, --(甚)
[0x1F34] = 0x5C3D, --(尽)
- [0x1F35] = 0x814E, --(腎)
+ [0x1F35] = 0x814E, --(腎)
[0x1F36] = 0x8A0A, --(訊)
- [0x1F37] = 0x8FC5, --(迅)
+ [0x1F37] = 0x8FC5, --(迅)
[0x1F38] = 0x9663, --(陣)
- [0x1F39] = 0x976D, --(靭)
+ [0x1F39] = 0x976D, --(靭)
[0x1F3A] = 0x7B25, --(笥)
- [0x1F3B] = 0x8ACF, --(諏)
+ [0x1F3B] = 0x8ACF, --(諏)
[0x1F3C] = 0x9808, --(須)
- [0x1F3D] = 0x9162, --(酢)
+ [0x1F3D] = 0x9162, --(酢)
[0x1F3E] = 0x56F3, --(図)
- [0x1F3F] = 0x53A8, --(厨)
+ [0x1F3F] = 0x53A8, --(厨)
[0x1F40] = 0x9017, --(逗)
- [0x1F41] = 0x5439, --(吹)
+ [0x1F41] = 0x5439, --(吹)
[0x1F42] = 0x5782, --(垂)
- [0x1F43] = 0x5E25, --(帥)
+ [0x1F43] = 0x5E25, --(帥)
[0x1F44] = 0x63A8, --(推)
- [0x1F45] = 0x6C34, --(水)
+ [0x1F45] = 0x6C34, --(水)
[0x1F46] = 0x708A, --(炊)
- [0x1F47] = 0x7761, --(睡)
+ [0x1F47] = 0x7761, --(睡)
[0x1F48] = 0x7C8B, --(粋)
- [0x1F49] = 0x7FE0, --(翠)
+ [0x1F49] = 0x7FE0, --(翠)
[0x1F4A] = 0x8870, --(衰)
- [0x1F4B] = 0x9042, --(遂)
+ [0x1F4B] = 0x9042, --(遂)
[0x1F4C] = 0x9154, --(酔)
- [0x1F4D] = 0x9310, --(錐)
+ [0x1F4D] = 0x9310, --(錐)
[0x1F4E] = 0x9318, --(錘)
- [0x1F4F] = 0x968F, --(随)
+ [0x1F4F] = 0x968F, --(随)
[0x1F50] = 0x745E, --(瑞)
- [0x1F51] = 0x9AC4, --(髄)
+ [0x1F51] = 0x9AC4, --(髄)
[0x1F52] = 0x5D07, --(崇)
- [0x1F53] = 0x5D69, --(嵩)
+ [0x1F53] = 0x5D69, --(嵩)
[0x1F54] = 0x6570, --(数)
- [0x1F55] = 0x67A2, --(枢)
+ [0x1F55] = 0x67A2, --(枢)
[0x1F56] = 0x8DA8, --(趨)
- [0x1F57] = 0x96DB, --(雛)
+ [0x1F57] = 0x96DB, --(雛)
[0x1F58] = 0x636E, --(据)
- [0x1F59] = 0x6749, --(杉)
+ [0x1F59] = 0x6749, --(杉)
[0x1F5A] = 0x6919, --(椙)
- [0x1F5B] = 0x83C5, --(菅)
+ [0x1F5B] = 0x83C5, --(菅)
[0x1F5C] = 0x9817, --(頗)
- [0x1F5D] = 0x96C0, --(雀)
+ [0x1F5D] = 0x96C0, --(雀)
[0x1F5E] = 0x88FE, --(裾)
- [0x2001] = 0x6F84, --(澄)
+ [0x2001] = 0x6F84, --(澄)
[0x2002] = 0x647A, --(摺)
- [0x2003] = 0x5BF8, --(寸)
+ [0x2003] = 0x5BF8, --(寸)
[0x2004] = 0x4E16, --(世)
- [0x2005] = 0x702C, --(瀬)
+ [0x2005] = 0x702C, --(瀬)
[0x2006] = 0x755D, --(畝)
- [0x2007] = 0x662F, --(是)
+ [0x2007] = 0x662F, --(是)
[0x2008] = 0x51C4, --(凄)
- [0x2009] = 0x5236, --(制)
+ [0x2009] = 0x5236, --(制)
[0x200A] = 0x52E2, --(勢)
- [0x200B] = 0x59D3, --(姓)
+ [0x200B] = 0x59D3, --(姓)
[0x200C] = 0x5F81, --(征)
- [0x200D] = 0x6027, --(性)
+ [0x200D] = 0x6027, --(性)
[0x200E] = 0x6210, --(成)
- [0x200F] = 0x653F, --(政)
+ [0x200F] = 0x653F, --(政)
[0x2010] = 0x6574, --(整)
- [0x2011] = 0x661F, --(星)
+ [0x2011] = 0x661F, --(星)
[0x2012] = 0x6674, --(晴)
- [0x2013] = 0x68F2, --(棲)
+ [0x2013] = 0x68F2, --(棲)
[0x2014] = 0x6816, --(栖)
- [0x2015] = 0x6B63, --(正)
+ [0x2015] = 0x6B63, --(正)
[0x2016] = 0x6E05, --(清)
- [0x2017] = 0x7272, --(牲)
+ [0x2017] = 0x7272, --(牲)
[0x2018] = 0x751F, --(生)
- [0x2019] = 0x76DB, --(盛)
+ [0x2019] = 0x76DB, --(盛)
[0x201A] = 0x7CBE, --(精)
- [0x201B] = 0x8056, --(聖)
+ [0x201B] = 0x8056, --(聖)
[0x201C] = 0x58F0, --(声)
- [0x201D] = 0x88FD, --(製)
+ [0x201D] = 0x88FD, --(製)
[0x201E] = 0x897F, --(西)
- [0x201F] = 0x8AA0, --(誠)
+ [0x201F] = 0x8AA0, --(誠)
[0x2020] = 0x8A93, --(誓)
- [0x2021] = 0x8ACB, --(請)
+ [0x2021] = 0x8ACB, --(請)
[0x2022] = 0x901D, --(逝)
- [0x2023] = 0x9192, --(醒)
+ [0x2023] = 0x9192, --(醒)
[0x2024] = 0x9752, --(青)
- [0x2025] = 0x9759, --(静)
+ [0x2025] = 0x9759, --(静)
[0x2026] = 0x6589, --(斉)
- [0x2027] = 0x7A0E, --(税)
+ [0x2027] = 0x7A0E, --(税)
[0x2028] = 0x8106, --(脆)
- [0x2029] = 0x96BB, --(隻)
+ [0x2029] = 0x96BB, --(隻)
[0x202A] = 0x5E2D, --(席)
- [0x202B] = 0x60DC, --(惜)
+ [0x202B] = 0x60DC, --(惜)
[0x202C] = 0x621A, --(戚)
- [0x202D] = 0x65A5, --(斥)
+ [0x202D] = 0x65A5, --(斥)
[0x202E] = 0x6614, --(昔)
- [0x202F] = 0x6790, --(析)
+ [0x202F] = 0x6790, --(析)
[0x2030] = 0x77F3, --(石)
- [0x2031] = 0x7A4D, --(積)
+ [0x2031] = 0x7A4D, --(積)
[0x2032] = 0x7C4D, --(籍)
- [0x2033] = 0x7E3E, --(績)
+ [0x2033] = 0x7E3E, --(績)
[0x2034] = 0x810A, --(脊)
- [0x2035] = 0x8CAC, --(責)
+ [0x2035] = 0x8CAC, --(責)
[0x2036] = 0x8D64, --(赤)
- [0x2037] = 0x8DE1, --(跡)
+ [0x2037] = 0x8DE1, --(跡)
[0x2038] = 0x8E5F, --(蹟)
- [0x2039] = 0x78A9, --(碩)
+ [0x2039] = 0x78A9, --(碩)
[0x203A] = 0x5207, --(切)
- [0x203B] = 0x62D9, --(拙)
+ [0x203B] = 0x62D9, --(拙)
[0x203C] = 0x63A5, --(接)
- [0x203D] = 0x6442, --(摂)
+ [0x203D] = 0x6442, --(摂)
[0x203E] = 0x6298, --(折)
- [0x203F] = 0x8A2D, --(設)
+ [0x203F] = 0x8A2D, --(設)
[0x2040] = 0x7A83, --(窃)
- [0x2041] = 0x7BC0, --(節)
+ [0x2041] = 0x7BC0, --(節)
[0x2042] = 0x8AAC, --(説)
- [0x2043] = 0x96EA, --(雪)
+ [0x2043] = 0x96EA, --(雪)
[0x2044] = 0x7D76, --(絶)
- [0x2045] = 0x820C, --(舌)
+ [0x2045] = 0x820C, --(舌)
[0x2046] = 0x8749, --(蝉)
- [0x2047] = 0x4ED9, --(仙)
+ [0x2047] = 0x4ED9, --(仙)
[0x2048] = 0x5148, --(先)
- [0x2049] = 0x5343, --(千)
+ [0x2049] = 0x5343, --(千)
[0x204A] = 0x5360, --(占)
- [0x204B] = 0x5BA3, --(宣)
+ [0x204B] = 0x5BA3, --(宣)
[0x204C] = 0x5C02, --(専)
- [0x204D] = 0x5C16, --(尖)
+ [0x204D] = 0x5C16, --(尖)
[0x204E] = 0x5DDD, --(川)
- [0x204F] = 0x6226, --(戦)
+ [0x204F] = 0x6226, --(戦)
[0x2050] = 0x6247, --(扇)
- [0x2051] = 0x64B0, --(撰)
+ [0x2051] = 0x64B0, --(撰)
[0x2052] = 0x6813, --(栓)
- [0x2053] = 0x6834, --(栴)
+ [0x2053] = 0x6834, --(栴)
[0x2054] = 0x6CC9, --(泉)
- [0x2055] = 0x6D45, --(浅)
+ [0x2055] = 0x6D45, --(浅)
[0x2056] = 0x6D17, --(洗)
- [0x2057] = 0x67D3, --(染)
+ [0x2057] = 0x67D3, --(染)
[0x2058] = 0x6F5C, --(潜)
- [0x2059] = 0x714E, --(煎)
+ [0x2059] = 0x714E, --(煎)
[0x205A] = 0x717D, --(煽)
- [0x205B] = 0x65CB, --(旋)
+ [0x205B] = 0x65CB, --(旋)
[0x205C] = 0x7A7F, --(穿)
- [0x205D] = 0x7BAD, --(箭)
+ [0x205D] = 0x7BAD, --(箭)
[0x205E] = 0x7DDA, --(線)
- [0x2101] = 0x7E4A, --(繊)
+ [0x2101] = 0x7E4A, --(繊)
[0x2102] = 0x7FA8, --(羨)
- [0x2103] = 0x817A, --(腺)
+ [0x2103] = 0x817A, --(腺)
[0x2104] = 0x821B, --(舛)
- [0x2105] = 0x8239, --(船)
+ [0x2105] = 0x8239, --(船)
[0x2106] = 0x85A6, --(薦)
- [0x2107] = 0x8A6E, --(詮)
+ [0x2107] = 0x8A6E, --(詮)
[0x2108] = 0x8CCE, --(賎)
- [0x2109] = 0x8DF5, --(践)
+ [0x2109] = 0x8DF5, --(践)
[0x210A] = 0x9078, --(選)
- [0x210B] = 0x9077, --(遷)
+ [0x210B] = 0x9077, --(遷)
[0x210C] = 0x92AD, --(銭)
- [0x210D] = 0x9291, --(銑)
+ [0x210D] = 0x9291, --(銑)
[0x210E] = 0x9583, --(閃)
- [0x210F] = 0x9BAE, --(鮮)
+ [0x210F] = 0x9BAE, --(鮮)
[0x2110] = 0x524D, --(前)
- [0x2111] = 0x5584, --(善)
+ [0x2111] = 0x5584, --(善)
[0x2112] = 0x6F38, --(漸)
- [0x2113] = 0x7136, --(然)
+ [0x2113] = 0x7136, --(然)
[0x2114] = 0x5168, --(全)
- [0x2115] = 0x7985, --(禅)
+ [0x2115] = 0x7985, --(禅)
[0x2116] = 0x7E55, --(繕)
- [0x2117] = 0x81B3, --(膳)
+ [0x2117] = 0x81B3, --(膳)
[0x2118] = 0x7CCE, --(糎)
- [0x2119] = 0x564C, --(噌)
+ [0x2119] = 0x564C, --(噌)
[0x211A] = 0x5851, --(塑)
- [0x211B] = 0x5CA8, --(岨)
+ [0x211B] = 0x5CA8, --(岨)
[0x211C] = 0x63AA, --(措)
- [0x211D] = 0x66FE, --(曾)
+ [0x211D] = 0x66FE, --(曾)
[0x211E] = 0x66FD, --(曽)
- [0x211F] = 0x695A, --(楚)
+ [0x211F] = 0x695A, --(楚)
[0x2120] = 0x72D9, --(狙)
- [0x2121] = 0x758F, --(疏)
+ [0x2121] = 0x758F, --(疏)
[0x2122] = 0x758E, --(疎)
- [0x2123] = 0x790E, --(礎)
+ [0x2123] = 0x790E, --(礎)
[0x2124] = 0x7956, --(祖)
- [0x2125] = 0x79DF, --(租)
+ [0x2125] = 0x79DF, --(租)
[0x2126] = 0x7C97, --(粗)
- [0x2127] = 0x7D20, --(素)
+ [0x2127] = 0x7D20, --(素)
[0x2128] = 0x7D44, --(組)
- [0x2129] = 0x8607, --(蘇)
+ [0x2129] = 0x8607, --(蘇)
[0x212A] = 0x8A34, --(訴)
- [0x212B] = 0x963B, --(阻)
+ [0x212B] = 0x963B, --(阻)
[0x212C] = 0x9061, --(遡)
- [0x212D] = 0x9F20, --(鼠)
+ [0x212D] = 0x9F20, --(鼠)
[0x212E] = 0x50E7, --(僧)
- [0x212F] = 0x5275, --(創)
+ [0x212F] = 0x5275, --(創)
[0x2130] = 0x53CC, --(双)
- [0x2131] = 0x53E2, --(叢)
+ [0x2131] = 0x53E2, --(叢)
[0x2132] = 0x5009, --(倉)
- [0x2133] = 0x55AA, --(喪)
+ [0x2133] = 0x55AA, --(喪)
[0x2134] = 0x58EE, --(壮)
- [0x2135] = 0x594F, --(奏)
+ [0x2135] = 0x594F, --(奏)
[0x2136] = 0x723D, --(爽)
- [0x2137] = 0x5B8B, --(宋)
+ [0x2137] = 0x5B8B, --(宋)
[0x2138] = 0x5C64, --(層)
- [0x2139] = 0x531D, --(匝)
+ [0x2139] = 0x531D, --(匝)
[0x213A] = 0x60E3, --(惣)
- [0x213B] = 0x60F3, --(想)
+ [0x213B] = 0x60F3, --(想)
[0x213C] = 0x635C, --(捜)
- [0x213D] = 0x6383, --(掃)
+ [0x213D] = 0x6383, --(掃)
[0x213E] = 0x633F, --(挿)
- [0x213F] = 0x63BB, --(掻)
+ [0x213F] = 0x63BB, --(掻)
[0x2140] = 0x64CD, --(操)
- [0x2141] = 0x65E9, --(早)
+ [0x2141] = 0x65E9, --(早)
[0x2142] = 0x66F9, --(曹)
- [0x2143] = 0x5DE3, --(巣)
+ [0x2143] = 0x5DE3, --(巣)
[0x2144] = 0x69CD, --(槍)
- [0x2145] = 0x69FD, --(槽)
+ [0x2145] = 0x69FD, --(槽)
[0x2146] = 0x6F15, --(漕)
- [0x2147] = 0x71E5, --(燥)
+ [0x2147] = 0x71E5, --(燥)
[0x2148] = 0x4E89, --(争)
- [0x2149] = 0x75E9, --(痩)
+ [0x2149] = 0x75E9, --(痩)
[0x214A] = 0x76F8, --(相)
- [0x214B] = 0x7A93, --(窓)
+ [0x214B] = 0x7A93, --(窓)
[0x214C] = 0x7CDF, --(糟)
- [0x214D] = 0x7DCF, --(総)
+ [0x214D] = 0x7DCF, --(総)
[0x214E] = 0x7D9C, --(綜)
- [0x214F] = 0x8061, --(聡)
+ [0x214F] = 0x8061, --(聡)
[0x2150] = 0x8349, --(草)
- [0x2151] = 0x8358, --(荘)
+ [0x2151] = 0x8358, --(荘)
[0x2152] = 0x846C, --(葬)
- [0x2153] = 0x84BC, --(蒼)
+ [0x2153] = 0x84BC, --(蒼)
[0x2154] = 0x85FB, --(藻)
- [0x2155] = 0x88C5, --(装)
+ [0x2155] = 0x88C5, --(装)
[0x2156] = 0x8D70, --(走)
- [0x2157] = 0x9001, --(送)
+ [0x2157] = 0x9001, --(送)
[0x2158] = 0x906D, --(遭)
- [0x2159] = 0x9397, --(鎗)
+ [0x2159] = 0x9397, --(鎗)
[0x215A] = 0x971C, --(霜)
- [0x215B] = 0x9A12, --(騒)
+ [0x215B] = 0x9A12, --(騒)
[0x215C] = 0x50CF, --(像)
- [0x215D] = 0x5897, --(増)
+ [0x215D] = 0x5897, --(増)
[0x215E] = 0x618E, --(憎)
- [0x2201] = 0x81D3, --(臓)
+ [0x2201] = 0x81D3, --(臓)
[0x2202] = 0x8535, --(蔵)
- [0x2203] = 0x8D08, --(贈)
+ [0x2203] = 0x8D08, --(贈)
[0x2204] = 0x9020, --(造)
- [0x2205] = 0x4FC3, --(促)
+ [0x2205] = 0x4FC3, --(促)
[0x2206] = 0x5074, --(側)
- [0x2207] = 0x5247, --(則)
+ [0x2207] = 0x5247, --(則)
[0x2208] = 0x5373, --(即)
- [0x2209] = 0x606F, --(息)
+ [0x2209] = 0x606F, --(息)
[0x220A] = 0x6349, --(捉)
- [0x220B] = 0x675F, --(束)
+ [0x220B] = 0x675F, --(束)
[0x220C] = 0x6E2C, --(測)
- [0x220D] = 0x8DB3, --(足)
+ [0x220D] = 0x8DB3, --(足)
[0x220E] = 0x901F, --(速)
- [0x220F] = 0x4FD7, --(俗)
+ [0x220F] = 0x4FD7, --(俗)
[0x2210] = 0x5C5E, --(属)
- [0x2211] = 0x8CCA, --(賊)
+ [0x2211] = 0x8CCA, --(賊)
[0x2212] = 0x65CF, --(族)
- [0x2213] = 0x7D9A, --(続)
+ [0x2213] = 0x7D9A, --(続)
[0x2214] = 0x5352, --(卒)
- [0x2215] = 0x8896, --(袖)
+ [0x2215] = 0x8896, --(袖)
[0x2216] = 0x5176, --(其)
- [0x2217] = 0x63C3, --(揃)
+ [0x2217] = 0x63C3, --(揃)
[0x2218] = 0x5B58, --(存)
- [0x2219] = 0x5B6B, --(孫)
+ [0x2219] = 0x5B6B, --(孫)
[0x221A] = 0x5C0A, --(尊)
- [0x221B] = 0x640D, --(損)
+ [0x221B] = 0x640D, --(損)
[0x221C] = 0x6751, --(村)
- [0x221D] = 0x905C, --(遜)
+ [0x221D] = 0x905C, --(遜)
[0x221E] = 0x4ED6, --(他)
- [0x221F] = 0x591A, --(多)
+ [0x221F] = 0x591A, --(多)
[0x2220] = 0x592A, --(太)
- [0x2221] = 0x6C70, --(汰)
+ [0x2221] = 0x6C70, --(汰)
[0x2222] = 0x8A51, --(詑)
- [0x2223] = 0x553E, --(唾)
+ [0x2223] = 0x553E, --(唾)
[0x2224] = 0x5815, --(堕)
- [0x2225] = 0x59A5, --(妥)
+ [0x2225] = 0x59A5, --(妥)
[0x2226] = 0x60F0, --(惰)
- [0x2227] = 0x6253, --(打)
+ [0x2227] = 0x6253, --(打)
[0x2228] = 0x67C1, --(柁)
- [0x2229] = 0x8235, --(舵)
+ [0x2229] = 0x8235, --(舵)
[0x222A] = 0x6955, --(楕)
- [0x222B] = 0x9640, --(陀)
+ [0x222B] = 0x9640, --(陀)
[0x222C] = 0x99C4, --(駄)
- [0x222D] = 0x9A28, --(騨)
+ [0x222D] = 0x9A28, --(騨)
[0x222E] = 0x4F53, --(体)
- [0x222F] = 0x5806, --(堆)
+ [0x222F] = 0x5806, --(堆)
[0x2230] = 0x5BFE, --(対)
- [0x2231] = 0x8010, --(耐)
+ [0x2231] = 0x8010, --(耐)
[0x2232] = 0x5CB1, --(岱)
- [0x2233] = 0x5E2F, --(帯)
+ [0x2233] = 0x5E2F, --(帯)
[0x2234] = 0x5F85, --(待)
- [0x2235] = 0x6020, --(怠)
+ [0x2235] = 0x6020, --(怠)
[0x2236] = 0x614B, --(態)
- [0x2237] = 0x6234, --(戴)
+ [0x2237] = 0x6234, --(戴)
[0x2238] = 0x66FF, --(替)
- [0x2239] = 0x6CF0, --(泰)
+ [0x2239] = 0x6CF0, --(泰)
[0x223A] = 0x6EDE, --(滞)
- [0x223B] = 0x80CE, --(胎)
+ [0x223B] = 0x80CE, --(胎)
[0x223C] = 0x817F, --(腿)
- [0x223D] = 0x82D4, --(苔)
+ [0x223D] = 0x82D4, --(苔)
[0x223E] = 0x888B, --(袋)
- [0x223F] = 0x8CB8, --(貸)
+ [0x223F] = 0x8CB8, --(貸)
[0x2240] = 0x9000, --(退)
- [0x2241] = 0x902E, --(逮)
+ [0x2241] = 0x902E, --(逮)
[0x2242] = 0x968A, --(隊)
- [0x2243] = 0x9EDB, --(黛)
+ [0x2243] = 0x9EDB, --(黛)
[0x2244] = 0x9BDB, --(鯛)
- [0x2245] = 0x4EE3, --(代)
+ [0x2245] = 0x4EE3, --(代)
[0x2246] = 0x53F0, --(台)
- [0x2247] = 0x5927, --(大)
+ [0x2247] = 0x5927, --(大)
[0x2248] = 0x7B2C, --(第)
- [0x2249] = 0x918D, --(醍)
+ [0x2249] = 0x918D, --(醍)
[0x224A] = 0x984C, --(題)
- [0x224B] = 0x9DF9, --(鷹)
+ [0x224B] = 0x9DF9, --(鷹)
[0x224C] = 0x6EDD, --(滝)
- [0x224D] = 0x7027, --(瀧)
+ [0x224D] = 0x7027, --(瀧)
[0x224E] = 0x5353, --(卓)
- [0x224F] = 0x5544, --(啄)
+ [0x224F] = 0x5544, --(啄)
[0x2250] = 0x5B85, --(宅)
- [0x2251] = 0x6258, --(托)
+ [0x2251] = 0x6258, --(托)
[0x2252] = 0x629E, --(択)
- [0x2253] = 0x62D3, --(拓)
+ [0x2253] = 0x62D3, --(拓)
[0x2254] = 0x6CA2, --(沢)
- [0x2255] = 0x6FEF, --(濯)
+ [0x2255] = 0x6FEF, --(濯)
[0x2256] = 0x7422, --(琢)
- [0x2257] = 0x8A17, --(託)
+ [0x2257] = 0x8A17, --(託)
[0x2258] = 0x9438, --(鐸)
- [0x2259] = 0x6FC1, --(濁)
+ [0x2259] = 0x6FC1, --(濁)
[0x225A] = 0x8AFE, --(諾)
- [0x225B] = 0x8338, --(茸)
+ [0x225B] = 0x8338, --(茸)
[0x225C] = 0x51E7, --(凧)
- [0x225D] = 0x86F8, --(蛸)
+ [0x225D] = 0x86F8, --(蛸)
[0x225E] = 0x53EA, --(只)
- [0x2301] = 0x53E9, --(叩)
+ [0x2301] = 0x53E9, --(叩)
[0x2302] = 0x4F46, --(但)
- [0x2303] = 0x9054, --(達)
+ [0x2303] = 0x9054, --(達)
[0x2304] = 0x8FB0, --(辰)
- [0x2305] = 0x596A, --(奪)
+ [0x2305] = 0x596A, --(奪)
[0x2306] = 0x8131, --(脱)
- [0x2307] = 0x5DFD, --(巽)
+ [0x2307] = 0x5DFD, --(巽)
[0x2308] = 0x7AEA, --(竪)
- [0x2309] = 0x8FBF, --(辿)
+ [0x2309] = 0x8FBF, --(辿)
[0x230A] = 0x68DA, --(棚)
- [0x230B] = 0x8C37, --(谷)
+ [0x230B] = 0x8C37, --(谷)
[0x230C] = 0x72F8, --(狸)
- [0x230D] = 0x9C48, --(鱈)
+ [0x230D] = 0x9C48, --(鱈)
[0x230E] = 0x6A3D, --(樽)
- [0x230F] = 0x8AB0, --(誰)
+ [0x230F] = 0x8AB0, --(誰)
[0x2310] = 0x4E39, --(丹)
- [0x2311] = 0x5358, --(単)
+ [0x2311] = 0x5358, --(単)
[0x2312] = 0x5606, --(嘆)
- [0x2313] = 0x5766, --(坦)
+ [0x2313] = 0x5766, --(坦)
[0x2314] = 0x62C5, --(担)
- [0x2315] = 0x63A2, --(探)
+ [0x2315] = 0x63A2, --(探)
[0x2316] = 0x65E6, --(旦)
- [0x2317] = 0x6B4E, --(歎)
+ [0x2317] = 0x6B4E, --(歎)
[0x2318] = 0x6DE1, --(淡)
- [0x2319] = 0x6E5B, --(湛)
+ [0x2319] = 0x6E5B, --(湛)
[0x231A] = 0x70AD, --(炭)
- [0x231B] = 0x77ED, --(短)
+ [0x231B] = 0x77ED, --(短)
[0x231C] = 0x7AEF, --(端)
- [0x231D] = 0x7BAA, --(箪)
+ [0x231D] = 0x7BAA, --(箪)
[0x231E] = 0x7DBB, --(綻)
- [0x231F] = 0x803D, --(耽)
+ [0x231F] = 0x803D, --(耽)
[0x2320] = 0x80C6, --(胆)
- [0x2321] = 0x86CB, --(蛋)
+ [0x2321] = 0x86CB, --(蛋)
[0x2322] = 0x8A95, --(誕)
- [0x2323] = 0x935B, --(鍛)
+ [0x2323] = 0x935B, --(鍛)
[0x2324] = 0x56E3, --(団)
- [0x2325] = 0x58C7, --(壇)
+ [0x2325] = 0x58C7, --(壇)
[0x2326] = 0x5F3E, --(弾)
- [0x2327] = 0x65AD, --(断)
+ [0x2327] = 0x65AD, --(断)
[0x2328] = 0x6696, --(暖)
- [0x2329] = 0x6A80, --(檀)
+ [0x2329] = 0x6A80, --(檀)
[0x232A] = 0x6BB5, --(段)
- [0x232B] = 0x7537, --(男)
+ [0x232B] = 0x7537, --(男)
[0x232C] = 0x8AC7, --(談)
- [0x232D] = 0x5024, --(値)
+ [0x232D] = 0x5024, --(値)
[0x232E] = 0x77E5, --(知)
- [0x232F] = 0x5730, --(地)
+ [0x232F] = 0x5730, --(地)
[0x2330] = 0x5F1B, --(弛)
- [0x2331] = 0x6065, --(恥)
+ [0x2331] = 0x6065, --(恥)
[0x2332] = 0x667A, --(智)
- [0x2333] = 0x6C60, --(池)
+ [0x2333] = 0x6C60, --(池)
[0x2334] = 0x75F4, --(痴)
- [0x2335] = 0x7A1A, --(稚)
+ [0x2335] = 0x7A1A, --(稚)
[0x2336] = 0x7F6E, --(置)
- [0x2337] = 0x81F4, --(致)
+ [0x2337] = 0x81F4, --(致)
[0x2338] = 0x8718, --(蜘)
- [0x2339] = 0x9045, --(遅)
+ [0x2339] = 0x9045, --(遅)
[0x233A] = 0x99B3, --(馳)
- [0x233B] = 0x7BC9, --(築)
+ [0x233B] = 0x7BC9, --(築)
[0x233C] = 0x755C, --(畜)
- [0x233D] = 0x7AF9, --(竹)
+ [0x233D] = 0x7AF9, --(竹)
[0x233E] = 0x7B51, --(筑)
- [0x233F] = 0x84C4, --(蓄)
+ [0x233F] = 0x84C4, --(蓄)
[0x2340] = 0x9010, --(逐)
- [0x2341] = 0x79E9, --(秩)
+ [0x2341] = 0x79E9, --(秩)
[0x2342] = 0x7A92, --(窒)
- [0x2343] = 0x8336, --(茶)
+ [0x2343] = 0x8336, --(茶)
[0x2344] = 0x5AE1, --(嫡)
- [0x2345] = 0x7740, --(着)
+ [0x2345] = 0x7740, --(着)
[0x2346] = 0x4E2D, --(中)
- [0x2347] = 0x4EF2, --(仲)
+ [0x2347] = 0x4EF2, --(仲)
[0x2348] = 0x5B99, --(宙)
- [0x2349] = 0x5FE0, --(忠)
+ [0x2349] = 0x5FE0, --(忠)
[0x234A] = 0x62BD, --(抽)
- [0x234B] = 0x663C, --(昼)
+ [0x234B] = 0x663C, --(昼)
[0x234C] = 0x67F1, --(柱)
- [0x234D] = 0x6CE8, --(注)
+ [0x234D] = 0x6CE8, --(注)
[0x234E] = 0x866B, --(虫)
- [0x234F] = 0x8877, --(衷)
+ [0x234F] = 0x8877, --(衷)
[0x2350] = 0x8A3B, --(註)
- [0x2351] = 0x914E, --(酎)
+ [0x2351] = 0x914E, --(酎)
[0x2352] = 0x92F3, --(鋳)
- [0x2353] = 0x99D0, --(駐)
+ [0x2353] = 0x99D0, --(駐)
[0x2354] = 0x6A17, --(樗)
- [0x2355] = 0x7026, --(瀦)
+ [0x2355] = 0x7026, --(瀦)
[0x2356] = 0x732A, --(猪)
- [0x2357] = 0x82E7, --(苧)
+ [0x2357] = 0x82E7, --(苧)
[0x2358] = 0x8457, --(著)
- [0x2359] = 0x8CAF, --(貯)
+ [0x2359] = 0x8CAF, --(貯)
[0x235A] = 0x4E01, --(丁)
- [0x235B] = 0x5146, --(兆)
+ [0x235B] = 0x5146, --(兆)
[0x235C] = 0x51CB, --(凋)
- [0x235D] = 0x558B, --(喋)
+ [0x235D] = 0x558B, --(喋)
[0x235E] = 0x5BF5, --(寵)
- [0x2401] = 0x5E16, --(帖)
+ [0x2401] = 0x5E16, --(帖)
[0x2402] = 0x5E33, --(帳)
- [0x2403] = 0x5E81, --(庁)
+ [0x2403] = 0x5E81, --(庁)
[0x2404] = 0x5F14, --(弔)
- [0x2405] = 0x5F35, --(張)
+ [0x2405] = 0x5F35, --(張)
[0x2406] = 0x5F6B, --(彫)
- [0x2407] = 0x5FB4, --(徴)
+ [0x2407] = 0x5FB4, --(徴)
[0x2408] = 0x61F2, --(懲)
- [0x2409] = 0x6311, --(挑)
+ [0x2409] = 0x6311, --(挑)
[0x240A] = 0x66A2, --(暢)
- [0x240B] = 0x671D, --(朝)
+ [0x240B] = 0x671D, --(朝)
[0x240C] = 0x6F6E, --(潮)
- [0x240D] = 0x7252, --(牒)
+ [0x240D] = 0x7252, --(牒)
[0x240E] = 0x753A, --(町)
- [0x240F] = 0x773A, --(眺)
+ [0x240F] = 0x773A, --(眺)
[0x2410] = 0x8074, --(聴)
- [0x2411] = 0x8139, --(脹)
+ [0x2411] = 0x8139, --(脹)
[0x2412] = 0x8178, --(腸)
- [0x2413] = 0x8776, --(蝶)
+ [0x2413] = 0x8776, --(蝶)
[0x2414] = 0x8ABF, --(調)
- [0x2415] = 0x8ADC, --(諜)
+ [0x2415] = 0x8ADC, --(諜)
[0x2416] = 0x8D85, --(超)
- [0x2417] = 0x8DF3, --(跳)
+ [0x2417] = 0x8DF3, --(跳)
[0x2418] = 0x929A, --(銚)
- [0x2419] = 0x9577, --(長)
+ [0x2419] = 0x9577, --(長)
[0x241A] = 0x9802, --(頂)
- [0x241B] = 0x9CE5, --(鳥)
+ [0x241B] = 0x9CE5, --(鳥)
[0x241C] = 0x52C5, --(勅)
- [0x241D] = 0x6357, --(捗)
+ [0x241D] = 0x6357, --(捗)
[0x241E] = 0x76F4, --(直)
- [0x241F] = 0x6715, --(朕)
+ [0x241F] = 0x6715, --(朕)
[0x2420] = 0x6C88, --(沈)
- [0x2421] = 0x73CD, --(珍)
+ [0x2421] = 0x73CD, --(珍)
[0x2422] = 0x8CC3, --(賃)
- [0x2423] = 0x93AE, --(鎮)
+ [0x2423] = 0x93AE, --(鎮)
[0x2424] = 0x9673, --(陳)
- [0x2425] = 0x6D25, --(津)
+ [0x2425] = 0x6D25, --(津)
[0x2426] = 0x589C, --(墜)
- [0x2427] = 0x690E, --(椎)
+ [0x2427] = 0x690E, --(椎)
[0x2428] = 0x69CC, --(槌)
- [0x2429] = 0x8FFD, --(追)
+ [0x2429] = 0x8FFD, --(追)
[0x242A] = 0x939A, --(鎚)
- [0x242B] = 0x75DB, --(痛)
+ [0x242B] = 0x75DB, --(痛)
[0x242C] = 0x901A, --(通)
- [0x242D] = 0x585A, --(塚)
+ [0x242D] = 0x585A, --(塚)
[0x242E] = 0x6802, --(栂)
- [0x242F] = 0x63B4, --(掴)
+ [0x242F] = 0x63B4, --(掴)
[0x2430] = 0x69FB, --(槻)
- [0x2431] = 0x4F43, --(佃)
+ [0x2431] = 0x4F43, --(佃)
[0x2432] = 0x6F2C, --(漬)
- [0x2433] = 0x67D8, --(柘)
+ [0x2433] = 0x67D8, --(柘)
[0x2434] = 0x8FBB, --(辻)
- [0x2435] = 0x8526, --(蔦)
+ [0x2435] = 0x8526, --(蔦)
[0x2436] = 0x7DB4, --(綴)
- [0x2437] = 0x9354, --(鍔)
+ [0x2437] = 0x9354, --(鍔)
[0x2438] = 0x693F, --(椿)
- [0x2439] = 0x6F70, --(潰)
+ [0x2439] = 0x6F70, --(潰)
[0x243A] = 0x576A, --(坪)
- [0x243B] = 0x58F7, --(壷)
+ [0x243B] = 0x58F7, --(壷)
[0x243C] = 0x5B2C, --(嬬)
- [0x243D] = 0x7D2C, --(紬)
+ [0x243D] = 0x7D2C, --(紬)
[0x243E] = 0x722A, --(爪)
- [0x243F] = 0x540A, --(吊)
+ [0x243F] = 0x540A, --(吊)
[0x2440] = 0x91E3, --(釣)
- [0x2441] = 0x9DB4, --(鶴)
+ [0x2441] = 0x9DB4, --(鶴)
[0x2442] = 0x4EAD, --(亭)
- [0x2443] = 0x4F4E, --(低)
+ [0x2443] = 0x4F4E, --(低)
[0x2444] = 0x505C, --(停)
- [0x2445] = 0x5075, --(偵)
+ [0x2445] = 0x5075, --(偵)
[0x2446] = 0x5243, --(剃)
- [0x2447] = 0x8C9E, --(貞)
+ [0x2447] = 0x8C9E, --(貞)
[0x2448] = 0x5448, --(呈)
- [0x2449] = 0x5824, --(堤)
+ [0x2449] = 0x5824, --(堤)
[0x244A] = 0x5B9A, --(定)
- [0x244B] = 0x5E1D, --(帝)
+ [0x244B] = 0x5E1D, --(帝)
[0x244C] = 0x5E95, --(底)
- [0x244D] = 0x5EAD, --(庭)
+ [0x244D] = 0x5EAD, --(庭)
[0x244E] = 0x5EF7, --(廷)
- [0x244F] = 0x5F1F, --(弟)
+ [0x244F] = 0x5F1F, --(弟)
[0x2450] = 0x608C, --(悌)
- [0x2451] = 0x62B5, --(抵)
+ [0x2451] = 0x62B5, --(抵)
[0x2452] = 0x633A, --(挺)
- [0x2453] = 0x63D0, --(提)
+ [0x2453] = 0x63D0, --(提)
[0x2454] = 0x68AF, --(梯)
- [0x2455] = 0x6C40, --(汀)
+ [0x2455] = 0x6C40, --(汀)
[0x2456] = 0x7887, --(碇)
- [0x2457] = 0x798E, --(禎)
+ [0x2457] = 0x798E, --(禎)
[0x2458] = 0x7A0B, --(程)
- [0x2459] = 0x7DE0, --(締)
+ [0x2459] = 0x7DE0, --(締)
[0x245A] = 0x8247, --(艇)
- [0x245B] = 0x8A02, --(訂)
+ [0x245B] = 0x8A02, --(訂)
[0x245C] = 0x8AE6, --(諦)
- [0x245D] = 0x8E44, --(蹄)
+ [0x245D] = 0x8E44, --(蹄)
[0x245E] = 0x9013, --(逓)
- [0x2501] = 0x90B8, --(邸)
+ [0x2501] = 0x90B8, --(邸)
[0x2502] = 0x912D, --(鄭)
- [0x2503] = 0x91D8, --(釘)
+ [0x2503] = 0x91D8, --(釘)
[0x2504] = 0x9F0E, --(鼎)
- [0x2505] = 0x6CE5, --(泥)
+ [0x2505] = 0x6CE5, --(泥)
[0x2506] = 0x6458, --(摘)
- [0x2507] = 0x64E2, --(擢)
+ [0x2507] = 0x64E2, --(擢)
[0x2508] = 0x6575, --(敵)
- [0x2509] = 0x6EF4, --(滴)
+ [0x2509] = 0x6EF4, --(滴)
[0x250A] = 0x7684, --(的)
- [0x250B] = 0x7B1B, --(笛)
+ [0x250B] = 0x7B1B, --(笛)
[0x250C] = 0x9069, --(適)
- [0x250D] = 0x93D1, --(鏑)
+ [0x250D] = 0x93D1, --(鏑)
[0x250E] = 0x6EBA, --(溺)
- [0x250F] = 0x54F2, --(哲)
+ [0x250F] = 0x54F2, --(哲)
[0x2510] = 0x5FB9, --(徹)
- [0x2511] = 0x64A4, --(撤)
+ [0x2511] = 0x64A4, --(撤)
[0x2512] = 0x8F4D, --(轍)
- [0x2513] = 0x8FED, --(迭)
+ [0x2513] = 0x8FED, --(迭)
[0x2514] = 0x9244, --(鉄)
- [0x2515] = 0x5178, --(典)
+ [0x2515] = 0x5178, --(典)
[0x2516] = 0x586B, --(填)
- [0x2517] = 0x5929, --(天)
+ [0x2517] = 0x5929, --(天)
[0x2518] = 0x5C55, --(展)
- [0x2519] = 0x5E97, --(店)
+ [0x2519] = 0x5E97, --(店)
[0x251A] = 0x6DFB, --(添)
- [0x251B] = 0x7E8F, --(纏)
+ [0x251B] = 0x7E8F, --(纏)
[0x251C] = 0x751C, --(甜)
- [0x251D] = 0x8CBC, --(貼)
+ [0x251D] = 0x8CBC, --(貼)
[0x251E] = 0x8EE2, --(転)
- [0x251F] = 0x985B, --(顛)
+ [0x251F] = 0x985B, --(顛)
[0x2520] = 0x70B9, --(点)
- [0x2521] = 0x4F1D, --(伝)
+ [0x2521] = 0x4F1D, --(伝)
[0x2522] = 0x6BBF, --(殿)
- [0x2523] = 0x6FB1, --(澱)
+ [0x2523] = 0x6FB1, --(澱)
[0x2524] = 0x7530, --(田)
- [0x2525] = 0x96FB, --(電)
+ [0x2525] = 0x96FB, --(電)
[0x2526] = 0x514E, --(兎)
- [0x2527] = 0x5410, --(吐)
+ [0x2527] = 0x5410, --(吐)
[0x2528] = 0x5835, --(堵)
- [0x2529] = 0x5857, --(塗)
+ [0x2529] = 0x5857, --(塗)
[0x252A] = 0x59AC, --(妬)
- [0x252B] = 0x5C60, --(屠)
+ [0x252B] = 0x5C60, --(屠)
[0x252C] = 0x5F92, --(徒)
- [0x252D] = 0x6597, --(斗)
+ [0x252D] = 0x6597, --(斗)
[0x252E] = 0x675C, --(杜)
- [0x252F] = 0x6E21, --(渡)
+ [0x252F] = 0x6E21, --(渡)
[0x2530] = 0x767B, --(登)
- [0x2531] = 0x83DF, --(菟)
+ [0x2531] = 0x83DF, --(菟)
[0x2532] = 0x8CED, --(賭)
- [0x2533] = 0x9014, --(途)
+ [0x2533] = 0x9014, --(途)
[0x2534] = 0x90FD, --(都)
- [0x2535] = 0x934D, --(鍍)
+ [0x2535] = 0x934D, --(鍍)
[0x2536] = 0x7825, --(砥)
- [0x2537] = 0x783A, --(砺)
+ [0x2537] = 0x783A, --(砺)
[0x2538] = 0x52AA, --(努)
- [0x2539] = 0x5EA6, --(度)
+ [0x2539] = 0x5EA6, --(度)
[0x253A] = 0x571F, --(土)
- [0x253B] = 0x5974, --(奴)
+ [0x253B] = 0x5974, --(奴)
[0x253C] = 0x6012, --(怒)
- [0x253D] = 0x5012, --(倒)
+ [0x253D] = 0x5012, --(倒)
[0x253E] = 0x515A, --(党)
- [0x253F] = 0x51AC, --(冬)
+ [0x253F] = 0x51AC, --(冬)
[0x2540] = 0x51CD, --(凍)
- [0x2541] = 0x5200, --(刀)
+ [0x2541] = 0x5200, --(刀)
[0x2542] = 0x5510, --(唐)
- [0x2543] = 0x5854, --(塔)
+ [0x2543] = 0x5854, --(塔)
[0x2544] = 0x5858, --(塘)
- [0x2545] = 0x5957, --(套)
+ [0x2545] = 0x5957, --(套)
[0x2546] = 0x5B95, --(宕)
- [0x2547] = 0x5CF6, --(島)
+ [0x2547] = 0x5CF6, --(島)
[0x2548] = 0x5D8B, --(嶋)
- [0x2549] = 0x60BC, --(悼)
+ [0x2549] = 0x60BC, --(悼)
[0x254A] = 0x6295, --(投)
- [0x254B] = 0x642D, --(搭)
+ [0x254B] = 0x642D, --(搭)
[0x254C] = 0x6771, --(東)
- [0x254D] = 0x6843, --(桃)
+ [0x254D] = 0x6843, --(桃)
[0x254E] = 0x68BC, --(梼)
- [0x254F] = 0x68DF, --(棟)
+ [0x254F] = 0x68DF, --(棟)
[0x2550] = 0x76D7, --(盗)
- [0x2551] = 0x6DD8, --(淘)
+ [0x2551] = 0x6DD8, --(淘)
[0x2552] = 0x6E6F, --(湯)
- [0x2553] = 0x6D9B, --(涛)
+ [0x2553] = 0x6D9B, --(涛)
[0x2554] = 0x706F, --(灯)
- [0x2555] = 0x71C8, --(燈)
+ [0x2555] = 0x71C8, --(燈)
[0x2556] = 0x5F53, --(当)
- [0x2557] = 0x75D8, --(痘)
+ [0x2557] = 0x75D8, --(痘)
[0x2558] = 0x7977, --(祷)
- [0x2559] = 0x7B49, --(等)
+ [0x2559] = 0x7B49, --(等)
[0x255A] = 0x7B54, --(答)
- [0x255B] = 0x7B52, --(筒)
+ [0x255B] = 0x7B52, --(筒)
[0x255C] = 0x7CD6, --(糖)
- [0x255D] = 0x7D71, --(統)
+ [0x255D] = 0x7D71, --(統)
[0x255E] = 0x5230, --(到)
- [0x2601] = 0x8463, --(董)
+ [0x2601] = 0x8463, --(董)
[0x2602] = 0x8569, --(蕩)
- [0x2603] = 0x85E4, --(藤)
+ [0x2603] = 0x85E4, --(藤)
[0x2604] = 0x8A0E, --(討)
- [0x2605] = 0x8B04, --(謄)
+ [0x2605] = 0x8B04, --(謄)
[0x2606] = 0x8C46, --(豆)
- [0x2607] = 0x8E0F, --(踏)
+ [0x2607] = 0x8E0F, --(踏)
[0x2608] = 0x9003, --(逃)
- [0x2609] = 0x900F, --(透)
+ [0x2609] = 0x900F, --(透)
[0x260A] = 0x9419, --(鐙)
- [0x260B] = 0x9676, --(陶)
+ [0x260B] = 0x9676, --(陶)
[0x260C] = 0x982D, --(頭)
- [0x260D] = 0x9A30, --(騰)
+ [0x260D] = 0x9A30, --(騰)
[0x260E] = 0x95D8, --(闘)
- [0x260F] = 0x50CD, --(働)
+ [0x260F] = 0x50CD, --(働)
[0x2610] = 0x52D5, --(動)
- [0x2611] = 0x540C, --(同)
+ [0x2611] = 0x540C, --(同)
[0x2612] = 0x5802, --(堂)
- [0x2613] = 0x5C0E, --(導)
+ [0x2613] = 0x5C0E, --(導)
[0x2614] = 0x61A7, --(憧)
- [0x2615] = 0x649E, --(撞)
+ [0x2615] = 0x649E, --(撞)
[0x2616] = 0x6D1E, --(洞)
- [0x2617] = 0x77B3, --(瞳)
+ [0x2617] = 0x77B3, --(瞳)
[0x2618] = 0x7AE5, --(童)
- [0x2619] = 0x80F4, --(胴)
+ [0x2619] = 0x80F4, --(胴)
[0x261A] = 0x8404, --(萄)
- [0x261B] = 0x9053, --(道)
+ [0x261B] = 0x9053, --(道)
[0x261C] = 0x9285, --(銅)
- [0x261D] = 0x5CE0, --(峠)
+ [0x261D] = 0x5CE0, --(峠)
[0x261E] = 0x9D07, --(鴇)
- [0x261F] = 0x533F, --(匿)
+ [0x261F] = 0x533F, --(匿)
[0x2620] = 0x5F97, --(得)
- [0x2621] = 0x5FB3, --(徳)
+ [0x2621] = 0x5FB3, --(徳)
[0x2622] = 0x6D9C, --(涜)
- [0x2623] = 0x7279, --(特)
+ [0x2623] = 0x7279, --(特)
[0x2624] = 0x7763, --(督)
- [0x2625] = 0x79BF, --(禿)
+ [0x2625] = 0x79BF, --(禿)
[0x2626] = 0x7BE4, --(篤)
- [0x2627] = 0x6BD2, --(毒)
+ [0x2627] = 0x6BD2, --(毒)
[0x2628] = 0x72EC, --(独)
- [0x2629] = 0x8AAD, --(読)
+ [0x2629] = 0x8AAD, --(読)
[0x262A] = 0x6803, --(栃)
- [0x262B] = 0x6A61, --(橡)
+ [0x262B] = 0x6A61, --(橡)
[0x262C] = 0x51F8, --(凸)
- [0x262D] = 0x7A81, --(突)
+ [0x262D] = 0x7A81, --(突)
[0x262E] = 0x6934, --(椴)
- [0x262F] = 0x5C4A, --(届)
+ [0x262F] = 0x5C4A, --(届)
[0x2630] = 0x9CF6, --(鳶)
- [0x2631] = 0x82EB, --(苫)
+ [0x2631] = 0x82EB, --(苫)
[0x2632] = 0x5BC5, --(寅)
- [0x2633] = 0x9149, --(酉)
+ [0x2633] = 0x9149, --(酉)
[0x2634] = 0x701E, --(瀞)
- [0x2635] = 0x5678, --(噸)
+ [0x2635] = 0x5678, --(噸)
[0x2636] = 0x5C6F, --(屯)
- [0x2637] = 0x60C7, --(惇)
+ [0x2637] = 0x60C7, --(惇)
[0x2638] = 0x6566, --(敦)
- [0x2639] = 0x6C8C, --(沌)
+ [0x2639] = 0x6C8C, --(沌)
[0x263A] = 0x8C5A, --(豚)
- [0x263B] = 0x9041, --(遁)
+ [0x263B] = 0x9041, --(遁)
[0x263C] = 0x9813, --(頓)
- [0x263D] = 0x5451, --(呑)
+ [0x263D] = 0x5451, --(呑)
[0x263E] = 0x66C7, --(曇)
- [0x263F] = 0x920D, --(鈍)
+ [0x263F] = 0x920D, --(鈍)
[0x2640] = 0x5948, --(奈)
- [0x2641] = 0x90A3, --(那)
+ [0x2641] = 0x90A3, --(那)
[0x2642] = 0x5185, --(内)
- [0x2643] = 0x4E4D, --(乍)
+ [0x2643] = 0x4E4D, --(乍)
[0x2644] = 0x51EA, --(凪)
- [0x2645] = 0x8599, --(薙)
+ [0x2645] = 0x8599, --(薙)
[0x2646] = 0x8B0E, --(謎)
- [0x2647] = 0x7058, --(灘)
+ [0x2647] = 0x7058, --(灘)
[0x2648] = 0x637A, --(捺)
- [0x2649] = 0x934B, --(鍋)
+ [0x2649] = 0x934B, --(鍋)
[0x264A] = 0x6962, --(楢)
- [0x264B] = 0x99B4, --(馴)
+ [0x264B] = 0x99B4, --(馴)
[0x264C] = 0x7E04, --(縄)
- [0x264D] = 0x7577, --(畷)
+ [0x264D] = 0x7577, --(畷)
[0x264E] = 0x5357, --(南)
- [0x264F] = 0x6960, --(楠)
+ [0x264F] = 0x6960, --(楠)
[0x2650] = 0x8EDF, --(軟)
- [0x2651] = 0x96E3, --(難)
+ [0x2651] = 0x96E3, --(難)
[0x2652] = 0x6C5D, --(汝)
- [0x2653] = 0x4E8C, --(二)
+ [0x2653] = 0x4E8C, --(二)
[0x2654] = 0x5C3C, --(尼)
- [0x2655] = 0x5F10, --(弐)
+ [0x2655] = 0x5F10, --(弐)
[0x2656] = 0x8FE9, --(迩)
- [0x2657] = 0x5302, --(匂)
+ [0x2657] = 0x5302, --(匂)
[0x2658] = 0x8CD1, --(賑)
- [0x2659] = 0x8089, --(肉)
+ [0x2659] = 0x8089, --(肉)
[0x265A] = 0x8679, --(虹)
- [0x265B] = 0x5EFF, --(廿)
+ [0x265B] = 0x5EFF, --(廿)
[0x265C] = 0x65E5, --(日)
- [0x265D] = 0x4E73, --(乳)
+ [0x265D] = 0x4E73, --(乳)
[0x265E] = 0x5165, --(入)
- [0x2701] = 0x5982, --(如)
+ [0x2701] = 0x5982, --(如)
[0x2702] = 0x5C3F, --(尿)
- [0x2703] = 0x97EE, --(韮)
+ [0x2703] = 0x97EE, --(韮)
[0x2704] = 0x4EFB, --(任)
- [0x2705] = 0x598A, --(妊)
+ [0x2705] = 0x598A, --(妊)
[0x2706] = 0x5FCD, --(忍)
- [0x2707] = 0x8A8D, --(認)
+ [0x2707] = 0x8A8D, --(認)
[0x2708] = 0x6FE1, --(濡)
- [0x2709] = 0x79B0, --(禰)
+ [0x2709] = 0x79B0, --(禰)
[0x270A] = 0x7962, --(祢)
- [0x270B] = 0x5BE7, --(寧)
+ [0x270B] = 0x5BE7, --(寧)
[0x270C] = 0x8471, --(葱)
- [0x270D] = 0x732B, --(猫)
+ [0x270D] = 0x732B, --(猫)
[0x270E] = 0x71B1, --(熱)
- [0x270F] = 0x5E74, --(年)
+ [0x270F] = 0x5E74, --(年)
[0x2710] = 0x5FF5, --(念)
- [0x2711] = 0x637B, --(捻)
+ [0x2711] = 0x637B, --(捻)
[0x2712] = 0x649A, --(撚)
- [0x2713] = 0x71C3, --(燃)
+ [0x2713] = 0x71C3, --(燃)
[0x2714] = 0x7C98, --(粘)
- [0x2715] = 0x4E43, --(乃)
+ [0x2715] = 0x4E43, --(乃)
[0x2716] = 0x5EFC, --(廼)
- [0x2717] = 0x4E4B, --(之)
+ [0x2717] = 0x4E4B, --(之)
[0x2718] = 0x57DC, --(埜)
- [0x2719] = 0x56A2, --(嚢)
+ [0x2719] = 0x56A2, --(嚢)
[0x271A] = 0x60A9, --(悩)
- [0x271B] = 0x6FC3, --(濃)
+ [0x271B] = 0x6FC3, --(濃)
[0x271C] = 0x7D0D, --(納)
- [0x271D] = 0x80FD, --(能)
+ [0x271D] = 0x80FD, --(能)
[0x271E] = 0x8133, --(脳)
- [0x271F] = 0x81BF, --(膿)
+ [0x271F] = 0x81BF, --(膿)
[0x2720] = 0x8FB2, --(農)
- [0x2721] = 0x8997, --(覗)
+ [0x2721] = 0x8997, --(覗)
[0x2722] = 0x86A4, --(蚤)
- [0x2723] = 0x5DF4, --(巴)
+ [0x2723] = 0x5DF4, --(巴)
[0x2724] = 0x628A, --(把)
- [0x2725] = 0x64AD, --(播)
+ [0x2725] = 0x64AD, --(播)
[0x2726] = 0x8987, --(覇)
- [0x2727] = 0x6777, --(杷)
+ [0x2727] = 0x6777, --(杷)
[0x2728] = 0x6CE2, --(波)
- [0x2729] = 0x6D3E, --(派)
+ [0x2729] = 0x6D3E, --(派)
[0x272A] = 0x7436, --(琶)
- [0x272B] = 0x7834, --(破)
+ [0x272B] = 0x7834, --(破)
[0x272C] = 0x5A46, --(婆)
- [0x272D] = 0x7F75, --(罵)
+ [0x272D] = 0x7F75, --(罵)
[0x272E] = 0x82AD, --(芭)
- [0x272F] = 0x99AC, --(馬)
+ [0x272F] = 0x99AC, --(馬)
[0x2730] = 0x4FF3, --(俳)
- [0x2731] = 0x5EC3, --(廃)
+ [0x2731] = 0x5EC3, --(廃)
[0x2732] = 0x62DD, --(拝)
- [0x2733] = 0x6392, --(排)
+ [0x2733] = 0x6392, --(排)
[0x2734] = 0x6557, --(敗)
- [0x2735] = 0x676F, --(杯)
+ [0x2735] = 0x676F, --(杯)
[0x2736] = 0x76C3, --(盃)
- [0x2737] = 0x724C, --(牌)
+ [0x2737] = 0x724C, --(牌)
[0x2738] = 0x80CC, --(背)
- [0x2739] = 0x80BA, --(肺)
+ [0x2739] = 0x80BA, --(肺)
[0x273A] = 0x8F29, --(輩)
- [0x273B] = 0x914D, --(配)
+ [0x273B] = 0x914D, --(配)
[0x273C] = 0x500D, --(倍)
- [0x273D] = 0x57F9, --(培)
+ [0x273D] = 0x57F9, --(培)
[0x273E] = 0x5A92, --(媒)
- [0x273F] = 0x6885, --(梅)
+ [0x273F] = 0x6885, --(梅)
[0x2740] = 0x6973, --(楳)
- [0x2741] = 0x7164, --(煤)
+ [0x2741] = 0x7164, --(煤)
[0x2742] = 0x72FD, --(狽)
- [0x2743] = 0x8CB7, --(買)
+ [0x2743] = 0x8CB7, --(買)
[0x2744] = 0x58F2, --(売)
- [0x2745] = 0x8CE0, --(賠)
+ [0x2745] = 0x8CE0, --(賠)
[0x2746] = 0x966A, --(陪)
- [0x2747] = 0x9019, --(這)
+ [0x2747] = 0x9019, --(這)
[0x2748] = 0x877F, --(蝿)
- [0x2749] = 0x79E4, --(秤)
+ [0x2749] = 0x79E4, --(秤)
[0x274A] = 0x77E7, --(矧)
- [0x274B] = 0x8429, --(萩)
+ [0x274B] = 0x8429, --(萩)
[0x274C] = 0x4F2F, --(伯)
- [0x274D] = 0x5265, --(剥)
+ [0x274D] = 0x5265, --(剥)
[0x274E] = 0x535A, --(博)
- [0x274F] = 0x62CD, --(拍)
+ [0x274F] = 0x62CD, --(拍)
[0x2750] = 0x67CF, --(柏)
- [0x2751] = 0x6CCA, --(泊)
+ [0x2751] = 0x6CCA, --(泊)
[0x2752] = 0x767D, --(白)
- [0x2753] = 0x7B94, --(箔)
+ [0x2753] = 0x7B94, --(箔)
[0x2754] = 0x7C95, --(粕)
- [0x2755] = 0x8236, --(舶)
+ [0x2755] = 0x8236, --(舶)
[0x2756] = 0x8584, --(薄)
- [0x2757] = 0x8FEB, --(迫)
+ [0x2757] = 0x8FEB, --(迫)
[0x2758] = 0x66DD, --(曝)
- [0x2759] = 0x6F20, --(漠)
+ [0x2759] = 0x6F20, --(漠)
[0x275A] = 0x7206, --(爆)
- [0x275B] = 0x7E1B, --(縛)
+ [0x275B] = 0x7E1B, --(縛)
[0x275C] = 0x83AB, --(莫)
- [0x275D] = 0x99C1, --(駁)
+ [0x275D] = 0x99C1, --(駁)
[0x275E] = 0x9EA6, --(麦)
- [0x2801] = 0x51FD, --(函)
+ [0x2801] = 0x51FD, --(函)
[0x2802] = 0x7BB1, --(箱)
- [0x2803] = 0x7872, --(硲)
+ [0x2803] = 0x7872, --(硲)
[0x2804] = 0x7BB8, --(箸)
- [0x2805] = 0x8087, --(肇)
+ [0x2805] = 0x8087, --(肇)
[0x2806] = 0x7B48, --(筈)
- [0x2807] = 0x6AE8, --(櫨)
+ [0x2807] = 0x6AE8, --(櫨)
[0x2808] = 0x5E61, --(幡)
- [0x2809] = 0x808C, --(肌)
+ [0x2809] = 0x808C, --(肌)
[0x280A] = 0x7551, --(畑)
- [0x280B] = 0x7560, --(畠)
+ [0x280B] = 0x7560, --(畠)
[0x280C] = 0x516B, --(八)
- [0x280D] = 0x9262, --(鉢)
+ [0x280D] = 0x9262, --(鉢)
[0x280E] = 0x6E8C, --(溌)
- [0x280F] = 0x767A, --(発)
+ [0x280F] = 0x767A, --(発)
[0x2810] = 0x9197, --(醗)
- [0x2811] = 0x9AEA, --(髪)
+ [0x2811] = 0x9AEA, --(髪)
[0x2812] = 0x4F10, --(伐)
- [0x2813] = 0x7F70, --(罰)
+ [0x2813] = 0x7F70, --(罰)
[0x2814] = 0x629C, --(抜)
- [0x2815] = 0x7B4F, --(筏)
+ [0x2815] = 0x7B4F, --(筏)
[0x2816] = 0x95A5, --(閥)
- [0x2817] = 0x9CE9, --(鳩)
+ [0x2817] = 0x9CE9, --(鳩)
[0x2818] = 0x567A, --(噺)
- [0x2819] = 0x5859, --(塙)
+ [0x2819] = 0x5859, --(塙)
[0x281A] = 0x86E4, --(蛤)
- [0x281B] = 0x96BC, --(隼)
+ [0x281B] = 0x96BC, --(隼)
[0x281C] = 0x4F34, --(伴)
- [0x281D] = 0x5224, --(判)
+ [0x281D] = 0x5224, --(判)
[0x281E] = 0x534A, --(半)
- [0x281F] = 0x53CD, --(反)
+ [0x281F] = 0x53CD, --(反)
[0x2820] = 0x53DB, --(叛)
- [0x2821] = 0x5E06, --(帆)
+ [0x2821] = 0x5E06, --(帆)
[0x2822] = 0x642C, --(搬)
- [0x2823] = 0x6591, --(斑)
+ [0x2823] = 0x6591, --(斑)
[0x2824] = 0x677F, --(板)
- [0x2825] = 0x6C3E, --(氾)
+ [0x2825] = 0x6C3E, --(氾)
[0x2826] = 0x6C4E, --(汎)
- [0x2827] = 0x7248, --(版)
+ [0x2827] = 0x7248, --(版)
[0x2828] = 0x72AF, --(犯)
- [0x2829] = 0x73ED, --(班)
+ [0x2829] = 0x73ED, --(班)
[0x282A] = 0x7554, --(畔)
- [0x282B] = 0x7E41, --(繁)
+ [0x282B] = 0x7E41, --(繁)
[0x282C] = 0x822C, --(般)
- [0x282D] = 0x85E9, --(藩)
+ [0x282D] = 0x85E9, --(藩)
[0x282E] = 0x8CA9, --(販)
- [0x282F] = 0x7BC4, --(範)
+ [0x282F] = 0x7BC4, --(範)
[0x2830] = 0x91C6, --(釆)
- [0x2831] = 0x7169, --(煩)
+ [0x2831] = 0x7169, --(煩)
[0x2832] = 0x9812, --(頒)
- [0x2833] = 0x98EF, --(飯)
+ [0x2833] = 0x98EF, --(飯)
[0x2834] = 0x633D, --(挽)
- [0x2835] = 0x6669, --(晩)
+ [0x2835] = 0x6669, --(晩)
[0x2836] = 0x756A, --(番)
- [0x2837] = 0x76E4, --(盤)
+ [0x2837] = 0x76E4, --(盤)
[0x2838] = 0x78D0, --(磐)
- [0x2839] = 0x8543, --(蕃)
+ [0x2839] = 0x8543, --(蕃)
[0x283A] = 0x86EE, --(蛮)
- [0x283B] = 0x532A, --(匪)
+ [0x283B] = 0x532A, --(匪)
[0x283C] = 0x5351, --(卑)
- [0x283D] = 0x5426, --(否)
+ [0x283D] = 0x5426, --(否)
[0x283E] = 0x5983, --(妃)
- [0x283F] = 0x5E87, --(庇)
+ [0x283F] = 0x5E87, --(庇)
[0x2840] = 0x5F7C, --(彼)
- [0x2841] = 0x60B2, --(悲)
+ [0x2841] = 0x60B2, --(悲)
[0x2842] = 0x6249, --(扉)
- [0x2843] = 0x6279, --(批)
+ [0x2843] = 0x6279, --(批)
[0x2844] = 0x62AB, --(披)
- [0x2845] = 0x6590, --(斐)
+ [0x2845] = 0x6590, --(斐)
[0x2846] = 0x6BD4, --(比)
- [0x2847] = 0x6CCC, --(泌)
+ [0x2847] = 0x6CCC, --(泌)
[0x2848] = 0x75B2, --(疲)
- [0x2849] = 0x76AE, --(皮)
+ [0x2849] = 0x76AE, --(皮)
[0x284A] = 0x7891, --(碑)
- [0x284B] = 0x79D8, --(秘)
+ [0x284B] = 0x79D8, --(秘)
[0x284C] = 0x7DCB, --(緋)
- [0x284D] = 0x7F77, --(罷)
+ [0x284D] = 0x7F77, --(罷)
[0x284E] = 0x80A5, --(肥)
- [0x284F] = 0x88AB, --(被)
+ [0x284F] = 0x88AB, --(被)
[0x2850] = 0x8AB9, --(誹)
- [0x2851] = 0x8CBB, --(費)
+ [0x2851] = 0x8CBB, --(費)
[0x2852] = 0x907F, --(避)
- [0x2853] = 0x975E, --(非)
+ [0x2853] = 0x975E, --(非)
[0x2854] = 0x98DB, --(飛)
- [0x2855] = 0x6A0B, --(樋)
+ [0x2855] = 0x6A0B, --(樋)
[0x2856] = 0x7C38, --(簸)
- [0x2857] = 0x5099, --(備)
+ [0x2857] = 0x5099, --(備)
[0x2858] = 0x5C3E, --(尾)
- [0x2859] = 0x5FAE, --(微)
+ [0x2859] = 0x5FAE, --(微)
[0x285A] = 0x6787, --(枇)
- [0x285B] = 0x6BD8, --(毘)
+ [0x285B] = 0x6BD8, --(毘)
[0x285C] = 0x7435, --(琵)
- [0x285D] = 0x7709, --(眉)
+ [0x285D] = 0x7709, --(眉)
[0x285E] = 0x7F8E, --(美)
- [0x2901] = 0x9F3B, --(鼻)
+ [0x2901] = 0x9F3B, --(鼻)
[0x2902] = 0x67CA, --(柊)
- [0x2903] = 0x7A17, --(稗)
+ [0x2903] = 0x7A17, --(稗)
[0x2904] = 0x5339, --(匹)
- [0x2905] = 0x758B, --(疋)
+ [0x2905] = 0x758B, --(疋)
[0x2906] = 0x9AED, --(髭)
- [0x2907] = 0x5F66, --(彦)
+ [0x2907] = 0x5F66, --(彦)
[0x2908] = 0x819D, --(膝)
- [0x2909] = 0x83F1, --(菱)
+ [0x2909] = 0x83F1, --(菱)
[0x290A] = 0x8098, --(肘)
- [0x290B] = 0x5F3C, --(弼)
+ [0x290B] = 0x5F3C, --(弼)
[0x290C] = 0x5FC5, --(必)
- [0x290D] = 0x7562, --(畢)
+ [0x290D] = 0x7562, --(畢)
[0x290E] = 0x7B46, --(筆)
- [0x290F] = 0x903C, --(逼)
+ [0x290F] = 0x903C, --(逼)
[0x2910] = 0x6867, --(桧)
- [0x2911] = 0x59EB, --(姫)
+ [0x2911] = 0x59EB, --(姫)
[0x2912] = 0x5A9B, --(媛)
- [0x2913] = 0x7D10, --(紐)
+ [0x2913] = 0x7D10, --(紐)
[0x2914] = 0x767E, --(百)
- [0x2915] = 0x8B2C, --(謬)
+ [0x2915] = 0x8B2C, --(謬)
[0x2916] = 0x4FF5, --(俵)
- [0x2917] = 0x5F6A, --(彪)
+ [0x2917] = 0x5F6A, --(彪)
[0x2918] = 0x6A19, --(標)
- [0x2919] = 0x6C37, --(氷)
+ [0x2919] = 0x6C37, --(氷)
[0x291A] = 0x6F02, --(漂)
- [0x291B] = 0x74E2, --(瓢)
+ [0x291B] = 0x74E2, --(瓢)
[0x291C] = 0x7968, --(票)
- [0x291D] = 0x8868, --(表)
+ [0x291D] = 0x8868, --(表)
[0x291E] = 0x8A55, --(評)
- [0x291F] = 0x8C79, --(豹)
+ [0x291F] = 0x8C79, --(豹)
[0x2920] = 0x5EDF, --(廟)
- [0x2921] = 0x63CF, --(描)
+ [0x2921] = 0x63CF, --(描)
[0x2922] = 0x75C5, --(病)
- [0x2923] = 0x79D2, --(秒)
+ [0x2923] = 0x79D2, --(秒)
[0x2924] = 0x82D7, --(苗)
- [0x2925] = 0x9328, --(錨)
+ [0x2925] = 0x9328, --(錨)
[0x2926] = 0x92F2, --(鋲)
- [0x2927] = 0x849C, --(蒜)
+ [0x2927] = 0x849C, --(蒜)
[0x2928] = 0x86ED, --(蛭)
- [0x2929] = 0x9C2D, --(鰭)
+ [0x2929] = 0x9C2D, --(鰭)
[0x292A] = 0x54C1, --(品)
- [0x292B] = 0x5F6C, --(彬)
+ [0x292B] = 0x5F6C, --(彬)
[0x292C] = 0x658C, --(斌)
- [0x292D] = 0x6D5C, --(浜)
+ [0x292D] = 0x6D5C, --(浜)
[0x292E] = 0x7015, --(瀕)
- [0x292F] = 0x8CA7, --(貧)
+ [0x292F] = 0x8CA7, --(貧)
[0x2930] = 0x8CD3, --(賓)
- [0x2931] = 0x983B, --(頻)
+ [0x2931] = 0x983B, --(頻)
[0x2932] = 0x654F, --(敏)
- [0x2933] = 0x74F6, --(瓶)
+ [0x2933] = 0x74F6, --(瓶)
[0x2934] = 0x4E0D, --(不)
- [0x2935] = 0x4ED8, --(付)
+ [0x2935] = 0x4ED8, --(付)
[0x2936] = 0x57E0, --(埠)
- [0x2937] = 0x592B, --(夫)
+ [0x2937] = 0x592B, --(夫)
[0x2938] = 0x5A66, --(婦)
- [0x2939] = 0x5BCC, --(富)
+ [0x2939] = 0x5BCC, --(富)
[0x293A] = 0x51A8, --(冨)
- [0x293B] = 0x5E03, --(布)
+ [0x293B] = 0x5E03, --(布)
[0x293C] = 0x5E9C, --(府)
- [0x293D] = 0x6016, --(怖)
+ [0x293D] = 0x6016, --(怖)
[0x293E] = 0x6276, --(扶)
- [0x293F] = 0x6577, --(敷)
+ [0x293F] = 0x6577, --(敷)
[0x2940] = 0x65A7, --(斧)
- [0x2941] = 0x666E, --(普)
+ [0x2941] = 0x666E, --(普)
[0x2942] = 0x6D6E, --(浮)
- [0x2943] = 0x7236, --(父)
+ [0x2943] = 0x7236, --(父)
[0x2944] = 0x7B26, --(符)
- [0x2945] = 0x8150, --(腐)
+ [0x2945] = 0x8150, --(腐)
[0x2946] = 0x819A, --(膚)
- [0x2947] = 0x8299, --(芙)
+ [0x2947] = 0x8299, --(芙)
[0x2948] = 0x8B5C, --(譜)
- [0x2949] = 0x8CA0, --(負)
+ [0x2949] = 0x8CA0, --(負)
[0x294A] = 0x8CE6, --(賦)
- [0x294B] = 0x8D74, --(赴)
+ [0x294B] = 0x8D74, --(赴)
[0x294C] = 0x961C, --(阜)
- [0x294D] = 0x9644, --(附)
+ [0x294D] = 0x9644, --(附)
[0x294E] = 0x4FAE, --(侮)
- [0x294F] = 0x64AB, --(撫)
+ [0x294F] = 0x64AB, --(撫)
[0x2950] = 0x6B66, --(武)
- [0x2951] = 0x821E, --(舞)
+ [0x2951] = 0x821E, --(舞)
[0x2952] = 0x8461, --(葡)
- [0x2953] = 0x856A, --(蕪)
+ [0x2953] = 0x856A, --(蕪)
[0x2954] = 0x90E8, --(部)
- [0x2955] = 0x5C01, --(封)
+ [0x2955] = 0x5C01, --(封)
[0x2956] = 0x6953, --(楓)
- [0x2957] = 0x98A8, --(風)
+ [0x2957] = 0x98A8, --(風)
[0x2958] = 0x847A, --(葺)
- [0x2959] = 0x8557, --(蕗)
+ [0x2959] = 0x8557, --(蕗)
[0x295A] = 0x4F0F, --(伏)
- [0x295B] = 0x526F, --(副)
+ [0x295B] = 0x526F, --(副)
[0x295C] = 0x5FA9, --(復)
- [0x295D] = 0x5E45, --(幅)
+ [0x295D] = 0x5E45, --(幅)
[0x295E] = 0x670D, --(服)
- [0x2A01] = 0x798F, --(福)
+ [0x2A01] = 0x798F, --(福)
[0x2A02] = 0x8179, --(腹)
- [0x2A03] = 0x8907, --(複)
+ [0x2A03] = 0x8907, --(複)
[0x2A04] = 0x8986, --(覆)
- [0x2A05] = 0x6DF5, --(淵)
+ [0x2A05] = 0x6DF5, --(淵)
[0x2A06] = 0x5F17, --(弗)
- [0x2A07] = 0x6255, --(払)
+ [0x2A07] = 0x6255, --(払)
[0x2A08] = 0x6CB8, --(沸)
- [0x2A09] = 0x4ECF, --(仏)
+ [0x2A09] = 0x4ECF, --(仏)
[0x2A0A] = 0x7269, --(物)
- [0x2A0B] = 0x9B92, --(鮒)
+ [0x2A0B] = 0x9B92, --(鮒)
[0x2A0C] = 0x5206, --(分)
- [0x2A0D] = 0x543B, --(吻)
+ [0x2A0D] = 0x543B, --(吻)
[0x2A0E] = 0x5674, --(噴)
- [0x2A0F] = 0x58B3, --(墳)
+ [0x2A0F] = 0x58B3, --(墳)
[0x2A10] = 0x61A4, --(憤)
- [0x2A11] = 0x626E, --(扮)
+ [0x2A11] = 0x626E, --(扮)
[0x2A12] = 0x711A, --(焚)
- [0x2A13] = 0x596E, --(奮)
+ [0x2A13] = 0x596E, --(奮)
[0x2A14] = 0x7C89, --(粉)
- [0x2A15] = 0x7CDE, --(糞)
+ [0x2A15] = 0x7CDE, --(糞)
[0x2A16] = 0x7D1B, --(紛)
- [0x2A17] = 0x96F0, --(雰)
+ [0x2A17] = 0x96F0, --(雰)
[0x2A18] = 0x6587, --(文)
- [0x2A19] = 0x805E, --(聞)
+ [0x2A19] = 0x805E, --(聞)
[0x2A1A] = 0x4E19, --(丙)
- [0x2A1B] = 0x4F75, --(併)
+ [0x2A1B] = 0x4F75, --(併)
[0x2A1C] = 0x5175, --(兵)
- [0x2A1D] = 0x5840, --(塀)
+ [0x2A1D] = 0x5840, --(塀)
[0x2A1E] = 0x5E63, --(幣)
- [0x2A1F] = 0x5E73, --(平)
+ [0x2A1F] = 0x5E73, --(平)
[0x2A20] = 0x5F0A, --(弊)
- [0x2A21] = 0x67C4, --(柄)
+ [0x2A21] = 0x67C4, --(柄)
[0x2A22] = 0x4E26, --(並)
- [0x2A23] = 0x853D, --(蔽)
+ [0x2A23] = 0x853D, --(蔽)
[0x2A24] = 0x9589, --(閉)
- [0x2A25] = 0x965B, --(陛)
+ [0x2A25] = 0x965B, --(陛)
[0x2A26] = 0x7C73, --(米)
- [0x2A27] = 0x9801, --(頁)
+ [0x2A27] = 0x9801, --(頁)
[0x2A28] = 0x50FB, --(僻)
- [0x2A29] = 0x58C1, --(壁)
+ [0x2A29] = 0x58C1, --(壁)
[0x2A2A] = 0x7656, --(癖)
- [0x2A2B] = 0x78A7, --(碧)
+ [0x2A2B] = 0x78A7, --(碧)
[0x2A2C] = 0x5225, --(別)
- [0x2A2D] = 0x77A5, --(瞥)
+ [0x2A2D] = 0x77A5, --(瞥)
[0x2A2E] = 0x8511, --(蔑)
- [0x2A2F] = 0x7B86, --(箆)
+ [0x2A2F] = 0x7B86, --(箆)
[0x2A30] = 0x504F, --(偏)
- [0x2A31] = 0x5909, --(変)
+ [0x2A31] = 0x5909, --(変)
[0x2A32] = 0x7247, --(片)
- [0x2A33] = 0x7BC7, --(篇)
+ [0x2A33] = 0x7BC7, --(篇)
[0x2A34] = 0x7DE8, --(編)
- [0x2A35] = 0x8FBA, --(辺)
+ [0x2A35] = 0x8FBA, --(辺)
[0x2A36] = 0x8FD4, --(返)
- [0x2A37] = 0x904D, --(遍)
+ [0x2A37] = 0x904D, --(遍)
[0x2A38] = 0x4FBF, --(便)
- [0x2A39] = 0x52C9, --(勉)
+ [0x2A39] = 0x52C9, --(勉)
[0x2A3A] = 0x5A29, --(娩)
- [0x2A3B] = 0x5F01, --(弁)
+ [0x2A3B] = 0x5F01, --(弁)
[0x2A3C] = 0x97AD, --(鞭)
- [0x2A3D] = 0x4FDD, --(保)
+ [0x2A3D] = 0x4FDD, --(保)
[0x2A3E] = 0x8217, --(舗)
- [0x2A3F] = 0x92EA, --(鋪)
+ [0x2A3F] = 0x92EA, --(鋪)
[0x2A40] = 0x5703, --(圃)
- [0x2A41] = 0x6355, --(捕)
+ [0x2A41] = 0x6355, --(捕)
[0x2A42] = 0x6B69, --(歩)
- [0x2A43] = 0x752B, --(甫)
+ [0x2A43] = 0x752B, --(甫)
[0x2A44] = 0x88DC, --(補)
- [0x2A45] = 0x8F14, --(輔)
+ [0x2A45] = 0x8F14, --(輔)
[0x2A46] = 0x7A42, --(穂)
- [0x2A47] = 0x52DF, --(募)
+ [0x2A47] = 0x52DF, --(募)
[0x2A48] = 0x5893, --(墓)
- [0x2A49] = 0x6155, --(慕)
+ [0x2A49] = 0x6155, --(慕)
[0x2A4A] = 0x620A, --(戊)
- [0x2A4B] = 0x66AE, --(暮)
+ [0x2A4B] = 0x66AE, --(暮)
[0x2A4C] = 0x6BCD, --(母)
- [0x2A4D] = 0x7C3F, --(簿)
+ [0x2A4D] = 0x7C3F, --(簿)
[0x2A4E] = 0x83E9, --(菩)
- [0x2A4F] = 0x5023, --(倣)
+ [0x2A4F] = 0x5023, --(倣)
[0x2A50] = 0x4FF8, --(俸)
- [0x2A51] = 0x5305, --(包)
+ [0x2A51] = 0x5305, --(包)
[0x2A52] = 0x5446, --(呆)
- [0x2A53] = 0x5831, --(報)
+ [0x2A53] = 0x5831, --(報)
[0x2A54] = 0x5949, --(奉)
- [0x2A55] = 0x5B9D, --(宝)
+ [0x2A55] = 0x5B9D, --(宝)
[0x2A56] = 0x5CF0, --(峰)
- [0x2A57] = 0x5CEF, --(峯)
+ [0x2A57] = 0x5CEF, --(峯)
[0x2A58] = 0x5D29, --(崩)
- [0x2A59] = 0x5E96, --(庖)
+ [0x2A59] = 0x5E96, --(庖)
[0x2A5A] = 0x62B1, --(抱)
- [0x2A5B] = 0x6367, --(捧)
+ [0x2A5B] = 0x6367, --(捧)
[0x2A5C] = 0x653E, --(放)
- [0x2A5D] = 0x65B9, --(方)
+ [0x2A5D] = 0x65B9, --(方)
[0x2A5E] = 0x670B, --(朋)
- [0x2B01] = 0x6CD5, --(法)
+ [0x2B01] = 0x6CD5, --(法)
[0x2B02] = 0x6CE1, --(泡)
- [0x2B03] = 0x70F9, --(烹)
+ [0x2B03] = 0x70F9, --(烹)
[0x2B04] = 0x7832, --(砲)
- [0x2B05] = 0x7E2B, --(縫)
+ [0x2B05] = 0x7E2B, --(縫)
[0x2B06] = 0x80DE, --(胞)
- [0x2B07] = 0x82B3, --(芳)
+ [0x2B07] = 0x82B3, --(芳)
[0x2B08] = 0x840C, --(萌)
- [0x2B09] = 0x84EC, --(蓬)
+ [0x2B09] = 0x84EC, --(蓬)
[0x2B0A] = 0x8702, --(蜂)
- [0x2B0B] = 0x8912, --(褒)
+ [0x2B0B] = 0x8912, --(褒)
[0x2B0C] = 0x8A2A, --(訪)
- [0x2B0D] = 0x8C4A, --(豊)
+ [0x2B0D] = 0x8C4A, --(豊)
[0x2B0E] = 0x90A6, --(邦)
- [0x2B0F] = 0x92D2, --(鋒)
+ [0x2B0F] = 0x92D2, --(鋒)
[0x2B10] = 0x98FD, --(飽)
- [0x2B11] = 0x9CF3, --(鳳)
+ [0x2B11] = 0x9CF3, --(鳳)
[0x2B12] = 0x9D6C, --(鵬)
- [0x2B13] = 0x4E4F, --(乏)
+ [0x2B13] = 0x4E4F, --(乏)
[0x2B14] = 0x4EA1, --(亡)
- [0x2B15] = 0x508D, --(傍)
+ [0x2B15] = 0x508D, --(傍)
[0x2B16] = 0x5256, --(剖)
- [0x2B17] = 0x574A, --(坊)
+ [0x2B17] = 0x574A, --(坊)
[0x2B18] = 0x59A8, --(妨)
- [0x2B19] = 0x5E3D, --(帽)
+ [0x2B19] = 0x5E3D, --(帽)
[0x2B1A] = 0x5FD8, --(忘)
- [0x2B1B] = 0x5FD9, --(忙)
+ [0x2B1B] = 0x5FD9, --(忙)
[0x2B1C] = 0x623F, --(房)
- [0x2B1D] = 0x66B4, --(暴)
+ [0x2B1D] = 0x66B4, --(暴)
[0x2B1E] = 0x671B, --(望)
- [0x2B1F] = 0x67D0, --(某)
+ [0x2B1F] = 0x67D0, --(某)
[0x2B20] = 0x68D2, --(棒)
- [0x2B21] = 0x5192, --(冒)
+ [0x2B21] = 0x5192, --(冒)
[0x2B22] = 0x7D21, --(紡)
- [0x2B23] = 0x80AA, --(肪)
+ [0x2B23] = 0x80AA, --(肪)
[0x2B24] = 0x81A8, --(膨)
- [0x2B25] = 0x8B00, --(謀)
+ [0x2B25] = 0x8B00, --(謀)
[0x2B26] = 0x8C8C, --(貌)
- [0x2B27] = 0x8CBF, --(貿)
+ [0x2B27] = 0x8CBF, --(貿)
[0x2B28] = 0x927E, --(鉾)
- [0x2B29] = 0x9632, --(防)
+ [0x2B29] = 0x9632, --(防)
[0x2B2A] = 0x5420, --(吠)
- [0x2B2B] = 0x982C, --(頬)
+ [0x2B2B] = 0x982C, --(頬)
[0x2B2C] = 0x5317, --(北)
- [0x2B2D] = 0x50D5, --(僕)
+ [0x2B2D] = 0x50D5, --(僕)
[0x2B2E] = 0x535C, --(卜)
- [0x2B2F] = 0x58A8, --(墨)
+ [0x2B2F] = 0x58A8, --(墨)
[0x2B30] = 0x64B2, --(撲)
- [0x2B31] = 0x6734, --(朴)
+ [0x2B31] = 0x6734, --(朴)
[0x2B32] = 0x7267, --(牧)
- [0x2B33] = 0x7766, --(睦)
+ [0x2B33] = 0x7766, --(睦)
[0x2B34] = 0x7A46, --(穆)
- [0x2B35] = 0x91E6, --(釦)
+ [0x2B35] = 0x91E6, --(釦)
[0x2B36] = 0x52C3, --(勃)
- [0x2B37] = 0x6CA1, --(没)
+ [0x2B37] = 0x6CA1, --(没)
[0x2B38] = 0x6B86, --(殆)
- [0x2B39] = 0x5800, --(堀)
+ [0x2B39] = 0x5800, --(堀)
[0x2B3A] = 0x5E4C, --(幌)
- [0x2B3B] = 0x5954, --(奔)
+ [0x2B3B] = 0x5954, --(奔)
[0x2B3C] = 0x672C, --(本)
- [0x2B3D] = 0x7FFB, --(翻)
+ [0x2B3D] = 0x7FFB, --(翻)
[0x2B3E] = 0x51E1, --(凡)
- [0x2B3F] = 0x76C6, --(盆)
+ [0x2B3F] = 0x76C6, --(盆)
[0x2B40] = 0x6469, --(摩)
- [0x2B41] = 0x78E8, --(磨)
+ [0x2B41] = 0x78E8, --(磨)
[0x2B42] = 0x9B54, --(魔)
- [0x2B43] = 0x9EBB, --(麻)
+ [0x2B43] = 0x9EBB, --(麻)
[0x2B44] = 0x57CB, --(埋)
- [0x2B45] = 0x59B9, --(妹)
+ [0x2B45] = 0x59B9, --(妹)
[0x2B46] = 0x6627, --(昧)
- [0x2B47] = 0x679A, --(枚)
+ [0x2B47] = 0x679A, --(枚)
[0x2B48] = 0x6BCE, --(毎)
- [0x2B49] = 0x54E9, --(哩)
+ [0x2B49] = 0x54E9, --(哩)
[0x2B4A] = 0x69D9, --(槙)
- [0x2B4B] = 0x5E55, --(幕)
+ [0x2B4B] = 0x5E55, --(幕)
[0x2B4C] = 0x819C, --(膜)
- [0x2B4D] = 0x6795, --(枕)
+ [0x2B4D] = 0x6795, --(枕)
[0x2B4E] = 0x9BAA, --(鮪)
- [0x2B4F] = 0x67FE, --(柾)
+ [0x2B4F] = 0x67FE, --(柾)
[0x2B50] = 0x9C52, --(鱒)
- [0x2B51] = 0x685D, --(桝)
+ [0x2B51] = 0x685D, --(桝)
[0x2B52] = 0x4EA6, --(亦)
- [0x2B53] = 0x4FE3, --(俣)
+ [0x2B53] = 0x4FE3, --(俣)
[0x2B54] = 0x53C8, --(又)
- [0x2B55] = 0x62B9, --(抹)
+ [0x2B55] = 0x62B9, --(抹)
[0x2B56] = 0x672B, --(末)
- [0x2B57] = 0x6CAB, --(沫)
+ [0x2B57] = 0x6CAB, --(沫)
[0x2B58] = 0x8FC4, --(迄)
- [0x2B59] = 0x4FAD, --(侭)
+ [0x2B59] = 0x4FAD, --(侭)
[0x2B5A] = 0x7E6D, --(繭)
- [0x2B5B] = 0x9EBF, --(麿)
+ [0x2B5B] = 0x9EBF, --(麿)
[0x2B5C] = 0x4E07, --(万)
- [0x2B5D] = 0x6162, --(慢)
+ [0x2B5D] = 0x6162, --(慢)
[0x2B5E] = 0x6E80, --(満)
- [0x2C01] = 0x6F2B, --(漫)
+ [0x2C01] = 0x6F2B, --(漫)
[0x2C02] = 0x8513, --(蔓)
- [0x2C03] = 0x5473, --(味)
+ [0x2C03] = 0x5473, --(味)
[0x2C04] = 0x672A, --(未)
- [0x2C05] = 0x9B45, --(魅)
+ [0x2C05] = 0x9B45, --(魅)
[0x2C06] = 0x5DF3, --(巳)
- [0x2C07] = 0x7B95, --(箕)
+ [0x2C07] = 0x7B95, --(箕)
[0x2C08] = 0x5CAC, --(岬)
- [0x2C09] = 0x5BC6, --(密)
+ [0x2C09] = 0x5BC6, --(密)
[0x2C0A] = 0x871C, --(蜜)
- [0x2C0B] = 0x6E4A, --(湊)
+ [0x2C0B] = 0x6E4A, --(湊)
[0x2C0C] = 0x84D1, --(蓑)
- [0x2C0D] = 0x7A14, --(稔)
+ [0x2C0D] = 0x7A14, --(稔)
[0x2C0E] = 0x8108, --(脈)
- [0x2C0F] = 0x5999, --(妙)
+ [0x2C0F] = 0x5999, --(妙)
[0x2C10] = 0x7C8D, --(粍)
- [0x2C11] = 0x6C11, --(民)
+ [0x2C11] = 0x6C11, --(民)
[0x2C12] = 0x7720, --(眠)
- [0x2C13] = 0x52D9, --(務)
+ [0x2C13] = 0x52D9, --(務)
[0x2C14] = 0x5922, --(夢)
- [0x2C15] = 0x7121, --(無)
+ [0x2C15] = 0x7121, --(無)
[0x2C16] = 0x725F, --(牟)
- [0x2C17] = 0x77DB, --(矛)
+ [0x2C17] = 0x77DB, --(矛)
[0x2C18] = 0x9727, --(霧)
- [0x2C19] = 0x9D61, --(鵡)
+ [0x2C19] = 0x9D61, --(鵡)
[0x2C1A] = 0x690B, --(椋)
- [0x2C1B] = 0x5A7F, --(婿)
+ [0x2C1B] = 0x5A7F, --(婿)
[0x2C1C] = 0x5A18, --(娘)
- [0x2C1D] = 0x51A5, --(冥)
+ [0x2C1D] = 0x51A5, --(冥)
[0x2C1E] = 0x540D, --(名)
- [0x2C1F] = 0x547D, --(命)
+ [0x2C1F] = 0x547D, --(命)
[0x2C20] = 0x660E, --(明)
- [0x2C21] = 0x76DF, --(盟)
+ [0x2C21] = 0x76DF, --(盟)
[0x2C22] = 0x8FF7, --(迷)
- [0x2C23] = 0x9298, --(銘)
+ [0x2C23] = 0x9298, --(銘)
[0x2C24] = 0x9CF4, --(鳴)
- [0x2C25] = 0x59EA, --(姪)
+ [0x2C25] = 0x59EA, --(姪)
[0x2C26] = 0x725D, --(牝)
- [0x2C27] = 0x6EC5, --(滅)
+ [0x2C27] = 0x6EC5, --(滅)
[0x2C28] = 0x514D, --(免)
- [0x2C29] = 0x68C9, --(棉)
+ [0x2C29] = 0x68C9, --(棉)
[0x2C2A] = 0x7DBF, --(綿)
- [0x2C2B] = 0x7DEC, --(緬)
+ [0x2C2B] = 0x7DEC, --(緬)
[0x2C2C] = 0x9762, --(面)
- [0x2C2D] = 0x9EBA, --(麺)
+ [0x2C2D] = 0x9EBA, --(麺)
[0x2C2E] = 0x6478, --(摸)
- [0x2C2F] = 0x6A21, --(模)
+ [0x2C2F] = 0x6A21, --(模)
[0x2C30] = 0x8302, --(茂)
- [0x2C31] = 0x5984, --(妄)
+ [0x2C31] = 0x5984, --(妄)
[0x2C32] = 0x5B5F, --(孟)
- [0x2C33] = 0x6BDB, --(毛)
+ [0x2C33] = 0x6BDB, --(毛)
[0x2C34] = 0x731B, --(猛)
- [0x2C35] = 0x76F2, --(盲)
+ [0x2C35] = 0x76F2, --(盲)
[0x2C36] = 0x7DB2, --(網)
- [0x2C37] = 0x8017, --(耗)
+ [0x2C37] = 0x8017, --(耗)
[0x2C38] = 0x8499, --(蒙)
- [0x2C39] = 0x5132, --(儲)
+ [0x2C39] = 0x5132, --(儲)
[0x2C3A] = 0x6728, --(木)
- [0x2C3B] = 0x9ED9, --(黙)
+ [0x2C3B] = 0x9ED9, --(黙)
[0x2C3C] = 0x76EE, --(目)
- [0x2C3D] = 0x6762, --(杢)
+ [0x2C3D] = 0x6762, --(杢)
[0x2C3E] = 0x52FF, --(勿)
- [0x2C3F] = 0x9905, --(餅)
+ [0x2C3F] = 0x9905, --(餅)
[0x2C40] = 0x5C24, --(尤)
- [0x2C41] = 0x623B, --(戻)
+ [0x2C41] = 0x623B, --(戻)
[0x2C42] = 0x7C7E, --(籾)
- [0x2C43] = 0x8CB0, --(貰)
+ [0x2C43] = 0x8CB0, --(貰)
[0x2C44] = 0x554F, --(問)
- [0x2C45] = 0x60B6, --(悶)
+ [0x2C45] = 0x60B6, --(悶)
[0x2C46] = 0x7D0B, --(紋)
- [0x2C47] = 0x9580, --(門)
+ [0x2C47] = 0x9580, --(門)
[0x2C48] = 0x5301, --(匁)
- [0x2C49] = 0x4E5F, --(也)
+ [0x2C49] = 0x4E5F, --(也)
[0x2C4A] = 0x51B6, --(冶)
- [0x2C4B] = 0x591C, --(夜)
+ [0x2C4B] = 0x591C, --(夜)
[0x2C4C] = 0x723A, --(爺)
- [0x2C4D] = 0x8036, --(耶)
+ [0x2C4D] = 0x8036, --(耶)
[0x2C4E] = 0x91CE, --(野)
- [0x2C4F] = 0x5F25, --(弥)
+ [0x2C4F] = 0x5F25, --(弥)
[0x2C50] = 0x77E2, --(矢)
- [0x2C51] = 0x5384, --(厄)
+ [0x2C51] = 0x5384, --(厄)
[0x2C52] = 0x5F79, --(役)
- [0x2C53] = 0x7D04, --(約)
+ [0x2C53] = 0x7D04, --(約)
[0x2C54] = 0x85AC, --(薬)
- [0x2C55] = 0x8A33, --(訳)
+ [0x2C55] = 0x8A33, --(訳)
[0x2C56] = 0x8E8D, --(躍)
- [0x2C57] = 0x9756, --(靖)
+ [0x2C57] = 0x9756, --(靖)
[0x2C58] = 0x67F3, --(柳)
- [0x2C59] = 0x85AE, --(薮)
+ [0x2C59] = 0x85AE, --(薮)
[0x2C5A] = 0x9453, --(鑓)
- [0x2C5B] = 0x6109, --(愉)
+ [0x2C5B] = 0x6109, --(愉)
[0x2C5C] = 0x6108, --(愈)
- [0x2C5D] = 0x6CB9, --(油)
+ [0x2C5D] = 0x6CB9, --(油)
[0x2C5E] = 0x7652, --(癒)
- [0x2D01] = 0x8AED, --(諭)
+ [0x2D01] = 0x8AED, --(諭)
[0x2D02] = 0x8F38, --(輸)
- [0x2D03] = 0x552F, --(唯)
+ [0x2D03] = 0x552F, --(唯)
[0x2D04] = 0x4F51, --(佑)
- [0x2D05] = 0x512A, --(優)
+ [0x2D05] = 0x512A, --(優)
[0x2D06] = 0x52C7, --(勇)
- [0x2D07] = 0x53CB, --(友)
+ [0x2D07] = 0x53CB, --(友)
[0x2D08] = 0x5BA5, --(宥)
- [0x2D09] = 0x5E7D, --(幽)
+ [0x2D09] = 0x5E7D, --(幽)
[0x2D0A] = 0x60A0, --(悠)
- [0x2D0B] = 0x6182, --(憂)
+ [0x2D0B] = 0x6182, --(憂)
[0x2D0C] = 0x63D6, --(揖)
- [0x2D0D] = 0x6709, --(有)
+ [0x2D0D] = 0x6709, --(有)
[0x2D0E] = 0x67DA, --(柚)
- [0x2D0F] = 0x6E67, --(湧)
+ [0x2D0F] = 0x6E67, --(湧)
[0x2D10] = 0x6D8C, --(涌)
- [0x2D11] = 0x7336, --(猶)
+ [0x2D11] = 0x7336, --(猶)
[0x2D12] = 0x7337, --(猷)
- [0x2D13] = 0x7531, --(由)
+ [0x2D13] = 0x7531, --(由)
[0x2D14] = 0x7950, --(祐)
- [0x2D15] = 0x88D5, --(裕)
+ [0x2D15] = 0x88D5, --(裕)
[0x2D16] = 0x8A98, --(誘)
- [0x2D17] = 0x904A, --(遊)
+ [0x2D17] = 0x904A, --(遊)
[0x2D18] = 0x9091, --(邑)
- [0x2D19] = 0x90F5, --(郵)
+ [0x2D19] = 0x90F5, --(郵)
[0x2D1A] = 0x96C4, --(雄)
- [0x2D1B] = 0x878D, --(融)
+ [0x2D1B] = 0x878D, --(融)
[0x2D1C] = 0x5915, --(夕)
- [0x2D1D] = 0x4E88, --(予)
+ [0x2D1D] = 0x4E88, --(予)
[0x2D1E] = 0x4F59, --(余)
- [0x2D1F] = 0x4E0E, --(与)
+ [0x2D1F] = 0x4E0E, --(与)
[0x2D20] = 0x8A89, --(誉)
- [0x2D21] = 0x8F3F, --(輿)
+ [0x2D21] = 0x8F3F, --(輿)
[0x2D22] = 0x9810, --(預)
- [0x2D23] = 0x50AD, --(傭)
+ [0x2D23] = 0x50AD, --(傭)
[0x2D24] = 0x5E7C, --(幼)
- [0x2D25] = 0x5996, --(妖)
+ [0x2D25] = 0x5996, --(妖)
[0x2D26] = 0x5BB9, --(容)
- [0x2D27] = 0x5EB8, --(庸)
+ [0x2D27] = 0x5EB8, --(庸)
[0x2D28] = 0x63DA, --(揚)
- [0x2D29] = 0x63FA, --(揺)
+ [0x2D29] = 0x63FA, --(揺)
[0x2D2A] = 0x64C1, --(擁)
- [0x2D2B] = 0x66DC, --(曜)
+ [0x2D2B] = 0x66DC, --(曜)
[0x2D2C] = 0x694A, --(楊)
- [0x2D2D] = 0x69D8, --(様)
+ [0x2D2D] = 0x69D8, --(様)
[0x2D2E] = 0x6D0B, --(洋)
- [0x2D2F] = 0x6EB6, --(溶)
+ [0x2D2F] = 0x6EB6, --(溶)
[0x2D30] = 0x7194, --(熔)
- [0x2D31] = 0x7528, --(用)
+ [0x2D31] = 0x7528, --(用)
[0x2D32] = 0x7AAF, --(窯)
- [0x2D33] = 0x7F8A, --(羊)
+ [0x2D33] = 0x7F8A, --(羊)
[0x2D34] = 0x8000, --(耀)
- [0x2D35] = 0x8449, --(葉)
+ [0x2D35] = 0x8449, --(葉)
[0x2D36] = 0x84C9, --(蓉)
- [0x2D37] = 0x8981, --(要)
+ [0x2D37] = 0x8981, --(要)
[0x2D38] = 0x8B21, --(謡)
- [0x2D39] = 0x8E0A, --(踊)
+ [0x2D39] = 0x8E0A, --(踊)
[0x2D3A] = 0x9065, --(遥)
- [0x2D3B] = 0x967D, --(陽)
+ [0x2D3B] = 0x967D, --(陽)
[0x2D3C] = 0x990A, --(養)
- [0x2D3D] = 0x617E, --(慾)
+ [0x2D3D] = 0x617E, --(慾)
[0x2D3E] = 0x6291, --(抑)
- [0x2D3F] = 0x6B32, --(欲)
+ [0x2D3F] = 0x6B32, --(欲)
[0x2D40] = 0x6C83, --(沃)
- [0x2D41] = 0x6D74, --(浴)
+ [0x2D41] = 0x6D74, --(浴)
[0x2D42] = 0x7FCC, --(翌)
- [0x2D43] = 0x7FFC, --(翼)
+ [0x2D43] = 0x7FFC, --(翼)
[0x2D44] = 0x6DC0, --(淀)
- [0x2D45] = 0x7F85, --(羅)
+ [0x2D45] = 0x7F85, --(羅)
[0x2D46] = 0x87BA, --(螺)
- [0x2D47] = 0x88F8, --(裸)
+ [0x2D47] = 0x88F8, --(裸)
[0x2D48] = 0x6765, --(来)
- [0x2D49] = 0x83B1, --(莱)
+ [0x2D49] = 0x83B1, --(莱)
[0x2D4A] = 0x983C, --(頼)
- [0x2D4B] = 0x96F7, --(雷)
+ [0x2D4B] = 0x96F7, --(雷)
[0x2D4C] = 0x6D1B, --(洛)
- [0x2D4D] = 0x7D61, --(絡)
+ [0x2D4D] = 0x7D61, --(絡)
[0x2D4E] = 0x843D, --(落)
- [0x2D4F] = 0x916A, --(酪)
+ [0x2D4F] = 0x916A, --(酪)
[0x2D50] = 0x4E71, --(乱)
- [0x2D51] = 0x5375, --(卵)
+ [0x2D51] = 0x5375, --(卵)
[0x2D52] = 0x5D50, --(嵐)
- [0x2D53] = 0x6B04, --(欄)
+ [0x2D53] = 0x6B04, --(欄)
[0x2D54] = 0x6FEB, --(濫)
- [0x2D55] = 0x85CD, --(藍)
+ [0x2D55] = 0x85CD, --(藍)
[0x2D56] = 0x862D, --(蘭)
- [0x2D57] = 0x89A7, --(覧)
+ [0x2D57] = 0x89A7, --(覧)
[0x2D58] = 0x5229, --(利)
- [0x2D59] = 0x540F, --(吏)
+ [0x2D59] = 0x540F, --(吏)
[0x2D5A] = 0x5C65, --(履)
- [0x2D5B] = 0x674E, --(李)
+ [0x2D5B] = 0x674E, --(李)
[0x2D5C] = 0x68A8, --(梨)
- [0x2D5D] = 0x7406, --(理)
+ [0x2D5D] = 0x7406, --(理)
[0x2D5E] = 0x7483, --(璃)
- [0x2E01] = 0x75E2, --(痢)
+ [0x2E01] = 0x75E2, --(痢)
[0x2E02] = 0x88CF, --(裏)
- [0x2E03] = 0x88E1, --(裡)
+ [0x2E03] = 0x88E1, --(裡)
[0x2E04] = 0x91CC, --(里)
- [0x2E05] = 0x96E2, --(離)
+ [0x2E05] = 0x96E2, --(離)
[0x2E06] = 0x9678, --(陸)
- [0x2E07] = 0x5F8B, --(律)
+ [0x2E07] = 0x5F8B, --(律)
[0x2E08] = 0x7387, --(率)
- [0x2E09] = 0x7ACB, --(立)
+ [0x2E09] = 0x7ACB, --(立)
[0x2E0A] = 0x844E, --(葎)
- [0x2E0B] = 0x63A0, --(掠)
+ [0x2E0B] = 0x63A0, --(掠)
[0x2E0C] = 0x7565, --(略)
- [0x2E0D] = 0x5289, --(劉)
+ [0x2E0D] = 0x5289, --(劉)
[0x2E0E] = 0x6D41, --(流)
- [0x2E0F] = 0x6E9C, --(溜)
+ [0x2E0F] = 0x6E9C, --(溜)
[0x2E10] = 0x7409, --(琉)
- [0x2E11] = 0x7559, --(留)
+ [0x2E11] = 0x7559, --(留)
[0x2E12] = 0x786B, --(硫)
- [0x2E13] = 0x7C92, --(粒)
+ [0x2E13] = 0x7C92, --(粒)
[0x2E14] = 0x9686, --(隆)
- [0x2E15] = 0x7ADC, --(竜)
+ [0x2E15] = 0x7ADC, --(竜)
[0x2E16] = 0x9F8D, --(龍)
- [0x2E17] = 0x4FB6, --(侶)
+ [0x2E17] = 0x4FB6, --(侶)
[0x2E18] = 0x616E, --(慮)
- [0x2E19] = 0x65C5, --(旅)
+ [0x2E19] = 0x65C5, --(旅)
[0x2E1A] = 0x865C, --(虜)
- [0x2E1B] = 0x4E86, --(了)
+ [0x2E1B] = 0x4E86, --(了)
[0x2E1C] = 0x4EAE, --(亮)
- [0x2E1D] = 0x50DA, --(僚)
+ [0x2E1D] = 0x50DA, --(僚)
[0x2E1E] = 0x4E21, --(両)
- [0x2E1F] = 0x51CC, --(凌)
+ [0x2E1F] = 0x51CC, --(凌)
[0x2E20] = 0x5BEE, --(寮)
- [0x2E21] = 0x6599, --(料)
+ [0x2E21] = 0x6599, --(料)
[0x2E22] = 0x6881, --(梁)
- [0x2E23] = 0x6DBC, --(涼)
+ [0x2E23] = 0x6DBC, --(涼)
[0x2E24] = 0x731F, --(猟)
- [0x2E25] = 0x7642, --(療)
+ [0x2E25] = 0x7642, --(療)
[0x2E26] = 0x77AD, --(瞭)
- [0x2E27] = 0x7A1C, --(稜)
+ [0x2E27] = 0x7A1C, --(稜)
[0x2E28] = 0x7CE7, --(糧)
- [0x2E29] = 0x826F, --(良)
+ [0x2E29] = 0x826F, --(良)
[0x2E2A] = 0x8AD2, --(諒)
- [0x2E2B] = 0x907C, --(遼)
+ [0x2E2B] = 0x907C, --(遼)
[0x2E2C] = 0x91CF, --(量)
- [0x2E2D] = 0x9675, --(陵)
+ [0x2E2D] = 0x9675, --(陵)
[0x2E2E] = 0x9818, --(領)
- [0x2E2F] = 0x529B, --(力)
+ [0x2E2F] = 0x529B, --(力)
[0x2E30] = 0x7DD1, --(緑)
- [0x2E31] = 0x502B, --(倫)
+ [0x2E31] = 0x502B, --(倫)
[0x2E32] = 0x5398, --(厘)
- [0x2E33] = 0x6797, --(林)
+ [0x2E33] = 0x6797, --(林)
[0x2E34] = 0x6DCB, --(淋)
- [0x2E35] = 0x71D0, --(燐)
+ [0x2E35] = 0x71D0, --(燐)
[0x2E36] = 0x7433, --(琳)
- [0x2E37] = 0x81E8, --(臨)
+ [0x2E37] = 0x81E8, --(臨)
[0x2E38] = 0x8F2A, --(輪)
- [0x2E39] = 0x96A3, --(隣)
+ [0x2E39] = 0x96A3, --(隣)
[0x2E3A] = 0x9C57, --(鱗)
- [0x2E3B] = 0x9E9F, --(麟)
+ [0x2E3B] = 0x9E9F, --(麟)
[0x2E3C] = 0x7460, --(瑠)
- [0x2E3D] = 0x5841, --(塁)
+ [0x2E3D] = 0x5841, --(塁)
[0x2E3E] = 0x6D99, --(涙)
- [0x2E3F] = 0x7D2F, --(累)
+ [0x2E3F] = 0x7D2F, --(累)
[0x2E40] = 0x985E, --(類)
- [0x2E41] = 0x4EE4, --(令)
+ [0x2E41] = 0x4EE4, --(令)
[0x2E42] = 0x4F36, --(伶)
- [0x2E43] = 0x4F8B, --(例)
+ [0x2E43] = 0x4F8B, --(例)
[0x2E44] = 0x51B7, --(冷)
- [0x2E45] = 0x52B1, --(励)
+ [0x2E45] = 0x52B1, --(励)
[0x2E46] = 0x5DBA, --(嶺)
- [0x2E47] = 0x601C, --(怜)
+ [0x2E47] = 0x601C, --(怜)
[0x2E48] = 0x73B2, --(玲)
- [0x2E49] = 0x793C, --(礼)
+ [0x2E49] = 0x793C, --(礼)
[0x2E4A] = 0x82D3, --(苓)
- [0x2E4B] = 0x9234, --(鈴)
+ [0x2E4B] = 0x9234, --(鈴)
[0x2E4C] = 0x96B7, --(隷)
- [0x2E4D] = 0x96F6, --(零)
+ [0x2E4D] = 0x96F6, --(零)
[0x2E4E] = 0x970A, --(霊)
- [0x2E4F] = 0x9E97, --(麗)
+ [0x2E4F] = 0x9E97, --(麗)
[0x2E50] = 0x9F62, --(齢)
- [0x2E51] = 0x66A6, --(暦)
+ [0x2E51] = 0x66A6, --(暦)
[0x2E52] = 0x6B74, --(歴)
- [0x2E53] = 0x5217, --(列)
+ [0x2E53] = 0x5217, --(列)
[0x2E54] = 0x52A3, --(劣)
- [0x2E55] = 0x70C8, --(烈)
+ [0x2E55] = 0x70C8, --(烈)
[0x2E56] = 0x88C2, --(裂)
- [0x2E57] = 0x5EC9, --(廉)
+ [0x2E57] = 0x5EC9, --(廉)
[0x2E58] = 0x604B, --(恋)
- [0x2E59] = 0x6190, --(憐)
+ [0x2E59] = 0x6190, --(憐)
[0x2E5A] = 0x6F23, --(漣)
- [0x2E5B] = 0x7149, --(煉)
+ [0x2E5B] = 0x7149, --(煉)
[0x2E5C] = 0x7C3E, --(簾)
- [0x2E5D] = 0x7DF4, --(練)
+ [0x2E5D] = 0x7DF4, --(練)
[0x2E5E] = 0x806F, --(聯)
- [0x2F01] = 0x84EE, --(蓮)
+ [0x2F01] = 0x84EE, --(蓮)
[0x2F02] = 0x9023, --(連)
- [0x2F03] = 0x932C, --(錬)
+ [0x2F03] = 0x932C, --(錬)
[0x2F04] = 0x5442, --(呂)
- [0x2F05] = 0x9B6F, --(魯)
+ [0x2F05] = 0x9B6F, --(魯)
[0x2F06] = 0x6AD3, --(櫓)
- [0x2F07] = 0x7089, --(炉)
+ [0x2F07] = 0x7089, --(炉)
[0x2F08] = 0x8CC2, --(賂)
- [0x2F09] = 0x8DEF, --(路)
+ [0x2F09] = 0x8DEF, --(路)
[0x2F0A] = 0x9732, --(露)
- [0x2F0B] = 0x52B4, --(労)
+ [0x2F0B] = 0x52B4, --(労)
[0x2F0C] = 0x5A41, --(婁)
- [0x2F0D] = 0x5ECA, --(廊)
+ [0x2F0D] = 0x5ECA, --(廊)
[0x2F0E] = 0x5F04, --(弄)
- [0x2F0F] = 0x6717, --(朗)
+ [0x2F0F] = 0x6717, --(朗)
[0x2F10] = 0x697C, --(楼)
- [0x2F11] = 0x6994, --(榔)
+ [0x2F11] = 0x6994, --(榔)
[0x2F12] = 0x6D6A, --(浪)
- [0x2F13] = 0x6F0F, --(漏)
+ [0x2F13] = 0x6F0F, --(漏)
[0x2F14] = 0x7262, --(牢)
- [0x2F15] = 0x72FC, --(狼)
+ [0x2F15] = 0x72FC, --(狼)
[0x2F16] = 0x7BED, --(篭)
- [0x2F17] = 0x8001, --(老)
+ [0x2F17] = 0x8001, --(老)
[0x2F18] = 0x807E, --(聾)
- [0x2F19] = 0x874B, --(蝋)
+ [0x2F19] = 0x874B, --(蝋)
[0x2F1A] = 0x90CE, --(郎)
- [0x2F1B] = 0x516D, --(六)
+ [0x2F1B] = 0x516D, --(六)
[0x2F1C] = 0x9E93, --(麓)
- [0x2F1D] = 0x7984, --(禄)
+ [0x2F1D] = 0x7984, --(禄)
[0x2F1E] = 0x808B, --(肋)
- [0x2F1F] = 0x9332, --(録)
+ [0x2F1F] = 0x9332, --(録)
[0x2F20] = 0x8AD6, --(論)
- [0x2F21] = 0x502D, --(倭)
+ [0x2F21] = 0x502D, --(倭)
[0x2F22] = 0x548C, --(和)
- [0x2F23] = 0x8A71, --(話)
+ [0x2F23] = 0x8A71, --(話)
[0x2F24] = 0x6B6A, --(歪)
- [0x2F25] = 0x8CC4, --(賄)
+ [0x2F25] = 0x8CC4, --(賄)
[0x2F26] = 0x8107, --(脇)
- [0x2F27] = 0x60D1, --(惑)
+ [0x2F27] = 0x60D1, --(惑)
[0x2F28] = 0x67A0, --(枠)
- [0x2F29] = 0x9DF2, --(鷲)
+ [0x2F29] = 0x9DF2, --(鷲)
[0x2F2A] = 0x4E99, --(亙)
- [0x2F2B] = 0x4E98, --(亘)
+ [0x2F2B] = 0x4E98, --(亘)
[0x2F2C] = 0x9C10, --(鰐)
- [0x2F2D] = 0x8A6B, --(詫)
+ [0x2F2D] = 0x8A6B, --(詫)
[0x2F2E] = 0x85C1, --(藁)
- [0x2F2F] = 0x8568, --(蕨)
+ [0x2F2F] = 0x8568, --(蕨)
[0x2F30] = 0x6900, --(椀)
- [0x2F31] = 0x6E7E, --(湾)
+ [0x2F31] = 0x6E7E, --(湾)
[0x2F32] = 0x7897, --(碗)
- [0x2F33] = 0x8155, --(腕)
+ [0x2F33] = 0x8155, --(腕)
[0x3001] = 0x5F0C, --(弌)
- [0x3002] = 0x4E10, --(丐)
+ [0x3002] = 0x4E10, --(丐)
[0x3003] = 0x4E15, --(丕)
- [0x3004] = 0x4E2A, --(个)
+ [0x3004] = 0x4E2A, --(个)
[0x3005] = 0x4E31, --(丱)
- [0x3006] = 0x4E36, --(丶)
+ [0x3006] = 0x4E36, --(丶)
[0x3007] = 0x4E3C, --(丼)
- [0x3008] = 0x4E3F, --(丿)
+ [0x3008] = 0x4E3F, --(丿)
[0x3009] = 0x4E42, --(乂)
- [0x300A] = 0x4E56, --(乖)
+ [0x300A] = 0x4E56, --(乖)
[0x300B] = 0x4E58, --(乘)
- [0x300C] = 0x4E82, --(亂)
+ [0x300C] = 0x4E82, --(亂)
[0x300D] = 0x4E85, --(亅)
- [0x300E] = 0x8C6B, --(豫)
+ [0x300E] = 0x8C6B, --(豫)
[0x300F] = 0x4E8A, --(亊)
- [0x3010] = 0x8212, --(舒)
+ [0x3010] = 0x8212, --(舒)
[0x3011] = 0x5F0D, --(弍)
- [0x3012] = 0x4E8E, --(于)
+ [0x3012] = 0x4E8E, --(于)
[0x3013] = 0x4E9E, --(亞)
- [0x3014] = 0x4E9F, --(亟)
+ [0x3014] = 0x4E9F, --(亟)
[0x3015] = 0x4EA0, --(亠)
- [0x3016] = 0x4EA2, --(亢)
+ [0x3016] = 0x4EA2, --(亢)
[0x3017] = 0x4EB0, --(亰)
- [0x3018] = 0x4EB3, --(亳)
+ [0x3018] = 0x4EB3, --(亳)
[0x3019] = 0x4EB6, --(亶)
- [0x301A] = 0x4ECE, --(从)
+ [0x301A] = 0x4ECE, --(从)
[0x301B] = 0x4ECD, --(仍)
- [0x301C] = 0x4EC4, --(仄)
+ [0x301C] = 0x4EC4, --(仄)
[0x301D] = 0x4EC6, --(仆)
- [0x301E] = 0x4EC2, --(仂)
+ [0x301E] = 0x4EC2, --(仂)
[0x301F] = 0x4ED7, --(仗)
- [0x3020] = 0x4EDE, --(仞)
+ [0x3020] = 0x4EDE, --(仞)
[0x3021] = 0x4EED, --(仭)
- [0x3022] = 0x4EDF, --(仟)
+ [0x3022] = 0x4EDF, --(仟)
[0x3023] = 0x4EF7, --(价)
- [0x3024] = 0x4F09, --(伉)
+ [0x3024] = 0x4F09, --(伉)
[0x3025] = 0x4F5A, --(佚)
- [0x3026] = 0x4F30, --(估)
+ [0x3026] = 0x4F30, --(估)
[0x3027] = 0x4F5B, --(佛)
- [0x3028] = 0x4F5D, --(佝)
+ [0x3028] = 0x4F5D, --(佝)
[0x3029] = 0x4F57, --(佗)
- [0x302A] = 0x4F47, --(佇)
+ [0x302A] = 0x4F47, --(佇)
[0x302B] = 0x4F76, --(佶)
- [0x302C] = 0x4F88, --(侈)
+ [0x302C] = 0x4F88, --(侈)
[0x302D] = 0x4F8F, --(侏)
- [0x302E] = 0x4F98, --(侘)
+ [0x302E] = 0x4F98, --(侘)
[0x302F] = 0x4F7B, --(佻)
- [0x3030] = 0x4F69, --(佩)
+ [0x3030] = 0x4F69, --(佩)
[0x3031] = 0x4F70, --(佰)
- [0x3032] = 0x4F91, --(侑)
+ [0x3032] = 0x4F91, --(侑)
[0x3033] = 0x4F6F, --(佯)
- [0x3034] = 0x4F86, --(來)
+ [0x3034] = 0x4F86, --(來)
[0x3035] = 0x4F96, --(侖)
- [0x3036] = 0x5118, --(儘)
+ [0x3036] = 0x5118, --(儘)
[0x3037] = 0x4FD4, --(俔)
- [0x3038] = 0x4FDF, --(俟)
+ [0x3038] = 0x4FDF, --(俟)
[0x3039] = 0x4FCE, --(俎)
- [0x303A] = 0x4FD8, --(俘)
+ [0x303A] = 0x4FD8, --(俘)
[0x303B] = 0x4FDB, --(俛)
- [0x303C] = 0x4FD1, --(俑)
+ [0x303C] = 0x4FD1, --(俑)
[0x303D] = 0x4FDA, --(俚)
- [0x303E] = 0x4FD0, --(俐)
+ [0x303E] = 0x4FD0, --(俐)
[0x303F] = 0x4FE4, --(俤)
- [0x3040] = 0x4FE5, --(俥)
+ [0x3040] = 0x4FE5, --(俥)
[0x3041] = 0x501A, --(倚)
- [0x3042] = 0x5028, --(倨)
+ [0x3042] = 0x5028, --(倨)
[0x3043] = 0x5014, --(倔)
- [0x3044] = 0x502A, --(倪)
+ [0x3044] = 0x502A, --(倪)
[0x3045] = 0x5025, --(倥)
- [0x3046] = 0x5005, --(倅)
+ [0x3046] = 0x5005, --(倅)
[0x3047] = 0x4F1C, --(伜)
- [0x3048] = 0x4FF6, --(俶)
+ [0x3048] = 0x4FF6, --(俶)
[0x3049] = 0x5021, --(倡)
- [0x304A] = 0x5029, --(倩)
+ [0x304A] = 0x5029, --(倩)
[0x304B] = 0x502C, --(倬)
- [0x304C] = 0x4FFE, --(俾)
+ [0x304C] = 0x4FFE, --(俾)
[0x304D] = 0x4FEF, --(俯)
- [0x304E] = 0x5011, --(們)
+ [0x304E] = 0x5011, --(們)
[0x304F] = 0x5006, --(倆)
- [0x3050] = 0x5043, --(偃)
+ [0x3050] = 0x5043, --(偃)
[0x3051] = 0x5047, --(假)
- [0x3052] = 0x6703, --(會)
+ [0x3052] = 0x6703, --(會)
[0x3053] = 0x5055, --(偕)
- [0x3054] = 0x5050, --(偐)
+ [0x3054] = 0x5050, --(偐)
[0x3055] = 0x5048, --(偈)
- [0x3056] = 0x505A, --(做)
+ [0x3056] = 0x505A, --(做)
[0x3057] = 0x5056, --(偖)
- [0x3058] = 0x506C, --(偬)
+ [0x3058] = 0x506C, --(偬)
[0x3059] = 0x5078, --(偸)
- [0x305A] = 0x5080, --(傀)
+ [0x305A] = 0x5080, --(傀)
[0x305B] = 0x509A, --(傚)
- [0x305C] = 0x5085, --(傅)
+ [0x305C] = 0x5085, --(傅)
[0x305D] = 0x50B4, --(傴)
- [0x305E] = 0x50B2, --(傲)
+ [0x305E] = 0x50B2, --(傲)
[0x3101] = 0x50C9, --(僉)
- [0x3102] = 0x50CA, --(僊)
+ [0x3102] = 0x50CA, --(僊)
[0x3103] = 0x50B3, --(傳)
- [0x3104] = 0x50C2, --(僂)
+ [0x3104] = 0x50C2, --(僂)
[0x3105] = 0x50D6, --(僖)
- [0x3106] = 0x50DE, --(僞)
+ [0x3106] = 0x50DE, --(僞)
[0x3107] = 0x50E5, --(僥)
- [0x3108] = 0x50ED, --(僭)
+ [0x3108] = 0x50ED, --(僭)
[0x3109] = 0x50E3, --(僣)
- [0x310A] = 0x50EE, --(僮)
+ [0x310A] = 0x50EE, --(僮)
[0x310B] = 0x50F9, --(價)
- [0x310C] = 0x50F5, --(僵)
+ [0x310C] = 0x50F5, --(僵)
[0x310D] = 0x5109, --(儉)
- [0x310E] = 0x5101, --(儁)
+ [0x310E] = 0x5101, --(儁)
[0x310F] = 0x5102, --(儂)
- [0x3110] = 0x5116, --(儖)
+ [0x3110] = 0x5116, --(儖)
[0x3111] = 0x5115, --(儕)
- [0x3112] = 0x5114, --(儔)
+ [0x3112] = 0x5114, --(儔)
[0x3113] = 0x511A, --(儚)
- [0x3114] = 0x5121, --(儡)
+ [0x3114] = 0x5121, --(儡)
[0x3115] = 0x513A, --(儺)
- [0x3116] = 0x5137, --(儷)
+ [0x3116] = 0x5137, --(儷)
[0x3117] = 0x513C, --(儼)
- [0x3118] = 0x513B, --(儻)
+ [0x3118] = 0x513B, --(儻)
[0x3119] = 0x513F, --(儿)
- [0x311A] = 0x5140, --(兀)
+ [0x311A] = 0x5140, --(兀)
[0x311B] = 0x5152, --(兒)
- [0x311C] = 0x514C, --(兌)
+ [0x311C] = 0x514C, --(兌)
[0x311D] = 0x5154, --(兔)
- [0x311E] = 0x5162, --(兢)
+ [0x311E] = 0x5162, --(兢)
[0x311F] = 0x7AF8, --(竸)
- [0x3120] = 0x5169, --(兩)
+ [0x3120] = 0x5169, --(兩)
[0x3121] = 0x516A, --(兪)
- [0x3122] = 0x516E, --(兮)
+ [0x3122] = 0x516E, --(兮)
[0x3123] = 0x5180, --(冀)
- [0x3124] = 0x5182, --(冂)
+ [0x3124] = 0x5182, --(冂)
[0x3125] = 0x56D8, --(囘)
- [0x3126] = 0x518C, --(册)
+ [0x3126] = 0x518C, --(册)
[0x3127] = 0x5189, --(冉)
- [0x3128] = 0x518F, --(冏)
+ [0x3128] = 0x518F, --(冏)
[0x3129] = 0x5191, --(冑)
- [0x312A] = 0x5193, --(冓)
+ [0x312A] = 0x5193, --(冓)
[0x312B] = 0x5195, --(冕)
- [0x312C] = 0x5196, --(冖)
+ [0x312C] = 0x5196, --(冖)
[0x312D] = 0x51A4, --(冤)
- [0x312E] = 0x51A6, --(冦)
+ [0x312E] = 0x51A6, --(冦)
[0x312F] = 0x51A2, --(冢)
- [0x3130] = 0x51A9, --(冩)
+ [0x3130] = 0x51A9, --(冩)
[0x3131] = 0x51AA, --(冪)
- [0x3132] = 0x51AB, --(冫)
+ [0x3132] = 0x51AB, --(冫)
[0x3133] = 0x51B3, --(决)
- [0x3134] = 0x51B1, --(冱)
+ [0x3134] = 0x51B1, --(冱)
[0x3135] = 0x51B2, --(冲)
- [0x3136] = 0x51B0, --(冰)
+ [0x3136] = 0x51B0, --(冰)
[0x3137] = 0x51B5, --(况)
- [0x3138] = 0x51BD, --(冽)
+ [0x3138] = 0x51BD, --(冽)
[0x3139] = 0x51C5, --(凅)
- [0x313A] = 0x51C9, --(凉)
+ [0x313A] = 0x51C9, --(凉)
[0x313B] = 0x51DB, --(凛)
- [0x313C] = 0x51E0, --(几)
+ [0x313C] = 0x51E0, --(几)
[0x313D] = 0x8655, --(處)
- [0x313E] = 0x51E9, --(凩)
+ [0x313E] = 0x51E9, --(凩)
[0x313F] = 0x51ED, --(凭)
- [0x3140] = 0x51F0, --(凰)
+ [0x3140] = 0x51F0, --(凰)
[0x3141] = 0x51F5, --(凵)
- [0x3142] = 0x51FE, --(凾)
+ [0x3142] = 0x51FE, --(凾)
[0x3143] = 0x5204, --(刄)
- [0x3144] = 0x520B, --(刋)
+ [0x3144] = 0x520B, --(刋)
[0x3145] = 0x5214, --(刔)
- [0x3146] = 0x520E, --(刎)
+ [0x3146] = 0x520E, --(刎)
[0x3147] = 0x5227, --(刧)
- [0x3148] = 0x522A, --(刪)
+ [0x3148] = 0x522A, --(刪)
[0x3149] = 0x522E, --(刮)
- [0x314A] = 0x5233, --(刳)
+ [0x314A] = 0x5233, --(刳)
[0x314B] = 0x5239, --(刹)
- [0x314C] = 0x524F, --(剏)
+ [0x314C] = 0x524F, --(剏)
[0x314D] = 0x5244, --(剄)
- [0x314E] = 0x524B, --(剋)
+ [0x314E] = 0x524B, --(剋)
[0x314F] = 0x524C, --(剌)
- [0x3150] = 0x525E, --(剞)
+ [0x3150] = 0x525E, --(剞)
[0x3151] = 0x5254, --(剔)
- [0x3152] = 0x526A, --(剪)
+ [0x3152] = 0x526A, --(剪)
[0x3153] = 0x5274, --(剴)
- [0x3154] = 0x5269, --(剩)
+ [0x3154] = 0x5269, --(剩)
[0x3155] = 0x5273, --(剳)
- [0x3156] = 0x527F, --(剿)
+ [0x3156] = 0x527F, --(剿)
[0x3157] = 0x527D, --(剽)
- [0x3158] = 0x528D, --(劍)
+ [0x3158] = 0x528D, --(劍)
[0x3159] = 0x5294, --(劔)
- [0x315A] = 0x5292, --(劒)
+ [0x315A] = 0x5292, --(劒)
[0x315B] = 0x5271, --(剱)
- [0x315C] = 0x5288, --(劈)
+ [0x315C] = 0x5288, --(劈)
[0x315D] = 0x5291, --(劑)
- [0x315E] = 0x8FA8, --(辨)
+ [0x315E] = 0x8FA8, --(辨)
[0x3201] = 0x8FA7, --(辧)
- [0x3202] = 0x52AC, --(劬)
+ [0x3202] = 0x52AC, --(劬)
[0x3203] = 0x52AD, --(劭)
- [0x3204] = 0x52BC, --(劼)
+ [0x3204] = 0x52BC, --(劼)
[0x3205] = 0x52B5, --(劵)
- [0x3206] = 0x52C1, --(勁)
+ [0x3206] = 0x52C1, --(勁)
[0x3207] = 0x52CD, --(勍)
- [0x3208] = 0x52D7, --(勗)
+ [0x3208] = 0x52D7, --(勗)
[0x3209] = 0x52DE, --(勞)
- [0x320A] = 0x52E3, --(勣)
+ [0x320A] = 0x52E3, --(勣)
[0x320B] = 0x52E6, --(勦)
- [0x320C] = 0x98ED, --(飭)
+ [0x320C] = 0x98ED, --(飭)
[0x320D] = 0x52E0, --(勠)
- [0x320E] = 0x52F3, --(勳)
+ [0x320E] = 0x52F3, --(勳)
[0x320F] = 0x52F5, --(勵)
- [0x3210] = 0x52F8, --(勸)
+ [0x3210] = 0x52F8, --(勸)
[0x3211] = 0x52F9, --(勹)
- [0x3212] = 0x5306, --(匆)
+ [0x3212] = 0x5306, --(匆)
[0x3213] = 0x5308, --(匈)
- [0x3214] = 0x7538, --(甸)
+ [0x3214] = 0x7538, --(甸)
[0x3215] = 0x530D, --(匍)
- [0x3216] = 0x5310, --(匐)
+ [0x3216] = 0x5310, --(匐)
[0x3217] = 0x530F, --(匏)
- [0x3218] = 0x5315, --(匕)
+ [0x3218] = 0x5315, --(匕)
[0x3219] = 0x531A, --(匚)
- [0x321A] = 0x5323, --(匣)
+ [0x321A] = 0x5323, --(匣)
[0x321B] = 0x532F, --(匯)
- [0x321C] = 0x5331, --(匱)
+ [0x321C] = 0x5331, --(匱)
[0x321D] = 0x5333, --(匳)
- [0x321E] = 0x5338, --(匸)
+ [0x321E] = 0x5338, --(匸)
[0x321F] = 0x5340, --(區)
- [0x3220] = 0x5346, --(卆)
+ [0x3220] = 0x5346, --(卆)
[0x3221] = 0x5345, --(卅)
- [0x3222] = 0x4E17, --(丗)
+ [0x3222] = 0x4E17, --(丗)
[0x3223] = 0x5349, --(卉)
- [0x3224] = 0x534D, --(卍)
+ [0x3224] = 0x534D, --(卍)
[0x3225] = 0x51D6, --(凖)
- [0x3226] = 0x535E, --(卞)
+ [0x3226] = 0x535E, --(卞)
[0x3227] = 0x5369, --(卩)
- [0x3228] = 0x536E, --(卮)
+ [0x3228] = 0x536E, --(卮)
[0x3229] = 0x5918, --(夘)
- [0x322A] = 0x537B, --(卻)
+ [0x322A] = 0x537B, --(卻)
[0x322B] = 0x5377, --(卷)
- [0x322C] = 0x5382, --(厂)
+ [0x322C] = 0x5382, --(厂)
[0x322D] = 0x5396, --(厖)
- [0x322E] = 0x53A0, --(厠)
+ [0x322E] = 0x53A0, --(厠)
[0x322F] = 0x53A6, --(厦)
- [0x3230] = 0x53A5, --(厥)
+ [0x3230] = 0x53A5, --(厥)
[0x3231] = 0x53AE, --(厮)
- [0x3232] = 0x53B0, --(厰)
+ [0x3232] = 0x53B0, --(厰)
[0x3233] = 0x53B6, --(厶)
- [0x3234] = 0x53C3, --(參)
+ [0x3234] = 0x53C3, --(參)
[0x3235] = 0x7C12, --(簒)
- [0x3236] = 0x96D9, --(雙)
+ [0x3236] = 0x96D9, --(雙)
[0x3237] = 0x53DF, --(叟)
- [0x3238] = 0x66FC, --(曼)
+ [0x3238] = 0x66FC, --(曼)
[0x3239] = 0x71EE, --(燮)
- [0x323A] = 0x53EE, --(叮)
+ [0x323A] = 0x53EE, --(叮)
[0x323B] = 0x53E8, --(叨)
- [0x323C] = 0x53ED, --(叭)
+ [0x323C] = 0x53ED, --(叭)
[0x323D] = 0x53FA, --(叺)
- [0x323E] = 0x5401, --(吁)
+ [0x323E] = 0x5401, --(吁)
[0x323F] = 0x543D, --(吽)
- [0x3240] = 0x5440, --(呀)
+ [0x3240] = 0x5440, --(呀)
[0x3241] = 0x542C, --(听)
- [0x3242] = 0x542D, --(吭)
+ [0x3242] = 0x542D, --(吭)
[0x3243] = 0x543C, --(吼)
- [0x3244] = 0x542E, --(吮)
+ [0x3244] = 0x542E, --(吮)
[0x3245] = 0x5436, --(吶)
- [0x3246] = 0x5429, --(吩)
+ [0x3246] = 0x5429, --(吩)
[0x3247] = 0x541D, --(吝)
- [0x3248] = 0x544E, --(呎)
+ [0x3248] = 0x544E, --(呎)
[0x3249] = 0x548F, --(咏)
- [0x324A] = 0x5475, --(呵)
+ [0x324A] = 0x5475, --(呵)
[0x324B] = 0x548E, --(咎)
- [0x324C] = 0x545F, --(呟)
+ [0x324C] = 0x545F, --(呟)
[0x324D] = 0x5471, --(呱)
- [0x324E] = 0x5477, --(呷)
+ [0x324E] = 0x5477, --(呷)
[0x324F] = 0x5470, --(呰)
- [0x3250] = 0x5492, --(咒)
+ [0x3250] = 0x5492, --(咒)
[0x3251] = 0x547B, --(呻)
- [0x3252] = 0x5480, --(咀)
+ [0x3252] = 0x5480, --(咀)
[0x3253] = 0x5476, --(呶)
- [0x3254] = 0x5484, --(咄)
+ [0x3254] = 0x5484, --(咄)
[0x3255] = 0x5490, --(咐)
- [0x3256] = 0x5486, --(咆)
+ [0x3256] = 0x5486, --(咆)
[0x3257] = 0x54C7, --(哇)
- [0x3258] = 0x54A2, --(咢)
+ [0x3258] = 0x54A2, --(咢)
[0x3259] = 0x54B8, --(咸)
- [0x325A] = 0x54A5, --(咥)
+ [0x325A] = 0x54A5, --(咥)
[0x325B] = 0x54AC, --(咬)
- [0x325C] = 0x54C4, --(哄)
+ [0x325C] = 0x54C4, --(哄)
[0x325D] = 0x54C8, --(哈)
- [0x325E] = 0x54A8, --(咨)
+ [0x325E] = 0x54A8, --(咨)
[0x3301] = 0x54AB, --(咫)
- [0x3302] = 0x54C2, --(哂)
+ [0x3302] = 0x54C2, --(哂)
[0x3303] = 0x54A4, --(咤)
- [0x3304] = 0x54BE, --(咾)
+ [0x3304] = 0x54BE, --(咾)
[0x3305] = 0x54BC, --(咼)
- [0x3306] = 0x54D8, --(哘)
+ [0x3306] = 0x54D8, --(哘)
[0x3307] = 0x54E5, --(哥)
- [0x3308] = 0x54E6, --(哦)
+ [0x3308] = 0x54E6, --(哦)
[0x3309] = 0x550F, --(唏)
- [0x330A] = 0x5514, --(唔)
+ [0x330A] = 0x5514, --(唔)
[0x330B] = 0x54FD, --(哽)
- [0x330C] = 0x54EE, --(哮)
+ [0x330C] = 0x54EE, --(哮)
[0x330D] = 0x54ED, --(哭)
- [0x330E] = 0x54FA, --(哺)
+ [0x330E] = 0x54FA, --(哺)
[0x330F] = 0x54E2, --(哢)
- [0x3310] = 0x5539, --(唹)
+ [0x3310] = 0x5539, --(唹)
[0x3311] = 0x5540, --(啀)
- [0x3312] = 0x5563, --(啣)
+ [0x3312] = 0x5563, --(啣)
[0x3313] = 0x554C, --(啌)
- [0x3314] = 0x552E, --(售)
+ [0x3314] = 0x552E, --(售)
[0x3315] = 0x555C, --(啜)
- [0x3316] = 0x5545, --(啅)
+ [0x3316] = 0x5545, --(啅)
[0x3317] = 0x5556, --(啖)
- [0x3318] = 0x5557, --(啗)
+ [0x3318] = 0x5557, --(啗)
[0x3319] = 0x5538, --(唸)
- [0x331A] = 0x5533, --(唳)
+ [0x331A] = 0x5533, --(唳)
[0x331B] = 0x555D, --(啝)
- [0x331C] = 0x5599, --(喙)
+ [0x331C] = 0x5599, --(喙)
[0x331D] = 0x5580, --(喀)
- [0x331E] = 0x54AF, --(咯)
+ [0x331E] = 0x54AF, --(咯)
[0x331F] = 0x558A, --(喊)
- [0x3320] = 0x559F, --(喟)
+ [0x3320] = 0x559F, --(喟)
[0x3321] = 0x557B, --(啻)
- [0x3322] = 0x557E, --(啾)
+ [0x3322] = 0x557E, --(啾)
[0x3323] = 0x5598, --(喘)
- [0x3324] = 0x559E, --(喞)
+ [0x3324] = 0x559E, --(喞)
[0x3325] = 0x55AE, --(單)
- [0x3326] = 0x557C, --(啼)
+ [0x3326] = 0x557C, --(啼)
[0x3327] = 0x5583, --(喃)
- [0x3328] = 0x55A9, --(喩)
+ [0x3328] = 0x55A9, --(喩)
[0x3329] = 0x5587, --(喇)
- [0x332A] = 0x55A8, --(喨)
+ [0x332A] = 0x55A8, --(喨)
[0x332B] = 0x55DA, --(嗚)
- [0x332C] = 0x55C5, --(嗅)
+ [0x332C] = 0x55C5, --(嗅)
[0x332D] = 0x55DF, --(嗟)
- [0x332E] = 0x55C4, --(嗄)
+ [0x332E] = 0x55C4, --(嗄)
[0x332F] = 0x55DC, --(嗜)
- [0x3330] = 0x55E4, --(嗤)
+ [0x3330] = 0x55E4, --(嗤)
[0x3331] = 0x55D4, --(嗔)
- [0x3332] = 0x5614, --(嘔)
+ [0x3332] = 0x5614, --(嘔)
[0x3333] = 0x55F7, --(嗷)
- [0x3334] = 0x5616, --(嘖)
+ [0x3334] = 0x5616, --(嘖)
[0x3335] = 0x55FE, --(嗾)
- [0x3336] = 0x55FD, --(嗽)
+ [0x3336] = 0x55FD, --(嗽)
[0x3337] = 0x561B, --(嘛)
- [0x3338] = 0x55F9, --(嗹)
+ [0x3338] = 0x55F9, --(嗹)
[0x3339] = 0x564E, --(噎)
- [0x333A] = 0x5650, --(噐)
+ [0x333A] = 0x5650, --(噐)
[0x333B] = 0x71DF, --(營)
- [0x333C] = 0x5634, --(嘴)
+ [0x333C] = 0x5634, --(嘴)
[0x333D] = 0x5636, --(嘶)
- [0x333E] = 0x5632, --(嘲)
+ [0x333E] = 0x5632, --(嘲)
[0x333F] = 0x5638, --(嘸)
- [0x3340] = 0x566B, --(噫)
+ [0x3340] = 0x566B, --(噫)
[0x3341] = 0x5664, --(噤)
- [0x3342] = 0x562F, --(嘯)
+ [0x3342] = 0x562F, --(嘯)
[0x3343] = 0x566C, --(噬)
- [0x3344] = 0x566A, --(噪)
+ [0x3344] = 0x566A, --(噪)
[0x3345] = 0x5686, --(嚆)
- [0x3346] = 0x5680, --(嚀)
+ [0x3346] = 0x5680, --(嚀)
[0x3347] = 0x568A, --(嚊)
- [0x3348] = 0x56A0, --(嚠)
+ [0x3348] = 0x56A0, --(嚠)
[0x3349] = 0x5694, --(嚔)
- [0x334A] = 0x568F, --(嚏)
+ [0x334A] = 0x568F, --(嚏)
[0x334B] = 0x56A5, --(嚥)
- [0x334C] = 0x56AE, --(嚮)
+ [0x334C] = 0x56AE, --(嚮)
[0x334D] = 0x56B6, --(嚶)
- [0x334E] = 0x56B4, --(嚴)
+ [0x334E] = 0x56B4, --(嚴)
[0x334F] = 0x56C2, --(囂)
- [0x3350] = 0x56BC, --(嚼)
+ [0x3350] = 0x56BC, --(嚼)
[0x3351] = 0x56C1, --(囁)
- [0x3352] = 0x56C3, --(囃)
+ [0x3352] = 0x56C3, --(囃)
[0x3353] = 0x56C0, --(囀)
- [0x3354] = 0x56C8, --(囈)
+ [0x3354] = 0x56C8, --(囈)
[0x3355] = 0x56CE, --(囎)
- [0x3356] = 0x56D1, --(囑)
+ [0x3356] = 0x56D1, --(囑)
[0x3357] = 0x56D3, --(囓)
- [0x3358] = 0x56D7, --(囗)
+ [0x3358] = 0x56D7, --(囗)
[0x3359] = 0x56EE, --(囮)
- [0x335A] = 0x56F9, --(囹)
+ [0x335A] = 0x56F9, --(囹)
[0x335B] = 0x5700, --(圀)
- [0x335C] = 0x56FF, --(囿)
+ [0x335C] = 0x56FF, --(囿)
[0x335D] = 0x5704, --(圄)
- [0x335E] = 0x5709, --(圉)
+ [0x335E] = 0x5709, --(圉)
[0x3401] = 0x5708, --(圈)
- [0x3402] = 0x570B, --(國)
+ [0x3402] = 0x570B, --(國)
[0x3403] = 0x570D, --(圍)
- [0x3404] = 0x5713, --(圓)
+ [0x3404] = 0x5713, --(圓)
[0x3405] = 0x5718, --(團)
- [0x3406] = 0x5716, --(圖)
+ [0x3406] = 0x5716, --(圖)
[0x3407] = 0x55C7, --(嗇)
- [0x3408] = 0x571C, --(圜)
+ [0x3408] = 0x571C, --(圜)
[0x3409] = 0x5726, --(圦)
- [0x340A] = 0x5737, --(圷)
+ [0x340A] = 0x5737, --(圷)
[0x340B] = 0x5738, --(圸)
- [0x340C] = 0x574E, --(坎)
+ [0x340C] = 0x574E, --(坎)
[0x340D] = 0x573B, --(圻)
- [0x340E] = 0x5740, --(址)
+ [0x340E] = 0x5740, --(址)
[0x340F] = 0x574F, --(坏)
- [0x3410] = 0x5769, --(坩)
+ [0x3410] = 0x5769, --(坩)
[0x3411] = 0x57C0, --(埀)
- [0x3412] = 0x5788, --(垈)
+ [0x3412] = 0x5788, --(垈)
[0x3413] = 0x5761, --(坡)
- [0x3414] = 0x577F, --(坿)
+ [0x3414] = 0x577F, --(坿)
[0x3415] = 0x5789, --(垉)
- [0x3416] = 0x5793, --(垓)
+ [0x3416] = 0x5793, --(垓)
[0x3417] = 0x57A0, --(垠)
- [0x3418] = 0x57B3, --(垳)
+ [0x3418] = 0x57B3, --(垳)
[0x3419] = 0x57A4, --(垤)
- [0x341A] = 0x57AA, --(垪)
+ [0x341A] = 0x57AA, --(垪)
[0x341B] = 0x57B0, --(垰)
- [0x341C] = 0x57C3, --(埃)
+ [0x341C] = 0x57C3, --(埃)
[0x341D] = 0x57C6, --(埆)
- [0x341E] = 0x57D4, --(埔)
+ [0x341E] = 0x57D4, --(埔)
[0x341F] = 0x57D2, --(埒)
- [0x3420] = 0x57D3, --(埓)
+ [0x3420] = 0x57D3, --(埓)
[0x3421] = 0x580A, --(堊)
- [0x3422] = 0x57D6, --(埖)
+ [0x3422] = 0x57D6, --(埖)
[0x3423] = 0x57E3, --(埣)
- [0x3424] = 0x580B, --(堋)
+ [0x3424] = 0x580B, --(堋)
[0x3425] = 0x5819, --(堙)
- [0x3426] = 0x581D, --(堝)
+ [0x3426] = 0x581D, --(堝)
[0x3427] = 0x5872, --(塲)
- [0x3428] = 0x5821, --(堡)
+ [0x3428] = 0x5821, --(堡)
[0x3429] = 0x5862, --(塢)
- [0x342A] = 0x584B, --(塋)
+ [0x342A] = 0x584B, --(塋)
[0x342B] = 0x5870, --(塰)
- [0x342C] = 0x6BC0, --(毀)
+ [0x342C] = 0x6BC0, --(毀)
[0x342D] = 0x5852, --(塒)
- [0x342E] = 0x583D, --(堽)
+ [0x342E] = 0x583D, --(堽)
[0x342F] = 0x5879, --(塹)
- [0x3430] = 0x5885, --(墅)
+ [0x3430] = 0x5885, --(墅)
[0x3431] = 0x58B9, --(墹)
- [0x3432] = 0x589F, --(墟)
+ [0x3432] = 0x589F, --(墟)
[0x3433] = 0x58AB, --(墫)
- [0x3434] = 0x58BA, --(墺)
+ [0x3434] = 0x58BA, --(墺)
[0x3435] = 0x58DE, --(壞)
- [0x3436] = 0x58BB, --(墻)
+ [0x3436] = 0x58BB, --(墻)
[0x3437] = 0x58B8, --(墸)
- [0x3438] = 0x58AE, --(墮)
+ [0x3438] = 0x58AE, --(墮)
[0x3439] = 0x58C5, --(壅)
- [0x343A] = 0x58D3, --(壓)
+ [0x343A] = 0x58D3, --(壓)
[0x343B] = 0x58D1, --(壑)
- [0x343C] = 0x58D7, --(壗)
+ [0x343C] = 0x58D7, --(壗)
[0x343D] = 0x58D9, --(壙)
- [0x343E] = 0x58D8, --(壘)
+ [0x343E] = 0x58D8, --(壘)
[0x343F] = 0x58E5, --(壥)
- [0x3440] = 0x58DC, --(壜)
+ [0x3440] = 0x58DC, --(壜)
[0x3441] = 0x58E4, --(壤)
- [0x3442] = 0x58DF, --(壟)
+ [0x3442] = 0x58DF, --(壟)
[0x3443] = 0x58EF, --(壯)
- [0x3444] = 0x58FA, --(壺)
+ [0x3444] = 0x58FA, --(壺)
[0x3445] = 0x58F9, --(壹)
- [0x3446] = 0x58FB, --(壻)
+ [0x3446] = 0x58FB, --(壻)
[0x3447] = 0x58FC, --(壼)
- [0x3448] = 0x58FD, --(壽)
+ [0x3448] = 0x58FD, --(壽)
[0x3449] = 0x5902, --(夂)
- [0x344A] = 0x590A, --(夊)
+ [0x344A] = 0x590A, --(夊)
[0x344B] = 0x5910, --(夐)
- [0x344C] = 0x591B, --(夛)
+ [0x344C] = 0x591B, --(夛)
[0x344D] = 0x68A6, --(梦)
- [0x344E] = 0x5925, --(夥)
+ [0x344E] = 0x5925, --(夥)
[0x344F] = 0x592C, --(夬)
- [0x3450] = 0x592D, --(夭)
+ [0x3450] = 0x592D, --(夭)
[0x3451] = 0x5932, --(夲)
- [0x3452] = 0x5938, --(夸)
+ [0x3452] = 0x5938, --(夸)
[0x3453] = 0x593E, --(夾)
- [0x3454] = 0x7AD2, --(竒)
+ [0x3454] = 0x7AD2, --(竒)
[0x3455] = 0x5955, --(奕)
- [0x3456] = 0x5950, --(奐)
+ [0x3456] = 0x5950, --(奐)
[0x3457] = 0x594E, --(奎)
- [0x3458] = 0x595A, --(奚)
+ [0x3458] = 0x595A, --(奚)
[0x3459] = 0x5958, --(奘)
- [0x345A] = 0x5962, --(奢)
+ [0x345A] = 0x5962, --(奢)
[0x345B] = 0x5960, --(奠)
- [0x345C] = 0x5967, --(奧)
+ [0x345C] = 0x5967, --(奧)
[0x345D] = 0x596C, --(奬)
- [0x345E] = 0x5969, --(奩)
+ [0x345E] = 0x5969, --(奩)
[0x3501] = 0x5978, --(奸)
- [0x3502] = 0x5981, --(妁)
+ [0x3502] = 0x5981, --(妁)
[0x3503] = 0x599D, --(妝)
- [0x3504] = 0x4F5E, --(佞)
+ [0x3504] = 0x4F5E, --(佞)
[0x3505] = 0x4FAB, --(侫)
- [0x3506] = 0x59A3, --(妣)
+ [0x3506] = 0x59A3, --(妣)
[0x3507] = 0x59B2, --(妲)
- [0x3508] = 0x59C6, --(姆)
+ [0x3508] = 0x59C6, --(姆)
[0x3509] = 0x59E8, --(姨)
- [0x350A] = 0x59DC, --(姜)
+ [0x350A] = 0x59DC, --(姜)
[0x350B] = 0x598D, --(妍)
- [0x350C] = 0x59D9, --(姙)
+ [0x350C] = 0x59D9, --(姙)
[0x350D] = 0x59DA, --(姚)
- [0x350E] = 0x5A25, --(娥)
+ [0x350E] = 0x5A25, --(娥)
[0x350F] = 0x5A1F, --(娟)
- [0x3510] = 0x5A11, --(娑)
+ [0x3510] = 0x5A11, --(娑)
[0x3511] = 0x5A1C, --(娜)
- [0x3512] = 0x5A09, --(娉)
+ [0x3512] = 0x5A09, --(娉)
[0x3513] = 0x5A1A, --(娚)
- [0x3514] = 0x5A40, --(婀)
+ [0x3514] = 0x5A40, --(婀)
[0x3515] = 0x5A6C, --(婬)
- [0x3516] = 0x5A49, --(婉)
+ [0x3516] = 0x5A49, --(婉)
[0x3517] = 0x5A35, --(娵)
- [0x3518] = 0x5A36, --(娶)
+ [0x3518] = 0x5A36, --(娶)
[0x3519] = 0x5A62, --(婢)
- [0x351A] = 0x5A6A, --(婪)
+ [0x351A] = 0x5A6A, --(婪)
[0x351B] = 0x5A9A, --(媚)
- [0x351C] = 0x5ABC, --(媼)
+ [0x351C] = 0x5ABC, --(媼)
[0x351D] = 0x5ABE, --(媾)
- [0x351E] = 0x5ACB, --(嫋)
+ [0x351E] = 0x5ACB, --(嫋)
[0x351F] = 0x5AC2, --(嫂)
- [0x3520] = 0x5ABD, --(媽)
+ [0x3520] = 0x5ABD, --(媽)
[0x3521] = 0x5AE3, --(嫣)
- [0x3522] = 0x5AD7, --(嫗)
+ [0x3522] = 0x5AD7, --(嫗)
[0x3523] = 0x5AE6, --(嫦)
- [0x3524] = 0x5AE9, --(嫩)
+ [0x3524] = 0x5AE9, --(嫩)
[0x3525] = 0x5AD6, --(嫖)
- [0x3526] = 0x5AFA, --(嫺)
+ [0x3526] = 0x5AFA, --(嫺)
[0x3527] = 0x5AFB, --(嫻)
- [0x3528] = 0x5B0C, --(嬌)
+ [0x3528] = 0x5B0C, --(嬌)
[0x3529] = 0x5B0B, --(嬋)
- [0x352A] = 0x5B16, --(嬖)
+ [0x352A] = 0x5B16, --(嬖)
[0x352B] = 0x5B32, --(嬲)
- [0x352C] = 0x5AD0, --(嫐)
+ [0x352C] = 0x5AD0, --(嫐)
[0x352D] = 0x5B2A, --(嬪)
- [0x352E] = 0x5B36, --(嬶)
+ [0x352E] = 0x5B36, --(嬶)
[0x352F] = 0x5B3E, --(嬾)
- [0x3530] = 0x5B43, --(孃)
+ [0x3530] = 0x5B43, --(孃)
[0x3531] = 0x5B45, --(孅)
- [0x3532] = 0x5B40, --(孀)
+ [0x3532] = 0x5B40, --(孀)
[0x3533] = 0x5B51, --(孑)
- [0x3534] = 0x5B55, --(孕)
+ [0x3534] = 0x5B55, --(孕)
[0x3535] = 0x5B5A, --(孚)
- [0x3536] = 0x5B5B, --(孛)
+ [0x3536] = 0x5B5B, --(孛)
[0x3537] = 0x5B65, --(孥)
- [0x3538] = 0x5B69, --(孩)
+ [0x3538] = 0x5B69, --(孩)
[0x3539] = 0x5B70, --(孰)
- [0x353A] = 0x5B73, --(孳)
+ [0x353A] = 0x5B73, --(孳)
[0x353B] = 0x5B75, --(孵)
- [0x353C] = 0x5B78, --(學)
+ [0x353C] = 0x5B78, --(學)
[0x353D] = 0x6588, --(斈)
- [0x353E] = 0x5B7A, --(孺)
+ [0x353E] = 0x5B7A, --(孺)
[0x353F] = 0x5B80, --(宀)
- [0x3540] = 0x5B83, --(它)
+ [0x3540] = 0x5B83, --(它)
[0x3541] = 0x5BA6, --(宦)
- [0x3542] = 0x5BB8, --(宸)
+ [0x3542] = 0x5BB8, --(宸)
[0x3543] = 0x5BC3, --(寃)
- [0x3544] = 0x5BC7, --(寇)
+ [0x3544] = 0x5BC7, --(寇)
[0x3545] = 0x5BC9, --(寉)
- [0x3546] = 0x5BD4, --(寔)
+ [0x3546] = 0x5BD4, --(寔)
[0x3547] = 0x5BD0, --(寐)
- [0x3548] = 0x5BE4, --(寤)
+ [0x3548] = 0x5BE4, --(寤)
[0x3549] = 0x5BE6, --(實)
- [0x354A] = 0x5BE2, --(寢)
+ [0x354A] = 0x5BE2, --(寢)
[0x354B] = 0x5BDE, --(寞)
- [0x354C] = 0x5BE5, --(寥)
+ [0x354C] = 0x5BE5, --(寥)
[0x354D] = 0x5BEB, --(寫)
- [0x354E] = 0x5BF0, --(寰)
+ [0x354E] = 0x5BF0, --(寰)
[0x354F] = 0x5BF6, --(寶)
- [0x3550] = 0x5BF3, --(寳)
+ [0x3550] = 0x5BF3, --(寳)
[0x3551] = 0x5C05, --(尅)
- [0x3552] = 0x5C07, --(將)
+ [0x3552] = 0x5C07, --(將)
[0x3553] = 0x5C08, --(專)
- [0x3554] = 0x5C0D, --(對)
+ [0x3554] = 0x5C0D, --(對)
[0x3555] = 0x5C13, --(尓)
- [0x3556] = 0x5C20, --(尠)
+ [0x3556] = 0x5C20, --(尠)
[0x3557] = 0x5C22, --(尢)
- [0x3558] = 0x5C28, --(尨)
+ [0x3558] = 0x5C28, --(尨)
[0x3559] = 0x5C38, --(尸)
- [0x355A] = 0x5C39, --(尹)
+ [0x355A] = 0x5C39, --(尹)
[0x355B] = 0x5C41, --(屁)
- [0x355C] = 0x5C46, --(屆)
+ [0x355C] = 0x5C46, --(屆)
[0x355D] = 0x5C4E, --(屎)
- [0x355E] = 0x5C53, --(屓)
+ [0x355E] = 0x5C53, --(屓)
[0x3601] = 0x5C50, --(屐)
- [0x3602] = 0x5C4F, --(屏)
+ [0x3602] = 0x5C4F, --(屏)
[0x3603] = 0x5B71, --(孱)
- [0x3604] = 0x5C6C, --(屬)
+ [0x3604] = 0x5C6C, --(屬)
[0x3605] = 0x5C6E, --(屮)
- [0x3606] = 0x4E62, --(乢)
+ [0x3606] = 0x4E62, --(乢)
[0x3607] = 0x5C76, --(屶)
- [0x3608] = 0x5C79, --(屹)
+ [0x3608] = 0x5C79, --(屹)
[0x3609] = 0x5C8C, --(岌)
- [0x360A] = 0x5C91, --(岑)
+ [0x360A] = 0x5C91, --(岑)
[0x360B] = 0x5C94, --(岔)
- [0x360C] = 0x599B, --(妛)
+ [0x360C] = 0x599B, --(妛)
[0x360D] = 0x5CAB, --(岫)
- [0x360E] = 0x5CBB, --(岻)
+ [0x360E] = 0x5CBB, --(岻)
[0x360F] = 0x5CB6, --(岶)
- [0x3610] = 0x5CBC, --(岼)
+ [0x3610] = 0x5CBC, --(岼)
[0x3611] = 0x5CB7, --(岷)
- [0x3612] = 0x5CC5, --(峅)
+ [0x3612] = 0x5CC5, --(峅)
[0x3613] = 0x5CBE, --(岾)
- [0x3614] = 0x5CC7, --(峇)
+ [0x3614] = 0x5CC7, --(峇)
[0x3615] = 0x5CD9, --(峙)
- [0x3616] = 0x5CE9, --(峩)
+ [0x3616] = 0x5CE9, --(峩)
[0x3617] = 0x5CFD, --(峽)
- [0x3618] = 0x5CFA, --(峺)
+ [0x3618] = 0x5CFA, --(峺)
[0x3619] = 0x5CED, --(峭)
- [0x361A] = 0x5D8C, --(嶌)
+ [0x361A] = 0x5D8C, --(嶌)
[0x361B] = 0x5CEA, --(峪)
- [0x361C] = 0x5D0B, --(崋)
+ [0x361C] = 0x5D0B, --(崋)
[0x361D] = 0x5D15, --(崕)
- [0x361E] = 0x5D17, --(崗)
+ [0x361E] = 0x5D17, --(崗)
[0x361F] = 0x5D5C, --(嵜)
- [0x3620] = 0x5D1F, --(崟)
+ [0x3620] = 0x5D1F, --(崟)
[0x3621] = 0x5D1B, --(崛)
- [0x3622] = 0x5D11, --(崑)
+ [0x3622] = 0x5D11, --(崑)
[0x3623] = 0x5D14, --(崔)
- [0x3624] = 0x5D22, --(崢)
+ [0x3624] = 0x5D22, --(崢)
[0x3625] = 0x5D1A, --(崚)
- [0x3626] = 0x5D19, --(崙)
+ [0x3626] = 0x5D19, --(崙)
[0x3627] = 0x5D18, --(崘)
- [0x3628] = 0x5D4C, --(嵌)
+ [0x3628] = 0x5D4C, --(嵌)
[0x3629] = 0x5D52, --(嵒)
- [0x362A] = 0x5D4E, --(嵎)
+ [0x362A] = 0x5D4E, --(嵎)
[0x362B] = 0x5D4B, --(嵋)
- [0x362C] = 0x5D6C, --(嵬)
+ [0x362C] = 0x5D6C, --(嵬)
[0x362D] = 0x5D73, --(嵳)
- [0x362E] = 0x5D76, --(嵶)
+ [0x362E] = 0x5D76, --(嵶)
[0x362F] = 0x5D87, --(嶇)
- [0x3630] = 0x5D84, --(嶄)
+ [0x3630] = 0x5D84, --(嶄)
[0x3631] = 0x5D82, --(嶂)
- [0x3632] = 0x5DA2, --(嶢)
+ [0x3632] = 0x5DA2, --(嶢)
[0x3633] = 0x5D9D, --(嶝)
- [0x3634] = 0x5DAC, --(嶬)
+ [0x3634] = 0x5DAC, --(嶬)
[0x3635] = 0x5DAE, --(嶮)
- [0x3636] = 0x5DBD, --(嶽)
+ [0x3636] = 0x5DBD, --(嶽)
[0x3637] = 0x5D90, --(嶐)
- [0x3638] = 0x5DB7, --(嶷)
+ [0x3638] = 0x5DB7, --(嶷)
[0x3639] = 0x5DBC, --(嶼)
- [0x363A] = 0x5DC9, --(巉)
+ [0x363A] = 0x5DC9, --(巉)
[0x363B] = 0x5DCD, --(巍)
- [0x363C] = 0x5DD3, --(巓)
+ [0x363C] = 0x5DD3, --(巓)
[0x363D] = 0x5DD2, --(巒)
- [0x363E] = 0x5DD6, --(巖)
+ [0x363E] = 0x5DD6, --(巖)
[0x363F] = 0x5DDB, --(巛)
- [0x3640] = 0x5DEB, --(巫)
+ [0x3640] = 0x5DEB, --(巫)
[0x3641] = 0x5DF2, --(已)
- [0x3642] = 0x5DF5, --(巵)
+ [0x3642] = 0x5DF5, --(巵)
[0x3643] = 0x5E0B, --(帋)
- [0x3644] = 0x5E1A, --(帚)
+ [0x3644] = 0x5E1A, --(帚)
[0x3645] = 0x5E19, --(帙)
- [0x3646] = 0x5E11, --(帑)
+ [0x3646] = 0x5E11, --(帑)
[0x3647] = 0x5E1B, --(帛)
- [0x3648] = 0x5E36, --(帶)
+ [0x3648] = 0x5E36, --(帶)
[0x3649] = 0x5E37, --(帷)
- [0x364A] = 0x5E44, --(幄)
+ [0x364A] = 0x5E44, --(幄)
[0x364B] = 0x5E43, --(幃)
- [0x364C] = 0x5E40, --(幀)
+ [0x364C] = 0x5E40, --(幀)
[0x364D] = 0x5E4E, --(幎)
- [0x364E] = 0x5E57, --(幗)
+ [0x364E] = 0x5E57, --(幗)
[0x364F] = 0x5E54, --(幔)
- [0x3650] = 0x5E5F, --(幟)
+ [0x3650] = 0x5E5F, --(幟)
[0x3651] = 0x5E62, --(幢)
- [0x3652] = 0x5E64, --(幤)
+ [0x3652] = 0x5E64, --(幤)
[0x3653] = 0x5E47, --(幇)
- [0x3654] = 0x5E75, --(幵)
+ [0x3654] = 0x5E75, --(幵)
[0x3655] = 0x5E76, --(并)
- [0x3656] = 0x5E7A, --(幺)
+ [0x3656] = 0x5E7A, --(幺)
[0x3657] = 0x9EBC, --(麼)
- [0x3658] = 0x5E7F, --(广)
+ [0x3658] = 0x5E7F, --(广)
[0x3659] = 0x5EA0, --(庠)
- [0x365A] = 0x5EC1, --(廁)
+ [0x365A] = 0x5EC1, --(廁)
[0x365B] = 0x5EC2, --(廂)
- [0x365C] = 0x5EC8, --(廈)
+ [0x365C] = 0x5EC8, --(廈)
[0x365D] = 0x5ED0, --(廐)
- [0x365E] = 0x5ECF, --(廏)
+ [0x365E] = 0x5ECF, --(廏)
[0x3701] = 0x5ED6, --(廖)
- [0x3702] = 0x5EE3, --(廣)
+ [0x3702] = 0x5EE3, --(廣)
[0x3703] = 0x5EDD, --(廝)
- [0x3704] = 0x5EDA, --(廚)
+ [0x3704] = 0x5EDA, --(廚)
[0x3705] = 0x5EDB, --(廛)
- [0x3706] = 0x5EE2, --(廢)
+ [0x3706] = 0x5EE2, --(廢)
[0x3707] = 0x5EE1, --(廡)
- [0x3708] = 0x5EE8, --(廨)
+ [0x3708] = 0x5EE8, --(廨)
[0x3709] = 0x5EE9, --(廩)
- [0x370A] = 0x5EEC, --(廬)
+ [0x370A] = 0x5EEC, --(廬)
[0x370B] = 0x5EF1, --(廱)
- [0x370C] = 0x5EF3, --(廳)
+ [0x370C] = 0x5EF3, --(廳)
[0x370D] = 0x5EF0, --(廰)
- [0x370E] = 0x5EF4, --(廴)
+ [0x370E] = 0x5EF4, --(廴)
[0x370F] = 0x5EF8, --(廸)
- [0x3710] = 0x5EFE, --(廾)
+ [0x3710] = 0x5EFE, --(廾)
[0x3711] = 0x5F03, --(弃)
- [0x3712] = 0x5F09, --(弉)
+ [0x3712] = 0x5F09, --(弉)
[0x3713] = 0x5F5D, --(彝)
- [0x3714] = 0x5F5C, --(彜)
+ [0x3714] = 0x5F5C, --(彜)
[0x3715] = 0x5F0B, --(弋)
- [0x3716] = 0x5F11, --(弑)
+ [0x3716] = 0x5F11, --(弑)
[0x3717] = 0x5F16, --(弖)
- [0x3718] = 0x5F29, --(弩)
+ [0x3718] = 0x5F29, --(弩)
[0x3719] = 0x5F2D, --(弭)
- [0x371A] = 0x5F38, --(弸)
+ [0x371A] = 0x5F38, --(弸)
[0x371B] = 0x5F41, --(彁)
- [0x371C] = 0x5F48, --(彈)
+ [0x371C] = 0x5F48, --(彈)
[0x371D] = 0x5F4C, --(彌)
- [0x371E] = 0x5F4E, --(彎)
+ [0x371E] = 0x5F4E, --(彎)
[0x371F] = 0x5F2F, --(弯)
- [0x3720] = 0x5F51, --(彑)
+ [0x3720] = 0x5F51, --(彑)
[0x3721] = 0x5F56, --(彖)
- [0x3722] = 0x5F57, --(彗)
+ [0x3722] = 0x5F57, --(彗)
[0x3723] = 0x5F59, --(彙)
- [0x3724] = 0x5F61, --(彡)
+ [0x3724] = 0x5F61, --(彡)
[0x3725] = 0x5F6D, --(彭)
- [0x3726] = 0x5F73, --(彳)
+ [0x3726] = 0x5F73, --(彳)
[0x3727] = 0x5F77, --(彷)
- [0x3728] = 0x5F83, --(徃)
+ [0x3728] = 0x5F83, --(徃)
[0x3729] = 0x5F82, --(徂)
- [0x372A] = 0x5F7F, --(彿)
+ [0x372A] = 0x5F7F, --(彿)
[0x372B] = 0x5F8A, --(徊)
- [0x372C] = 0x5F88, --(很)
+ [0x372C] = 0x5F88, --(很)
[0x372D] = 0x5F91, --(徑)
- [0x372E] = 0x5F87, --(徇)
+ [0x372E] = 0x5F87, --(徇)
[0x372F] = 0x5F9E, --(從)
- [0x3730] = 0x5F99, --(徙)
+ [0x3730] = 0x5F99, --(徙)
[0x3731] = 0x5F98, --(徘)
- [0x3732] = 0x5FA0, --(徠)
+ [0x3732] = 0x5FA0, --(徠)
[0x3733] = 0x5FA8, --(徨)
- [0x3734] = 0x5FAD, --(徭)
+ [0x3734] = 0x5FAD, --(徭)
[0x3735] = 0x5FBC, --(徼)
- [0x3736] = 0x5FD6, --(忖)
+ [0x3736] = 0x5FD6, --(忖)
[0x3737] = 0x5FFB, --(忻)
- [0x3738] = 0x5FE4, --(忤)
+ [0x3738] = 0x5FE4, --(忤)
[0x3739] = 0x5FF8, --(忸)
- [0x373A] = 0x5FF1, --(忱)
+ [0x373A] = 0x5FF1, --(忱)
[0x373B] = 0x5FDD, --(忝)
- [0x373C] = 0x60B3, --(悳)
+ [0x373C] = 0x60B3, --(悳)
[0x373D] = 0x5FFF, --(忿)
- [0x373E] = 0x6021, --(怡)
+ [0x373E] = 0x6021, --(怡)
[0x373F] = 0x6060, --(恠)
- [0x3740] = 0x6019, --(怙)
+ [0x3740] = 0x6019, --(怙)
[0x3741] = 0x6010, --(怐)
- [0x3742] = 0x6029, --(怩)
+ [0x3742] = 0x6029, --(怩)
[0x3743] = 0x600E, --(怎)
- [0x3744] = 0x6031, --(怱)
+ [0x3744] = 0x6031, --(怱)
[0x3745] = 0x601B, --(怛)
- [0x3746] = 0x6015, --(怕)
+ [0x3746] = 0x6015, --(怕)
[0x3747] = 0x602B, --(怫)
- [0x3748] = 0x6026, --(怦)
+ [0x3748] = 0x6026, --(怦)
[0x3749] = 0x600F, --(怏)
- [0x374A] = 0x603A, --(怺)
+ [0x374A] = 0x603A, --(怺)
[0x374B] = 0x605A, --(恚)
- [0x374C] = 0x6041, --(恁)
+ [0x374C] = 0x6041, --(恁)
[0x374D] = 0x606A, --(恪)
- [0x374E] = 0x6077, --(恷)
+ [0x374E] = 0x6077, --(恷)
[0x374F] = 0x605F, --(恟)
- [0x3750] = 0x604A, --(恊)
+ [0x3750] = 0x604A, --(恊)
[0x3751] = 0x6046, --(恆)
- [0x3752] = 0x604D, --(恍)
+ [0x3752] = 0x604D, --(恍)
[0x3753] = 0x6063, --(恣)
- [0x3754] = 0x6043, --(恃)
+ [0x3754] = 0x6043, --(恃)
[0x3755] = 0x6064, --(恤)
- [0x3756] = 0x6042, --(恂)
+ [0x3756] = 0x6042, --(恂)
[0x3757] = 0x606C, --(恬)
- [0x3758] = 0x606B, --(恫)
+ [0x3758] = 0x606B, --(恫)
[0x3759] = 0x6059, --(恙)
- [0x375A] = 0x6081, --(悁)
+ [0x375A] = 0x6081, --(悁)
[0x375B] = 0x608D, --(悍)
- [0x375C] = 0x60E7, --(惧)
+ [0x375C] = 0x60E7, --(惧)
[0x375D] = 0x6083, --(悃)
- [0x375E] = 0x609A, --(悚)
+ [0x375E] = 0x609A, --(悚)
[0x3801] = 0x6084, --(悄)
- [0x3802] = 0x609B, --(悛)
+ [0x3802] = 0x609B, --(悛)
[0x3803] = 0x6096, --(悖)
- [0x3804] = 0x6097, --(悗)
+ [0x3804] = 0x6097, --(悗)
[0x3805] = 0x6092, --(悒)
- [0x3806] = 0x60A7, --(悧)
+ [0x3806] = 0x60A7, --(悧)
[0x3807] = 0x608B, --(悋)
- [0x3808] = 0x60E1, --(惡)
+ [0x3808] = 0x60E1, --(惡)
[0x3809] = 0x60B8, --(悸)
- [0x380A] = 0x60E0, --(惠)
+ [0x380A] = 0x60E0, --(惠)
[0x380B] = 0x60D3, --(惓)
- [0x380C] = 0x60B4, --(悴)
+ [0x380C] = 0x60B4, --(悴)
[0x380D] = 0x5FF0, --(忰)
- [0x380E] = 0x60BD, --(悽)
+ [0x380E] = 0x60BD, --(悽)
[0x380F] = 0x60C6, --(惆)
- [0x3810] = 0x60B5, --(悵)
+ [0x3810] = 0x60B5, --(悵)
[0x3811] = 0x60D8, --(惘)
- [0x3812] = 0x614D, --(慍)
+ [0x3812] = 0x614D, --(慍)
[0x3813] = 0x6115, --(愕)
- [0x3814] = 0x6106, --(愆)
+ [0x3814] = 0x6106, --(愆)
[0x3815] = 0x60F6, --(惶)
- [0x3816] = 0x60F7, --(惷)
+ [0x3816] = 0x60F7, --(惷)
[0x3817] = 0x6100, --(愀)
- [0x3818] = 0x60F4, --(惴)
+ [0x3818] = 0x60F4, --(惴)
[0x3819] = 0x60FA, --(惺)
- [0x381A] = 0x6103, --(愃)
+ [0x381A] = 0x6103, --(愃)
[0x381B] = 0x6121, --(愡)
- [0x381C] = 0x60FB, --(惻)
+ [0x381C] = 0x60FB, --(惻)
[0x381D] = 0x60F1, --(惱)
- [0x381E] = 0x610D, --(愍)
+ [0x381E] = 0x610D, --(愍)
[0x381F] = 0x610E, --(愎)
- [0x3820] = 0x6147, --(慇)
+ [0x3820] = 0x6147, --(慇)
[0x3821] = 0x613E, --(愾)
- [0x3822] = 0x6128, --(愨)
+ [0x3822] = 0x6128, --(愨)
[0x3823] = 0x6127, --(愧)
- [0x3824] = 0x614A, --(慊)
+ [0x3824] = 0x614A, --(慊)
[0x3825] = 0x613F, --(愿)
- [0x3826] = 0x613C, --(愼)
+ [0x3826] = 0x613C, --(愼)
[0x3827] = 0x612C, --(愬)
- [0x3828] = 0x6134, --(愴)
+ [0x3828] = 0x6134, --(愴)
[0x3829] = 0x613D, --(愽)
- [0x382A] = 0x6142, --(慂)
+ [0x382A] = 0x6142, --(慂)
[0x382B] = 0x6144, --(慄)
- [0x382C] = 0x6173, --(慳)
+ [0x382C] = 0x6173, --(慳)
[0x382D] = 0x6177, --(慷)
- [0x382E] = 0x6158, --(慘)
+ [0x382E] = 0x6158, --(慘)
[0x382F] = 0x6159, --(慙)
- [0x3830] = 0x615A, --(慚)
+ [0x3830] = 0x615A, --(慚)
[0x3831] = 0x616B, --(慫)
- [0x3832] = 0x6174, --(慴)
+ [0x3832] = 0x6174, --(慴)
[0x3833] = 0x616F, --(慯)
- [0x3834] = 0x6165, --(慥)
+ [0x3834] = 0x6165, --(慥)
[0x3835] = 0x6171, --(慱)
- [0x3836] = 0x615F, --(慟)
+ [0x3836] = 0x615F, --(慟)
[0x3837] = 0x615D, --(慝)
- [0x3838] = 0x6153, --(慓)
+ [0x3838] = 0x6153, --(慓)
[0x3839] = 0x6175, --(慵)
- [0x383A] = 0x6199, --(憙)
+ [0x383A] = 0x6199, --(憙)
[0x383B] = 0x6196, --(憖)
- [0x383C] = 0x6187, --(憇)
+ [0x383C] = 0x6187, --(憇)
[0x383D] = 0x61AC, --(憬)
- [0x383E] = 0x6194, --(憔)
+ [0x383E] = 0x6194, --(憔)
[0x383F] = 0x619A, --(憚)
- [0x3840] = 0x618A, --(憊)
+ [0x3840] = 0x618A, --(憊)
[0x3841] = 0x6191, --(憑)
- [0x3842] = 0x61AB, --(憫)
+ [0x3842] = 0x61AB, --(憫)
[0x3843] = 0x61AE, --(憮)
- [0x3844] = 0x61CC, --(懌)
+ [0x3844] = 0x61CC, --(懌)
[0x3845] = 0x61CA, --(懊)
- [0x3846] = 0x61C9, --(應)
+ [0x3846] = 0x61C9, --(應)
[0x3847] = 0x61F7, --(懷)
- [0x3848] = 0x61C8, --(懈)
+ [0x3848] = 0x61C8, --(懈)
[0x3849] = 0x61C3, --(懃)
- [0x384A] = 0x61C6, --(懆)
+ [0x384A] = 0x61C6, --(懆)
[0x384B] = 0x61BA, --(憺)
- [0x384C] = 0x61CB, --(懋)
+ [0x384C] = 0x61CB, --(懋)
[0x384D] = 0x7F79, --(罹)
- [0x384E] = 0x61CD, --(懍)
+ [0x384E] = 0x61CD, --(懍)
[0x384F] = 0x61E6, --(懦)
- [0x3850] = 0x61E3, --(懣)
+ [0x3850] = 0x61E3, --(懣)
[0x3851] = 0x61F6, --(懶)
- [0x3852] = 0x61FA, --(懺)
+ [0x3852] = 0x61FA, --(懺)
[0x3853] = 0x61F4, --(懴)
- [0x3854] = 0x61FF, --(懿)
+ [0x3854] = 0x61FF, --(懿)
[0x3855] = 0x61FD, --(懽)
- [0x3856] = 0x61FC, --(懼)
+ [0x3856] = 0x61FC, --(懼)
[0x3857] = 0x61FE, --(懾)
- [0x3858] = 0x6200, --(戀)
+ [0x3858] = 0x6200, --(戀)
[0x3859] = 0x6208, --(戈)
- [0x385A] = 0x6209, --(戉)
+ [0x385A] = 0x6209, --(戉)
[0x385B] = 0x620D, --(戍)
- [0x385C] = 0x620C, --(戌)
+ [0x385C] = 0x620C, --(戌)
[0x385D] = 0x6214, --(戔)
- [0x385E] = 0x621B, --(戛)
+ [0x385E] = 0x621B, --(戛)
[0x3901] = 0x621E, --(戞)
- [0x3902] = 0x6221, --(戡)
+ [0x3902] = 0x6221, --(戡)
[0x3903] = 0x622A, --(截)
- [0x3904] = 0x622E, --(戮)
+ [0x3904] = 0x622E, --(戮)
[0x3905] = 0x6230, --(戰)
- [0x3906] = 0x6232, --(戲)
+ [0x3906] = 0x6232, --(戲)
[0x3907] = 0x6233, --(戳)
- [0x3908] = 0x6241, --(扁)
+ [0x3908] = 0x6241, --(扁)
[0x3909] = 0x624E, --(扎)
- [0x390A] = 0x625E, --(扞)
+ [0x390A] = 0x625E, --(扞)
[0x390B] = 0x6263, --(扣)
- [0x390C] = 0x625B, --(扛)
+ [0x390C] = 0x625B, --(扛)
[0x390D] = 0x6260, --(扠)
- [0x390E] = 0x6268, --(扨)
+ [0x390E] = 0x6268, --(扨)
[0x390F] = 0x627C, --(扼)
- [0x3910] = 0x6282, --(抂)
+ [0x3910] = 0x6282, --(抂)
[0x3911] = 0x6289, --(抉)
- [0x3912] = 0x627E, --(找)
+ [0x3912] = 0x627E, --(找)
[0x3913] = 0x6292, --(抒)
- [0x3914] = 0x6293, --(抓)
+ [0x3914] = 0x6293, --(抓)
[0x3915] = 0x6296, --(抖)
- [0x3916] = 0x62D4, --(拔)
+ [0x3916] = 0x62D4, --(拔)
[0x3917] = 0x6283, --(抃)
- [0x3918] = 0x6294, --(抔)
+ [0x3918] = 0x6294, --(抔)
[0x3919] = 0x62D7, --(拗)
- [0x391A] = 0x62D1, --(拑)
+ [0x391A] = 0x62D1, --(拑)
[0x391B] = 0x62BB, --(抻)
- [0x391C] = 0x62CF, --(拏)
+ [0x391C] = 0x62CF, --(拏)
[0x391D] = 0x62FF, --(拿)
- [0x391E] = 0x62C6, --(拆)
+ [0x391E] = 0x62C6, --(拆)
[0x391F] = 0x64D4, --(擔)
- [0x3920] = 0x62C8, --(拈)
+ [0x3920] = 0x62C8, --(拈)
[0x3921] = 0x62DC, --(拜)
- [0x3922] = 0x62CC, --(拌)
+ [0x3922] = 0x62CC, --(拌)
[0x3923] = 0x62CA, --(拊)
- [0x3924] = 0x62C2, --(拂)
+ [0x3924] = 0x62C2, --(拂)
[0x3925] = 0x62C7, --(拇)
- [0x3926] = 0x629B, --(抛)
+ [0x3926] = 0x629B, --(抛)
[0x3927] = 0x62C9, --(拉)
- [0x3928] = 0x630C, --(挌)
+ [0x3928] = 0x630C, --(挌)
[0x3929] = 0x62EE, --(拮)
- [0x392A] = 0x62F1, --(拱)
+ [0x392A] = 0x62F1, --(拱)
[0x392B] = 0x6327, --(挧)
- [0x392C] = 0x6302, --(挂)
+ [0x392C] = 0x6302, --(挂)
[0x392D] = 0x6308, --(挈)
- [0x392E] = 0x62EF, --(拯)
+ [0x392E] = 0x62EF, --(拯)
[0x392F] = 0x62F5, --(拵)
- [0x3930] = 0x6350, --(捐)
+ [0x3930] = 0x6350, --(捐)
[0x3931] = 0x633E, --(挾)
- [0x3932] = 0x634D, --(捍)
+ [0x3932] = 0x634D, --(捍)
[0x3933] = 0x641C, --(搜)
- [0x3934] = 0x634F, --(捏)
+ [0x3934] = 0x634F, --(捏)
[0x3935] = 0x6396, --(掖)
- [0x3936] = 0x638E, --(掎)
+ [0x3936] = 0x638E, --(掎)
[0x3937] = 0x6380, --(掀)
- [0x3938] = 0x63AB, --(掫)
+ [0x3938] = 0x63AB, --(掫)
[0x3939] = 0x6376, --(捶)
- [0x393A] = 0x63A3, --(掣)
+ [0x393A] = 0x63A3, --(掣)
[0x393B] = 0x638F, --(掏)
- [0x393C] = 0x6389, --(掉)
+ [0x393C] = 0x6389, --(掉)
[0x393D] = 0x639F, --(掟)
- [0x393E] = 0x63B5, --(掵)
+ [0x393E] = 0x63B5, --(掵)
[0x393F] = 0x636B, --(捫)
- [0x3940] = 0x6369, --(捩)
+ [0x3940] = 0x6369, --(捩)
[0x3941] = 0x63BE, --(掾)
- [0x3942] = 0x63E9, --(揩)
+ [0x3942] = 0x63E9, --(揩)
[0x3943] = 0x63C0, --(揀)
- [0x3944] = 0x63C6, --(揆)
+ [0x3944] = 0x63C6, --(揆)
[0x3945] = 0x63E3, --(揣)
- [0x3946] = 0x63C9, --(揉)
+ [0x3946] = 0x63C9, --(揉)
[0x3947] = 0x63D2, --(插)
- [0x3948] = 0x63F6, --(揶)
+ [0x3948] = 0x63F6, --(揶)
[0x3949] = 0x63C4, --(揄)
- [0x394A] = 0x6416, --(搖)
+ [0x394A] = 0x6416, --(搖)
[0x394B] = 0x6434, --(搴)
- [0x394C] = 0x6406, --(搆)
+ [0x394C] = 0x6406, --(搆)
[0x394D] = 0x6413, --(搓)
- [0x394E] = 0x6426, --(搦)
+ [0x394E] = 0x6426, --(搦)
[0x394F] = 0x6436, --(搶)
- [0x3950] = 0x651D, --(攝)
+ [0x3950] = 0x651D, --(攝)
[0x3951] = 0x6417, --(搗)
- [0x3952] = 0x6428, --(搨)
+ [0x3952] = 0x6428, --(搨)
[0x3953] = 0x640F, --(搏)
- [0x3954] = 0x6467, --(摧)
+ [0x3954] = 0x6467, --(摧)
[0x3955] = 0x646F, --(摯)
- [0x3956] = 0x6476, --(摶)
+ [0x3956] = 0x6476, --(摶)
[0x3957] = 0x644E, --(摎)
- [0x3958] = 0x652A, --(攪)
+ [0x3958] = 0x652A, --(攪)
[0x3959] = 0x6495, --(撕)
- [0x395A] = 0x6493, --(撓)
+ [0x395A] = 0x6493, --(撓)
[0x395B] = 0x64A5, --(撥)
- [0x395C] = 0x64A9, --(撩)
+ [0x395C] = 0x64A9, --(撩)
[0x395D] = 0x6488, --(撈)
- [0x395E] = 0x64BC, --(撼)
+ [0x395E] = 0x64BC, --(撼)
[0x3A01] = 0x64DA, --(據)
- [0x3A02] = 0x64D2, --(擒)
+ [0x3A02] = 0x64D2, --(擒)
[0x3A03] = 0x64C5, --(擅)
- [0x3A04] = 0x64C7, --(擇)
+ [0x3A04] = 0x64C7, --(擇)
[0x3A05] = 0x64BB, --(撻)
- [0x3A06] = 0x64D8, --(擘)
+ [0x3A06] = 0x64D8, --(擘)
[0x3A07] = 0x64C2, --(擂)
- [0x3A08] = 0x64F1, --(擱)
+ [0x3A08] = 0x64F1, --(擱)
[0x3A09] = 0x64E7, --(擧)
- [0x3A0A] = 0x8209, --(舉)
+ [0x3A0A] = 0x8209, --(舉)
[0x3A0B] = 0x64E0, --(擠)
- [0x3A0C] = 0x64E1, --(擡)
+ [0x3A0C] = 0x64E1, --(擡)
[0x3A0D] = 0x62AC, --(抬)
- [0x3A0E] = 0x64E3, --(擣)
+ [0x3A0E] = 0x64E3, --(擣)
[0x3A0F] = 0x64EF, --(擯)
- [0x3A10] = 0x652C, --(攬)
+ [0x3A10] = 0x652C, --(攬)
[0x3A11] = 0x64F6, --(擶)
- [0x3A12] = 0x64F4, --(擴)
+ [0x3A12] = 0x64F4, --(擴)
[0x3A13] = 0x64F2, --(擲)
- [0x3A14] = 0x64FA, --(擺)
+ [0x3A14] = 0x64FA, --(擺)
[0x3A15] = 0x6500, --(攀)
- [0x3A16] = 0x64FD, --(擽)
+ [0x3A16] = 0x64FD, --(擽)
[0x3A17] = 0x6518, --(攘)
- [0x3A18] = 0x651C, --(攜)
+ [0x3A18] = 0x651C, --(攜)
[0x3A19] = 0x6505, --(攅)
- [0x3A1A] = 0x6524, --(攤)
+ [0x3A1A] = 0x6524, --(攤)
[0x3A1B] = 0x6523, --(攣)
- [0x3A1C] = 0x652B, --(攫)
+ [0x3A1C] = 0x652B, --(攫)
[0x3A1D] = 0x6534, --(攴)
- [0x3A1E] = 0x6535, --(攵)
+ [0x3A1E] = 0x6535, --(攵)
[0x3A1F] = 0x6537, --(攷)
- [0x3A20] = 0x6536, --(收)
+ [0x3A20] = 0x6536, --(收)
[0x3A21] = 0x6538, --(攸)
- [0x3A22] = 0x754B, --(畋)
+ [0x3A22] = 0x754B, --(畋)
[0x3A23] = 0x6548, --(效)
- [0x3A24] = 0x6556, --(敖)
+ [0x3A24] = 0x6556, --(敖)
[0x3A25] = 0x6555, --(敕)
- [0x3A26] = 0x654D, --(敍)
+ [0x3A26] = 0x654D, --(敍)
[0x3A27] = 0x6558, --(敘)
- [0x3A28] = 0x655E, --(敞)
+ [0x3A28] = 0x655E, --(敞)
[0x3A29] = 0x655D, --(敝)
- [0x3A2A] = 0x6572, --(敲)
+ [0x3A2A] = 0x6572, --(敲)
[0x3A2B] = 0x6578, --(數)
- [0x3A2C] = 0x6582, --(斂)
+ [0x3A2C] = 0x6582, --(斂)
[0x3A2D] = 0x6583, --(斃)
- [0x3A2E] = 0x8B8A, --(變)
+ [0x3A2E] = 0x8B8A, --(變)
[0x3A2F] = 0x659B, --(斛)
- [0x3A30] = 0x659F, --(斟)
+ [0x3A30] = 0x659F, --(斟)
[0x3A31] = 0x65AB, --(斫)
- [0x3A32] = 0x65B7, --(斷)
+ [0x3A32] = 0x65B7, --(斷)
[0x3A33] = 0x65C3, --(旃)
- [0x3A34] = 0x65C6, --(旆)
+ [0x3A34] = 0x65C6, --(旆)
[0x3A35] = 0x65C1, --(旁)
- [0x3A36] = 0x65C4, --(旄)
+ [0x3A36] = 0x65C4, --(旄)
[0x3A37] = 0x65CC, --(旌)
- [0x3A38] = 0x65D2, --(旒)
+ [0x3A38] = 0x65D2, --(旒)
[0x3A39] = 0x65DB, --(旛)
- [0x3A3A] = 0x65D9, --(旙)
+ [0x3A3A] = 0x65D9, --(旙)
[0x3A3B] = 0x65E0, --(无)
- [0x3A3C] = 0x65E1, --(旡)
+ [0x3A3C] = 0x65E1, --(旡)
[0x3A3D] = 0x65F1, --(旱)
- [0x3A3E] = 0x6772, --(杲)
+ [0x3A3E] = 0x6772, --(杲)
[0x3A3F] = 0x660A, --(昊)
- [0x3A40] = 0x6603, --(昃)
+ [0x3A40] = 0x6603, --(昃)
[0x3A41] = 0x65FB, --(旻)
- [0x3A42] = 0x6773, --(杳)
+ [0x3A42] = 0x6773, --(杳)
[0x3A43] = 0x6635, --(昵)
- [0x3A44] = 0x6636, --(昶)
+ [0x3A44] = 0x6636, --(昶)
[0x3A45] = 0x6634, --(昴)
- [0x3A46] = 0x661C, --(昜)
+ [0x3A46] = 0x661C, --(昜)
[0x3A47] = 0x664F, --(晏)
- [0x3A48] = 0x6644, --(晄)
+ [0x3A48] = 0x6644, --(晄)
[0x3A49] = 0x6649, --(晉)
- [0x3A4A] = 0x6641, --(晁)
+ [0x3A4A] = 0x6641, --(晁)
[0x3A4B] = 0x665E, --(晞)
- [0x3A4C] = 0x665D, --(晝)
+ [0x3A4C] = 0x665D, --(晝)
[0x3A4D] = 0x6664, --(晤)
- [0x3A4E] = 0x6667, --(晧)
+ [0x3A4E] = 0x6667, --(晧)
[0x3A4F] = 0x6668, --(晨)
- [0x3A50] = 0x665F, --(晟)
+ [0x3A50] = 0x665F, --(晟)
[0x3A51] = 0x6662, --(晢)
- [0x3A52] = 0x6670, --(晰)
+ [0x3A52] = 0x6670, --(晰)
[0x3A53] = 0x6683, --(暃)
- [0x3A54] = 0x6688, --(暈)
+ [0x3A54] = 0x6688, --(暈)
[0x3A55] = 0x668E, --(暎)
- [0x3A56] = 0x6689, --(暉)
+ [0x3A56] = 0x6689, --(暉)
[0x3A57] = 0x6684, --(暄)
- [0x3A58] = 0x6698, --(暘)
+ [0x3A58] = 0x6698, --(暘)
[0x3A59] = 0x669D, --(暝)
- [0x3A5A] = 0x66C1, --(曁)
+ [0x3A5A] = 0x66C1, --(曁)
[0x3A5B] = 0x66B9, --(暹)
- [0x3A5C] = 0x66C9, --(曉)
+ [0x3A5C] = 0x66C9, --(曉)
[0x3A5D] = 0x66BE, --(暾)
- [0x3A5E] = 0x66BC, --(暼)
+ [0x3A5E] = 0x66BC, --(暼)
[0x3B01] = 0x66C4, --(曄)
- [0x3B02] = 0x66B8, --(暸)
+ [0x3B02] = 0x66B8, --(暸)
[0x3B03] = 0x66D6, --(曖)
- [0x3B04] = 0x66DA, --(曚)
+ [0x3B04] = 0x66DA, --(曚)
[0x3B05] = 0x66E0, --(曠)
- [0x3B06] = 0x663F, --(昿)
+ [0x3B06] = 0x663F, --(昿)
[0x3B07] = 0x66E6, --(曦)
- [0x3B08] = 0x66E9, --(曩)
+ [0x3B08] = 0x66E9, --(曩)
[0x3B09] = 0x66F0, --(曰)
- [0x3B0A] = 0x66F5, --(曵)
+ [0x3B0A] = 0x66F5, --(曵)
[0x3B0B] = 0x66F7, --(曷)
- [0x3B0C] = 0x670F, --(朏)
+ [0x3B0C] = 0x670F, --(朏)
[0x3B0D] = 0x6716, --(朖)
- [0x3B0E] = 0x671E, --(朞)
+ [0x3B0E] = 0x671E, --(朞)
[0x3B0F] = 0x6726, --(朦)
- [0x3B10] = 0x6727, --(朧)
+ [0x3B10] = 0x6727, --(朧)
[0x3B11] = 0x9738, --(霸)
- [0x3B12] = 0x672E, --(朮)
+ [0x3B12] = 0x672E, --(朮)
[0x3B13] = 0x673F, --(朿)
- [0x3B14] = 0x6736, --(朶)
+ [0x3B14] = 0x6736, --(朶)
[0x3B15] = 0x6741, --(杁)
- [0x3B16] = 0x6738, --(朸)
+ [0x3B16] = 0x6738, --(朸)
[0x3B17] = 0x6737, --(朷)
- [0x3B18] = 0x6746, --(杆)
+ [0x3B18] = 0x6746, --(杆)
[0x3B19] = 0x675E, --(杞)
- [0x3B1A] = 0x6760, --(杠)
+ [0x3B1A] = 0x6760, --(杠)
[0x3B1B] = 0x6759, --(杙)
- [0x3B1C] = 0x6763, --(杣)
+ [0x3B1C] = 0x6763, --(杣)
[0x3B1D] = 0x6764, --(杤)
- [0x3B1E] = 0x6789, --(枉)
+ [0x3B1E] = 0x6789, --(枉)
[0x3B1F] = 0x6770, --(杰)
- [0x3B20] = 0x67A9, --(枩)
+ [0x3B20] = 0x67A9, --(枩)
[0x3B21] = 0x677C, --(杼)
- [0x3B22] = 0x676A, --(杪)
+ [0x3B22] = 0x676A, --(杪)
[0x3B23] = 0x678C, --(枌)
- [0x3B24] = 0x678B, --(枋)
+ [0x3B24] = 0x678B, --(枋)
[0x3B25] = 0x67A6, --(枦)
- [0x3B26] = 0x67A1, --(枡)
+ [0x3B26] = 0x67A1, --(枡)
[0x3B27] = 0x6785, --(枅)
- [0x3B28] = 0x67B7, --(枷)
+ [0x3B28] = 0x67B7, --(枷)
[0x3B29] = 0x67EF, --(柯)
- [0x3B2A] = 0x67B4, --(枴)
+ [0x3B2A] = 0x67B4, --(枴)
[0x3B2B] = 0x67EC, --(柬)
- [0x3B2C] = 0x67B3, --(枳)
+ [0x3B2C] = 0x67B3, --(枳)
[0x3B2D] = 0x67E9, --(柩)
- [0x3B2E] = 0x67B8, --(枸)
+ [0x3B2E] = 0x67B8, --(枸)
[0x3B2F] = 0x67E4, --(柤)
- [0x3B30] = 0x67DE, --(柞)
+ [0x3B30] = 0x67DE, --(柞)
[0x3B31] = 0x67DD, --(柝)
- [0x3B32] = 0x67E2, --(柢)
+ [0x3B32] = 0x67E2, --(柢)
[0x3B33] = 0x67EE, --(柮)
- [0x3B34] = 0x67B9, --(枹)
+ [0x3B34] = 0x67B9, --(枹)
[0x3B35] = 0x67CE, --(柎)
- [0x3B36] = 0x67C6, --(柆)
+ [0x3B36] = 0x67C6, --(柆)
[0x3B37] = 0x67E7, --(柧)
- [0x3B38] = 0x6A9C, --(檜)
+ [0x3B38] = 0x6A9C, --(檜)
[0x3B39] = 0x681E, --(栞)
- [0x3B3A] = 0x6846, --(框)
+ [0x3B3A] = 0x6846, --(框)
[0x3B3B] = 0x6829, --(栩)
- [0x3B3C] = 0x6840, --(桀)
+ [0x3B3C] = 0x6840, --(桀)
[0x3B3D] = 0x684D, --(桍)
- [0x3B3E] = 0x6832, --(栲)
+ [0x3B3E] = 0x6832, --(栲)
[0x3B3F] = 0x684E, --(桎)
- [0x3B40] = 0x68B3, --(梳)
+ [0x3B40] = 0x68B3, --(梳)
[0x3B41] = 0x682B, --(栫)
- [0x3B42] = 0x6859, --(桙)
+ [0x3B42] = 0x6859, --(桙)
[0x3B43] = 0x6863, --(档)
- [0x3B44] = 0x6877, --(桷)
+ [0x3B44] = 0x6877, --(桷)
[0x3B45] = 0x687F, --(桿)
- [0x3B46] = 0x689F, --(梟)
+ [0x3B46] = 0x689F, --(梟)
[0x3B47] = 0x688F, --(梏)
- [0x3B48] = 0x68AD, --(梭)
+ [0x3B48] = 0x68AD, --(梭)
[0x3B49] = 0x6894, --(梔)
- [0x3B4A] = 0x689D, --(條)
+ [0x3B4A] = 0x689D, --(條)
[0x3B4B] = 0x689B, --(梛)
- [0x3B4C] = 0x6883, --(梃)
+ [0x3B4C] = 0x6883, --(梃)
[0x3B4D] = 0x6AAE, --(檮)
- [0x3B4E] = 0x68B9, --(梹)
+ [0x3B4E] = 0x68B9, --(梹)
[0x3B4F] = 0x6874, --(桴)
- [0x3B50] = 0x68B5, --(梵)
+ [0x3B50] = 0x68B5, --(梵)
[0x3B51] = 0x68A0, --(梠)
- [0x3B52] = 0x68BA, --(梺)
+ [0x3B52] = 0x68BA, --(梺)
[0x3B53] = 0x690F, --(椏)
- [0x3B54] = 0x688D, --(梍)
+ [0x3B54] = 0x688D, --(梍)
[0x3B55] = 0x687E, --(桾)
- [0x3B56] = 0x6901, --(椁)
+ [0x3B56] = 0x6901, --(椁)
[0x3B57] = 0x68CA, --(棊)
- [0x3B58] = 0x6908, --(椈)
+ [0x3B58] = 0x6908, --(椈)
[0x3B59] = 0x68D8, --(棘)
- [0x3B5A] = 0x6922, --(椢)
+ [0x3B5A] = 0x6922, --(椢)
[0x3B5B] = 0x6926, --(椦)
- [0x3B5C] = 0x68E1, --(棡)
+ [0x3B5C] = 0x68E1, --(棡)
[0x3B5D] = 0x690C, --(椌)
- [0x3B5E] = 0x68CD, --(棍)
+ [0x3B5E] = 0x68CD, --(棍)
[0x3C01] = 0x68D4, --(棔)
- [0x3C02] = 0x68E7, --(棧)
+ [0x3C02] = 0x68E7, --(棧)
[0x3C03] = 0x68D5, --(棕)
- [0x3C04] = 0x6936, --(椶)
+ [0x3C04] = 0x6936, --(椶)
[0x3C05] = 0x6912, --(椒)
- [0x3C06] = 0x6904, --(椄)
+ [0x3C06] = 0x6904, --(椄)
[0x3C07] = 0x68D7, --(棗)
- [0x3C08] = 0x68E3, --(棣)
+ [0x3C08] = 0x68E3, --(棣)
[0x3C09] = 0x6925, --(椥)
- [0x3C0A] = 0x68F9, --(棹)
+ [0x3C0A] = 0x68F9, --(棹)
[0x3C0B] = 0x68E0, --(棠)
- [0x3C0C] = 0x68EF, --(棯)
+ [0x3C0C] = 0x68EF, --(棯)
[0x3C0D] = 0x6928, --(椨)
- [0x3C0E] = 0x692A, --(椪)
+ [0x3C0E] = 0x692A, --(椪)
[0x3C0F] = 0x691A, --(椚)
- [0x3C10] = 0x6923, --(椣)
+ [0x3C10] = 0x6923, --(椣)
[0x3C11] = 0x6921, --(椡)
- [0x3C12] = 0x68C6, --(棆)
+ [0x3C12] = 0x68C6, --(棆)
[0x3C13] = 0x6979, --(楹)
- [0x3C14] = 0x6977, --(楷)
+ [0x3C14] = 0x6977, --(楷)
[0x3C15] = 0x695C, --(楜)
- [0x3C16] = 0x6978, --(楸)
+ [0x3C16] = 0x6978, --(楸)
[0x3C17] = 0x696B, --(楫)
- [0x3C18] = 0x6954, --(楔)
+ [0x3C18] = 0x6954, --(楔)
[0x3C19] = 0x697E, --(楾)
- [0x3C1A] = 0x696E, --(楮)
+ [0x3C1A] = 0x696E, --(楮)
[0x3C1B] = 0x6939, --(椹)
- [0x3C1C] = 0x6974, --(楴)
+ [0x3C1C] = 0x6974, --(楴)
[0x3C1D] = 0x693D, --(椽)
- [0x3C1E] = 0x6959, --(楙)
+ [0x3C1E] = 0x6959, --(楙)
[0x3C1F] = 0x6930, --(椰)
- [0x3C20] = 0x6961, --(楡)
+ [0x3C20] = 0x6961, --(楡)
[0x3C21] = 0x695E, --(楞)
- [0x3C22] = 0x695D, --(楝)
+ [0x3C22] = 0x695D, --(楝)
[0x3C23] = 0x6981, --(榁)
- [0x3C24] = 0x696A, --(楪)
+ [0x3C24] = 0x696A, --(楪)
[0x3C25] = 0x69B2, --(榲)
- [0x3C26] = 0x69AE, --(榮)
+ [0x3C26] = 0x69AE, --(榮)
[0x3C27] = 0x69D0, --(槐)
- [0x3C28] = 0x69BF, --(榿)
+ [0x3C28] = 0x69BF, --(榿)
[0x3C29] = 0x69C1, --(槁)
- [0x3C2A] = 0x69D3, --(槓)
+ [0x3C2A] = 0x69D3, --(槓)
[0x3C2B] = 0x69BE, --(榾)
- [0x3C2C] = 0x69CE, --(槎)
+ [0x3C2C] = 0x69CE, --(槎)
[0x3C2D] = 0x5BE8, --(寨)
- [0x3C2E] = 0x69CA, --(槊)
+ [0x3C2E] = 0x69CA, --(槊)
[0x3C2F] = 0x69DD, --(槝)
- [0x3C30] = 0x69BB, --(榻)
+ [0x3C30] = 0x69BB, --(榻)
[0x3C31] = 0x69C3, --(槃)
- [0x3C32] = 0x69A7, --(榧)
+ [0x3C32] = 0x69A7, --(榧)
[0x3C33] = 0x6A2E, --(樮)
- [0x3C34] = 0x6991, --(榑)
+ [0x3C34] = 0x6991, --(榑)
[0x3C35] = 0x69A0, --(榠)
- [0x3C36] = 0x699C, --(榜)
+ [0x3C36] = 0x699C, --(榜)
[0x3C37] = 0x6995, --(榕)
- [0x3C38] = 0x69B4, --(榴)
+ [0x3C38] = 0x69B4, --(榴)
[0x3C39] = 0x69DE, --(槞)
- [0x3C3A] = 0x69E8, --(槨)
+ [0x3C3A] = 0x69E8, --(槨)
[0x3C3B] = 0x6A02, --(樂)
- [0x3C3C] = 0x6A1B, --(樛)
+ [0x3C3C] = 0x6A1B, --(樛)
[0x3C3D] = 0x69FF, --(槿)
- [0x3C3E] = 0x6B0A, --(權)
+ [0x3C3E] = 0x6B0A, --(權)
[0x3C3F] = 0x69F9, --(槹)
- [0x3C40] = 0x69F2, --(槲)
+ [0x3C40] = 0x69F2, --(槲)
[0x3C41] = 0x69E7, --(槧)
- [0x3C42] = 0x6A05, --(樅)
+ [0x3C42] = 0x6A05, --(樅)
[0x3C43] = 0x69B1, --(榱)
- [0x3C44] = 0x6A1E, --(樞)
+ [0x3C44] = 0x6A1E, --(樞)
[0x3C45] = 0x69ED, --(槭)
- [0x3C46] = 0x6A14, --(樔)
+ [0x3C46] = 0x6A14, --(樔)
[0x3C47] = 0x69EB, --(槫)
- [0x3C48] = 0x6A0A, --(樊)
+ [0x3C48] = 0x6A0A, --(樊)
[0x3C49] = 0x6A12, --(樒)
- [0x3C4A] = 0x6AC1, --(櫁)
+ [0x3C4A] = 0x6AC1, --(櫁)
[0x3C4B] = 0x6A23, --(樣)
- [0x3C4C] = 0x6A13, --(樓)
+ [0x3C4C] = 0x6A13, --(樓)
[0x3C4D] = 0x6A44, --(橄)
- [0x3C4E] = 0x6A0C, --(樌)
+ [0x3C4E] = 0x6A0C, --(樌)
[0x3C4F] = 0x6A72, --(橲)
- [0x3C50] = 0x6A36, --(樶)
+ [0x3C50] = 0x6A36, --(樶)
[0x3C51] = 0x6A78, --(橸)
- [0x3C52] = 0x6A47, --(橇)
+ [0x3C52] = 0x6A47, --(橇)
[0x3C53] = 0x6A62, --(橢)
- [0x3C54] = 0x6A59, --(橙)
+ [0x3C54] = 0x6A59, --(橙)
[0x3C55] = 0x6A66, --(橦)
- [0x3C56] = 0x6A48, --(橈)
+ [0x3C56] = 0x6A48, --(橈)
[0x3C57] = 0x6A38, --(樸)
- [0x3C58] = 0x6A22, --(樢)
+ [0x3C58] = 0x6A22, --(樢)
[0x3C59] = 0x6A90, --(檐)
- [0x3C5A] = 0x6A8D, --(檍)
+ [0x3C5A] = 0x6A8D, --(檍)
[0x3C5B] = 0x6AA0, --(檠)
- [0x3C5C] = 0x6A84, --(檄)
+ [0x3C5C] = 0x6A84, --(檄)
[0x3C5D] = 0x6AA2, --(檢)
- [0x3C5E] = 0x6AA3, --(檣)
+ [0x3C5E] = 0x6AA3, --(檣)
[0x3D01] = 0x6A97, --(檗)
- [0x3D02] = 0x8617, --(蘗)
+ [0x3D02] = 0x8617, --(蘗)
[0x3D03] = 0x6ABB, --(檻)
- [0x3D04] = 0x6AC3, --(櫃)
+ [0x3D04] = 0x6AC3, --(櫃)
[0x3D05] = 0x6AC2, --(櫂)
- [0x3D06] = 0x6AB8, --(檸)
+ [0x3D06] = 0x6AB8, --(檸)
[0x3D07] = 0x6AB3, --(檳)
- [0x3D08] = 0x6AAC, --(檬)
+ [0x3D08] = 0x6AAC, --(檬)
[0x3D09] = 0x6ADE, --(櫞)
- [0x3D0A] = 0x6AD1, --(櫑)
+ [0x3D0A] = 0x6AD1, --(櫑)
[0x3D0B] = 0x6ADF, --(櫟)
- [0x3D0C] = 0x6AAA, --(檪)
+ [0x3D0C] = 0x6AAA, --(檪)
[0x3D0D] = 0x6ADA, --(櫚)
- [0x3D0E] = 0x6AEA, --(櫪)
+ [0x3D0E] = 0x6AEA, --(櫪)
[0x3D0F] = 0x6AFB, --(櫻)
- [0x3D10] = 0x6B05, --(欅)
+ [0x3D10] = 0x6B05, --(欅)
[0x3D11] = 0x8616, --(蘖)
- [0x3D12] = 0x6AFA, --(櫺)
+ [0x3D12] = 0x6AFA, --(櫺)
[0x3D13] = 0x6B12, --(欒)
- [0x3D14] = 0x6B16, --(欖)
+ [0x3D14] = 0x6B16, --(欖)
[0x3D15] = 0x9B31, --(鬱)
- [0x3D16] = 0x6B1F, --(欟)
+ [0x3D16] = 0x6B1F, --(欟)
[0x3D17] = 0x6B38, --(欸)
- [0x3D18] = 0x6B37, --(欷)
+ [0x3D18] = 0x6B37, --(欷)
[0x3D19] = 0x76DC, --(盜)
- [0x3D1A] = 0x6B39, --(欹)
+ [0x3D1A] = 0x6B39, --(欹)
[0x3D1B] = 0x98EE, --(飮)
- [0x3D1C] = 0x6B47, --(歇)
+ [0x3D1C] = 0x6B47, --(歇)
[0x3D1D] = 0x6B43, --(歃)
- [0x3D1E] = 0x6B49, --(歉)
+ [0x3D1E] = 0x6B49, --(歉)
[0x3D1F] = 0x6B50, --(歐)
- [0x3D20] = 0x6B59, --(歙)
+ [0x3D20] = 0x6B59, --(歙)
[0x3D21] = 0x6B54, --(歔)
- [0x3D22] = 0x6B5B, --(歛)
+ [0x3D22] = 0x6B5B, --(歛)
[0x3D23] = 0x6B5F, --(歟)
- [0x3D24] = 0x6B61, --(歡)
+ [0x3D24] = 0x6B61, --(歡)
[0x3D25] = 0x6B78, --(歸)
- [0x3D26] = 0x6B79, --(歹)
+ [0x3D26] = 0x6B79, --(歹)
[0x3D27] = 0x6B7F, --(歿)
- [0x3D28] = 0x6B80, --(殀)
+ [0x3D28] = 0x6B80, --(殀)
[0x3D29] = 0x6B84, --(殄)
- [0x3D2A] = 0x6B83, --(殃)
+ [0x3D2A] = 0x6B83, --(殃)
[0x3D2B] = 0x6B8D, --(殍)
- [0x3D2C] = 0x6B98, --(殘)
+ [0x3D2C] = 0x6B98, --(殘)
[0x3D2D] = 0x6B95, --(殕)
- [0x3D2E] = 0x6B9E, --(殞)
+ [0x3D2E] = 0x6B9E, --(殞)
[0x3D2F] = 0x6BA4, --(殤)
- [0x3D30] = 0x6BAA, --(殪)
+ [0x3D30] = 0x6BAA, --(殪)
[0x3D31] = 0x6BAB, --(殫)
- [0x3D32] = 0x6BAF, --(殯)
+ [0x3D32] = 0x6BAF, --(殯)
[0x3D33] = 0x6BB2, --(殲)
- [0x3D34] = 0x6BB1, --(殱)
+ [0x3D34] = 0x6BB1, --(殱)
[0x3D35] = 0x6BB3, --(殳)
- [0x3D36] = 0x6BB7, --(殷)
+ [0x3D36] = 0x6BB7, --(殷)
[0x3D37] = 0x6BBC, --(殼)
- [0x3D38] = 0x6BC6, --(毆)
+ [0x3D38] = 0x6BC6, --(毆)
[0x3D39] = 0x6BCB, --(毋)
- [0x3D3A] = 0x6BD3, --(毓)
+ [0x3D3A] = 0x6BD3, --(毓)
[0x3D3B] = 0x6BDF, --(毟)
- [0x3D3C] = 0x6BEC, --(毬)
+ [0x3D3C] = 0x6BEC, --(毬)
[0x3D3D] = 0x6BEB, --(毫)
- [0x3D3E] = 0x6BF3, --(毳)
+ [0x3D3E] = 0x6BF3, --(毳)
[0x3D3F] = 0x6BEF, --(毯)
- [0x3D40] = 0x9EBE, --(麾)
+ [0x3D40] = 0x9EBE, --(麾)
[0x3D41] = 0x6C08, --(氈)
- [0x3D42] = 0x6C13, --(氓)
+ [0x3D42] = 0x6C13, --(氓)
[0x3D43] = 0x6C14, --(气)
- [0x3D44] = 0x6C1B, --(氛)
+ [0x3D44] = 0x6C1B, --(氛)
[0x3D45] = 0x6C24, --(氤)
- [0x3D46] = 0x6C23, --(氣)
+ [0x3D46] = 0x6C23, --(氣)
[0x3D47] = 0x6C5E, --(汞)
- [0x3D48] = 0x6C55, --(汕)
+ [0x3D48] = 0x6C55, --(汕)
[0x3D49] = 0x6C62, --(汢)
- [0x3D4A] = 0x6C6A, --(汪)
+ [0x3D4A] = 0x6C6A, --(汪)
[0x3D4B] = 0x6C82, --(沂)
- [0x3D4C] = 0x6C8D, --(沍)
+ [0x3D4C] = 0x6C8D, --(沍)
[0x3D4D] = 0x6C9A, --(沚)
- [0x3D4E] = 0x6C81, --(沁)
+ [0x3D4E] = 0x6C81, --(沁)
[0x3D4F] = 0x6C9B, --(沛)
- [0x3D50] = 0x6C7E, --(汾)
+ [0x3D50] = 0x6C7E, --(汾)
[0x3D51] = 0x6C68, --(汨)
- [0x3D52] = 0x6C73, --(汳)
+ [0x3D52] = 0x6C73, --(汳)
[0x3D53] = 0x6C92, --(沒)
- [0x3D54] = 0x6C90, --(沐)
+ [0x3D54] = 0x6C90, --(沐)
[0x3D55] = 0x6CC4, --(泄)
- [0x3D56] = 0x6CF1, --(泱)
+ [0x3D56] = 0x6CF1, --(泱)
[0x3D57] = 0x6CD3, --(泓)
- [0x3D58] = 0x6CBD, --(沽)
+ [0x3D58] = 0x6CBD, --(沽)
[0x3D59] = 0x6CD7, --(泗)
- [0x3D5A] = 0x6CC5, --(泅)
+ [0x3D5A] = 0x6CC5, --(泅)
[0x3D5B] = 0x6CDD, --(泝)
- [0x3D5C] = 0x6CAE, --(沮)
+ [0x3D5C] = 0x6CAE, --(沮)
[0x3D5D] = 0x6CB1, --(沱)
- [0x3D5E] = 0x6CBE, --(沾)
+ [0x3D5E] = 0x6CBE, --(沾)
[0x3E01] = 0x6CBA, --(沺)
- [0x3E02] = 0x6CDB, --(泛)
+ [0x3E02] = 0x6CDB, --(泛)
[0x3E03] = 0x6CEF, --(泯)
- [0x3E04] = 0x6CD9, --(泙)
+ [0x3E04] = 0x6CD9, --(泙)
[0x3E05] = 0x6CEA, --(泪)
- [0x3E06] = 0x6D1F, --(洟)
+ [0x3E06] = 0x6D1F, --(洟)
[0x3E07] = 0x884D, --(衍)
- [0x3E08] = 0x6D36, --(洶)
+ [0x3E08] = 0x6D36, --(洶)
[0x3E09] = 0x6D2B, --(洫)
- [0x3E0A] = 0x6D3D, --(洽)
+ [0x3E0A] = 0x6D3D, --(洽)
[0x3E0B] = 0x6D38, --(洸)
- [0x3E0C] = 0x6D19, --(洙)
+ [0x3E0C] = 0x6D19, --(洙)
[0x3E0D] = 0x6D35, --(洵)
- [0x3E0E] = 0x6D33, --(洳)
+ [0x3E0E] = 0x6D33, --(洳)
[0x3E0F] = 0x6D12, --(洒)
- [0x3E10] = 0x6D0C, --(洌)
+ [0x3E10] = 0x6D0C, --(洌)
[0x3E11] = 0x6D63, --(浣)
- [0x3E12] = 0x6D93, --(涓)
+ [0x3E12] = 0x6D93, --(涓)
[0x3E13] = 0x6D64, --(浤)
- [0x3E14] = 0x6D5A, --(浚)
+ [0x3E14] = 0x6D5A, --(浚)
[0x3E15] = 0x6D79, --(浹)
- [0x3E16] = 0x6D59, --(浙)
+ [0x3E16] = 0x6D59, --(浙)
[0x3E17] = 0x6D8E, --(涎)
- [0x3E18] = 0x6D95, --(涕)
+ [0x3E18] = 0x6D95, --(涕)
[0x3E19] = 0x6FE4, --(濤)
- [0x3E1A] = 0x6D85, --(涅)
+ [0x3E1A] = 0x6D85, --(涅)
[0x3E1B] = 0x6DF9, --(淹)
- [0x3E1C] = 0x6E15, --(渕)
+ [0x3E1C] = 0x6E15, --(渕)
[0x3E1D] = 0x6E0A, --(渊)
- [0x3E1E] = 0x6DB5, --(涵)
+ [0x3E1E] = 0x6DB5, --(涵)
[0x3E1F] = 0x6DC7, --(淇)
- [0x3E20] = 0x6DE6, --(淦)
+ [0x3E20] = 0x6DE6, --(淦)
[0x3E21] = 0x6DB8, --(涸)
- [0x3E22] = 0x6DC6, --(淆)
+ [0x3E22] = 0x6DC6, --(淆)
[0x3E23] = 0x6DEC, --(淬)
- [0x3E24] = 0x6DDE, --(淞)
+ [0x3E24] = 0x6DDE, --(淞)
[0x3E25] = 0x6DCC, --(淌)
- [0x3E26] = 0x6DE8, --(淨)
+ [0x3E26] = 0x6DE8, --(淨)
[0x3E27] = 0x6DD2, --(淒)
- [0x3E28] = 0x6DC5, --(淅)
+ [0x3E28] = 0x6DC5, --(淅)
[0x3E29] = 0x6DFA, --(淺)
- [0x3E2A] = 0x6DD9, --(淙)
+ [0x3E2A] = 0x6DD9, --(淙)
[0x3E2B] = 0x6DE4, --(淤)
- [0x3E2C] = 0x6DD5, --(淕)
+ [0x3E2C] = 0x6DD5, --(淕)
[0x3E2D] = 0x6DEA, --(淪)
- [0x3E2E] = 0x6DEE, --(淮)
+ [0x3E2E] = 0x6DEE, --(淮)
[0x3E2F] = 0x6E2D, --(渭)
- [0x3E30] = 0x6E6E, --(湮)
+ [0x3E30] = 0x6E6E, --(湮)
[0x3E31] = 0x6E2E, --(渮)
- [0x3E32] = 0x6E19, --(渙)
+ [0x3E32] = 0x6E19, --(渙)
[0x3E33] = 0x6E72, --(湲)
- [0x3E34] = 0x6E5F, --(湟)
+ [0x3E34] = 0x6E5F, --(湟)
[0x3E35] = 0x6E3E, --(渾)
- [0x3E36] = 0x6E23, --(渣)
+ [0x3E36] = 0x6E23, --(渣)
[0x3E37] = 0x6E6B, --(湫)
- [0x3E38] = 0x6E2B, --(渫)
+ [0x3E38] = 0x6E2B, --(渫)
[0x3E39] = 0x6E76, --(湶)
- [0x3E3A] = 0x6E4D, --(湍)
+ [0x3E3A] = 0x6E4D, --(湍)
[0x3E3B] = 0x6E1F, --(渟)
- [0x3E3C] = 0x6E43, --(湃)
+ [0x3E3C] = 0x6E43, --(湃)
[0x3E3D] = 0x6E3A, --(渺)
- [0x3E3E] = 0x6E4E, --(湎)
+ [0x3E3E] = 0x6E4E, --(湎)
[0x3E3F] = 0x6E24, --(渤)
- [0x3E40] = 0x6EFF, --(滿)
+ [0x3E40] = 0x6EFF, --(滿)
[0x3E41] = 0x6E1D, --(渝)
- [0x3E42] = 0x6E38, --(游)
+ [0x3E42] = 0x6E38, --(游)
[0x3E43] = 0x6E82, --(溂)
- [0x3E44] = 0x6EAA, --(溪)
+ [0x3E44] = 0x6EAA, --(溪)
[0x3E45] = 0x6E98, --(溘)
- [0x3E46] = 0x6EC9, --(滉)
+ [0x3E46] = 0x6EC9, --(滉)
[0x3E47] = 0x6EB7, --(溷)
- [0x3E48] = 0x6ED3, --(滓)
+ [0x3E48] = 0x6ED3, --(滓)
[0x3E49] = 0x6EBD, --(溽)
- [0x3E4A] = 0x6EAF, --(溯)
+ [0x3E4A] = 0x6EAF, --(溯)
[0x3E4B] = 0x6EC4, --(滄)
- [0x3E4C] = 0x6EB2, --(溲)
+ [0x3E4C] = 0x6EB2, --(溲)
[0x3E4D] = 0x6ED4, --(滔)
- [0x3E4E] = 0x6ED5, --(滕)
+ [0x3E4E] = 0x6ED5, --(滕)
[0x3E4F] = 0x6E8F, --(溏)
- [0x3E50] = 0x6EA5, --(溥)
+ [0x3E50] = 0x6EA5, --(溥)
[0x3E51] = 0x6EC2, --(滂)
- [0x3E52] = 0x6E9F, --(溟)
+ [0x3E52] = 0x6E9F, --(溟)
[0x3E53] = 0x6F41, --(潁)
- [0x3E54] = 0x6F11, --(漑)
+ [0x3E54] = 0x6F11, --(漑)
[0x3E55] = 0x704C, --(灌)
- [0x3E56] = 0x6EEC, --(滬)
+ [0x3E56] = 0x6EEC, --(滬)
[0x3E57] = 0x6EF8, --(滸)
- [0x3E58] = 0x6EFE, --(滾)
+ [0x3E58] = 0x6EFE, --(滾)
[0x3E59] = 0x6F3F, --(漿)
- [0x3E5A] = 0x6EF2, --(滲)
+ [0x3E5A] = 0x6EF2, --(滲)
[0x3E5B] = 0x6F31, --(漱)
- [0x3E5C] = 0x6EEF, --(滯)
+ [0x3E5C] = 0x6EEF, --(滯)
[0x3E5D] = 0x6F32, --(漲)
- [0x3E5E] = 0x6ECC, --(滌)
+ [0x3E5E] = 0x6ECC, --(滌)
[0x3F01] = 0x6F3E, --(漾)
- [0x3F02] = 0x6F13, --(漓)
+ [0x3F02] = 0x6F13, --(漓)
[0x3F03] = 0x6EF7, --(滷)
- [0x3F04] = 0x6F86, --(澆)
+ [0x3F04] = 0x6F86, --(澆)
[0x3F05] = 0x6F7A, --(潺)
- [0x3F06] = 0x6F78, --(潸)
+ [0x3F06] = 0x6F78, --(潸)
[0x3F07] = 0x6F81, --(澁)
- [0x3F08] = 0x6F80, --(澀)
+ [0x3F08] = 0x6F80, --(澀)
[0x3F09] = 0x6F6F, --(潯)
- [0x3F0A] = 0x6F5B, --(潛)
+ [0x3F0A] = 0x6F5B, --(潛)
[0x3F0B] = 0x6FF3, --(濳)
- [0x3F0C] = 0x6F6D, --(潭)
+ [0x3F0C] = 0x6F6D, --(潭)
[0x3F0D] = 0x6F82, --(澂)
- [0x3F0E] = 0x6F7C, --(潼)
+ [0x3F0E] = 0x6F7C, --(潼)
[0x3F0F] = 0x6F58, --(潘)
- [0x3F10] = 0x6F8E, --(澎)
+ [0x3F10] = 0x6F8E, --(澎)
[0x3F11] = 0x6F91, --(澑)
- [0x3F12] = 0x6FC2, --(濂)
+ [0x3F12] = 0x6FC2, --(濂)
[0x3F13] = 0x6F66, --(潦)
- [0x3F14] = 0x6FB3, --(澳)
+ [0x3F14] = 0x6FB3, --(澳)
[0x3F15] = 0x6FA3, --(澣)
- [0x3F16] = 0x6FA1, --(澡)
+ [0x3F16] = 0x6FA1, --(澡)
[0x3F17] = 0x6FA4, --(澤)
- [0x3F18] = 0x6FB9, --(澹)
+ [0x3F18] = 0x6FB9, --(澹)
[0x3F19] = 0x6FC6, --(濆)
- [0x3F1A] = 0x6FAA, --(澪)
+ [0x3F1A] = 0x6FAA, --(澪)
[0x3F1B] = 0x6FDF, --(濟)
- [0x3F1C] = 0x6FD5, --(濕)
+ [0x3F1C] = 0x6FD5, --(濕)
[0x3F1D] = 0x6FEC, --(濬)
- [0x3F1E] = 0x6FD4, --(濔)
+ [0x3F1E] = 0x6FD4, --(濔)
[0x3F1F] = 0x6FD8, --(濘)
- [0x3F20] = 0x6FF1, --(濱)
+ [0x3F20] = 0x6FF1, --(濱)
[0x3F21] = 0x6FEE, --(濮)
- [0x3F22] = 0x6FDB, --(濛)
+ [0x3F22] = 0x6FDB, --(濛)
[0x3F23] = 0x7009, --(瀉)
- [0x3F24] = 0x700B, --(瀋)
+ [0x3F24] = 0x700B, --(瀋)
[0x3F25] = 0x6FFA, --(濺)
- [0x3F26] = 0x7011, --(瀑)
+ [0x3F26] = 0x7011, --(瀑)
[0x3F27] = 0x7001, --(瀁)
- [0x3F28] = 0x700F, --(瀏)
+ [0x3F28] = 0x700F, --(瀏)
[0x3F29] = 0x6FFE, --(濾)
- [0x3F2A] = 0x701B, --(瀛)
+ [0x3F2A] = 0x701B, --(瀛)
[0x3F2B] = 0x701A, --(瀚)
- [0x3F2C] = 0x6F74, --(潴)
+ [0x3F2C] = 0x6F74, --(潴)
[0x3F2D] = 0x701D, --(瀝)
- [0x3F2E] = 0x7018, --(瀘)
+ [0x3F2E] = 0x7018, --(瀘)
[0x3F2F] = 0x701F, --(瀟)
- [0x3F30] = 0x7030, --(瀰)
+ [0x3F30] = 0x7030, --(瀰)
[0x3F31] = 0x703E, --(瀾)
- [0x3F32] = 0x7032, --(瀲)
+ [0x3F32] = 0x7032, --(瀲)
[0x3F33] = 0x7051, --(灑)
- [0x3F34] = 0x7063, --(灣)
+ [0x3F34] = 0x7063, --(灣)
[0x3F35] = 0x7099, --(炙)
- [0x3F36] = 0x7092, --(炒)
+ [0x3F36] = 0x7092, --(炒)
[0x3F37] = 0x70AF, --(炯)
- [0x3F38] = 0x70F1, --(烱)
+ [0x3F38] = 0x70F1, --(烱)
[0x3F39] = 0x70AC, --(炬)
- [0x3F3A] = 0x70B8, --(炸)
+ [0x3F3A] = 0x70B8, --(炸)
[0x3F3B] = 0x70B3, --(炳)
- [0x3F3C] = 0x70AE, --(炮)
+ [0x3F3C] = 0x70AE, --(炮)
[0x3F3D] = 0x70DF, --(烟)
- [0x3F3E] = 0x70CB, --(烋)
+ [0x3F3E] = 0x70CB, --(烋)
[0x3F3F] = 0x70DD, --(烝)
- [0x3F40] = 0x70D9, --(烙)
+ [0x3F40] = 0x70D9, --(烙)
[0x3F41] = 0x7109, --(焉)
- [0x3F42] = 0x70FD, --(烽)
+ [0x3F42] = 0x70FD, --(烽)
[0x3F43] = 0x711C, --(焜)
- [0x3F44] = 0x7119, --(焙)
+ [0x3F44] = 0x7119, --(焙)
[0x3F45] = 0x7165, --(煥)
- [0x3F46] = 0x7155, --(煕)
+ [0x3F46] = 0x7155, --(煕)
[0x3F47] = 0x7188, --(熈)
- [0x3F48] = 0x7166, --(煦)
+ [0x3F48] = 0x7166, --(煦)
[0x3F49] = 0x7162, --(煢)
- [0x3F4A] = 0x714C, --(煌)
+ [0x3F4A] = 0x714C, --(煌)
[0x3F4B] = 0x7156, --(煖)
- [0x3F4C] = 0x716C, --(煬)
+ [0x3F4C] = 0x716C, --(煬)
[0x3F4D] = 0x718F, --(熏)
- [0x3F4E] = 0x71FB, --(燻)
+ [0x3F4E] = 0x71FB, --(燻)
[0x3F4F] = 0x7184, --(熄)
- [0x3F50] = 0x7195, --(熕)
+ [0x3F50] = 0x7195, --(熕)
[0x3F51] = 0x71A8, --(熨)
- [0x3F52] = 0x71AC, --(熬)
+ [0x3F52] = 0x71AC, --(熬)
[0x3F53] = 0x71D7, --(燗)
- [0x3F54] = 0x71B9, --(熹)
+ [0x3F54] = 0x71B9, --(熹)
[0x3F55] = 0x71BE, --(熾)
- [0x3F56] = 0x71D2, --(燒)
+ [0x3F56] = 0x71D2, --(燒)
[0x3F57] = 0x71C9, --(燉)
- [0x3F58] = 0x71D4, --(燔)
+ [0x3F58] = 0x71D4, --(燔)
[0x3F59] = 0x71CE, --(燎)
- [0x3F5A] = 0x71E0, --(燠)
+ [0x3F5A] = 0x71E0, --(燠)
[0x3F5B] = 0x71EC, --(燬)
- [0x3F5C] = 0x71E7, --(燧)
+ [0x3F5C] = 0x71E7, --(燧)
[0x3F5D] = 0x71F5, --(燵)
- [0x3F5E] = 0x71FC, --(燼)
+ [0x3F5E] = 0x71FC, --(燼)
[0x4001] = 0x71F9, --(燹)
- [0x4002] = 0x71FF, --(燿)
+ [0x4002] = 0x71FF, --(燿)
[0x4003] = 0x720D, --(爍)
- [0x4004] = 0x7210, --(爐)
+ [0x4004] = 0x7210, --(爐)
[0x4005] = 0x721B, --(爛)
- [0x4006] = 0x7228, --(爨)
+ [0x4006] = 0x7228, --(爨)
[0x4007] = 0x722D, --(爭)
- [0x4008] = 0x722C, --(爬)
+ [0x4008] = 0x722C, --(爬)
[0x4009] = 0x7230, --(爰)
- [0x400A] = 0x7232, --(爲)
+ [0x400A] = 0x7232, --(爲)
[0x400B] = 0x723B, --(爻)
- [0x400C] = 0x723C, --(爼)
+ [0x400C] = 0x723C, --(爼)
[0x400D] = 0x723F, --(爿)
- [0x400E] = 0x7240, --(牀)
+ [0x400E] = 0x7240, --(牀)
[0x400F] = 0x7246, --(牆)
- [0x4010] = 0x724B, --(牋)
+ [0x4010] = 0x724B, --(牋)
[0x4011] = 0x7258, --(牘)
- [0x4012] = 0x7274, --(牴)
+ [0x4012] = 0x7274, --(牴)
[0x4013] = 0x727E, --(牾)
- [0x4014] = 0x7282, --(犂)
+ [0x4014] = 0x7282, --(犂)
[0x4015] = 0x7281, --(犁)
- [0x4016] = 0x7287, --(犇)
+ [0x4016] = 0x7287, --(犇)
[0x4017] = 0x7292, --(犒)
- [0x4018] = 0x7296, --(犖)
+ [0x4018] = 0x7296, --(犖)
[0x4019] = 0x72A2, --(犢)
- [0x401A] = 0x72A7, --(犧)
+ [0x401A] = 0x72A7, --(犧)
[0x401B] = 0x72B9, --(犹)
- [0x401C] = 0x72B2, --(犲)
+ [0x401C] = 0x72B2, --(犲)
[0x401D] = 0x72C3, --(狃)
- [0x401E] = 0x72C6, --(狆)
+ [0x401E] = 0x72C6, --(狆)
[0x401F] = 0x72C4, --(狄)
- [0x4020] = 0x72CE, --(狎)
+ [0x4020] = 0x72CE, --(狎)
[0x4021] = 0x72D2, --(狒)
- [0x4022] = 0x72E2, --(狢)
+ [0x4022] = 0x72E2, --(狢)
[0x4023] = 0x72E0, --(狠)
- [0x4024] = 0x72E1, --(狡)
+ [0x4024] = 0x72E1, --(狡)
[0x4025] = 0x72F9, --(狹)
- [0x4026] = 0x72F7, --(狷)
+ [0x4026] = 0x72F7, --(狷)
[0x4027] = 0x500F, --(倏)
- [0x4028] = 0x7317, --(猗)
+ [0x4028] = 0x7317, --(猗)
[0x4029] = 0x730A, --(猊)
- [0x402A] = 0x731C, --(猜)
+ [0x402A] = 0x731C, --(猜)
[0x402B] = 0x7316, --(猖)
- [0x402C] = 0x731D, --(猝)
+ [0x402C] = 0x731D, --(猝)
[0x402D] = 0x7334, --(猴)
- [0x402E] = 0x732F, --(猯)
+ [0x402E] = 0x732F, --(猯)
[0x402F] = 0x7329, --(猩)
- [0x4030] = 0x7325, --(猥)
+ [0x4030] = 0x7325, --(猥)
[0x4031] = 0x733E, --(猾)
- [0x4032] = 0x734E, --(獎)
+ [0x4032] = 0x734E, --(獎)
[0x4033] = 0x734F, --(獏)
- [0x4034] = 0x9ED8, --(默)
+ [0x4034] = 0x9ED8, --(默)
[0x4035] = 0x7357, --(獗)
- [0x4036] = 0x736A, --(獪)
+ [0x4036] = 0x736A, --(獪)
[0x4037] = 0x7368, --(獨)
- [0x4038] = 0x7370, --(獰)
+ [0x4038] = 0x7370, --(獰)
[0x4039] = 0x7378, --(獸)
- [0x403A] = 0x7375, --(獵)
+ [0x403A] = 0x7375, --(獵)
[0x403B] = 0x737B, --(獻)
- [0x403C] = 0x737A, --(獺)
+ [0x403C] = 0x737A, --(獺)
[0x403D] = 0x73C8, --(珈)
- [0x403E] = 0x73B3, --(玳)
+ [0x403E] = 0x73B3, --(玳)
[0x403F] = 0x73CE, --(珎)
- [0x4040] = 0x73BB, --(玻)
+ [0x4040] = 0x73BB, --(玻)
[0x4041] = 0x73C0, --(珀)
- [0x4042] = 0x73E5, --(珥)
+ [0x4042] = 0x73E5, --(珥)
[0x4043] = 0x73EE, --(珮)
- [0x4044] = 0x73DE, --(珞)
+ [0x4044] = 0x73DE, --(珞)
[0x4045] = 0x74A2, --(璢)
- [0x4046] = 0x7405, --(琅)
+ [0x4046] = 0x7405, --(琅)
[0x4047] = 0x746F, --(瑯)
- [0x4048] = 0x7425, --(琥)
+ [0x4048] = 0x7425, --(琥)
[0x4049] = 0x73F8, --(珸)
- [0x404A] = 0x7432, --(琲)
+ [0x404A] = 0x7432, --(琲)
[0x404B] = 0x743A, --(琺)
- [0x404C] = 0x7455, --(瑕)
+ [0x404C] = 0x7455, --(瑕)
[0x404D] = 0x743F, --(琿)
- [0x404E] = 0x745F, --(瑟)
+ [0x404E] = 0x745F, --(瑟)
[0x404F] = 0x7459, --(瑙)
- [0x4050] = 0x7441, --(瑁)
+ [0x4050] = 0x7441, --(瑁)
[0x4051] = 0x745C, --(瑜)
- [0x4052] = 0x7469, --(瑩)
+ [0x4052] = 0x7469, --(瑩)
[0x4053] = 0x7470, --(瑰)
- [0x4054] = 0x7463, --(瑣)
+ [0x4054] = 0x7463, --(瑣)
[0x4055] = 0x746A, --(瑪)
- [0x4056] = 0x7476, --(瑶)
+ [0x4056] = 0x7476, --(瑶)
[0x4057] = 0x747E, --(瑾)
- [0x4058] = 0x748B, --(璋)
+ [0x4058] = 0x748B, --(璋)
[0x4059] = 0x749E, --(璞)
- [0x405A] = 0x74A7, --(璧)
+ [0x405A] = 0x74A7, --(璧)
[0x405B] = 0x74CA, --(瓊)
- [0x405C] = 0x74CF, --(瓏)
+ [0x405C] = 0x74CF, --(瓏)
[0x405D] = 0x74D4, --(瓔)
- [0x405E] = 0x73F1, --(珱)
+ [0x405E] = 0x73F1, --(珱)
[0x4101] = 0x74E0, --(瓠)
- [0x4102] = 0x74E3, --(瓣)
+ [0x4102] = 0x74E3, --(瓣)
[0x4103] = 0x74E7, --(瓧)
- [0x4104] = 0x74E9, --(瓩)
+ [0x4104] = 0x74E9, --(瓩)
[0x4105] = 0x74EE, --(瓮)
- [0x4106] = 0x74F2, --(瓲)
+ [0x4106] = 0x74F2, --(瓲)
[0x4107] = 0x74F0, --(瓰)
- [0x4108] = 0x74F1, --(瓱)
+ [0x4108] = 0x74F1, --(瓱)
[0x4109] = 0x74F8, --(瓸)
- [0x410A] = 0x74F7, --(瓷)
+ [0x410A] = 0x74F7, --(瓷)
[0x410B] = 0x7504, --(甄)
- [0x410C] = 0x7503, --(甃)
+ [0x410C] = 0x7503, --(甃)
[0x410D] = 0x7505, --(甅)
- [0x410E] = 0x750C, --(甌)
+ [0x410E] = 0x750C, --(甌)
[0x410F] = 0x750E, --(甎)
- [0x4110] = 0x750D, --(甍)
+ [0x4110] = 0x750D, --(甍)
[0x4111] = 0x7515, --(甕)
- [0x4112] = 0x7513, --(甓)
+ [0x4112] = 0x7513, --(甓)
[0x4113] = 0x751E, --(甞)
- [0x4114] = 0x7526, --(甦)
+ [0x4114] = 0x7526, --(甦)
[0x4115] = 0x752C, --(甬)
- [0x4116] = 0x753C, --(甼)
+ [0x4116] = 0x753C, --(甼)
[0x4117] = 0x7544, --(畄)
- [0x4118] = 0x754D, --(畍)
+ [0x4118] = 0x754D, --(畍)
[0x4119] = 0x754A, --(畊)
- [0x411A] = 0x7549, --(畉)
+ [0x411A] = 0x7549, --(畉)
[0x411B] = 0x755B, --(畛)
- [0x411C] = 0x7546, --(畆)
+ [0x411C] = 0x7546, --(畆)
[0x411D] = 0x755A, --(畚)
- [0x411E] = 0x7569, --(畩)
+ [0x411E] = 0x7569, --(畩)
[0x411F] = 0x7564, --(畤)
- [0x4120] = 0x7567, --(畧)
+ [0x4120] = 0x7567, --(畧)
[0x4121] = 0x756B, --(畫)
- [0x4122] = 0x756D, --(畭)
+ [0x4122] = 0x756D, --(畭)
[0x4123] = 0x7578, --(畸)
- [0x4124] = 0x7576, --(當)
+ [0x4124] = 0x7576, --(當)
[0x4125] = 0x7586, --(疆)
- [0x4126] = 0x7587, --(疇)
+ [0x4126] = 0x7587, --(疇)
[0x4127] = 0x7574, --(畴)
- [0x4128] = 0x758A, --(疊)
+ [0x4128] = 0x758A, --(疊)
[0x4129] = 0x7589, --(疉)
- [0x412A] = 0x7582, --(疂)
+ [0x412A] = 0x7582, --(疂)
[0x412B] = 0x7594, --(疔)
- [0x412C] = 0x759A, --(疚)
+ [0x412C] = 0x759A, --(疚)
[0x412D] = 0x759D, --(疝)
- [0x412E] = 0x75A5, --(疥)
+ [0x412E] = 0x75A5, --(疥)
[0x412F] = 0x75A3, --(疣)
- [0x4130] = 0x75C2, --(痂)
+ [0x4130] = 0x75C2, --(痂)
[0x4131] = 0x75B3, --(疳)
- [0x4132] = 0x75C3, --(痃)
+ [0x4132] = 0x75C3, --(痃)
[0x4133] = 0x75B5, --(疵)
- [0x4134] = 0x75BD, --(疽)
+ [0x4134] = 0x75BD, --(疽)
[0x4135] = 0x75B8, --(疸)
- [0x4136] = 0x75BC, --(疼)
+ [0x4136] = 0x75BC, --(疼)
[0x4137] = 0x75B1, --(疱)
- [0x4138] = 0x75CD, --(痍)
+ [0x4138] = 0x75CD, --(痍)
[0x4139] = 0x75CA, --(痊)
- [0x413A] = 0x75D2, --(痒)
+ [0x413A] = 0x75D2, --(痒)
[0x413B] = 0x75D9, --(痙)
- [0x413C] = 0x75E3, --(痣)
+ [0x413C] = 0x75E3, --(痣)
[0x413D] = 0x75DE, --(痞)
- [0x413E] = 0x75FE, --(痾)
+ [0x413E] = 0x75FE, --(痾)
[0x413F] = 0x75FF, --(痿)
- [0x4140] = 0x75FC, --(痼)
+ [0x4140] = 0x75FC, --(痼)
[0x4141] = 0x7601, --(瘁)
- [0x4142] = 0x75F0, --(痰)
+ [0x4142] = 0x75F0, --(痰)
[0x4143] = 0x75FA, --(痺)
- [0x4144] = 0x75F2, --(痲)
+ [0x4144] = 0x75F2, --(痲)
[0x4145] = 0x75F3, --(痳)
- [0x4146] = 0x760B, --(瘋)
+ [0x4146] = 0x760B, --(瘋)
[0x4147] = 0x760D, --(瘍)
- [0x4148] = 0x7609, --(瘉)
+ [0x4148] = 0x7609, --(瘉)
[0x4149] = 0x761F, --(瘟)
- [0x414A] = 0x7627, --(瘧)
+ [0x414A] = 0x7627, --(瘧)
[0x414B] = 0x7620, --(瘠)
- [0x414C] = 0x7621, --(瘡)
+ [0x414C] = 0x7621, --(瘡)
[0x414D] = 0x7622, --(瘢)
- [0x414E] = 0x7624, --(瘤)
+ [0x414E] = 0x7624, --(瘤)
[0x414F] = 0x7634, --(瘴)
- [0x4150] = 0x7630, --(瘰)
+ [0x4150] = 0x7630, --(瘰)
[0x4151] = 0x763B, --(瘻)
- [0x4152] = 0x7647, --(癇)
+ [0x4152] = 0x7647, --(癇)
[0x4153] = 0x7648, --(癈)
- [0x4154] = 0x7646, --(癆)
+ [0x4154] = 0x7646, --(癆)
[0x4155] = 0x765C, --(癜)
- [0x4156] = 0x7658, --(癘)
+ [0x4156] = 0x7658, --(癘)
[0x4157] = 0x7661, --(癡)
- [0x4158] = 0x7662, --(癢)
+ [0x4158] = 0x7662, --(癢)
[0x4159] = 0x7668, --(癨)
- [0x415A] = 0x7669, --(癩)
+ [0x415A] = 0x7669, --(癩)
[0x415B] = 0x766A, --(癪)
- [0x415C] = 0x7667, --(癧)
+ [0x415C] = 0x7667, --(癧)
[0x415D] = 0x766C, --(癬)
- [0x415E] = 0x7670, --(癰)
+ [0x415E] = 0x7670, --(癰)
[0x4201] = 0x7672, --(癲)
- [0x4202] = 0x7676, --(癶)
+ [0x4202] = 0x7676, --(癶)
[0x4203] = 0x7678, --(癸)
- [0x4204] = 0x767C, --(發)
+ [0x4204] = 0x767C, --(發)
[0x4205] = 0x7680, --(皀)
- [0x4206] = 0x7683, --(皃)
+ [0x4206] = 0x7683, --(皃)
[0x4207] = 0x7688, --(皈)
- [0x4208] = 0x768B, --(皋)
+ [0x4208] = 0x768B, --(皋)
[0x4209] = 0x768E, --(皎)
- [0x420A] = 0x7696, --(皖)
+ [0x420A] = 0x7696, --(皖)
[0x420B] = 0x7693, --(皓)
- [0x420C] = 0x7699, --(皙)
+ [0x420C] = 0x7699, --(皙)
[0x420D] = 0x769A, --(皚)
- [0x420E] = 0x76B0, --(皰)
+ [0x420E] = 0x76B0, --(皰)
[0x420F] = 0x76B4, --(皴)
- [0x4210] = 0x76B8, --(皸)
+ [0x4210] = 0x76B8, --(皸)
[0x4211] = 0x76B9, --(皹)
- [0x4212] = 0x76BA, --(皺)
+ [0x4212] = 0x76BA, --(皺)
[0x4213] = 0x76C2, --(盂)
- [0x4214] = 0x76CD, --(盍)
+ [0x4214] = 0x76CD, --(盍)
[0x4215] = 0x76D6, --(盖)
- [0x4216] = 0x76D2, --(盒)
+ [0x4216] = 0x76D2, --(盒)
[0x4217] = 0x76DE, --(盞)
- [0x4218] = 0x76E1, --(盡)
+ [0x4218] = 0x76E1, --(盡)
[0x4219] = 0x76E5, --(盥)
- [0x421A] = 0x76E7, --(盧)
+ [0x421A] = 0x76E7, --(盧)
[0x421B] = 0x76EA, --(盪)
- [0x421C] = 0x862F, --(蘯)
+ [0x421C] = 0x862F, --(蘯)
[0x421D] = 0x76FB, --(盻)
- [0x421E] = 0x7708, --(眈)
+ [0x421E] = 0x7708, --(眈)
[0x421F] = 0x7707, --(眇)
- [0x4220] = 0x7704, --(眄)
+ [0x4220] = 0x7704, --(眄)
[0x4221] = 0x7729, --(眩)
- [0x4222] = 0x7724, --(眤)
+ [0x4222] = 0x7724, --(眤)
[0x4223] = 0x771E, --(眞)
- [0x4224] = 0x7725, --(眥)
+ [0x4224] = 0x7725, --(眥)
[0x4225] = 0x7726, --(眦)
- [0x4226] = 0x771B, --(眛)
+ [0x4226] = 0x771B, --(眛)
[0x4227] = 0x7737, --(眷)
- [0x4228] = 0x7738, --(眸)
+ [0x4228] = 0x7738, --(眸)
[0x4229] = 0x7747, --(睇)
- [0x422A] = 0x775A, --(睚)
+ [0x422A] = 0x775A, --(睚)
[0x422B] = 0x7768, --(睨)
- [0x422C] = 0x776B, --(睫)
+ [0x422C] = 0x776B, --(睫)
[0x422D] = 0x775B, --(睛)
- [0x422E] = 0x7765, --(睥)
+ [0x422E] = 0x7765, --(睥)
[0x422F] = 0x777F, --(睿)
- [0x4230] = 0x777E, --(睾)
+ [0x4230] = 0x777E, --(睾)
[0x4231] = 0x7779, --(睹)
- [0x4232] = 0x778E, --(瞎)
+ [0x4232] = 0x778E, --(瞎)
[0x4233] = 0x778B, --(瞋)
- [0x4234] = 0x7791, --(瞑)
+ [0x4234] = 0x7791, --(瞑)
[0x4235] = 0x77A0, --(瞠)
- [0x4236] = 0x779E, --(瞞)
+ [0x4236] = 0x779E, --(瞞)
[0x4237] = 0x77B0, --(瞰)
- [0x4238] = 0x77B6, --(瞶)
+ [0x4238] = 0x77B6, --(瞶)
[0x4239] = 0x77B9, --(瞹)
- [0x423A] = 0x77BF, --(瞿)
+ [0x423A] = 0x77BF, --(瞿)
[0x423B] = 0x77BC, --(瞼)
- [0x423C] = 0x77BD, --(瞽)
+ [0x423C] = 0x77BD, --(瞽)
[0x423D] = 0x77BB, --(瞻)
- [0x423E] = 0x77C7, --(矇)
+ [0x423E] = 0x77C7, --(矇)
[0x423F] = 0x77CD, --(矍)
- [0x4240] = 0x77D7, --(矗)
+ [0x4240] = 0x77D7, --(矗)
[0x4241] = 0x77DA, --(矚)
- [0x4242] = 0x77DC, --(矜)
+ [0x4242] = 0x77DC, --(矜)
[0x4243] = 0x77E3, --(矣)
- [0x4244] = 0x77EE, --(矮)
+ [0x4244] = 0x77EE, --(矮)
[0x4245] = 0x77FC, --(矼)
- [0x4246] = 0x780C, --(砌)
+ [0x4246] = 0x780C, --(砌)
[0x4247] = 0x7812, --(砒)
- [0x4248] = 0x7926, --(礦)
+ [0x4248] = 0x7926, --(礦)
[0x4249] = 0x7820, --(砠)
- [0x424A] = 0x792A, --(礪)
+ [0x424A] = 0x792A, --(礪)
[0x424B] = 0x7845, --(硅)
- [0x424C] = 0x788E, --(碎)
+ [0x424C] = 0x788E, --(碎)
[0x424D] = 0x7874, --(硴)
- [0x424E] = 0x7886, --(碆)
+ [0x424E] = 0x7886, --(碆)
[0x424F] = 0x787C, --(硼)
- [0x4250] = 0x789A, --(碚)
+ [0x4250] = 0x789A, --(碚)
[0x4251] = 0x788C, --(碌)
- [0x4252] = 0x78A3, --(碣)
+ [0x4252] = 0x78A3, --(碣)
[0x4253] = 0x78B5, --(碵)
- [0x4254] = 0x78AA, --(碪)
+ [0x4254] = 0x78AA, --(碪)
[0x4255] = 0x78AF, --(碯)
- [0x4256] = 0x78D1, --(磑)
+ [0x4256] = 0x78D1, --(磑)
[0x4257] = 0x78C6, --(磆)
- [0x4258] = 0x78CB, --(磋)
+ [0x4258] = 0x78CB, --(磋)
[0x4259] = 0x78D4, --(磔)
- [0x425A] = 0x78BE, --(碾)
+ [0x425A] = 0x78BE, --(碾)
[0x425B] = 0x78BC, --(碼)
- [0x425C] = 0x78C5, --(磅)
+ [0x425C] = 0x78C5, --(磅)
[0x425D] = 0x78CA, --(磊)
- [0x425E] = 0x78EC, --(磬)
+ [0x425E] = 0x78EC, --(磬)
[0x4301] = 0x78E7, --(磧)
- [0x4302] = 0x78DA, --(磚)
+ [0x4302] = 0x78DA, --(磚)
[0x4303] = 0x78FD, --(磽)
- [0x4304] = 0x78F4, --(磴)
+ [0x4304] = 0x78F4, --(磴)
[0x4305] = 0x7907, --(礇)
- [0x4306] = 0x7912, --(礒)
+ [0x4306] = 0x7912, --(礒)
[0x4307] = 0x7911, --(礑)
- [0x4308] = 0x7919, --(礙)
+ [0x4308] = 0x7919, --(礙)
[0x4309] = 0x792C, --(礬)
- [0x430A] = 0x792B, --(礫)
+ [0x430A] = 0x792B, --(礫)
[0x430B] = 0x7940, --(祀)
- [0x430C] = 0x7960, --(祠)
+ [0x430C] = 0x7960, --(祠)
[0x430D] = 0x7957, --(祗)
- [0x430E] = 0x795F, --(祟)
+ [0x430E] = 0x795F, --(祟)
[0x430F] = 0x795A, --(祚)
- [0x4310] = 0x7955, --(祕)
+ [0x4310] = 0x7955, --(祕)
[0x4311] = 0x7953, --(祓)
- [0x4312] = 0x797A, --(祺)
+ [0x4312] = 0x797A, --(祺)
[0x4313] = 0x797F, --(祿)
- [0x4314] = 0x798A, --(禊)
+ [0x4314] = 0x798A, --(禊)
[0x4315] = 0x799D, --(禝)
- [0x4316] = 0x79A7, --(禧)
+ [0x4316] = 0x79A7, --(禧)
[0x4317] = 0x9F4B, --(齋)
- [0x4318] = 0x79AA, --(禪)
+ [0x4318] = 0x79AA, --(禪)
[0x4319] = 0x79AE, --(禮)
- [0x431A] = 0x79B3, --(禳)
+ [0x431A] = 0x79B3, --(禳)
[0x431B] = 0x79B9, --(禹)
- [0x431C] = 0x79BA, --(禺)
+ [0x431C] = 0x79BA, --(禺)
[0x431D] = 0x79C9, --(秉)
- [0x431E] = 0x79D5, --(秕)
+ [0x431E] = 0x79D5, --(秕)
[0x431F] = 0x79E7, --(秧)
- [0x4320] = 0x79EC, --(秬)
+ [0x4320] = 0x79EC, --(秬)
[0x4321] = 0x79E1, --(秡)
- [0x4322] = 0x79E3, --(秣)
+ [0x4322] = 0x79E3, --(秣)
[0x4323] = 0x7A08, --(稈)
- [0x4324] = 0x7A0D, --(稍)
+ [0x4324] = 0x7A0D, --(稍)
[0x4325] = 0x7A18, --(稘)
- [0x4326] = 0x7A19, --(稙)
+ [0x4326] = 0x7A19, --(稙)
[0x4327] = 0x7A20, --(稠)
- [0x4328] = 0x7A1F, --(稟)
+ [0x4328] = 0x7A1F, --(稟)
[0x4329] = 0x7980, --(禀)
- [0x432A] = 0x7A31, --(稱)
+ [0x432A] = 0x7A31, --(稱)
[0x432B] = 0x7A3B, --(稻)
- [0x432C] = 0x7A3E, --(稾)
+ [0x432C] = 0x7A3E, --(稾)
[0x432D] = 0x7A37, --(稷)
- [0x432E] = 0x7A43, --(穃)
+ [0x432E] = 0x7A43, --(穃)
[0x432F] = 0x7A57, --(穗)
- [0x4330] = 0x7A49, --(穉)
+ [0x4330] = 0x7A49, --(穉)
[0x4331] = 0x7A61, --(穡)
- [0x4332] = 0x7A62, --(穢)
+ [0x4332] = 0x7A62, --(穢)
[0x4333] = 0x7A69, --(穩)
- [0x4334] = 0x9F9D, --(龝)
+ [0x4334] = 0x9F9D, --(龝)
[0x4335] = 0x7A70, --(穰)
- [0x4336] = 0x7A79, --(穹)
+ [0x4336] = 0x7A79, --(穹)
[0x4337] = 0x7A7D, --(穽)
- [0x4338] = 0x7A88, --(窈)
+ [0x4338] = 0x7A88, --(窈)
[0x4339] = 0x7A97, --(窗)
- [0x433A] = 0x7A95, --(窕)
+ [0x433A] = 0x7A95, --(窕)
[0x433B] = 0x7A98, --(窘)
- [0x433C] = 0x7A96, --(窖)
+ [0x433C] = 0x7A96, --(窖)
[0x433D] = 0x7AA9, --(窩)
- [0x433E] = 0x7AC8, --(竈)
+ [0x433E] = 0x7AC8, --(竈)
[0x433F] = 0x7AB0, --(窰)
- [0x4340] = 0x7AB6, --(窶)
+ [0x4340] = 0x7AB6, --(窶)
[0x4341] = 0x7AC5, --(竅)
- [0x4342] = 0x7AC4, --(竄)
+ [0x4342] = 0x7AC4, --(竄)
[0x4343] = 0x7ABF, --(窿)
- [0x4344] = 0x9083, --(邃)
+ [0x4344] = 0x9083, --(邃)
[0x4345] = 0x7AC7, --(竇)
- [0x4346] = 0x7ACA, --(竊)
+ [0x4346] = 0x7ACA, --(竊)
[0x4347] = 0x7ACD, --(竍)
- [0x4348] = 0x7ACF, --(竏)
+ [0x4348] = 0x7ACF, --(竏)
[0x4349] = 0x7AD5, --(竕)
- [0x434A] = 0x7AD3, --(竓)
+ [0x434A] = 0x7AD3, --(竓)
[0x434B] = 0x7AD9, --(站)
- [0x434C] = 0x7ADA, --(竚)
+ [0x434C] = 0x7ADA, --(竚)
[0x434D] = 0x7ADD, --(竝)
- [0x434E] = 0x7AE1, --(竡)
+ [0x434E] = 0x7AE1, --(竡)
[0x434F] = 0x7AE2, --(竢)
- [0x4350] = 0x7AE6, --(竦)
+ [0x4350] = 0x7AE6, --(竦)
[0x4351] = 0x7AED, --(竭)
- [0x4352] = 0x7AF0, --(竰)
+ [0x4352] = 0x7AF0, --(竰)
[0x4353] = 0x7B02, --(笂)
- [0x4354] = 0x7B0F, --(笏)
+ [0x4354] = 0x7B0F, --(笏)
[0x4355] = 0x7B0A, --(笊)
- [0x4356] = 0x7B06, --(笆)
+ [0x4356] = 0x7B06, --(笆)
[0x4357] = 0x7B33, --(笳)
- [0x4358] = 0x7B18, --(笘)
+ [0x4358] = 0x7B18, --(笘)
[0x4359] = 0x7B19, --(笙)
- [0x435A] = 0x7B1E, --(笞)
+ [0x435A] = 0x7B1E, --(笞)
[0x435B] = 0x7B35, --(笵)
- [0x435C] = 0x7B28, --(笨)
+ [0x435C] = 0x7B28, --(笨)
[0x435D] = 0x7B36, --(笶)
- [0x435E] = 0x7B50, --(筐)
+ [0x435E] = 0x7B50, --(筐)
[0x4401] = 0x7B7A, --(筺)
- [0x4402] = 0x7B04, --(笄)
+ [0x4402] = 0x7B04, --(笄)
[0x4403] = 0x7B4D, --(筍)
- [0x4404] = 0x7B0B, --(笋)
+ [0x4404] = 0x7B0B, --(笋)
[0x4405] = 0x7B4C, --(筌)
- [0x4406] = 0x7B45, --(筅)
+ [0x4406] = 0x7B45, --(筅)
[0x4407] = 0x7B75, --(筵)
- [0x4408] = 0x7B65, --(筥)
+ [0x4408] = 0x7B65, --(筥)
[0x4409] = 0x7B74, --(筴)
- [0x440A] = 0x7B67, --(筧)
+ [0x440A] = 0x7B67, --(筧)
[0x440B] = 0x7B70, --(筰)
- [0x440C] = 0x7B71, --(筱)
+ [0x440C] = 0x7B71, --(筱)
[0x440D] = 0x7B6C, --(筬)
- [0x440E] = 0x7B6E, --(筮)
+ [0x440E] = 0x7B6E, --(筮)
[0x440F] = 0x7B9D, --(箝)
- [0x4410] = 0x7B98, --(箘)
+ [0x4410] = 0x7B98, --(箘)
[0x4411] = 0x7B9F, --(箟)
- [0x4412] = 0x7B8D, --(箍)
+ [0x4412] = 0x7B8D, --(箍)
[0x4413] = 0x7B9C, --(箜)
- [0x4414] = 0x7B9A, --(箚)
+ [0x4414] = 0x7B9A, --(箚)
[0x4415] = 0x7B8B, --(箋)
- [0x4416] = 0x7B92, --(箒)
+ [0x4416] = 0x7B92, --(箒)
[0x4417] = 0x7B8F, --(箏)
- [0x4418] = 0x7B5D, --(筝)
+ [0x4418] = 0x7B5D, --(筝)
[0x4419] = 0x7B99, --(箙)
- [0x441A] = 0x7BCB, --(篋)
+ [0x441A] = 0x7BCB, --(篋)
[0x441B] = 0x7BC1, --(篁)
- [0x441C] = 0x7BCC, --(篌)
+ [0x441C] = 0x7BCC, --(篌)
[0x441D] = 0x7BCF, --(篏)
- [0x441E] = 0x7BB4, --(箴)
+ [0x441E] = 0x7BB4, --(箴)
[0x441F] = 0x7BC6, --(篆)
- [0x4420] = 0x7BDD, --(篝)
+ [0x4420] = 0x7BDD, --(篝)
[0x4421] = 0x7BE9, --(篩)
- [0x4422] = 0x7C11, --(簑)
+ [0x4422] = 0x7C11, --(簑)
[0x4423] = 0x7C14, --(簔)
- [0x4424] = 0x7BE6, --(篦)
+ [0x4424] = 0x7BE6, --(篦)
[0x4425] = 0x7BE5, --(篥)
- [0x4426] = 0x7C60, --(籠)
+ [0x4426] = 0x7C60, --(籠)
[0x4427] = 0x7C00, --(簀)
- [0x4428] = 0x7C07, --(簇)
+ [0x4428] = 0x7C07, --(簇)
[0x4429] = 0x7C13, --(簓)
- [0x442A] = 0x7BF3, --(篳)
+ [0x442A] = 0x7BF3, --(篳)
[0x442B] = 0x7BF7, --(篷)
- [0x442C] = 0x7C17, --(簗)
+ [0x442C] = 0x7C17, --(簗)
[0x442D] = 0x7C0D, --(簍)
- [0x442E] = 0x7BF6, --(篶)
+ [0x442E] = 0x7BF6, --(篶)
[0x442F] = 0x7C23, --(簣)
- [0x4430] = 0x7C27, --(簧)
+ [0x4430] = 0x7C27, --(簧)
[0x4431] = 0x7C2A, --(簪)
- [0x4432] = 0x7C1F, --(簟)
+ [0x4432] = 0x7C1F, --(簟)
[0x4433] = 0x7C37, --(簷)
- [0x4434] = 0x7C2B, --(簫)
+ [0x4434] = 0x7C2B, --(簫)
[0x4435] = 0x7C3D, --(簽)
- [0x4436] = 0x7C4C, --(籌)
+ [0x4436] = 0x7C4C, --(籌)
[0x4437] = 0x7C43, --(籃)
- [0x4438] = 0x7C54, --(籔)
+ [0x4438] = 0x7C54, --(籔)
[0x4439] = 0x7C4F, --(籏)
- [0x443A] = 0x7C40, --(籀)
+ [0x443A] = 0x7C40, --(籀)
[0x443B] = 0x7C50, --(籐)
- [0x443C] = 0x7C58, --(籘)
+ [0x443C] = 0x7C58, --(籘)
[0x443D] = 0x7C5F, --(籟)
- [0x443E] = 0x7C64, --(籤)
+ [0x443E] = 0x7C64, --(籤)
[0x443F] = 0x7C56, --(籖)
- [0x4440] = 0x7C65, --(籥)
+ [0x4440] = 0x7C65, --(籥)
[0x4441] = 0x7C6C, --(籬)
- [0x4442] = 0x7C75, --(籵)
+ [0x4442] = 0x7C75, --(籵)
[0x4443] = 0x7C83, --(粃)
- [0x4444] = 0x7C90, --(粐)
+ [0x4444] = 0x7C90, --(粐)
[0x4445] = 0x7CA4, --(粤)
- [0x4446] = 0x7CAD, --(粭)
+ [0x4446] = 0x7CAD, --(粭)
[0x4447] = 0x7CA2, --(粢)
- [0x4448] = 0x7CAB, --(粫)
+ [0x4448] = 0x7CAB, --(粫)
[0x4449] = 0x7CA1, --(粡)
- [0x444A] = 0x7CA8, --(粨)
+ [0x444A] = 0x7CA8, --(粨)
[0x444B] = 0x7CB3, --(粳)
- [0x444C] = 0x7CB2, --(粲)
+ [0x444C] = 0x7CB2, --(粲)
[0x444D] = 0x7CB1, --(粱)
- [0x444E] = 0x7CAE, --(粮)
+ [0x444E] = 0x7CAE, --(粮)
[0x444F] = 0x7CB9, --(粹)
- [0x4450] = 0x7CBD, --(粽)
+ [0x4450] = 0x7CBD, --(粽)
[0x4451] = 0x7CC0, --(糀)
- [0x4452] = 0x7CC5, --(糅)
+ [0x4452] = 0x7CC5, --(糅)
[0x4453] = 0x7CC2, --(糂)
- [0x4454] = 0x7CD8, --(糘)
+ [0x4454] = 0x7CD8, --(糘)
[0x4455] = 0x7CD2, --(糒)
- [0x4456] = 0x7CDC, --(糜)
+ [0x4456] = 0x7CDC, --(糜)
[0x4457] = 0x7CE2, --(糢)
- [0x4458] = 0x9B3B, --(鬻)
+ [0x4458] = 0x9B3B, --(鬻)
[0x4459] = 0x7CEF, --(糯)
- [0x445A] = 0x7CF2, --(糲)
+ [0x445A] = 0x7CF2, --(糲)
[0x445B] = 0x7CF4, --(糴)
- [0x445C] = 0x7CF6, --(糶)
+ [0x445C] = 0x7CF6, --(糶)
[0x445D] = 0x7CFA, --(糺)
- [0x445E] = 0x7D06, --(紆)
+ [0x445E] = 0x7D06, --(紆)
[0x4501] = 0x7D02, --(紂)
- [0x4502] = 0x7D1C, --(紜)
+ [0x4502] = 0x7D1C, --(紜)
[0x4503] = 0x7D15, --(紕)
- [0x4504] = 0x7D0A, --(紊)
+ [0x4504] = 0x7D0A, --(紊)
[0x4505] = 0x7D45, --(絅)
- [0x4506] = 0x7D4B, --(絋)
+ [0x4506] = 0x7D4B, --(絋)
[0x4507] = 0x7D2E, --(紮)
- [0x4508] = 0x7D32, --(紲)
+ [0x4508] = 0x7D32, --(紲)
[0x4509] = 0x7D3F, --(紿)
- [0x450A] = 0x7D35, --(紵)
+ [0x450A] = 0x7D35, --(紵)
[0x450B] = 0x7D46, --(絆)
- [0x450C] = 0x7D73, --(絳)
+ [0x450C] = 0x7D73, --(絳)
[0x450D] = 0x7D56, --(絖)
- [0x450E] = 0x7D4E, --(絎)
+ [0x450E] = 0x7D4E, --(絎)
[0x450F] = 0x7D72, --(絲)
- [0x4510] = 0x7D68, --(絨)
+ [0x4510] = 0x7D68, --(絨)
[0x4511] = 0x7D6E, --(絮)
- [0x4512] = 0x7D4F, --(絏)
+ [0x4512] = 0x7D4F, --(絏)
[0x4513] = 0x7D63, --(絣)
- [0x4514] = 0x7D93, --(經)
+ [0x4514] = 0x7D93, --(經)
[0x4515] = 0x7D89, --(綉)
- [0x4516] = 0x7D5B, --(絛)
+ [0x4516] = 0x7D5B, --(絛)
[0x4517] = 0x7D8F, --(綏)
- [0x4518] = 0x7D7D, --(絽)
+ [0x4518] = 0x7D7D, --(絽)
[0x4519] = 0x7D9B, --(綛)
- [0x451A] = 0x7DBA, --(綺)
+ [0x451A] = 0x7DBA, --(綺)
[0x451B] = 0x7DAE, --(綮)
- [0x451C] = 0x7DA3, --(綣)
+ [0x451C] = 0x7DA3, --(綣)
[0x451D] = 0x7DB5, --(綵)
- [0x451E] = 0x7DC7, --(緇)
+ [0x451E] = 0x7DC7, --(緇)
[0x451F] = 0x7DBD, --(綽)
- [0x4520] = 0x7DAB, --(綫)
+ [0x4520] = 0x7DAB, --(綫)
[0x4521] = 0x7E3D, --(總)
- [0x4522] = 0x7DA2, --(綢)
+ [0x4522] = 0x7DA2, --(綢)
[0x4523] = 0x7DAF, --(綯)
- [0x4524] = 0x7DDC, --(緜)
+ [0x4524] = 0x7DDC, --(緜)
[0x4525] = 0x7DB8, --(綸)
- [0x4526] = 0x7D9F, --(綟)
+ [0x4526] = 0x7D9F, --(綟)
[0x4527] = 0x7DB0, --(綰)
- [0x4528] = 0x7DD8, --(緘)
+ [0x4528] = 0x7DD8, --(緘)
[0x4529] = 0x7DDD, --(緝)
- [0x452A] = 0x7DE4, --(緤)
+ [0x452A] = 0x7DE4, --(緤)
[0x452B] = 0x7DDE, --(緞)
- [0x452C] = 0x7DFB, --(緻)
+ [0x452C] = 0x7DFB, --(緻)
[0x452D] = 0x7DF2, --(緲)
- [0x452E] = 0x7DE1, --(緡)
+ [0x452E] = 0x7DE1, --(緡)
[0x452F] = 0x7E05, --(縅)
- [0x4530] = 0x7E0A, --(縊)
+ [0x4530] = 0x7E0A, --(縊)
[0x4531] = 0x7E23, --(縣)
- [0x4532] = 0x7E21, --(縡)
+ [0x4532] = 0x7E21, --(縡)
[0x4533] = 0x7E12, --(縒)
- [0x4534] = 0x7E31, --(縱)
+ [0x4534] = 0x7E31, --(縱)
[0x4535] = 0x7E1F, --(縟)
- [0x4536] = 0x7E09, --(縉)
+ [0x4536] = 0x7E09, --(縉)
[0x4537] = 0x7E0B, --(縋)
- [0x4538] = 0x7E22, --(縢)
+ [0x4538] = 0x7E22, --(縢)
[0x4539] = 0x7E46, --(繆)
- [0x453A] = 0x7E66, --(繦)
+ [0x453A] = 0x7E66, --(繦)
[0x453B] = 0x7E3B, --(縻)
- [0x453C] = 0x7E35, --(縵)
+ [0x453C] = 0x7E35, --(縵)
[0x453D] = 0x7E39, --(縹)
- [0x453E] = 0x7E43, --(繃)
+ [0x453E] = 0x7E43, --(繃)
[0x453F] = 0x7E37, --(縷)
- [0x4540] = 0x7E32, --(縲)
+ [0x4540] = 0x7E32, --(縲)
[0x4541] = 0x7E3A, --(縺)
- [0x4542] = 0x7E67, --(繧)
+ [0x4542] = 0x7E67, --(繧)
[0x4543] = 0x7E5D, --(繝)
- [0x4544] = 0x7E56, --(繖)
+ [0x4544] = 0x7E56, --(繖)
[0x4545] = 0x7E5E, --(繞)
- [0x4546] = 0x7E59, --(繙)
+ [0x4546] = 0x7E59, --(繙)
[0x4547] = 0x7E5A, --(繚)
- [0x4548] = 0x7E79, --(繹)
+ [0x4548] = 0x7E79, --(繹)
[0x4549] = 0x7E6A, --(繪)
- [0x454A] = 0x7E69, --(繩)
+ [0x454A] = 0x7E69, --(繩)
[0x454B] = 0x7E7C, --(繼)
- [0x454C] = 0x7E7B, --(繻)
+ [0x454C] = 0x7E7B, --(繻)
[0x454D] = 0x7E83, --(纃)
- [0x454E] = 0x7DD5, --(緕)
+ [0x454E] = 0x7DD5, --(緕)
[0x454F] = 0x7E7D, --(繽)
- [0x4550] = 0x8FAE, --(辮)
+ [0x4550] = 0x8FAE, --(辮)
[0x4551] = 0x7E7F, --(繿)
- [0x4552] = 0x7E88, --(纈)
+ [0x4552] = 0x7E88, --(纈)
[0x4553] = 0x7E89, --(纉)
- [0x4554] = 0x7E8C, --(續)
+ [0x4554] = 0x7E8C, --(續)
[0x4555] = 0x7E92, --(纒)
- [0x4556] = 0x7E90, --(纐)
+ [0x4556] = 0x7E90, --(纐)
[0x4557] = 0x7E93, --(纓)
- [0x4558] = 0x7E94, --(纔)
+ [0x4558] = 0x7E94, --(纔)
[0x4559] = 0x7E96, --(纖)
- [0x455A] = 0x7E8E, --(纎)
+ [0x455A] = 0x7E8E, --(纎)
[0x455B] = 0x7E9B, --(纛)
- [0x455C] = 0x7E9C, --(纜)
+ [0x455C] = 0x7E9C, --(纜)
[0x455D] = 0x7F38, --(缸)
- [0x455E] = 0x7F3A, --(缺)
+ [0x455E] = 0x7F3A, --(缺)
[0x4601] = 0x7F45, --(罅)
- [0x4602] = 0x7F4C, --(罌)
+ [0x4602] = 0x7F4C, --(罌)
[0x4603] = 0x7F4D, --(罍)
- [0x4604] = 0x7F4E, --(罎)
+ [0x4604] = 0x7F4E, --(罎)
[0x4605] = 0x7F50, --(罐)
- [0x4606] = 0x7F51, --(网)
+ [0x4606] = 0x7F51, --(网)
[0x4607] = 0x7F55, --(罕)
- [0x4608] = 0x7F54, --(罔)
+ [0x4608] = 0x7F54, --(罔)
[0x4609] = 0x7F58, --(罘)
- [0x460A] = 0x7F5F, --(罟)
+ [0x460A] = 0x7F5F, --(罟)
[0x460B] = 0x7F60, --(罠)
- [0x460C] = 0x7F68, --(罨)
+ [0x460C] = 0x7F68, --(罨)
[0x460D] = 0x7F69, --(罩)
- [0x460E] = 0x7F67, --(罧)
+ [0x460E] = 0x7F67, --(罧)
[0x460F] = 0x7F78, --(罸)
- [0x4610] = 0x7F82, --(羂)
+ [0x4610] = 0x7F82, --(羂)
[0x4611] = 0x7F86, --(羆)
- [0x4612] = 0x7F83, --(羃)
+ [0x4612] = 0x7F83, --(羃)
[0x4613] = 0x7F88, --(羈)
- [0x4614] = 0x7F87, --(羇)
+ [0x4614] = 0x7F87, --(羇)
[0x4615] = 0x7F8C, --(羌)
- [0x4616] = 0x7F94, --(羔)
+ [0x4616] = 0x7F94, --(羔)
[0x4617] = 0x7F9E, --(羞)
- [0x4618] = 0x7F9D, --(羝)
+ [0x4618] = 0x7F9D, --(羝)
[0x4619] = 0x7F9A, --(羚)
- [0x461A] = 0x7FA3, --(羣)
+ [0x461A] = 0x7FA3, --(羣)
[0x461B] = 0x7FAF, --(羯)
- [0x461C] = 0x7FB2, --(羲)
+ [0x461C] = 0x7FB2, --(羲)
[0x461D] = 0x7FB9, --(羹)
- [0x461E] = 0x7FAE, --(羮)
+ [0x461E] = 0x7FAE, --(羮)
[0x461F] = 0x7FB6, --(羶)
- [0x4620] = 0x7FB8, --(羸)
+ [0x4620] = 0x7FB8, --(羸)
[0x4621] = 0x8B71, --(譱)
- [0x4622] = 0x7FC5, --(翅)
+ [0x4622] = 0x7FC5, --(翅)
[0x4623] = 0x7FC6, --(翆)
- [0x4624] = 0x7FCA, --(翊)
+ [0x4624] = 0x7FCA, --(翊)
[0x4625] = 0x7FD5, --(翕)
- [0x4626] = 0x7FD4, --(翔)
+ [0x4626] = 0x7FD4, --(翔)
[0x4627] = 0x7FE1, --(翡)
- [0x4628] = 0x7FE6, --(翦)
+ [0x4628] = 0x7FE6, --(翦)
[0x4629] = 0x7FE9, --(翩)
- [0x462A] = 0x7FF3, --(翳)
+ [0x462A] = 0x7FF3, --(翳)
[0x462B] = 0x7FF9, --(翹)
- [0x462C] = 0x98DC, --(飜)
+ [0x462C] = 0x98DC, --(飜)
[0x462D] = 0x8006, --(耆)
- [0x462E] = 0x8004, --(耄)
+ [0x462E] = 0x8004, --(耄)
[0x462F] = 0x800B, --(耋)
- [0x4630] = 0x8012, --(耒)
+ [0x4630] = 0x8012, --(耒)
[0x4631] = 0x8018, --(耘)
- [0x4632] = 0x8019, --(耙)
+ [0x4632] = 0x8019, --(耙)
[0x4633] = 0x801C, --(耜)
- [0x4634] = 0x8021, --(耡)
+ [0x4634] = 0x8021, --(耡)
[0x4635] = 0x8028, --(耨)
- [0x4636] = 0x803F, --(耿)
+ [0x4636] = 0x803F, --(耿)
[0x4637] = 0x803B, --(耻)
- [0x4638] = 0x804A, --(聊)
+ [0x4638] = 0x804A, --(聊)
[0x4639] = 0x8046, --(聆)
- [0x463A] = 0x8052, --(聒)
+ [0x463A] = 0x8052, --(聒)
[0x463B] = 0x8058, --(聘)
- [0x463C] = 0x805A, --(聚)
+ [0x463C] = 0x805A, --(聚)
[0x463D] = 0x805F, --(聟)
- [0x463E] = 0x8062, --(聢)
+ [0x463E] = 0x8062, --(聢)
[0x463F] = 0x8068, --(聨)
- [0x4640] = 0x8073, --(聳)
+ [0x4640] = 0x8073, --(聳)
[0x4641] = 0x8072, --(聲)
- [0x4642] = 0x8070, --(聰)
+ [0x4642] = 0x8070, --(聰)
[0x4643] = 0x8076, --(聶)
- [0x4644] = 0x8079, --(聹)
+ [0x4644] = 0x8079, --(聹)
[0x4645] = 0x807D, --(聽)
- [0x4646] = 0x807F, --(聿)
+ [0x4646] = 0x807F, --(聿)
[0x4647] = 0x8084, --(肄)
- [0x4648] = 0x8086, --(肆)
+ [0x4648] = 0x8086, --(肆)
[0x4649] = 0x8085, --(肅)
- [0x464A] = 0x809B, --(肛)
+ [0x464A] = 0x809B, --(肛)
[0x464B] = 0x8093, --(肓)
- [0x464C] = 0x809A, --(肚)
+ [0x464C] = 0x809A, --(肚)
[0x464D] = 0x80AD, --(肭)
- [0x464E] = 0x5190, --(冐)
+ [0x464E] = 0x5190, --(冐)
[0x464F] = 0x80AC, --(肬)
- [0x4650] = 0x80DB, --(胛)
+ [0x4650] = 0x80DB, --(胛)
[0x4651] = 0x80E5, --(胥)
- [0x4652] = 0x80D9, --(胙)
+ [0x4652] = 0x80D9, --(胙)
[0x4653] = 0x80DD, --(胝)
- [0x4654] = 0x80C4, --(胄)
+ [0x4654] = 0x80C4, --(胄)
[0x4655] = 0x80DA, --(胚)
- [0x4656] = 0x80D6, --(胖)
+ [0x4656] = 0x80D6, --(胖)
[0x4657] = 0x8109, --(脉)
- [0x4658] = 0x80EF, --(胯)
+ [0x4658] = 0x80EF, --(胯)
[0x4659] = 0x80F1, --(胱)
- [0x465A] = 0x811B, --(脛)
+ [0x465A] = 0x811B, --(脛)
[0x465B] = 0x8129, --(脩)
- [0x465C] = 0x8123, --(脣)
+ [0x465C] = 0x8123, --(脣)
[0x465D] = 0x812F, --(脯)
- [0x465E] = 0x814B, --(腋)
+ [0x465E] = 0x814B, --(腋)
[0x4701] = 0x968B, --(隋)
- [0x4702] = 0x8146, --(腆)
+ [0x4702] = 0x8146, --(腆)
[0x4703] = 0x813E, --(脾)
- [0x4704] = 0x8153, --(腓)
+ [0x4704] = 0x8153, --(腓)
[0x4705] = 0x8151, --(腑)
- [0x4706] = 0x80FC, --(胼)
+ [0x4706] = 0x80FC, --(胼)
[0x4707] = 0x8171, --(腱)
- [0x4708] = 0x816E, --(腮)
+ [0x4708] = 0x816E, --(腮)
[0x4709] = 0x8165, --(腥)
- [0x470A] = 0x8166, --(腦)
+ [0x470A] = 0x8166, --(腦)
[0x470B] = 0x8174, --(腴)
- [0x470C] = 0x8183, --(膃)
+ [0x470C] = 0x8183, --(膃)
[0x470D] = 0x8188, --(膈)
- [0x470E] = 0x818A, --(膊)
+ [0x470E] = 0x818A, --(膊)
[0x470F] = 0x8180, --(膀)
- [0x4710] = 0x8182, --(膂)
+ [0x4710] = 0x8182, --(膂)
[0x4711] = 0x81A0, --(膠)
- [0x4712] = 0x8195, --(膕)
+ [0x4712] = 0x8195, --(膕)
[0x4713] = 0x81A4, --(膤)
- [0x4714] = 0x81A3, --(膣)
+ [0x4714] = 0x81A3, --(膣)
[0x4715] = 0x815F, --(腟)
- [0x4716] = 0x8193, --(膓)
+ [0x4716] = 0x8193, --(膓)
[0x4717] = 0x81A9, --(膩)
- [0x4718] = 0x81B0, --(膰)
+ [0x4718] = 0x81B0, --(膰)
[0x4719] = 0x81B5, --(膵)
- [0x471A] = 0x81BE, --(膾)
+ [0x471A] = 0x81BE, --(膾)
[0x471B] = 0x81B8, --(膸)
- [0x471C] = 0x81BD, --(膽)
+ [0x471C] = 0x81BD, --(膽)
[0x471D] = 0x81C0, --(臀)
- [0x471E] = 0x81C2, --(臂)
+ [0x471E] = 0x81C2, --(臂)
[0x471F] = 0x81BA, --(膺)
- [0x4720] = 0x81C9, --(臉)
+ [0x4720] = 0x81C9, --(臉)
[0x4721] = 0x81CD, --(臍)
- [0x4722] = 0x81D1, --(臑)
+ [0x4722] = 0x81D1, --(臑)
[0x4723] = 0x81D9, --(臙)
- [0x4724] = 0x81D8, --(臘)
+ [0x4724] = 0x81D8, --(臘)
[0x4725] = 0x81C8, --(臈)
- [0x4726] = 0x81DA, --(臚)
+ [0x4726] = 0x81DA, --(臚)
[0x4727] = 0x81DF, --(臟)
- [0x4728] = 0x81E0, --(臠)
+ [0x4728] = 0x81E0, --(臠)
[0x4729] = 0x81E7, --(臧)
- [0x472A] = 0x81FA, --(臺)
+ [0x472A] = 0x81FA, --(臺)
[0x472B] = 0x81FB, --(臻)
- [0x472C] = 0x81FE, --(臾)
+ [0x472C] = 0x81FE, --(臾)
[0x472D] = 0x8201, --(舁)
- [0x472E] = 0x8202, --(舂)
+ [0x472E] = 0x8202, --(舂)
[0x472F] = 0x8205, --(舅)
- [0x4730] = 0x8207, --(與)
+ [0x4730] = 0x8207, --(與)
[0x4731] = 0x820A, --(舊)
- [0x4732] = 0x820D, --(舍)
+ [0x4732] = 0x820D, --(舍)
[0x4733] = 0x8210, --(舐)
- [0x4734] = 0x8216, --(舖)
+ [0x4734] = 0x8216, --(舖)
[0x4735] = 0x8229, --(舩)
- [0x4736] = 0x822B, --(舫)
+ [0x4736] = 0x822B, --(舫)
[0x4737] = 0x8238, --(舸)
- [0x4738] = 0x8233, --(舳)
+ [0x4738] = 0x8233, --(舳)
[0x4739] = 0x8240, --(艀)
- [0x473A] = 0x8259, --(艙)
+ [0x473A] = 0x8259, --(艙)
[0x473B] = 0x8258, --(艘)
- [0x473C] = 0x825D, --(艝)
+ [0x473C] = 0x825D, --(艝)
[0x473D] = 0x825A, --(艚)
- [0x473E] = 0x825F, --(艟)
+ [0x473E] = 0x825F, --(艟)
[0x473F] = 0x8264, --(艤)
- [0x4740] = 0x8262, --(艢)
+ [0x4740] = 0x8262, --(艢)
[0x4741] = 0x8268, --(艨)
- [0x4742] = 0x826A, --(艪)
+ [0x4742] = 0x826A, --(艪)
[0x4743] = 0x826B, --(艫)
- [0x4744] = 0x822E, --(舮)
+ [0x4744] = 0x822E, --(舮)
[0x4745] = 0x8271, --(艱)
- [0x4746] = 0x8277, --(艷)
+ [0x4746] = 0x8277, --(艷)
[0x4747] = 0x8278, --(艸)
- [0x4748] = 0x827E, --(艾)
+ [0x4748] = 0x827E, --(艾)
[0x4749] = 0x828D, --(芍)
- [0x474A] = 0x8292, --(芒)
+ [0x474A] = 0x8292, --(芒)
[0x474B] = 0x82AB, --(芫)
- [0x474C] = 0x829F, --(芟)
+ [0x474C] = 0x829F, --(芟)
[0x474D] = 0x82BB, --(芻)
- [0x474E] = 0x82AC, --(芬)
+ [0x474E] = 0x82AC, --(芬)
[0x474F] = 0x82E1, --(苡)
- [0x4750] = 0x82E3, --(苣)
+ [0x4750] = 0x82E3, --(苣)
[0x4751] = 0x82DF, --(苟)
- [0x4752] = 0x82D2, --(苒)
+ [0x4752] = 0x82D2, --(苒)
[0x4753] = 0x82F4, --(苴)
- [0x4754] = 0x82F3, --(苳)
+ [0x4754] = 0x82F3, --(苳)
[0x4755] = 0x82FA, --(苺)
- [0x4756] = 0x8393, --(莓)
+ [0x4756] = 0x8393, --(莓)
[0x4757] = 0x8303, --(范)
- [0x4758] = 0x82FB, --(苻)
+ [0x4758] = 0x82FB, --(苻)
[0x4759] = 0x82F9, --(苹)
- [0x475A] = 0x82DE, --(苞)
+ [0x475A] = 0x82DE, --(苞)
[0x475B] = 0x8306, --(茆)
- [0x475C] = 0x82DC, --(苜)
+ [0x475C] = 0x82DC, --(苜)
[0x475D] = 0x8309, --(茉)
- [0x475E] = 0x82D9, --(苙)
+ [0x475E] = 0x82D9, --(苙)
[0x4801] = 0x8335, --(茵)
- [0x4802] = 0x8334, --(茴)
+ [0x4802] = 0x8334, --(茴)
[0x4803] = 0x8316, --(茖)
- [0x4804] = 0x8332, --(茲)
+ [0x4804] = 0x8332, --(茲)
[0x4805] = 0x8331, --(茱)
- [0x4806] = 0x8340, --(荀)
+ [0x4806] = 0x8340, --(荀)
[0x4807] = 0x8339, --(茹)
- [0x4808] = 0x8350, --(荐)
+ [0x4808] = 0x8350, --(荐)
[0x4809] = 0x8345, --(荅)
- [0x480A] = 0x832F, --(茯)
+ [0x480A] = 0x832F, --(茯)
[0x480B] = 0x832B, --(茫)
- [0x480C] = 0x8317, --(茗)
+ [0x480C] = 0x8317, --(茗)
[0x480D] = 0x8318, --(茘)
- [0x480E] = 0x8385, --(莅)
+ [0x480E] = 0x8385, --(莅)
[0x480F] = 0x839A, --(莚)
- [0x4810] = 0x83AA, --(莪)
+ [0x4810] = 0x83AA, --(莪)
[0x4811] = 0x839F, --(莟)
- [0x4812] = 0x83A2, --(莢)
+ [0x4812] = 0x83A2, --(莢)
[0x4813] = 0x8396, --(莖)
- [0x4814] = 0x8323, --(茣)
+ [0x4814] = 0x8323, --(茣)
[0x4815] = 0x838E, --(莎)
- [0x4816] = 0x8387, --(莇)
+ [0x4816] = 0x8387, --(莇)
[0x4817] = 0x838A, --(莊)
- [0x4818] = 0x837C, --(荼)
+ [0x4818] = 0x837C, --(荼)
[0x4819] = 0x83B5, --(莵)
- [0x481A] = 0x8373, --(荳)
+ [0x481A] = 0x8373, --(荳)
[0x481B] = 0x8375, --(荵)
- [0x481C] = 0x83A0, --(莠)
+ [0x481C] = 0x83A0, --(莠)
[0x481D] = 0x8389, --(莉)
- [0x481E] = 0x83A8, --(莨)
+ [0x481E] = 0x83A8, --(莨)
[0x481F] = 0x83F4, --(菴)
- [0x4820] = 0x8413, --(萓)
+ [0x4820] = 0x8413, --(萓)
[0x4821] = 0x83EB, --(菫)
- [0x4822] = 0x83CE, --(菎)
+ [0x4822] = 0x83CE, --(菎)
[0x4823] = 0x83FD, --(菽)
- [0x4824] = 0x8403, --(萃)
+ [0x4824] = 0x8403, --(萃)
[0x4825] = 0x83D8, --(菘)
- [0x4826] = 0x840B, --(萋)
+ [0x4826] = 0x840B, --(萋)
[0x4827] = 0x83C1, --(菁)
- [0x4828] = 0x83F7, --(菷)
+ [0x4828] = 0x83F7, --(菷)
[0x4829] = 0x8407, --(萇)
- [0x482A] = 0x83E0, --(菠)
+ [0x482A] = 0x83E0, --(菠)
[0x482B] = 0x83F2, --(菲)
- [0x482C] = 0x840D, --(萍)
+ [0x482C] = 0x840D, --(萍)
[0x482D] = 0x8422, --(萢)
- [0x482E] = 0x8420, --(萠)
+ [0x482E] = 0x8420, --(萠)
[0x482F] = 0x83BD, --(莽)
- [0x4830] = 0x8438, --(萸)
+ [0x4830] = 0x8438, --(萸)
[0x4831] = 0x8506, --(蔆)
- [0x4832] = 0x83FB, --(菻)
+ [0x4832] = 0x83FB, --(菻)
[0x4833] = 0x846D, --(葭)
- [0x4834] = 0x842A, --(萪)
+ [0x4834] = 0x842A, --(萪)
[0x4835] = 0x843C, --(萼)
- [0x4836] = 0x855A, --(蕚)
+ [0x4836] = 0x855A, --(蕚)
[0x4837] = 0x8484, --(蒄)
- [0x4838] = 0x8477, --(葷)
+ [0x4838] = 0x8477, --(葷)
[0x4839] = 0x846B, --(葫)
- [0x483A] = 0x84AD, --(蒭)
+ [0x483A] = 0x84AD, --(蒭)
[0x483B] = 0x846E, --(葮)
- [0x483C] = 0x8482, --(蒂)
+ [0x483C] = 0x8482, --(蒂)
[0x483D] = 0x8469, --(葩)
- [0x483E] = 0x8446, --(葆)
+ [0x483E] = 0x8446, --(葆)
[0x483F] = 0x842C, --(萬)
- [0x4840] = 0x846F, --(葯)
+ [0x4840] = 0x846F, --(葯)
[0x4841] = 0x8479, --(葹)
- [0x4842] = 0x8435, --(萵)
+ [0x4842] = 0x8435, --(萵)
[0x4843] = 0x84CA, --(蓊)
- [0x4844] = 0x8462, --(葢)
+ [0x4844] = 0x8462, --(葢)
[0x4845] = 0x84B9, --(蒹)
- [0x4846] = 0x84BF, --(蒿)
+ [0x4846] = 0x84BF, --(蒿)
[0x4847] = 0x849F, --(蒟)
- [0x4848] = 0x84D9, --(蓙)
+ [0x4848] = 0x84D9, --(蓙)
[0x4849] = 0x84CD, --(蓍)
- [0x484A] = 0x84BB, --(蒻)
+ [0x484A] = 0x84BB, --(蒻)
[0x484B] = 0x84DA, --(蓚)
- [0x484C] = 0x84D0, --(蓐)
+ [0x484C] = 0x84D0, --(蓐)
[0x484D] = 0x84C1, --(蓁)
- [0x484E] = 0x84C6, --(蓆)
+ [0x484E] = 0x84C6, --(蓆)
[0x484F] = 0x84D6, --(蓖)
- [0x4850] = 0x84A1, --(蒡)
+ [0x4850] = 0x84A1, --(蒡)
[0x4851] = 0x8521, --(蔡)
- [0x4852] = 0x84FF, --(蓿)
+ [0x4852] = 0x84FF, --(蓿)
[0x4853] = 0x84F4, --(蓴)
- [0x4854] = 0x8517, --(蔗)
+ [0x4854] = 0x8517, --(蔗)
[0x4855] = 0x8518, --(蔘)
- [0x4856] = 0x852C, --(蔬)
+ [0x4856] = 0x852C, --(蔬)
[0x4857] = 0x851F, --(蔟)
- [0x4858] = 0x8515, --(蔕)
+ [0x4858] = 0x8515, --(蔕)
[0x4859] = 0x8514, --(蔔)
- [0x485A] = 0x84FC, --(蓼)
+ [0x485A] = 0x84FC, --(蓼)
[0x485B] = 0x8540, --(蕀)
- [0x485C] = 0x8563, --(蕣)
+ [0x485C] = 0x8563, --(蕣)
[0x485D] = 0x8558, --(蕘)
- [0x485E] = 0x8548, --(蕈)
+ [0x485E] = 0x8548, --(蕈)
[0x4901] = 0x8541, --(蕁)
- [0x4902] = 0x8602, --(蘂)
+ [0x4902] = 0x8602, --(蘂)
[0x4903] = 0x854B, --(蕋)
- [0x4904] = 0x8555, --(蕕)
+ [0x4904] = 0x8555, --(蕕)
[0x4905] = 0x8580, --(薀)
- [0x4906] = 0x85A4, --(薤)
+ [0x4906] = 0x85A4, --(薤)
[0x4907] = 0x8588, --(薈)
- [0x4908] = 0x8591, --(薑)
+ [0x4908] = 0x8591, --(薑)
[0x4909] = 0x858A, --(薊)
- [0x490A] = 0x85A8, --(薨)
+ [0x490A] = 0x85A8, --(薨)
[0x490B] = 0x856D, --(蕭)
- [0x490C] = 0x8594, --(薔)
+ [0x490C] = 0x8594, --(薔)
[0x490D] = 0x859B, --(薛)
- [0x490E] = 0x85EA, --(藪)
+ [0x490E] = 0x85EA, --(藪)
[0x490F] = 0x8587, --(薇)
- [0x4910] = 0x859C, --(薜)
+ [0x4910] = 0x859C, --(薜)
[0x4911] = 0x8577, --(蕷)
- [0x4912] = 0x857E, --(蕾)
+ [0x4912] = 0x857E, --(蕾)
[0x4913] = 0x8590, --(薐)
- [0x4914] = 0x85C9, --(藉)
+ [0x4914] = 0x85C9, --(藉)
[0x4915] = 0x85BA, --(薺)
- [0x4916] = 0x85CF, --(藏)
+ [0x4916] = 0x85CF, --(藏)
[0x4917] = 0x85B9, --(薹)
- [0x4918] = 0x85D0, --(藐)
+ [0x4918] = 0x85D0, --(藐)
[0x4919] = 0x85D5, --(藕)
- [0x491A] = 0x85DD, --(藝)
+ [0x491A] = 0x85DD, --(藝)
[0x491B] = 0x85E5, --(藥)
- [0x491C] = 0x85DC, --(藜)
+ [0x491C] = 0x85DC, --(藜)
[0x491D] = 0x85F9, --(藹)
- [0x491E] = 0x860A, --(蘊)
+ [0x491E] = 0x860A, --(蘊)
[0x491F] = 0x8613, --(蘓)
- [0x4920] = 0x860B, --(蘋)
+ [0x4920] = 0x860B, --(蘋)
[0x4921] = 0x85FE, --(藾)
- [0x4922] = 0x85FA, --(藺)
+ [0x4922] = 0x85FA, --(藺)
[0x4923] = 0x8606, --(蘆)
- [0x4924] = 0x8622, --(蘢)
+ [0x4924] = 0x8622, --(蘢)
[0x4925] = 0x861A, --(蘚)
- [0x4926] = 0x8630, --(蘰)
+ [0x4926] = 0x8630, --(蘰)
[0x4927] = 0x863F, --(蘿)
- [0x4928] = 0x864D, --(虍)
+ [0x4928] = 0x864D, --(虍)
[0x4929] = 0x4E55, --(乕)
- [0x492A] = 0x8654, --(虔)
+ [0x492A] = 0x8654, --(虔)
[0x492B] = 0x865F, --(號)
- [0x492C] = 0x8667, --(虧)
+ [0x492C] = 0x8667, --(虧)
[0x492D] = 0x8671, --(虱)
- [0x492E] = 0x8693, --(蚓)
+ [0x492E] = 0x8693, --(蚓)
[0x492F] = 0x86A3, --(蚣)
- [0x4930] = 0x86A9, --(蚩)
+ [0x4930] = 0x86A9, --(蚩)
[0x4931] = 0x86AA, --(蚪)
- [0x4932] = 0x868B, --(蚋)
+ [0x4932] = 0x868B, --(蚋)
[0x4933] = 0x868C, --(蚌)
- [0x4934] = 0x86B6, --(蚶)
+ [0x4934] = 0x86B6, --(蚶)
[0x4935] = 0x86AF, --(蚯)
- [0x4936] = 0x86C4, --(蛄)
+ [0x4936] = 0x86C4, --(蛄)
[0x4937] = 0x86C6, --(蛆)
- [0x4938] = 0x86B0, --(蚰)
+ [0x4938] = 0x86B0, --(蚰)
[0x4939] = 0x86C9, --(蛉)
- [0x493A] = 0x8823, --(蠣)
+ [0x493A] = 0x8823, --(蠣)
[0x493B] = 0x86AB, --(蚫)
- [0x493C] = 0x86D4, --(蛔)
+ [0x493C] = 0x86D4, --(蛔)
[0x493D] = 0x86DE, --(蛞)
- [0x493E] = 0x86E9, --(蛩)
+ [0x493E] = 0x86E9, --(蛩)
[0x493F] = 0x86EC, --(蛬)
- [0x4940] = 0x86DF, --(蛟)
+ [0x4940] = 0x86DF, --(蛟)
[0x4941] = 0x86DB, --(蛛)
- [0x4942] = 0x86EF, --(蛯)
+ [0x4942] = 0x86EF, --(蛯)
[0x4943] = 0x8712, --(蜒)
- [0x4944] = 0x8706, --(蜆)
+ [0x4944] = 0x8706, --(蜆)
[0x4945] = 0x8708, --(蜈)
- [0x4946] = 0x8700, --(蜀)
+ [0x4946] = 0x8700, --(蜀)
[0x4947] = 0x8703, --(蜃)
- [0x4948] = 0x86FB, --(蛻)
+ [0x4948] = 0x86FB, --(蛻)
[0x4949] = 0x8711, --(蜑)
- [0x494A] = 0x8709, --(蜉)
+ [0x494A] = 0x8709, --(蜉)
[0x494B] = 0x870D, --(蜍)
- [0x494C] = 0x86F9, --(蛹)
+ [0x494C] = 0x86F9, --(蛹)
[0x494D] = 0x870A, --(蜊)
- [0x494E] = 0x8734, --(蜴)
+ [0x494E] = 0x8734, --(蜴)
[0x494F] = 0x873F, --(蜿)
- [0x4950] = 0x8737, --(蜷)
+ [0x4950] = 0x8737, --(蜷)
[0x4951] = 0x873B, --(蜻)
- [0x4952] = 0x8725, --(蜥)
+ [0x4952] = 0x8725, --(蜥)
[0x4953] = 0x8729, --(蜩)
- [0x4954] = 0x871A, --(蜚)
+ [0x4954] = 0x871A, --(蜚)
[0x4955] = 0x8760, --(蝠)
- [0x4956] = 0x875F, --(蝟)
+ [0x4956] = 0x875F, --(蝟)
[0x4957] = 0x8778, --(蝸)
- [0x4958] = 0x874C, --(蝌)
+ [0x4958] = 0x874C, --(蝌)
[0x4959] = 0x874E, --(蝎)
- [0x495A] = 0x8774, --(蝴)
+ [0x495A] = 0x8774, --(蝴)
[0x495B] = 0x8757, --(蝗)
- [0x495C] = 0x8768, --(蝨)
+ [0x495C] = 0x8768, --(蝨)
[0x495D] = 0x876E, --(蝮)
- [0x495E] = 0x8759, --(蝙)
+ [0x495E] = 0x8759, --(蝙)
[0x4A01] = 0x8753, --(蝓)
- [0x4A02] = 0x8763, --(蝣)
+ [0x4A02] = 0x8763, --(蝣)
[0x4A03] = 0x876A, --(蝪)
- [0x4A04] = 0x8805, --(蠅)
+ [0x4A04] = 0x8805, --(蠅)
[0x4A05] = 0x87A2, --(螢)
- [0x4A06] = 0x879F, --(螟)
+ [0x4A06] = 0x879F, --(螟)
[0x4A07] = 0x8782, --(螂)
- [0x4A08] = 0x87AF, --(螯)
+ [0x4A08] = 0x87AF, --(螯)
[0x4A09] = 0x87CB, --(蟋)
- [0x4A0A] = 0x87BD, --(螽)
+ [0x4A0A] = 0x87BD, --(螽)
[0x4A0B] = 0x87C0, --(蟀)
- [0x4A0C] = 0x87D0, --(蟐)
+ [0x4A0C] = 0x87D0, --(蟐)
[0x4A0D] = 0x96D6, --(雖)
- [0x4A0E] = 0x87AB, --(螫)
+ [0x4A0E] = 0x87AB, --(螫)
[0x4A0F] = 0x87C4, --(蟄)
- [0x4A10] = 0x87B3, --(螳)
+ [0x4A10] = 0x87B3, --(螳)
[0x4A11] = 0x87C7, --(蟇)
- [0x4A12] = 0x87C6, --(蟆)
+ [0x4A12] = 0x87C6, --(蟆)
[0x4A13] = 0x87BB, --(螻)
- [0x4A14] = 0x87EF, --(蟯)
+ [0x4A14] = 0x87EF, --(蟯)
[0x4A15] = 0x87F2, --(蟲)
- [0x4A16] = 0x87E0, --(蟠)
+ [0x4A16] = 0x87E0, --(蟠)
[0x4A17] = 0x880F, --(蠏)
- [0x4A18] = 0x880D, --(蠍)
+ [0x4A18] = 0x880D, --(蠍)
[0x4A19] = 0x87FE, --(蟾)
- [0x4A1A] = 0x87F6, --(蟶)
+ [0x4A1A] = 0x87F6, --(蟶)
[0x4A1B] = 0x87F7, --(蟷)
- [0x4A1C] = 0x880E, --(蠎)
+ [0x4A1C] = 0x880E, --(蠎)
[0x4A1D] = 0x87D2, --(蟒)
- [0x4A1E] = 0x8811, --(蠑)
+ [0x4A1E] = 0x8811, --(蠑)
[0x4A1F] = 0x8816, --(蠖)
- [0x4A20] = 0x8815, --(蠕)
+ [0x4A20] = 0x8815, --(蠕)
[0x4A21] = 0x8822, --(蠢)
- [0x4A22] = 0x8821, --(蠡)
+ [0x4A22] = 0x8821, --(蠡)
[0x4A23] = 0x8831, --(蠱)
- [0x4A24] = 0x8836, --(蠶)
+ [0x4A24] = 0x8836, --(蠶)
[0x4A25] = 0x8839, --(蠹)
- [0x4A26] = 0x8827, --(蠧)
+ [0x4A26] = 0x8827, --(蠧)
[0x4A27] = 0x883B, --(蠻)
- [0x4A28] = 0x8844, --(衄)
+ [0x4A28] = 0x8844, --(衄)
[0x4A29] = 0x8842, --(衂)
- [0x4A2A] = 0x8852, --(衒)
+ [0x4A2A] = 0x8852, --(衒)
[0x4A2B] = 0x8859, --(衙)
- [0x4A2C] = 0x885E, --(衞)
+ [0x4A2C] = 0x885E, --(衞)
[0x4A2D] = 0x8862, --(衢)
- [0x4A2E] = 0x886B, --(衫)
+ [0x4A2E] = 0x886B, --(衫)
[0x4A2F] = 0x8881, --(袁)
- [0x4A30] = 0x887E, --(衾)
+ [0x4A30] = 0x887E, --(衾)
[0x4A31] = 0x889E, --(袞)
- [0x4A32] = 0x8875, --(衵)
+ [0x4A32] = 0x8875, --(衵)
[0x4A33] = 0x887D, --(衽)
- [0x4A34] = 0x88B5, --(袵)
+ [0x4A34] = 0x88B5, --(袵)
[0x4A35] = 0x8872, --(衲)
- [0x4A36] = 0x8882, --(袂)
+ [0x4A36] = 0x8882, --(袂)
[0x4A37] = 0x8897, --(袗)
- [0x4A38] = 0x8892, --(袒)
+ [0x4A38] = 0x8892, --(袒)
[0x4A39] = 0x88AE, --(袮)
- [0x4A3A] = 0x8899, --(袙)
+ [0x4A3A] = 0x8899, --(袙)
[0x4A3B] = 0x88A2, --(袢)
- [0x4A3C] = 0x888D, --(袍)
+ [0x4A3C] = 0x888D, --(袍)
[0x4A3D] = 0x88A4, --(袤)
- [0x4A3E] = 0x88B0, --(袰)
+ [0x4A3E] = 0x88B0, --(袰)
[0x4A3F] = 0x88BF, --(袿)
- [0x4A40] = 0x88B1, --(袱)
+ [0x4A40] = 0x88B1, --(袱)
[0x4A41] = 0x88C3, --(裃)
- [0x4A42] = 0x88C4, --(裄)
+ [0x4A42] = 0x88C4, --(裄)
[0x4A43] = 0x88D4, --(裔)
- [0x4A44] = 0x88D8, --(裘)
+ [0x4A44] = 0x88D8, --(裘)
[0x4A45] = 0x88D9, --(裙)
- [0x4A46] = 0x88DD, --(裝)
+ [0x4A46] = 0x88DD, --(裝)
[0x4A47] = 0x88F9, --(裹)
- [0x4A48] = 0x8902, --(褂)
+ [0x4A48] = 0x8902, --(褂)
[0x4A49] = 0x88FC, --(裼)
- [0x4A4A] = 0x88F4, --(裴)
+ [0x4A4A] = 0x88F4, --(裴)
[0x4A4B] = 0x88E8, --(裨)
- [0x4A4C] = 0x88F2, --(裲)
+ [0x4A4C] = 0x88F2, --(裲)
[0x4A4D] = 0x8904, --(褄)
- [0x4A4E] = 0x890C, --(褌)
+ [0x4A4E] = 0x890C, --(褌)
[0x4A4F] = 0x890A, --(褊)
- [0x4A50] = 0x8913, --(褓)
+ [0x4A50] = 0x8913, --(褓)
[0x4A51] = 0x8943, --(襃)
- [0x4A52] = 0x891E, --(褞)
+ [0x4A52] = 0x891E, --(褞)
[0x4A53] = 0x8925, --(褥)
- [0x4A54] = 0x892A, --(褪)
+ [0x4A54] = 0x892A, --(褪)
[0x4A55] = 0x892B, --(褫)
- [0x4A56] = 0x8941, --(襁)
+ [0x4A56] = 0x8941, --(襁)
[0x4A57] = 0x8944, --(襄)
- [0x4A58] = 0x893B, --(褻)
+ [0x4A58] = 0x893B, --(褻)
[0x4A59] = 0x8936, --(褶)
- [0x4A5A] = 0x8938, --(褸)
+ [0x4A5A] = 0x8938, --(褸)
[0x4A5B] = 0x894C, --(襌)
- [0x4A5C] = 0x891D, --(褝)
+ [0x4A5C] = 0x891D, --(褝)
[0x4A5D] = 0x8960, --(襠)
- [0x4A5E] = 0x895E, --(襞)
+ [0x4A5E] = 0x895E, --(襞)
[0x4B01] = 0x8966, --(襦)
- [0x4B02] = 0x8964, --(襤)
+ [0x4B02] = 0x8964, --(襤)
[0x4B03] = 0x896D, --(襭)
- [0x4B04] = 0x896A, --(襪)
+ [0x4B04] = 0x896A, --(襪)
[0x4B05] = 0x896F, --(襯)
- [0x4B06] = 0x8974, --(襴)
+ [0x4B06] = 0x8974, --(襴)
[0x4B07] = 0x8977, --(襷)
- [0x4B08] = 0x897E, --(襾)
+ [0x4B08] = 0x897E, --(襾)
[0x4B09] = 0x8983, --(覃)
- [0x4B0A] = 0x8988, --(覈)
+ [0x4B0A] = 0x8988, --(覈)
[0x4B0B] = 0x898A, --(覊)
- [0x4B0C] = 0x8993, --(覓)
+ [0x4B0C] = 0x8993, --(覓)
[0x4B0D] = 0x8998, --(覘)
- [0x4B0E] = 0x89A1, --(覡)
+ [0x4B0E] = 0x89A1, --(覡)
[0x4B0F] = 0x89A9, --(覩)
- [0x4B10] = 0x89A6, --(覦)
+ [0x4B10] = 0x89A6, --(覦)
[0x4B11] = 0x89AC, --(覬)
- [0x4B12] = 0x89AF, --(覯)
+ [0x4B12] = 0x89AF, --(覯)
[0x4B13] = 0x89B2, --(覲)
- [0x4B14] = 0x89BA, --(覺)
+ [0x4B14] = 0x89BA, --(覺)
[0x4B15] = 0x89BD, --(覽)
- [0x4B16] = 0x89BF, --(覿)
+ [0x4B16] = 0x89BF, --(覿)
[0x4B17] = 0x89C0, --(觀)
- [0x4B18] = 0x89DA, --(觚)
+ [0x4B18] = 0x89DA, --(觚)
[0x4B19] = 0x89DC, --(觜)
- [0x4B1A] = 0x89DD, --(觝)
+ [0x4B1A] = 0x89DD, --(觝)
[0x4B1B] = 0x89E7, --(觧)
- [0x4B1C] = 0x89F4, --(觴)
+ [0x4B1C] = 0x89F4, --(觴)
[0x4B1D] = 0x89F8, --(觸)
- [0x4B1E] = 0x8A03, --(訃)
+ [0x4B1E] = 0x8A03, --(訃)
[0x4B1F] = 0x8A16, --(訖)
- [0x4B20] = 0x8A10, --(訐)
+ [0x4B20] = 0x8A10, --(訐)
[0x4B21] = 0x8A0C, --(訌)
- [0x4B22] = 0x8A1B, --(訛)
+ [0x4B22] = 0x8A1B, --(訛)
[0x4B23] = 0x8A1D, --(訝)
- [0x4B24] = 0x8A25, --(訥)
+ [0x4B24] = 0x8A25, --(訥)
[0x4B25] = 0x8A36, --(訶)
- [0x4B26] = 0x8A41, --(詁)
+ [0x4B26] = 0x8A41, --(詁)
[0x4B27] = 0x8A5B, --(詛)
- [0x4B28] = 0x8A52, --(詒)
+ [0x4B28] = 0x8A52, --(詒)
[0x4B29] = 0x8A46, --(詆)
- [0x4B2A] = 0x8A48, --(詈)
+ [0x4B2A] = 0x8A48, --(詈)
[0x4B2B] = 0x8A7C, --(詼)
- [0x4B2C] = 0x8A6D, --(詭)
+ [0x4B2C] = 0x8A6D, --(詭)
[0x4B2D] = 0x8A6C, --(詬)
- [0x4B2E] = 0x8A62, --(詢)
+ [0x4B2E] = 0x8A62, --(詢)
[0x4B2F] = 0x8A85, --(誅)
- [0x4B30] = 0x8A82, --(誂)
+ [0x4B30] = 0x8A82, --(誂)
[0x4B31] = 0x8A84, --(誄)
- [0x4B32] = 0x8AA8, --(誨)
+ [0x4B32] = 0x8AA8, --(誨)
[0x4B33] = 0x8AA1, --(誡)
- [0x4B34] = 0x8A91, --(誑)
+ [0x4B34] = 0x8A91, --(誑)
[0x4B35] = 0x8AA5, --(誥)
- [0x4B36] = 0x8AA6, --(誦)
+ [0x4B36] = 0x8AA6, --(誦)
[0x4B37] = 0x8A9A, --(誚)
- [0x4B38] = 0x8AA3, --(誣)
+ [0x4B38] = 0x8AA3, --(誣)
[0x4B39] = 0x8AC4, --(諄)
- [0x4B3A] = 0x8ACD, --(諍)
+ [0x4B3A] = 0x8ACD, --(諍)
[0x4B3B] = 0x8AC2, --(諂)
- [0x4B3C] = 0x8ADA, --(諚)
+ [0x4B3C] = 0x8ADA, --(諚)
[0x4B3D] = 0x8AEB, --(諫)
- [0x4B3E] = 0x8AF3, --(諳)
+ [0x4B3E] = 0x8AF3, --(諳)
[0x4B3F] = 0x8AE7, --(諧)
- [0x4B40] = 0x8AE4, --(諤)
+ [0x4B40] = 0x8AE4, --(諤)
[0x4B41] = 0x8AF1, --(諱)
- [0x4B42] = 0x8B14, --(謔)
+ [0x4B42] = 0x8B14, --(謔)
[0x4B43] = 0x8AE0, --(諠)
- [0x4B44] = 0x8AE2, --(諢)
+ [0x4B44] = 0x8AE2, --(諢)
[0x4B45] = 0x8AF7, --(諷)
- [0x4B46] = 0x8ADE, --(諞)
+ [0x4B46] = 0x8ADE, --(諞)
[0x4B47] = 0x8ADB, --(諛)
- [0x4B48] = 0x8B0C, --(謌)
+ [0x4B48] = 0x8B0C, --(謌)
[0x4B49] = 0x8B07, --(謇)
- [0x4B4A] = 0x8B1A, --(謚)
+ [0x4B4A] = 0x8B1A, --(謚)
[0x4B4B] = 0x8AE1, --(諡)
- [0x4B4C] = 0x8B16, --(謖)
+ [0x4B4C] = 0x8B16, --(謖)
[0x4B4D] = 0x8B10, --(謐)
- [0x4B4E] = 0x8B17, --(謗)
+ [0x4B4E] = 0x8B17, --(謗)
[0x4B4F] = 0x8B20, --(謠)
- [0x4B50] = 0x8B33, --(謳)
+ [0x4B50] = 0x8B33, --(謳)
[0x4B51] = 0x97AB, --(鞫)
- [0x4B52] = 0x8B26, --(謦)
+ [0x4B52] = 0x8B26, --(謦)
[0x4B53] = 0x8B2B, --(謫)
- [0x4B54] = 0x8B3E, --(謾)
+ [0x4B54] = 0x8B3E, --(謾)
[0x4B55] = 0x8B28, --(謨)
- [0x4B56] = 0x8B41, --(譁)
+ [0x4B56] = 0x8B41, --(譁)
[0x4B57] = 0x8B4C, --(譌)
- [0x4B58] = 0x8B4F, --(譏)
+ [0x4B58] = 0x8B4F, --(譏)
[0x4B59] = 0x8B4E, --(譎)
- [0x4B5A] = 0x8B49, --(證)
+ [0x4B5A] = 0x8B49, --(證)
[0x4B5B] = 0x8B56, --(譖)
- [0x4B5C] = 0x8B5B, --(譛)
+ [0x4B5C] = 0x8B5B, --(譛)
[0x4B5D] = 0x8B5A, --(譚)
- [0x4B5E] = 0x8B6B, --(譫)
+ [0x4B5E] = 0x8B6B, --(譫)
[0x4C01] = 0x8B5F, --(譟)
- [0x4C02] = 0x8B6C, --(譬)
+ [0x4C02] = 0x8B6C, --(譬)
[0x4C03] = 0x8B6F, --(譯)
- [0x4C04] = 0x8B74, --(譴)
+ [0x4C04] = 0x8B74, --(譴)
[0x4C05] = 0x8B7D, --(譽)
- [0x4C06] = 0x8B80, --(讀)
+ [0x4C06] = 0x8B80, --(讀)
[0x4C07] = 0x8B8C, --(讌)
- [0x4C08] = 0x8B8E, --(讎)
+ [0x4C08] = 0x8B8E, --(讎)
[0x4C09] = 0x8B92, --(讒)
- [0x4C0A] = 0x8B93, --(讓)
+ [0x4C0A] = 0x8B93, --(讓)
[0x4C0B] = 0x8B96, --(讖)
- [0x4C0C] = 0x8B99, --(讙)
+ [0x4C0C] = 0x8B99, --(讙)
[0x4C0D] = 0x8B9A, --(讚)
- [0x4C0E] = 0x8C3A, --(谺)
+ [0x4C0E] = 0x8C3A, --(谺)
[0x4C0F] = 0x8C41, --(豁)
- [0x4C10] = 0x8C3F, --(谿)
+ [0x4C10] = 0x8C3F, --(谿)
[0x4C11] = 0x8C48, --(豈)
- [0x4C12] = 0x8C4C, --(豌)
+ [0x4C12] = 0x8C4C, --(豌)
[0x4C13] = 0x8C4E, --(豎)
- [0x4C14] = 0x8C50, --(豐)
+ [0x4C14] = 0x8C50, --(豐)
[0x4C15] = 0x8C55, --(豕)
- [0x4C16] = 0x8C62, --(豢)
+ [0x4C16] = 0x8C62, --(豢)
[0x4C17] = 0x8C6C, --(豬)
- [0x4C18] = 0x8C78, --(豸)
+ [0x4C18] = 0x8C78, --(豸)
[0x4C19] = 0x8C7A, --(豺)
- [0x4C1A] = 0x8C82, --(貂)
+ [0x4C1A] = 0x8C82, --(貂)
[0x4C1B] = 0x8C89, --(貉)
- [0x4C1C] = 0x8C85, --(貅)
+ [0x4C1C] = 0x8C85, --(貅)
[0x4C1D] = 0x8C8A, --(貊)
- [0x4C1E] = 0x8C8D, --(貍)
+ [0x4C1E] = 0x8C8D, --(貍)
[0x4C1F] = 0x8C8E, --(貎)
- [0x4C20] = 0x8C94, --(貔)
+ [0x4C20] = 0x8C94, --(貔)
[0x4C21] = 0x8C7C, --(豼)
- [0x4C22] = 0x8C98, --(貘)
+ [0x4C22] = 0x8C98, --(貘)
[0x4C23] = 0x621D, --(戝)
- [0x4C24] = 0x8CAD, --(貭)
+ [0x4C24] = 0x8CAD, --(貭)
[0x4C25] = 0x8CAA, --(貪)
- [0x4C26] = 0x8CBD, --(貽)
+ [0x4C26] = 0x8CBD, --(貽)
[0x4C27] = 0x8CB2, --(貲)
- [0x4C28] = 0x8CB3, --(貳)
+ [0x4C28] = 0x8CB3, --(貳)
[0x4C29] = 0x8CAE, --(貮)
- [0x4C2A] = 0x8CB6, --(貶)
+ [0x4C2A] = 0x8CB6, --(貶)
[0x4C2B] = 0x8CC8, --(賈)
- [0x4C2C] = 0x8CC1, --(賁)
+ [0x4C2C] = 0x8CC1, --(賁)
[0x4C2D] = 0x8CE4, --(賤)
- [0x4C2E] = 0x8CE3, --(賣)
+ [0x4C2E] = 0x8CE3, --(賣)
[0x4C2F] = 0x8CDA, --(賚)
- [0x4C30] = 0x8CFD, --(賽)
+ [0x4C30] = 0x8CFD, --(賽)
[0x4C31] = 0x8CFA, --(賺)
- [0x4C32] = 0x8CFB, --(賻)
+ [0x4C32] = 0x8CFB, --(賻)
[0x4C33] = 0x8D04, --(贄)
- [0x4C34] = 0x8D05, --(贅)
+ [0x4C34] = 0x8D05, --(贅)
[0x4C35] = 0x8D0A, --(贊)
- [0x4C36] = 0x8D07, --(贇)
+ [0x4C36] = 0x8D07, --(贇)
[0x4C37] = 0x8D0F, --(贏)
- [0x4C38] = 0x8D0D, --(贍)
+ [0x4C38] = 0x8D0D, --(贍)
[0x4C39] = 0x8D10, --(贐)
- [0x4C3A] = 0x9F4E, --(齎)
+ [0x4C3A] = 0x9F4E, --(齎)
[0x4C3B] = 0x8D13, --(贓)
- [0x4C3C] = 0x8CCD, --(賍)
+ [0x4C3C] = 0x8CCD, --(賍)
[0x4C3D] = 0x8D14, --(贔)
- [0x4C3E] = 0x8D16, --(贖)
+ [0x4C3E] = 0x8D16, --(贖)
[0x4C3F] = 0x8D67, --(赧)
- [0x4C40] = 0x8D6D, --(赭)
+ [0x4C40] = 0x8D6D, --(赭)
[0x4C41] = 0x8D71, --(赱)
- [0x4C42] = 0x8D73, --(赳)
+ [0x4C42] = 0x8D73, --(赳)
[0x4C43] = 0x8D81, --(趁)
- [0x4C44] = 0x8D99, --(趙)
+ [0x4C44] = 0x8D99, --(趙)
[0x4C45] = 0x8DC2, --(跂)
- [0x4C46] = 0x8DBE, --(趾)
+ [0x4C46] = 0x8DBE, --(趾)
[0x4C47] = 0x8DBA, --(趺)
- [0x4C48] = 0x8DCF, --(跏)
+ [0x4C48] = 0x8DCF, --(跏)
[0x4C49] = 0x8DDA, --(跚)
- [0x4C4A] = 0x8DD6, --(跖)
+ [0x4C4A] = 0x8DD6, --(跖)
[0x4C4B] = 0x8DCC, --(跌)
- [0x4C4C] = 0x8DDB, --(跛)
+ [0x4C4C] = 0x8DDB, --(跛)
[0x4C4D] = 0x8DCB, --(跋)
- [0x4C4E] = 0x8DEA, --(跪)
+ [0x4C4E] = 0x8DEA, --(跪)
[0x4C4F] = 0x8DEB, --(跫)
- [0x4C50] = 0x8DDF, --(跟)
+ [0x4C50] = 0x8DDF, --(跟)
[0x4C51] = 0x8DE3, --(跣)
- [0x4C52] = 0x8DFC, --(跼)
+ [0x4C52] = 0x8DFC, --(跼)
[0x4C53] = 0x8E08, --(踈)
- [0x4C54] = 0x8E09, --(踉)
+ [0x4C54] = 0x8E09, --(踉)
[0x4C55] = 0x8DFF, --(跿)
- [0x4C56] = 0x8E1D, --(踝)
+ [0x4C56] = 0x8E1D, --(踝)
[0x4C57] = 0x8E1E, --(踞)
- [0x4C58] = 0x8E10, --(踐)
+ [0x4C58] = 0x8E10, --(踐)
[0x4C59] = 0x8E1F, --(踟)
- [0x4C5A] = 0x8E42, --(蹂)
+ [0x4C5A] = 0x8E42, --(蹂)
[0x4C5B] = 0x8E35, --(踵)
- [0x4C5C] = 0x8E30, --(踰)
+ [0x4C5C] = 0x8E30, --(踰)
[0x4C5D] = 0x8E34, --(踴)
- [0x4C5E] = 0x8E4A, --(蹊)
+ [0x4C5E] = 0x8E4A, --(蹊)
[0x4D01] = 0x8E47, --(蹇)
- [0x4D02] = 0x8E49, --(蹉)
+ [0x4D02] = 0x8E49, --(蹉)
[0x4D03] = 0x8E4C, --(蹌)
- [0x4D04] = 0x8E50, --(蹐)
+ [0x4D04] = 0x8E50, --(蹐)
[0x4D05] = 0x8E48, --(蹈)
- [0x4D06] = 0x8E59, --(蹙)
+ [0x4D06] = 0x8E59, --(蹙)
[0x4D07] = 0x8E64, --(蹤)
- [0x4D08] = 0x8E60, --(蹠)
+ [0x4D08] = 0x8E60, --(蹠)
[0x4D09] = 0x8E2A, --(踪)
- [0x4D0A] = 0x8E63, --(蹣)
+ [0x4D0A] = 0x8E63, --(蹣)
[0x4D0B] = 0x8E55, --(蹕)
- [0x4D0C] = 0x8E76, --(蹶)
+ [0x4D0C] = 0x8E76, --(蹶)
[0x4D0D] = 0x8E72, --(蹲)
- [0x4D0E] = 0x8E7C, --(蹼)
+ [0x4D0E] = 0x8E7C, --(蹼)
[0x4D0F] = 0x8E81, --(躁)
- [0x4D10] = 0x8E87, --(躇)
+ [0x4D10] = 0x8E87, --(躇)
[0x4D11] = 0x8E85, --(躅)
- [0x4D12] = 0x8E84, --(躄)
+ [0x4D12] = 0x8E84, --(躄)
[0x4D13] = 0x8E8B, --(躋)
- [0x4D14] = 0x8E8A, --(躊)
+ [0x4D14] = 0x8E8A, --(躊)
[0x4D15] = 0x8E93, --(躓)
- [0x4D16] = 0x8E91, --(躑)
+ [0x4D16] = 0x8E91, --(躑)
[0x4D17] = 0x8E94, --(躔)
- [0x4D18] = 0x8E99, --(躙)
+ [0x4D18] = 0x8E99, --(躙)
[0x4D19] = 0x8EAA, --(躪)
- [0x4D1A] = 0x8EA1, --(躡)
+ [0x4D1A] = 0x8EA1, --(躡)
[0x4D1B] = 0x8EAC, --(躬)
- [0x4D1C] = 0x8EB0, --(躰)
+ [0x4D1C] = 0x8EB0, --(躰)
[0x4D1D] = 0x8EC6, --(軆)
- [0x4D1E] = 0x8EB1, --(躱)
+ [0x4D1E] = 0x8EB1, --(躱)
[0x4D1F] = 0x8EBE, --(躾)
- [0x4D20] = 0x8EC5, --(軅)
+ [0x4D20] = 0x8EC5, --(軅)
[0x4D21] = 0x8EC8, --(軈)
- [0x4D22] = 0x8ECB, --(軋)
+ [0x4D22] = 0x8ECB, --(軋)
[0x4D23] = 0x8EDB, --(軛)
- [0x4D24] = 0x8EE3, --(軣)
+ [0x4D24] = 0x8EE3, --(軣)
[0x4D25] = 0x8EFC, --(軼)
- [0x4D26] = 0x8EFB, --(軻)
+ [0x4D26] = 0x8EFB, --(軻)
[0x4D27] = 0x8EEB, --(軫)
- [0x4D28] = 0x8EFE, --(軾)
+ [0x4D28] = 0x8EFE, --(軾)
[0x4D29] = 0x8F0A, --(輊)
- [0x4D2A] = 0x8F05, --(輅)
+ [0x4D2A] = 0x8F05, --(輅)
[0x4D2B] = 0x8F15, --(輕)
- [0x4D2C] = 0x8F12, --(輒)
+ [0x4D2C] = 0x8F12, --(輒)
[0x4D2D] = 0x8F19, --(輙)
- [0x4D2E] = 0x8F13, --(輓)
+ [0x4D2E] = 0x8F13, --(輓)
[0x4D2F] = 0x8F1C, --(輜)
- [0x4D30] = 0x8F1F, --(輟)
+ [0x4D30] = 0x8F1F, --(輟)
[0x4D31] = 0x8F1B, --(輛)
- [0x4D32] = 0x8F0C, --(輌)
+ [0x4D32] = 0x8F0C, --(輌)
[0x4D33] = 0x8F26, --(輦)
- [0x4D34] = 0x8F33, --(輳)
+ [0x4D34] = 0x8F33, --(輳)
[0x4D35] = 0x8F3B, --(輻)
- [0x4D36] = 0x8F39, --(輹)
+ [0x4D36] = 0x8F39, --(輹)
[0x4D37] = 0x8F45, --(轅)
- [0x4D38] = 0x8F42, --(轂)
+ [0x4D38] = 0x8F42, --(轂)
[0x4D39] = 0x8F3E, --(輾)
- [0x4D3A] = 0x8F4C, --(轌)
+ [0x4D3A] = 0x8F4C, --(轌)
[0x4D3B] = 0x8F49, --(轉)
- [0x4D3C] = 0x8F46, --(轆)
+ [0x4D3C] = 0x8F46, --(轆)
[0x4D3D] = 0x8F4E, --(轎)
- [0x4D3E] = 0x8F57, --(轗)
+ [0x4D3E] = 0x8F57, --(轗)
[0x4D3F] = 0x8F5C, --(轜)
- [0x4D40] = 0x8F62, --(轢)
+ [0x4D40] = 0x8F62, --(轢)
[0x4D41] = 0x8F63, --(轣)
- [0x4D42] = 0x8F64, --(轤)
+ [0x4D42] = 0x8F64, --(轤)
[0x4D43] = 0x8F9C, --(辜)
- [0x4D44] = 0x8F9F, --(辟)
+ [0x4D44] = 0x8F9F, --(辟)
[0x4D45] = 0x8FA3, --(辣)
- [0x4D46] = 0x8FAD, --(辭)
+ [0x4D46] = 0x8FAD, --(辭)
[0x4D47] = 0x8FAF, --(辯)
- [0x4D48] = 0x8FB7, --(辷)
+ [0x4D48] = 0x8FB7, --(辷)
[0x4D49] = 0x8FDA, --(迚)
- [0x4D4A] = 0x8FE5, --(迥)
+ [0x4D4A] = 0x8FE5, --(迥)
[0x4D4B] = 0x8FE2, --(迢)
- [0x4D4C] = 0x8FEA, --(迪)
+ [0x4D4C] = 0x8FEA, --(迪)
[0x4D4D] = 0x8FEF, --(迯)
- [0x4D4E] = 0x9087, --(邇)
+ [0x4D4E] = 0x9087, --(邇)
[0x4D4F] = 0x8FF4, --(迴)
- [0x4D50] = 0x9005, --(逅)
+ [0x4D50] = 0x9005, --(逅)
[0x4D51] = 0x8FF9, --(迹)
- [0x4D52] = 0x8FFA, --(迺)
+ [0x4D52] = 0x8FFA, --(迺)
[0x4D53] = 0x9011, --(逑)
- [0x4D54] = 0x9015, --(逕)
+ [0x4D54] = 0x9015, --(逕)
[0x4D55] = 0x9021, --(逡)
- [0x4D56] = 0x900D, --(逍)
+ [0x4D56] = 0x900D, --(逍)
[0x4D57] = 0x901E, --(逞)
- [0x4D58] = 0x9016, --(逖)
+ [0x4D58] = 0x9016, --(逖)
[0x4D59] = 0x900B, --(逋)
- [0x4D5A] = 0x9027, --(逧)
+ [0x4D5A] = 0x9027, --(逧)
[0x4D5B] = 0x9036, --(逶)
- [0x4D5C] = 0x9035, --(逵)
+ [0x4D5C] = 0x9035, --(逵)
[0x4D5D] = 0x9039, --(逹)
- [0x4D5E] = 0x8FF8, --(迸)
+ [0x4D5E] = 0x8FF8, --(迸)
[0x4E01] = 0x904F, --(遏)
- [0x4E02] = 0x9050, --(遐)
+ [0x4E02] = 0x9050, --(遐)
[0x4E03] = 0x9051, --(遑)
- [0x4E04] = 0x9052, --(遒)
+ [0x4E04] = 0x9052, --(遒)
[0x4E05] = 0x900E, --(逎)
- [0x4E06] = 0x9049, --(遉)
+ [0x4E06] = 0x9049, --(遉)
[0x4E07] = 0x903E, --(逾)
- [0x4E08] = 0x9056, --(遖)
+ [0x4E08] = 0x9056, --(遖)
[0x4E09] = 0x9058, --(遘)
- [0x4E0A] = 0x905E, --(遞)
+ [0x4E0A] = 0x905E, --(遞)
[0x4E0B] = 0x9068, --(遨)
- [0x4E0C] = 0x906F, --(遯)
+ [0x4E0C] = 0x906F, --(遯)
[0x4E0D] = 0x9076, --(遶)
- [0x4E0E] = 0x96A8, --(隨)
+ [0x4E0E] = 0x96A8, --(隨)
[0x4E0F] = 0x9072, --(遲)
- [0x4E10] = 0x9082, --(邂)
+ [0x4E10] = 0x9082, --(邂)
[0x4E11] = 0x907D, --(遽)
- [0x4E12] = 0x9081, --(邁)
+ [0x4E12] = 0x9081, --(邁)
[0x4E13] = 0x9080, --(邀)
- [0x4E14] = 0x908A, --(邊)
+ [0x4E14] = 0x908A, --(邊)
[0x4E15] = 0x9089, --(邉)
- [0x4E16] = 0x908F, --(邏)
+ [0x4E16] = 0x908F, --(邏)
[0x4E17] = 0x90A8, --(邨)
- [0x4E18] = 0x90AF, --(邯)
+ [0x4E18] = 0x90AF, --(邯)
[0x4E19] = 0x90B1, --(邱)
- [0x4E1A] = 0x90B5, --(邵)
+ [0x4E1A] = 0x90B5, --(邵)
[0x4E1B] = 0x90E2, --(郢)
- [0x4E1C] = 0x90E4, --(郤)
+ [0x4E1C] = 0x90E4, --(郤)
[0x4E1D] = 0x6248, --(扈)
- [0x4E1E] = 0x90DB, --(郛)
+ [0x4E1E] = 0x90DB, --(郛)
[0x4E1F] = 0x9102, --(鄂)
- [0x4E20] = 0x9112, --(鄒)
+ [0x4E20] = 0x9112, --(鄒)
[0x4E21] = 0x9119, --(鄙)
- [0x4E22] = 0x9132, --(鄲)
+ [0x4E22] = 0x9132, --(鄲)
[0x4E23] = 0x9130, --(鄰)
- [0x4E24] = 0x914A, --(酊)
+ [0x4E24] = 0x914A, --(酊)
[0x4E25] = 0x9156, --(酖)
- [0x4E26] = 0x9158, --(酘)
+ [0x4E26] = 0x9158, --(酘)
[0x4E27] = 0x9163, --(酣)
- [0x4E28] = 0x9165, --(酥)
+ [0x4E28] = 0x9165, --(酥)
[0x4E29] = 0x9169, --(酩)
- [0x4E2A] = 0x9173, --(酳)
+ [0x4E2A] = 0x9173, --(酳)
[0x4E2B] = 0x9172, --(酲)
- [0x4E2C] = 0x918B, --(醋)
+ [0x4E2C] = 0x918B, --(醋)
[0x4E2D] = 0x9189, --(醉)
- [0x4E2E] = 0x9182, --(醂)
+ [0x4E2E] = 0x9182, --(醂)
[0x4E2F] = 0x91A2, --(醢)
- [0x4E30] = 0x91AB, --(醫)
+ [0x4E30] = 0x91AB, --(醫)
[0x4E31] = 0x91AF, --(醯)
- [0x4E32] = 0x91AA, --(醪)
+ [0x4E32] = 0x91AA, --(醪)
[0x4E33] = 0x91B5, --(醵)
- [0x4E34] = 0x91B4, --(醴)
+ [0x4E34] = 0x91B4, --(醴)
[0x4E35] = 0x91BA, --(醺)
- [0x4E36] = 0x91C0, --(釀)
+ [0x4E36] = 0x91C0, --(釀)
[0x4E37] = 0x91C1, --(釁)
- [0x4E38] = 0x91C9, --(釉)
+ [0x4E38] = 0x91C9, --(釉)
[0x4E39] = 0x91CB, --(釋)
- [0x4E3A] = 0x91D0, --(釐)
+ [0x4E3A] = 0x91D0, --(釐)
[0x4E3B] = 0x91D6, --(釖)
- [0x4E3C] = 0x91DF, --(釟)
+ [0x4E3C] = 0x91DF, --(釟)
[0x4E3D] = 0x91E1, --(釡)
- [0x4E3E] = 0x91DB, --(釛)
+ [0x4E3E] = 0x91DB, --(釛)
[0x4E3F] = 0x91FC, --(釼)
- [0x4E40] = 0x91F5, --(釵)
+ [0x4E40] = 0x91F5, --(釵)
[0x4E41] = 0x91F6, --(釶)
- [0x4E42] = 0x921E, --(鈞)
+ [0x4E42] = 0x921E, --(鈞)
[0x4E43] = 0x91FF, --(釿)
- [0x4E44] = 0x9214, --(鈔)
+ [0x4E44] = 0x9214, --(鈔)
[0x4E45] = 0x922C, --(鈬)
- [0x4E46] = 0x9215, --(鈕)
+ [0x4E46] = 0x9215, --(鈕)
[0x4E47] = 0x9211, --(鈑)
- [0x4E48] = 0x925E, --(鉞)
+ [0x4E48] = 0x925E, --(鉞)
[0x4E49] = 0x9257, --(鉗)
- [0x4E4A] = 0x9245, --(鉅)
+ [0x4E4A] = 0x9245, --(鉅)
[0x4E4B] = 0x9249, --(鉉)
- [0x4E4C] = 0x9264, --(鉤)
+ [0x4E4C] = 0x9264, --(鉤)
[0x4E4D] = 0x9248, --(鉈)
- [0x4E4E] = 0x9295, --(銕)
+ [0x4E4E] = 0x9295, --(銕)
[0x4E4F] = 0x923F, --(鈿)
- [0x4E50] = 0x924B, --(鉋)
+ [0x4E50] = 0x924B, --(鉋)
[0x4E51] = 0x9250, --(鉐)
- [0x4E52] = 0x929C, --(銜)
+ [0x4E52] = 0x929C, --(銜)
[0x4E53] = 0x9296, --(銖)
- [0x4E54] = 0x9293, --(銓)
+ [0x4E54] = 0x9293, --(銓)
[0x4E55] = 0x929B, --(銛)
- [0x4E56] = 0x925A, --(鉚)
+ [0x4E56] = 0x925A, --(鉚)
[0x4E57] = 0x92CF, --(鋏)
- [0x4E58] = 0x92B9, --(銹)
+ [0x4E58] = 0x92B9, --(銹)
[0x4E59] = 0x92B7, --(銷)
- [0x4E5A] = 0x92E9, --(鋩)
+ [0x4E5A] = 0x92E9, --(鋩)
[0x4E5B] = 0x930F, --(錏)
- [0x4E5C] = 0x92FA, --(鋺)
+ [0x4E5C] = 0x92FA, --(鋺)
[0x4E5D] = 0x9344, --(鍄)
- [0x4E5E] = 0x932E, --(錮)
+ [0x4E5E] = 0x932E, --(錮)
[0x4F01] = 0x9319, --(錙)
- [0x4F02] = 0x9322, --(錢)
+ [0x4F02] = 0x9322, --(錢)
[0x4F03] = 0x931A, --(錚)
- [0x4F04] = 0x9323, --(錣)
+ [0x4F04] = 0x9323, --(錣)
[0x4F05] = 0x933A, --(錺)
- [0x4F06] = 0x9335, --(錵)
+ [0x4F06] = 0x9335, --(錵)
[0x4F07] = 0x933B, --(錻)
- [0x4F08] = 0x935C, --(鍜)
+ [0x4F08] = 0x935C, --(鍜)
[0x4F09] = 0x9360, --(鍠)
- [0x4F0A] = 0x937C, --(鍼)
+ [0x4F0A] = 0x937C, --(鍼)
[0x4F0B] = 0x936E, --(鍮)
- [0x4F0C] = 0x9356, --(鍖)
+ [0x4F0C] = 0x9356, --(鍖)
[0x4F0D] = 0x93B0, --(鎰)
- [0x4F0E] = 0x93AC, --(鎬)
+ [0x4F0E] = 0x93AC, --(鎬)
[0x4F0F] = 0x93AD, --(鎭)
- [0x4F10] = 0x9394, --(鎔)
+ [0x4F10] = 0x9394, --(鎔)
[0x4F11] = 0x93B9, --(鎹)
- [0x4F12] = 0x93D6, --(鏖)
+ [0x4F12] = 0x93D6, --(鏖)
[0x4F13] = 0x93D7, --(鏗)
- [0x4F14] = 0x93E8, --(鏨)
+ [0x4F14] = 0x93E8, --(鏨)
[0x4F15] = 0x93E5, --(鏥)
- [0x4F16] = 0x93D8, --(鏘)
+ [0x4F16] = 0x93D8, --(鏘)
[0x4F17] = 0x93C3, --(鏃)
- [0x4F18] = 0x93DD, --(鏝)
+ [0x4F18] = 0x93DD, --(鏝)
[0x4F19] = 0x93D0, --(鏐)
- [0x4F1A] = 0x93C8, --(鏈)
+ [0x4F1A] = 0x93C8, --(鏈)
[0x4F1B] = 0x93E4, --(鏤)
- [0x4F1C] = 0x941A, --(鐚)
+ [0x4F1C] = 0x941A, --(鐚)
[0x4F1D] = 0x9414, --(鐔)
- [0x4F1E] = 0x9413, --(鐓)
+ [0x4F1E] = 0x9413, --(鐓)
[0x4F1F] = 0x9403, --(鐃)
- [0x4F20] = 0x9407, --(鐇)
+ [0x4F20] = 0x9407, --(鐇)
[0x4F21] = 0x9410, --(鐐)
- [0x4F22] = 0x9436, --(鐶)
+ [0x4F22] = 0x9436, --(鐶)
[0x4F23] = 0x942B, --(鐫)
- [0x4F24] = 0x9435, --(鐵)
+ [0x4F24] = 0x9435, --(鐵)
[0x4F25] = 0x9421, --(鐡)
- [0x4F26] = 0x943A, --(鐺)
+ [0x4F26] = 0x943A, --(鐺)
[0x4F27] = 0x9441, --(鑁)
- [0x4F28] = 0x9452, --(鑒)
+ [0x4F28] = 0x9452, --(鑒)
[0x4F29] = 0x9444, --(鑄)
- [0x4F2A] = 0x945B, --(鑛)
+ [0x4F2A] = 0x945B, --(鑛)
[0x4F2B] = 0x9460, --(鑠)
- [0x4F2C] = 0x9462, --(鑢)
+ [0x4F2C] = 0x9462, --(鑢)
[0x4F2D] = 0x945E, --(鑞)
- [0x4F2E] = 0x946A, --(鑪)
+ [0x4F2E] = 0x946A, --(鑪)
[0x4F2F] = 0x9229, --(鈩)
- [0x4F30] = 0x9470, --(鑰)
+ [0x4F30] = 0x9470, --(鑰)
[0x4F31] = 0x9475, --(鑵)
- [0x4F32] = 0x9477, --(鑷)
+ [0x4F32] = 0x9477, --(鑷)
[0x4F33] = 0x947D, --(鑽)
- [0x4F34] = 0x945A, --(鑚)
+ [0x4F34] = 0x945A, --(鑚)
[0x4F35] = 0x947C, --(鑼)
- [0x4F36] = 0x947E, --(鑾)
+ [0x4F36] = 0x947E, --(鑾)
[0x4F37] = 0x9481, --(钁)
- [0x4F38] = 0x947F, --(鑿)
+ [0x4F38] = 0x947F, --(鑿)
[0x4F39] = 0x9582, --(閂)
- [0x4F3A] = 0x9587, --(閇)
+ [0x4F3A] = 0x9587, --(閇)
[0x4F3B] = 0x958A, --(閊)
- [0x4F3C] = 0x9594, --(閔)
+ [0x4F3C] = 0x9594, --(閔)
[0x4F3D] = 0x9596, --(閖)
- [0x4F3E] = 0x9598, --(閘)
+ [0x4F3E] = 0x9598, --(閘)
[0x4F3F] = 0x9599, --(閙)
- [0x4F40] = 0x95A0, --(閠)
+ [0x4F40] = 0x95A0, --(閠)
[0x4F41] = 0x95A8, --(閨)
- [0x4F42] = 0x95A7, --(閧)
+ [0x4F42] = 0x95A7, --(閧)
[0x4F43] = 0x95AD, --(閭)
- [0x4F44] = 0x95BC, --(閼)
+ [0x4F44] = 0x95BC, --(閼)
[0x4F45] = 0x95BB, --(閻)
- [0x4F46] = 0x95B9, --(閹)
+ [0x4F46] = 0x95B9, --(閹)
[0x4F47] = 0x95BE, --(閾)
- [0x4F48] = 0x95CA, --(闊)
+ [0x4F48] = 0x95CA, --(闊)
[0x4F49] = 0x6FF6, --(濶)
- [0x4F4A] = 0x95C3, --(闃)
+ [0x4F4A] = 0x95C3, --(闃)
[0x4F4B] = 0x95CD, --(闍)
- [0x4F4C] = 0x95CC, --(闌)
+ [0x4F4C] = 0x95CC, --(闌)
[0x4F4D] = 0x95D5, --(闕)
- [0x4F4E] = 0x95D4, --(闔)
+ [0x4F4E] = 0x95D4, --(闔)
[0x4F4F] = 0x95D6, --(闖)
- [0x4F50] = 0x95DC, --(關)
+ [0x4F50] = 0x95DC, --(關)
[0x4F51] = 0x95E1, --(闡)
- [0x4F52] = 0x95E5, --(闥)
+ [0x4F52] = 0x95E5, --(闥)
[0x4F53] = 0x95E2, --(闢)
- [0x4F54] = 0x9621, --(阡)
+ [0x4F54] = 0x9621, --(阡)
[0x4F55] = 0x9628, --(阨)
- [0x4F56] = 0x962E, --(阮)
+ [0x4F56] = 0x962E, --(阮)
[0x4F57] = 0x962F, --(阯)
- [0x4F58] = 0x9642, --(陂)
+ [0x4F58] = 0x9642, --(陂)
[0x4F59] = 0x964C, --(陌)
- [0x4F5A] = 0x964F, --(陏)
+ [0x4F5A] = 0x964F, --(陏)
[0x4F5B] = 0x964B, --(陋)
- [0x4F5C] = 0x9677, --(陷)
+ [0x4F5C] = 0x9677, --(陷)
[0x4F5D] = 0x965C, --(陜)
- [0x4F5E] = 0x965E, --(陞)
+ [0x4F5E] = 0x965E, --(陞)
[0x5001] = 0x965D, --(陝)
- [0x5002] = 0x965F, --(陟)
+ [0x5002] = 0x965F, --(陟)
[0x5003] = 0x9666, --(陦)
- [0x5004] = 0x9672, --(陲)
+ [0x5004] = 0x9672, --(陲)
[0x5005] = 0x966C, --(陬)
- [0x5006] = 0x968D, --(隍)
+ [0x5006] = 0x968D, --(隍)
[0x5007] = 0x9698, --(隘)
- [0x5008] = 0x9695, --(隕)
+ [0x5008] = 0x9695, --(隕)
[0x5009] = 0x9697, --(隗)
- [0x500A] = 0x96AA, --(險)
+ [0x500A] = 0x96AA, --(險)
[0x500B] = 0x96A7, --(隧)
- [0x500C] = 0x96B1, --(隱)
+ [0x500C] = 0x96B1, --(隱)
[0x500D] = 0x96B2, --(隲)
- [0x500E] = 0x96B0, --(隰)
+ [0x500E] = 0x96B0, --(隰)
[0x500F] = 0x96B4, --(隴)
- [0x5010] = 0x96B6, --(隶)
+ [0x5010] = 0x96B6, --(隶)
[0x5011] = 0x96B8, --(隸)
- [0x5012] = 0x96B9, --(隹)
+ [0x5012] = 0x96B9, --(隹)
[0x5013] = 0x96CE, --(雎)
- [0x5014] = 0x96CB, --(雋)
+ [0x5014] = 0x96CB, --(雋)
[0x5015] = 0x96C9, --(雉)
- [0x5016] = 0x96CD, --(雍)
+ [0x5016] = 0x96CD, --(雍)
[0x5017] = 0x894D, --(襍)
- [0x5018] = 0x96DC, --(雜)
+ [0x5018] = 0x96DC, --(雜)
[0x5019] = 0x970D, --(霍)
- [0x501A] = 0x96D5, --(雕)
+ [0x501A] = 0x96D5, --(雕)
[0x501B] = 0x96F9, --(雹)
- [0x501C] = 0x9704, --(霄)
+ [0x501C] = 0x9704, --(霄)
[0x501D] = 0x9706, --(霆)
- [0x501E] = 0x9708, --(霈)
+ [0x501E] = 0x9708, --(霈)
[0x501F] = 0x9713, --(霓)
- [0x5020] = 0x970E, --(霎)
+ [0x5020] = 0x970E, --(霎)
[0x5021] = 0x9711, --(霑)
- [0x5022] = 0x970F, --(霏)
+ [0x5022] = 0x970F, --(霏)
[0x5023] = 0x9716, --(霖)
- [0x5024] = 0x9719, --(霙)
+ [0x5024] = 0x9719, --(霙)
[0x5025] = 0x9724, --(霤)
- [0x5026] = 0x972A, --(霪)
+ [0x5026] = 0x972A, --(霪)
[0x5027] = 0x9730, --(霰)
- [0x5028] = 0x9739, --(霹)
+ [0x5028] = 0x9739, --(霹)
[0x5029] = 0x973D, --(霽)
- [0x502A] = 0x973E, --(霾)
+ [0x502A] = 0x973E, --(霾)
[0x502B] = 0x9744, --(靄)
- [0x502C] = 0x9746, --(靆)
+ [0x502C] = 0x9746, --(靆)
[0x502D] = 0x9748, --(靈)
- [0x502E] = 0x9742, --(靂)
+ [0x502E] = 0x9742, --(靂)
[0x502F] = 0x9749, --(靉)
- [0x5030] = 0x975C, --(靜)
+ [0x5030] = 0x975C, --(靜)
[0x5031] = 0x9760, --(靠)
- [0x5032] = 0x9764, --(靤)
+ [0x5032] = 0x9764, --(靤)
[0x5033] = 0x9766, --(靦)
- [0x5034] = 0x9768, --(靨)
+ [0x5034] = 0x9768, --(靨)
[0x5035] = 0x52D2, --(勒)
- [0x5036] = 0x976B, --(靫)
+ [0x5036] = 0x976B, --(靫)
[0x5037] = 0x9771, --(靱)
- [0x5038] = 0x9779, --(靹)
+ [0x5038] = 0x9779, --(靹)
[0x5039] = 0x9785, --(鞅)
- [0x503A] = 0x977C, --(靼)
+ [0x503A] = 0x977C, --(靼)
[0x503B] = 0x9781, --(鞁)
- [0x503C] = 0x977A, --(靺)
+ [0x503C] = 0x977A, --(靺)
[0x503D] = 0x9786, --(鞆)
- [0x503E] = 0x978B, --(鞋)
+ [0x503E] = 0x978B, --(鞋)
[0x503F] = 0x978F, --(鞏)
- [0x5040] = 0x9790, --(鞐)
+ [0x5040] = 0x9790, --(鞐)
[0x5041] = 0x979C, --(鞜)
- [0x5042] = 0x97A8, --(鞨)
+ [0x5042] = 0x97A8, --(鞨)
[0x5043] = 0x97A6, --(鞦)
- [0x5044] = 0x97A3, --(鞣)
+ [0x5044] = 0x97A3, --(鞣)
[0x5045] = 0x97B3, --(鞳)
- [0x5046] = 0x97B4, --(鞴)
+ [0x5046] = 0x97B4, --(鞴)
[0x5047] = 0x97C3, --(韃)
- [0x5048] = 0x97C6, --(韆)
+ [0x5048] = 0x97C6, --(韆)
[0x5049] = 0x97C8, --(韈)
- [0x504A] = 0x97CB, --(韋)
+ [0x504A] = 0x97CB, --(韋)
[0x504B] = 0x97DC, --(韜)
- [0x504C] = 0x97ED, --(韭)
+ [0x504C] = 0x97ED, --(韭)
[0x504D] = 0x9F4F, --(齏)
- [0x504E] = 0x97F2, --(韲)
+ [0x504E] = 0x97F2, --(韲)
[0x504F] = 0x7ADF, --(竟)
- [0x5050] = 0x97F6, --(韶)
+ [0x5050] = 0x97F6, --(韶)
[0x5051] = 0x97F5, --(韵)
- [0x5052] = 0x980F, --(頏)
+ [0x5052] = 0x980F, --(頏)
[0x5053] = 0x980C, --(頌)
- [0x5054] = 0x9838, --(頸)
+ [0x5054] = 0x9838, --(頸)
[0x5055] = 0x9824, --(頤)
- [0x5056] = 0x9821, --(頡)
+ [0x5056] = 0x9821, --(頡)
[0x5057] = 0x9837, --(頷)
- [0x5058] = 0x983D, --(頽)
+ [0x5058] = 0x983D, --(頽)
[0x5059] = 0x9846, --(顆)
- [0x505A] = 0x984F, --(顏)
+ [0x505A] = 0x984F, --(顏)
[0x505B] = 0x984B, --(顋)
- [0x505C] = 0x986B, --(顫)
+ [0x505C] = 0x986B, --(顫)
[0x505D] = 0x986F, --(顯)
- [0x505E] = 0x9870, --(顰)
+ [0x505E] = 0x9870, --(顰)
[0x5101] = 0x9871, --(顱)
- [0x5102] = 0x9874, --(顴)
+ [0x5102] = 0x9874, --(顴)
[0x5103] = 0x9873, --(顳)
- [0x5104] = 0x98AA, --(颪)
+ [0x5104] = 0x98AA, --(颪)
[0x5105] = 0x98AF, --(颯)
- [0x5106] = 0x98B1, --(颱)
+ [0x5106] = 0x98B1, --(颱)
[0x5107] = 0x98B6, --(颶)
- [0x5108] = 0x98C4, --(飄)
+ [0x5108] = 0x98C4, --(飄)
[0x5109] = 0x98C3, --(飃)
- [0x510A] = 0x98C6, --(飆)
+ [0x510A] = 0x98C6, --(飆)
[0x510B] = 0x98E9, --(飩)
- [0x510C] = 0x98EB, --(飫)
+ [0x510C] = 0x98EB, --(飫)
[0x510D] = 0x9903, --(餃)
- [0x510E] = 0x9909, --(餉)
+ [0x510E] = 0x9909, --(餉)
[0x510F] = 0x9912, --(餒)
- [0x5110] = 0x9914, --(餔)
+ [0x5110] = 0x9914, --(餔)
[0x5111] = 0x9918, --(餘)
- [0x5112] = 0x9921, --(餡)
+ [0x5112] = 0x9921, --(餡)
[0x5113] = 0x991D, --(餝)
- [0x5114] = 0x991E, --(餞)
+ [0x5114] = 0x991E, --(餞)
[0x5115] = 0x9924, --(餤)
- [0x5116] = 0x9920, --(餠)
+ [0x5116] = 0x9920, --(餠)
[0x5117] = 0x992C, --(餬)
- [0x5118] = 0x992E, --(餮)
+ [0x5118] = 0x992E, --(餮)
[0x5119] = 0x993D, --(餽)
- [0x511A] = 0x993E, --(餾)
+ [0x511A] = 0x993E, --(餾)
[0x511B] = 0x9942, --(饂)
- [0x511C] = 0x9949, --(饉)
+ [0x511C] = 0x9949, --(饉)
[0x511D] = 0x9945, --(饅)
- [0x511E] = 0x9950, --(饐)
+ [0x511E] = 0x9950, --(饐)
[0x511F] = 0x994B, --(饋)
- [0x5120] = 0x9951, --(饑)
+ [0x5120] = 0x9951, --(饑)
[0x5121] = 0x9952, --(饒)
- [0x5122] = 0x994C, --(饌)
+ [0x5122] = 0x994C, --(饌)
[0x5123] = 0x9955, --(饕)
- [0x5124] = 0x9997, --(馗)
+ [0x5124] = 0x9997, --(馗)
[0x5125] = 0x9998, --(馘)
- [0x5126] = 0x99A5, --(馥)
+ [0x5126] = 0x99A5, --(馥)
[0x5127] = 0x99AD, --(馭)
- [0x5128] = 0x99AE, --(馮)
+ [0x5128] = 0x99AE, --(馮)
[0x5129] = 0x99BC, --(馼)
- [0x512A] = 0x99DF, --(駟)
+ [0x512A] = 0x99DF, --(駟)
[0x512B] = 0x99DB, --(駛)
- [0x512C] = 0x99DD, --(駝)
+ [0x512C] = 0x99DD, --(駝)
[0x512D] = 0x99D8, --(駘)
- [0x512E] = 0x99D1, --(駑)
+ [0x512E] = 0x99D1, --(駑)
[0x512F] = 0x99ED, --(駭)
- [0x5130] = 0x99EE, --(駮)
+ [0x5130] = 0x99EE, --(駮)
[0x5131] = 0x99F1, --(駱)
- [0x5132] = 0x99F2, --(駲)
+ [0x5132] = 0x99F2, --(駲)
[0x5133] = 0x99FB, --(駻)
- [0x5134] = 0x99F8, --(駸)
+ [0x5134] = 0x99F8, --(駸)
[0x5135] = 0x9A01, --(騁)
- [0x5136] = 0x9A0F, --(騏)
+ [0x5136] = 0x9A0F, --(騏)
[0x5137] = 0x9A05, --(騅)
- [0x5138] = 0x99E2, --(駢)
+ [0x5138] = 0x99E2, --(駢)
[0x5139] = 0x9A19, --(騙)
- [0x513A] = 0x9A2B, --(騫)
+ [0x513A] = 0x9A2B, --(騫)
[0x513B] = 0x9A37, --(騷)
- [0x513C] = 0x9A45, --(驅)
+ [0x513C] = 0x9A45, --(驅)
[0x513D] = 0x9A42, --(驂)
- [0x513E] = 0x9A40, --(驀)
+ [0x513E] = 0x9A40, --(驀)
[0x513F] = 0x9A43, --(驃)
- [0x5140] = 0x9A3E, --(騾)
+ [0x5140] = 0x9A3E, --(騾)
[0x5141] = 0x9A55, --(驕)
- [0x5142] = 0x9A4D, --(驍)
+ [0x5142] = 0x9A4D, --(驍)
[0x5143] = 0x9A5B, --(驛)
- [0x5144] = 0x9A57, --(驗)
+ [0x5144] = 0x9A57, --(驗)
[0x5145] = 0x9A5F, --(驟)
- [0x5146] = 0x9A62, --(驢)
+ [0x5146] = 0x9A62, --(驢)
[0x5147] = 0x9A65, --(驥)
- [0x5148] = 0x9A64, --(驤)
+ [0x5148] = 0x9A64, --(驤)
[0x5149] = 0x9A69, --(驩)
- [0x514A] = 0x9A6B, --(驫)
+ [0x514A] = 0x9A6B, --(驫)
[0x514B] = 0x9A6A, --(驪)
- [0x514C] = 0x9AAD, --(骭)
+ [0x514C] = 0x9AAD, --(骭)
[0x514D] = 0x9AB0, --(骰)
- [0x514E] = 0x9ABC, --(骼)
+ [0x514E] = 0x9ABC, --(骼)
[0x514F] = 0x9AC0, --(髀)
- [0x5150] = 0x9ACF, --(髏)
+ [0x5150] = 0x9ACF, --(髏)
[0x5151] = 0x9AD1, --(髑)
- [0x5152] = 0x9AD3, --(髓)
+ [0x5152] = 0x9AD3, --(髓)
[0x5153] = 0x9AD4, --(體)
- [0x5154] = 0x9ADE, --(髞)
+ [0x5154] = 0x9ADE, --(髞)
[0x5155] = 0x9ADF, --(髟)
- [0x5156] = 0x9AE2, --(髢)
+ [0x5156] = 0x9AE2, --(髢)
[0x5157] = 0x9AE3, --(髣)
- [0x5158] = 0x9AE6, --(髦)
+ [0x5158] = 0x9AE6, --(髦)
[0x5159] = 0x9AEF, --(髯)
- [0x515A] = 0x9AEB, --(髫)
+ [0x515A] = 0x9AEB, --(髫)
[0x515B] = 0x9AEE, --(髮)
- [0x515C] = 0x9AF4, --(髴)
+ [0x515C] = 0x9AF4, --(髴)
[0x515D] = 0x9AF1, --(髱)
- [0x515E] = 0x9AF7, --(髷)
+ [0x515E] = 0x9AF7, --(髷)
[0x5201] = 0x9AFB, --(髻)
- [0x5202] = 0x9B06, --(鬆)
+ [0x5202] = 0x9B06, --(鬆)
[0x5203] = 0x9B18, --(鬘)
- [0x5204] = 0x9B1A, --(鬚)
+ [0x5204] = 0x9B1A, --(鬚)
[0x5205] = 0x9B1F, --(鬟)
- [0x5206] = 0x9B22, --(鬢)
+ [0x5206] = 0x9B22, --(鬢)
[0x5207] = 0x9B23, --(鬣)
- [0x5208] = 0x9B25, --(鬥)
+ [0x5208] = 0x9B25, --(鬥)
[0x5209] = 0x9B27, --(鬧)
- [0x520A] = 0x9B28, --(鬨)
+ [0x520A] = 0x9B28, --(鬨)
[0x520B] = 0x9B29, --(鬩)
- [0x520C] = 0x9B2A, --(鬪)
+ [0x520C] = 0x9B2A, --(鬪)
[0x520D] = 0x9B2E, --(鬮)
- [0x520E] = 0x9B2F, --(鬯)
+ [0x520E] = 0x9B2F, --(鬯)
[0x520F] = 0x9B32, --(鬲)
- [0x5210] = 0x9B44, --(魄)
+ [0x5210] = 0x9B44, --(魄)
[0x5211] = 0x9B43, --(魃)
- [0x5212] = 0x9B4F, --(魏)
+ [0x5212] = 0x9B4F, --(魏)
[0x5213] = 0x9B4D, --(魍)
- [0x5214] = 0x9B4E, --(魎)
+ [0x5214] = 0x9B4E, --(魎)
[0x5215] = 0x9B51, --(魑)
- [0x5216] = 0x9B58, --(魘)
+ [0x5216] = 0x9B58, --(魘)
[0x5217] = 0x9B74, --(魴)
- [0x5218] = 0x9B93, --(鮓)
+ [0x5218] = 0x9B93, --(鮓)
[0x5219] = 0x9B83, --(鮃)
- [0x521A] = 0x9B91, --(鮑)
+ [0x521A] = 0x9B91, --(鮑)
[0x521B] = 0x9B96, --(鮖)
- [0x521C] = 0x9B97, --(鮗)
+ [0x521C] = 0x9B97, --(鮗)
[0x521D] = 0x9B9F, --(鮟)
- [0x521E] = 0x9BA0, --(鮠)
+ [0x521E] = 0x9BA0, --(鮠)
[0x521F] = 0x9BA8, --(鮨)
- [0x5220] = 0x9BB4, --(鮴)
+ [0x5220] = 0x9BB4, --(鮴)
[0x5221] = 0x9BC0, --(鯀)
- [0x5222] = 0x9BCA, --(鯊)
+ [0x5222] = 0x9BCA, --(鯊)
[0x5223] = 0x9BB9, --(鮹)
- [0x5224] = 0x9BC6, --(鯆)
+ [0x5224] = 0x9BC6, --(鯆)
[0x5225] = 0x9BCF, --(鯏)
- [0x5226] = 0x9BD1, --(鯑)
+ [0x5226] = 0x9BD1, --(鯑)
[0x5227] = 0x9BD2, --(鯒)
- [0x5228] = 0x9BE3, --(鯣)
+ [0x5228] = 0x9BE3, --(鯣)
[0x5229] = 0x9BE2, --(鯢)
- [0x522A] = 0x9BE4, --(鯤)
+ [0x522A] = 0x9BE4, --(鯤)
[0x522B] = 0x9BD4, --(鯔)
- [0x522C] = 0x9BE1, --(鯡)
+ [0x522C] = 0x9BE1, --(鯡)
[0x522D] = 0x9C3A, --(鰺)
- [0x522E] = 0x9BF2, --(鯲)
+ [0x522E] = 0x9BF2, --(鯲)
[0x522F] = 0x9BF1, --(鯱)
- [0x5230] = 0x9BF0, --(鯰)
+ [0x5230] = 0x9BF0, --(鯰)
[0x5231] = 0x9C15, --(鰕)
- [0x5232] = 0x9C14, --(鰔)
+ [0x5232] = 0x9C14, --(鰔)
[0x5233] = 0x9C09, --(鰉)
- [0x5234] = 0x9C13, --(鰓)
+ [0x5234] = 0x9C13, --(鰓)
[0x5235] = 0x9C0C, --(鰌)
- [0x5236] = 0x9C06, --(鰆)
+ [0x5236] = 0x9C06, --(鰆)
[0x5237] = 0x9C08, --(鰈)
- [0x5238] = 0x9C12, --(鰒)
+ [0x5238] = 0x9C12, --(鰒)
[0x5239] = 0x9C0A, --(鰊)
- [0x523A] = 0x9C04, --(鰄)
+ [0x523A] = 0x9C04, --(鰄)
[0x523B] = 0x9C2E, --(鰮)
- [0x523C] = 0x9C1B, --(鰛)
+ [0x523C] = 0x9C1B, --(鰛)
[0x523D] = 0x9C25, --(鰥)
- [0x523E] = 0x9C24, --(鰤)
+ [0x523E] = 0x9C24, --(鰤)
[0x523F] = 0x9C21, --(鰡)
- [0x5240] = 0x9C30, --(鰰)
+ [0x5240] = 0x9C30, --(鰰)
[0x5241] = 0x9C47, --(鱇)
- [0x5242] = 0x9C32, --(鰲)
+ [0x5242] = 0x9C32, --(鰲)
[0x5243] = 0x9C46, --(鱆)
- [0x5244] = 0x9C3E, --(鰾)
+ [0x5244] = 0x9C3E, --(鰾)
[0x5245] = 0x9C5A, --(鱚)
- [0x5246] = 0x9C60, --(鱠)
+ [0x5246] = 0x9C60, --(鱠)
[0x5247] = 0x9C67, --(鱧)
- [0x5248] = 0x9C76, --(鱶)
+ [0x5248] = 0x9C76, --(鱶)
[0x5249] = 0x9C78, --(鱸)
- [0x524A] = 0x9CE7, --(鳧)
+ [0x524A] = 0x9CE7, --(鳧)
[0x524B] = 0x9CEC, --(鳬)
- [0x524C] = 0x9CF0, --(鳰)
+ [0x524C] = 0x9CF0, --(鳰)
[0x524D] = 0x9D09, --(鴉)
- [0x524E] = 0x9D08, --(鴈)
+ [0x524E] = 0x9D08, --(鴈)
[0x524F] = 0x9CEB, --(鳫)
- [0x5250] = 0x9D03, --(鴃)
+ [0x5250] = 0x9D03, --(鴃)
[0x5251] = 0x9D06, --(鴆)
- [0x5252] = 0x9D2A, --(鴪)
+ [0x5252] = 0x9D2A, --(鴪)
[0x5253] = 0x9D26, --(鴦)
- [0x5254] = 0x9DAF, --(鶯)
+ [0x5254] = 0x9DAF, --(鶯)
[0x5255] = 0x9D23, --(鴣)
- [0x5256] = 0x9D1F, --(鴟)
+ [0x5256] = 0x9D1F, --(鴟)
[0x5257] = 0x9D44, --(鵄)
- [0x5258] = 0x9D15, --(鴕)
+ [0x5258] = 0x9D15, --(鴕)
[0x5259] = 0x9D12, --(鴒)
- [0x525A] = 0x9D41, --(鵁)
+ [0x525A] = 0x9D41, --(鵁)
[0x525B] = 0x9D3F, --(鴿)
- [0x525C] = 0x9D3E, --(鴾)
+ [0x525C] = 0x9D3E, --(鴾)
[0x525D] = 0x9D46, --(鵆)
- [0x525E] = 0x9D48, --(鵈)
+ [0x525E] = 0x9D48, --(鵈)
[0x5301] = 0x9D5D, --(鵝)
- [0x5302] = 0x9D5E, --(鵞)
+ [0x5302] = 0x9D5E, --(鵞)
[0x5303] = 0x9D64, --(鵤)
- [0x5304] = 0x9D51, --(鵑)
+ [0x5304] = 0x9D51, --(鵑)
[0x5305] = 0x9D50, --(鵐)
- [0x5306] = 0x9D59, --(鵙)
+ [0x5306] = 0x9D59, --(鵙)
[0x5307] = 0x9D72, --(鵲)
- [0x5308] = 0x9D89, --(鶉)
+ [0x5308] = 0x9D89, --(鶉)
[0x5309] = 0x9D87, --(鶇)
- [0x530A] = 0x9DAB, --(鶫)
+ [0x530A] = 0x9DAB, --(鶫)
[0x530B] = 0x9D6F, --(鵯)
- [0x530C] = 0x9D7A, --(鵺)
+ [0x530C] = 0x9D7A, --(鵺)
[0x530D] = 0x9D9A, --(鶚)
- [0x530E] = 0x9DA4, --(鶤)
+ [0x530E] = 0x9DA4, --(鶤)
[0x530F] = 0x9DA9, --(鶩)
- [0x5310] = 0x9DB2, --(鶲)
+ [0x5310] = 0x9DB2, --(鶲)
[0x5311] = 0x9DC4, --(鷄)
- [0x5312] = 0x9DC1, --(鷁)
+ [0x5312] = 0x9DC1, --(鷁)
[0x5313] = 0x9DBB, --(鶻)
- [0x5314] = 0x9DB8, --(鶸)
+ [0x5314] = 0x9DB8, --(鶸)
[0x5315] = 0x9DBA, --(鶺)
- [0x5316] = 0x9DC6, --(鷆)
+ [0x5316] = 0x9DC6, --(鷆)
[0x5317] = 0x9DCF, --(鷏)
- [0x5318] = 0x9DC2, --(鷂)
+ [0x5318] = 0x9DC2, --(鷂)
[0x5319] = 0x9DD9, --(鷙)
- [0x531A] = 0x9DD3, --(鷓)
+ [0x531A] = 0x9DD3, --(鷓)
[0x531B] = 0x9DF8, --(鷸)
- [0x531C] = 0x9DE6, --(鷦)
+ [0x531C] = 0x9DE6, --(鷦)
[0x531D] = 0x9DED, --(鷭)
- [0x531E] = 0x9DEF, --(鷯)
+ [0x531E] = 0x9DEF, --(鷯)
[0x531F] = 0x9DFD, --(鷽)
- [0x5320] = 0x9E1A, --(鸚)
+ [0x5320] = 0x9E1A, --(鸚)
[0x5321] = 0x9E1B, --(鸛)
- [0x5322] = 0x9E1E, --(鸞)
+ [0x5322] = 0x9E1E, --(鸞)
[0x5323] = 0x9E75, --(鹵)
- [0x5324] = 0x9E79, --(鹹)
+ [0x5324] = 0x9E79, --(鹹)
[0x5325] = 0x9E7D, --(鹽)
- [0x5326] = 0x9E81, --(麁)
+ [0x5326] = 0x9E81, --(麁)
[0x5327] = 0x9E88, --(麈)
- [0x5328] = 0x9E8B, --(麋)
+ [0x5328] = 0x9E8B, --(麋)
[0x5329] = 0x9E8C, --(麌)
- [0x532A] = 0x9E92, --(麒)
+ [0x532A] = 0x9E92, --(麒)
[0x532B] = 0x9E95, --(麕)
- [0x532C] = 0x9E91, --(麑)
+ [0x532C] = 0x9E91, --(麑)
[0x532D] = 0x9E9D, --(麝)
- [0x532E] = 0x9EA5, --(麥)
+ [0x532E] = 0x9EA5, --(麥)
[0x532F] = 0x9EA9, --(麩)
- [0x5330] = 0x9EB8, --(麸)
+ [0x5330] = 0x9EB8, --(麸)
[0x5331] = 0x9EAA, --(麪)
- [0x5332] = 0x9EAD, --(麭)
+ [0x5332] = 0x9EAD, --(麭)
[0x5333] = 0x9761, --(靡)
- [0x5334] = 0x9ECC, --(黌)
+ [0x5334] = 0x9ECC, --(黌)
[0x5335] = 0x9ECE, --(黎)
- [0x5336] = 0x9ECF, --(黏)
+ [0x5336] = 0x9ECF, --(黏)
[0x5337] = 0x9ED0, --(黐)
- [0x5338] = 0x9ED4, --(黔)
+ [0x5338] = 0x9ED4, --(黔)
[0x5339] = 0x9EDC, --(黜)
- [0x533A] = 0x9EDE, --(點)
+ [0x533A] = 0x9EDE, --(點)
[0x533B] = 0x9EDD, --(黝)
- [0x533C] = 0x9EE0, --(黠)
+ [0x533C] = 0x9EE0, --(黠)
[0x533D] = 0x9EE5, --(黥)
- [0x533E] = 0x9EE8, --(黨)
+ [0x533E] = 0x9EE8, --(黨)
[0x533F] = 0x9EEF, --(黯)
- [0x5340] = 0x9EF4, --(黴)
+ [0x5340] = 0x9EF4, --(黴)
[0x5341] = 0x9EF6, --(黶)
- [0x5342] = 0x9EF7, --(黷)
+ [0x5342] = 0x9EF7, --(黷)
[0x5343] = 0x9EF9, --(黹)
- [0x5344] = 0x9EFB, --(黻)
+ [0x5344] = 0x9EFB, --(黻)
[0x5345] = 0x9EFC, --(黼)
- [0x5346] = 0x9EFD, --(黽)
+ [0x5346] = 0x9EFD, --(黽)
[0x5347] = 0x9F07, --(鼇)
- [0x5348] = 0x9F08, --(鼈)
+ [0x5348] = 0x9F08, --(鼈)
[0x5349] = 0x76B7, --(皷)
- [0x534A] = 0x9F15, --(鼕)
+ [0x534A] = 0x9F15, --(鼕)
[0x534B] = 0x9F21, --(鼡)
- [0x534C] = 0x9F2C, --(鼬)
+ [0x534C] = 0x9F2C, --(鼬)
[0x534D] = 0x9F3E, --(鼾)
- [0x534E] = 0x9F4A, --(齊)
+ [0x534E] = 0x9F4A, --(齊)
[0x534F] = 0x9F52, --(齒)
- [0x5350] = 0x9F54, --(齔)
+ [0x5350] = 0x9F54, --(齔)
[0x5351] = 0x9F63, --(齣)
- [0x5352] = 0x9F5F, --(齟)
+ [0x5352] = 0x9F5F, --(齟)
[0x5353] = 0x9F60, --(齠)
- [0x5354] = 0x9F61, --(齡)
+ [0x5354] = 0x9F61, --(齡)
[0x5355] = 0x9F66, --(齦)
- [0x5356] = 0x9F67, --(齧)
+ [0x5356] = 0x9F67, --(齧)
[0x5357] = 0x9F6C, --(齬)
- [0x5358] = 0x9F6A, --(齪)
+ [0x5358] = 0x9F6A, --(齪)
[0x5359] = 0x9F77, --(齷)
- [0x535A] = 0x9F72, --(齲)
+ [0x535A] = 0x9F72, --(齲)
[0x535B] = 0x9F76, --(齶)
- [0x535C] = 0x9F95, --(龕)
+ [0x535C] = 0x9F95, --(龕)
[0x535D] = 0x9F9C, --(龜)
- [0x535E] = 0x9FA0, --(龠)
+ [0x535E] = 0x9FA0, --(龠)
[0x5401] = 0x582F, --(堯)
- [0x5402] = 0x69C7, --(槇)
+ [0x5402] = 0x69C7, --(槇)
[0x5403] = 0x9059, --(遙)
- [0x5404] = 0x7464, --(瑤)
+ [0x5404] = 0x7464, --(瑤)
[0x5405] = 0x51DC, --(凜)
- [0x5406] = 0x7199, --(熙)
+ [0x5406] = 0x7199, --(熙)
}}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua
index 8b61f55b379..7204c11c820 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua
@@ -14,6 +14,9 @@ return {
["stretch_order"]=0,
["width"]=157649,
},
+ [256]=51,
+ [512]=52,
+ [768]=53,
[1024]=12295,
[1025]=19968,
[1026]=20108,
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
index fe0e69bf318..9fc3f307441 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
@@ -8,14 +8,19 @@
\edef\ltj@latex@AtEnd{%
\endlinechar=\the\endlinechar
\relax}
-\endlinechar=-1 %
+\endlinechar\m@ne%
\def\luatexjalatexLoaded{\endinput}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ltj-latex}[2013/05/14 LaTeX support of LuaTeX-ja]
+\ProvidesPackage{ltj-latex}[2015/02/22 LaTeX support of LuaTeX-ja]
+
+% cleanup at end of the document
+%\let\ltj@@orig@end=\@@end
+%\protected\def\@@end{%
+% \directlua{luatexja.ext_cleanup()}\ltj@@orig@end}
% Globally add to the head of a macro (cf. LaTeX2e's \g@addto@macro)
-\long\def\ltj@g@addto@macro#1#2{
+\long\def\ltj@g@addto@macro#1#2{%
\begingroup
\def\ltj@tmpa{#2}
\toks@\expandafter\expandafter\expandafter{\expandafter\ltj@tmpa#1}
@@ -43,10 +48,10 @@
luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
}
-\ltjsetparameter{kanjiskip=0pt plus 0.4pt minus 0.4pt,
+\ltjsetparameter{kanjiskip=\z@ plus .4pt minus .4pt,
xkanjiskip=.25\zw plus 1pt minus 1pt,
autospacing, autoxspacing, jacharrange={-1},
- yalbaselineshift=0pt, yjabaselineshift=0pt,
+ yalbaselineshift=\z@, yjabaselineshift=\z@,
jcharwidowpenalty=500, differentjfm=paverage
}
@@ -57,6 +62,12 @@
\ltj@pkgpatch{unicode-math}
\ltj@pkgpatch{xunicode}
\ltj@pkgpatch{fontspec}
+\ltj@pkgpatch{stfloats}
+\ltj@pkgpatch{footmisc}
+\ltj@pkgpatch{tascmac}
+\ltj@AtBeginDocument{\@ifpackageloaded{ascmac}{\input{lltjp-tascmac.sty}}{}}% ascmac
+
+\RequirePackage{lltjp-geometry}
%%------------------ all done
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-math.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-math.lua
index 4aefe63bb46..15813fc6440 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-math.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-math.lua
@@ -3,6 +3,7 @@
--
luatexja.load_module('base'); local ltjb = luatexja.base
+luatexja.load_module('direction'); local ltjd = luatexja.direction
luatexja.load_module('charrange'); local ltjc = luatexja.charrange
luatexja.load_module('jfont'); local ltjf = luatexja.jfont
luatexja.load_module('stack'); local ltjs = luatexja.stack
@@ -13,6 +14,8 @@ local Dnode = node.direct or node
local setfield = (Dnode ~= node) and Dnode.setfield or function(n, i, c) n[i] = c end
local getfield = (Dnode ~= node) and Dnode.getfield or function(n, i) return n[i] end
local getid = (Dnode ~= node) and Dnode.getid or function(n) return n.id end
+local getsubtype = (Dnode ~= node) and Dnode.getsubtype or function(n) return n.subtype end
+local getlist = (Dnode ~= node) and Dnode.getlist or function(n) return n.head end
-- getlist cannot be used for sub_box nodes. Use instead λp. getfield(p, 'head')
local getchar = (Dnode ~= node) and Dnode.getchar or function(n) return n.char end
@@ -23,12 +26,14 @@ local to_direct = (Dnode ~= node) and Dnode.todirect or nullfunc
local node_traverse = Dnode.traverse
local node_new = Dnode.new
local node_next = (Dnode ~= node) and Dnode.getnext or node.next
+local node_remove = Dnode.remove
local node_free = Dnode.free
local has_attr = Dnode.has_attribute
local set_attr = Dnode.set_attribute
local tex_getcount = tex.getcount
local attr_jchar_class = luatexbase.attributes['ltj@charclass']
+local attr_dir = luatexbase.attributes['ltj@dir']
local attr_icflag = luatexbase.attributes['ltj@icflag']
local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
local attr_jfam = luatexbase.attributes['jfam']
@@ -46,14 +51,35 @@ local id_style = node.id('style')
local id_frac = node.id('fraction')
local id_simple = node.id('noad')
local id_sub_mlist = node.id('sub_mlist')
+local id_whatsit = node.id('whatsit')
+local sid_user = node.subtype('user_defined')
+local DIR = luatexja.userid_table.DIR
+local dir_node_auto = luatexja.dir_table.dir_node_auto
local PROCESSED = luatexja.icflag_table.PROCESSED
local ltjf_font_metric_table = ltjf.font_metric_table
local ltjf_find_char_class = ltjf.find_char_class
+local ltjd_get_dir_count = ltjd.get_dir_count
+local ltjd_make_dir_whatsit = ltjd.make_dir_whatsit
-- table of mathematical characters
local is_math_letters = {}
+local list_dir
+
+local function conv_vcenter(sb)
+ local h = getfield(sb, 'head');local hd = getlist(h)
+ if getid(hd)==id_whatsit and
+ getsubtype(hd)==sid_user and getfield(hd, 'user_id')==DIR then
+ local d = node_next(hd)
+ if getid(d)==id_vlist and has_attr(d, attr_dir)>=dir_node_auto then
+ node_free(hd); setfield(h, 'head', nil); node_free(h)
+ setfield(sb, 'head', d); h = d
+ end
+ end
+ set_attr(h, attr_icflag, PROCESSED)
+ return sb
+end
local conv_jchar_to_hbox_A
@@ -62,7 +88,11 @@ local function conv_jchar_to_hbox(head, sty)
for p in node_traverse(head) do
local pid = getid(p)
if pid == id_simple or pid == id_accent then
- setfield(p, 'nucleus', conv_jchar_to_hbox_A(getfield(p, 'nucleus'), sty))
+ if getsubtype(p)==12 then
+ conv_vcenter(getfield(p, 'nucleus'))
+ else
+ setfield(p, 'nucleus', conv_jchar_to_hbox_A(getfield(p, 'nucleus'), sty))
+ end
setfield(p, 'sub', conv_jchar_to_hbox_A(getfield(p, 'sub'), sty+1))
setfield(p, 'sup', conv_jchar_to_hbox_A(getfield(p, 'sup'), sty+1))
elseif pid == id_choice then
@@ -90,9 +120,9 @@ local function conv_jchar_to_hbox(head, sty)
else sty = 2
end
end
- end
+ end
return head
-end
+end
local MJT = luatexja.stack_table_index.MJT
local MJS = luatexja.stack_table_index.MJS
@@ -100,7 +130,7 @@ local MJSS = luatexja.stack_table_index.MJSS
local capsule_glyph_math = ltjw.capsule_glyph_math
local is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char_direct
-conv_jchar_to_hbox_A =
+conv_jchar_to_hbox_A =
function (p, sty)
if not p then return nil
else
@@ -118,7 +148,7 @@ function (p, sty)
local q = node_new(id_sub_box)
local r = node_new(id_glyph); setfield(r, 'next', nil)
setfield(r, 'char', pc); setfield(r, 'font', f); setfield(r, 'subtype', 256)
- local k = has_attr(r,attr_ykblshift) or 0
+ local k = has_attr(r,attr_ykblshift) or 0
set_attr(r, attr_ykblshift, 0)
-- ltj-setwidth 内で実際の位置補正はおこなうので,補正量を退避
local met = ltjf_font_metric_table[f]
@@ -129,17 +159,27 @@ function (p, sty)
end
elseif pid == id_sub_box and getfield(p, 'head') then
-- \hbox で直に与えられた内容は上下位置を補正する必要はない
- set_attr(getfield(p, 'head'), attr_icflag, PROCESSED)
+ local h = getfield(p, 'head')
+ h = ltjd_make_dir_whatsit(h, h, list_dir, 'math')
+ setfield(p, 'head', h)
+ set_attr(h, attr_icflag, PROCESSED)
end
end
return p
end
-luatexbase.add_to_callback('mlist_to_hlist',
+local node_remove = Dnode.remove
+luatexbase.add_to_callback('mlist_to_hlist',
function (n, display_type, penalties)
- local head = to_node(conv_jchar_to_hbox(to_direct(n), 0))
- head = node.mlist_to_hlist(head, display_type, penalties)
- return head
+ n = to_direct(n); list_dir = ltjd_get_dir_count()
+ if getid(n)==id_whatsit and getsubtype(n)==sid_user and
+ getfield(n, 'user_id') == DIR then
+ local old_n = n; n = node_remove(n, n)
+ node_free(old_n)
+ end
+ return node.mlist_to_hlist(
+ to_node(conv_jchar_to_hbox(n, 0)),
+ display_type, penalties)
end,'ltj.mlist_to_hlist', 1)
luatexja.math = { is_math_letters = is_math_letters }
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
index f84faa436e9..94f4c613342 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
@@ -8,6 +8,8 @@ luatexja.load_module('base'); local ltjb = luatexja.base
luatexja.load_module('jfont'); local ltjf = luatexja.jfont
luatexja.load_module('rmlgbm'); local ltjr = luatexja.rmlgbm
luatexja.load_module('charrange'); local ltjc = luatexja.charrange
+luatexja.load_module('direction'); local ltjd = luatexja.direction
+luatexja.load_module('stack'); local ltjs = luatexja.stack
local id_glyph = node.id('glyph')
local id_whatsit = node.id('whatsit')
@@ -28,29 +30,36 @@ local to_node = (Dnode ~= node) and Dnode.tonode or nullfunc
local to_direct = (Dnode ~= node) and Dnode.todirect or nullfunc
local node_new = Dnode.new
-local node_remove = luatexja.Dnode_remove -- Dnode.remove
+local node_remove = Dnode.remove
local node_next = (Dnode ~= node) and Dnode.getnext or node.next
local node_free = Dnode.free
local has_attr = Dnode.has_attribute
local set_attr = Dnode.set_attribute
local unset_attr = Dnode.unset_attribute
-local node_insert_after = Dnode.insert_after
+local node_insert_after = Dnode.insert_after
local node_write = Dnode.write
local node_traverse_id = Dnode.traverse_id
-local identifiers = fonts.hashes.identifiers
local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
+local attr_curtfnt = luatexbase.attributes['ltj@curtfnt']
local attr_yablshift = luatexbase.attributes['ltj@yablshift']
local attr_ykblshift = luatexbase.attributes['ltj@ykblshift']
+local attr_tablshift = luatexbase.attributes['ltj@tablshift']
+local attr_tkblshift = luatexbase.attributes['ltj@tkblshift']
+local lang_ja = luatexja.lang_ja
+local identifiers = fonts.hashes.identifiers
local ltjf_font_metric_table = ltjf.font_metric_table
+local ltjf_font_extra_info = ltjf.font_extra_info
local ltjf_find_char_class = ltjf.find_char_class
local ltjr_cidfont_data = ltjr.cidfont_data
local ltjc_is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char
+local ltjd_get_dir_count = ltjd.get_dir_count
+local dir_tate = luatexja.dir_table.dir_tate
luatexja.userid_table.OTF = luatexbase.newuserwhatsitid('char_by_cid', 'luatexja')
-luatexja.userid_table.VSR = luatexbase.newuserwhatsitid('replace_vs', 'luatexja')
+luatexja.userid_table.VSR = luatexbase.newuserwhatsitid('replace_vs', 'luatexja')
local OTF, VSR = luatexja.userid_table.OTF, luatexja.userid_table.VSR
local function get_ucs_from_rmlgbm(c)
@@ -65,7 +74,7 @@ local function get_ucs_from_rmlgbm(c)
local i = string.len(w)
if i==4 then -- UCS2
return tonumber(w,16)
- elseif i==8 then
+ elseif i==8 then
i,w = tonumber(string.sub(w,1,4),16), tonumber(string.sub(w,-4),16)
if (w>=0xD800) and (w<=0xDB7F) and (i>=0xDC00) and (i<=0xDFFF) then -- Surrogate pair
return (w-0xD800)*0x400 + (i-0xDC00)
@@ -80,43 +89,49 @@ end
-- This whatsit node will be extracted to a glyph_node
local function append_jglyph(char)
local p = node_new(id_whatsit,sid_user)
- local v = tex.attribute[attr_curjfnt]
setfield(p, 'user_id', OTF)
setfield(p, 'type', 100)
setfield(p, 'value', char)
- set_attr(p, attr_yablshift, tex.attribute[attr_ykblshift])
node_write(p)
end
-local function cid(key)
- if key==0 then return append_jglyph(char) end
- local curjfnt = identifiers[tex.attribute[attr_curjfnt]]
- if not curjfnt.cidinfo or
- curjfnt.cidinfo.ordering ~= "Japan1" and
- curjfnt.cidinfo.ordering ~= "GB1" and
- curjfnt.cidinfo.ordering ~= "CNS1" and
- curjfnt.cidinfo.ordering ~= "Korea1" then
--- ltjb.package_warning('luatexja-otf',
--- 'Current Japanese font (or other CJK font) "'
--- ..curjfnt.psname..'" is not a CID-Keyed font (Adobe-Japan1 etc.)')
- return append_jglyph(get_ucs_from_rmlgbm(key))
- end
- local char = curjfnt.resources.unicodes[curjfnt.cidinfo.ordering..'.'..tostring(key)]
- if not char then
- ltjb.package_warning('luatexja-otf',
- 'Current Japanese font (or other CJK font) "'
- ..curjfnt.psname..'" does not have the specified CID character ('
- ..tostring(key)..')',
- 'Use a font including the specified CID character.')
- char = 0
+local cid
+do
+ local tex_get_attr = tex.getattribute
+ cid = function (key)
+ if key==0 then return append_jglyph(char) end
+ local curjfnt = identifiers[tex_get_attr((ltjd_get_dir_count()==dir_tate)
+ and attr_curtfnt or attr_curjfnt)]
+ if not curjfnt.cidinfo or
+ curjfnt.cidinfo.ordering ~= "Japan1" and
+ curjfnt.cidinfo.ordering ~= "GB1" and
+ curjfnt.cidinfo.ordering ~= "CNS1" and
+ curjfnt.cidinfo.ordering ~= "Korea1" then
+ -- ltjb.package_warning('luatexja-otf',
+ -- 'Current Japanese font (or other CJK font) "'
+ -- ..curjfnt.psname..'" is not a CID-Keyed font (Adobe-Japan1 etc.)')
+ return append_jglyph(get_ucs_from_rmlgbm(key))
+ end
+ local char = curjfnt.resources.unicodes[curjfnt.cidinfo.ordering..'.'..tostring(key)]
+ if not char then
+ ltjb.package_warning('luatexja-otf',
+ 'Current Japanese font (or other CJK font) "'
+ ..curjfnt.psname..'" does not have the specified CID character ('
+ ..tostring(key)..')',
+ 'Use a font including the specified CID character.')
+ char = 0
+ end
+ return append_jglyph(char)
end
- return append_jglyph(char)
end
local function extract(head)
head = to_direct(head)
local p = head
- local v
+ local is_dir_tate = ltjs.list_dir == dir_tate
+ local attr_ablshift = is_dir_tate and attr_tablshift or attr_yablshift
+ local attr_kblshift = is_dir_tate and attr_tkblshift or attr_ykblshift
+ local attr_curfnt = is_dir_tate and attr_curtfnt or attr_curjfnt
while p do
if getid(p)==id_whatsit then
if getsubtype(p)==sid_user then
@@ -125,14 +140,12 @@ local function extract(head)
local g = node_new(id_glyph)
setfield(g, 'subtype', 0)
setfield(g, 'char', getfield(p, 'value'))
- v = has_attr(p, attr_curjfnt); setfield(g, 'font',v)
- set_attr(g, attr_curjfnt, puid==OTF and v or -1)
- -- VSR yields ALchar
- v = has_attr(p, attr_yablshift)
- if v then
- set_attr(g, attr_yablshift, v)
+ local v = has_attr(p, attr_curfnt); setfield(g, 'font',v)
+ if puid==OTF then
+ setfield(g, 'lang', lang_ja)
+ set_attr(g, attr_kblshift, has_attr(p, attr_kblshift))
else
- unset_attr(g, attr_yablshift)
+ set_attr(g, attr_ablshift, has_attr(p, attr_ablshift))
end
head = node_insert_after(head, p, g)
head = node_remove(head, p)
@@ -165,20 +178,20 @@ luatexbase.add_to_callback('pre_linebreak_filter', extract,
local function cid_to_char(fmtable, fn)
local fi = identifiers[fn]
if fi.cidinfo and fi.cidinfo.ordering == "Japan1" then
- fmtable.cid_char_type = {}
for i, v in pairs(fmtable.chars) do
local j = string.match(i, "^AJ1%-([0-9]*)")
if j then
j = tonumber(fi.resources.unicodes['Japan1.'..tostring(j)])
if j then
- fmtable.cid_char_type[j] = v
+ fmtable.cid_char_type = fmtable.cid_char_type or {}
+ fmtable.cid_char_type[j] = v
end
end
end
end
return fmtable
end
-luatexbase.add_to_callback("luatexja.define_jfont",
+luatexbase.add_to_callback("luatexja.define_jfont",
cid_to_char, "ltj.otf.define_jfont", 1)
-- 既に読み込まれているフォントに対しても,同じことをやらないといけない
for fn, v in pairs(ltjf_font_metric_table) do
@@ -193,111 +206,29 @@ local function cid_set_char_class(arg, fmtable, char)
else return 0
end
end
-luatexbase.add_to_callback("luatexja.find_char_class",
+luatexbase.add_to_callback("luatexja.find_char_class",
cid_set_char_class, "ltj.otf.find_char_class", 1)
-------------------- IVS
-local font_ivs_table = {} -- key: fontnumber
local enable_ivs
do
local is_ivs_enabled = false
- local ivs -- temp table
- local sort = table.sort
- local uniq_flag
- local function add_ivs_table(tg, unitable, glyphmax)
- for i = 0, glyphmax-1 do
- if tg[i] then
- local gv = tg[i]
- if gv.altuni then
- for _,at in pairs(gv.altuni) do
- local bu, vsel = at.unicode, at.variant
- if vsel then
- if vsel>=0xE0100 then vsel = vsel - 0xE0100 end
- if not ivs[bu] then ivs[bu] = {} end
- uniq_flag = true
- for i,_ in pairs(ivs[bu]) do
- if i==vs then uniq_flag = false; break end
- end
- if uniq_flag then
- ivs[bu][vsel] = unitable[gv.name]
- end
- end
- end
- end
- end
- end
- end
- local function make_ivs_table(id, fname)
- ivs = {}
- local fl = fontloader.open(fname)
- local unicodes = id.resources.unicodes
- if fl.glyphs then
- add_ivs_table(fl.glyphs, id.resources.unicodes, fl.glyphmax)
- end
- if fl.subfonts then
- for _,v in pairs(fl.subfonts) do
- add_ivs_table(v.glyphs, id.resources.unicodes, v.glyphmax)
- end
- end
- fontloader.close(fl)
- return ivs
- end
-
--- loading and saving
- local font_ivs_basename = {} -- key: basename
- local cache_ver = 4
- local checksum = file.checksum
-
- local function prepare_ivs_data(n, id)
- -- test if already loaded
- if type(id)=='number' then -- sometimes id is an integer
- font_ivs_table[n] = font_ivs_table[id]; return
- elseif not id then return
- end
- local fname = id.filename
- local bname = file.basename(fname)
- if not fname then
- font_ivs_table[n] = {}; return
- elseif font_ivs_basename[bname] then
- font_ivs_table[n] = font_ivs_basename[bname]; return
- end
-
- -- if the cache is present, read it
- local newsum = checksum(fname) -- MD5 checksum of the fontfile
- local v = "ivs_" .. string.lower(file.nameonly(fname))
- local dat = ltjb.load_cache(v,
- function (t) return (t.version~=cache_ver) or (t.chksum~=newsum) end
- )
- -- if the cache is not found or outdated, save the cache
- if dat then
- font_ivs_basename[bname] = dat[1] or {}
- else
- dat = make_ivs_table(id, fname)
- font_ivs_basename[bname] = dat or {}
- ltjb.save_cache( v,
- {
- chksum = checksum(fname),
- version = cache_ver,
- dat,
- })
- end
- font_ivs_table[n] = font_ivs_basename[bname]
- end
-
-- 組版時
local function ivs_jglyph(char, bp, pf, uid)
local p = node_new(id_whatsit,sid_user)
setfield(p, 'user_id', uid)
setfield(p, 'type', 100)
setfield(p, 'value', char)
- set_attr(p, attr_curjfnt, pf)
- set_attr(p, attr_yablshift, has_attr(bp, attr_ykblshift) or 0)
return p
end
local function do_ivs_repr(head)
head = to_direct(head)
local p, r = head
+ local is_dir_tate = ltjs.list_dir == dir_tate
+ local attr_ablshift = is_dir_tate and attr_tablshift or attr_yablshift
+ local attr_kblshift = is_dir_tate and attr_tkblshift or attr_ykblshift
+ local attr_curfnt = is_dir_tate and attr_curtfnt or attr_curjfnt
while p do
local pid = getid(p)
if pid==id_glyph then
@@ -305,22 +236,27 @@ do
local q = node_next(p) -- the next node of p
if q and getid(q)==id_glyph then
local qc = getchar(q)
- if (qc>=0xFE00 and qc<=0xFE0F) or (qc>=0xE0100 and qc<0xE01F0) then
+ if (qc>=0xFE00 and qc<=0xFE0F) or (qc>=0xE0100 and qc<0xE01F0) then
-- q is a variation selector
if qc>=0xE0100 then qc = qc - 0xE0100 end
- local pt = font_ivs_table[pf]
+ local pt = ltjf_font_extra_info[pf]
pt = pt and pt[getchar(p)]; pt = pt and pt[qc]
head, r = node_remove(head,q)
node_free(q)
if pt then
+ local is_jachar = (getfield(p, 'lang')==lang_ja)
local np = ivs_jglyph(pt, p, pf,
- (has_attr(p,attr_curjfnt) or 0)==pf and OTF or VSR)
- head = node_insert_after(head, p, np)
+ is_jachar and OTF or VSR)
+ if is_jachar then
+ set_attr(np, attr_curfnt, pf)
+ set_attr(np, attr_kblshift, has_attr(p, attr_kblshift))
+ end
+ head = node_insert_after(head, p, np)
head = node_remove(head,p)
node_free(p)
end
p = r
- else
+ else
p = q
end
else
@@ -333,32 +269,19 @@ do
return to_node(head)
end
- -- font define
- local function font_callback(name, size, id, fallback)
- local d = fallback(name, size, id)
- prepare_ivs_data(id, d)
- return d
- end
-
enable_ivs = function ()
if is_ivs_enabled then
ltjb.package_warning('luatexja-otf',
'luatexja.otf.enable_ivs() was already called, so this call is ignored', '')
else
- luatexbase.add_to_callback('hpack_filter',
- do_ivs_repr,'do_ivs', 1)
- luatexbase.add_to_callback('pre_linebreak_filter',
- do_ivs_repr, 'do_ivs', 1)
- local ivs_callback = function (name, size, id)
- return font_callback(
- name, size, id,
- function (name, size, id) return luatexja.font_callback(name, size, id) end
- )
- end
- luatexbase.add_to_callback('define_font',ivs_callback,"luatexja.ivs_font_callback", 1)
- for i=1,font.nextid()-1 do
- if identifiers[i] then prepare_ivs_data(i, identifiers[i]) end
- end
+ luatexbase.add_to_callback('hpack_filter',
+ do_ivs_repr,'do_ivs',
+ luatexbase.priority_in_callback('hpack_filter',
+ 'ltj.hpack_filter_pre')+1)
+ luatexbase.add_to_callback('pre_linebreak_filter',
+ do_ivs_repr, 'do_ivs',
+ luatexbase.priority_in_callback('pre_linebreak_filter',
+ 'ltj.pre_linebreak_filter_pre')+1)
is_ivs_enabled = true
end
end
@@ -367,7 +290,6 @@ end
luatexja.otf = {
append_jglyph = append_jglyph,
enable_ivs = enable_ivs, -- 隠し機能: IVS
- font_ivs_table = font_ivs_table,
cid = cid,
}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty
index 933d056bb59..3d2095cc21d 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty
@@ -14,7 +14,7 @@
\ifltj@in@latex %<*LaTeX>
\NeedsTeXFormat{LaTeX2e}
\PackageWarning{ltj-plain}{Don't load this package directly; load luatexja.sty instead.}
- \ProvidesPackage{ltj-plain}[2014/09/19]
+ \ProvidesPackage{ltj-plain}[2015/02/22]
\fi %</LaTeX>
%%------------------
@@ -28,12 +28,12 @@
\newread\ltj@@cfgread
\openin\ltj@@cfgread{luatexja.cfg}%
\ifeof\ltj@@cfgread
- \message{Cannot find file `luatexja.cfg'.}%
+ \@PackageInfoNoLine{ltj-plain}{Cannot find file `luatexja.cfg'}%
\else
\closein\ltj@@cfgread
\input luatexja.cfg
\fi
-\let\ltj@@cfgread\relax\advance\count16by-1\relax
+\let\ltj@@cfgread\relax\advance\count16\m@ne\relax
\jfont\tenmin=\ltj@stdmcfont:jfm=ujis at 9.62216pt
\jfont\sevenmin=\ltj@stdmcfont:jfm=ujis at 6.73551pt
@@ -42,41 +42,56 @@
\jfont\sevengt=\ltj@stdgtfont:jfm=ujis at 6.73551pt
\jfont\fivegt=\ltj@stdgtfont:jfm=ujis at 4.81108pt
-\let\mc=\tenmin
-\let\gt=\tengt
-\mc
+\tfont\tentmin=\ltj@stdmcfont:jfm=ujisv at 9.62216pt
+\tfont\seventmin=\ltj@stdmcfont:jfm=ujisv at 6.73551pt
+\tfont\fivetmin=\ltj@stdmcfont:jfm=ujisv at 4.81108pt
+\tfont\tentgt=\ltj@stdgtfont:jfm=ujisv at 9.62216pt
+\tfont\seventgt=\ltj@stdgtfont:jfm=ujisv at 6.73551pt
+\tfont\fivetgt=\ltj@stdgtfont:jfm=ujisv at 4.81108pt
+
+\def\mc{\tenmin\tentmin}
+\def\gt{\tengt\tentgt}
+\mc\tentmin
\directlua{
local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
}
-\ltjsetparameter{kanjiskip=0pt plus 0.4pt minus 0.4pt,
+\ltjsetparameter{kanjiskip=\z@ plus .4pt minus .4pt,
xkanjiskip=.25\zw plus 1pt minus 1pt,
- autospacing, autoxspacing, jacharrange={-1},
- yalbaselineshift=0pt, yjabaselineshift=0pt,
- jcharwidowpenalty=500, differentjfm=paverage
+ autospacing, autoxspacing, jacharrange={-1},
+ yalbaselineshift=\z@, yjabaselineshift=\z@,
+ jcharwidowpenalty=500, differentjfm=paverage,
+ jatextfont={0, \tenmin}, jascriptfont={0, \sevenmin},
+ jascriptscriptfont={0, \fivemin},
}
+\setbox\z@=\hbox{M}
+\jfam\z@
+\ltjsetparameter{talbaselineshift=.5\ht0, tjabaselineshift=\z@}
-\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
-\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
+\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
+\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
\ltjdefcharrange{3}{%
"2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
\ltjdefcharrange{4}{%
- "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
- "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
+ "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
+ "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
"FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese
-\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
+\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
\ltjdefcharrange{6}{%
- "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
+ "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
"4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF,"E0100-"E01EF}
\ltjdefcharrange{7}{
- "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
+ "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
"AC00-"D7FF}
\ltjdefcharrange{8}{"B4, "A8, "B1, "D7, "F7, "B0, "A7, "B6}
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
\directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
+\let\ltj@@orig@end=\@@end
+\protected\def\@@end{%
+ \directlua{luatexja.ext_cleanup()}\ltj@@orig@end}
%%------------------ all done
\ltj@plain@AtEnd
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
index 5cdb1404ffd..c21de3ffdc5 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
@@ -2,9 +2,11 @@
-- luatexja/ltj-pretreat.lua
--
+luatexja.load_module('base'); local ltjb = luatexja.base
luatexja.load_module('charrange'); local ltjc = luatexja.charrange
luatexja.load_module('stack'); local ltjs = luatexja.stack
luatexja.load_module('jfont'); local ltjf = luatexja.jfont
+luatexja.load_module('direction'); local ltjd = luatexja.direction
local Dnode = node.direct or node
@@ -24,7 +26,7 @@ local floor = math.floor
local has_attr = Dnode.has_attribute
local set_attr = Dnode.set_attribute
local node_traverse = Dnode.traverse
-local node_remove =luatexja.Dnode_remove -- Dnode.remove
+local node_remove = Dnode.remove
local node_next = (Dnode ~= node) and Dnode.getnext or node.next
local node_free = Dnode.free
local node_end_of_math = Dnode.end_of_math
@@ -35,80 +37,126 @@ local id_math = node.id('math')
local id_whatsit = node.id('whatsit')
local sid_user = node.subtype('user_defined')
+local attr_dir = luatexbase.attributes['ltj@dir']
local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
+local attr_curtfnt = luatexbase.attributes['ltj@curtfnt']
local attr_icflag = luatexbase.attributes['ltj@icflag']
local is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char_direct
+local ltjs_orig_char_table = ltjs.orig_char_table
local ltjf_replace_altfont = ltjf.replace_altfont
local attr_orig_char = luatexbase.attributes['ltj@origchar']
-local STCK = luatexja.userid_table.STCK
-local lang_ja = token.create('ltj@japanese')[2]
+local STCK = luatexja.userid_table.STCK
+local DIR = luatexja.userid_table.DIR
+local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG
+
+local dir_tate = luatexja.dir_table.dir_tate
+local lang_ja = luatexja.lang_ja
------------------------------------------------------------------------
-- MAIN PROCESS STEP 1: replace fonts
------------------------------------------------------------------------
-local wt
+local wt, wtd = {}, {}
do
+ local ltjd_get_dir_count = ltjd.get_dir_count
+ local start_time_measure, stop_time_measure
+ = ltjb.start_time_measure, ltjb.stop_time_measure
local head
-
- local suppress_hyphenate_ja_aux = {}
- suppress_hyphenate_ja_aux[id_glyph] = function(p)
- if (has_attr(p, attr_icflag) or 0)<=0 and is_ucs_in_japanese_char(p) then
- local pc = getchar(p)
- local pf = ltjf_replace_altfont(has_attr(p, attr_curjfnt) or getfont(p), pc)
- setfield(p, 'font', pf); set_attr(p, attr_curjfnt, pf)
- setfield(p, 'lang', lang_ja)
- -- setfield(p, 'subtype', floor(getsubtype(p)*0.5)*2)
- set_attr(p, attr_orig_char, pc)
+ local suppress_hyphenate_ja_aux = {
+ [id_math] = function(p) return node_next(node_end_of_math(node_next(p))) end,
+ [id_whatsit] = function(p)
+ if getsubtype(p)==sid_user then
+ local uid = getfield(p, 'user_id')
+ if uid==STCK then
+ wt[#wt+1] = p; node_remove(head, p)
+ elseif uid==DIR then
+ if has_attr(p, attr_icflag)<PROCESSED_BEGIN_FLAG then
+ ltjs.list_dir = has_attr(p, attr_dir)
+ else -- こっちのケースは通常使用では起こらない
+ wtd[#wtd+1] = p; node_remove(head, p)
+ end
+ end
+ end
+ return node_next(p)
+ end,
+ }
+ setmetatable(suppress_hyphenate_ja_aux,
+ {
+ __index = function() return node_next end,
+ })
+ local function suppress_hyphenate_ja (h)
+ start_time_measure('ltj_hyphenate')
+ head = to_direct(h)
+ for i = 1,#wt do wt[i]=nil end
+ for i = 1,#wtd do wtd[i]=nil end
+ for i,_ in pairs(ltjs_orig_char_table) do
+ ltjs_orig_char_table[i] = nil
end
- return p
- end
- suppress_hyphenate_ja_aux[id_math] = function(p) return node_end_of_math(node_next(p)) end
- suppress_hyphenate_ja_aux[id_whatsit] = function(p)
- if getsubtype(p)==sid_user and getfield(p, 'user_id')==STCK then
- wt[#wt+1] = p; head = node_remove(head, p)
+ ltjs.list_dir=ltjd_get_dir_count()
+ do
+ local p = head
+ while p do
+ local pid = getid(p)
+ while pid==id_glyph do
+ local pc = getchar(p)
+ if (has_attr(p, attr_icflag) or 0)<=0 and is_ucs_in_japanese_char(p, pc) then
+ setfield(p, 'font',
+ ltjf_replace_altfont(has_attr(p, attr_curjfnt) or getfont(p), pc))
+ setfield(p, 'lang', lang_ja)
+ ltjs_orig_char_table[p] = pc
+ end
+ p = node_next(p); pid = getid(p)
+ end
+ p = (suppress_hyphenate_ja_aux[pid])(p)
+ end
end
- return p
+ stop_time_measure('ltj_hyphenate'); start_time_measure('tex_hyphenate')
+ lang.hyphenate(h, nil)
+ stop_time_measure('tex_hyphenate')
+ return h
end
- local function suppress_hyphenate_ja (h)
- local p = to_direct(h)
- wt, head = {}, p
- while p do
- local pfunc = suppress_hyphenate_ja_aux[getid(p)]
- p = node_next(pfunc and pfunc(p) or p)
- end
- head = to_node(head)
- lang.hyphenate(head)
- return head
- end
-
- luatexbase.add_to_callback('hyphenate',
+ luatexbase.add_to_callback('hyphenate',
function (head,tail)
return suppress_hyphenate_ja(head)
end,'ltj.hyphenate')
end
-- mode: true iff this function is called from hpack_filter
+local ltjs_report_stack_level = ltjs.report_stack_level
local function set_box_stack_level(head, mode)
local box_set, cl = 0, tex.currentgrouplevel + 1
for _,p in pairs(wt) do
if mode and getfield(p, 'value')==cl then box_set = 1 end; node_free(p)
end
- ltjs.report_stack_level(tex_getcount('ltj@@stack') + box_set)
+ ltjs_report_stack_level(tex_getcount('ltj@@stack') + box_set)
+ for _,p in pairs(wtd) do
+ node_free(p)
+ end
+ if ltjs.list_dir == dir_tate then
+ for p in Dnode.traverse_id(id_glyph,to_direct(head)) do
+ if (has_attr(p, attr_icflag) or 0)<=0 and getfield(p, 'lang')==lang_ja then
+ local pfn = has_attr(p, attr_curtfnt) or getfont(p)
+ local pc = ltjs_orig_char_table[p]
+ setfield(p, 'font', ltjf_replace_altfont(pfn, pc))
+ end
+ end
+ end
+ --luatexja.ext_show_node_list(head, 'S> ', print)
return head
end
-- CALLBACKS
-luatexbase.add_to_callback('hpack_filter',
+luatexbase.add_to_callback('hpack_filter',
function (head)
return set_box_stack_level(head, true)
end,'ltj.hpack_filter_pre',1)
-luatexbase.add_to_callback('pre_linebreak_filter',
+luatexbase.add_to_callback('pre_linebreak_filter',
function (head)
return set_box_stack_level(head, false)
end,'ltj.pre_linebreak_filter_pre',1)
luatexja.pretreat = {
set_box_stack_level = set_box_stack_level,
+ orig_char_table = orig_char_table,
}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua
index 23b7e962dd6..2430ef3f7c1 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua
@@ -5,13 +5,14 @@ luatexja.load_module('base'); local ltjb = luatexja.base
local cidfont_data = {}
local cache_chars = {}
-local cache_ver = '2'
+local cache_ver = 5
+local identifiers = fonts.hashes.identifiers
local cid_reg, cid_order, cid_supp, cid_name
local cid_replace = {
["Adobe-Japan1"] = {"UniJIS2004-UTF32", 23057, 6,
function (i)
- if (231<=i and i<=632) or (8718<=i and i<=8719)
+ if (231<=i and i<=632) or (8718<=i and i<=8719)
or (12063<=i and i<=12087) then
return 327680 -- 655360/2
elseif 9758<=i and i<=9778 then
@@ -21,15 +22,15 @@ local cid_replace = {
end
end},
-- 基本的には JIS X 0213:2004 に沿ったマッピング
- ["Adobe-Korea1"] = {"UniKS-UTF32", 18351, 2,
+ ["Adobe-Korea1"] = {"UniKS-UTF32", 18351, 2,
function (i)
- if 8094<=i and i<=8100 then
+ if 8094<=i and i<=8100 then
return 327680 -- 655360/2
end
end},
- ["Adobe-GB1"] = {"UniGB-UTF32", 30283, 5,
+ ["Adobe-GB1"] = {"UniGB-UTF32", 30283, 5,
function (i)
- if (814<=i and i<=939) or (i==7716)
+ if (814<=i and i<=939) or (i==7716)
or (22355<=i and i<=22357) then
return 327680 -- 655360/2
end
@@ -52,12 +53,12 @@ do
local cid, ucs, ucsa
line = fh:read("*l")
while line do
- if string.find(line, "end...?char") then
+ if string.find(line, "end...?char") then
line = fh:read("*l"); return
else -- WMA l is in the form "<%x+>%s%d+"
ucs, cid = string.match(line, "<(%x+)>%s+<?(%x+)>?")
- cid = cid_dec(cid); ucs = tonumber(ucs, 16);
- if not tt[ucs] then
+ cid = cid_dec(cid); ucs = tonumber(ucs, 16);
+ if not tt[ucs] then
tt[ucs] = mke(cid); cidm[cid]=ucs
end
end
@@ -69,14 +70,14 @@ do
local bucs, eucs, cid
line = fh:read("*l")
while line do
- if string.find(line, "end...?range") then
+ if string.find(line, "end...?range") then
line = fh:read("*l"); return
else -- WMA l is in the form "<%x+>%s+<%x+>"
bucs, eucs, cid = string.match(line, "<(%x+)>%s+<(%x+)>%s+<?(%x+)>?")
- cid = cid_dec(cid);
+ cid = cid_dec(cid);
bucs = tonumber(bucs, 16); eucs = tonumber(eucs, 16)
for ucs = bucs, eucs do
- if not tt[ucs] then
+ if not tt[ucs] then
tt[ucs] = mke(cid); cidm[cid]=ucs
end
cid = inc(cid)
@@ -98,12 +99,12 @@ do
line = fh:read("*l")
end
end
- fh:close();
+ fh:close();
end
-
+
local function increment(a) return a+1 end
- local function entry(a)
- return {index = a}
+ local function entry(a)
+ return {index = a}
end
make_cid_font = function ()
local kx = cid_replace[cid_name]
@@ -111,52 +112,62 @@ do
local k = {
cidinfo = { ordering=cid_order, registry=cid_reg, supplement=kx[3] },
encodingbytes = 2, extend=1000, format = 'opentype',
- direction = 0, characters = {}, parameters = {}, embedding = "no", cache = "yes",
- ascender = 0, descender = 0, factor = 0, hfactor = 0, vfactor = 0,
+ direction = 0, characters = {}, parameters = {
+ ascender = 655360*0.88,
+ descender = 655360*0.12,
+ },
+ embedding = "no", cache = "yes", factor = 0, hfactor = 0, vfactor = 0,
tounicode = 1,
}
cidfont_data[cid_name] = k
-- CID => Unicode 符号空間
- -- TODO: vertical fonts?
- tt, cidm = {}, {}
+ local tth, cidmo = {}, {}
+ tt, cidm = tth, cidmo
for i = 0,kx[2] do cidm[i] = -1 end
open_cmap_file(kx[1] .. "-H", increment, tonumber, entry)
- k.characters = tt
+ k.characters = tth
-- Unicode にマップされなかった文字の処理
-- これらは TrueType フォントを使って表示するときはおかしくなる
local ttu, pricode = {}, 0xF0000
- for i,v in ipairs(cidm) do
- if v==-1 then
- tt[pricode], cidm[i], pricode
+ for i,v in ipairs(cidmo) do
+ if v==-1 then
+ tth[pricode], cidmo[i], pricode
= { index = i }, pricode, pricode+1;
end
- ttu[cid_order .. '.' .. i] = cidm[i]
+ ttu[cid_order .. '.' .. i] = cidmo[i]
end
+
-- shared
k.shared = {
- otfdata = {
- cidinfo= k.cidinfo, verbose = false,
- shared = { featuredata = {}, },
- luatex = { features = {},
- defaultwidth=1000,
- sequences = { }, },
+ otfdata = {
+ cidinfo= k.cidinfo, verbose = false,
+ shared = { featuredata = {}, },
},
- dynamics = {}, features = {}, processes = {},
- }
+ dynamics = {}, features = {}, processes = {},
+ --rawdata = { descriptions = {} },
+ }
k.resources = { unicodes = ttu, }
k.descriptions = {}
cache_chars[cid_name] = { [655360] = k.characters }
+ -- 縦書用字形
+ tt, cidm = {}, {}
+ local ttv = {}; k.shared.ltj_vert_table = ttv
+ for i = 0,kx[2] do cidm[i] = -1 end
+ open_cmap_file(kx[1] .. "-V", increment, tonumber, entry)
+ for i,v in pairs(tt) do
+ ttv[i] = cidmo[v.index]
+ end
+
-- tounicode エントリ
- local cidp = {nil, nil}; local cidmo = cidm
- tt, ttu, cidm = {}, {}, {}
+ local cidp = {nil, nil}; tt, ttu, cidm = {}, {}, {}
open_cmap_file(cid_name .. "-UCS2",
- function(a)
+ function(a)
a[2] = a[2] +1 ; return a
- end,
- function(a)
+ end,
+ function(a)
cidp[1] = string.upper(string.sub(a,1,string.len(a)-4))
cidp[2] = tonumber(string.sub(a,-4),16)
return cidp
@@ -181,12 +192,32 @@ do
end
end
---
+--
+local cidf_vert_processor
+do
+ local traverse_id = node.traverse_id
+ local id_glyph = node.id('glyph')
+ cidf_vert_processor = {
+ function (head, fnum)
+ local fontdata = identifiers[fnum]
+ if fontdata.is_ltj_vert then
+ local vt = fontdata.shared.ltj_vert_table
+ for n in traverse_id(id_glyph, head) do
+ if n.font==fnum then
+ n.char = vt[n.char] or n.char
+ end
+ end
+ return head, false
+ end
+ end
+ }
+end
+
local function cid_cache_outdated(t) return t.version~=cache_ver end
local function read_cid_font()
local dat = ltjb.load_cache("ltj-cid-auto-" .. string.lower(cid_name),
cid_cache_outdated )
- if dat then
+ if dat then
cidfont_data[cid_name] = dat[1]
cache_chars[cid_name] = { [655360] = cidfont_data[cid_name].characters }
else
@@ -194,6 +225,7 @@ local function read_cid_font()
make_cid_font()
end
if cidfont_data[cid_name] then
+ cidfont_data[cid_name].shared.processes = cidf_vert_processor
for i,v in pairs(cidfont_data[cid_name].characters) do
if not v.width then v.width = 655360 end
v.height, v.depth = 576716.8, 78643.2 -- optimized for jfm-ujis.lua
@@ -212,6 +244,7 @@ local function mk_rml(name, size, id)
local fontdata = {}
local cachedata = {}
local s = cidfont_data[cid_name]
+ luatexja.rmlgbm.vert_addfunc(id)
for k, v in pairs(s) do
fontdata[k] = v
cachedata[k] = v
@@ -233,14 +266,14 @@ local function mk_rml(name, size, id)
local scale = size / 655360
do
- local def_height = 0.88 * size
+ local def_height = 0.88 * size
-- character's default height (optimized for jfm-ujis.lua)
local def_depth = 0.12 * size -- and depth.
if not cache_chars[cid_name][size] then
cache_chars[cid_name][size] = {}
for k, v in pairs(cache_chars[cid_name][655360]) do
- cache_chars[cid_name][size][k] = {
- index = v.index, width = v.width * scale,
+ cache_chars[cid_name][size][k] = {
+ index = v.index, width = v.width * scale,
height = def_height, depth = def_depth, tounicode = v.tounicode,
}
end
@@ -256,19 +289,9 @@ local function mk_rml(name, size, id)
parameters[k] = v * scale
end
fontdata.parameters = parameters
- fontdata.ascender = fontdata.ascender * scale
- fontdata.descender = fontdata.descender * scale
- fontdata.factor = fontdata.factor * scale
- fontdata.hfactor = fontdata.hfactor * scale
- fontdata.vfactor = fontdata.vfactor * scale
fontdata.size = size
fontdata.resources = s.resources
cachedata.parameters = parameters
- cachedata.ascender = fontdata.ascender
- cachedata.descender = fontdata.descender
- cachedata.factor = fontdata.factor
- cachedata.hfactor = fontdata.hfactor
- cachedata.vfactor = fontdata.vfactor
cachedata.size = size
cachedata.resources = s.resources
end
@@ -276,53 +299,56 @@ local function mk_rml(name, size, id)
-- no embedding
local var = ''
local s = string.match(specification.detail, 'slant=([+-]*%d*%.?%d)')
- if s and e~=0 then
+ if s and e~=0 then
s = s * 1000
var, fontdata.slant = var .. 's' .. tostring(s), s
end
local e = string.match(specification.detail, 'extend=([+-]*%d*%.?%d)')
- if e and e~=1 then
+ if e and e~=1 then
e = e * 1000
var, fontdata.extend = var .. 'x' .. tostring(e), e
end
+ if string.match(specification.detail, '(%+?vert)') then
+ cachedata.is_ltj_vert = true
+ end
fontdata.name = specification.name .. size .. var; cachedata.name = fontdata.name
fontdata.fullname = specification.name .. var; cachedata.fullname = fontdata.fullname
fontdata.psname = specification.name; cachedata.psname = fontdata.psname
- fonts.hashes.identifiers[id] = cachedata
+ identifiers[id] = cachedata
return fontdata
end
local function font_callback(name, size, id, fallback)
- local p = utf.find(name, ":") or utf.len(name)+1
- if utf.sub(name, 1, p-1) == 'psft' then
+ local p = name:find(":") or name:len()+1
+ if name:sub(1, p-1) == 'psft' then
local s = "Adobe-Japan1-6"
- local basename = utf.sub(name,p+1)
- local p = utf.find(basename, ":")
- local q = utf.find(basename, "/[BI][BI]?")
+ local basename = name:sub(p+1)
+ local p = basename:find(":")
+ local q = basename:find("/[BI][BI]?")
if q and p and q<=p then
- basename = utf.gsub(basename, '/[BI][BI]?', '', 1)
- p = utf.find(basename, ":")
+ basename = basename:gsub('/[BI][BI]?', '', 1)
+ p = basename:find(":")
end
- if p then
- local xname = utf.sub(basename, p+1)
+ if p then
+ local xname = basename:sub(p+1)
p = 1
while p do
- local q = utf.find(xname, ";", p+1) or utf.len(xname)+1
- if utf.sub(xname, p, p+3)=='cid=' and q>p+4 then
- s = utf.sub(xname, p+4, q-1)
+ local q = xname:find(";", p+1) or xname:len()+1
+ if xname:sub(p, p+3)=='cid=' and q>p+4 then
+ s = xname:sub(p+4, q-1)
end
- if utf.len(xname)+1==q then p = nil else p = q + 1 end
+ if xname:len()+1==q then p = nil else p = q + 1 end
end
end
cid_reg, cid_order = string.match(s, "^(.-)%-(.-)%-(%d-)$")
- if not cid_reg then
+ if not cid_reg then
cid_reg, cid_order = string.match(s, "^(.-)%-(.-)$")
end
cid_name = cid_reg .. '-' .. cid_order
- if not cidfont_data[cid_name] then
+ if not cidfont_data[cid_name] then
read_cid_font()
- if not cidfont_data[cid_name] then
+ if not cidfont_data[cid_name] then
ltjb.package_error('luatexja',
"bad cid key `" .. s .. "'",
"I couldn't find any non-embedded font information for the CID\n" ..
@@ -332,16 +358,20 @@ local function font_callback(name, size, id, fallback)
end
end
return mk_rml(basename, size, id)
- else
- return fallback(name, size, id)
+ else
+ local tfmdata=fallback(name, size, id)
+ if type (tfmdata) == "table" and tfmdata.shared then
+ luatexbase.call_callback("luaotfload.patch_font", tfmdata, name)
+ end
+ return tfmdata
end
end
-cid_reg, cid_order, cid_name, cid_supp = 'Adobe', 'Japan1', 'Adobe-Japan1'
-read_cid_font()
-
-
luatexja.rmlgbm = {
cidfont_data = cidfont_data,
font_callback = font_callback,
+ vert_addfunc = function () end, -- dummy, set in ltj-direction.lua
}
+
+cid_reg, cid_order, cid_name, cid_supp = 'Adobe', 'Japan1', 'Adobe-Japan1'
+read_cid_font()
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua
index 145f332af60..57686fead2f 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua
@@ -3,8 +3,8 @@
--
luatexbase.provides_module({
name = 'luatexja.ruby',
- date = '2014/04/02',
- description = 'Ruby',
+ date = '2015/01/14',
+ description = 'Ruby annotation',
})
module('luatexja.ruby', package.seeall)
local err, warn, info, log = luatexbase.errwarinf(_NAME)
@@ -26,7 +26,7 @@ local getchar = (Dnode ~= node) and Dnode.getchar or function(n) return n.char e
local getsubtype = (Dnode ~= node) and Dnode.getsubtype or function(n) return n.subtype end
local node_new = Dnode.new
-local node_remove = luatexja.Dnode_remove -- Dnode.remove
+local node_remove = Dnode.remove
local node_next = (Dnode ~= node) and Dnode.getnext or node.next
local node_copy, node_free, node_tail = Dnode.copy, Dnode.free, Dnode.tail
local has_attr, set_attr = Dnode.has_attribute, Dnode.set_attribute
@@ -91,18 +91,18 @@ local function gauss(coef)
local deg = #coef
for i = 1, deg do
if coef[i][i]==0 then
- for j = i+1, deg do
+ for j = i+1, deg do
if coef[j][i]~=0 then
coef[i], coef[j] = coef[j], coef[i]; break
end
end
end
- for j = 1,deg do
+ for j = 1,deg do
local d = coef[i][i];
if j~=i then
local e = coef[j][i]
for k = 1, deg+1 do coef[j][k] = coef[j][k] - e*coef[i][k]/d end
- else
+ else
for k = 1, deg+1 do coef[i][k] = coef[i][k]/d end
end
end
@@ -154,7 +154,7 @@ local function concat(f, b)
setfield(f, 'head', nil); node_free(f)
setfield(b, 'head', nil); node_free(b)
return Dnode.hpack(luatexja.jfmglue.main(h,false))
- else
+ else
return f
end
elseif b then
@@ -195,7 +195,7 @@ do
enlarge = function (box, new_width, pre, middle, post, prenw, postnw)
-- pre, middle, post: 伸縮比率
-- prenw, postnw: 前後の自然長 (sp)
- local h = getlist(box);
+ local h = getlist(box);
local hh, hd = getfield(box, 'height'), getfield(box, 'depth')
local hx = h
while hx do
@@ -323,17 +323,17 @@ local function enlarge_parent(r, p, ppre, pmid, ppost, mapre, mapost, intmode)
local sumprot = rwidth - getfield(p, 'width') -- >0
local pre_intrusion, post_intrusion
if intmode == 0 then -- とりあえず組んでから決める
- p = enlarge(p, rwidth, ppre, pmid, ppost, 0, 0)
+ p = enlarge(p, rwidth, ppre, pmid, ppost, 0, 0)
pre_intrusion = min(mapre, round(ppre*getfield(p, 'glue_set')*65536))
post_intrusion = min(mapost, round(ppost*getfield(p, 'glue_set')*65536))
elseif intmode == 1 then
- pre_intrusion = min(mapre, sumprot);
+ pre_intrusion = min(mapre, sumprot);
post_intrusion = min(mapost, max(sumprot-pre_intrusion, 0))
p = enlarge(p, rwidth, ppre, pmid, ppost, pre_intrusion, post_intrusion)
elseif intmode == 2 then
- post_intrusion = min(mapost, sumprot);
+ post_intrusion = min(mapost, sumprot);
pre_intrusion = min(mapre, max(sumprot-post_intrusion, 0))
- p = enlarge(p, rwidth, ppre, pmid, ppost, pre_intrusion, post_intrusion)
+ p = enlarge(p, rwidth, ppre, pmid, ppost, pre_intrusion, post_intrusion)
else -- intmode == 3
local n = min(mapre, mapost)*2
if n < sumprot then
@@ -341,7 +341,7 @@ local function enlarge_parent(r, p, ppre, pmid, ppost, mapre, mapost, intmode)
else
pre_intrusion = floor(sumprot/2); post_intrusion = sumprot - pre_intrusion
end
- p = enlarge(p, rwidth, ppre, pmid, ppost, pre_intrusion, post_intrusion)
+ p = enlarge(p, rwidth, ppre, pmid, ppost, pre_intrusion, post_intrusion)
pre_intrusion = min(mapre, pre_intrusion + round(ppre*getfield(p, 'glue_set')*65536))
post_intrusion = min(mapost, post_intrusion + round(ppost*getfield(p, 'glue_set')*65536))
end
@@ -357,7 +357,7 @@ end
-- ルビボックスの生成(単一グループ)
-- returned value: <new box>, <ruby width>, <post_intrusion>
local max_margin
-local function new_ruby_box(r, p, ppre, pmid, ppost,
+local function new_ruby_box(r, p, ppre, pmid, ppost,
mapre, mapost, imode, rgap)
local post_intrusion = 0
local intmode = imode%4
@@ -369,7 +369,7 @@ local function new_ruby_box(r, p, ppre, pmid, ppost,
if getfield(r, 'width') > getfield(p, 'width') then -- change the width of p
r, p, post_intrusion = enlarge_parent(r, p, ppre, pmid, ppost, mapre, mapost, intmode)
elseif getfield(r, 'width') < getfield(p, 'width') then -- change the width of r
- r = enlarge(r, getfield(p, 'width'), rpre, rmid, rpost, 0, 0)
+ r = enlarge(r, getfield(p, 'width'), rpre, rmid, rpost, 0, 0)
post_intrusion = 0
local need_repack = false
-- margin が大きくなりすぎた時の処理
@@ -437,7 +437,7 @@ local function pre_low_cal_box(w, cmp)
for j = 1, 2*i do coef[i][j] = 1 end
for j = 2*i+1, 2*cmp+1 do coef[i][j] = 0 end
kf[i], coef[i][2*cmp+2]
- = new_ruby_box(node_copy(nta), node_copy(ntb),
+ = new_ruby_box(node_copy(nta), node_copy(ntb),
rtb[6], rtb[5], rtb[4], max_allow_pre, 0, intmode, rgap)
end
node_free(nta); node_free(ntb)
@@ -450,7 +450,7 @@ local function pre_low_cal_box(w, cmp)
for j = 2*i, 2*cmp+1 do coef[cmp+i][j] = 1 end
nta = concat(node_copy(rb[i]), nta); ntb = concat(node_copy(pb[i]), ntb)
kf[cmp+i], coef[cmp+i][2*cmp+2]
- = new_ruby_box(node_copy(nta), node_copy(ntb),
+ = new_ruby_box(node_copy(nta), node_copy(ntb),
rtb[9], rtb[8], rtb[7], 0, max_allow_post, intmode, rgap)
end
@@ -459,7 +459,7 @@ local function pre_low_cal_box(w, cmp)
coef[2*cmp+1] = {}
for j = 1, 2*cmp+1 do coef[2*cmp+1][j] = 1 end
kf[2*cmp+1], coef[2*cmp+1][2*cmp+2], post_intrusion_backup
- = new_ruby_box(nta, ntb, rtb[3], rtb[2], rtb[1],
+ = new_ruby_box(nta, ntb, rtb[3], rtb[2], rtb[1],
max_allow_pre, max_allow_post, intmode, rgap)
-- w.value の node list 更新.
@@ -500,7 +500,7 @@ local function pre_low_app_node(head, w, cmp, coef, ht, dp)
nt = w
for i = 1, cmp do
-- rule
- local nta = node_new(id_rule);
+ local nta = node_new(id_rule);
setfield(nta, 'width', coef[i*2][2*cmp+2])
setfield(nta, 'height', ht); setfield(nta, 'depth', dp)
setfield(nta, 'subtype', 0)
@@ -552,7 +552,7 @@ local function pre_high(ahead)
local coef = pre_low_cal_box(n, getfield(nv, 'value'))
local s = node_tail(nv) --ルビ文字
head, n = pre_low_app_node(
- head, n, getfield(nv, 'value'), coef,
+ head, n, getfield(nv, 'value'), coef,
getfield(s, 'height'), getfield(s, 'depth')
)
else
@@ -560,7 +560,7 @@ local function pre_high(ahead)
end
end
return to_node(head)
-end
+end
luatexbase.add_to_callback('pre_linebreak_filter', pre_high, 'ltj.ruby.pre', 100)
luatexbase.add_to_callback('hpack_filter', pre_high, 'ltj.ruby.pre', 100)
@@ -585,7 +585,7 @@ do
local hn = has_attr(rs[1], attr_ruby)
local fn = has_attr(rs[#rs], attr_ruby)
local wv = getfield(rw, 'value')
- if hn==1 then
+ if hn==1 then
if fn==2*cmp+2 then
local hn = node_tail(wv)
node_remove(wv, hn)
@@ -594,7 +594,7 @@ do
write_aux(wv, has_attr(hn, attr_ruby))-- 行中形
else
local deg, hn = (fn-1)/2, wv
- for i = 1, deg do hn = node_next(hn) end;
+ for i = 1, deg do hn = node_next(hn) end;
node_remove(wv, hn)
setfield(hn, 'next', nil)
insert_after(ch, rs[1], hn)
@@ -602,9 +602,9 @@ do
write_aux(wv, has_attr(hn, attr_ruby))
end
else
- local deg, hn = max((hn-1)/2,2), wv
+ local deg, hn = max((hn-1)/2,2), wv
for i = 1, cmp+deg-1 do hn = node_next(hn) end
- -- -1 is needed except the case hn = 3,
+ -- -1 is needed except the case hn = 3,
-- because a ending-line form is removed already from the list
node_remove(wv, hn); setfield(hn, 'next', nil)
insert_after(ch, rs[1], hn)
@@ -613,7 +613,7 @@ do
write_aux(wv, has_attr(hn, attr_ruby))
end
end
- for i = 1,#rs do
+ for i = 1,#rs do
local ri = rs[i]
ch = node_remove(ch, ri); node_free(ri);
end
@@ -624,7 +624,7 @@ do
end
local function post_high_break(head)
- local rs = {} -- rs: sequence of ruby_nodes,
+ local rs = {} -- rs: sequence of ruby_nodes,
local rw = nil -- rw: main whatsit
local cmp = -2 -- dummy
for h in Dnode.traverse_id(id_hlist, to_direct(head)) do
@@ -632,50 +632,50 @@ local function post_high_break(head)
local ha = getlist(h)
while ha do
local hai = getid(ha)
- local i = ((hai == id_glue and getsubtype(ha)==0)
+ local i = ((hai == id_glue and getsubtype(ha)==0)
or (hai == id_rule and getsubtype(ha)==0)
- or (hai == id_whatsit and getsubtype(ha)==sid_user
+ or (hai == id_whatsit and getsubtype(ha)==sid_user
and getfield(ha, 'user_id', RUBY_POST)))
and has_attr(ha, attr_ruby) or 0
- if i==0 then
+ if i==0 then
ha = node_next(ha)
elseif i==1 then
setfield(h, 'head', post_lown(rs, rw, cmp, getlist(h)))
for i = 2, #rs do rs[i] = nil end -- rs[1] is set by the next statement
rs[1], rw = ha, nil; ha = node_next(ha)
- elseif i==2 then
+ elseif i==2 then
rw = ha
cmp = getfield(getfield(rw, 'value'), 'value')
local hb, hc = node_remove(getlist(h), rw)
setfield(h, 'head', hb); ha = hc
- else -- i>=3
+ else -- i>=3
rs[#rs+1] = ha; ha = node_next(ha)
end
end
setfield(h, 'head', post_lown(rs, rw, cmp, getlist(h)))
end
return head
-end
+end
local function post_high_hbox(ahead)
local ha = to_direct(ahead); local head = ha
- local rs = {}; -- rs: sequence of ruby_nodes,
+ local rs = {}; -- rs: sequence of ruby_nodes,
local rw = nil; -- rw: main whatsit
local cmp
while ha do
local hai = getid(ha)
- local i = ((hai == id_glue and getsubtype(ha)==0)
+ local i = ((hai == id_glue and getsubtype(ha)==0)
or (hai == id_rule and getsubtype(ha)==0)
- or (hai == id_whatsit and getsubtype(ha)==sid_user
+ or (hai == id_whatsit and getsubtype(ha)==sid_user
and getfield(ha, 'user_id', RUBY_POST)))
and has_attr(ha, attr_ruby) or 0
if i==0 then
ha = node_next(ha)
- elseif i==1 then
+ elseif i==1 then
head = post_lown(rs, rw, cmp, head)
for i = 2, #rs do rs[i] = nil end -- rs[1] is set by the next statement
rs[1], rw = ha, nil; ha = node_next(ha)
- elseif i==2 then
+ elseif i==2 then
rw = ha
cmp = getfield(getfield(rw, 'value'), 'value')
head, ha = node_remove(head, rw)
@@ -695,8 +695,8 @@ luatexbase.add_to_callback('hpack_filter', post_high_hbox, 'ltj.ruby.post_hbox',
----------------------------------------------------------------
do
local RIPRE = luatexja.stack_table_index.RIPRE
- local function whatsit_callback(Np, lp, Nq, bsl)
- if Np.nuc then return Np
+ local function whatsit_callback(Np, lp, Nq, bsl)
+ if Np.nuc then return Np
elseif getfield(lp, 'user_id') == RUBY_PRE then
Np.first, Np.nuc, Np.last = lp, lp, lp
local lpv = getfield(lp, 'value')
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua
index 7fd68043adf..1d4da319e7d 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua
@@ -3,7 +3,9 @@
--
luatexja.load_module('base'); local ltjb = luatexja.base
+luatexja.load_module('stack'); local ltjs = luatexja.stack
luatexja.load_module('jfont'); local ltjf = luatexja.jfont
+luatexja.load_module('direction'); local ltjd = luatexja.direction
local Dnode = node.direct or node
local setfield = (Dnode ~= node) and Dnode.setfield or function(n, i, c) n[i] = c end
@@ -14,9 +16,11 @@ local getlist = (Dnode ~= node) and Dnode.getlist or function(n) return n.head e
local getchar = (Dnode ~= node) and Dnode.getchar or function(n) return n.char end
local getsubtype = (Dnode ~= node) and Dnode.getsubtype or function(n) return n.subtype end
+local node_traverse_id = Dnode.traverse_id
local node_traverse = Dnode.traverse
local node_new = Dnode.new
-local node_remove = luatexja.Dnode_remove -- Dnode.remove
+local node_copy = Dnode.copy
+local node_remove = Dnode.remove
local node_tail = Dnode.tail
local node_next = (Dnode ~= node) and Dnode.getnext or node.next
local has_attr = Dnode.has_attribute
@@ -31,22 +35,25 @@ local id_hlist = node.id('hlist')
local id_vlist = node.id('vlist')
local id_rule = node.id('rule')
local id_math = node.id('math')
+local id_whatsit = node.id('whatsit')
+local sid_save = node.subtype('pdf_save')
+local sid_restore = node.subtype('pdf_restore')
+local sid_matrix = node.subtype('pdf_setmatrix')
+local dir_tate = luatexja.dir_table.dir_tate
-local attr_jchar_class = luatexbase.attributes['ltj@charclass']
-local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
-local attr_yablshift = luatexbase.attributes['ltj@yablshift']
local attr_ykblshift = luatexbase.attributes['ltj@ykblshift']
+local attr_tkblshift = luatexbase.attributes['ltj@tkblshift']
local attr_icflag = luatexbase.attributes['ltj@icflag']
local ltjf_font_metric_table = ltjf.font_metric_table
+local ltjf_font_extra_info = ltjf.font_extra_info
local PACKED = luatexja.icflag_table.PACKED
local PROCESSED = luatexja.icflag_table.PROCESSED
-local IC_PROCESSED = luatexja.icflag_table.IC_PROCESSED
-local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG
local get_pr_begin_flag
do
+ local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG
local floor = math.floor
get_pr_begin_flag = function (p)
local i = has_attr(p, attr_icflag) or 0
@@ -54,54 +61,130 @@ do
end
end
-local head, dir
local ltjw = {} --export
luatexja.setwidth = ltjw
-luatexbase.create_callback("luatexja.set_width", "data",
- function (fstable, fmtable, jchar_class)
- return fstable
+luatexbase.create_callback("luatexja.set_width", "data",
+ function (fstable, fmtable, jchar_class)
+ return fstable
end)
local call_callback = luatexbase.call_callback
local fshift = { down = 0, left = 0}
--- mode: true iff p will be always encapsuled by a hbox
-local function capsule_glyph(p, met, class)
+local min, max = math.min, math.max
+
+-- 和文文字の位置補正(横)
+local function capsule_glyph_yoko(p, met, class, head, dir)
local char_data = met.char_type[class]
- if not char_data then return node_next(p) end
+ if not char_data then return node_next(p), head, p end
+ -- f*: whd specified in JFM
local fwidth, pwidth = char_data.width, getfield(p, 'width')
fwidth = (fwidth ~= 'prop') and fwidth or pwidth
fshift.down = char_data.down; fshift.left = char_data.left
fshift = call_callback("luatexja.set_width", fshift, met, class)
local fheight, fdepth = char_data.height, char_data.depth
- if (pwidth ~= fwidth or getfield(p, 'height') ~= fheight or getfield(p, 'depth') ~= fdepth) then
- local y_shift
- = - getfield(p, 'yoffset') + (has_attr(p,attr_ykblshift) or 0)
- local q
- head, q = node_remove(head, p)
- setfield(p, 'yoffset', -fshift.down); setfield(p, 'next', nil)
- setfield(p, 'xoffset', getfield(p, 'xoffset') + char_data.align*(fwidth-pwidth) - fshift.left)
- local box = node_new(id_hlist)
- setfield(box, 'width', fwidth)
- setfield(box, 'height', fheight)
- setfield(box, 'depth', fdepth)
- setfield(box, 'head', p)
- setfield(box, 'shift', y_shift)
- setfield(box, 'dir', dir)
- set_attr(box, attr_icflag, PACKED + get_pr_begin_flag(p))
- head = q and node_insert_before(head, q, box)
- or node_insert_after(head, node_tail(head), box)
- return q
- else
- set_attr(p, attr_icflag, PROCESSED + get_pr_begin_flag(p))
- setfield(p, 'xoffset', getfield(p, 'xoffset') - fshift.left)
- setfield(p, 'yoffset', getfield(p, 'yoffset')
- - (has_attr(p, attr_ykblshift) or 0) - fshift.down)
- return node_next(p)
+ local kbl = has_attr(p, attr_ykblshift) or 0
+ --
+ if pwidth==fwidth then
+ -- 補正後glyph node は ht: p.height - kbl - down, dp: p.depth + min(0, kbl+down) を持つ
+ -- 設定されるべき寸法: ht: fheight - kbl, dp: fdepth + kbl
+ local ht_diff = fheight + fshift.down - getfield(p, 'height')
+ local dp_diff = fdepth + kbl - getfield(p, 'depth') - min(kbl + fshift.down, 0)
+ if ht_diff == 0 and dp_diff ==0 then -- offset only
+ set_attr(p, attr_icflag, PROCESSED)
+ setfield(p, 'xoffset', getfield(p, 'xoffset') - fshift.left)
+ setfield(p, 'yoffset', getfield(p, 'yoffset') - kbl - fshift.down)
+ return node_next(p), head, p
+ elseif ht_diff >= 0 and dp_diff >=0 then -- rule
+ local box = node_new(id_rule)
+ setfield(p, 'yoffset', getfield(p, 'yoffset') - kbl - fshift.down)
+ setfield(box, 'width', 0)
+ setfield(box, 'height', fheight - kbl)
+ setfield(box, 'depth', fdepth + kbl)
+ setfield(box, 'dir', dir)
+ set_attr(box, attr_icflag, PACKED)
+ set_attr(p, attr_icflag, PACKED)
+ head = p and node_insert_before(head, p, box)
+ or node_insert_after(head, node_tail(head), box)
+ return node_next(p), head, p, box
+ end
end
+
+ local q
+ head, q = node_remove(head, p)
+ setfield(p, 'yoffset', getfield(p, 'yoffset') -fshift.down);
+ setfield(p, 'next', nil)
+ setfield(p, 'xoffset', getfield(p, 'xoffset')
+ + char_data.align*(fwidth-pwidth) - fshift.left)
+ local box = node_new(id_hlist)
+ setfield(box, 'width', fwidth)
+ setfield(box, 'height', fheight)
+ setfield(box, 'depth', fdepth)
+ setfield(box, 'head', p)
+ setfield(box, 'shift', kbl)
+ setfield(box, 'dir', dir)
+ set_attr(box, attr_icflag, PACKED)
+ head = q and node_insert_before(head, q, box)
+ or node_insert_after(head, node_tail(head), box)
+ return q, head, box
end
-luatexja.setwidth.capsule_glyph = capsule_glyph
+
+luatexja.setwidth.capsule_glyph_yoko = capsule_glyph_yoko
+
+-- 和文文字の位置補正(縦)
+local function capsule_glyph_tate(p, met, class, head, dir)
+ local char_data = met.char_type[class]
+ if not char_data then return node_next(p), head end
+ local ascent, descent = met.ascent, met.descent
+ local fwidth, pwidth = char_data.width
+ do
+ local pf = getfont(p)
+ local pc = getchar(p)
+ setfield(p, 'char', pc)
+ pwidth = ltjf_font_extra_info[pf] and ltjf_font_extra_info[pf][pc]
+ and ltjf_font_extra_info[pf][pc].vwidth
+ and ltjf_font_extra_info[pf][pc].vwidth * met.size or (ascent+descent)
+ pwidth = pwidth + (met.v_advance[pc] or 0)
+ ascent = met.v_origin[pc] and ascent - met.v_origin[pc] or ascent
+ end
+ fwidth = (fwidth ~= 'prop') and fwidth or pwidth
+ fshift.down = char_data.down; fshift.left = char_data.left
+ fshift = call_callback("luatexja.set_width", fshift, met, class)
+ local fheight, fdepth = char_data.height, char_data.depth
+
+ local y_shift
+ = getfield(p, 'xoffset') + (has_attr(p,attr_tkblshift) or 0)
+ local q
+ head, q = node_remove(head, p)
+ local box = node_new(id_hlist)
+ setfield(box, 'width', fwidth)
+ setfield(box, 'height', fheight)
+ setfield(box, 'depth', fdepth)
+ setfield(box, 'shift', y_shift)
+ setfield(box, 'dir', dir)
+
+ setfield(p, 'xoffset', - fshift.down)
+ setfield(p, 'yoffset', getfield(p, 'yoffset') -(ascent
+ + char_data.align*(fwidth-pwidth) - fshift.left) )
+ local ws = node_new(id_whatsit, sid_save)
+ local wm = node_new(id_whatsit, sid_matrix)
+ setfield(wm, 'data', '0 1 -1 0')
+ local pwnh = -round(0.5*getfield(p, 'width'))
+ local k2 = node_new(id_kern); setfield(k2, 'kern', pwnh)
+ local k3 = node_new(id_kern); setfield(k3, 'kern', -getfield(p, 'width')-pwnh)
+ local wr = node_new(id_whatsit, sid_restore)
+ setfield(box, 'head', ws)
+ setfield(ws, 'next', wm); setfield(wm, 'next', k2);
+ setfield(k2, 'next', p); setfield(p, 'next', k3);
+ setfield(k3, 'next', wr);
+
+ set_attr(box, attr_icflag, PACKED)
+ head = q and node_insert_before(head, q, box)
+ or node_insert_after(head, node_tail(head), box)
+ return q, head, box
+end
+luatexja.setwidth.capsule_glyph_tate = capsule_glyph_tate
local function capsule_glyph_math(p, met, class)
local char_data = met.char_type[class]
@@ -115,58 +198,75 @@ local function capsule_glyph_math(p, met, class)
= - getfield(p, 'yoffset') + (has_attr(p,attr_ykblshift) or 0), char_data.align
setfield(p, 'yoffset', -fshift.down)
setfield(p, 'xoffset', getfield(p, 'xoffset') + char_data.align*(fwidth-pwidth) - fshift.left)
- local box = node_new(id_hlist);
+ local box = node_new(id_hlist);
setfield(box, 'width', fwidth)
setfield(box, 'height', fheight)
setfield(box, 'depth', fdepth)
setfield(box, 'head', p)
setfield(box, 'shift', y_shift)
setfield(box, 'dir', tex.mathdir)
- set_attr(box, attr_icflag, PACKED + get_pr_begin_flag(p))
+ set_attr(box, attr_icflag, PACKED)
return box
end
luatexja.setwidth.capsule_glyph_math = capsule_glyph_math
-function luatexja.setwidth.set_ja_width(ahead, adir)
- local p = ahead; head = p; dir = adir or 'TLT'
- local m = false -- is in math mode?
- while p do
+-- 数式の位置補正
+function luatexja.setwidth.apply_ashift_math(head, last, attr_ablshift)
+ for p in node_traverse(head) do
local pid = getid(p)
- if (pid==id_glyph)
- and ((has_attr(p, attr_icflag) or 0)%PROCESSED_BEGIN_FLAG)<=0 then
- local pf = getfont(p)
- if pf == has_attr(p, attr_curjfnt) then
- p = capsule_glyph(p, ltjf_font_metric_table[pf],
- has_attr(p, attr_jchar_class))
- else
- set_attr(p, attr_icflag, PROCESSED + get_pr_begin_flag(p))
+ if p==last then
+ return
+ elseif (has_attr(p, attr_icflag) or 0) ~= PROCESSED then
+ if pid==id_hlist or pid==id_vlist then
+ setfield(p, 'shift', getfield(p, 'shift') + (has_attr(p,attr_ablshift) or 0))
+ elseif pid==id_rule then
+ local v = has_attr(p,attr_ablshift) or 0
+ setfield(p, 'height', getfield(p, 'height')-v)
+ setfield(p, 'depth', getfield(p, 'depth')+v)
+ set_attr(p, attr_icflag, PROCESSED)
+ elseif pid==id_glyph then
+ -- 欧文文字; 和文文字は pid == id_hlist の場合で処理される
+ -- (see conv_jchar_to_hbox_A in ltj-math.lua)
setfield(p, 'yoffset',
- getfield(p, 'yoffset') - (has_attr(p,attr_yablshift) or 0))
- p = node_next(p)
- end
- elseif pid==id_math then
- m = (getsubtype(p)==0); p = node_next(p)
- else
- if m then
- -- 数式の位置補正
- if pid==id_hlist or pid==id_vlist then
- if (has_attr(p, attr_icflag) or 0) ~= PROCESSED then
- setfield(p, 'shift', getfield(p, 'shift') + (has_attr(p,attr_yablshift) or 0))
- end
- elseif pid==id_rule then
- if (has_attr(p, attr_icflag) or 0) ~= PROCESSED then
- local v = has_attr(p,attr_yablshift) or 0
- setfield(p, 'height', getfield(p, 'height')-v)
- setfield(p, 'depth', getfield(p, 'depth')+v)
- set_attr(p, attr_icflag, PROCESSED + get_pr_begin_flag(p))
- end
- end
+ getfield(p, 'yoffset') - (has_attr(p,attr_ablshift) or 0))
end
- p = node_next(p)
end
end
- -- adjust attr_icflag
- tex.setattribute('global', attr_icflag, 0)
- return head
end
+-- discretionary の位置補正
+do
+ local attr_yablshift = luatexbase.attributes['ltj@yablshift']
+ local attr_tablshift = luatexbase.attributes['ltj@tablshift']
+ local attr_ablshift
+ local disc, tex_dir
+ local function ashift_disc_inner(field)
+ local head = getfield(disc, field)
+ if not head then return end
+ local y_adjust, node_depth, adj_depth = 0, 0, 0
+ for lp in node_traverse_id(id_glyph, head) do
+ y_adjust = has_attr(lp,attr_ablshift) or 0
+ node_depth = max(getfield(lp, 'depth') + min(y_adjust, 0), node_depth)
+ adj_depth = (y_adjust>0) and max(getfield(lp, 'depth') + y_adjust, adj_depth) or adj_depth
+ setfield(lp, 'yoffset', getfield(lp, 'yoffset') - y_adjust)
+ end
+ if adj_depth>node_depth then
+ local r = node_new(id_rule)
+ setfield(r, 'width', 0); setfield(r, 'height', 0)
+ setfield(r, 'depth', adj_depth); setfield(r, 'dir', tex_dir)
+ set_attr(r, attr_icflag, PROCESSED)
+ if field=='post' then
+ node_insert_after(head, head, r)
+ else
+ setfield(disc, field, (node_insert_before(head, head, r)))
+ end
+ end
+ end
+ function luatexja.setwidth.apply_ashift_disc(d, is_dir_tate, dir)
+ attr_ablshift = is_dir_tate and attr_tablshift or attr_yablshift
+ disc, tex_dir = d, dir
+ ashift_disc_inner('pre')
+ ashift_disc_inner('post')
+ ashift_disc_inner('replace')
+ end
+end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-stack.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-stack.lua
index 81fd8519cd8..ef7a36926ee 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-stack.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-stack.lua
@@ -3,7 +3,7 @@
--
luatexbase.provides_module({
name = 'luatexja.stack',
- date = '2014/09/24',
+ date = '2014/05/08',
description = 'LuaTeX-ja stack system',
})
module('luatexja.stack', package.seeall)
@@ -11,13 +11,18 @@ local err, warn, info, log = luatexbase.errwarinf(_NAME)
luatexja.load_module('base'); local ltjb = luatexja.base
+--------------------------------------------------------------------------------
+-- stack table (obeys TeX's grouping)
+--------------------------------------------------------------------------------
local node_new = node.new
local id_whatsit = node.id('whatsit')
local sid_user = node.subtype('user_defined')
local STCK = luatexja.userid_table.STCK
-hmode = 0 -- dummy
+local fastcopy = table.fastcopy
+local setcount = tex.setcount
+hmode = 0 -- dummy
-charprop_stack_table={};
+charprop_stack_table={};
local charprop_stack_table = charprop_stack_table
charprop_stack_table[0]={}
@@ -30,12 +35,12 @@ function get_stack_level()
local gd = tex.globaldefs
if gd~=0 then tex.globaldefs = 0 end
-- 'tex.globaldefs = 0' is local even if \globaldefs > 0.
- tex.setcount('ltj@@group@level', j)
+ setcount('ltj@@group@level', j)
for k,v in pairs(charprop_stack_table) do -- clear the stack above i
if k>=i then charprop_stack_table[k]=nil end
end
- charprop_stack_table[i] = table.fastcopy(charprop_stack_table[i-1])
- tex.setcount('ltj@@stack', i)
+ charprop_stack_table[i] = fastcopy(charprop_stack_table[i-1])
+ setcount('ltj@@stack', i)
if gd~=0 then tex.globaldefs = gd end
if tex.nest[tex.nest.ptr].mode == -hmode then -- rest. hmode のみ
local g = node_new(id_whatsit, sid_user)
@@ -49,7 +54,7 @@ function set_stack_table(m, p)
local i = get_stack_level()
charprop_stack_table[i][m] = p
if luatexja.isglobal=='global' then
- for j,v in pairs(charprop_stack_table) do
+ for j,v in pairs(charprop_stack_table) do
charprop_stack_table[j][m] = p
end
end
@@ -71,7 +76,7 @@ end
-- EXT
function set_stack_font(m,c,p)
- if type(c)~='number' or c<0 or c>255 then
+ if type(c)~='number' or c<0 or c>255 then
ltjb.package_error('luatexja',
"invalid family number (".. tostring(c) .. ")",
"The family number should in the range 0 .. 255.\n" ..
@@ -81,12 +86,12 @@ function set_stack_font(m,c,p)
set_stack_table(m+c, p)
end
--- EXT: store \ltj@tempskipa
+-- EXT: sp: glue_spec
function set_stack_skip(m,sp)
local i = get_stack_level()
if not sp then return end
- if not charprop_stack_table[i][m] then
- charprop_stack_table[i][m] = {}
+ if not charprop_stack_table[i][m] then
+ charprop_stack_table[i][m] = {}
end
charprop_stack_table[i][m].width = sp.width
charprop_stack_table[i][m].stretch = sp.stretch
@@ -94,7 +99,7 @@ function set_stack_skip(m,sp)
charprop_stack_table[i][m].stretch_order = sp.stretch_order
charprop_stack_table[i][m].shrink_order = sp.shrink_order
if luatexja.isglobal=='global' then
- for j,v in pairs(charprop_stack_table) do
+ for j,v in pairs(charprop_stack_table) do
if not charprop_stack_table[j][m] then charprop_stack_table[j][m] = {} end
charprop_stack_table[j][m].width = sp.width
charprop_stack_table[j][m].stretch = sp.stretch
@@ -106,17 +111,22 @@ function set_stack_skip(m,sp)
end
-- These three functions are used in ltj-jfmglue.lua.
+-- list_dir and orig_char_table are used in other lua files.
+orig_char_table = {}
+list_dir = nil -- dummy
+table_current_stack = nil -- dummy
function report_stack_level(bsl)
table_current_stack = charprop_stack_table[bsl]
+ return bsl
end
function fast_get_stack_skip(m)
- return table_current_stack[m]
+ return table_current_stack[m]
or { width = 0, stretch = 0, shrink = 0, stretch_order = 0, shrink_order = 0 }
end
-- For other situations, use the following instead:
function get_stack_skip(m, idx)
- return charprop_stack_table[idx][m]
+ return charprop_stack_table[idx][m]
or { width = 0, stretch = 0, shrink = 0, stretch_order = 0, shrink_order = 0 }
end
function get_stack_table(mc, d, idx)
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-unicode-ccfix.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-unicode-ccfix.lua
index 660fa256580..b071b226c55 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-unicode-ccfix.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-unicode-ccfix.lua
@@ -1,7 +1,7 @@
-- Do not edit this file!
--- Created from LineBreak.txt by ltj-unicode-ccfix_make.pl on 2015年 2月 12日 木曜日 13:28:31 JST.
+-- Created from LineBreak.txt by ltj-unicode-ccfix_make.pl on 2015年 2月 12日 木曜日 13:36:49 JST.
-- In case of errors, fix the Perl script instead.
-do
+if tex.getcatcode(0x6F22)==12 then
local tex_catcode = tex.setcatcode
local function set_letter(b,e)
for i=b,e do tex_catcode('global', i, 11) end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjarticle.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjarticle.cls
index a0d58f18229..2f3f4a67069 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjarticle.cls
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjarticle.cls
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjarticle}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja class]
\RequirePackage{luatexja}
\newcounter{@paper}
@@ -115,10 +115,9 @@
\tombowtrue \tombowdatefalse
\setlength{\@tombowwidth}{\z@}%
\maketombowbox}
-%% \DeclareOption{tate}{%
-%% \AtBeginDocument{\tate\message{《縦組モード》}%
-%% \adjustbaseline}%
-%% }
+\DeclareOption{tate}{%
+ \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
+}
\DeclareOption{oneside}{\@twosidefalse}
\DeclareOption{twoside}{\@twosidetrue}
\DeclareOption{onecolumn}{\@twocolumnfalse}
@@ -145,9 +144,6 @@
\fi
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final}
-\ProcessOptions\relax
-\input{ltjsize1\@ptsize.clo}
\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
'ltj.jclasses_load_jfm', 1)}
@@ -157,6 +153,9 @@
\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
\ltjglobalsetparameter{differentjfm=both}
\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final}
+\ProcessOptions\relax
+\input{ltjsize1\@ptsize.clo}
\if@stysize
\setlength\columnsep{2\Cwd}
\else
@@ -328,7 +327,7 @@
\newcommand{\maketitle}{\par
\begingroup
\renewcommand{\thefootnote}{\fnsymbol{footnote}}%
- \def\@makefnmark{\hbox{\ifydir $\m@th^{\@thefnmark}$
+ \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
\else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
\long\def\@makefntext##1{\parindent 1em\noindent
\hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
@@ -497,7 +496,7 @@
\advance\@enumdepth\@ne
\edef\@enumctr{enum\romannumeral\the\@enumdepth}%
\list{\csname label\@enumctr\endcsname}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
\else\topsep\z@\fi
\parskip\z@ \itemsep\z@ \parsep\z@
@@ -511,7 +510,7 @@
\fi}{\endlist}
\newcommand{\labelitemi}{\textbullet}
\newcommand{\labelitemii}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
{\textcircled{~}}
\else
{\normalfont\bfseries\textendash}
@@ -525,7 +524,7 @@
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\expandafter
\list{\csname \@itemitem\endcsname}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
\else\topsep\z@\fi
\parskip\z@ \itemsep\z@ \parsep\z@
@@ -538,7 +537,7 @@
\fi}{\endlist}
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\leftmargin\leftskip \advance\leftmargin3\Cwd
\rightmargin\rightskip
\labelsep=1\zw \itemsep\z@
@@ -592,11 +591,11 @@
\setlength\belowcaptionskip{0\p@}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
- \iftdir\sbox\@tempboxa{#1\hskip1\zw#2}%
+ \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
\else\sbox\@tempboxa{#1: #2}%
\fi
\ifdim \wd\@tempboxa >\hsize
- \iftdir #1\hskip1\zw#2\relax\par
+ \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par
\else #1: #2\relax\par\fi
\else
\global \@minipagefalse
@@ -763,15 +762,15 @@
\def\和暦{\西暦false}
\newcount\heisei \heisei\year \advance\heisei-1988\relax
\def\today{{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\if西暦
- \kansuji\number\year 年
- \kansuji\number\month 月
- \kansuji\number\day 日
+ \kansuji\year 年
+ \kansuji\month 月
+ \kansuji\day 日
\else
- 平成\ifnum\heisei=1 元年\else\kansuji\number\heisei 年\fi
- \kansuji\number\month 月
- \kansuji\number\day 日
+ 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
+ \kansuji\month 月
+ \kansuji\day 日
\fi
\else
\if西暦
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjbk10.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjbk10.clo
index 34dcafa04b5..80833ea86a0 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjbk10.clo
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjbk10.clo
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltjbk10.clo}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja file (size option)]
\renewcommand{\normalsize}{%
\@setfontsize\normalsize\@xpt{15}%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjbk11.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjbk11.clo
index e91e26e21da..729d0eac73e 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjbk11.clo
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjbk11.clo
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltjbk11.clo}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja file (size option)]
\renewcommand{\normalsize}{%
\@setfontsize\normalsize\@xipt{15.5}%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjbk12.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjbk12.clo
index 8ea4e74d645..ff4980227c1 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjbk12.clo
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjbk12.clo
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltjbk12.clo}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja file (size option)]
\renewcommand{\normalsize}{%
\@setfontsize\normalsize\@xiipt{16.5}%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjbook.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjbook.cls
index 3253e73aa7c..753b02d3d42 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjbook.cls
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjbook.cls
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjbook}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja class]
\RequirePackage{luatexja}
\newcounter{@paper}
@@ -117,10 +117,9 @@
\tombowtrue \tombowdatefalse
\setlength{\@tombowwidth}{\z@}%
\maketombowbox}
-%% \DeclareOption{tate}{%
-%% \AtBeginDocument{\tate\message{《縦組モード》}%
-%% \adjustbaseline}%
-%% }
+\DeclareOption{tate}{%
+ \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
+}
\DeclareOption{oneside}{\@twosidefalse}
\DeclareOption{twoside}{\@twosidetrue}
\DeclareOption{onecolumn}{\@twocolumnfalse}
@@ -153,9 +152,6 @@
\fi
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
-\ProcessOptions\relax
-\input{ltjbk1\@ptsize.clo}
\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
'ltj.jclasses_load_jfm', 1)}
@@ -165,6 +161,9 @@
\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
\ltjglobalsetparameter{differentjfm=both}
\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
+\ProcessOptions\relax
+\input{ltjbk1\@ptsize.clo}
\if@stysize
\setlength\columnsep{2\Cwd}
\else
@@ -354,7 +353,7 @@
\newcommand{\maketitle}{\par
\begingroup
\renewcommand{\thefootnote}{\fnsymbol{footnote}}%
- \def\@makefnmark{\hbox{\ifydir $\m@th^{\@thefnmark}$
+ \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
\else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
\long\def\@makefntext##1{\parindent 1em\noindent
\hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
@@ -572,7 +571,7 @@
\advance\@enumdepth\@ne
\edef\@enumctr{enum\romannumeral\the\@enumdepth}%
\list{\csname label\@enumctr\endcsname}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
\else\topsep\z@\fi
\parskip\z@ \itemsep\z@ \parsep\z@
@@ -586,7 +585,7 @@
\fi}{\endlist}
\newcommand{\labelitemi}{\textbullet}
\newcommand{\labelitemii}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
{\textcircled{~}}
\else
{\normalfont\bfseries\textendash}
@@ -600,7 +599,7 @@
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\expandafter
\list{\csname \@itemitem\endcsname}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
\else\topsep\z@\fi
\parskip\z@ \itemsep\z@ \parsep\z@
@@ -613,7 +612,7 @@
\fi}{\endlist}
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\leftmargin\leftskip \advance\leftmargin3\Cwd
\rightmargin\rightskip
\labelsep=1\zw \itemsep\z@
@@ -669,11 +668,11 @@
\setlength\belowcaptionskip{0\p@}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
- \iftdir\sbox\@tempboxa{#1\hskip1\zw#2}%
+ \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
\else\sbox\@tempboxa{#1: #2}%
\fi
\ifdim \wd\@tempboxa >\hsize
- \iftdir #1\hskip1\zw#2\relax\par
+ \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par
\else #1: #2\relax\par\fi
\else
\global \@minipagefalse
@@ -852,15 +851,15 @@
\def\和暦{\西暦false}
\newcount\heisei \heisei\year \advance\heisei-1988\relax
\def\today{{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\if西暦
- \kansuji\number\year 年
- \kansuji\number\month 月
- \kansuji\number\day 日
+ \kansuji\year 年
+ \kansuji\month 月
+ \kansuji\day 日
\else
- 平成\ifnum\heisei=1 元年\else\kansuji\number\heisei 年\fi
- \kansuji\number\month 月
- \kansuji\number\day 日
+ 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
+ \kansuji\month 月
+ \kansuji\day 日
\fi
\else
\if西暦
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjltxdoc.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjltxdoc.cls
index c8d122bcbff..4ed46e11492 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjltxdoc.cls
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjltxdoc.cls
@@ -84,6 +84,9 @@
\hss\vrule width.1pt\egroup}
\ltjsetparameter{alxspmode={"5C,3}} %% \
\ltjsetparameter{alxspmode={"22,3}} %% "
+\def\mod@math@codes{\mathcode`\|="207C \mathcode`\&="2026
+ \mathcode`\-="702D \mathcode`\+="702B
+ \mathcode`\:="703A \mathcode`\=="703D }
\endinput
%%
%% End of file `ltjltxdoc.cls'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjreport.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjreport.cls
index 6eebd7c12d4..f439b665ab0 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjreport.cls
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjreport.cls
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjreport}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja class]
\RequirePackage{luatexja}
\newcounter{@paper}
@@ -116,10 +116,9 @@
\tombowtrue \tombowdatefalse
\setlength{\@tombowwidth}{\z@}%
\maketombowbox}
-%% \DeclareOption{tate}{%
-%% \AtBeginDocument{\tate\message{《縦組モード》}%
-%% \adjustbaseline}%
-%% }
+\DeclareOption{tate}{%
+ \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
+}
\DeclareOption{oneside}{\@twosidefalse}
\DeclareOption{twoside}{\@twosidetrue}
\DeclareOption{onecolumn}{\@twocolumnfalse}
@@ -151,9 +150,6 @@
\fi
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
-\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany}
-\ProcessOptions\relax
-\input{ltjsize1\@ptsize.clo}
\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
'ltj.jclasses_load_jfm', 1)}
@@ -163,6 +159,9 @@
\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
\ltjglobalsetparameter{differentjfm=both}
\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany}
+\ProcessOptions\relax
+\input{ltjsize1\@ptsize.clo}
\if@stysize
\setlength\columnsep{2\Cwd}
\else
@@ -342,7 +341,7 @@
\newcommand{\maketitle}{\par
\begingroup
\renewcommand{\thefootnote}{\fnsymbol{footnote}}%
- \def\@makefnmark{\hbox{\ifydir $\m@th^{\@thefnmark}$
+ \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
\else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
\long\def\@makefntext##1{\parindent 1em\noindent
\hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
@@ -569,7 +568,7 @@
\advance\@enumdepth\@ne
\edef\@enumctr{enum\romannumeral\the\@enumdepth}%
\list{\csname label\@enumctr\endcsname}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
\else\topsep\z@\fi
\parskip\z@ \itemsep\z@ \parsep\z@
@@ -583,7 +582,7 @@
\fi}{\endlist}
\newcommand{\labelitemi}{\textbullet}
\newcommand{\labelitemii}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
{\textcircled{~}}
\else
{\normalfont\bfseries\textendash}
@@ -597,7 +596,7 @@
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\expandafter
\list{\csname \@itemitem\endcsname}{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
\else\topsep\z@\fi
\parskip\z@ \itemsep\z@ \parsep\z@
@@ -610,7 +609,7 @@
\fi}{\endlist}
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\leftmargin\leftskip \advance\leftmargin3\Cwd
\rightmargin\rightskip
\labelsep=1\zw \itemsep\z@
@@ -666,11 +665,11 @@
\setlength\belowcaptionskip{0\p@}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
- \iftdir\sbox\@tempboxa{#1\hskip1\zw#2}%
+ \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
\else\sbox\@tempboxa{#1: #2}%
\fi
\ifdim \wd\@tempboxa >\hsize
- \iftdir #1\hskip1\zw#2\relax\par
+ \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par
\else #1: #2\relax\par\fi
\else
\global \@minipagefalse
@@ -849,15 +848,15 @@
\def\和暦{\西暦false}
\newcount\heisei \heisei\year \advance\heisei-1988\relax
\def\today{{%
- \iftdir
+ \ifnum\ltjgetparameter{direction}=3
\if西暦
- \kansuji\number\year 年
- \kansuji\number\month 月
- \kansuji\number\day 日
+ \kansuji\year 年
+ \kansuji\month 月
+ \kansuji\day 日
\else
- 平成\ifnum\heisei=1 元年\else\kansuji\number\heisei 年\fi
- \kansuji\number\month 月
- \kansuji\number\day 日
+ 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
+ \kansuji\month 月
+ \kansuji\day 日
\fi
\else
\if西暦
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls
index 0625a07619b..d24a48dabb9 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls
@@ -38,7 +38,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjsarticle}
- [2014/12/24 ]
+ [2015/01/07 ]
\RequirePackage{luatexja}
\newif\if@restonecol
\newif\if@titlepage
@@ -316,6 +316,8 @@
\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924872] \ltj@stdgtfont:jfm=ujis}{}
\fi
\fi
+\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [0.924872] \ltj@stdmcfont:jfm=ujisv}{}
+\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [0.924872] \ltj@stdgtfont:jfm=ujisv}{}
\DeclareFontShape{JY3}{mc}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY3}{gt}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY3}{mc}{m}{it}{<->ssub*mc/m/n}{}
@@ -364,13 +366,13 @@
\fi
\fi
\ltj@setpar@global
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
\@tempskipa=\ltjgetparameter{xkanjiskip}
\ifdim\@tempskipa>\z@
\if@slide
- \ltjsetxkanjiskip{0.1em}
+ \ltjsetxkanjiskip .1em
\else
- \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
\emergencystretch 3\zw
@@ -390,12 +392,15 @@
\belowdisplayskip=\skip4
\belowdisplayshortskip=\skip6\relax}
\def\widebaselines{\narrowbaselinesfalse\@currsize\selectfont}
-\renewcommand{\normalsize}{%
- \ifnarrowbaselines
- \@setfontsize\normalsize\@xpt\@xiipt
- \else
- \@setfontsize\normalsize\@xpt{\n@baseline}%
+\def\ltj@@ifnarrowbaselines{%
+ \ifnarrowbaselines\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
\fi
+}
+\renewcommand{\normalsize}{%
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\normalsize\@xpt\@xiipt}%
+ {\@setfontsize\normalsize\@xpt{\n@baseline}}%
\abovedisplayskip 11\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayskip 9\p@ \@plus3\p@ \@minus4\p@
@@ -409,11 +414,9 @@
\setlength\Cvs{\baselineskip}
\setlength\Chs{\wd0}
\newcommand{\small}{%
- \ifnarrowbaselines
- \@setfontsize\small\@ixpt{11}%
- \else
- \@setfontsize\small\@ixpt{13}%
- \fi
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\small\@ixpt{11}}%
+ {\@setfontsize\small\@ixpt{13}}%
\abovedisplayskip 9\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayskip \abovedisplayskip
@@ -423,11 +426,9 @@
\parsep \z@
\itemsep \parsep}}
\newcommand{\footnotesize}{%
- \ifnarrowbaselines
- \@setfontsize\footnotesize\@viiipt{9.5}%
- \else
- \@setfontsize\footnotesize\@viiipt{11}%
- \fi
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\footnotesize\@viiipt{9.5}}%
+ {\@setfontsize\footnotesize\@viiipt{11}}%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus3\p@
\abovedisplayshortskip \z@ \@plus2\p@
\belowdisplayskip \abovedisplayskip
@@ -1305,7 +1306,7 @@
\let\footnotemarks@ve=\footnotemark
\def\footnotemark{\inhibitglue\footnotemarks@ve}
\renewcommand\@makefnmark{\hbox{}\hbox{%
- \ifydir \@textsuperscript{\normalfont\@thefnmark}%
+ \unless\ifnum\ltjgetparameter{direction}=3 \@textsuperscript{\normalfont\@thefnmark}%
\else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}\fi}\hbox{}}
\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi}
\renewcommand{\footnoterule}{%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls
index d455f09830e..861d97debf3 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls
@@ -38,7 +38,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjsbook}
- [2014/12/24 ]
+ [2015/01/07 ]
\RequirePackage{luatexja}
\newif\if@restonecol
\newif\if@titlepage
@@ -323,6 +323,8 @@
\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924872] \ltj@stdgtfont:jfm=ujis}{}
\fi
\fi
+\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [0.924872] \ltj@stdmcfont:jfm=ujisv}{}
+\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [0.924872] \ltj@stdgtfont:jfm=ujisv}{}
\DeclareFontShape{JY3}{mc}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY3}{gt}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY3}{mc}{m}{it}{<->ssub*mc/m/n}{}
@@ -371,13 +373,13 @@
\fi
\fi
\ltj@setpar@global
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
\@tempskipa=\ltjgetparameter{xkanjiskip}
\ifdim\@tempskipa>\z@
\if@slide
- \ltjsetxkanjiskip{0.1em}
+ \ltjsetxkanjiskip .1em
\else
- \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
\emergencystretch 3\zw
@@ -397,12 +399,15 @@
\belowdisplayskip=\skip4
\belowdisplayshortskip=\skip6\relax}
\def\widebaselines{\narrowbaselinesfalse\@currsize\selectfont}
-\renewcommand{\normalsize}{%
- \ifnarrowbaselines
- \@setfontsize\normalsize\@xpt\@xiipt
- \else
- \@setfontsize\normalsize\@xpt{\n@baseline}%
+\def\ltj@@ifnarrowbaselines{%
+ \ifnarrowbaselines\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
\fi
+}
+\renewcommand{\normalsize}{%
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\normalsize\@xpt\@xiipt}%
+ {\@setfontsize\normalsize\@xpt{\n@baseline}}%
\abovedisplayskip 11\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayskip 9\p@ \@plus3\p@ \@minus4\p@
@@ -416,11 +421,9 @@
\setlength\Cvs{\baselineskip}
\setlength\Chs{\wd0}
\newcommand{\small}{%
- \ifnarrowbaselines
- \@setfontsize\small\@ixpt{11}%
- \else
- \@setfontsize\small\@ixpt{13}%
- \fi
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\small\@ixpt{11}}%
+ {\@setfontsize\small\@ixpt{13}}%
\abovedisplayskip 9\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayskip \abovedisplayskip
@@ -430,11 +433,9 @@
\parsep \z@
\itemsep \parsep}}
\newcommand{\footnotesize}{%
- \ifnarrowbaselines
- \@setfontsize\footnotesize\@viiipt{9.5}%
- \else
- \@setfontsize\footnotesize\@viiipt{11}%
- \fi
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\footnotesize\@viiipt{9.5}}%
+ {\@setfontsize\footnotesize\@viiipt{11}}%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus3\p@
\abovedisplayshortskip \z@ \@plus2\p@
\belowdisplayskip \abovedisplayskip
@@ -1388,7 +1389,7 @@
\let\footnotemarks@ve=\footnotemark
\def\footnotemark{\inhibitglue\footnotemarks@ve}
\renewcommand\@makefnmark{\hbox{}\hbox{%
- \ifydir \@textsuperscript{\normalfont\@thefnmark}%
+ \unless\ifnum\ltjgetparameter{direction}=3 \@textsuperscript{\normalfont\@thefnmark}%
\else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}\fi}\hbox{}}
\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi}
\renewcommand{\footnoterule}{%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjsize10.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjsize10.clo
index 1aead6f7eab..4928287507a 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjsize10.clo
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjsize10.clo
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltjsize10.clo}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja file (size option)]
\renewcommand{\normalsize}{%
\@setfontsize\normalsize\@xpt{15}%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjsize11.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjsize11.clo
index a31c7cd9191..5ad8b0b3f84 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjsize11.clo
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjsize11.clo
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltjsize11.clo}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja file (size option)]
\renewcommand{\normalsize}{%
\@setfontsize\normalsize\@xipt{15.5}%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjsize12.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjsize12.clo
index 16d1a5b6fe1..12deafaae8d 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjsize12.clo
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjsize12.clo
@@ -39,7 +39,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltjsize12.clo}
- [2013/06/06 v1.6-ltj-2
+ [2015/01/01 v1.6-ltj-9
Standard LuaLaTeX-ja file (size option)]
\renewcommand{\normalsize}{%
\@setfontsize\normalsize\@xiipt{16.5}%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls
index e673e1b368e..5d5d3f6bf92 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls
@@ -38,7 +38,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjskiyou}
- [2014/12/24 ]
+ [2015/01/07 ]
\RequirePackage{luatexja}
\newif\if@restonecol
\newif\if@titlepage
@@ -318,6 +318,8 @@
\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924872] \ltj@stdgtfont:jfm=ujis}{}
\fi
\fi
+\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [0.924872] \ltj@stdmcfont:jfm=ujisv}{}
+\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [0.924872] \ltj@stdgtfont:jfm=ujisv}{}
\DeclareFontShape{JY3}{mc}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY3}{gt}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY3}{mc}{m}{it}{<->ssub*mc/m/n}{}
@@ -366,13 +368,13 @@
\fi
\fi
\ltj@setpar@global
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
\@tempskipa=\ltjgetparameter{xkanjiskip}
\ifdim\@tempskipa>\z@
\if@slide
- \ltjsetxkanjiskip{0.1em}
+ \ltjsetxkanjiskip .1em
\else
- \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
\emergencystretch 3\zw
@@ -392,12 +394,15 @@
\belowdisplayskip=\skip4
\belowdisplayshortskip=\skip6\relax}
\def\widebaselines{\narrowbaselinesfalse\@currsize\selectfont}
-\renewcommand{\normalsize}{%
- \ifnarrowbaselines
- \@setfontsize\normalsize\@xpt\@xiipt
- \else
- \@setfontsize\normalsize\@xpt{\n@baseline}%
+\def\ltj@@ifnarrowbaselines{%
+ \ifnarrowbaselines\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
\fi
+}
+\renewcommand{\normalsize}{%
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\normalsize\@xpt\@xiipt}%
+ {\@setfontsize\normalsize\@xpt{\n@baseline}}%
\abovedisplayskip 11\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayskip 9\p@ \@plus3\p@ \@minus4\p@
@@ -411,11 +416,9 @@
\setlength\Cvs{\baselineskip}
\setlength\Chs{\wd0}
\newcommand{\small}{%
- \ifnarrowbaselines
- \@setfontsize\small{8.8888}{11}%
- \else
- \@setfontsize\small{8.8888}{13.2418}%
- \fi
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\small{8.8888}{11}}%
+ {\@setfontsize\small{8.8888}{13.2418}}%
\abovedisplayskip 9\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayskip \abovedisplayskip
@@ -425,11 +428,9 @@
\parsep \z@
\itemsep \parsep}}
\newcommand{\footnotesize}{%
- \ifnarrowbaselines
- \@setfontsize\footnotesize{8.8888}{11}%
- \else
- \@setfontsize\footnotesize{8.8888}{13.2418}%
- \fi
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\footnotesize{8.8888}{11}}%
+ {\@setfontsize\footnotesize{8.8888}{13.2418}}%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus3\p@
\abovedisplayshortskip \z@ \@plus2\p@
\belowdisplayskip \abovedisplayskip
@@ -1292,7 +1293,7 @@
\let\footnotemarks@ve=\footnotemark
\def\footnotemark{\inhibitglue\footnotemarks@ve}
\renewcommand\@makefnmark{\hbox{}\hbox{%
- \ifydir \@textsuperscript{\normalfont\@thefnmark}%
+ \unless\ifnum\ltjgetparameter{direction}=3 \@textsuperscript{\normalfont\@thefnmark}%
\else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}\fi}\hbox{}}
\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi}
\renewcommand{\footnoterule}{%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls
index 046dcdc89da..6bc3923f211 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls
@@ -38,7 +38,7 @@
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltjspf}
- [2014/12/24 ]
+ [2015/01/07 ]
\RequirePackage{luatexja}
\newif\if@restonecol
\newif\if@titlepage
@@ -316,6 +316,8 @@
\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=ujis}{}
\fi
\fi
+\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=ujisv}{}
+\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=ujisv}{}
\DeclareFontShape{JY3}{mc}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY3}{gt}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY3}{mc}{m}{it}{<->ssub*mc/m/n}{}
@@ -364,13 +366,13 @@
\fi
\fi
\ltj@setpar@global
- \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
+ \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
\@tempskipa=\ltjgetparameter{xkanjiskip}
\ifdim\@tempskipa>\z@
\if@slide
- \ltjsetxkanjiskip{0.1em}
+ \ltjsetxkanjiskip .1em
\else
- \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
+ \ltjsetxkanjiskip .25em plus .15em minus .06em
\fi
\fi}
\emergencystretch 3\zw
@@ -390,12 +392,15 @@
\belowdisplayskip=\skip4
\belowdisplayshortskip=\skip6\relax}
\def\widebaselines{\narrowbaselinesfalse\@currsize\selectfont}
-\renewcommand{\normalsize}{%
- \ifnarrowbaselines
- \@setfontsize\normalsize\@xpt\@xiipt
- \else
- \@setfontsize\normalsize\@xpt{\n@baseline}%
+\def\ltj@@ifnarrowbaselines{%
+ \ifnarrowbaselines\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
\fi
+}
+\renewcommand{\normalsize}{%
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\normalsize\@xpt\@xiipt}%
+ {\@setfontsize\normalsize\@xpt{\n@baseline}}%
\abovedisplayskip 11\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayskip 9\p@ \@plus3\p@ \@minus4\p@
@@ -409,11 +414,9 @@
\setlength\Cvs{\baselineskip}
\setlength\Chs{\wd0}
\newcommand{\small}{%
- \ifnarrowbaselines
- \@setfontsize\small\@ixpt{11}%
- \else
- \@setfontsize\small\@ixpt{13}%
- \fi
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\small\@ixpt{11}}%
+ {\@setfontsize\small\@ixpt{13}}%
\abovedisplayskip 9\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayskip \abovedisplayskip
@@ -423,11 +426,9 @@
\parsep \z@
\itemsep \parsep}}
\newcommand{\footnotesize}{%
- \ifnarrowbaselines
- \@setfontsize\footnotesize\@viiipt{9.5}%
- \else
- \@setfontsize\footnotesize\@viiipt{11}%
- \fi
+ \ltj@@ifnarrowbaselines
+ {\@setfontsize\footnotesize\@viiipt{9.5}}%
+ {\@setfontsize\footnotesize\@viiipt{11}}%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus3\p@
\abovedisplayshortskip \z@ \@plus2\p@
\belowdisplayskip \abovedisplayskip
@@ -1188,7 +1189,7 @@
\let\footnotemarks@ve=\footnotemark
\def\footnotemark{\inhibitglue\footnotemarks@ve}
\renewcommand\@makefnmark{\hbox{}\hbox{%
- \ifydir \@textsuperscript{\normalfont\@thefnmark}%
+ \unless\ifnum\ltjgetparameter{direction}=3 \@textsuperscript{\normalfont\@thefnmark}%
\else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}\fi}\hbox{}}
\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi}
\renewcommand{\footnoterule}{%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtarticle.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjtarticle.cls
new file mode 100644
index 00000000000..f8bab8b2cbe
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtarticle.cls
@@ -0,0 +1,825 @@
+%%
+%% This is file `ltjtarticle.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `article,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtarticle.cls.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{ltjtarticle}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja class]
+\RequirePackage{luatexja}
+\newcounter{@paper}
+\newif\if@landscape \@landscapefalse
+\newcommand{\@ptsize}{}
+\newif\if@restonecol
+\newif\if@titlepage
+\@titlepagefalse
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\newif\if@stysize \@stysizefalse
+\newif\if@mathrmmc \@mathrmmcfalse
+\DeclareOption{a4paper}{\setcounter{@paper}{1}%
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5paper}{\setcounter{@paper}{2}%
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4paper}{\setcounter{@paper}{3}%
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5paper}{\setcounter{@paper}{4}%
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\if@compatibility
+ \renewcommand{\@ptsize}{0}
+\else
+ \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}}
+\fi
+\DeclareOption{11pt}{\renewcommand{\@ptsize}{1}}
+\DeclareOption{12pt}{\renewcommand{\@ptsize}{2}}
+\DeclareOption{landscape}{\@landscapetrue
+ \setlength\@tempdima{\paperheight}%
+ \setlength\paperheight{\paperwidth}%
+ \setlength\paperwidth{\@tempdima}}
+\DeclareOption{tombow}{%
+ \tombowtrue \tombowdatetrue
+ \setlength{\@tombowwidth}{.1\p@}%
+ \@bannertoken{%
+ \jobname\space:\space\number\year/\number\month/\number\day
+ (\number\hour:\number\minute)}
+ \maketombowbox}
+\DeclareOption{tombo}{%
+ \tombowtrue \tombowdatefalse
+ \setlength{\@tombowwidth}{.1\p@}%
+ \maketombowbox}
+\DeclareOption{mentuke}{%
+ \tombowtrue \tombowdatefalse
+ \setlength{\@tombowwidth}{\z@}%
+ \maketombowbox}
+\DeclareOption{tate}{%
+ \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
+}
+\AtEndOfPackageFile{everyshi}{%
+ \def\@EveryShipout@Output{%
+ \setbox8\vbox{%
+ \yoko
+ \@EveryShipout@Hook
+ \@EveryShipout@AtNextHook
+ \global\setbox\luatexoutputbox=\box\luatexoutputbox
+ }%
+ \gdef\@EveryShipout@AtNextHook{}%
+ \@EveryShipout@Org@Shipout\box\luatexoutputbox
+ }}
+\DeclareOption{oneside}{\@twosidefalse}
+\DeclareOption{twoside}{\@twosidetrue}
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+\DeclareOption{titlepage}{\@titlepagetrue}
+\DeclareOption{notitlepage}{\@titlepagefalse}
+\DeclareOption{leqno}{\input{leqno.clo}}
+\DeclareOption{fleqn}{\input{fleqn.clo}}
+\DeclareOption{openbib}{%
+ \AtEndOfPackage{%
+ \renewcommand\@openbib@code{%
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ }%
+ \renewcommand\newblock{\par}}}
+\if@compatibility
+ \@mathrmmctrue
+\else
+ \DeclareOption{disablejfam}{%
+ \ClassWarningNoLine{\@currname}{The class option 'disablejfam' is obsolete}}
+ \DeclareOption{mathrmmc}{\@mathrmmctrue}
+\fi
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
+ function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
+ 'ltj.jclasses_load_jfm', 1)}
+{\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
+\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
+\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
+\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
+\ltjglobalsetparameter{differentjfm=both}
+\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate}
+\ProcessOptions\relax
+\input{ltjtsize1\@ptsize.clo}
+\RequirePackage{lltjext}
+\if@stysize
+ \setlength\columnsep{3\Cwd}
+\else
+ \setlength\columnsep{10\p@}
+\fi
+\setlength\columnseprule{0\p@}
+\setlength{\@tempdima}{\paperwidth}
+\setlength{\@tempdimb}{\paperheight}
+\iftombow
+ \advance \@tempdima 2in
+ \advance \@tempdimb 2in
+\fi
+\setlength{\pdfpagewidth}{\@tempdima}
+\setlength{\pdfpageheight}{\@tempdimb}
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+\renewcommand{\baselinestretch}{}
+\setlength\parskip{0\p@ \@plus \p@}
+\setlength\parindent{1\Cwd}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+\setcounter{topnumber}{2}
+\setcounter{bottomnumber}{1}
+\setcounter{totalnumber}{3}
+\setcounter{dbltopnumber}{2}
+\renewcommand{\topfraction}{.7}
+\renewcommand{\bottomfraction}{.3}
+\renewcommand{\textfraction}{.2}
+\renewcommand{\floatpagefraction}{.5}
+\renewcommand{\dbltopfraction}{.7}
+\renewcommand{\dblfloatpagefraction}{.5}
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@plain
+ \let\@oddhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thepage\hfil}%
+ \let\@evenhead\@empty
+ \let\@evenfoot\@oddfoot}
+\let\ps@jpl@in\ps@plain
+\def\ps@headnombre{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@headnombre
+ \def\@evenhead{\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil}%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty}
+\def\ps@footnombre{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@footnombre
+ \def\@evenfoot{\hfil\thepage}%
+ \def\@oddfoot{\thepage\hfil}%
+ \let\@oddhead\@empty\let\@evenhead\@empty}
+\if@twoside
+ \def\ps@headings{\let\ps@jpl@in\ps@headnombre
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{{\leftmark}\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{\markboth{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
+ ##1}{}}%
+ \def\subsectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1\zw\fi
+ ##1}}%
+ }
+\else % if not twoside
+ \def\ps@headings{\let\ps@jpl@in\ps@headnombre
+ \let\@oddfoot\@empty
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1\zw\fi
+ ##1}}%
+ }
+\fi
+\if@twoside
+ \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
+ \def\@evenhead{\hfil\leftmark}% right page
+ \def\@evenfoot{\hfil\thepage}% right page
+ \def\@oddhead{\rightmark\hfil}% left page
+ \def\@oddfoot{\thepage\hfil}% left page
+ \let\@mkboth\markboth
+ \def\sectionmark##1{\markboth{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
+ ##1}{}}%
+ \def\subsectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1\zw\fi
+ ##1}}%
+ }
+\else % if one column
+ \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
+ \def\@oddhead{\rightmark\hfil}%
+ \def\@oddfoot{\thepage\hfil}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1\zw\fi
+ ##1}}%
+ }
+\fi
+\def\ps@myheadings{\let\ps@jpl@in\ps@plain%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{{\leftmark}\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\@gobbletwo
+ \let\sectionmark\@gobble
+ \let\subsectionmark\@gobble
+}
+\if@compatibility
+\newenvironment{titlepage}
+ {%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\newpage\fi
+ \thispagestyle{empty}%
+ \setcounter{page}\z@
+ }%
+ {\if@restonecol\twocolumn\else\newpage\fi
+ }
+\else
+\newenvironment{titlepage}
+ {%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse\newpage
+ \fi
+ \thispagestyle{empty}%
+ \setcounter{page}\@ne
+ }%
+ {\if@restonecol\twocolumn \else \newpage \fi
+ \if@twoside\else
+ \setcounter{page}\@ne
+ \fi
+ }
+\fi
+\def\p@thanks#1{\footnotemark
+ \protected@xdef\@thanks{\@thanks
+ \protect{\noindent$\m@th^\thefootnote$~#1\protect\par}}}
+\if@titlepage
+ \newcommand{\maketitle}{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let\thanks\p@thanks
+ \let\footnote\thanks
+ \vbox to\textheight\bgroup\tate\hsize\textwidth
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 3em%
+ {\Large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}% % Set date in \large size.
+ \end{center}\par
+ \vfil{\centering\@thanks}\vfil\null
+ \egroup
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\p@thanks\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }%
+\else
+ \newcommand{\maketitle}{\par
+ \begingroup
+ \renewcommand{\thefootnote}{\fnsymbol{footnote}}%
+ \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
+ \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
+ \long\def\@makefntext##1{\parindent 1\zw\noindent
+ \hbox to 2\zw{\hss\@makefnmark}##1}%
+ \if@twocolumn
+ \ifnum \col@number=\@ne \@maketitle
+ \else \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle
+ \fi
+ \thispagestyle{jpl@in}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\p@thanks\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }
+ \def\@maketitle{%
+ \newpage\null
+ \vskip 2em%
+ \begin{center}%
+ \let\footnote\p@thanks
+ {\LARGE \@title \par}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \end{center}%
+ \par\vskip 1.5em}
+\fi
+\if@titlepage
+ \newenvironment{abstract}{%
+ \titlepage
+ \null\vfil
+ \@beginparpenalty\@lowpenalty
+ \begin{center}%
+ {\bfseries\abstractname}%
+ \@endparpenalty\@M
+ \end{center}}%
+ {\par\vfil\null\endtitlepage}
+\else
+ \newenvironment{abstract}{%
+ \if@twocolumn
+ \section*{\abstractname}%
+ \else
+ \small
+ \begin{center}%
+ {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \quotation
+ \fi}{\if@twocolumn\else\endquotation\fi}
+\fi
+\setcounter{secnumdepth}{3}
+\newcounter{part}
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+\renewcommand{\thepart}{\rensuji{\@Roman\c@part}}
+\renewcommand{\thesection}{\rensuji{\@arabic\c@section}}
+\renewcommand{\thesubsection}{\thesection・\rensuji{\@arabic\c@subsection}}
+\renewcommand{\thesubsubsection}{%
+ \thesubsection・\rensuji{\@arabic\c@subsubsection}}
+\renewcommand{\theparagraph}{%
+ \thesubsubsection・\rensuji{\@arabic\c@paragraph}}
+\renewcommand{\thesubparagraph}{%
+ \theparagraph・\rensuji{\@arabic\c@subparagraph}}
+\newcommand{\part}{\par\addvspace{4ex}%
+ \@afterindenttrue
+ \secdef\@part\@spart}
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{%
+ \prepartname\thepart\postpartname\hspace{1\zw}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \fi
+ \markboth{}{}%
+ {\parindent\z@\raggedright
+ \interlinepenalty\@M\reset@font
+ \ifnum \c@secnumdepth >\m@ne
+ \Large\bfseries\prepartname\thepart\postpartname
+ \par\nobreak
+ \fi
+ \huge\bfseries#2\par}%
+ \nobreak\vskip3ex\@afterheading}
+\def\@spart#1{{%
+ \parindent\z@\raggedright
+ \interlinepenalty\@M\reset@font
+ \huge\bfseries#1\par}%
+ \nobreak\vskip3ex\@afterheading}
+\newcommand{\section}{\@startsection{section}{1}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\Large\bfseries}}
+\newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\large\bfseries}}
+\newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\appendix}{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \renewcommand{\thesection}{\rensuji{\@Alph\c@section}}}
+\if@twocolumn
+ \setlength\leftmargini {2em}
+\else
+ \setlength\leftmargini {2.5em}
+\fi
+\setlength\leftmarginii {2.2em}
+\setlength\leftmarginiii {1.87em}
+\setlength\leftmarginiv {1.7em}
+\if@twocolumn
+ \setlength\leftmarginv {.5em}
+ \setlength\leftmarginvi{.5em}
+\else
+ \setlength\leftmarginv {1em}
+ \setlength\leftmarginvi{1em}
+\fi
+\setlength \labelsep {.5em}
+\setlength \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\renewcommand{\theenumi}{\rensuji{\@arabic\c@enumi}}
+\renewcommand{\theenumii}{\rensuji{(\@alph\c@enumii)}}
+\renewcommand{\theenumiii}{\rensuji{\@roman\c@enumiii}}
+\renewcommand{\theenumiv}{\rensuji{\@Alph\c@enumiv}}
+\newcommand{\labelenumi}{\theenumi}
+\newcommand{\labelenumii}{\theenumii}
+\newcommand{\labelenumiii}{\theenumiii}
+\newcommand{\labelenumiv}{\theenumiv}
+\renewcommand{\p@enumii}{\theenumi}
+\renewcommand{\p@enumiii}{\theenumi(\theenumii)}
+\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
+\renewenvironment{enumerate}
+ {\ifnum \@enumdepth >\thr@@\@toodeep\else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \list{\csname label\@enumctr\endcsname}{%
+ \ifnum\ltjgetparameter{direction}=3
+ \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
+ \else\topsep\z@\fi
+ \parskip\z@ \itemsep\z@ \parsep\z@
+ \labelwidth1\zw \labelsep.3\zw
+ \ifnum \@enumdepth=\@ne \leftmargin1\zw\relax
+ \else\leftmargin\leftskip\fi
+ \advance\leftmargin 1\zw
+ \fi
+ \usecounter{\@enumctr}%
+ \def\makelabel##1{\hss\llap{##1}}}%
+ \fi}{\endlist}
+\newcommand{\labelitemi}{\textbullet}
+\newcommand{\labelitemii}{%
+ \ifnum\ltjgetparameter{direction}=3
+ {\textcircled{~}}
+ \else
+ {\normalfont\bfseries\textendash}
+ \fi
+}
+\newcommand{\labelitemiii}{\textasteriskcentered}
+\newcommand{\labelitemiv}{\textperiodcentered}
+\renewenvironment{itemize}
+ {\ifnum \@itemdepth >\thr@@\@toodeep\else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter
+ \list{\csname \@itemitem\endcsname}{%
+ \ifnum\ltjgetparameter{direction}=3
+ \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
+ \else\topsep\z@\fi
+ \parskip\z@ \itemsep\z@ \parsep\z@
+ \labelwidth1\zw \labelsep.3\zw
+ \ifnum \@itemdepth =\@ne \leftmargin1\zw\relax
+ \else\leftmargin\leftskip\fi
+ \advance\leftmargin 1\zw
+ \fi
+ \def\makelabel##1{\hss\llap{##1}}}%
+ \fi}{\endlist}
+\newenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \ifnum\ltjgetparameter{direction}=3
+ \leftmargin\leftskip \advance\leftmargin3\Cwd
+ \rightmargin\rightskip
+ \labelsep=1\zw \itemsep\z@
+ \listparindent\z@ \topskip\z@ \parskip\z@ \partopsep\z@
+ \fi
+ \let\makelabel\descriptionlabel}}{\endlist}
+\newcommand{\descriptionlabel}[1]{%
+ \hspace\labelsep\normalfont\bfseries #1}
+\newenvironment{verse}
+ {\let\\\@centercr
+ \list{}{\itemsep\z@ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin\leftmargin \advance\leftmargin 1.5em}%
+ \item\relax}{\endlist}
+\newenvironment{quotation}
+ {\list{}{\listparindent 1.5em%
+ \itemindent\listparindent
+ \rightmargin\leftmargin
+ \parsep\z@ \@plus\p@}%
+ \item\relax}{\endlist}
+\newenvironment{quote}
+ {\list{}{\rightmargin\leftmargin}%
+ \item\relax}{\endlist}
+\newcounter{figure}
+\renewcommand{\thefigure}{\rensuji{\@arabic\c@figure}}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename\thefigure}
+\newenvironment{figure}
+ {\@float{figure}}
+ {\end@float}
+\newenvironment{figure*}
+ {\@dblfloat{figure}}
+ {\end@dblfloat}
+\newcounter{table}
+\renewcommand{\thetable}{\rensuji{\@arabic\c@table}}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename\thetable}
+\newenvironment{table}
+ {\@float{table}}
+ {\end@float}
+\newenvironment{table*}
+ {\@dblfloat{table}}
+ {\end@dblfloat}
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{0\p@}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
+ \else\sbox\@tempboxa{#1: #2}%
+ \fi
+ \ifdim \wd\@tempboxa >\hsize
+ \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par
+ \else #1: #2\relax\par\fi
+ \else
+ \global \@minipagefalse
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\renewcommand{\theequation}{\@arabic\c@equation}
+\if@compatibility\else
+ \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
+ \DeclareSymbolFontAlphabet{\mathmc}{mincho}
+ \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
+ \jfam\symmincho
+ \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
+\fi
+\if@mathrmmc
+ \AtBeginDocument{%
+ \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
+ \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
+}%
+\fi
+\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
+\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
+\setcounter{tocdepth}{3}
+\newcommand{\@pnumwidth}{1.55em}
+\newcommand{\@tocrmarg}{2.55em}
+\newcommand{\@dotsep}{4.5}
+\newdimen\toclineskip
+\setlength\toclineskip{2\p@}
+\newdimen\@lnumwidth
+\def\numberline#1{\hbox to\@lnumwidth{#1\hfil}}
+\def\@dottedtocline#1#2#3#4#5{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip\toclineskip \@plus.2\p@
+ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@lnumwidth #3\relax
+ \advance\leftskip \@lnumwidth \hbox{}\hskip -\leftskip
+ {#4}\nobreak
+ \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}%
+ \hfill\nobreak
+ \hb@xt@\@pnumwidth{\hss\normalfont \normalcolor #5}%
+ \par}%
+ \fi}
+\def\addcontentsline#1#2#3{%
+ \protected@write\@auxout
+ {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble
+\@temptokena{\rensuji{\thepage}}}%
+ {\string\@writefile{#1}%
+ {\protect\contentsline{#2}{#3}{\the\@temptokena}}}%
+}
+\newcommand{\tableofcontents}{%
+ \section*{\contentsname
+ \@mkboth{\contentsname}{\contentsname}%
+ }\@starttoc{toc}%
+}
+\newcommand*{\l@part}[2]{%
+ \ifnum \c@tocdepth >-2\relax
+ \addpenalty{\@secpenalty}%
+ \addvspace{2.25em \@plus\p@}%
+ \begingroup
+ \parindent\z@\rightskip\@pnumwidth
+ \parfillskip-\@pnumwidth
+ {\leavevmode\large\bfseries
+ \setlength\@lnumwidth{4\zw}%
+ #1\hfil\nobreak
+ \hbox to\@pnumwidth{\hss#2}}\par
+ \nobreak
+ \if@compatibility
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}%
+ \fi
+ \endgroup
+ \fi}
+\newcommand*{\l@section}[2]{%
+ \ifnum \c@tocdepth >\z@
+ \addpenalty{\@secpenalty}%
+ \addvspace{1.0em \@plus\p@}%
+ \begingroup
+ \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
+ \leavevmode\bfseries
+ \setlength\@lnumwidth{1.5em}%
+ \advance\leftskip\@lnumwidth \hskip-\leftskip
+ #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
+ \endgroup
+ \fi}
+\newcommand*{\l@subsection} {\@dottedtocline{2}{1\zw}{4\zw}}
+\newcommand*{\l@subsubsection}{\@dottedtocline{3}{2\zw}{6\zw}}
+\newcommand*{\l@paragraph} {\@dottedtocline{4}{3\zw}{8\zw}}
+\newcommand*{\l@subparagraph} {\@dottedtocline{5}{4\zw}{9\zw}}
+\newcommand{\listoffigures}{%
+ \section*{\listfigurename
+ \@mkboth{\listfigurename}{\listfigurename}}%
+ \@starttoc{lof}%
+}
+\newcommand*{\l@figure}{\@dottedtocline{1}{1\zw}{4\zw}}
+\newcommand{\listoftables}{%
+ \section*{\listtablename
+ \@mkboth{\listtablename}{\listtablename}}%
+ \@starttoc{lot}%
+}
+\let\l@table\l@figure
+\newdimen\bibindent
+\setlength\bibindent{1.5em}
+\newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
+\newenvironment{thebibliography}[1]
+{\section*{\refname\@mkboth{\refname}{\refname}}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty\clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+\let\@openbib@code\@empty
+\newenvironment{theindex}
+ {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi
+ \columnseprule\z@ \columnsep 35\p@
+ \twocolumn[\section*{\indexname}]%
+ \@mkboth{\indexname}{\indexname}%
+ \thispagestyle{jpl@in}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem}
+ {\if@restonecol\onecolumn\else\clearpage\fi}
+\newcommand{\@idxitem}{\par\hangindent 40\p@}
+\newcommand{\subitem}{\@idxitem \hspace*{20\p@}}
+\newcommand{\subsubitem}{\@idxitem \hspace*{30\p@}}
+\newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+\renewcommand{\footnoterule}{%
+ \kern-3\p@
+ \hrule width .4\columnwidth
+ \kern 2.6\p@}
+\newcommand\@makefntext[1]{\parindent 1\zw
+ \noindent\hbox to 2\zw{\hss\@makefnmark}#1}
+\newif\if西暦 \西暦false
+\def\西暦{\西暦true}
+\def\和暦{\西暦false}
+\newcount\heisei \heisei\year \advance\heisei-1988\relax
+\def\today{{%
+ \ifnum\ltjgetparameter{direction}=3
+ \if西暦
+ \kansuji\year 年
+ \kansuji\month 月
+ \kansuji\day 日
+ \else
+ 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
+ \kansuji\month 月
+ \kansuji\day 日
+ \fi
+ \else
+ \if西暦
+ \number\year~年
+ \number\month~月
+ \number\day~日
+ \else
+ 平成\ifnum\heisei=1 元年\else\number\heisei~年\fi
+ \number\month~月
+ \number\day~日
+ \fi
+ \fi}}
+\newcommand{\prepartname}{第}
+\newcommand{\postpartname}{部}
+\newcommand{\contentsname}{目 次}
+\newcommand{\listfigurename}{図 目 次}
+\newcommand{\listtablename}{表 目 次}
+\newcommand{\refname}{参考文献}
+\newcommand{\indexname}{索 引}
+\newcommand{\figurename}{図}
+\newcommand{\tablename}{表}
+\newcommand{\appendixname}{付 録}
+\newcommand{\abstractname}{概 要}
+\pagestyle{plain}
+\pagenumbering{arabic}
+\raggedbottom
+\if@twocolumn
+ \twocolumn
+ \sloppy
+\else
+ \onecolumn
+\fi
+\normalmarginpar
+\@mparswitchfalse
+\endinput
+%%
+%% End of file `ltjtarticle.cls'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtbk10.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjtbk10.clo
new file mode 100644
index 00000000000..1ee1254ad28
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtbk10.clo
@@ -0,0 +1,323 @@
+%%
+%% This is file `ltjtbk10.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `10pt,bk,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtbk10.clo.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltjtbk10.clo}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja file (size option)]
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xpt{17}%
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\def\kanjiencodingdefault{JT3}%
+\kanjiencoding{\kanjiencodingdefault}%
+\normalsize
+\setbox0\hbox{\char"3000}% 全角スペース
+\setlength\Cht{\ht0}
+\setlength\Cdp{\dp0}
+\setlength\Cwd{\wd0}
+\setlength\Cvs{\baselineskip}
+\setlength\Chs{\wd0}
+\newcommand{\small}{%
+ \@setfontsize\small\@ixpt{11}%
+ \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@viiipt{9.5}%
+ \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 3\p@ \@plus\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}
+\newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}
+\newcommand{\large}{\@setfontsize\large\@xiipt{17}}
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
+\setlength\headheight{12\p@}
+\if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\headsep{6mm}
+ \else % A4, B4, B5 and other
+ \setlength\headsep{8mm}
+ \fi
+\else
+ \setlength\headsep{8mm}
+\fi
+\setlength\topskip{1\Cht}
+\setlength\footskip{14mm}
+\if@compatibility
+ \setlength\maxdepth{4\p@}
+\else
+ \setlength\maxdepth{.5\topskip}
+\fi
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textwidth{27\Cwd}
+ \else
+ \setlength\textwidth{46\Cwd}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textwidth{53\Cwd}
+ \else
+ \setlength\textwidth{85\Cwd}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textwidth{34\Cwd}
+ \else
+ \setlength\textwidth{55\Cwd}
+ \fi
+ \else % A4 ant other
+ \if@landscape
+ \setlength\textwidth{41\Cwd}
+ \else
+ \setlength\textwidth{67\Cwd}
+ \fi
+ \fi\fi\fi
+ \else
+ \if@twocolumn
+ \setlength\textwidth{52\Cwd}
+ \else
+ \setlength\textwidth{67\Cwd}
+ \fi
+ \fi
+\else
+ \if@stysize
+ \if@twocolumn
+ \setlength\textwidth{.8\paperheight}
+ \else
+ \setlength\textwidth{.7\paperheight}
+ \fi
+ \else
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-2in}
+ \addtolength\@tempdima{-1.3in}
+ \setlength\@tempdimb{67\Cwd}
+ \if@twocolumn
+ \ifdim\@tempdima>2\@tempdimb\relax
+ \setlength\textwidth{2\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \else
+ \ifdim\@tempdima>\@tempdimb\relax
+ \setlength\textwidth{\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \fi
+ \fi
+\fi
+\@settopoint\textwidth
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textheight{26\Cvs}
+ \else
+ \setlength\textheight{16\Cvs}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textheight{48\Cvs}
+ \else
+ \setlength\textheight{33\Cvs}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textheight{34\Cvs}
+ \else
+ \setlength\textheight{21\Cvs}
+ \fi
+ \else % A4 and other
+ \if@landscape
+ \setlength\textheight{41\Cvs}
+ \else
+ \setlength\textheight{26\Cvs}
+ \fi
+ \fi\fi\fi
+ \addtolength\textheight{\Cht}
+ \addtolength\textheight{\Cdp}
+ \else
+ \setlength\textheight{26\Cvs}
+ \fi
+\else
+ \if@stysize
+ \setlength\textheight{.75\paperwidth}
+ \else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-2in}
+ \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima
+ \setlength\textheight{\@tempcnta\baselineskip}
+ \fi
+\fi
+\addtolength\textheight{\topskip}
+\@settopoint\textheight
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\topmargin{.8in}
+ \else % A4, B4, B5 and other
+ \setlength\topmargin{32mm}
+ \fi
+ \else
+ \setlength\topmargin{32mm}
+ \fi
+ \addtolength\topmargin{-1in}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+\else
+ \setlength\topmargin{\paperheight}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+ \addtolength\topmargin{-\textwidth}
+ \addtolength\topmargin{-\footskip}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \addtolength\topmargin{-1.3in}
+ \else
+ \addtolength\topmargin{-2.0in}
+ \fi
+ \else
+ \addtolength\topmargin{-2.8in}
+ \fi
+ \addtolength\topmargin{-.5\topmargin}
+\fi
+\@settopoint\topmargin
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{15\p@}
+\fi
+\setlength\marginparpush{7\p@}
+\if@compatibility
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \if@stysize
+ \if@twocolumn\else
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \fi
+ \fi
+\else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-\textheight}
+ \if@twoside
+ \setlength\oddsidemargin{.6\@tempdima}
+ \else
+ \setlength\oddsidemargin{.5\@tempdima}
+ \fi
+ \addtolength\oddsidemargin{-1in}
+ \setlength\evensidemargin{\paperwidth}
+ \addtolength\evensidemargin{-2in}
+ \addtolength\evensidemargin{-\textheight}
+ \addtolength\evensidemargin{-\oddsidemargin}
+ \@settopoint\oddsidemargin % 1999.1.6
+ \@settopoint\evensidemargin
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-\textwidth}
+ \addtolength\@tempdima{-\topmargin}
+ \addtolength\@tempdima{-\headheight}
+ \addtolength\@tempdima{-\headsep}
+ \addtolength\@tempdima{-\footskip}
+ \setlength\marginparwidth{.5\@tempdima}
+ \@settopoint\marginparwidth
+\fi
+\setlength\footnotesep{6.65\p@}
+\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
+\def\@listi{\leftmargin\leftmargini
+ \parsep 4\p@ \@plus2\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep4\p@ \@plus2\p@ \@minus\p@}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \topsep 4\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep\parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus\p@\@minus\p@
+ \parsep\z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep\topsep}
+\def\@listiv {\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+\def\@listv {\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+\def\@listvi {\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+\endinput
+%%
+%% End of file `ltjtbk10.clo'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtbk11.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjtbk11.clo
new file mode 100644
index 00000000000..5963a1d1178
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtbk11.clo
@@ -0,0 +1,323 @@
+%%
+%% This is file `ltjtbk11.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `11pt,bk,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtbk11.clo.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltjtbk11.clo}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja file (size option)]
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xipt{17}%
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\def\kanjiencodingdefault{JT3}%
+\kanjiencoding{\kanjiencodingdefault}%
+\normalsize
+\setbox0\hbox{\char"3000}% 全角スペース
+\setlength\Cht{\ht0}
+\setlength\Cdp{\dp0}
+\setlength\Cwd{\wd0}
+\setlength\Cvs{\baselineskip}
+\setlength\Chs{\wd0}
+\newcommand{\small}{%
+ \@setfontsize\small\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@ixpt{11}%
+ \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
+\newcommand{\large}{\@setfontsize\large\@xiipt{17}}
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
+\setlength\headheight{12\p@}
+\if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\headsep{6mm}
+ \else % A4, B4, B5 and other
+ \setlength\headsep{8mm}
+ \fi
+\else
+ \setlength\headsep{8mm}
+\fi
+\setlength\topskip{1\Cht}
+\setlength\footskip{14mm}
+\if@compatibility
+ \setlength\maxdepth{4\p@}
+\else
+ \setlength\maxdepth{.5\topskip}
+\fi
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textwidth{25\Cwd}
+ \else
+ \setlength\textwidth{42\Cwd}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textwidth{49\Cwd}
+ \else
+ \setlength\textwidth{76\Cwd}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textwidth{31\Cwd}
+ \else
+ \setlength\textwidth{51\Cwd}
+ \fi
+ \else % A4 ant other
+ \if@landscape
+ \setlength\textwidth{38\Cwd}
+ \else
+ \setlength\textwidth{61\Cwd}
+ \fi
+ \fi\fi\fi
+ \else
+ \if@twocolumn
+ \setlength\textwidth{52\Cwd}
+ \else
+ \setlength\textwidth{61\Cwd}
+ \fi
+ \fi
+\else
+ \if@stysize
+ \if@twocolumn
+ \setlength\textwidth{.8\paperheight}
+ \else
+ \setlength\textwidth{.7\paperheight}
+ \fi
+ \else
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-2in}
+ \addtolength\@tempdima{-1.3in}
+ \setlength\@tempdimb{61\Cwd}
+ \if@twocolumn
+ \ifdim\@tempdima>2\@tempdimb\relax
+ \setlength\textwidth{2\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \else
+ \ifdim\@tempdima>\@tempdimb\relax
+ \setlength\textwidth{\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \fi
+ \fi
+\fi
+\@settopoint\textwidth
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textheight{26\Cvs}
+ \else
+ \setlength\textheight{16\Cvs}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textheight{48\Cvs}
+ \else
+ \setlength\textheight{33\Cvs}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textheight{34\Cvs}
+ \else
+ \setlength\textheight{21\Cvs}
+ \fi
+ \else % A4 and other
+ \if@landscape
+ \setlength\textheight{41\Cvs}
+ \else
+ \setlength\textheight{26\Cvs}
+ \fi
+ \fi\fi\fi
+ \addtolength\textheight{\Cht}
+ \addtolength\textheight{\Cdp}
+ \else
+ \setlength\textheight{25\Cvs}
+ \fi
+\else
+ \if@stysize
+ \setlength\textheight{.75\paperwidth}
+ \else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-2in}
+ \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima
+ \setlength\textheight{\@tempcnta\baselineskip}
+ \fi
+\fi
+\addtolength\textheight{\topskip}
+\@settopoint\textheight
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\topmargin{.8in}
+ \else % A4, B4, B5 and other
+ \setlength\topmargin{32mm}
+ \fi
+ \else
+ \setlength\topmargin{32mm}
+ \fi
+ \addtolength\topmargin{-1in}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+\else
+ \setlength\topmargin{\paperheight}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+ \addtolength\topmargin{-\textwidth}
+ \addtolength\topmargin{-\footskip}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \addtolength\topmargin{-1.3in}
+ \else
+ \addtolength\topmargin{-2.0in}
+ \fi
+ \else
+ \addtolength\topmargin{-2.8in}
+ \fi
+ \addtolength\topmargin{-.5\topmargin}
+\fi
+\@settopoint\topmargin
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{15\p@}
+\fi
+\setlength\marginparpush{7\p@}
+\if@compatibility
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \if@stysize
+ \if@twocolumn\else
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \fi
+ \fi
+\else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-\textheight}
+ \if@twoside
+ \setlength\oddsidemargin{.6\@tempdima}
+ \else
+ \setlength\oddsidemargin{.5\@tempdima}
+ \fi
+ \addtolength\oddsidemargin{-1in}
+ \setlength\evensidemargin{\paperwidth}
+ \addtolength\evensidemargin{-2in}
+ \addtolength\evensidemargin{-\textheight}
+ \addtolength\evensidemargin{-\oddsidemargin}
+ \@settopoint\oddsidemargin % 1999.1.6
+ \@settopoint\evensidemargin
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-\textwidth}
+ \addtolength\@tempdima{-\topmargin}
+ \addtolength\@tempdima{-\headheight}
+ \addtolength\@tempdima{-\headsep}
+ \addtolength\@tempdima{-\footskip}
+ \setlength\marginparwidth{.5\@tempdima}
+ \@settopoint\marginparwidth
+\fi
+\setlength\footnotesep{7.7\p@}
+\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\partopsep{3\p@ \@plus 1\p@ \@minus 1\p@}
+\def\@listi{\leftmargin\leftmargini
+ \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \topsep 9\p@ \@plus3\p@ \@minus5\p@
+ \itemsep4.5\p@ \@plus2\p@ \@minus\p@}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \topsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep\parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus\p@\@minus\p@
+ \parsep\z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep\topsep}
+\def\@listiv {\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+\def\@listv {\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+\def\@listvi {\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+\endinput
+%%
+%% End of file `ltjtbk11.clo'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtbk12.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjtbk12.clo
new file mode 100644
index 00000000000..c8fe221d249
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtbk12.clo
@@ -0,0 +1,323 @@
+%%
+%% This is file `ltjtbk12.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `12pt,bk,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtbk12.clo.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltjtbk12.clo}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja file (size option)]
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xiipt{18}%
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\def\kanjiencodingdefault{JT3}%
+\kanjiencoding{\kanjiencodingdefault}%
+\normalsize
+\setbox0\hbox{\char"3000}% 全角スペース
+\setlength\Cht{\ht0}
+\setlength\Cdp{\dp0}
+\setlength\Cwd{\wd0}
+\setlength\Cvs{\baselineskip}
+\setlength\Chs{\wd0}
+\newcommand{\small}{%
+ \@setfontsize\small\@xipt{13.6}%
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 9\p@ \@plus3\p@ \@minus5\p@
+ \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
+\newcommand{\large}{\@setfontsize\large\@xivpt{21}}
+\newcommand{\Large}{\@setfontsize\Large\@xviipt{25}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xxpt{28}}
+\newcommand{\huge}{\@setfontsize\huge\@xxvpt{33}}
+\let\Huge=\huge
+\setlength\headheight{12\p@}
+\if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\headsep{6mm}
+ \else % A4, B4, B5 and other
+ \setlength\headsep{8mm}
+ \fi
+\else
+ \setlength\headsep{8mm}
+\fi
+\setlength\topskip{1\Cht}
+\setlength\footskip{14mm}
+\if@compatibility
+ \setlength\maxdepth{4\p@}
+\else
+ \setlength\maxdepth{.5\topskip}
+\fi
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textwidth{23\Cwd}
+ \else
+ \setlength\textwidth{38\Cwd}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textwidth{44\Cwd}
+ \else
+ \setlength\textwidth{69\Cwd}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textwidth{28\Cwd}
+ \else
+ \setlength\textwidth{47\Cwd}
+ \fi
+ \else % A4 ant other
+ \if@landscape
+ \setlength\textwidth{35\Cwd}
+ \else
+ \setlength\textwidth{57\Cwd}
+ \fi
+ \fi\fi\fi
+ \else
+ \if@twocolumn
+ \setlength\textwidth{52\Cwd}
+ \else
+ \setlength\textwidth{57\Cwd}
+ \fi
+ \fi
+\else
+ \if@stysize
+ \if@twocolumn
+ \setlength\textwidth{.8\paperheight}
+ \else
+ \setlength\textwidth{.7\paperheight}
+ \fi
+ \else
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-2in}
+ \addtolength\@tempdima{-1.3in}
+ \setlength\@tempdimb{57\Cwd}
+ \if@twocolumn
+ \ifdim\@tempdima>2\@tempdimb\relax
+ \setlength\textwidth{2\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \else
+ \ifdim\@tempdima>\@tempdimb\relax
+ \setlength\textwidth{\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \fi
+ \fi
+\fi
+\@settopoint\textwidth
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textheight{25\Cvs}
+ \else
+ \setlength\textheight{15\Cvs}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textheight{45\Cvs}
+ \else
+ \setlength\textheight{31\Cvs}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textheight{32\Cvs}
+ \else
+ \setlength\textheight{20\Cvs}
+ \fi
+ \else % A4 and other
+ \if@landscape
+ \setlength\textheight{38\Cvs}
+ \else
+ \setlength\textheight{22\Cvs}
+ \fi
+ \fi\fi\fi
+ \addtolength\textheight{\Cht}
+ \addtolength\textheight{\Cdp}
+ \else
+ \setlength\textheight{24\Cvs}
+ \fi
+\else
+ \if@stysize
+ \setlength\textheight{.75\paperwidth}
+ \else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-2in}
+ \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima
+ \setlength\textheight{\@tempcnta\baselineskip}
+ \fi
+\fi
+\addtolength\textheight{\topskip}
+\@settopoint\textheight
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\topmargin{.8in}
+ \else % A4, B4, B5 and other
+ \setlength\topmargin{32mm}
+ \fi
+ \else
+ \setlength\topmargin{32mm}
+ \fi
+ \addtolength\topmargin{-1in}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+\else
+ \setlength\topmargin{\paperheight}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+ \addtolength\topmargin{-\textwidth}
+ \addtolength\topmargin{-\footskip}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \addtolength\topmargin{-1.3in}
+ \else
+ \addtolength\topmargin{-2.0in}
+ \fi
+ \else
+ \addtolength\topmargin{-2.8in}
+ \fi
+ \addtolength\topmargin{-.5\topmargin}
+\fi
+\@settopoint\topmargin
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{15\p@}
+\fi
+\setlength\marginparpush{7\p@}
+\if@compatibility
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \if@stysize
+ \if@twocolumn\else
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \fi
+ \fi
+\else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-\textheight}
+ \if@twoside
+ \setlength\oddsidemargin{.6\@tempdima}
+ \else
+ \setlength\oddsidemargin{.5\@tempdima}
+ \fi
+ \addtolength\oddsidemargin{-1in}
+ \setlength\evensidemargin{\paperwidth}
+ \addtolength\evensidemargin{-2in}
+ \addtolength\evensidemargin{-\textheight}
+ \addtolength\evensidemargin{-\oddsidemargin}
+ \@settopoint\oddsidemargin % 1999.1.6
+ \@settopoint\evensidemargin
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-\textwidth}
+ \addtolength\@tempdima{-\topmargin}
+ \addtolength\@tempdima{-\headheight}
+ \addtolength\@tempdima{-\headsep}
+ \addtolength\@tempdima{-\footskip}
+ \setlength\marginparwidth{.5\@tempdima}
+ \@settopoint\marginparwidth
+\fi
+\setlength\footnotesep{8.4\p@}
+\setlength{\skip\footins}{10.8\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{10\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{10\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
+\def\@listi{\leftmargin\leftmargini
+ \parsep 5\p@ \@plus2.5\p@ \@minus\p@
+ \topsep 10\p@ \@plus4\p@ \@minus6\p@
+ \itemsep5\p@ \@plus2.5\p@ \@minus\p@}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \topsep 5\p@ \@plus2.5\p@ \@minus\p@
+ \parsep 2.5\p@ \@plus\p@ \@minus\p@
+ \itemsep\parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
+ \topsep 2.5\p@\@plus\p@\@minus\p@
+ \parsep\z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep\topsep}
+\def\@listiv {\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+\def\@listv {\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+\def\@listvi {\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+\endinput
+%%
+%% End of file `ltjtbk12.clo'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtbook.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjtbook.cls
new file mode 100644
index 00000000000..3527d1196a9
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtbook.cls
@@ -0,0 +1,915 @@
+%%
+%% This is file `ltjtbook.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `book,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtbook.cls.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{ltjtbook}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja class]
+\RequirePackage{luatexja}
+\newcounter{@paper}
+\newif\if@landscape \@landscapefalse
+\newcommand{\@ptsize}{}
+\newif\if@restonecol
+\newif\if@titlepage
+\@titlepagetrue
+\newif\if@openright
+\newif\if@mainmatter \@mainmattertrue
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\newif\if@stysize \@stysizefalse
+\newif\if@mathrmmc \@mathrmmcfalse
+\DeclareOption{a4paper}{\setcounter{@paper}{1}%
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5paper}{\setcounter{@paper}{2}%
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4paper}{\setcounter{@paper}{3}%
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5paper}{\setcounter{@paper}{4}%
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\if@compatibility
+ \renewcommand{\@ptsize}{0}
+\else
+ \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}}
+\fi
+\DeclareOption{11pt}{\renewcommand{\@ptsize}{1}}
+\DeclareOption{12pt}{\renewcommand{\@ptsize}{2}}
+\DeclareOption{landscape}{\@landscapetrue
+ \setlength\@tempdima{\paperheight}%
+ \setlength\paperheight{\paperwidth}%
+ \setlength\paperwidth{\@tempdima}}
+\DeclareOption{tombow}{%
+ \tombowtrue \tombowdatetrue
+ \setlength{\@tombowwidth}{.1\p@}%
+ \@bannertoken{%
+ \jobname\space:\space\number\year/\number\month/\number\day
+ (\number\hour:\number\minute)}
+ \maketombowbox}
+\DeclareOption{tombo}{%
+ \tombowtrue \tombowdatefalse
+ \setlength{\@tombowwidth}{.1\p@}%
+ \maketombowbox}
+\DeclareOption{mentuke}{%
+ \tombowtrue \tombowdatefalse
+ \setlength{\@tombowwidth}{\z@}%
+ \maketombowbox}
+\DeclareOption{tate}{%
+ \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
+}
+\AtEndOfPackageFile{everyshi}{%
+ \def\@EveryShipout@Output{%
+ \setbox8\vbox{%
+ \yoko
+ \@EveryShipout@Hook
+ \@EveryShipout@AtNextHook
+ \global\setbox\luatexoutputbox=\box\luatexoutputbox
+ }%
+ \gdef\@EveryShipout@AtNextHook{}%
+ \@EveryShipout@Org@Shipout\box\luatexoutputbox
+ }}
+\DeclareOption{oneside}{\@twosidefalse}
+\DeclareOption{twoside}{\@twosidetrue}
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+\DeclareOption{titlepage}{\@titlepagetrue}
+\DeclareOption{notitlepage}{\@titlepagefalse}
+\if@compatibility
+\@openrighttrue
+\else
+\DeclareOption{openright}{\@openrighttrue}
+\DeclareOption{openany}{\@openrightfalse}
+\fi
+\DeclareOption{leqno}{\input{leqno.clo}}
+\DeclareOption{fleqn}{\input{fleqn.clo}}
+\DeclareOption{openbib}{%
+ \AtEndOfPackage{%
+ \renewcommand\@openbib@code{%
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ }%
+ \renewcommand\newblock{\par}}}
+\if@compatibility
+ \@mathrmmctrue
+\else
+ \DeclareOption{disablejfam}{%
+ \ClassWarningNoLine{\@currname}{The class option 'disablejfam' is obsolete}}
+ \DeclareOption{mathrmmc}{\@mathrmmctrue}
+\fi
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
+ function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
+ 'ltj.jclasses_load_jfm', 1)}
+{\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
+\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
+\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
+\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
+\ltjglobalsetparameter{differentjfm=both}
+\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright,tate}
+\ProcessOptions\relax
+\input{ltjtbk1\@ptsize.clo}
+\RequirePackage{lltjext}
+\if@stysize
+ \setlength\columnsep{3\Cwd}
+\else
+ \setlength\columnsep{10\p@}
+\fi
+\setlength\columnseprule{0\p@}
+\setlength{\@tempdima}{\paperwidth}
+\setlength{\@tempdimb}{\paperheight}
+\iftombow
+ \advance \@tempdima 2in
+ \advance \@tempdimb 2in
+\fi
+\setlength{\pdfpagewidth}{\@tempdima}
+\setlength{\pdfpageheight}{\@tempdimb}
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+\renewcommand{\baselinestretch}{}
+\setlength\parskip{0\p@ \@plus \p@}
+\setlength\parindent{1\Cwd}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+\setcounter{topnumber}{2}
+\setcounter{bottomnumber}{1}
+\setcounter{totalnumber}{3}
+\setcounter{dbltopnumber}{2}
+\renewcommand{\topfraction}{.7}
+\renewcommand{\bottomfraction}{.3}
+\renewcommand{\textfraction}{.2}
+\renewcommand{\floatpagefraction}{.5}
+\renewcommand{\dbltopfraction}{.7}
+\renewcommand{\dblfloatpagefraction}{.5}
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@plain
+ \let\@oddhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thepage\hfil}%
+ \let\@evenhead\@empty
+ \let\@evenfoot\@oddfoot}
+\let\ps@jpl@in\ps@plain
+\def\ps@headnombre{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@headnombre
+ \def\@evenhead{\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil}%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty}
+\def\ps@footnombre{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@footnombre
+ \def\@evenfoot{\hfil\thepage}%
+ \def\@oddfoot{\thepage\hfil}%
+ \let\@oddhead\@empty\let\@evenhead\@empty}
+\if@twoside
+ \def\ps@headings{\let\ps@jpl@in\ps@headnombre
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{{\leftmark}\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{\markboth{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\thechapter\@chappos\hskip1\zw
+ \fi
+ \fi
+ ##1}{}}%
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
+ ##1}}%
+ }
+\else % if not twoside
+ \def\ps@headings{\let\ps@jpl@in\ps@headnombre
+ \let\@oddfoot\@empty
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\markboth
+\def\chaptermark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\thechapter\@chappos\hskip1\zw
+ \fi
+ \fi
+ ##1}}%
+ }
+\fi
+\if@twoside
+ \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
+ \def\@evenhead{\hfil\leftmark}% right page
+ \def\@evenfoot{\hfil\thepage}% right page
+ \def\@oddhead{\rightmark\hfil}% left page
+ \def\@oddfoot{\thepage\hfil}% left page
+ \let\@mkboth\markboth
+\def\chaptermark##1{\markboth{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\thechapter\@chappos\hskip1\zw
+ \fi
+ \fi
+ ##1}{}}%
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
+ ##1}}%
+ }
+\else % if one column
+ \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
+ \def\@oddhead{\rightmark\hfil}%
+ \def\@oddfoot{\thepage\hfil}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\thechapter\@chappos\hskip1\zw
+ \fi
+ \fi
+ ##1}}%
+ }
+\fi
+\def\ps@myheadings{\let\ps@jpl@in\ps@plain%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{{\leftmark}\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\@gobbletwo
+ \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+}
+\if@compatibility
+\newenvironment{titlepage}
+ {%
+ \cleardoublepage
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\newpage\fi
+ \thispagestyle{empty}%
+ \setcounter{page}\z@
+ }%
+ {\if@restonecol\twocolumn\else\newpage\fi
+ }
+\else
+\newenvironment{titlepage}
+ {%
+ \cleardoublepage
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse\newpage
+ \fi
+ \thispagestyle{empty}%
+ \setcounter{page}\@ne
+ }%
+ {\if@restonecol\twocolumn \else \newpage \fi
+ \if@twoside\else
+ \setcounter{page}\@ne
+ \fi
+ }
+\fi
+\def\p@thanks#1{\footnotemark
+ \protected@xdef\@thanks{\@thanks
+ \protect{\noindent$\m@th^\thefootnote$~#1\protect\par}}}
+\if@titlepage
+ \newcommand{\maketitle}{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let\thanks\p@thanks
+ \let\footnote\thanks
+ \vbox to\textheight\bgroup\tate\hsize\textwidth
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 3em%
+ {\Large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}% % Set date in \large size.
+ \end{center}\par
+ \vfil{\centering\@thanks}\vfil\null
+ \egroup
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\p@thanks\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }%
+\else
+ \newcommand{\maketitle}{\par
+ \begingroup
+ \renewcommand{\thefootnote}{\fnsymbol{footnote}}%
+ \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
+ \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
+ \long\def\@makefntext##1{\parindent 1\zw\noindent
+ \hbox to 2\zw{\hss\@makefnmark}##1}%
+ \if@twocolumn
+ \ifnum \col@number=\@ne \@maketitle
+ \else \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle
+ \fi
+ \thispagestyle{jpl@in}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\p@thanks\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }
+ \def\@maketitle{%
+ \newpage\null
+ \vskip 2em%
+ \begin{center}%
+ \let\footnote\p@thanks
+ {\LARGE \@title \par}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \end{center}%
+ \par\vskip 1.5em}
+\fi
+\newcommand*{\chaptermark}[1]{}
+\setcounter{secnumdepth}{2}
+\newcounter{part}
+\newcounter{chapter}
+\newcounter{section}[chapter]
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+\renewcommand{\thepart}{\rensuji{\@Roman\c@part}}
+\renewcommand{\thechapter}{\rensuji{\@arabic\c@chapter}}
+\renewcommand{\thesection}{\thechapter・\rensuji{\@arabic\c@section}}
+\renewcommand{\thesubsection}{\thesection・\rensuji{\@arabic\c@subsection}}
+\renewcommand{\thesubsubsection}{%
+ \thesubsection・\rensuji{\@arabic\c@subsubsection}}
+\renewcommand{\theparagraph}{%
+ \thesubsubsection・\rensuji{\@arabic\c@paragraph}}
+\renewcommand{\thesubparagraph}{%
+ \theparagraph・\rensuji{\@arabic\c@subparagraph}}
+\newcommand{\@chapapp}{\prechaptername}
+\newcommand{\@chappos}{\postchaptername}
+\newcommand\frontmatter{%
+ \if@openright \cleardoublepage \else \clearpage \fi
+ \@mainmatterfalse\pagenumbering{roman}}
+\newcommand{\mainmatter}{%
+ \if@openright \cleardoublepage \else \clearpage \fi
+ \@mainmattertrue\pagenumbering{arabic}}
+\newcommand{\backmatter}{%
+ \if@openright \cleardoublepage \else \clearpage \fi
+ \@mainmatterfalse}
+\newcommand{\part}{%
+ \if@openright \cleardoublepage \else \clearpage \fi
+ \thispagestyle{empty}%
+ \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
+ \null\vfil
+ \secdef\@part\@spart}
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{%
+ \prepartname\thepart\postpartname\hspace{1em}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty\@M\reset@font
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries\prepartname\thepart\postpartname
+ \par\vskip20\p@
+ \fi
+ \Huge\bfseries#2\par}%
+ \@endpart}
+\def\@spart#1{{%
+ \centering
+ \interlinepenalty\@M\reset@font
+ \Huge\bfseries#1\par}%
+ \@endpart}
+\def\@endpart{\vfil\newpage
+ \if@twoside\null\thispagestyle{empty}\newpage\fi
+ \if@tempswa\twocolumn\fi}
+\newcommand{\chapter}{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{jpl@in}%
+ \global\@topnum\z@
+ \@afterindenttrue
+ \secdef\@chapter\@schapter}
+\def\@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter\space\@chappos}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\@chapapp\thechapter\@chappos}#1}%
+ \else\addcontentsline{toc}{chapter}{#1}\fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \@makechapterhead{#2}\@afterheading}
+\def\@makechapterhead#1{\hbox{}%
+ \vskip2\Cvs
+ {\parindent\z@
+ \raggedright
+ \reset@font\huge\bfseries
+ \leavevmode
+ \ifnum \c@secnumdepth >\m@ne
+ \setlength\@tempdima{\linewidth}%
+ \if@mainmatter
+ \setbox\z@\hbox{\@chapapp\thechapter\@chappos\hskip1\zw}%
+ \addtolength\@tempdima{-\wd\z@}%
+ \unhbox\z@\nobreak
+ \fi
+ \vtop{\hsize\@tempdima#1}%
+ \else
+ #1\relax
+ \fi}\nobreak\vskip3\Cvs}
+\def\@schapter#1{%
+ \@makeschapterhead{#1}\@afterheading
+}
+\def\@makeschapterhead#1{\hbox{}%
+ \vskip2\Cvs
+ {\parindent\z@
+ \raggedright
+ \reset@font\huge\bfseries
+ \leavevmode
+ \setlength\@tempdima{\linewidth}%
+ \vtop{\hsize\@tempdima#1}}\vskip3\Cvs}
+\newcommand{\section}{\@startsection{section}{1}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\Large\bfseries}}
+\newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\large\bfseries}}
+\newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\appendix}{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \renewcommand{\@chapapp}{\appendixname}%
+ \renewcommand{\@chappos}\space%
+ \renewcommand{\thechapter}{\rensuji{\@Alph\c@chapter}}}
+\if@twocolumn
+ \setlength\leftmargini {2em}
+\else
+ \setlength\leftmargini {2.5em}
+\fi
+\setlength\leftmarginii {2.2em}
+\setlength\leftmarginiii {1.87em}
+\setlength\leftmarginiv {1.7em}
+\if@twocolumn
+ \setlength\leftmarginv {.5em}
+ \setlength\leftmarginvi{.5em}
+\else
+ \setlength\leftmarginv {1em}
+ \setlength\leftmarginvi{1em}
+\fi
+\setlength \labelsep {.5em}
+\setlength \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\renewcommand{\theenumi}{\rensuji{\@arabic\c@enumi}}
+\renewcommand{\theenumii}{\rensuji{(\@alph\c@enumii)}}
+\renewcommand{\theenumiii}{\rensuji{\@roman\c@enumiii}}
+\renewcommand{\theenumiv}{\rensuji{\@Alph\c@enumiv}}
+\newcommand{\labelenumi}{\theenumi}
+\newcommand{\labelenumii}{\theenumii}
+\newcommand{\labelenumiii}{\theenumiii}
+\newcommand{\labelenumiv}{\theenumiv}
+\renewcommand{\p@enumii}{\theenumi}
+\renewcommand{\p@enumiii}{\theenumi(\theenumii)}
+\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
+\renewenvironment{enumerate}
+ {\ifnum \@enumdepth >\thr@@\@toodeep\else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \list{\csname label\@enumctr\endcsname}{%
+ \ifnum\ltjgetparameter{direction}=3
+ \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
+ \else\topsep\z@\fi
+ \parskip\z@ \itemsep\z@ \parsep\z@
+ \labelwidth1\zw \labelsep.3\zw
+ \ifnum \@enumdepth=\@ne \leftmargin1\zw\relax
+ \else\leftmargin\leftskip\fi
+ \advance\leftmargin 1\zw
+ \fi
+ \usecounter{\@enumctr}%
+ \def\makelabel##1{\hss\llap{##1}}}%
+ \fi}{\endlist}
+\newcommand{\labelitemi}{\textbullet}
+\newcommand{\labelitemii}{%
+ \ifnum\ltjgetparameter{direction}=3
+ {\textcircled{~}}
+ \else
+ {\normalfont\bfseries\textendash}
+ \fi
+}
+\newcommand{\labelitemiii}{\textasteriskcentered}
+\newcommand{\labelitemiv}{\textperiodcentered}
+\renewenvironment{itemize}
+ {\ifnum \@itemdepth >\thr@@\@toodeep\else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter
+ \list{\csname \@itemitem\endcsname}{%
+ \ifnum\ltjgetparameter{direction}=3
+ \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
+ \else\topsep\z@\fi
+ \parskip\z@ \itemsep\z@ \parsep\z@
+ \labelwidth1\zw \labelsep.3\zw
+ \ifnum \@itemdepth =\@ne \leftmargin1\zw\relax
+ \else\leftmargin\leftskip\fi
+ \advance\leftmargin 1\zw
+ \fi
+ \def\makelabel##1{\hss\llap{##1}}}%
+ \fi}{\endlist}
+\newenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \ifnum\ltjgetparameter{direction}=3
+ \leftmargin\leftskip \advance\leftmargin3\Cwd
+ \rightmargin\rightskip
+ \labelsep=1\zw \itemsep\z@
+ \listparindent\z@ \topskip\z@ \parskip\z@ \partopsep\z@
+ \fi
+ \let\makelabel\descriptionlabel}}{\endlist}
+\newcommand{\descriptionlabel}[1]{%
+ \hspace\labelsep\normalfont\bfseries #1}
+\newenvironment{verse}
+ {\let\\\@centercr
+ \list{}{\itemsep\z@ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin\leftmargin \advance\leftmargin 1.5em}%
+ \item\relax}{\endlist}
+\newenvironment{quotation}
+ {\list{}{\listparindent 1.5em%
+ \itemindent\listparindent
+ \rightmargin\leftmargin
+ \parsep\z@ \@plus\p@}%
+ \item\relax}{\endlist}
+\newenvironment{quote}
+ {\list{}{\rightmargin\leftmargin}%
+ \item\relax}{\endlist}
+\newcounter{figure}[chapter]
+\renewcommand{\thefigure}{%
+ \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@figure}}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename\thefigure}
+\newenvironment{figure}
+ {\@float{figure}}
+ {\end@float}
+\newenvironment{figure*}
+ {\@dblfloat{figure}}
+ {\end@dblfloat}
+\newcounter{table}[chapter]
+\renewcommand{\thetable}{%
+ \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@table}}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename\thetable}
+\newenvironment{table}
+ {\@float{table}}
+ {\end@float}
+\newenvironment{table*}
+ {\@dblfloat{table}}
+ {\end@dblfloat}
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{0\p@}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
+ \else\sbox\@tempboxa{#1: #2}%
+ \fi
+ \ifdim \wd\@tempboxa >\hsize
+ \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par
+ \else #1: #2\relax\par\fi
+ \else
+ \global \@minipagefalse
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\@addtoreset{equation}{chapter}
+\renewcommand{\theequation}{%
+ \ifnum\c@chapter>\z@\thechapter.\fi \@arabic\c@equation}
+\if@compatibility\else
+ \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
+ \DeclareSymbolFontAlphabet{\mathmc}{mincho}
+ \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
+ \jfam\symmincho
+ \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
+\fi
+\if@mathrmmc
+ \AtBeginDocument{%
+ \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
+ \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
+}%
+\fi
+\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
+\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
+\setcounter{tocdepth}{2}
+\newcommand{\@pnumwidth}{1.55em}
+\newcommand{\@tocrmarg}{2.55em}
+\newcommand{\@dotsep}{4.5}
+\newdimen\toclineskip
+\setlength\toclineskip{2\p@}
+\newdimen\@lnumwidth
+\def\numberline#1{\hbox to\@lnumwidth{#1\hfil}}
+\def\@dottedtocline#1#2#3#4#5{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip\toclineskip \@plus.2\p@
+ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@lnumwidth #3\relax
+ \advance\leftskip \@lnumwidth \hbox{}\hskip -\leftskip
+ {#4}\nobreak
+ \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}%
+ \hfill\nobreak
+ \hb@xt@\@pnumwidth{\hss\normalfont \normalcolor #5}%
+ \par}%
+ \fi}
+\def\addcontentsline#1#2#3{%
+ \protected@write\@auxout
+ {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble
+\@temptokena{\rensuji{\thepage}}}%
+ {\string\@writefile{#1}%
+ {\protect\contentsline{#2}{#3}{\the\@temptokena}}}%
+}
+\newcommand{\tableofcontents}{%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+ \chapter*{\contentsname
+ \@mkboth{\contentsname}{\contentsname}%
+ }\@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+}
+\newcommand*{\l@part}[2]{%
+ \ifnum \c@tocdepth >-2\relax
+ \addpenalty{-\@highpenalty}%
+ \addvspace{2.25em \@plus\p@}%
+ \begingroup
+ \parindent\z@\rightskip\@pnumwidth
+ \parfillskip-\@pnumwidth
+ {\leavevmode\large\bfseries
+ \setlength\@lnumwidth{4\zw}%
+ #1\hfil\nobreak
+ \hbox to\@pnumwidth{\hss#2}}\par
+ \nobreak
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}%
+ \endgroup
+ \fi}
+\newcommand*{\l@chapter}[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \addvspace{1.0em \@plus\p@}%
+ \begingroup
+ \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
+ \leavevmode\bfseries
+ \setlength\@lnumwidth{4\zw}%
+ \advance\leftskip\@lnumwidth \hskip-\leftskip
+ #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{4\zw}}
+\newcommand*{\l@subsection} {\@dottedtocline{2}{2\zw}{6\zw}}
+\newcommand*{\l@subsubsection}{\@dottedtocline{3}{3\zw}{8\zw}}
+\newcommand*{\l@paragraph} {\@dottedtocline{4}{4\zw}{9\zw}}
+\newcommand*{\l@subparagraph} {\@dottedtocline{5}{5\zw}{10\zw}}
+\newcommand{\listoffigures}{%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+ \chapter*{\listfigurename
+ \@mkboth{\listfigurename}{\listfigurename}}%
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi
+}
+\newcommand*{\l@figure}{\@dottedtocline{1}{1\zw}{4\zw}}
+\newcommand{\listoftables}{%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+ \chapter*{\listtablename
+ \@mkboth{\listtablename}{\listtablename}}%
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi
+}
+\let\l@table\l@figure
+\newdimen\bibindent
+\setlength\bibindent{1.5em}
+\newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
+\newenvironment{thebibliography}[1]
+{\chapter*{\bibname\@mkboth{\bibname}{\bibname}}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty\clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+\let\@openbib@code\@empty
+\newenvironment{theindex}
+ {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi
+ \columnseprule\z@ \columnsep 35\p@
+ \twocolumn[\@makeschapterhead{\indexname}]%
+ \@mkboth{\indexname}{\indexname}%
+ \thispagestyle{jpl@in}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem}
+ {\if@restonecol\onecolumn\else\clearpage\fi}
+\newcommand{\@idxitem}{\par\hangindent 40\p@}
+\newcommand{\subitem}{\@idxitem \hspace*{20\p@}}
+\newcommand{\subsubitem}{\@idxitem \hspace*{30\p@}}
+\newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+\renewcommand{\footnoterule}{%
+ \kern-3\p@
+ \hrule width .4\columnwidth
+ \kern 2.6\p@}
+\@addtoreset{footnote}{chapter}
+\newcommand\@makefntext[1]{\parindent 1\zw
+ \noindent\hbox to 2\zw{\hss\@makefnmark}#1}
+\newif\if西暦 \西暦false
+\def\西暦{\西暦true}
+\def\和暦{\西暦false}
+\newcount\heisei \heisei\year \advance\heisei-1988\relax
+\def\today{{%
+ \ifnum\ltjgetparameter{direction}=3
+ \if西暦
+ \kansuji\year 年
+ \kansuji\month 月
+ \kansuji\day 日
+ \else
+ 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
+ \kansuji\month 月
+ \kansuji\day 日
+ \fi
+ \else
+ \if西暦
+ \number\year~年
+ \number\month~月
+ \number\day~日
+ \else
+ 平成\ifnum\heisei=1 元年\else\number\heisei~年\fi
+ \number\month~月
+ \number\day~日
+ \fi
+ \fi}}
+\newcommand{\prepartname}{第}
+\newcommand{\postpartname}{部}
+\newcommand{\prechaptername}{第}
+\newcommand{\postchaptername}{章}
+\newcommand{\contentsname}{目 次}
+\newcommand{\listfigurename}{図 目 次}
+\newcommand{\listtablename}{表 目 次}
+\newcommand{\bibname}{関連図書}
+\newcommand{\indexname}{索 引}
+\newcommand{\figurename}{図}
+\newcommand{\tablename}{表}
+\newcommand{\appendixname}{付 録}
+\pagestyle{headings}
+\pagenumbering{arabic}
+\raggedbottom
+\if@twocolumn
+ \twocolumn
+ \sloppy
+\else
+ \onecolumn
+\fi
+\normalmarginpar
+\@mparswitchfalse
+\endinput
+%%
+%% End of file `ltjtbook.cls'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtreport.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjtreport.cls
new file mode 100644
index 00000000000..56727a81c76
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtreport.cls
@@ -0,0 +1,913 @@
+%%
+%% This is file `ltjtreport.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `report,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtreport.cls.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{ltjtreport}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja class]
+\RequirePackage{luatexja}
+\newcounter{@paper}
+\newif\if@landscape \@landscapefalse
+\newcommand{\@ptsize}{}
+\newif\if@restonecol
+\newif\if@titlepage
+\@titlepagetrue
+\newif\if@openright
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\newif\if@stysize \@stysizefalse
+\newif\if@mathrmmc \@mathrmmcfalse
+\DeclareOption{a4paper}{\setcounter{@paper}{1}%
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5paper}{\setcounter{@paper}{2}%
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4paper}{\setcounter{@paper}{3}%
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5paper}{\setcounter{@paper}{4}%
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+\if@compatibility
+ \renewcommand{\@ptsize}{0}
+\else
+ \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}}
+\fi
+\DeclareOption{11pt}{\renewcommand{\@ptsize}{1}}
+\DeclareOption{12pt}{\renewcommand{\@ptsize}{2}}
+\DeclareOption{landscape}{\@landscapetrue
+ \setlength\@tempdima{\paperheight}%
+ \setlength\paperheight{\paperwidth}%
+ \setlength\paperwidth{\@tempdima}}
+\DeclareOption{tombow}{%
+ \tombowtrue \tombowdatetrue
+ \setlength{\@tombowwidth}{.1\p@}%
+ \@bannertoken{%
+ \jobname\space:\space\number\year/\number\month/\number\day
+ (\number\hour:\number\minute)}
+ \maketombowbox}
+\DeclareOption{tombo}{%
+ \tombowtrue \tombowdatefalse
+ \setlength{\@tombowwidth}{.1\p@}%
+ \maketombowbox}
+\DeclareOption{mentuke}{%
+ \tombowtrue \tombowdatefalse
+ \setlength{\@tombowwidth}{\z@}%
+ \maketombowbox}
+\DeclareOption{tate}{%
+ \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
+}
+\AtEndOfPackageFile{everyshi}{%
+ \def\@EveryShipout@Output{%
+ \setbox8\vbox{%
+ \yoko
+ \@EveryShipout@Hook
+ \@EveryShipout@AtNextHook
+ \global\setbox\luatexoutputbox=\box\luatexoutputbox
+ }%
+ \gdef\@EveryShipout@AtNextHook{}%
+ \@EveryShipout@Org@Shipout\box\luatexoutputbox
+ }}
+\DeclareOption{oneside}{\@twosidefalse}
+\DeclareOption{twoside}{\@twosidetrue}
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+\DeclareOption{titlepage}{\@titlepagetrue}
+\DeclareOption{notitlepage}{\@titlepagefalse}
+\if@compatibility
+\else
+\DeclareOption{openright}{\@openrighttrue}
+\DeclareOption{openany}{\@openrightfalse}
+\fi
+\DeclareOption{leqno}{\input{leqno.clo}}
+\DeclareOption{fleqn}{\input{fleqn.clo}}
+\DeclareOption{openbib}{%
+ \AtEndOfPackage{%
+ \renewcommand\@openbib@code{%
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ }%
+ \renewcommand\newblock{\par}}}
+\if@compatibility
+ \@mathrmmctrue
+\else
+ \DeclareOption{disablejfam}{%
+ \ClassWarningNoLine{\@currname}{The class option 'disablejfam' is obsolete}}
+ \DeclareOption{mathrmmc}{\@mathrmmctrue}
+\fi
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
+ function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
+ 'ltj.jclasses_load_jfm', 1)}
+{\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
+\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
+\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
+\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
+\ltjglobalsetparameter{differentjfm=both}
+\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany,tate}
+\ProcessOptions\relax
+\input{ltjtsize1\@ptsize.clo}
+\RequirePackage{lltjext}
+\if@stysize
+ \setlength\columnsep{3\Cwd}
+\else
+ \setlength\columnsep{10\p@}
+\fi
+\setlength\columnseprule{0\p@}
+\setlength{\@tempdima}{\paperwidth}
+\setlength{\@tempdimb}{\paperheight}
+\iftombow
+ \advance \@tempdima 2in
+ \advance \@tempdimb 2in
+\fi
+\setlength{\pdfpagewidth}{\@tempdima}
+\setlength{\pdfpageheight}{\@tempdimb}
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+\renewcommand{\baselinestretch}{}
+\setlength\parskip{0\p@ \@plus \p@}
+\setlength\parindent{1\Cwd}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+\setcounter{topnumber}{2}
+\setcounter{bottomnumber}{1}
+\setcounter{totalnumber}{3}
+\setcounter{dbltopnumber}{2}
+\renewcommand{\topfraction}{.7}
+\renewcommand{\bottomfraction}{.3}
+\renewcommand{\textfraction}{.2}
+\renewcommand{\floatpagefraction}{.5}
+\renewcommand{\dbltopfraction}{.7}
+\renewcommand{\dblfloatpagefraction}{.5}
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@plain
+ \let\@oddhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thepage\hfil}%
+ \let\@evenhead\@empty
+ \let\@evenfoot\@oddfoot}
+\let\ps@jpl@in\ps@plain
+\def\ps@headnombre{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@headnombre
+ \def\@evenhead{\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil}%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty}
+\def\ps@footnombre{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@footnombre
+ \def\@evenfoot{\hfil\thepage}%
+ \def\@oddfoot{\thepage\hfil}%
+ \let\@oddhead\@empty\let\@evenhead\@empty}
+\if@twoside
+ \def\ps@headings{\let\ps@jpl@in\ps@headnombre
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{{\leftmark}\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{\markboth{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\thechapter\@chappos\hskip1\zw
+ \fi
+ ##1}{}}%
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
+ ##1}}%
+ }
+\else % if not twoside
+ \def\ps@headings{\let\ps@jpl@in\ps@headnombre
+ \let\@oddfoot\@empty
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\markboth
+\def\chaptermark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\thechapter\@chappos\hskip1\zw
+ \fi
+ ##1}}%
+ }
+\fi
+\if@twoside
+ \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
+ \def\@evenhead{\hfil\leftmark}% right page
+ \def\@evenfoot{\hfil\thepage}% right page
+ \def\@oddhead{\rightmark\hfil}% left page
+ \def\@oddfoot{\thepage\hfil}% left page
+ \let\@mkboth\markboth
+\def\chaptermark##1{\markboth{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\thechapter\@chappos\hskip1\zw
+ \fi
+ ##1}{}}%
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
+ ##1}}%
+ }
+\else % if one column
+ \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
+ \def\@oddhead{\rightmark\hfil}%
+ \def\@oddfoot{\thepage\hfil}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\thechapter\@chappos\hskip1\zw
+ \fi
+ ##1}}%
+ }
+\fi
+\def\ps@myheadings{\let\ps@jpl@in\ps@plain%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{{\leftmark}\hfil\thepage}%
+ \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\@gobbletwo
+ \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+}
+\if@compatibility
+\newenvironment{titlepage}
+ {%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\newpage\fi
+ \thispagestyle{empty}%
+ \setcounter{page}\z@
+ }%
+ {\if@restonecol\twocolumn\else\newpage\fi
+ }
+\else
+\newenvironment{titlepage}
+ {%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse\newpage
+ \fi
+ \thispagestyle{empty}%
+ \setcounter{page}\@ne
+ }%
+ {\if@restonecol\twocolumn \else \newpage \fi
+ \if@twoside\else
+ \setcounter{page}\@ne
+ \fi
+ }
+\fi
+\def\p@thanks#1{\footnotemark
+ \protected@xdef\@thanks{\@thanks
+ \protect{\noindent$\m@th^\thefootnote$~#1\protect\par}}}
+\if@titlepage
+ \newcommand{\maketitle}{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let\thanks\p@thanks
+ \let\footnote\thanks
+ \vbox to\textheight\bgroup\tate\hsize\textwidth
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 3em%
+ {\Large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}% % Set date in \large size.
+ \end{center}\par
+ \vfil{\centering\@thanks}\vfil\null
+ \egroup
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\p@thanks\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }%
+\else
+ \newcommand{\maketitle}{\par
+ \begingroup
+ \renewcommand{\thefootnote}{\fnsymbol{footnote}}%
+ \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
+ \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
+ \long\def\@makefntext##1{\parindent 1\zw\noindent
+ \hbox to 2\zw{\hss\@makefnmark}##1}%
+ \if@twocolumn
+ \ifnum \col@number=\@ne \@maketitle
+ \else \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle
+ \fi
+ \thispagestyle{jpl@in}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\p@thanks\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }
+ \def\@maketitle{%
+ \newpage\null
+ \vskip 2em%
+ \begin{center}%
+ \let\footnote\p@thanks
+ {\LARGE \@title \par}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \end{center}%
+ \par\vskip 1.5em}
+\fi
+\if@titlepage
+ \newenvironment{abstract}{%
+ \titlepage
+ \null\vfil
+ \@beginparpenalty\@lowpenalty
+ \begin{center}%
+ {\bfseries\abstractname}%
+ \@endparpenalty\@M
+ \end{center}}%
+ {\par\vfil\null\endtitlepage}
+\else
+ \newenvironment{abstract}{%
+ \if@twocolumn
+ \section*{\abstractname}%
+ \else
+ \small
+ \begin{center}%
+ {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \quotation
+ \fi}{\if@twocolumn\else\endquotation\fi}
+\fi
+\newcommand*{\chaptermark}[1]{}
+\setcounter{secnumdepth}{2}
+\newcounter{part}
+\newcounter{chapter}
+\newcounter{section}[chapter]
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+\renewcommand{\thepart}{\rensuji{\@Roman\c@part}}
+\renewcommand{\thechapter}{\rensuji{\@arabic\c@chapter}}
+\renewcommand{\thesection}{\thechapter・\rensuji{\@arabic\c@section}}
+\renewcommand{\thesubsection}{\thesection・\rensuji{\@arabic\c@subsection}}
+\renewcommand{\thesubsubsection}{%
+ \thesubsection・\rensuji{\@arabic\c@subsubsection}}
+\renewcommand{\theparagraph}{%
+ \thesubsubsection・\rensuji{\@arabic\c@paragraph}}
+\renewcommand{\thesubparagraph}{%
+ \theparagraph・\rensuji{\@arabic\c@subparagraph}}
+\newcommand{\@chapapp}{\prechaptername}
+\newcommand{\@chappos}{\postchaptername}
+\newcommand{\part}{%
+ \if@openright \cleardoublepage \else \clearpage \fi
+ \thispagestyle{empty}%
+ \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
+ \null\vfil
+ \secdef\@part\@spart}
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{%
+ \prepartname\thepart\postpartname\hspace{1em}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty\@M\reset@font
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries\prepartname\thepart\postpartname
+ \par\vskip20\p@
+ \fi
+ \Huge\bfseries#2\par}%
+ \@endpart}
+\def\@spart#1{{%
+ \centering
+ \interlinepenalty\@M\reset@font
+ \Huge\bfseries#1\par}%
+ \@endpart}
+\def\@endpart{\vfil\newpage
+ \if@twoside\null\thispagestyle{empty}\newpage\fi
+ \if@tempswa\twocolumn\fi}
+\newcommand{\chapter}{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{jpl@in}%
+ \global\@topnum\z@
+ \@afterindenttrue
+ \secdef\@chapter\@schapter}
+\def\@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter\space\@chappos}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\@chapapp\thechapter\@chappos}#1}%
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \@makechapterhead{#2}\@afterheading}
+\def\@makechapterhead#1{\hbox{}%
+ \vskip2\Cvs
+ {\parindent\z@
+ \raggedright
+ \reset@font\huge\bfseries
+ \leavevmode
+ \ifnum \c@secnumdepth >\m@ne
+ \setlength\@tempdima{\linewidth}%
+ \setbox\z@\hbox{\@chapapp\thechapter\@chappos\hskip1\zw}%
+ \addtolength\@tempdima{-\wd\z@}%
+ \unhbox\z@\nobreak
+ \vtop{\hsize\@tempdima#1}%
+ \else
+ #1\relax
+ \fi}\nobreak\vskip3\Cvs}
+\def\@schapter#1{%
+ \@makeschapterhead{#1}\@afterheading
+}
+\def\@makeschapterhead#1{\hbox{}%
+ \vskip2\Cvs
+ {\parindent\z@
+ \raggedright
+ \reset@font\huge\bfseries
+ \leavevmode
+ \setlength\@tempdima{\linewidth}%
+ \vtop{\hsize\@tempdima#1}}\vskip3\Cvs}
+\newcommand{\section}{\@startsection{section}{1}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\Large\bfseries}}
+\newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\large\bfseries}}
+\newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand{\appendix}{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \renewcommand{\@chapapp}{\appendixname}%
+ \renewcommand{\@chappos}\space%
+ \renewcommand{\thechapter}{\rensuji{\@Alph\c@chapter}}}
+\if@twocolumn
+ \setlength\leftmargini {2em}
+\else
+ \setlength\leftmargini {2.5em}
+\fi
+\setlength\leftmarginii {2.2em}
+\setlength\leftmarginiii {1.87em}
+\setlength\leftmarginiv {1.7em}
+\if@twocolumn
+ \setlength\leftmarginv {.5em}
+ \setlength\leftmarginvi{.5em}
+\else
+ \setlength\leftmarginv {1em}
+ \setlength\leftmarginvi{1em}
+\fi
+\setlength \labelsep {.5em}
+\setlength \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\renewcommand{\theenumi}{\rensuji{\@arabic\c@enumi}}
+\renewcommand{\theenumii}{\rensuji{(\@alph\c@enumii)}}
+\renewcommand{\theenumiii}{\rensuji{\@roman\c@enumiii}}
+\renewcommand{\theenumiv}{\rensuji{\@Alph\c@enumiv}}
+\newcommand{\labelenumi}{\theenumi}
+\newcommand{\labelenumii}{\theenumii}
+\newcommand{\labelenumiii}{\theenumiii}
+\newcommand{\labelenumiv}{\theenumiv}
+\renewcommand{\p@enumii}{\theenumi}
+\renewcommand{\p@enumiii}{\theenumi(\theenumii)}
+\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
+\renewenvironment{enumerate}
+ {\ifnum \@enumdepth >\thr@@\@toodeep\else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \list{\csname label\@enumctr\endcsname}{%
+ \ifnum\ltjgetparameter{direction}=3
+ \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
+ \else\topsep\z@\fi
+ \parskip\z@ \itemsep\z@ \parsep\z@
+ \labelwidth1\zw \labelsep.3\zw
+ \ifnum \@enumdepth=\@ne \leftmargin1\zw\relax
+ \else\leftmargin\leftskip\fi
+ \advance\leftmargin 1\zw
+ \fi
+ \usecounter{\@enumctr}%
+ \def\makelabel##1{\hss\llap{##1}}}%
+ \fi}{\endlist}
+\newcommand{\labelitemi}{\textbullet}
+\newcommand{\labelitemii}{%
+ \ifnum\ltjgetparameter{direction}=3
+ {\textcircled{~}}
+ \else
+ {\normalfont\bfseries\textendash}
+ \fi
+}
+\newcommand{\labelitemiii}{\textasteriskcentered}
+\newcommand{\labelitemiv}{\textperiodcentered}
+\renewenvironment{itemize}
+ {\ifnum \@itemdepth >\thr@@\@toodeep\else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter
+ \list{\csname \@itemitem\endcsname}{%
+ \ifnum\ltjgetparameter{direction}=3
+ \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
+ \else\topsep\z@\fi
+ \parskip\z@ \itemsep\z@ \parsep\z@
+ \labelwidth1\zw \labelsep.3\zw
+ \ifnum \@itemdepth =\@ne \leftmargin1\zw\relax
+ \else\leftmargin\leftskip\fi
+ \advance\leftmargin 1\zw
+ \fi
+ \def\makelabel##1{\hss\llap{##1}}}%
+ \fi}{\endlist}
+\newenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \ifnum\ltjgetparameter{direction}=3
+ \leftmargin\leftskip \advance\leftmargin3\Cwd
+ \rightmargin\rightskip
+ \labelsep=1\zw \itemsep\z@
+ \listparindent\z@ \topskip\z@ \parskip\z@ \partopsep\z@
+ \fi
+ \let\makelabel\descriptionlabel}}{\endlist}
+\newcommand{\descriptionlabel}[1]{%
+ \hspace\labelsep\normalfont\bfseries #1}
+\newenvironment{verse}
+ {\let\\\@centercr
+ \list{}{\itemsep\z@ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin\leftmargin \advance\leftmargin 1.5em}%
+ \item\relax}{\endlist}
+\newenvironment{quotation}
+ {\list{}{\listparindent 1.5em%
+ \itemindent\listparindent
+ \rightmargin\leftmargin
+ \parsep\z@ \@plus\p@}%
+ \item\relax}{\endlist}
+\newenvironment{quote}
+ {\list{}{\rightmargin\leftmargin}%
+ \item\relax}{\endlist}
+\newcounter{figure}[chapter]
+\renewcommand{\thefigure}{%
+ \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@figure}}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename\thefigure}
+\newenvironment{figure}
+ {\@float{figure}}
+ {\end@float}
+\newenvironment{figure*}
+ {\@dblfloat{figure}}
+ {\end@dblfloat}
+\newcounter{table}[chapter]
+\renewcommand{\thetable}{%
+ \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@table}}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename\thetable}
+\newenvironment{table}
+ {\@float{table}}
+ {\end@float}
+\newenvironment{table*}
+ {\@dblfloat{table}}
+ {\end@dblfloat}
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{0\p@}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
+ \else\sbox\@tempboxa{#1: #2}%
+ \fi
+ \ifdim \wd\@tempboxa >\hsize
+ \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par
+ \else #1: #2\relax\par\fi
+ \else
+ \global \@minipagefalse
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\@addtoreset{equation}{chapter}
+\renewcommand{\theequation}{%
+ \ifnum\c@chapter>\z@\thechapter.\fi \@arabic\c@equation}
+\if@compatibility\else
+ \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
+ \DeclareSymbolFontAlphabet{\mathmc}{mincho}
+ \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
+ \jfam\symmincho
+ \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
+\fi
+\if@mathrmmc
+ \AtBeginDocument{%
+ \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
+ \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
+}%
+\fi
+\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
+\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
+\setcounter{tocdepth}{2}
+\newcommand{\@pnumwidth}{1.55em}
+\newcommand{\@tocrmarg}{2.55em}
+\newcommand{\@dotsep}{4.5}
+\newdimen\toclineskip
+\setlength\toclineskip{2\p@}
+\newdimen\@lnumwidth
+\def\numberline#1{\hbox to\@lnumwidth{#1\hfil}}
+\def\@dottedtocline#1#2#3#4#5{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip\toclineskip \@plus.2\p@
+ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@lnumwidth #3\relax
+ \advance\leftskip \@lnumwidth \hbox{}\hskip -\leftskip
+ {#4}\nobreak
+ \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}%
+ \hfill\nobreak
+ \hb@xt@\@pnumwidth{\hss\normalfont \normalcolor #5}%
+ \par}%
+ \fi}
+\def\addcontentsline#1#2#3{%
+ \protected@write\@auxout
+ {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble
+\@temptokena{\rensuji{\thepage}}}%
+ {\string\@writefile{#1}%
+ {\protect\contentsline{#2}{#3}{\the\@temptokena}}}%
+}
+\newcommand{\tableofcontents}{%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+ \chapter*{\contentsname
+ \@mkboth{\contentsname}{\contentsname}%
+ }\@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+}
+\newcommand*{\l@part}[2]{%
+ \ifnum \c@tocdepth >-2\relax
+ \addpenalty{-\@highpenalty}%
+ \addvspace{2.25em \@plus\p@}%
+ \begingroup
+ \parindent\z@\rightskip\@pnumwidth
+ \parfillskip-\@pnumwidth
+ {\leavevmode\large\bfseries
+ \setlength\@lnumwidth{4\zw}%
+ #1\hfil\nobreak
+ \hbox to\@pnumwidth{\hss#2}}\par
+ \nobreak
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}%
+ \endgroup
+ \fi}
+\newcommand*{\l@chapter}[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \addvspace{1.0em \@plus\p@}%
+ \begingroup
+ \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
+ \leavevmode\bfseries
+ \setlength\@lnumwidth{4\zw}%
+ \advance\leftskip\@lnumwidth \hskip-\leftskip
+ #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{4\zw}}
+\newcommand*{\l@subsection} {\@dottedtocline{2}{2\zw}{6\zw}}
+\newcommand*{\l@subsubsection}{\@dottedtocline{3}{3\zw}{8\zw}}
+\newcommand*{\l@paragraph} {\@dottedtocline{4}{4\zw}{9\zw}}
+\newcommand*{\l@subparagraph} {\@dottedtocline{5}{5\zw}{10\zw}}
+\newcommand{\listoffigures}{%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+ \chapter*{\listfigurename
+ \@mkboth{\listfigurename}{\listfigurename}}%
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi
+}
+\newcommand*{\l@figure}{\@dottedtocline{1}{1\zw}{4\zw}}
+\newcommand{\listoftables}{%
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+ \chapter*{\listtablename
+ \@mkboth{\listtablename}{\listtablename}}%
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi
+}
+\let\l@table\l@figure
+\newdimen\bibindent
+\setlength\bibindent{1.5em}
+\newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
+\newenvironment{thebibliography}[1]
+{\chapter*{\bibname\@mkboth{\bibname}{\bibname}}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty\clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+\let\@openbib@code\@empty
+\newenvironment{theindex}
+ {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi
+ \columnseprule\z@ \columnsep 35\p@
+ \twocolumn[\@makeschapterhead{\indexname}]%
+ \@mkboth{\indexname}{\indexname}%
+ \thispagestyle{jpl@in}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem}
+ {\if@restonecol\onecolumn\else\clearpage\fi}
+\newcommand{\@idxitem}{\par\hangindent 40\p@}
+\newcommand{\subitem}{\@idxitem \hspace*{20\p@}}
+\newcommand{\subsubitem}{\@idxitem \hspace*{30\p@}}
+\newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+\renewcommand{\footnoterule}{%
+ \kern-3\p@
+ \hrule width .4\columnwidth
+ \kern 2.6\p@}
+\@addtoreset{footnote}{chapter}
+\newcommand\@makefntext[1]{\parindent 1\zw
+ \noindent\hbox to 2\zw{\hss\@makefnmark}#1}
+\newif\if西暦 \西暦false
+\def\西暦{\西暦true}
+\def\和暦{\西暦false}
+\newcount\heisei \heisei\year \advance\heisei-1988\relax
+\def\today{{%
+ \ifnum\ltjgetparameter{direction}=3
+ \if西暦
+ \kansuji\year 年
+ \kansuji\month 月
+ \kansuji\day 日
+ \else
+ 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
+ \kansuji\month 月
+ \kansuji\day 日
+ \fi
+ \else
+ \if西暦
+ \number\year~年
+ \number\month~月
+ \number\day~日
+ \else
+ 平成\ifnum\heisei=1 元年\else\number\heisei~年\fi
+ \number\month~月
+ \number\day~日
+ \fi
+ \fi}}
+\newcommand{\prepartname}{第}
+\newcommand{\postpartname}{部}
+\newcommand{\prechaptername}{第}
+\newcommand{\postchaptername}{章}
+\newcommand{\contentsname}{目 次}
+\newcommand{\listfigurename}{図 目 次}
+\newcommand{\listtablename}{表 目 次}
+\newcommand{\bibname}{関連図書}
+\newcommand{\indexname}{索 引}
+\newcommand{\figurename}{図}
+\newcommand{\tablename}{表}
+\newcommand{\appendixname}{付 録}
+\newcommand{\abstractname}{概 要}
+\pagestyle{plain}
+\pagenumbering{arabic}
+\raggedbottom
+\if@twocolumn
+ \twocolumn
+ \sloppy
+\else
+ \onecolumn
+\fi
+\normalmarginpar
+\@mparswitchfalse
+\endinput
+%%
+%% End of file `ltjtreport.cls'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtsize10.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjtsize10.clo
new file mode 100644
index 00000000000..977f2ad9ecd
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtsize10.clo
@@ -0,0 +1,323 @@
+%%
+%% This is file `ltjtsize10.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `10pt,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtsize10.clo.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltjtsize10.clo}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja file (size option)]
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xpt{17}%
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\def\kanjiencodingdefault{JT3}%
+\kanjiencoding{\kanjiencodingdefault}%
+\normalsize
+\setbox0\hbox{\char"3000}% 全角スペース
+\setlength\Cht{\ht0}
+\setlength\Cdp{\dp0}
+\setlength\Cwd{\wd0}
+\setlength\Cvs{\baselineskip}
+\setlength\Chs{\wd0}
+\newcommand{\small}{%
+ \@setfontsize\small\@ixpt{11}%
+ \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@viiipt{9.5}%
+ \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 3\p@ \@plus\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}
+\newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}
+\newcommand{\large}{\@setfontsize\large\@xiipt{17}}
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
+\setlength\headheight{12\p@}
+\if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\headsep{6mm}
+ \else % A4, B4, B5 and other
+ \setlength\headsep{8mm}
+ \fi
+\else
+ \setlength\headsep{8mm}
+\fi
+\setlength\topskip{1\Cht}
+\setlength\footskip{14mm}
+\if@compatibility
+ \setlength\maxdepth{4\p@}
+\else
+ \setlength\maxdepth{.5\topskip}
+\fi
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textwidth{27\Cwd}
+ \else
+ \setlength\textwidth{46\Cwd}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textwidth{53\Cwd}
+ \else
+ \setlength\textwidth{85\Cwd}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textwidth{34\Cwd}
+ \else
+ \setlength\textwidth{55\Cwd}
+ \fi
+ \else % A4 ant other
+ \if@landscape
+ \setlength\textwidth{41\Cwd}
+ \else
+ \setlength\textwidth{67\Cwd}
+ \fi
+ \fi\fi\fi
+ \else
+ \if@twocolumn
+ \setlength\textwidth{52\Cwd}
+ \else
+ \setlength\textwidth{67\Cwd}
+ \fi
+ \fi
+\else
+ \if@stysize
+ \if@twocolumn
+ \setlength\textwidth{.8\paperheight}
+ \else
+ \setlength\textwidth{.7\paperheight}
+ \fi
+ \else
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-2in}
+ \addtolength\@tempdima{-1.3in}
+ \setlength\@tempdimb{67\Cwd}
+ \if@twocolumn
+ \ifdim\@tempdima>2\@tempdimb\relax
+ \setlength\textwidth{2\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \else
+ \ifdim\@tempdima>\@tempdimb\relax
+ \setlength\textwidth{\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \fi
+ \fi
+\fi
+\@settopoint\textwidth
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textheight{26\Cvs}
+ \else
+ \setlength\textheight{16\Cvs}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textheight{48\Cvs}
+ \else
+ \setlength\textheight{33\Cvs}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textheight{34\Cvs}
+ \else
+ \setlength\textheight{21\Cvs}
+ \fi
+ \else % A4 and other
+ \if@landscape
+ \setlength\textheight{41\Cvs}
+ \else
+ \setlength\textheight{26\Cvs}
+ \fi
+ \fi\fi\fi
+ \addtolength\textheight{\Cht}
+ \addtolength\textheight{\Cdp}
+ \else
+ \setlength\textheight{26\Cvs}
+ \fi
+\else
+ \if@stysize
+ \setlength\textheight{.78\paperwidth}
+ \else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-2in}
+ \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima
+ \setlength\textheight{\@tempcnta\baselineskip}
+ \fi
+\fi
+\addtolength\textheight{\topskip}
+\@settopoint\textheight
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\topmargin{.8in}
+ \else % A4, B4, B5 and other
+ \setlength\topmargin{32mm}
+ \fi
+ \else
+ \setlength\topmargin{32mm}
+ \fi
+ \addtolength\topmargin{-1in}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+\else
+ \setlength\topmargin{\paperheight}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+ \addtolength\topmargin{-\textwidth}
+ \addtolength\topmargin{-\footskip}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \addtolength\topmargin{-1.3in}
+ \else
+ \addtolength\topmargin{-2.0in}
+ \fi
+ \else
+ \addtolength\topmargin{-2.8in}
+ \fi
+ \addtolength\topmargin{-.5\topmargin}
+\fi
+\@settopoint\topmargin
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{15\p@}
+\fi
+\setlength\marginparpush{7\p@}
+\if@compatibility
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \if@stysize
+ \if@twocolumn\else
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \fi
+ \fi
+\else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-\textheight}
+ \if@twoside
+ \setlength\oddsidemargin{.6\@tempdima}
+ \else
+ \setlength\oddsidemargin{.5\@tempdima}
+ \fi
+ \addtolength\oddsidemargin{-1in}
+ \setlength\evensidemargin{\paperwidth}
+ \addtolength\evensidemargin{-2in}
+ \addtolength\evensidemargin{-\textheight}
+ \addtolength\evensidemargin{-\oddsidemargin}
+ \@settopoint\oddsidemargin % 1999.1.6
+ \@settopoint\evensidemargin
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-\textwidth}
+ \addtolength\@tempdima{-\topmargin}
+ \addtolength\@tempdima{-\headheight}
+ \addtolength\@tempdima{-\headsep}
+ \addtolength\@tempdima{-\footskip}
+ \setlength\marginparwidth{.5\@tempdima}
+ \@settopoint\marginparwidth
+\fi
+\setlength\footnotesep{6.65\p@}
+\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
+\def\@listi{\leftmargin\leftmargini
+ \parsep 4\p@ \@plus2\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep4\p@ \@plus2\p@ \@minus\p@}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \topsep 4\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep\parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus\p@\@minus\p@
+ \parsep\z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep\topsep}
+\def\@listiv {\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+\def\@listv {\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+\def\@listvi {\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+\endinput
+%%
+%% End of file `ltjtsize10.clo'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtsize11.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjtsize11.clo
new file mode 100644
index 00000000000..30c30e26473
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtsize11.clo
@@ -0,0 +1,323 @@
+%%
+%% This is file `ltjtsize11.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `11pt,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtsize11.clo.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltjtsize11.clo}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja file (size option)]
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xipt{17}%
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\def\kanjiencodingdefault{JT3}%
+\kanjiencoding{\kanjiencodingdefault}%
+\normalsize
+\setbox0\hbox{\char"3000}% 全角スペース
+\setlength\Cht{\ht0}
+\setlength\Cdp{\dp0}
+\setlength\Cwd{\wd0}
+\setlength\Cvs{\baselineskip}
+\setlength\Chs{\wd0}
+\newcommand{\small}{%
+ \@setfontsize\small\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@ixpt{11}%
+ \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
+\newcommand{\large}{\@setfontsize\large\@xiipt{17}}
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
+\setlength\headheight{12\p@}
+\if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\headsep{6mm}
+ \else % A4, B4, B5 and other
+ \setlength\headsep{8mm}
+ \fi
+\else
+ \setlength\headsep{8mm}
+\fi
+\setlength\topskip{1\Cht}
+\setlength\footskip{14mm}
+\if@compatibility
+ \setlength\maxdepth{4\p@}
+\else
+ \setlength\maxdepth{.5\topskip}
+\fi
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textwidth{25\Cwd}
+ \else
+ \setlength\textwidth{42\Cwd}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textwidth{49\Cwd}
+ \else
+ \setlength\textwidth{76\Cwd}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textwidth{31\Cwd}
+ \else
+ \setlength\textwidth{51\Cwd}
+ \fi
+ \else % A4 ant other
+ \if@landscape
+ \setlength\textwidth{38\Cwd}
+ \else
+ \setlength\textwidth{61\Cwd}
+ \fi
+ \fi\fi\fi
+ \else
+ \if@twocolumn
+ \setlength\textwidth{52\Cwd}
+ \else
+ \setlength\textwidth{61\Cwd}
+ \fi
+ \fi
+\else
+ \if@stysize
+ \if@twocolumn
+ \setlength\textwidth{.8\paperheight}
+ \else
+ \setlength\textwidth{.7\paperheight}
+ \fi
+ \else
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-2in}
+ \addtolength\@tempdima{-1.3in}
+ \setlength\@tempdimb{61\Cwd}
+ \if@twocolumn
+ \ifdim\@tempdima>2\@tempdimb\relax
+ \setlength\textwidth{2\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \else
+ \ifdim\@tempdima>\@tempdimb\relax
+ \setlength\textwidth{\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \fi
+ \fi
+\fi
+\@settopoint\textwidth
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textheight{26\Cvs}
+ \else
+ \setlength\textheight{16\Cvs}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textheight{48\Cvs}
+ \else
+ \setlength\textheight{33\Cvs}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textheight{34\Cvs}
+ \else
+ \setlength\textheight{21\Cvs}
+ \fi
+ \else % A4 and other
+ \if@landscape
+ \setlength\textheight{41\Cvs}
+ \else
+ \setlength\textheight{26\Cvs}
+ \fi
+ \fi\fi\fi
+ \addtolength\textheight{\Cht}
+ \addtolength\textheight{\Cdp}
+ \else
+ \setlength\textheight{25\Cvs}
+ \fi
+\else
+ \if@stysize
+ \setlength\textheight{.78\paperwidth}
+ \else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-2in}
+ \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima
+ \setlength\textheight{\@tempcnta\baselineskip}
+ \fi
+\fi
+\addtolength\textheight{\topskip}
+\@settopoint\textheight
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\topmargin{.8in}
+ \else % A4, B4, B5 and other
+ \setlength\topmargin{32mm}
+ \fi
+ \else
+ \setlength\topmargin{32mm}
+ \fi
+ \addtolength\topmargin{-1in}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+\else
+ \setlength\topmargin{\paperheight}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+ \addtolength\topmargin{-\textwidth}
+ \addtolength\topmargin{-\footskip}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \addtolength\topmargin{-1.3in}
+ \else
+ \addtolength\topmargin{-2.0in}
+ \fi
+ \else
+ \addtolength\topmargin{-2.8in}
+ \fi
+ \addtolength\topmargin{-.5\topmargin}
+\fi
+\@settopoint\topmargin
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{15\p@}
+\fi
+\setlength\marginparpush{7\p@}
+\if@compatibility
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \if@stysize
+ \if@twocolumn\else
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \fi
+ \fi
+\else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-\textheight}
+ \if@twoside
+ \setlength\oddsidemargin{.6\@tempdima}
+ \else
+ \setlength\oddsidemargin{.5\@tempdima}
+ \fi
+ \addtolength\oddsidemargin{-1in}
+ \setlength\evensidemargin{\paperwidth}
+ \addtolength\evensidemargin{-2in}
+ \addtolength\evensidemargin{-\textheight}
+ \addtolength\evensidemargin{-\oddsidemargin}
+ \@settopoint\oddsidemargin % 1999.1.6
+ \@settopoint\evensidemargin
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-\textwidth}
+ \addtolength\@tempdima{-\topmargin}
+ \addtolength\@tempdima{-\headheight}
+ \addtolength\@tempdima{-\headsep}
+ \addtolength\@tempdima{-\footskip}
+ \setlength\marginparwidth{.5\@tempdima}
+ \@settopoint\marginparwidth
+\fi
+\setlength\footnotesep{7.7\p@}
+\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\partopsep{3\p@ \@plus 1\p@ \@minus 1\p@}
+\def\@listi{\leftmargin\leftmargini
+ \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \topsep 9\p@ \@plus3\p@ \@minus5\p@
+ \itemsep4.5\p@ \@plus2\p@ \@minus\p@}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \topsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep\parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus\p@\@minus\p@
+ \parsep\z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep\topsep}
+\def\@listiv {\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+\def\@listv {\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+\def\@listvi {\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+\endinput
+%%
+%% End of file `ltjtsize11.clo'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjtsize12.clo b/Master/texmf-dist/tex/luatex/luatexja/ltjtsize12.clo
new file mode 100644
index 00000000000..f0e8ab4911f
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltjtsize12.clo
@@ -0,0 +1,323 @@
+%%
+%% This is file `ltjtsize12.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltjclasses.dtx (with options: `12pt,tate')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ltjtsize12.clo.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ltjclasses.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% File: ltjclasses.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltjtsize12.clo}
+ [2015/01/01 v1.6-ltj-9
+ Standard LuaLaTeX-ja file (size option)]
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xiipt{18}%
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\def\kanjiencodingdefault{JT3}%
+\kanjiencoding{\kanjiencodingdefault}%
+\normalsize
+\setbox0\hbox{\char"3000}% 全角スペース
+\setlength\Cht{\ht0}
+\setlength\Cdp{\dp0}
+\setlength\Cwd{\wd0}
+\setlength\Cvs{\baselineskip}
+\setlength\Chs{\wd0}
+\newcommand{\small}{%
+ \@setfontsize\small\@xipt{13.6}%
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 9\p@ \@plus3\p@ \@minus5\p@
+ \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+ \belowdisplayskip \abovedisplayskip}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
+\newcommand{\large}{\@setfontsize\large\@xivpt{21}}
+\newcommand{\Large}{\@setfontsize\Large\@xviipt{25}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xxpt{28}}
+\newcommand{\huge}{\@setfontsize\huge\@xxvpt{33}}
+\let\Huge=\huge
+\setlength\headheight{12\p@}
+\if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\headsep{6mm}
+ \else % A4, B4, B5 and other
+ \setlength\headsep{8mm}
+ \fi
+\else
+ \setlength\headsep{8mm}
+\fi
+\setlength\topskip{1\Cht}
+\setlength\footskip{14mm}
+\if@compatibility
+ \setlength\maxdepth{4\p@}
+\else
+ \setlength\maxdepth{.5\topskip}
+\fi
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textwidth{23\Cwd}
+ \else
+ \setlength\textwidth{38\Cwd}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textwidth{44\Cwd}
+ \else
+ \setlength\textwidth{69\Cwd}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textwidth{28\Cwd}
+ \else
+ \setlength\textwidth{47\Cwd}
+ \fi
+ \else % A4 ant other
+ \if@landscape
+ \setlength\textwidth{35\Cwd}
+ \else
+ \setlength\textwidth{57\Cwd}
+ \fi
+ \fi\fi\fi
+ \else
+ \if@twocolumn
+ \setlength\textwidth{52\Cwd}
+ \else
+ \setlength\textwidth{57\Cwd}
+ \fi
+ \fi
+\else
+ \if@stysize
+ \if@twocolumn
+ \setlength\textwidth{.8\paperheight}
+ \else
+ \setlength\textwidth{.7\paperheight}
+ \fi
+ \else
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-2in}
+ \addtolength\@tempdima{-1.3in}
+ \setlength\@tempdimb{57\Cwd}
+ \if@twocolumn
+ \ifdim\@tempdima>2\@tempdimb\relax
+ \setlength\textwidth{2\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \else
+ \ifdim\@tempdima>\@tempdimb\relax
+ \setlength\textwidth{\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \fi
+ \fi
+\fi
+\@settopoint\textwidth
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+ \setlength\textheight{25\Cvs}
+ \else
+ \setlength\textheight{15\Cvs}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+ \setlength\textheight{45\Cvs}
+ \else
+ \setlength\textheight{31\Cvs}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+ \setlength\textheight{32\Cvs}
+ \else
+ \setlength\textheight{20\Cvs}
+ \fi
+ \else % A4 and other
+ \if@landscape
+ \setlength\textheight{38\Cvs}
+ \else
+ \setlength\textheight{22\Cvs}
+ \fi
+ \fi\fi\fi
+ \addtolength\textheight{\Cht}
+ \addtolength\textheight{\Cdp}
+ \else
+ \setlength\textheight{24\Cvs}
+ \fi
+\else
+ \if@stysize
+ \setlength\textheight{.78\paperwidth}
+ \else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-2in}
+ \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima
+ \setlength\textheight{\@tempcnta\baselineskip}
+ \fi
+\fi
+\addtolength\textheight{\topskip}
+\@settopoint\textheight
+\if@compatibility
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\topmargin{.8in}
+ \else % A4, B4, B5 and other
+ \setlength\topmargin{32mm}
+ \fi
+ \else
+ \setlength\topmargin{32mm}
+ \fi
+ \addtolength\topmargin{-1in}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+\else
+ \setlength\topmargin{\paperheight}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+ \addtolength\topmargin{-\textwidth}
+ \addtolength\topmargin{-\footskip}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \addtolength\topmargin{-1.3in}
+ \else
+ \addtolength\topmargin{-2.0in}
+ \fi
+ \else
+ \addtolength\topmargin{-2.8in}
+ \fi
+ \addtolength\topmargin{-.5\topmargin}
+\fi
+\@settopoint\topmargin
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{15\p@}
+\fi
+\setlength\marginparpush{7\p@}
+\if@compatibility
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \if@stysize
+ \if@twocolumn\else
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \fi
+ \fi
+\else
+ \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-\textheight}
+ \if@twoside
+ \setlength\oddsidemargin{.6\@tempdima}
+ \else
+ \setlength\oddsidemargin{.5\@tempdima}
+ \fi
+ \addtolength\oddsidemargin{-1in}
+ \setlength\evensidemargin{\paperwidth}
+ \addtolength\evensidemargin{-2in}
+ \addtolength\evensidemargin{-\textheight}
+ \addtolength\evensidemargin{-\oddsidemargin}
+ \@settopoint\oddsidemargin % 1999.1.6
+ \@settopoint\evensidemargin
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-\textwidth}
+ \addtolength\@tempdima{-\topmargin}
+ \addtolength\@tempdima{-\headheight}
+ \addtolength\@tempdima{-\headsep}
+ \addtolength\@tempdima{-\footskip}
+ \setlength\marginparwidth{.5\@tempdima}
+ \@settopoint\marginparwidth
+\fi
+\setlength\footnotesep{8.4\p@}
+\setlength{\skip\footins}{10.8\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{10\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{10\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
+\def\@listi{\leftmargin\leftmargini
+ \parsep 5\p@ \@plus2.5\p@ \@minus\p@
+ \topsep 10\p@ \@plus4\p@ \@minus6\p@
+ \itemsep5\p@ \@plus2.5\p@ \@minus\p@}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \topsep 5\p@ \@plus2.5\p@ \@minus\p@
+ \parsep 2.5\p@ \@plus\p@ \@minus\p@
+ \itemsep\parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
+ \topsep 2.5\p@\@plus\p@\@minus\p@
+ \parsep\z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep\topsep}
+\def\@listiv {\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+\def\@listv {\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+\def\@listvi {\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+\endinput
+%%
+%% End of file `ltjtsize12.clo'.
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja-compat.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja-compat.sty
index 6b2185e5598..687d395fb4a 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja-compat.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja-compat.sty
@@ -65,23 +65,9 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja-compat}[2013/12/22 Compatibility with pTeX]
+ \ProvidesPackage{luatexja-compat}[2015/02/22 Compatibility with pTeX]
\fi %</LaTeX>
-% ltj-compat-ptex.sty is not maintained for a long time.
-% %% If the engine is pTeX, then load the module for it and exit.
-% \edef\ltj@@tempa{\string\kansuji}
-% \edef\ltj@@tempb{\meaning\kansuji}
-% \ifx\ltj@@tempa\ltj@@tempb %<*pTeX>
-% \let\ltj@@compat@pTeX=t
-% \ifltj@in@latex %<*LaTeX>
-% \RequirePackage{ltj-compat-ptex}[2012/04/21]
-% \else %<*!LaTeX>
-% \input ltj-compat-ptex.sty %
-% \fi %</LaTeX>
-% \ltj@compat@AtEnd
-% \expandafter\endinput\fi\relax %</pTeX>
-
% Load core module if not yet.
\ifx\luatexjacoreLoaded\@undefined
\ifltj@in@latex %<*LaTeX>
@@ -114,24 +100,13 @@
\def\ucs{\ltj@code@conv{ucs}}
\def\ltj@code@conv#1{%
- \directlua{luatexja._cc_next = luatexja.compat.from_#1 }%
- \ltj@code@convA
-}
-\def\ltj@code@convA{%
- \expandafter\expandafter\expandafter
- \ltj@code@convB\ltj@grab@num
-}
-\def\ltj@code@convB#1{%
- \directlua{luatexja._cc_next(\ltj@safe@num@or{nil}{#1}) }%
+ \directlua{luatexja.compat.from_#1(luatexja.token.scan_int())}%
}
\def\kansuji{%
- \expandafter\expandafter\expandafter
- \ltj@kansujiA\ltj@grab@num
-}
-\def\ltj@kansujiA#1{%
- \directlua{luatexja.compat.to_kansuji(\ltj@safe@num{#1}) }%
+ \directlua{luatexja.compat.to_kansuji(luatexja.token.scan_int())}%
}
+
\define@key[ltj]{japaram}{kansujichar}{%
\expandafter\ltj@@set@stack#1:{KSJ}{0}{0x7FFFFFFF}}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
index 75b011c7882..753a8405082 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
@@ -65,24 +65,27 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja-core}[2014/02/01 Core of LuaTeX-ja]
+ \ProvidesPackage{luatexja-core}[2015/02/22 Core of LuaTeX-ja]
\fi %</LaTeX>
%% Load prerequisite packages.
\endlinechar=13 %
+\newif\ifltj@everyhook@avail\ltj@everyhook@availfalse
%! 外部パッケージは普通の \endlinechar で読まないと危険.
\ifltj@in@latex %<*LaTeX>
- \RequirePackage{luaotfload} [2013/05/10] % v2.2
- \RequirePackage{infwarerr} [2010/04/08] % v1.3
+ \RequirePackage{luaotfload} [2013/12/31] % v2.3
\RequirePackage{ltxcmds} [2011/11/09] % v1.22
\RequirePackage{pdftexcmds} [2011/11/29] % v0.20
\RequirePackage{xkeyval} [2012/10/14] % v2.6b
+ \RequirePackage{atbegshi}
+ \IfFileExists{everyhook.sty}{\RequirePackage{everyhook}\ltj@everyhook@availtrue}{}
\else %<*!LaTeX>
\input luaotfload.sty
- \input infwarerr.sty
\input ltxcmds.sty
\input pdftexcmds.sty
\input xkeyval
+ \input atbegshi.sty
+ \AtBeginShipoutInit
\fi %</LaTeX>
\endlinechar=-1 %
@@ -101,11 +104,6 @@
{Package loading is aborted now.\MessageBreak}
\expandafter\endinput\fi\relax
- \@PackageInfoNoLine{luatexja-core}
- {using\space%
- \directlua{if node.direct==node then tex.write('traditional node')
- else tex.write('DIRECT') end} node access model}
-
%! なお、luatexbase-compat の説明に従うと、LuaTeX 拡張プリミティブは
%! plain/LaTeX の両方で \luatex 付の名前(\directlua はそのまま)
%! で使えると考えてよい。
@@ -135,28 +133,36 @@
%%%%%%%% Attributes for Japanese typesetting.
\newluatexattribute\ltj@icflag % attribute for italic correction
-\newluatexattribute\ltj@curjfnt % index for ``current Japanese font''
-\newluatexattribute\ltj@origchar %
+\newluatexattribute\ltj@curjfnt % index for ``current horizontal Japanese font''
+\newluatexattribute\ltj@curtfnt % index for ``current vertical Japanese font''
+\newluatexattribute\ltj@origchar %
\newluatexattribute\ltj@charclass %
+\newluatexattribute\ltj@charcode %
\newluatexattribute\ltj@autospc % attribute for autospacing
\newluatexattribute\ltj@autoxspc % attribute for autoxspacing
-\newluatexattribute\ltj@yablshift % attribute for \yabaselineshift
-\newluatexattribute\ltj@ykblshift % attribute for \ykbaselineshift
+\newluatexattribute\ltj@yablshift % attribute for yalbaselineshift
+\newluatexattribute\ltj@ykblshift % attribute for yjabaselineshift
+\newluatexattribute\ltj@tablshift % attribute for talbaselineshift
+\newluatexattribute\ltj@tkblshift % attribute for tjabaselineshift
\newluatexattribute\jfam % index for current jfam
+
+\newluatexattribute\ltj@dir
\newlanguage\ltj@@japanese
-\ltj@icflag=0
-\ltj@origchar=0
-\ltj@charclass=0
-\ltj@curjfnt=-1
+\ltj@dir\z@
+\ltj@icflag\z@
+\ltj@origchar\z@
+\ltj@charclass\z@
+\ltj@curjfnt\m@ne
+\ltj@curtfnt\m@ne
%%%%%%%% Attributes for character ranges
\newcount\ltj@tempcnta
-\ltj@tempcnta=0
+\ltj@tempcnta\z@
\loop\ifnum\ltj@tempcnta<7
\expandafter\newluatexattribute%
\csname ltj@kcat\the\ltj@tempcnta\endcsname
\csname ltj@kcat\the\ltj@tempcnta\endcsname=0
- \advance\ltj@tempcnta by1
+ \advance\ltj@tempcnta\@ne
\repeat
@@ -166,7 +172,8 @@
\protected\def\ltj@@q@escapenum{\ltj@@q@escapenum@}
\directlua{%
- luatexja = {}
+ luatexja = {};
+ luatexja.lang_ja = \the\ltj@@japanese;
dofile(assert(kpse.find_file('luatexja.lua', 'tex'),
"File `luatexja.lua' not found"))
}
@@ -195,11 +202,19 @@
\protected\def\/{\relax\directlua{luatexja.jfont.append_italic()}}
%%%%%%%% \jfont\CS={...:...;jfm=metric;...}, \globaljfont
-\protected\def\jfont{\afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(false)}}
+\protected\def\jfont{%
+ \afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(false, 'yoko')}}
\protected\def\globaljfont{%
- \afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(true)}}
+ \afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(true, 'yoko')}}
\def\ltj@@jfont{\directlua{luatexja.jfont.jfontdefY()}}
+%%%%%%%% \tfont\CS={...:...;jfm=metric;...}, \globaltfont
+\protected\def\tfont{%
+ \afterassignment\ltj@@tfont\directlua{luatexja.jfont.jfontdefX(false, 'tate')}}
+\protected\def\globaltfont{%
+ \afterassignment\ltj@@tfont\directlua{luatexja.jfont.jfontdefX(true, 'tate')}}
+\def\ltj@@tfont{\directlua{luatexja.jfont.jfontdefY()}}
+
%%%%%%%% \zw, \zh
\protected\def\zw{\directlua{tex.setdimen('ltj@zw', luatexja.jfont.get_zw())}\ltj@zw}
\protected\def\zh{\directlua{tex.setdimen('ltj@zh', luatexja.jfont.get_zh())}\ltj@zh}
@@ -207,18 +222,10 @@
%%%%%%%% \inhibitglue
\protected\def\ltj@reset@globaldefs{%
\directlua{luatexja.global_temp = tex.globaldefs; tex.globaldefs = 0}}
-\protected\def\ltj@restore@globaldefs{\directlua{tex.globaldefs = luatexja.global_temp}}
+\protected\def\ltj@restore@globaldefs{\directlua{tex.globaldefs = luatexja.global_temp}\relax}
\protected\def\inhibitglue{\ifhmode\ltj@@ihb\fi}
\def\ltj@@ihb{\relax\directlua{luatexja.jfmglue.create_inhibitglue_node()}}
-%%%%%%%% \yoko, \tate, \ifydir, \iftdir
-%% At this moment, tategaki mode is not implemented;
-%% there is only yokogaki mode now.
-\let\yoko\relax
-\let\tate\relax
-\newif\ifydir\ydirtrue
-\newif\iftdir\tdirfalse
-
%%%%%%%% \ltjdefcharrange<name>{100-200,3000-,5000,...}
\protected\def\ltjdefcharrange#1#2{%
{\ltj@tempcntc=#1 \expandafter\ltj@@dcrange#2,,}\ignorespaces}
@@ -241,13 +248,19 @@
%%%%%%%% \ltjsetparameter
\newcount\ltj@@stack \newcount\ltj@@group@level
-\ltj@@group@level=0 \ltj@@stack=0
+\ltj@@group@level\z@\ltj@@stack\z@
-\setbox0\hbox{%
+\setbox\z@\hbox{%
\directlua{% This value depends on the version of LuaTeX.
luatexja.stack.hmode = -tex.nest[tex.nest.ptr].mode
}%
}
+\setbox\z@\vbox{%
+ \directlua{% This value depends on the version of LuaTeX.
+ luatexja.stack.vmode = -tex.nest[tex.nest.ptr].mode
+ }%
+}
+\setbox\z@\box\voidb@x
% prebreakpenalty = {<char_code>, <penalty>}
\define@key[ltj]{japaram}{kcatcode}{%
@@ -261,6 +274,7 @@
\ltj@safe@num@or{nil}{#1},\ltj@safe@num@or{nil}{#2},#4,#5)}}
% jatextfont = {<char_code>, <font_cs>}
+% only horizontal font is supported
\define@key[ltj]{japaram}{jatextfont}{%
\expandafter\ltj@@set@stackfont#1:{MJT}}
\define@key[ltj]{japaram}{jascriptfont}{%
@@ -269,8 +283,8 @@
\expandafter\ltj@@set@stackfont#1:{MJSS}}
\protected\def\ltj@@set@stackfont#1,#2:#3{%
\ltj@reset@globaldefs
- \ltj@tempcnta=\ltj@curjfnt\ltj@curjfnt=-1 #2%
- \ifnum\ltj@curjfnt=-1
+ \ltj@tempcnta=\ltj@curjfnt\ltj@curjfnt\m@ne#2%
+ \ifnum\ltj@curjfnt=\m@ne
\@PackageError{luatexja-core}%
{\string#2 is not a control sequence that represents \MessageBreak
a Japanese font}{}%
@@ -282,16 +296,20 @@
\ltj@restore@globaldefs
}
-% yalbaselineshift = <dimen>
+% {y,t}{ja,al}baselineshift = <dimen>
% yjabaselineshift = <dimen>
\define@key[ltj]{japaram}{yalbaselineshift}{%
\directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@yablshift'],
- \ltj@safe@dimen@or\ltj@defdimen{#1})}}
+ luatexbase.attributes['ltj@yablshift'], luatexja.token.scan_dimen())}#1}
\define@key[ltj]{japaram}{yjabaselineshift}{%
\directlua{tex.setattribute(luatexja.isglobal,
- luatexbase.attributes['ltj@ykblshift'],
- \ltj@safe@dimen@or\ltj@defdimen{#1})}}
+ luatexbase.attributes['ltj@ykblshift'], luatexja.token.scan_dimen())}#1}
+\define@key[ltj]{japaram}{talbaselineshift}{%
+ \directlua{tex.setattribute(luatexja.isglobal,
+ luatexbase.attributes['ltj@tablshift'], luatexja.token.scan_dimen())}#1}
+\define@key[ltj]{japaram}{tjabaselineshift}{%
+ \directlua{tex.setattribute(luatexja.isglobal,
+ luatexbase.attributes['ltj@tkblshift'], luatexja.token.scan_dimen())}#1}
% jaxspmode = {<char_code>, <mode>}
% mode: inhibit, preonly, postonly, allow
@@ -308,6 +326,7 @@
\ltj@safe@num@or{nil}{#1},
\ltj@safe@num@or{nil}{\ltj@temp},0,3)}}
+
% alxspmode = {<char_code>, <mode>}
% mode: inhibit, preonly, postonly, allow
% or 0 1 2 3
@@ -326,33 +345,32 @@
% autospacing = <bool> (default: true)
\define@boolkey[ltj]{japaram}{autospacing}[true]{%
\ifltj@japaram@autospacing
- \directlua{luatexja.ext_print_global()}\ltj@autospc=1
+ \directlua{luatexja.ext_print_global()}\ltj@autospc\@ne
\else
- \directlua{luatexja.ext_print_global()}\ltj@autospc=0
+ \directlua{luatexja.ext_print_global()}\ltj@autospc\z@
\fi}
% autoxspacing = <bool> (default: true)
\define@boolkey[ltj]{japaram}{autoxspacing}[true]{%
\ifltj@japaram@autoxspacing
- \directlua{luatexja.ext_print_global()}\ltj@autoxspc=1
+ \directlua{luatexja.ext_print_global()}\ltj@autoxspc\@ne
\else
- \directlua{luatexja.ext_print_global()}\ltj@autoxspc=0
+ \directlua{luatexja.ext_print_global()}\ltj@autoxspc\z@
\fi}
-% [x]]kanjiskip = <dimen>
-\define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip{#1}}
-\define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip{#1}}
-\protected\def\ltjsetkanjiskip#1{% % SKIP
- \directlua{%
- local d = \ltj@safe@glue{#1}
- luatexja.stack.set_stack_skip(luatexja.stack_table_index.KSK, d); node.free(d)
-}\ignorespaces}
-\protected\def\ltjsetxkanjiskip#1{% % SKIP
- \directlua{%
- local d = \ltj@safe@glue{#1}
- luatexja.stack.set_stack_skip(luatexja.stack_table_index.XSK, d); node.free(d)
-}\ignorespaces}
-
+% [x]]kanjiskip = <skip>
+ \define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip #1}
+ \define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip #1}
+ \protected\def\ltjsetkanjiskip{% % SKIP
+ \directlua{%
+ local d = luatexja.token.scan_glue()
+ luatexja.stack.set_stack_skip(luatexja.stack_table_index.KSK, d); node.free(d)
+ }}
+ \protected\def\ltjsetxkanjiskip{% % SKIP
+ \directlua{%
+ local d = luatexja.token.scan_glue()
+ luatexja.stack.set_stack_skip(luatexja.stack_table_index.XSK, d); node.free(d)
+ }}
% jcharwidowpenalty = <count>
\define@key[ltj]{japaram}{jcharwidowpenalty}{% %COUNT
@@ -391,12 +409,16 @@
\else\directlua{luatexja.isglobal=''}\fi
}
\protected\def\ltjsetparameter#1{%
+ \directlua{luatexja.base.start_time_measure('set_par')}%
\ltj@setpar@global\setkeys[ltj]{japaram}{#1}%
+ \directlua{luatexja.base.stop_time_measure('set_par')}%
\ignorespaces}
\protected\def\ltjglobalsetparameter#1{%
\relax\ifnum\globaldefs<0\directlua{luatexja.isglobal=''}%
\else\directlua{luatexja.isglobal='global'}\fi%
+ \directlua{luatexja.base.start_time_measure('set_par')}%
\setkeys[ltj]{japaram}{#1}%
+ \directlua{luatexja.base.stop_time_measure('set_par')}%
\ignorespaces}
%%%%%%%% \ltjgetparameter
@@ -410,7 +432,10 @@
\ltj@@decl@array@param{kcatcode}
\ltj@@decl@array@param{jacharrange}
\ltj@@decl@array@param{chartorange}
+\ltj@@decl@array@param{boxdir}
\def\ltjgetparameter#1{%
+ \directlua{luatexja.base.start_time_measure('get_par')}%
+ % stop call is moved in luatexja.lua
\ifcsname ltj@@array@param/#1\endcsname
\expandafter\ltx@firstoftwo
\else
@@ -429,13 +454,13 @@
%%%%%%%% \ltjalchar<number>, \ltjjachar<number>
\let\ltj@@origchar=\char
\protected\def\ltj@alljachar{\relax
- \csname ltj@kcat0\endcsname=0
- \csname ltj@kcat1\endcsname=0
- \csname ltj@kcat2\endcsname=0
- \csname ltj@kcat3\endcsname=0
- \csname ltj@kcat4\endcsname=0
- \csname ltj@kcat5\endcsname=0
- \csname ltj@kcat6\endcsname=0 }
+ \csname ltj@kcat0\endcsname\z@
+ \csname ltj@kcat1\endcsname\z@
+ \csname ltj@kcat2\endcsname\z@
+ \csname ltj@kcat3\endcsname\z@
+ \csname ltj@kcat4\endcsname\z@
+ \csname ltj@kcat5\endcsname\z@
+ \csname ltj@kcat6\endcsname\z@}
\protected\def\ltj@allalchar{\relax
\csname ltj@kcat0\endcsname="7FFFFFFF %"
\csname ltj@kcat1\endcsname="7FFFFFFF %"
@@ -463,18 +488,18 @@
%%%%%%%% \ltjdeclarealtfont<base_font_cs><alt_font_cs>{100-200,3000-,5000,...}
% <base_font_cs> の 第 3 引数の文字達は <alt_font_cs> で組む
% いつも global
-\def\ltj@@getjfontnumber#1{% result in \ltj@tempcntc
+\def\ltj@@getjfontnumber#1{% result in \ltj@tempcntc
\ltj@reset@globaldefs
- \begingroup\ltj@curjfnt=-1\relax
- #1\directlua{luatexja.__temp = \the\ltj@curjfnt}\endgroup
+ \begingroup\ltj@curjfnt\m@ne\ltj@curtfnt\m@ne\relax
+ #1\directlua{luatexja.__temp = -(\the\ltj@curjfnt)*(\the\ltj@curtfnt)}\endgroup
\ltj@tempcntc=\directlua{tex.sprint(luatexja.__temp)}\relax
- \ifnum\ltj@tempcntc=-1
+ \ifnum\ltj@tempcntc=\m@ne
\@PackageError{luatexja-core}%
{\string#1 is not a control sequence that represents \MessageBreak
- a Japanese font}{I'll use the current Japanese font instead.^^J}%
+ a Japanese font}{I'll use the current horizontal Japanese font instead.^^J}%
\ltj@tempcntc=\ltj@curjfnt
\fi\ltj@restore@globaldefs}
-
+
\protected\def\ltjdeclarealtfont#1#2#3{%
{\ltj@@getjfontnumber#1\@tempcnta=\ltj@tempcntc% \@tempcnta: 基底フォント
\ltj@@getjfontnumber#2%
@@ -503,6 +528,174 @@
{\ltj@@getjfontnumber#1%
\directlua{luatexja.jfont.clear_alt_font(\the\ltj@tempcntc)}}\ignorespaces}
+
+%%%%%%%% \yoko, \tate,\dtou
+\protected\def\tate{%
+ \directlua{luatexja.direction.set_list_direction(3, 'tate')}%
+}
+\protected\def\yoko{%
+ \directlua{luatexja.direction.set_list_direction(4, 'yoko')}%
+}
+\protected\def\dtou{%
+ \directlua{luatexja.direction.set_list_direction(1, 'dtou')}%
+}
+\protected\def\utod{% 「縦数式ディレクション」
+ \directlua{luatexja.direction.set_list_direction(11, 'utod')}%
+}
+\define@key[ltj]{japaram}{direction}{%% always local
+ \directlua{luatexja.direction.set_list_direction(1, 'ltjsetparameter')}%
+}
+
+\yoko
+
+%%%% insert
+\let\orig@insert=\insert
+\protected\def\insert{\begingroup\afterassignment\ltj@@insert@A\ltj@tempcnta}
+\protected\def\ltj@@insert@A{\orig@insert\ltj@tempcnta\bgroup
+ \aftergroup\ltj@@insert@B\let\next}
+\protected\def\ltj@@insert@B{\directlua{luatexja.direction.populate_insertion_dir_whatsit()}\endgroup}
+
+%%%% vadjust
+\let\ltj@@orig@vadjust=\vadjust
+\protected\def\vadjust{%
+ \ltj@@orig@vadjust\bgroup
+ \directlua{luatexja.direction.set_list_direction_hook('adj')}%
+ \aftergroup\ltj@@vadjust@check@dir\let\next}
+\protected\def\ltj@@vadjust@check@dir{%
+ \directlua{luatexja.direction.check_adjust_direction()}%
+}
+
+%%%% \hbox, \vbox, \vtop
+\setbox\z@\hbox{%
+ $\directlua{% This value depends on the version of LuaTeX.
+ luatexja.stack.mmode = -tex.nest[tex.nest.ptr].mode
+ }$%
+}
+\setbox\z@\box\voidb@x
+\ifltj@everyhook@avail% using everyhook package
+ \PushPreHook{hbox}{%
+ \directlua{luatexja.direction.set_list_direction_hook()}%
+ \aftergroup\ltj@@reset@badness
+ }
+ \PushPreHook{vbox}{%
+ \directlua{luatexja.direction.set_list_direction_hook()}%
+ \aftergroup\ltj@@reset@badness
+ }
+\else
+ \let\ltj@@everyhbox=\everyhbox\let\ltj@@everyvbox=\everyvbox
+ \newtoks\ltj@@i@everyhbox\newtoks\ltj@@i@everyvbox
+ \let\everyhbox=\ltj@@i@everyhbox\let\everyvbox=\ltj@@i@everyvbox
+ \ltj@@everyhbox{%
+ \directlua{luatexja.direction.set_list_direction_hook()}%
+ \aftergroup\ltj@@reset@badness
+ \the\ltj@@i@everyhbox}
+ \ltj@@everyvbox{%
+ \directlua{luatexja.direction.set_list_direction_hook()}%
+ \aftergroup\ltj@@reset@badness
+ \the\ltj@@i@everyvbox}
+\fi
+
+\protected\def\ltj@@reset@badness{%
+ \directlua{%
+ if luatexja.global_temp then
+ tex.hbadness= tex.hbadness or luatexja.hbadness_temp
+ tex.vbadness= tex.vbadness or luatexja.vbadness_temp
+ tex.globaldefs= luatexja.global_temp or tex.globaldefs
+ end
+ }%
+}
+\AtBeginShipout{\directlua{luatexja.direction.finalize()}}
+
+%%%% \raise, \lower, \moveleft, \moveright
+\let\ltj@@orig@raise=\raise
+\let\ltj@@orig@lower=\lower
+\protected\def\raise{\ltj@reset@globaldefs\afterassignment\ltj@@raise\ltj@tempdima}
+\protected\def\lower{\ltj@reset@globaldefs\afterassignment\ltj@@raise\ltj@tempdima-}
+\protected\def\ltj@@raise{%
+ \ltj@restore@globaldefs
+ \edef\ltj@@raise@a{%
+ \noexpand\directlua{luatexja.direction.raise_box()}%
+ \ltj@@orig@raise\the\ltj@tempdima\noexpand\box\ltj@afbox
+ }\ltj@afterbox\ltj@@raise@a}
+\let\ltj@@orig@moveleft=\moveleft
+\let\ltj@@orig@moveright=\moveright
+\protected\def\moveleft{\ltj@reset@globaldefs\afterassignment\ltj@@moveleft\ltj@tempdima}
+\protected\def\moveright{\ltj@reset@globaldefs\afterassignment\ltj@@moveleft\ltj@tempdima-}
+\protected\def\ltj@@moveleft{%
+ \ltj@restore@globaldefs
+ \edef\ltj@@moveleft@a{%
+ \noexpand\directlua{luatexja.direction.raise_box()}%
+ \ltj@@orig@moveleft\the\ltj@tempdima\noexpand\box\ltj@afbox
+ }\ltj@afterbox\ltj@@moveleft@a}
+
+%%%% \vcenter
+\let\ltj@@orig@vcenter=\vcenter
+\protected\def\vcenter{\ltj@afterbox\ltj@@vcenter\vbox}
+\protected\def\ltj@@vcenter{%
+ \directlua{luatexja.direction.raise_box()}%
+ \ltj@@orig@vcenter{\box\ltj@afbox}%
+}
+
+%%%% \unhbox and \unvbox
+\long\def \@gobbletwo #1#2{}
+\let\ltj@@orig@unhbox=\unhbox
+\let\ltj@@orig@unvbox=\unvbox
+\protected\def\unhbox{\ltj@reset@globaldefs\afterassignment\ltj@@unhbox\ltj@tempcnta}
+\protected\def\unvbox{\ltj@reset@globaldefs\afterassignment\ltj@@unvbox\ltj@tempcnta}
+\protected\def\ltj@@unhbox{%
+ \directlua{luatexja.direction.unbox_check_dir()}%
+ \ltj@@orig@unhbox\ltj@tempcnta}
+\protected\def\ltj@@unvbox{%
+ \directlua{luatexja.direction.unbox_check_dir()}%
+ \ltj@@orig@unvbox\ltj@tempcnta}
+\let\ltj@@orig@unhcopy=\unhcopy
+\let\ltj@@orig@unvcopy=\unvcopy
+\protected\def\unhcopy{\ltj@reset@globaldefs\afterassignment\ltj@@unhcopy\ltj@tempcnta}
+\protected\def\unvcopy{\ltj@reset@globaldefs\afterassignment\ltj@@unvcopy\ltj@tempcnta}
+\protected\def\ltj@@unhcopy{%
+ \directlua{luatexja.direction.unbox_check_dir(true)}%
+ \ltj@@orig@unhcopy\ltj@tempcnta
+ \directlua{luatexja.direction.uncopy_restore_whatsit()}}
+\protected\def\ltj@@unvcopy{%
+ \directlua{luatexja.direction.unbox_check_dir(true)}%
+ \ltj@@orig@unvcopy\ltj@tempcnta
+ \directlua{luatexja.direction.uncopy_restore_whatsit()}}
+
+%%%% lastbox
+\let\ltj@@orig@lastbox=\lastbox
+\protected\def\lastbox{%
+ \directlua{luatexja.direction.lastbox_hook()}\ltj@@orig@lastbox
+}
+
+%%%%%%%% \ltjgetwd<box_num> etc.
+\def\ltj@@getwd{%
+ \directlua{luatexja.direction.get_box_dim('width', luatexja.token.scan_int())}}
+\def\ltj@@getht{%
+ \directlua{luatexja.direction.get_box_dim('height', luatexja.token.scan_int())}}
+\def\ltj@@getdp{%
+ \directlua{luatexja.direction.get_box_dim('depth', luatexja.token.scan_int())}}
+\let\ltjgetwd=\ltj@@getwd\let\ltjgetht=\ltj@@getht\let\ltjgetdp=\ltj@@getdp
+
+%%%%%%%% \ltjsetwd<box_num>=<dimen> etc.
+\protected\def\ltjsetwd{\begingroup
+ \ltj@reset@globaldefs\afterassignment\ltj@@setwd@a\ltj@tempcnta}
+\def\ltj@@setwd@a{\afterassignment\ltj@@setwd@b\ltj@tempdima}
+\def\ltj@@setwd@b{%
+ \directlua{luatexja.direction.set_box_dim('width')}%
+ \ltj@restore@globaldefs\endgroup}
+\protected\def\ltjsetht{\begingroup
+ \ltj@reset@globaldefs\afterassignment\ltj@@setht@a\ltj@tempcnta}
+\def\ltj@@setht@a{\afterassignment\ltj@@setht@b\ltj@tempdima}
+\def\ltj@@setht@b{%
+ \directlua{luatexja.direction.set_box_dim('height')}%
+ \ltj@restore@globaldefs\endgroup}
+\protected\def\ltjsetdp{\begingroup
+ \ltj@reset@globaldefs\afterassignment\ltj@@setdp@a\ltj@tempcnta}
+\def\ltj@@setdp@a{\afterassignment\ltj@@setdp@b\ltj@tempdima}
+\def\ltj@@setdp@b{%
+ \directlua{luatexja.direction.set_box_dim('depth')}%
+ \ltj@restore@globaldefs\endgroup}
+
%%------------------ Load module for the format
\ifltj@in@latex %<*LaTeX>
@@ -514,12 +707,13 @@
\newluatexcatcodetable\ltj@temp@cctb
\def\ltj@overwrite@catcodetable#1{%
\setluatexcatcodetable\ltj@temp@cctb{\luatexcatcodetable#1}%
- \setluatexcatcodetable#1{\luatexcatcodetable\ltj@temp@cctb\catcode"FFFFF=14}%
+ \setluatexcatcodetable#1{\luatexcatcodetable\ltj@temp@cctb\catcode"FFFFF=14}%"
}
\ltj@overwrite@catcodetable\CatcodeTableLaTeX
\ltj@overwrite@catcodetable\CatcodeTableLaTeXAtLetter
\ltj@overwrite@catcodetable\CatcodeTableExpl
+
%%------------------ all done
\ltj@core@AtEnd
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
index 0e9f64ee310..2125969ec3e 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
@@ -13,12 +13,22 @@ function luatexja.load_lua(fn)
local found = kpse.find_file(fn, 'tex')
if not found then
tex.error("LuaTeX-ja error: File `" .. fn .. "' not found")
- else
+ else
texio.write_nl('(' .. found .. ')')
dofile(found)
end
end
+-- check token library
+if newtoken then
+ luatexja.token = newtoken
+else
+ local luatex_version = status.list().luatex_version
+ if luatex_version >80 then
+ luatexja.token = token
+ end
+end
+
--- 以下は全ファイルで共有される定数
local icflag_table = {}
luatexja.icflag_table = icflag_table
@@ -58,65 +68,45 @@ luatexja.userid_table = userid_table
userid_table.IHB = luatexbase.newuserwhatsitid('inhibitglue', 'luatexja') -- \inhibitglue
userid_table.STCK = luatexbase.newuserwhatsitid('stack_marker', 'luatexja') -- スタック管理
userid_table.BPAR = luatexbase.newuserwhatsitid('begin_par', 'luatexja') -- 「段落始め」
-
-------------------------------------------------------------------------
--- FIX node.remove
-------------------------------------------------------------------------
-do
- local node_remove, node_next, node_prev = node.remove, node.next, node.prev
- function luatexja.node_remove (head, current)
- if head==current then
- local q, r = node_next(current), node_prev(current)
- if q then q.prev = r end
- if r and node_next(r)==current then
- r.next = q
- end
- return q, q
- else
- return node_remove(head, current)
- end
- end
- local Dnode = node.direct or node
- if Dnode~=node then
- local Dnode_remove, setfield = Dnode.remove, Dnode.setfield
- local Dnode_next, Dnode_prev = Dnode.getnext, Dnode.getprev
- function luatexja.Dnode_remove (head, current)
- if head==current then
- local q, r = Dnode_next(current), Dnode_prev(current)
- if q then setfield(q, 'prev', r) end
- if r and Dnode_next(r) == current then
- setfield(r, 'next', q)
- end
- return q, q
- else
- return Dnode_remove(head, current)
- end
- end
- else
- luatexja.Dnode_remove = luatexja.node_remove
- end
-end
-
+userid_table.DIR = luatexbase.newuserwhatsitid('direction', 'luatexja') -- 組方向
+
+local dir_table = {}
+luatexja.dir_table = dir_table
+dir_table.dir_dtou = 1
+dir_table.dir_tate = 3
+dir_table.dir_yoko = 4
+dir_table.dir_math_mod = 8
+dir_table.dir_node_auto = 128 -- 組方向を合わせるために自動で作られたもの
+dir_table.dir_node_manual = 256 -- 寸法代入によって作られたもの
+dir_table.dir_utod = dir_table.dir_tate + dir_table.dir_math_mod
+ -- 「縦数式ディレクション」 in pTeX
--- 定義終わり
local load_module = luatexja.load_module
load_module('base'); local ltjb = luatexja.base
load_module('rmlgbm'); local ltjr = luatexja.rmlgbm -- must be 1st
+
+if luatexja_debug then load_module('debug') end
+
load_module('charrange'); local ltjc = luatexja.charrange
+load_module('stack'); local ltjs = luatexja.stack
+load_module('direction'); local ltjd = luatexja.direction -- +1 hlist +1 attr_list
load_module('jfont'); local ltjf = luatexja.jfont
load_module('inputbuf'); local ltji = luatexja.inputbuf
-load_module('stack'); local ltjs = luatexja.stack
load_module('pretreat'); local ltjp = luatexja.pretreat
-load_module('jfmglue'); local ltjj = luatexja.jfmglue
load_module('setwidth'); local ltjw = luatexja.setwidth
+load_module('jfmglue'); local ltjj = luatexja.jfmglue -- +1 glue +1 gs +1 attr_list
load_module('math'); local ltjm = luatexja.math
load_module('tangle'); local ltjb = luatexja.base
+
local attr_jchar_class = luatexbase.attributes['ltj@charclass']
+local attr_jchar_code = luatexbase.attributes['ltj@charcode']
local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
local attr_yablshift = luatexbase.attributes['ltj@yablshift']
local attr_icflag = luatexbase.attributes['ltj@icflag']
local attr_uniqid = luatexbase.attributes['ltj@uniqid']
+local attr_dir = luatexbase.attributes['ltj@dir']
local cat_lp = luatexbase.catcodetables['latex-package']
-- Three aux. functions, bollowed from tex.web
@@ -127,14 +117,14 @@ local floor = math.floor
local function print_scaled(s)
local out=''
local delta=10
- if s<0 then
+ if s<0 then
out=out..'-'; s=-s
end
out=out..tostring(floor(s/unity)) .. '.'
s=10*(s%unity)+5
repeat
if delta>unity then s=s+32768-50000 end
- out=out .. tostring(floor(s/unity))
+ out=out .. tostring(floor(s/unity))
s=10*(s%unity)
delta=delta*10
until s<=delta
@@ -148,7 +138,7 @@ local function print_glue(d,order)
while order>1 do
out=out..'l'; order=order-1
end
- else
+ else
out=out..'pt'
end
return out
@@ -167,22 +157,28 @@ end
------------------------------------------------------------------------
--- CODE FOR GETTING/SETTING PARAMETERS
+-- CODE FOR GETTING/SETTING PARAMETERS
------------------------------------------------------------------------
-- EXT: print parameters that don't need arguments
do
luatexja.unary_pars = {
- yalbaselineshift = function(t)
+ yalbaselineshift = function(t)
return print_scaled(tex.getattribute('ltj@yablshift'))..'pt'
end,
- yjabaselineshift = function(t)
+ yjabaselineshift = function(t)
return print_scaled(tex.getattribute('ltj@ykblshift'))..'pt'
end,
- kanjiskip = function(t)
+ talbaselineshift = function(t)
+ return print_scaled(tex.getattribute('ltj@tablshift'))..'pt'
+ end,
+ tjabaselineshift = function(t)
+ return print_scaled(tex.getattribute('ltj@tkblshift'))..'pt'
+ end,
+ kanjiskip = function(t)
return print_spec(ltjs.get_stack_skip(stack_table_index.KSK, t))
end,
- xkanjiskip = function(t)
+ xkanjiskip = function(t)
return print_spec(ltjs.get_stack_skip(stack_table_index.XSK, t))
end,
jcharwidowpenalty = function(t)
@@ -205,7 +201,15 @@ do
elseif f == math.two_add then r = 'both'
end
return r
- end
+ end,
+ direction = function()
+ local v = ltjd.get_dir_count()
+ if math.abs(tex.nest[tex.nest.ptr].mode) == ltjs.mmode and v == dir_table.dir_tate then
+ v = dir_table.dir_utod
+ end
+ return v
+ end,
+ adjustdir = ltjd.get_adjust_dir_count,
}
local unary_pars = luatexja.unary_pars
@@ -213,6 +217,7 @@ do
if unary_pars[k] then
tex.write(tostring(unary_pars[k](tex.getcount('ltj@@stack'))))
end
+ ltjb.stop_time_measure('get_par')
end
end
@@ -235,15 +240,15 @@ do
return (c<0) and 1 or ltjc.get_range_setting(c)
end,
prebreakpenalty = function(c, t)
- return ltjs.get_stack_table(stack_table_index.PRE
+ return ltjs.get_stack_table(stack_table_index.PRE
+ ltjb.in_unicode(c, true), 0, t)
end,
postbreakpenalty = function(c, t)
- return ltjs.get_stack_table(stack_table_index.POST
+ return ltjs.get_stack_table(stack_table_index.POST
+ ltjb.in_unicode(c, true), 0, t)
end,
kcatcode = function(c, t)
- return ltjs.get_stack_table(stack_table_index.KCAT
+ return ltjs.get_stack_table(stack_table_index.KCAT
+ ltjb.in_unicode(c, false), 0, t)
end,
chartorange = function(c, t)
@@ -253,14 +258,25 @@ do
return ltjs.get_stack_table(stack_table_index.XSP
+ ltjb.in_unicode(c, true), 3, t)
end,
+ boxdir = function(c, t)
+ if type(c)~='number' or c<0 or c>65535 then
+ ltjb.package_error('luatexja',
+ 'Bad register code (' .. tostring(c) .. ')',
+ 'A register must be between 0 and 65535.\n'..
+ 'I changed this one to zero.')
+ c=0
+ end
+ return ltjd.get_register_dir(c)
+ end,
}
- local binary_pars = luatexja.binary_pars
+ local binary_pars = luatexja.binary_pars
binary_pars.alxspmode = binary_pars.jaxspmode
function luatexja.ext_get_parameter_binary(k,c)
if binary_pars[k] then
tex.write(tostring(binary_pars[k](c,tex.getcount('ltj@@stack'))))
end
+ ltjb.stop_time_measure('get_par')
end
end
@@ -269,65 +285,64 @@ function luatexja.ext_print_global()
if luatexja.isglobal=='global' then tex.sprint(cat_lp, '\\global') end
end
+
-- main process
do
+ local start_time_measure, stop_time_measure
+ = ltjb.start_time_measure, ltjb.stop_time_measure
local Dnode = node.direct or node
local nullfunc = function (n) return n end
local to_node = (Dnode ~= node) and Dnode.tonode or nullfunc
local to_direct = (Dnode ~= node) and Dnode.todirect or nullfunc
+ local ensure_tex_attr = ltjb.ensure_tex_attr
+
-- mode = true iff main_process is called from pre_linebreak_filter
- local function main_process(head, mode, dir)
- tex.setattribute('global', attr_icflag, 0)
- local p = to_direct(head)
- p = ltjj.main(p,mode)
- if p then p = ltjw.set_ja_width(p, dir) end
- return to_node(p)
+ local function main_process(head, mode, dir, gc)
+ ensure_tex_attr(attr_icflag, 0)
+ if gc == 'fin_row' then return head
+ else
+ --luatexja.ext_show_node_list(head, 'T> ', print)
+ start_time_measure('jfmglue')
+ local p = ltjj.main(to_direct(head),mode, dir)
+ stop_time_measure('jfmglue')
+ return to_node(p)
+ end
end
local function adjust_icflag(h)
-- kern from luaotfload will have icflag = 1
-- (same as italic correction)
- tex.setattribute('global', attr_icflag, 1)
+ ensure_tex_attr(attr_icflag, 1)
return h
end
-- callbacks
-
luatexbase.add_to_callback(
- 'pre_linebreak_filter',
+ 'pre_linebreak_filter',
function (head,groupcode)
- return main_process(head, true, tex.textdir)
+ return main_process(head, true, tex.textdir, groupcode)
end,'ltj.pre_linebreak_filter',
luatexbase.priority_in_callback('pre_linebreak_filter',
'luaotfload.node_processor') + 1)
luatexbase.add_to_callback(
- 'hpack_filter',
+ 'hpack_filter',
function (head,groupcode,size,packtype, dir)
- return main_process(head, false, dir)
+ return main_process(head, false, dir, groupcode)
end,'ltj.hpack_filter',
luatexbase.priority_in_callback('hpack_filter',
'luaotfload.node_processor') + 1)
- luatexbase.add_to_callback('pre_linebreak_filter', adjust_icflag, 'adjust_icflag', 1)
- luatexbase.add_to_callback('hpack_filter', adjust_icflag, 'adjust_icflag', 1)
+ luatexbase.add_to_callback('pre_linebreak_filter', adjust_icflag, 'ltj.adjust_icflag', 1)
+ luatexbase.add_to_callback('hpack_filter', adjust_icflag, 'ltj.adjust_icflag', 1)
end
--- define_font
-do
- local otfl_fdr = fonts.definers.read
- local ltjr_font_callback = ltjr.font_callback
- function luatexja.font_callback(name, size, id)
- return ltjf.font_callback(
- name, size, id,
- function (name, size, id) return ltjr_font_callback(name, size, id, otfl_fdr) end
- )
- end
- luatexbase.add_to_callback('define_font',luatexja.font_callback,"luatexja.font_callback", 1)
+-- cleanup process
+function luatexja.ext_cleanup()
+ ltjf.cleanup_size_cache()
+ ltjd.remove_end_whatsit()
end
-
-
-- debug
do
@@ -352,32 +367,40 @@ local function get_attr_icflag(p)
return (has_attr(p, attr_icflag) or 0) % icflag_table.PROCESSED_BEGIN_FLAG
end
-local debug_depth
+local prefix, inner_depth
-local function debug_show_node_X(p,print_fn)
- local k = debug_depth
+local function debug_show_node_X(p,print_fn, limit)
+ local k = prefix
local s
local pt=node_type(p.id)
- local base = debug_depth .. string.format('%X', get_attr_icflag(p))
+ local base = prefix .. string.format('%X', get_attr_icflag(p))
.. ' ' .. pt .. ' ' .. tostring(p.subtype) .. ' '
if pt == 'glyph' then
- s = base .. ' ' .. utf.char(p.char) .. ' ' .. tostring(p.font)
- .. ' (' .. print_scaled(p.height) .. '+'
+ s = base .. ' ' .. utf.char(p.char) .. ' '
+ .. tostring(p.font)
+ .. ' (' .. print_scaled(p.height) .. '+'
.. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
print_fn(s)
- elseif pt=='hlist' or pt=='vlist' then
- s = base .. '(' .. print_scaled(p.height) .. '+'
- .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width) .. p.dir
- if p.shift~=0 then
+ elseif pt=='hlist' or pt=='vlist' or pt=='unset'or pt=='ins' then
+ if pt=='ins' then
+ s = base .. '(' .. print_scaled(p.height) .. '+'
+ .. print_scaled(p.depth) .. ')'
+ .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
+ else
+ s = base .. '(' .. print_scaled(p.height) .. '+'
+ .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
+ .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
+ end
+ if (p.shift or 0)~=0 then
s = s .. ', shifted ' .. print_scaled(p.shift)
end
- if p.glue_sign >= 1 then
+ if p.glue_set and p.glue_sign ==2 or ( p.glue_sign==1 and p.glue_set>0) then
s = s .. ' glue set '
if p.glue_sign == 2 then s = s .. '-' end
s = s .. tostring(floor(p.glue_set*10000)/10000)
- if p.glue_order == 0 then
- s = s .. 'pt'
- else
+ if p.glue_order == 0 then
+ s = s .. 'pt'
+ else
s = s .. 'fi'
for i = 2, p.glue_order do s = s .. 'l' end
end
@@ -385,14 +408,23 @@ local function debug_show_node_X(p,print_fn)
if get_attr_icflag(p) == icflag_table.PACKED then
s = s .. ' (packed)'
end
- print_fn(s); debug_depth=debug_depth.. '.'
- for q in node.traverse(p.head) do
- debug_show_node_X(q, print_fn)
+ print_fn(s);
+ local bid = inner_depth
+ prefix, inner_depth = prefix.. '.', inner_depth + 1
+ if inner_depth < limit then
+ for q in node.traverse(p.head) do
+ debug_show_node_X(q, print_fn, limit)
+ end
end
- debug_depth=k
+ prefix=k
+ elseif pt=='rule' then
+ s = base .. '(' .. print_scaled(p.height) .. '+'
+ .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
+ .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
+ print_fn(s)
elseif pt == 'glue' then
s = base .. ' ' .. print_spec(p.spec)
- if get_attr_icflag(p)>icflag_table.KINSOKU
+ if get_attr_icflag(p)>icflag_table.KINSOKU
and get_attr_icflag(p)<icflag_table.KANJI_SKIP then
s = s .. ' (from JFM: priority ' .. get_attr_icflag(p)-icflag_table.FROM_JFM .. ')'
elseif get_attr_icflag(p)==icflag_table.KANJI_SKIP then
@@ -413,7 +445,7 @@ local function debug_show_node_X(p,print_fn)
s = s .. ' (italic correction)'
-- elseif get_attr_icflag(p)==ITALIC then
-- s = s .. ' (italic correction)'
- elseif get_attr_icflag(p)>icflag_table.KINSOKU
+ elseif get_attr_icflag(p)>icflag_table.KINSOKU
and get_attr_icflag(p)<icflag_table.KANJI_SKIP then
s = s .. ' (from JFM: priority ' .. get_attr_icflag(p)-icflag_table.FROM_JFM .. ')'
end
@@ -425,44 +457,60 @@ local function debug_show_node_X(p,print_fn)
end
print_fn(s)
elseif pt == 'whatsit' then
- s = base .. ' subtype: ' .. tostring(p.subtype)
+ s = base
if p.subtype==sid_user then
- if p.type ~= 110 then
- s = s .. ' user_id: ' .. p.user_id .. ' ' .. p.value
+ local t = tostring(p.user_id) .. ' (' ..
+ luatexbase.get_user_whatsit_name(p.user_id) .. ') '
+ if p.type ~= 110 then
+ s = s .. ' userid:' .. t .. p.value
print_fn(s)
else
- s = s .. ' user_id: ' .. p.user_id .. ' (node list)'
+ s = s .. ' userid:' .. t .. '(node list)'
+ if p.user_id==userid_table.DIR then
+ s = s .. ' dir: ' .. tostring(node.has_attribute(p, attr_dir))
+ end
print_fn(s)
- local q = p.value
- debug_depth=debug_depth.. '.'
- while q do
- debug_show_node_X(q, print_fn); q = node_next(q)
- end
- debug_depth=k
+ local bid = inner_depth
+ prefix, inner_depth =prefix.. '.', inner_depth + 1
+ if inner_depth < limit then
+ for q in node.traverse(p.value) do
+ debug_show_node_X(q, print_fn, limit)
+ end
+ end
+ prefix, inner_depth = k, bid
end
else
- s = s .. node.subtype(p.subtype); print_fn(s)
+ s = s .. node.subtype(p.subtype)
+ if p.subtype==1 then
+ s = s .. ' stream=' .. p.stream
+ print_fn(s)
+ for i=1,#p.data do
+ print_fn(s .. ' [' .. i .. '] = ' .. tostring(token.command_name(p.data[i])))
+ end
+ else
+ print_fn(s)
+ end
end
-------- math node --------
elseif pt=='noad' then
s = base ; print_fn(s)
if p.nucleus then
- debug_depth = k .. 'N'; debug_show_node_X(p.nucleus, print_fn);
+ prefix = k .. 'N'; debug_show_node_X(p.nucleus, print_fn);
end
if p.sup then
- debug_depth = k .. '^'; debug_show_node_X(p.sup, print_fn);
+ prefix = k .. '^'; debug_show_node_X(p.sup, print_fn);
end
if p.sub then
- debug_depth = k .. '_'; debug_show_node_X(p.sub, print_fn);
+ prefix = k .. '_'; debug_show_node_X(p.sub, print_fn);
end
- debug_depth = k;
+ prefix = k;
elseif pt=='math_char' then
s = base .. ' fam: ' .. p.fam .. ' , char = ' .. utf.char(p.char)
print_fn(s)
elseif pt=='sub_box' or pt=='sub_mlist' then
print_fn(base)
if p.head then
- debug_depth = k .. '.';
+ prefix = k .. '.';
for q in node.traverse(p.head) do
debug_show_node_X(q, print_fn)
end
@@ -472,22 +520,24 @@ local function debug_show_node_X(p,print_fn)
end
p=node_next(p)
end
-function luatexja.ext_show_node_list(head,depth,print_fn)
- debug_depth = depth
+function luatexja.ext_show_node_list(head,depth,print_fn, lim)
+ prefix = depth
+ inner_depth = 0
if head then
while head do
- debug_show_node_X(head, print_fn); head = node_next(head)
+ debug_show_node_X(head, print_fn, lim or 1/0); head = node_next(head)
end
else
- print_fn(debug_depth .. ' (null list)')
+ print_fn(prefix .. ' (null list)')
end
end
-function luatexja.ext_show_node(head,depth,print_fn)
- debug_depth = depth
+function luatexja.ext_show_node(head,depth,print_fn, lim)
+ prefix = depth
+ inner_depth = 0
if head then
- debug_show_node_X(head, print_fn)
+ debug_show_node_X(head, print_fn, lim or 1/0)
else
- print_fn(debug_depth .. ' (null list)')
+ print_fn(prefix .. ' (null list)')
end
end
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
index a6ede22dcb8..29a839eb00b 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
@@ -48,6 +48,7 @@
\input luatexja-compat.sty %
\fi %</LaTeX>
+\directlua{luatexja.base.start_time_measure('RUN')}
%% all done
\ltj@AtEnd
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
index 2d8afbd512a..94254e77222 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
@@ -6,7 +6,18 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{lltjcore}[2013/05/14 Patch to LaTeX2e Kernel for LuaTeX-ja]
-\makeatletter
+\def\cleardoublepage{\clearpage\if@twoside
+ \ifodd\c@page
+ \ifnum\ltjgetparameter{direction}=3
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi
+ \else
+ \ifnum\ltjgetparameter{direction}=4
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi
+ \fi\fi}
\newif\iftombow \tombowfalse
\newif\iftombowdate \tombowdatetrue
\newdimen\@tombowwidth
@@ -89,7 +100,7 @@
\newdimen\@@topmargin
\def\@outputpage{%
\begingroup % the \endgroup is put in by \aftergroup
- \iftdir
+ \ifnum\ltjgetparameter{direction}=4\else
\dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@
\fi
\let \protect \noexpand
@@ -106,11 +117,11 @@
\fi
\if@twoside
\ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
- \iftdir\let\@themargin\evensidemargin
+ \ifnum\ltjgetparameter{direction}=3 \let\@themargin\evensidemargin
\else\let\@themargin\oddsidemargin\fi
\else \let\@thehead\@evenhead
\let\@thefoot\@evenfoot
- \iftdir\let\@themargin\oddsidemargin
+ \ifnum\ltjgetparameter{direction}=3 \let\@themargin\oddsidemargin
\else\let\@themargin\evensidemargin\fi
\fi\fi
\@@topmargin\topmargin
@@ -153,7 +164,35 @@
\stepcounter{page}%
\let\firstmark\botmark
}
-
+\renewcommand\@makefnmark{\hbox{%
+ \unless\ifnum\ltjgetparameter{direction}=3
+ \@textsuperscript{\normalfont\@thefnmark}%
+ \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}}
+\long\def\@footnotetext#1{%
+ \ifcase\ltjgetparameter{direction}%
+ \or \let\@tempa\dtou
+ \or\or\let\@tempa\tate
+ \or \let\@tempa\yoko
+ \else \let\@tempa\utod
+ \fi
+ \insert\footins{\@tempa%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+\def\@footnotemark{\leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+ \unless\ifnum\ltjgetparameter{direction}=3 \@makefnmark
+ \else\hbox to\z@{\hskip-.25\zw\raise.9\zh\@makefnmark\hss}\fi
+ \ifhmode\spacefactor\@x@sf\fi\relax}
\def\@setref#1#2#3{%
\ifx#1\relax
\protect\G@refundefinedtrue
@@ -169,10 +208,50 @@
\verb@eol@error \let\do\@makeother \dospecials
\verbatim@font\@noligs
\@ifstar\@sverb\@verb}
-\def\@makefnmark{\hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}}
\fi
\gdef\@stopfield{\null\color@endgroup\egroup}
\newcount\hour
\newcount\minute
+%%% AtBeginDvi
+\def \AtBeginDvi #1{%
+ \global \setbox \@begindvibox
+ \vbox{\yoko\unvbox \@begindvibox #1}%
+}
+
+%%% @makecol
+\gdef \@makecol {%
+ \ifvoid\footins
+ \setbox\@outputbox \box\@cclv
+ \else
+ \setbox\@outputbox \vbox {%
+ \boxmaxdepth \@maxdepth
+ \unvbox \@cclv
+ \vskip \skip\footins
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }%
+ \fi
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\@midlist}%
+ \global \let \@midlist \@empty
+ \@combinefloats
+ \ifvbox\@kludgeins
+ \@makespecialcolbox
+ \else
+ \setbox\@outputbox \vbox to\@colht {%
+ \@texttop
+ \dimen@ \dp\@outputbox
+ \unvbox \@outputbox
+ \ifnum\ltjgetparameter{direction}=4\else\hskip\z@\fi %%% LuaTeX-ja
+ \vskip -\dimen@
+ \@textbottom
+ }%
+ \fi
+ \global \maxdepth \@maxdepth
+}
+
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
index 4363948d8e4..7eaf0c41bed 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
@@ -1,19 +1,22 @@
%
% lltjdefs.sty
-%
+%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjdefs}[2014/09/19 Default font settings of LuaTeX-ja]
+\ProvidesPackage{lltjdefs}[2015/02/22 Default font settings of LuaTeX-ja]
\def\ltj@stdmcfont{IPAExMincho}
\def\ltj@stdgtfont{IPAExGothic}
-\InputIfFileExists{luatexja.cfg}{}{}
+\InputIfFileExists{luatexja.cfg}{}{%
+ \PackageInfo{lltjdefs}{Cannot find file `luatexja.cfg'\@gobble}%
+}
\DeclareKanjiEncodingDefaults{}{}
\DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10}
\DeclareYokoKanjiEncoding{JY3}{}{}
\DeclareKanjiSubstitution{JY3}{mc}{m}{n}
-%JT3
+\DeclareTateKanjiEncoding{JT3}{}{}
+\DeclareKanjiSubstitution{JT3}{mc}{m}{n}
\newcommand\mcdefault{mc}
\newcommand\gtdefault{gt}
@@ -22,7 +25,6 @@
\newcommand\kanjifamilydefault{\mcdefault}
\newcommand\kanjiseriesdefault{\mddefault}
\newcommand\kanjishapedefault{\updefault}
-\kanjiencoding{JY3}
\DeclareKanjiFamily{JY3}{mc}{}
\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[0.962216] \ltj@stdmcfont:jfm=ujis}{}
@@ -31,6 +33,14 @@
\DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
\DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
+\DeclareKanjiFamily{JT3}{mc}{}
+\DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[0.962216] \ltj@stdmcfont:jfm=ujisv}{}
+\DeclareKanjiFamily{JT3}{gt}{}
+\DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[0.962216] \ltj@stdgtfont:jfm=ujisv}{}
+\DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
+\DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
+\KanjiEncodingPair{JY3}{JT3}
+
\kanjiencoding{JY3}\selectfont\adjustbaseline
\DeclareTextFontCommand{\textmc}{\mcfamily}
@@ -44,20 +54,20 @@
\DeclareSymbolFontAlphabet{\mathmc}{mincho}
\DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
-\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
-\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
+\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
+\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
\ltjdefcharrange{3}{%
"2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
\ltjdefcharrange{4}{%
- "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
- "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
+ "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
+ "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
"FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese
-\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
+\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
\ltjdefcharrange{6}{%
- "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
+ "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
"4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF}
\ltjdefcharrange{7}{
- "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
+ "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
"AC00-"D7FF}
\ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
@@ -72,7 +82,7 @@
MIDDLE
-\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
+\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
% 2 "80-"FF num = 471/128 name = Latin-1 Supplement
% 3 "100-"17F num = 484/128 name = Latin Extended-A
% 4 "180-"24F num = 87/208 name = Latin Extended-B
@@ -81,7 +91,7 @@ MIDDLE
% 7 "300-"36F num = 98/112 name = Combining Diacritical Marks
% 64 "1E00-"1EFF num = 16/256 name = Latin Extended Additional
-\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
+\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
% Greek and Coptic, Cyrillic, Greek Extended
\ltjdefcharrange{3}{%
@@ -108,12 +118,12 @@ MIDDLE
NEGATIVE
\ltjdefcharrange{4}{%
- "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
- "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
+ "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
+ "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
"FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF}
} % non-Japanese
-\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
+\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
% Surrogates, Tags
% 208 "F0000-"FFFFF num = 0/65536 name = Supplementary Private Use Area-A
% 209 "100000-"10FFFF num = 0/65536 name = Supplementary Private Use Area-B
@@ -122,7 +132,7 @@ POSITIVE
% Japanese
\ltjdefcharrange{6}{%
- "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
+ "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
"4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF}
% 77 "2460-"24FF num = 150/160 name = Enclosed Alphanumerics
% 98 "2E80-"2EFF num = 21 name = CJK Radicals Supplement
@@ -143,7 +153,7 @@ POSITIVE
% "E0000-"E01EF Variation Selectors Supplement
\ltjdefcharrange{7}{
- "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
+ "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
"AC00-"D7FF}
% 35 "1100-"11FF num = 1 name = Hangul Jamo
% 99 "2F00-"2FDF num = 0/224 name = Kangxi Radicals
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
index 65d86aceced..e53384d88cf 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2014/01/23 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2014/10/29 Patch to NFSS2 for LuaTeX-ja]
\let\k@encoding\@empty
\let\ck@encoding\@empty
@@ -28,14 +28,17 @@
\ifdefined\cHT\else\newdimen\cHT\fi
%\let\afont\font
+\newbox\dstrutbox
\newbox\tstrutbox
\newbox\zstrutbox
\def\strut{\relax
- \ifydir
+ \ifnum\ltjgetparameter{direction}=1 % dtou
+ \ifmmode\copy\dstrutbox\else\unhcopy\dstrutbox\fi
+ \else\ifnum\ltjgetparameter{direction}=4 % yoko
\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi
- \else
+ \else % tate and utod
\ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi
- \fi
+ \fi\fi
}
\def\tstrut{\relax\hbox{\tate
\ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi}}
@@ -201,13 +204,13 @@
\usekanji{#2}{#3}{#4}{#5}%
\global\let#1\getjfont
\else
- %\directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{#2}')}\ifin@%
- % \usekanji{#2}{#3}{#4}{#5}%
- % \global\let#1\gettfont
- %\else
+ \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{#2}')}\ifin@%
+ \usekanji{#2}{#3}{#4}{#5}%
+ \global\let#1\gettfont
+ \else
\useroman{#2}{#3}{#4}{#5}%
\global\expandafter\let\expandafter#1\the\font
- %\fi
+ \fi
\fi
\endgroup
}
@@ -268,18 +271,30 @@
\ltj@@EverySelectfont@Init
}
\def\ltj@selectfont@patch{%
- \let\tmp@error@fontshape\error@fontshape
+ \directlua{luatexja.base.start_time_measure('selectfont')}%
+ \let\tmp@error@fontshape\error@fontshape
\let\error@fontshape\error@kfontshape
\directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
\let\cy@encoding\k@encoding
\edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}%
\else
- %\directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
- % \let\ct@encoding\k@encoding
- % \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
- %\else
+ \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
+ \let\ct@encoding\k@encoding
+ \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
+ \else
\@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
- %\fi
+ \fi
+ \fi
+%
+ \let\k@encoding\ct@encoding
+ \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
+ \pickup@tfont
+ \font@name
+ \ltj@@does@alt@set{\curr@kfontshape}%
+ % alt fonts の定義
+ \directlua{luatexja.jfont.output_alt_font_cmd('t', '\luatexluaescapestring{\curr@kfontshape}')}%
+ % 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする
+ \directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}%
\fi
%
\let\k@encoding\cy@encoding
@@ -288,7 +303,7 @@
\font@name
\ltj@@does@alt@set{\curr@kfontshape}%
% alt fonts の定義
- \directlua{luatexja.jfont.output_alt_font_cmd('\luatexluaescapestring{\curr@kfontshape}')}%
+ \directlua{luatexja.jfont.output_alt_font_cmd('y', '\luatexluaescapestring{\curr@kfontshape}')}%
% 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする
\directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}%
\fi
@@ -311,11 +326,11 @@
% 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
\fi
\fi
+ \directlua{luatexja.base.stop_time_measure('selectfont')}%
}
\EverySelectfont{\ltj@selectfont@patch}
\def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}}
-\KanjiEncodingPair{JY3}{JT3}
\def\set@fontsize#1#2#3{%
\@defaultunits\@tempdimb#2pt\relax\@nnil
\edef\f@size{\strip@pt\@tempdimb}%
@@ -328,38 +343,40 @@
\baselineskip\f@linespread\baselineskip
\normalbaselineskip\baselineskip
\adjustbaseline
- \setbox\strutbox\hbox{%\yoko
+ \setbox\strutbox\hbox{\yoko
\vrule\@width\z@
\@height.7\baselineskip \@depth.3\baselineskip}%
- \setbox\tstrutbox\hbox{%\tate
+ \setbox\dstrutbox\hbox{\dtou
+ \vrule\@width\z@
+ \@height.7\baselineskip \@depth.3\baselineskip}%
+ \setbox\tstrutbox\hbox{\tate
\vrule\@width\z@
\@height.5\baselineskip \@depth.5\baselineskip}%
- \setbox\zstrutbox\hbox{%\tate
+ \setbox\zstrutbox\hbox{\tate
\vrule\@width\z@
\@height.7\baselineskip \@depth.3\baselineskip}%
\let\size@update\relax}}
\newbox\adjust@box
+\newbox\adjust@box@aux
\newdimen\adjust@dimen
\def\adjustbaseline{%
- \setbox\adjust@box\hbox{\ltj@ykblshift=0あ}%
+ \setbox\adjust@box\hbox{%
+ \ltj@ykblshift\z@\ltj@tkblshift\z@ 漢}%
\cht\ht\adjust@box
\cdp\dp\adjust@box
\cwd\wd\adjust@box
\cvs\normalbaselineskip
\chs\cwd
\cHT\cht \advance\cHT\cdp
- % \iftdir
- % \setbox0\hbox{\tate\ltjsetparameter{tjabaselineshift=\z@}あ}%
- % \setbox\adjust@box\hbox{\tate\ltjsetparameter{talbaselineshift=\z@}M}%
- % \adjust@dimen\ht\adjust@box
- % \advance\adjust@dimen\dp\adjust@box
- % \advance\adjust@dimen-\ht0
- % \divide\adjust@dimen\tw@
- % \advance\adjust@dimen0.5\dp0
- % \advance\adjust@dimen-\dp\adjust@box
- % \ltjsetparameter{talbaselineshift=\adjust@dimen}
- % \fi
- }
+ \setbox\adjust@box@aux\hbox{\tate\ltj@tkblshift\z@ 漢}%
+ \setbox\adjust@box\hbox{\tate\ltj@tablshift\z@ M}%
+ \adjust@dimen\ht\adjust@box
+ \advance\adjust@dimen\dp\adjust@box
+ \advance\adjust@dimen-\ht\adjust@box@aux
+ \divide\adjust@dimen\tw@
+ \advance\adjust@dimen0.5\dp\adjust@box@aux
+ \advance\adjust@dimen-\dp\adjust@box
+ \ltj@tablshift=\adjust@dimen}
\DeclareRobustCommand\romanencoding[1]{%
\expandafter\ifx\csname T@#1\endcsname\relax
\@latex@error{Encoding scheme `#1' unknown}\@eha
@@ -397,11 +414,11 @@
\directlua{luatexja.jfont.is_kyenc(\tmp@enc)}\ifin@%
\let\cy@encoding\k@encoding
\else
- %\directlua{luatexja.jfont.is_ktenc(\tmp@enc)}\ifin@%
- % \let\ct@encoding\k@encoding
- %\else
+ \directlua{luatexja.jfont.is_ktenc(\tmp@enc)}\ifin@%
+ \let\ct@encoding\k@encoding
+ \else
\@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
- %\fi
+ \fi
\fi
}
\let\kenc@update\relax
@@ -426,6 +443,8 @@
\newif\if@notkfam
\newif\if@notffam
\newif\if@tempswz
+\newif\if@ltj@use@fd
+\@ltj@use@fdtrue
\DeclareRobustCommand\romanfamily[1]{\edef\f@family{#1}}
\DeclareRobustCommand\kanjifamily[1]{\edef\k@family{#1}}
\DeclareRobustCommand\fontfamily[1]{%
@@ -434,7 +453,8 @@
\edef\tmp@enc{'\luatexluaescapestring{\k@encoding}'}%
\ifcsname \k@encoding+#1\endcsname % if \k@encoding+#1 is already defined
\edef\k@family{#1}%
- \else % search font definition file...
+ \else\if@ltj@use@fd
+ % search font definition file...
\directlua{luatexja.jfont.is_kfam(\tmp@enc, \tmp@item)}%
\ifin@\edef\k@family{#1}\else%
\directlua{luatexja.jfont.is_Nkfam(\tmp@enc, \tmp@item)}%
@@ -452,7 +472,9 @@
\fi
\fi
\fi
- \fi
+ \else % do not use font definition file
+ \@notkfamtrue%
+ \fi\fi
\edef\tmp@enc{'\luatexluaescapestring{\f@encoding}'}%
\ifcsname \f@encoding+#1\endcsname
\edef\f@family{#1}%
@@ -531,7 +553,6 @@
\@onlypreamble\kanjiprocess@table
\DeclareTextCommandDefault{\textunderscore}{%
\leavevmode\kern.06em
- %\iftdir\raise-\tbaselineshift\fi
\vbox{\hrule\@width.3em}}
%%%%%% LuaTeX-ja specific
@@ -550,6 +571,13 @@
\let\extract@font\extract@afont
\fi
\let\getjfont\font@name}
+\def\pickup@tfont{%
+ \expandafter \ifx \font@name \relax
+ \let\extract@font\extract@tfont
+ \define@newfont
+ \let\extract@font\extract@afont
+ \fi
+ \let\gettfont\font@name}
% 異なる和文 enc/fam/ser/shape からは異なるフォント番号が振られるように
% わざと「ゴミをつける」
@@ -561,7 +589,16 @@
\ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}%
\edef\external@font{\expandafter\ltj@@patch@external@font\external@font}%
\fi
- \expandafter\globaljfont\font@name\external@font\relax
+ \expandafter\globaljfont\font@name\external@font\relax% ここで時間がかかる
+ \font@name%\global\zw=\zw\global\zh=\zh
+ \csname \f@encoding+\f@family\endcsname
+ \csname\curr@fontshape\endcsname}
+\def\extract@tfont{%
+ \get@external@font
+ \ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}%
+ \edef\external@font{\expandafter\ltj@@patch@external@font\external@font}%
+ \fi
+ \expandafter\globaltfont\font@name\external@font\relax
\font@name%\global\zw=\zw\global\zh=\zh
\csname \f@encoding+\f@family\endcsname
\csname\curr@fontshape\endcsname}
@@ -650,9 +687,12 @@
\def\ClearAlternateKanjiFont#1#2#3#4{%
\directlua{luatexja.jfont.clear_alt_font_latex('\luatexluaescapestring{#1/#2/#3/#4}')}}
-\def\ltj@pickup@altfont@aux#1{%
+\def\ltj@pickup@altfont@auxy#1{%
\begingroup\edef\font@name{\csname #1/\f@size\endcsname}\pickup@jfont\endgroup%
}
+\def\ltj@pickup@altfont@auxt#1{%
+ \begingroup\edef\font@name{\csname #1/\f@size\endcsname}\pickup@tfont\endgroup%
+}
\def\ltj@pickup@altfont@copy#1#2{%
\ltj@@getjfontnumber#1%
\directlua{luatexja.jfont.pickup_alt_font_b(\the\ltj@tempcntc,'\luatexluaescapestring{#2}')}%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-footmisc.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-footmisc.sty
new file mode 100644
index 00000000000..d7125541a05
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-footmisc.sty
@@ -0,0 +1,58 @@
+%
+% lltjp-footmiscs.sty
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lltjp-footmisc}[2014/11/23 Patch to footmisc for LuaTeX-ja]
+\RequirePackage{footmisc}
+
+\let \if@tempswa \ifFN@bottom
+\ifFN@para \@tempswatrue \fi
+\if@tempswa
+ \ifFN@bottom
+ \toks@{\setbox\@outputbox \box\@cclv
+ \xdef\@freelist{\@freelist\@midlist}%
+ \global\let\@midlist\@empty
+ \@combinefloats
+ \ifvoid\footins
+ \else
+ \setbox\@outputbox \vbox\bgroup
+ \boxmaxdepth\@maxdepth
+ \unvbox\@outputbox
+ \vfill\relax
+ }
+ \the\FN@temptoken
+ \toks@\expandafter{\the\toks@\egroup\fi}
+ \else
+ \toks@{\ifvoid\footins
+ \setbox\@outputbox\box\@cclv
+ \else
+ \setbox\@outputbox \vbox\bgroup
+ \boxmaxdepth\@maxdepth
+ \unvbox\@cclv
+ }
+ \the\FN@temptoken
+ \toks@\expandafter{\the\toks@
+ \egroup
+ \fi
+ \xdef\@freelist{\@freelist\@midlist}%
+ \global\let\@midlist\@empty
+ \@combinefloats
+ }%
+ \fi
+ \toks@\expandafter{\the\toks@
+ \ifvbox\@kludgeins
+ \@makespecialcolbox
+ \else
+ \setbox\@outputbox \vbox to\@colht{%
+ \@texttop \dimen@\dp\@outputbox
+ \unvbox\@outputbox
+ \ifnum\ltjgetparameter{direction}=3 \hskip\z@\fi %%% LuaTeX-ja
+ \vskip -\dimen@\@textbottom
+ }%
+ \fi
+ \global\maxdepth\@maxdepth
+ }
+ \edef\@makecol{\the\toks@}
+\fi
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty
new file mode 100644
index 00000000000..1ac1cc0bd4e
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty
@@ -0,0 +1,486 @@
+%
+% lltjp-geometry.sty
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lltjp-geometry}[2015/01/01 Patch to geometry for LuaTeX-ja with vertical writing mode]
+\RequirePackage{ifluatex}
+
+\ifdefined\if@ltj@@geometry@tate\expandafter\endinput\fi
+\newif\if@ltj@@geometry@tate
+\@ltj@@geometry@tatefalse
+\ifluatex\else % pTeX
+ \@ltj@@geometry@tatetrue
+\def \AtBeginDvi #1{%
+ \global \setbox \@begindvibox
+ \vbox{\yoko\unvbox \@begindvibox #1}%
+}
+\fi
+
+\RequirePackage{filehook}
+\newif\ifGm@ltj@layoutswitch
+\let\orig@PackageWarningNoLine=\PackageWarningNoLine
+% define ifGm@swap@papersize if it is undefined
+\expandafter\newif\csname ifGm@swap@papersize\endcsname
+
+\AtBeginOfPackageFile{geometry}{%
+ \edef\Gm@ltj@topskip{\the\topskip}
+ \edef\Gm@ltj@headsep{\the\headsep}
+ \edef\Gm@ltj@footskip{\the\footskip}
+\ifluatex
+ \ifnum\ltjgetparameter{direction}=3 \@ltj@@geometry@tatetrue\fi
+\fi
+\if@ltj@@geometry@tate
+ \let\PackageWarningNoLine\@gobbletwo% 警告抑止
+\fi
+}
+\AtEndOfPackageFile{geometry}{%
+\let\PackageWarningNoLine=\orig@PackageWarningNoLine
+\if@ltj@@geometry@tate
+ \let\PackageWarningNoLine=\orig@PackageWarningNoLine
+%%% ここからパッチ開始
+
+% TODO:
+% * pTeX, LuaTeX ともに truedimen が正しく動作しない
+% * pTeX resetpaper が正しく動作しない
+%
+% `h', `v' は「水平」「垂直」を意味するが:
+% ユーザー側では「紙の物理的な水平方向」「物理的な垂直方向」を,
+% しかしパッケージ内部処理では「字送り方向」「行送り方向」を表す.
+% そのため,key-value interface 内で h, v の交換を行う必要がある.
+
+% twoside 指定時は,lmargin は小口側,rmargin はノド側の余白を指す.
+% また,bindingoffset 偶数ページを右に,奇数ページを左にずらす.
+\define@key{Gm}{hdivide}{\Gm@parse@divide{#1}{lmargin}{height}{rmargin}}%
+
+\define@key{Gm}{vscale}{\Gm@hbodytrue\edef\Gm@hscale{#1}}%
+\define@key{Gm}{hscale}{\Gm@vbodytrue\edef\Gm@vscale{#1}}%
+\define@key{Gm}{vdivide}{\Gm@parse@divide{#1}{tmargin}{width}{bmargin}}%
+\define@key{Gm}{divide}{\Gm@parse@divide{#1}{tmargin}{width}{bmargin}%
+ \Gm@parse@divide{#1}{lmargin}{height}{rmargin}}%
+\define@key{Gm}{vmargin}{\Gm@branch{#1}{tmargin}{bmargin}}%
+\define@key{Gm}{hmargin}{\Gm@branch{#1}{lmargin}{rmargin}}%
+\define@key{Gm}{margin}{\Gm@branch{#1}{tmargin}{lmargin}%
+ \Gm@branch{#1}{bmargin}{rmargin}}%
+\define@key{Gm}{headsep}{\Gm@defbylen{ltj@headsep}{#1}}%
+\define@key{Gm}{footskip}{\Gm@defbylen{ltj@footskip}{#1}}%
+\let\KV@Gm@foot\KV@Gm@footskip
+\define@key{Gm}{vmarginratio}{\edef\Gm@hmarginratio{#1}}%
+\define@key{Gm}{hmarginratio}{\edef\Gm@vmarginratio{#1}}%
+\define@key{Gm}{nohead}[true]{\Gm@doifelse{nohead}{#1}%
+ {\Gm@setlength\headheight\z@\Gm@defbylen{ltj@headsep}\z@}{}}%
+\define@key{Gm}{nofoot}[true]{\Gm@doifelse{nofoot}{#1}%
+ {\Gm@defbylen{ltj@footskip}\z@}{}}%
+\define@key{Gm}{noheadfoot}[true]{\Gm@doifelse{noheadfoot}{#1}%
+ {\Gm@setlength\headheight\z@\Gm@defbylen{ltj@headsep}\z@
+ \Gm@defbylen{ltj@footskip}\z@}{}}%
+
+% \@mparswitch は傍注の出力位置を左右ページで変えるスイッチだが,
+% geometry.sty はこれを左右ページのレイアウトを変えるか否かの判定にも使っている.
+% 縦組クラスの場合は \@mparswitch は常に偽でないとおかしなことになるので
+% \@mparswitch -> \Gm@ltj@layoutswitch と名称変更する.
+
+\let\Gm@ltj@layoutswitch\@mparswitch
+\@mparswitchfalse
+\define@key{Gm}{twoside}[true]{\Gm@doifelse{twoside}{#1}%
+ {\@twosidetrue\Gm@ltj@layoutswitchtrue}{\@twosidefalse\Gm@ltj@layoutswitchfalse}}%
+\define@key{Gm}{asymmetric}[true]{\Gm@doifelse{asymmetric}{#1}%
+ {\@twosidetrue\Gm@ltj@layoutswitchfalse}{}}%
+
+% includemp 指定時は,\headsep (if reversemp || twocolumn) や,
+% \footskip (if !reversemp || twocolumn) を傍注幅だけ増加させる.
+
+% h <-> v
+\def\Gm@Dhratio{2:3}% = top:bottom default
+\def\Gm@Dvratio{1:1}% = left:right default for oneside
+\def\Gm@Dvratiotwo{3:2}% = inner:outer default for twoside.
+\ifGm@swap@papersize
+ % geometry.sty ロード時に landscape オプションが指定されていた場合,
+ % それによって用紙サイズの縦横が入れ替わってしまっているので補正する.
+ \setlength\@tempdima{\paperwidth}%
+ \setlength\paperwidth{\paperheight}%
+ \setlength\paperheight{\@tempdima}%
+\fi
+
+% save length
+\def\Gm@save{%
+ \Gm@savelength{paperwidth}%
+ \Gm@savelength{paperheight}%
+ \Gm@savelength{textwidth}%
+ \Gm@savelength{textheight}%
+ \Gm@savelength{evensidemargin}%
+ \Gm@savelength{oddsidemargin}%
+ \Gm@savelength{topmargin}%
+ \Gm@savelength{headheight}%
+ %\Gm@savelength{headsep}%
+ \Gm@savelength{topskip}%
+ %\Gm@savelength{footskip}%
+ \Gm@savelength{baselineskip}%
+ \Gm@savelength{marginparwidth}%
+ \Gm@savelength{marginparsep}%
+ \Gm@savelength{columnsep}%
+ \Gm@savelength{hoffset}%
+ \Gm@savelength{voffset}
+ \Gm@savelength{Gm@layoutwidth}%
+ \Gm@savelength{Gm@layoutheight}%
+ \Gm@savelength{Gm@layouthoffset}%
+ \Gm@savelength{Gm@layoutvoffset}%
+ \Gm@saveboolean{@twocolumn}%
+ \Gm@saveboolean{@twoside}%
+ \Gm@saveboolean{Gm@ltj@layoutswitch}%
+ \Gm@saveboolean{@reversemargin}}%
+
+% frame
+\ifluatex
+ \def\Gm@pageframe@cmd{\vb@xt@\z@}
+\else
+ \def\Gm@pageframe@cmd{\vb@xt@\z@\bgroup\yoko\aftergroup\egroup}
+\fi
+\renewcommand*{\Gm@pageframes}{%
+ \Gm@pageframe@cmd{%
+ \ifGm@showcrop
+ \vb@xt@\z@{\vskip-1\Gm@truedimen in\vskip\Gm@layoutvoffset%
+ \hb@xt@\z@{\hskip-1\Gm@truedimen in\hskip\Gm@layouthoffset%
+ \vb@xt@\Gm@layoutheight{%
+ \let\protect\relax
+ \hb@xt@\Gm@layoutwidth{\Gm@cropmark(-1,1,-3,3)\hfil\Gm@cropmark(1,1,3,3)}%
+ \vfil
+ \hb@xt@\Gm@layoutwidth{\Gm@cropmark(-1,-1,-3,-3)\hfil\Gm@cropmark(1,-1,3,-3)}}%
+ \hss}%
+ \vss}%
+ \fi%
+ \ifGm@showframe
+ \if@twoside
+ \ifodd\count\z@
+ \let\@themargin\oddsidemargin
+ \else
+ \let\@themargin\evensidemargin
+ \fi
+ \fi
+ \moveright\@themargin%
+ \vb@xt@\z@{%
+ \vskip\topmargin\vb@xt@\z@{\vss\Gm@hrule}%
+ \vskip\headheight\vb@xt@\z@{\vss\Gm@hruled}%
+ \vskip\headsep\vb@xt@\z@{\vss\Gm@hrule}%
+ \if@reversemargin\vb@xt@\z@{%
+ \vss\vb@xt@\z@{\vss\Gm@hrule}%
+ \vskip\marginparwidth\vb@xt@\z@{\vss\Gm@hrule}%
+ \vskip\marginparsep
+ }\fi
+ \hb@xt@\textwidth{\llap{\Gm@vrule}\hfil\Gm@vrule}%
+ \vb@xt@\z@{\vss\Gm@hruled}%
+ \unless\if@reversemargin\vb@xt@\z@{%
+ \vskip\marginparsep\vb@xt@\z@{\vss\Gm@hrule}%
+ \vskip\marginparwidth\vb@xt@\z@{\vss\Gm@hruled}\vss%
+ }\fi%
+ \vskip\footskip\vb@xt@\z@{\vss\Gm@hruled}%
+ \vss}%
+ \fi%
+ }}
+\def\Gm@detall#1#2#3#4{%
+ \@tempcnta\z@
+ \if#1h
+ \let\Gm@mratio\Gm@hmarginratio
+ \edef\Gm@Dmratio{\Gm@Dhratio}%
+ \else
+ \let\Gm@mratio\Gm@vmarginratio
+ \edef\Gm@Dmratio{\if@twoside\Gm@Dvratiotwo\else\Gm@Dvratio\fi}%
+ \fi
+ \if#1h
+ \ifx\Gm@tmargin\@undefined\else\advance\@tempcnta4\relax\fi
+ \ifGm@hbody\advance\@tempcnta2\relax\fi
+ \ifx\Gm@bmargin\@undefined\else\advance\@tempcnta1\relax\fi
+ \Gm@cnth\@tempcnta
+ \else
+ \ifx\Gm@lmargin\@undefined\else\advance\@tempcnta4\relax\fi
+ \ifGm@vbody\advance\@tempcnta2\relax\fi
+ \ifx\Gm@rmargin\@undefined\else\advance\@tempcnta1\relax\fi
+ \Gm@cntv\@tempcnta
+ \fi
+ \ifcase\@tempcnta
+ \if#1h
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
+ \else
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
+ \fi
+ \Gm@detiiandiii{#2}{#3}{#4}%
+ \or
+ \ifx\Gm@mratio\@undefined
+ \if#1h
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
+ \else
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
+ \fi
+ \setlength\@tempdimc{\@nameuse{Gm@#4}}%
+ \Gm@detiiandiii{#2}{#3}{#4}%
+ \expandafter\let\csname Gm@#2\endcsname\@undefined
+ \Gm@defbylen{#4}{\@tempdimc}%
+ \else
+ \Gm@setbyratio[f]{#1}{#4}{#3}%
+ \fi
+ \Gm@detiv{#2}{#3}{#4}{#2}%
+ \or\Gm@detiiandiii{#2}{#3}{#4}%
+ \or\Gm@detiv{#2}{#2}{#4}{#3}%
+ \or
+ \ifx\Gm@mratio\@undefined
+ \if#1h
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
+ \else
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
+ \fi
+ \setlength\@tempdimc{\@nameuse{Gm@#3}}%
+ \Gm@detiiandiii{#2}{#4}{#3}%
+ \expandafter\let\csname Gm@#2\endcsname\@undefined
+ \Gm@defbylen{#3}{\@tempdimc}%
+ \else
+ \Gm@setbyratio[b]{#1}{#3}{#4}%
+ \fi
+ \Gm@detiv{#2}{#3}{#4}{#2}%
+ \or\Gm@detiv{#2}{#3}{#4}{#2}%
+ \or\Gm@detiv{#2}{#2}{#3}{#4}%
+ \or\Gm@warning{Over-specification in `#1'-direction.%
+ ^^J\@spaces `#2' (\@nameuse{Gm@#2}) is ignored}%
+ \Gm@detiv{#2}{#3}{#4}{#2}%
+ \else\fi}%
+\def\Gm@clean{%
+ \ifnum\Gm@cnth<4\let\Gm@tmargin\@undefined\fi
+ \ifodd\Gm@cnth\else\let\Gm@bmargin\@undefined\fi
+ \ifnum\Gm@cntv<4\let\Gm@lmargin\@undefined\fi
+ \ifodd\Gm@cntv\else\let\Gm@rmargin\@undefined\fi
+ \ifGm@hbody\else
+ \let\Gm@hscale\@undefined
+ \let\Gm@width\@undefined
+ \let\Gm@textwidth\@undefined
+ \fi
+ \ifGm@vbody\else
+ \let\Gm@vscale\@undefined
+ \let\Gm@height\@undefined
+ \let\Gm@textheight\@undefined
+ \fi
+ }%
+\def\Gm@adjustpaper{%
+ \ifdim\paperwidth>\p@\else
+ \PackageError{geometry}{%
+ \string\paperwidth\space(\the\paperwidth) too short}{%
+ Set a paper type (e.g., `a4paper').}%
+ \fi
+ \ifdim\paperheight>\p@\else
+ \PackageError{geometry}{%
+ \string\paperheight\space(\the\paperheight) too short}{%
+ Set a paper type (e.g., `a4paper').}%
+ \fi
+ \ifGm@swap@papersize
+ \setlength\@tempdima{\paperwidth}%
+ \setlength\paperwidth{\paperheight}%
+ \setlength\paperheight{\@tempdima}%
+ \fi
+ \ifGm@layout\else
+ \setlength\Gm@layoutwidth{\paperheight}%
+ \setlength\Gm@layoutheight{\paperwidth}%
+ \fi}%
+\def\Gm@adjustbody{
+ \ifGm@hbody
+ \ifx\Gm@width\@undefined
+ \ifx\Gm@hscale\@undefined
+ \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}%
+ \else
+ \Gm@defbylen{width}{\Gm@hscale\Gm@layoutwidth}%
+ \fi
+ \fi
+ \ifx\Gm@textwidth\@undefined\else
+ \setlength\@tempdima{\Gm@textwidth}%
+ \ifGm@includemp
+ \advance\@tempdima\Gm@wd@mp
+ \fi
+ \ifGm@includehead
+ \addtolength\@tempdima{\headheight}%
+ \addtolength\@tempdima{\headsep}%
+ \fi
+ \ifGm@includefoot
+ \addtolength\@tempdima{\footskip}%
+ \fi
+ \edef\Gm@width{\the\@tempdima}%
+ \fi
+ \fi
+ \ifGm@vbody
+ \ifx\Gm@height\@undefined
+ \ifx\Gm@vscale\@undefined
+ \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}%
+ \else
+ \Gm@defbylen{height}{\Gm@vscale\Gm@layoutheight}%
+ \fi
+ \fi
+ \setlength\topskip\Gm@ltj@topskip
+ \ifx\Gm@lines\@undefined\else
+ \@tempdima=\f@size\p@ \@tempdima=.5\@tempdima
+ \ifluatex
+ \advance\@tempdima\ltjgetparameter{talbaselineshift}%
+ \else
+ \advance\@tempdima\tbaselineshift
+ \fi
+ \ifdim\maxdepth<\@tempdima
+ \PackageWarningNoLine{lltjp-geometry}%
+ {\noexpand\maxdepth was changed from \the\maxdepth\space
+ to \the\@tempdima}
+ \maxdepth\@tempdima
+ \fi
+ \setbox\z@=\hbox{\tate% next \ifdim must be executed in tate dir.
+ \ifdim\topskip<\ht\tstrutbox
+ \@tempdima\topskip
+ \global\topskip\ht\tstrutbox
+ \PackageWarningNoLine{lltjp-geometry}%
+ {\noexpand\topskip was changed from \the\@tempdima\space
+ to \the\topskip}
+ \fi}%
+ \setlength\@tempdima{\baselineskip}%
+ \multiply\@tempdima\Gm@lines
+ \addtolength\@tempdima{\topskip}%
+ \addtolength\@tempdima{-\baselineskip}%
+ \edef\Gm@textheight{\the\@tempdima}%
+ \fi
+ \ifx\Gm@textheight\@undefined\else
+ \edef\Gm@height{\Gm@textheight}%
+ \fi
+ \fi}%
+
+\def\Gm@adjustmp{%
+ \ifGm@includemp
+ \@tempdimb\marginparwidth
+ \advance\@tempdimb\marginparsep
+ \Gm@wd@mp\@tempdimb
+ \if@twocolumn
+ \Gm@wd@mp2\@tempdimb
+ \fi
+ \fi}%
+\def\Gm@@process{%
+ \Gm@expandlengths
+ \Gm@adjustpaper
+ \addtolength\Gm@layoutheight{-\Gm@bindingoffset}%
+ \Gm@adjustmp
+ \Gm@adjustbody
+ \Gm@detall{h}{width}{tmargin}{bmargin}%
+ \Gm@detall{v}{height}{lmargin}{rmargin}%
+ \setlength\textwidth{\Gm@width}%
+ \setlength\textheight{\Gm@height}%
+ \setlength\headsep{\Gm@ltj@headsep}%
+ \setlength\footskip{\Gm@ltj@footskip}%
+ \setlength\topmargin{\Gm@tmargin}%
+ \setlength\oddsidemargin{\Gm@lmargin}%
+ \addtolength\oddsidemargin{-1\Gm@truedimen in}%
+ \ifGm@ltj@layoutswitch
+ \setlength\evensidemargin{\Gm@rmargin}%
+ \addtolength\evensidemargin{-1\Gm@truedimen in}%
+ \else
+ \evensidemargin\oddsidemargin
+ \fi
+ \advance\evensidemargin\Gm@bindingoffset
+ \addtolength\topmargin{-1\Gm@truedimen in}%
+ \ifGm@includehead
+ \addtolength\textwidth{-\headheight}%
+ \addtolength\textwidth{-\headsep}%
+ \else
+ \addtolength\topmargin{-\headheight}%
+ \addtolength\topmargin{-\headsep}%
+ \fi
+ \ifGm@includefoot
+ \addtolength\textwidth{-\footskip}%
+ \fi
+ \ifGm@includemp
+ \advance\textwidth-\Gm@wd@mp
+ \if@twocolumn
+ \advance\headsep.5\Gm@wd@mp
+ \advance\footskip.5\Gm@wd@mp
+ \else\if@reversemargin
+ \advance\headsep\Gm@wd@mp
+ \else
+ \advance\footskip\Gm@wd@mp
+ \fi\fi
+ \fi
+ \ifGm@heightrounded
+ \setlength\@tempdima{\textheight}%
+ \addtolength\@tempdima{-\topskip}%
+ \@tempcnta\@tempdima
+ \@tempcntb\baselineskip
+ \divide\@tempcnta\@tempcntb
+ \setlength\@tempdimb{\baselineskip}%
+ \multiply\@tempdimb\@tempcnta
+ \advance\@tempdima-\@tempdimb
+ \multiply\@tempdima\tw@
+ \ifdim\@tempdima>\baselineskip
+ \addtolength\@tempdimb{\baselineskip}%
+ \fi
+ \addtolength\@tempdimb{\topskip}%
+ \textheight\@tempdimb
+ \fi
+ \advance\oddsidemargin\Gm@layoutvoffset%
+ \advance\evensidemargin\Gm@layoutvoffset%
+ \advance\topmargin\Gm@layouthoffset%
+ \addtolength\Gm@layoutheight{\Gm@bindingoffset}%
+}% end of \Gm@@process
+% log
+\def\Gm@logcontent#1{%
+ *geometry* verbose mode - [ #1 ] result:^^J%
+ \ifGm@pass * pass: disregarded the geometry package!^^J%
+ \else
+ * driver: \if\Gm@driver<none>\else\Gm@driver\fi^^J%
+ * paper: \ifx\Gm@paper\@undefined<default>\else\Gm@paper\fi^^J%
+ * layout: \ifGm@layout<custom>\else<same size as paper>\fi^^J%
+ \ifGm@layout
+ * layout(width,height): (\the\Gm@layoutwidth,\the\Gm@layoutheight)^^J%
+ \fi
+ * layoutoffset:(h,v)=(\the\Gm@layouthoffset,\the\Gm@layoutvoffset)^^J%
+ \@ifundefined{Gm@lines}{}{* lines: \Gm@lines^^J}%
+ \@ifundefined{Gm@hmarginratio}{}{* hratio: \Gm@hmarginratio^^J}%
+ \@ifundefined{Gm@vmarginratio}{}{* vratio: \Gm@vmarginratio^^J}%
+ \ifdim\Gm@bindingoffset=\z@\else
+ * bindingoffset: \the\Gm@bindingoffset^^J\fi
+ * modes: %
+ \Gm@showbool{landscape}%
+ \Gm@showbool{includehead}%
+ \Gm@showbool{includefoot}%
+ \Gm@showbool{includemp}%
+ \if@twoside twoside\space\fi%
+ \ifGm@ltj@layoutswitch\else\if@twoside asymmetric\space\fi\fi%
+ \Gm@showbool{heightrounded}%
+ \ifx\Gm@truedimen\@empty\else truedimen\space\fi%
+ \Gm@showbool{showframe}%
+ \Gm@showbool{showcrop}%
+ ^^J%
+ * h-part:(L,W,R)=(\Gm@lmargin, \Gm@height, \Gm@rmargin)^^J%
+ * v-part:(T,H,B)=(\Gm@tmargin, \Gm@width, \Gm@bmargin)^^J%
+ \fi
+ \Gm@showdim{\paperwidth}%
+ \Gm@showdim{\paperheight}%
+ \Gm@showdim{\textwidth}%
+ \Gm@showdim{\textheight}%
+ \Gm@showdim{\oddsidemargin}%
+ \Gm@showdim{\evensidemargin}%
+ \Gm@showdim{\topmargin}%
+ \Gm@showdim{\headheight}%
+ \Gm@showdim{\headsep}%
+ \Gm@showdim{\topskip}%
+ \Gm@showdim{\footskip}%
+ \Gm@showdim{\marginparwidth}%
+ \Gm@showdim{\marginparsep}%
+ \Gm@showdim{\columnsep}%
+ * \string\skip\string\footins=\the\skip\footins^^J%
+ \Gm@showdim{\hoffset}%
+ \Gm@showdim{\voffset}%
+ \Gm@showdim{\mag}%
+ * \string\@twocolumn\if@twocolumn true\else false\fi^^J%
+ * \string\@twoside\if@twoside true\else false\fi^^J%
+ * \string\@mparswitch\if@mparswitch true\else false\fi^^J%
+ * \string\@reversemargin\if@reversemargin true\else false\fi^^J%
+ * (1in=72.27pt=25.4mm, 1cm=28.453pt)^^J}%
+
+
+\Gm@initall
+\Gm@processconfig
+\ProcessOptionsKV[c]{Gm}%
+\Gm@setdefaultpaper
+\ProcessOptionsKV[p]{Gm}%
+\Gm@process
+
+%%% 終了
+\fi}
+\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty
index 3017f08563a..d14a48801ac 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty
@@ -329,4 +329,4 @@
\def\lstlistingname{ソースコード}
\def\lstlistlistingname{ソースコード目次}
% \end{修正事項}
-\endinput
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-stfloats.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-stfloats.sty
new file mode 100644
index 00000000000..e90cef4955f
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-stfloats.sty
@@ -0,0 +1,49 @@
+%
+% lltjp-stfloats.sty
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lltjp-stfloats}[2014/11/23 Patch to stfloats for LuaTeX-ja]
+
+\RequirePackage{stfloats,luatexja}
+
+\let\ltj@fn@makecol=\fn@makecol
+
+\gdef\fn@makecol{%
+ \setbox\@outputbox \box\@cclv
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\@midlist}%
+ \global \let \@midlist \@empty
+ \@combinefloats
+ \ifvoid\footins
+ \else
+ \setbox\@outputbox \vbox {%
+ \boxmaxdepth \@maxdepth
+ \unvbox \@outputbox
+ \vskip \skip\footins
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }%
+ \fi
+ \ifvbox\@kludgeins
+ \@makespecialcolbox
+ \else
+ \setbox\@outputbox \vbox to\@colht {%
+ \@texttop
+ \dimen@ \ltjgetdp\@outputbox
+ \unvbox \@outputbox
+ \ifnum\ltjgetparameter{direction}=3 \hskip\z@\fi %%% LuaTeX-ja
+ \vskip -\dimen@
+ \@textbottom
+ }%
+ \fi
+ \global \maxdepth \@maxdepth
+ }
+
+\ifx\@makecol\ltj@fn@makecol
+ \global\let\@makecol\fn@makecol
+\fi
+\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty
new file mode 100644
index 00000000000..4498e824e1b
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty
@@ -0,0 +1,109 @@
+%
+% lltjp-tascmac.sty
+% \tbaselineshift=\z@ ==> \ltj@tablshift=\z@
+% \dimen...=\tbaselineshift ==> \dimen...=\ltj@tablshift sp
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lltjp-tascmac}[2014/12/17 Patch to (t)ascmac for LuaTeX-ja]
+
+\RequirePackage{tascmac,luatexja}
+
+%% use Type1 font for ascgrp
+\ifdefined\pdfmapline
+ \pdfmapline{+ascgrp <ascgrp.pfb}
+\fi
+
+%% boxnote environment
+\def\boxnote{\par\vspace{\baselineskip}
+\@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
+\setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b}
+\@whiledim \wd\@nbox<\hsize \do{
+\setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}}
+\setbox\@nbox=\hbox to\hsize{\@ascgrp\unhbox\@nbox \hss a\hss b%
+\vrule width1.08pt depth35pt}
+\@bw=\wd\@nbox\advance\@bw -40pt
+\begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27)
+ \ltj@tablshift\@savetbaselineshift}%
+
+%% screen environment
+\def\screen{%
+\@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
+\@ifnextchar[{\@screen}{\@screen[0]}}
+\def\@screen[#1]{\ifcase#1\def\@r{20}\def\@s{9.8pt}\def\@sx{10pt}\or
+\def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or
+\def\@r{16}\def\@s{7.8pt}\def\@sx{8pt}\or
+\def\@r{14}\def\@s{6.8pt}\def\@sx{7pt}\or
+\def\@r{12}\def\@s{5.8pt}\def\@sx{6pt}\or
+\def\@r{10}\def\@s{4.8pt}\def\@sx{5pt}\or
+\def\@r{8}\def\@s{3.8pt}\def\@sx{4pt}\or
+\def\@r{6}\def\@s{2.8pt}\def\@sx{3pt}\else
+\def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi
+\par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt
+\setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27)
+ \ltj@tablshift\@savetbaselineshift}%
+
+%% itembox environment
+\def\@itembox[#1]#2{%
+ \par\vspace{.3\baselineskip}%
+ \setbox\@iboxstr=\hbox{#2}%
+ \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
+ \@itemh\ht\@iboxstr\advance\@itemh\dp\@iboxstr
+ \vspace{.5\@itemh}\bgroup\@scw\linewidth
+ \advance\@scw-20pt\@iboxpos={#1}%
+ \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}%
+ \ltj@tablshift\@savetbaselineshift
+ \vspace*{.5\@itemh}}%
+
+%% \keytop
+\def\@keytop[#1]#2{%
+{\setbox0=\hbox{\shortstack{#2}}\ltj@tablshift\z@%
+\dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt%
+\setbox\scscb@x=\hbox to\dimen0{%
+\@scw\wd0\hfil\vtop{\offinterlineskip
+\thinlines\setlength{\unitlength}{1pt}\hrule\kern2.3pt\@hobox{tl}{tr}5%
+\kern-2.4pt\box0\@hobox{bl}{br}5\kern-.25pt\hrule}\hfil}\dimen0=\dp\scscb@x%
+\setbox0=\vbox{\hbox{\hbox to0pt{\hss\vtop to\dimen0{\@vrf@{2.5pt}{.4pt}}}%
+\box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.5pt}{.4pt}}}}}%
+\if #1c $\vcenter{\box0}$ \else \if #1t\else\if #1b\boxmaxdepth=0pt\else
+\boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}}
+
+%% \mask
+\def\mask#1#2{%
+{\setbox\@bwsp=\hbox{#1}\ltj@tablshift\z@\setbox0=\hbox{\@ascgrp#2}%
+\dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1
+\setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}%
+\setbox\@@bwsp=\hbox to\dimen0{\leaders
+\vtop to\dimen1{\leaders\hbox{\@ascgrp#2}\vfil}\hfil}%
+\advance\dimen2\dp\@@bwsp\divide\dimen2 2
+\advance\dimen2\dp\@bwsp\boxmaxdepth=\dimen2
+\setbox\@@bwsp=\vbox{\box\@@bwsp}%
+\mbox{}\hbox to\wd\@@bwsp{\hbox to0pt{\box\@@bwsp\hss}\hss\unhbox\@bwsp\hss}}}
+
+%% \maskbox
+\def\Maskbox#1#2#3#4#5#6{{\setbox2=\hbox{#6}\ltj@tablshift\z@
+\setbox0=\hbox{\@ascgrp#3}%
+\dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}%
+\ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi
+\ifx#4r\skip0=0pt plus1fil\skip1=0pt\fi
+\ifx#4l\skip1=0pt plus1fil\skip0=0pt\fi
+\hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders
+\hbox{\@ascgrp#3}\vfil}\hfil}\hss}%
+\vrule width#5\vbox to\dimen1{\hrule height#5\vfil
+\dimen3=#5\advance\dimen0-2\dimen3\advance\dimen0 .15pt
+\hbox to\dimen0{\hskip\skip0\box2\hskip\skip1}%
+\vfil\hrule height#5}\vrule width#5}}}
+
+%% \yen
+%
+% \changes{1996/03/13}{v1.1}{Append \cs{leavevmode} in
+% \cs{yen}, \cs{return}, \cs{Return} command.}
+%
+\def\yen{\leavevmode\hbox{\yoko%
+\setbox0=\hbox{Y}Y\kern-.97\wd0\vbox{\hrule height.1ex width.98\wd0
+\kern.33ex\hrule height.1ex width.98\wd0\kern.45ex}}}
+%
+%% return-key
+\def\return{\leavevmode\hbox{\yoko\@ascgrp\char"20}}
+\def\Return{\leavevmode\hbox{\yoko\@ascgrp @}}
+
+\endinput