OSDN Git Service

make U+200D alchar
[luatex-ja/luatexja.git] / src / patches / lltjdefs.sty
index dac8b4e..7ea758b 100644 (file)
@@ -3,16 +3,24 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjdefs}[2015/08/29 Default font settings of LuaTeX-ja]
-
-\def\ltj@stdmcfont{IPAExMincho}
-\def\ltj@stdgtfont{IPAExGothic}
-\InputIfFileExists{luatexja.cfg}{}{%
-  \PackageInfo{lltjdefs}{Cannot find file `luatexja.cfg'\@gobble}%
-}
+\ProvidesPackage{lltjdefs}[2019/08/27 Default font settings of LuaTeX-ja]
+
+\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi
+\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi
+\ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi
+\ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi
+\InputIfFileExists{luatexja.cfg}{%
+  \typeout{*************************^^J%
+           * Loading luatexja.cfg.^^J%
+           *************************}%
+}{}
 
 \DeclareKanjiEncodingDefaults{}{}
 \DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10}
+\kanjifamily{mc}
+\kanjiseries{m}
+\kanjishape{n}
+\fontsize{10}{10}
 \DeclareYokoKanjiEncoding{JY3}{}{}
 \DeclareKanjiSubstitution{JY3}{mc}{m}{n}
 \DeclareTateKanjiEncoding{JT3}{}{}
 
 \newcommand\mcdefault{mc}
 \newcommand\gtdefault{gt}
-\newcommand\jttdefault{\gtdefault}
+\newcommand\jttdefault{\mcdefault}
 \newcommand\kanjiencodingdefault{JY3}
 \newcommand\kanjifamilydefault{\mcdefault}
 \newcommand\kanjiseriesdefault{\mddefault}
 \newcommand\kanjishapedefault{\updefault}
 
 \DeclareKanjiFamily{JY3}{mc}{}
-\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[0.962216] \ltj@stdmcfont:jfm=ujis}{}
+\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdyokojfm}{}
 \DeclareKanjiFamily{JY3}{gt}{}
-\DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[0.962216] \ltj@stdgtfont:jfm=ujis}{}
+\DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdyokojfm}{}
 \DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
 \DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
+\DeclareFontShape{JY3}{mc}{b}{n}{<-> ssub*mc/bx/n}{}
+\DeclareFontShape{JY3}{gt}{b}{n}{<-> ssub*gt/bx/n}{}
 
 \DeclareKanjiFamily{JT3}{mc}{}
-\DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[0.962216] \ltj@stdmcfont:jfm=ujisv}{}
+\DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdtatejfm}{}
 \DeclareKanjiFamily{JT3}{gt}{}
-\DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[0.962216] \ltj@stdgtfont:jfm=ujisv}{}
+\DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdtatejfm}{}
 \DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
 \DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
+\DeclareFontShape{JT3}{mc}{b}{n}{<-> ssub*mc/bx/n}{}
+\DeclareFontShape{JT3}{gt}{b}{n}{<-> ssub*gt/bx/n}{}
 \KanjiEncodingPair{JY3}{JT3}
 
+\DeclareRelationFont{JY3}{gt}{m}{}{TU}{lmr}{bx}{}
+\DeclareRelationFont{JY3}{mc}{m}{}{TU}{lmr}{m}{}
+\DeclareRelationFont{JY3}{mc}{bx}{}{TU}{lmr}{bx}{}
+\DeclareRelationFont{JY3}{mc}{b}{}{TU}{lmr}{b}{}
+\DeclareRelationFont{JT3}{gt}{m}{}{TU}{lmr}{bx}{}
+\DeclareRelationFont{JT3}{mc}{m}{}{TU}{lmr}{m}{}
+\DeclareRelationFont{JT3}{mc}{bx}{}{TU}{lmr}{bx}{}
+\DeclareRelationFont{JT3}{mc}{b}{}{TU}{lmr}{b}{}
+
 \kanjiencoding{JY3}\selectfont\adjustbaseline
 
 \DeclareTextFontCommand{\textmc}{\mcfamily}
 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{}
 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{}
 
-\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
-\jfam\symmincho
-\SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
-\DeclareSymbolFontAlphabet{\mathmc}{mincho}
-\DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
+\unless\ifltj@disablejfam
+  \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
+  \jfam\symmincho
+  \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
+  \DeclareSymbolFontAlphabet{\mathmc}{mincho}
+  \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
+\fi
+
+\newif\if@ltj@match@family
+\@ltj@match@familyfalse
+\def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont}
+\DeclareRobustCommand\rmfamily
+        {\not@math@alphabet\rmfamily\mathrm
+                   \romanfamily\rmdefault
+                   \if@ltj@match@family\kanjifamily\mcdefault\fi\selectfont}
+\DeclareRobustCommand\sffamily
+        {\not@math@alphabet\sffamily\mathsf
+                   \romanfamily\sfdefault
+                   \if@ltj@match@family\kanjifamily\gtdefault\fi\selectfont}
+\DeclareRobustCommand\ttfamily
+        {\not@math@alphabet\ttfamily\mathtt
+                   \romanfamily\ttdefault
+                   \if@ltj@match@family\kanjifamily\jttdefault\fi\selectfont}
+%%% \eminnershape
+\DeclareRobustCommand\em
+        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+                       \eminnershape \else \gtfamily \itshape \fi}
+\def\eminnershape{\mcfamily \upshape}
 
 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
   "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,
-  "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese
+  "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
+  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
+  "1F300-"1FFFF, "200D
+} % non-Japanese
 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
 \ltjdefcharrange{6}{%
   "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,
-  "AC00-"D7FF}
+  "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
+  "1B000-"1B16F, "1F100-"1F2FF, "20000-"2FFFF, "E0100-"E01EF
+}
+\ltjdefcharrange{7}{%
+  "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,
+  "A960-"A97F, "AC00-"D7FF
+}
 \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
 \ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
 
 \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
-\def\<{\inhibitglue}
+\protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}
+
+\directlua{luatexja.jfont.register_vert_replace{
+  [',']='、', ['.']='。', ['“']=0x301D, ['”']=0x301F,
+}}
 
 % END OF FILE
 \endinput
@@ -115,12 +168,11 @@ MIDDLE
   %   87  "2980-"29FF num = 4 name = Miscellaneous Mathematical Symbols-B
   %   89  "2B00-"2BFF num = 3 name = Miscellaneous Symbols and Arrows
 
-NEGATIVE
-
 \ltjdefcharrange{4}{%
    "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}
+  "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
+  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
+  "1F300-"1FFFF
 } % non-Japanese
 
 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
@@ -133,7 +185,9 @@ POSITIVE
 % Japanese
 \ltjdefcharrange{6}{%
   "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
-  "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF}
+  "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
+  "1B000-"1B16F, "1F100-"1F2FF, "20000-"2FFFF, "E0100-"E01EF
+}
 %   77  "2460-"24FF num = 150/160 name = Enclosed Alphanumerics
 %   98  "2E80-"2EFF num = 21 name = CJK Radicals Supplement
 %  101  "3000-"303F num = 144 name = CJK Symbols and Punctuation
@@ -149,12 +203,19 @@ POSITIVE
 %  147  "FE10-"FE1F num = 0/16 name = Vertical Forms
 %  149  "FE30-"FE4F num = 8/32 name = CJK Compatibility Forms
 %  150  "FE50-"FE6F num = 0/32 name = Small Form Variants
+%       "FF00-"FFEF            name = Halfwidth and Fullwidth Forms
+%       "1B000-"1B0FF          name = Kana Supplement
+%       "1B100-"1B12F          name = Kana Extended-A
+%       "1B130-"1B16F          name = Small Kana Extension
+%       "1F100-"1F1FF          name = Enclosed Alphanumeric Supplement
+%       "1F200-"1F2FF          name = Enclosed Ideographic Supplement
 %  SIP
-%  "E0000-"E01EF Variation Selectors Supplement
+%       "E0000-"E01EF          name = Variation Selectors Supplement
 
-\ltjdefcharrange{7}{
-  "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
-  "AC00-"D7FF}
+\ltjdefcharrange{7}{%
+  "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,
+  "A960-"A97F, "AC00-"D7FF
+}
   %   35  "1100-"11FF num = 1 name = Hangul Jamo
   %   99  "2F00-"2FDF num = 0/224 name = Kangxi Radicals
   %  100  "2FF0-"2FFF num = 0/16 name = Ideographic Description Characters
@@ -164,6 +225,6 @@ POSITIVE
   %  108  "31C0-"31EF num = 0/48 name = CJK Strokes
   %  115  "A000-"A48F num = 0/1168 name = Yi Syllables
   %  116  "A490-"A4CF num = 0/64 name = Yi Radicals
-  %  124  "A830-"A83F num = 0/16 name = Common Indic Number Forms
+  %       "A960-"A97F            name = Hangul Jamo Extended-A
   %  137  "AC00-"D7AF num = 0/11184 name = Hangul Syllables
   %  138  "D7B0-"D7FF num = 0/80 name = Hangul Jamo Extended-B