OSDN Git Service

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