5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{lltjdefs}[2019/09/26 Default font settings of LuaTeX-ja]
8 \ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi
9 \ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi
10 \ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi
11 \ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi
12 \InputIfFileExists{luatexja.cfg}{%
13 \typeout{*************************^^J%
14 * Loading luatexja.cfg.^^J%
15 *************************}%
18 \DeclareKanjiEncodingDefaults{}{}
19 \DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10}
24 \DeclareYokoKanjiEncoding{JY3}{}{}
25 \DeclareKanjiSubstitution{JY3}{mc}{m}{n}
26 \DeclareTateKanjiEncoding{JT3}{}{}
27 \DeclareKanjiSubstitution{JT3}{mc}{m}{n}
29 \newcommand\mcdefault{mc}
30 \newcommand\gtdefault{gt}
31 \newcommand\jttdefault{\mcdefault}
32 \newcommand\kanjiencodingdefault{JY3}
33 \newcommand\kanjifamilydefault{\mcdefault}
34 \newcommand\kanjiseriesdefault{\mddefault}
35 \newcommand\kanjishapedefault{\updefault}
37 \DeclareKanjiFamily{JY3}{mc}{}
38 \DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdyokojfm}{}
39 \DeclareKanjiFamily{JY3}{gt}{}
40 \DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdyokojfm}{}
41 \DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
42 \DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
43 \DeclareFontShape{JY3}{mc}{b}{n}{<-> ssub*gt/m/n}{}
44 \DeclareFontShape{JY3}{gt}{b}{n}{<-> ssub*gt/m/n}{}
46 \DeclareKanjiFamily{JT3}{mc}{}
47 \DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdtatejfm}{}
48 \DeclareKanjiFamily{JT3}{gt}{}
49 \DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdtatejfm}{}
50 \DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
51 \DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
52 \DeclareFontShape{JT3}{mc}{b}{n}{<-> ssub*gt/m/n}{}
53 \DeclareFontShape{JT3}{gt}{b}{n}{<-> ssub*gt/m/n}{}
54 \KanjiEncodingPair{JY3}{JT3}
56 \DeclareRelationFont{JY3}{gt}{m}{}{TU}{lmr}{bx}{}
57 \DeclareRelationFont{JY3}{mc}{m}{}{TU}{lmr}{m}{}
58 \DeclareRelationFont{JY3}{mc}{bx}{}{TU}{lmr}{bx}{}
59 \DeclareRelationFont{JY3}{mc}{b}{}{TU}{lmr}{b}{}
60 \DeclareRelationFont{JT3}{gt}{m}{}{TU}{lmr}{bx}{}
61 \DeclareRelationFont{JT3}{mc}{m}{}{TU}{lmr}{m}{}
62 \DeclareRelationFont{JT3}{mc}{bx}{}{TU}{lmr}{bx}{}
63 \DeclareRelationFont{JT3}{mc}{b}{}{TU}{lmr}{b}{}
65 \kanjiencoding{JY3}\selectfont\adjustbaseline
67 \DeclareTextFontCommand{\textmc}{\mcfamily}
68 \DeclareTextFontCommand{\textgt}{\gtfamily}
69 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{}
70 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{}
72 \unless\ifltj@disablejfam
73 \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
75 \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
76 \DeclareSymbolFontAlphabet{\mathmc}{mincho}
77 \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
80 \ifdefined\fontseriesforce
83 \def\bfseries@jtt{\bfseries@gt}
86 \def\mdseries@jtt{\mdseries@jtt}
89 \newif\if@ltj@match@family
90 \@ltj@match@familyfalse
91 \def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont}
93 \def\@ltj@hook@family#1#2{ % #1: csname #2: contents
94 \ifcsname @#1hook\endcsname % LaTeX 2020-02-02
95 \csappto{@#1hook}{#2}%
97 \ifcsname #1 \endcsname
98 \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
100 \PackageWarningNoLine{luatexja}{%
101 Patching to \expandafter\string\csname #1\endcsname\space failed
106 \@ltj@hook@family{rmfamily}{%
108 \prepare@family@series@update@kanji{mc}\mcdefault
111 \@ltj@hook@family{sffamily}{%
113 \prepare@family@series@update@kanji{gt}\gtdefault
116 \@ltj@hook@family{ttfamily}{%
118 \prepare@family@series@update@kanji{jtt}\jttdefault
123 \expandafter\patchcmd\csname em \endcsname{\itshape}{\gtfamily\itshape}{}{}
124 \def\eminnershape{\mcfamily \upshape}
126 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
127 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
128 \ltjdefcharrange{3}{%
129 "2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
130 \ltjdefcharrange{4}{%
131 "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
132 "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
133 "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
134 "1F300-"1FFFF, "2000-"206F
136 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
137 \ltjdefcharrange{6}{%
138 "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
139 "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
140 "1B000-"1B16F, "1F100-"1F2FF, "20000-"2FFFF, "E0100-"E01EF
142 \ltjdefcharrange{7}{%
143 "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,
144 "A960-"A97F, "AC00-"D7FF
146 \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
148 "2002, "2010, "2011, "2013, "2014, "2015, "2016, "2018, "2019,
149 "201A, "201C, "201D, "201E, "2020, "2021, "2022, "2025, "2026,
150 "2030, "2032, "2033, "2039, "203A, "203B, "203C, "203E, "203F,
151 "2042, "2044, "2047, "2048, "2049, "2051
153 \ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}
155 \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
156 \protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}
158 \directlua{luatexja.jfont.register_vert_replace{
159 [',']='、', ['.']='。', ['“']=0x301D, ['”']=0x301F,
165 ======== comment ========
169 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
170 % 2 "80-"FF num = 471/128 name = Latin-1 Supplement
171 % 3 "100-"17F num = 484/128 name = Latin Extended-A
172 % 4 "180-"24F num = 87/208 name = Latin Extended-B
173 % 5 "250-"2AF num = 154/96 name = IPA Extensions
174 % 6 "2B0-"2FF num = 42/80 name = Spacing Modifier Letters
175 % 7 "300-"36F num = 98/112 name = Combining Diacritical Marks
176 % 64 "1E00-"1EFF num = 16/256 name = Latin Extended Additional
178 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
179 % Greek and Coptic, Cyrillic, Greek Extended
181 \ltjdefcharrange{3}{%
182 "2070-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
183 % 67 "2070-"209F num = 68/48 name = Superscripts and Subscripts
184 % 68 "20A0-"20CF num = 5/48 name = Currency Symbols
185 % 69 "20D0-"20FF num = 2/48 name = Combining Diacritical Marks for Symbols
186 % 70 "2100-"214F num = 46/80 name = Letterlike Symbols
187 % 71 "2150-"218F num = 90/64 name = Number Forms
188 % 72 "2190-"21FF num = 39/112 name = Arrows
189 % 73 "2200-"22FF num = 210/256 name = Mathematical Operators
190 % 74 "2300-"23FF num = 69/256 name = Miscellaneous Technical
191 % 75 "2400-"243F num = 1/64 name = Control Pictures
192 % 78 "2500-"257F num = 241 name = Box Drawing
193 % 79 "2580-"259F num = 17 name = Block Elements
194 % 80 "25A0-"25FF num = 70 name = Geometric Shapes
195 % 81 "2600-"26FF num = 49 name = Miscellaneous Symbols
196 % 82 "2700-"27BF num = 23 name = Dingbats
197 % 86 "2900-"297F num = 2 name = Supplemental Arrows-B
198 % 87 "2980-"29FF num = 4 name = Miscellaneous Mathematical Symbols-B
199 % 89 "2B00-"2BFF num = 3 name = Miscellaneous Symbols and Arrows
201 \ltjdefcharrange{4}{%
202 "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
203 "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
204 "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
208 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
210 % 208 "F0000-"FFFFF num = 0/65536 name = Supplementary Private Use Area-A
211 % 209 "100000-"10FFFF num = 0/65536 name = Supplementary Private Use Area-B
216 \ltjdefcharrange{6}{%
217 "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
218 "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
219 "1B000-"1B16F, "1F100-"1F2FF, "20000-"2FFFF, "E0100-"E01EF
221 % 77 "2460-"24FF num = 150/160 name = Enclosed Alphanumerics
222 % 98 "2E80-"2EFF num = 21 name = CJK Radicals Supplement
223 % 101 "3000-"303F num = 144 name = CJK Symbols and Punctuation
224 % 102 "3040-"309F num = 1074 name = Hiragana
225 % 103 "30A0-"30FF num = 985 name = Katakana
226 % 106 "3190-"319F num = 16/16 name = Kanbun
227 % 109 "31F0-"31FF num = 128 name = Katakana Phonetic Extensions
228 % 110 "3200-"32FF num = 143 name = Enclosed CJK Letters and Months
229 % 111 "3300-"33FF num = 255 name = CJK Compatibility
230 % 112 "3400-"4DBF num = 203 name = CJK Unified Ideographs Extension A
231 % 114 "4E00-"9FFF num = 14087 name = CJK Unified Ideographs
232 % 143 "F900-"FAFF num = 110/512 name = CJK Compatibility Ideographs
233 % 147 "FE10-"FE1F num = 0/16 name = Vertical Forms
234 % 149 "FE30-"FE4F num = 8/32 name = CJK Compatibility Forms
235 % 150 "FE50-"FE6F num = 0/32 name = Small Form Variants
236 % "FF00-"FFEF name = Halfwidth and Fullwidth Forms
237 % "1B000-"1B0FF name = Kana Supplement
238 % "1B100-"1B12F name = Kana Extended-A
239 % "1B130-"1B16F name = Small Kana Extension
240 % "1F100-"1F1FF name = Enclosed Alphanumeric Supplement
241 % "1F200-"1F2FF name = Enclosed Ideographic Supplement
243 % "E0000-"E01EF name = Variation Selectors Supplement
245 \ltjdefcharrange{7}{%
246 "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,
247 "A960-"A97F, "AC00-"D7FF
249 % 35 "1100-"11FF num = 1 name = Hangul Jamo
250 % 99 "2F00-"2FDF num = 0/224 name = Kangxi Radicals
251 % 100 "2FF0-"2FFF num = 0/16 name = Ideographic Description Characters
252 % 104 "3100-"312F num = 0/48 name = Bopomofo
253 % 105 "3130-"318F num = 0/96 name = Hangul Compatibility Jamo
254 % 107 "31A0-"31BF num = 0/32 name = Bopomofo Extended
255 % 108 "31C0-"31EF num = 0/48 name = CJK Strokes
256 % 115 "A000-"A48F num = 0/1168 name = Yi Syllables
257 % 116 "A490-"A4CF num = 0/64 name = Yi Radicals
258 % "A960-"A97F name = Hangul Jamo Extended-A
259 % 137 "AC00-"D7AF num = 0/11184 name = Hangul Syllables
260 % 138 "D7B0-"D7FF num = 0/80 name = Hangul Jamo Extended-B