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