OSDN Git Service

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