OSDN Git Service

lltjp-fontspec.sty: shapes in \em
[luatex-ja/luatexja.git] / src / patches / lltjdefs.sty
1 %
2 % lltjdefs.sty
3 %
4
5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{lltjdefs}[2016/05/05 Default font settings of LuaTeX-ja]
7
8 \def\ltj@stdmcfont{IPAExMincho}
9 \def\ltj@stdgtfont{IPAExGothic}
10 \InputIfFileExists{luatexja.cfg}{}{%
11   \PackageInfo{lltjdefs}{Cannot find file `luatexja.cfg'\@gobble}%
12 }
13
14 \DeclareKanjiEncodingDefaults{}{}
15 \DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10}
16 \DeclareYokoKanjiEncoding{JY3}{}{}
17 \DeclareKanjiSubstitution{JY3}{mc}{m}{n}
18 \DeclareTateKanjiEncoding{JT3}{}{}
19 \DeclareKanjiSubstitution{JT3}{mc}{m}{n}
20
21 \newcommand\mcdefault{mc}
22 \newcommand\gtdefault{gt}
23 \newcommand\jttdefault{\mcdefault}
24 \newcommand\kanjiencodingdefault{JY3}
25 \newcommand\kanjifamilydefault{\mcdefault}
26 \newcommand\kanjiseriesdefault{\mddefault}
27 \newcommand\kanjishapedefault{\updefault}
28
29 \DeclareKanjiFamily{JY3}{mc}{}
30 \DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[0.962216] \ltj@stdmcfont:jfm=ujis}{}
31 \DeclareKanjiFamily{JY3}{gt}{}
32 \DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[0.962216] \ltj@stdgtfont:jfm=ujis}{}
33 \DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
34 \DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
35
36 \DeclareKanjiFamily{JT3}{mc}{}
37 \DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[0.962216] \ltj@stdmcfont:jfm=ujisv}{}
38 \DeclareKanjiFamily{JT3}{gt}{}
39 \DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[0.962216] \ltj@stdgtfont:jfm=ujisv}{}
40 \DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
41 \DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
42 \KanjiEncodingPair{JY3}{JT3}
43
44 \kanjiencoding{JY3}\selectfont\adjustbaseline
45
46 \DeclareTextFontCommand{\textmc}{\mcfamily}
47 \DeclareTextFontCommand{\textgt}{\gtfamily}
48 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{}
49 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{}
50
51 \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
52 \jfam\symmincho
53 \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
54 \DeclareSymbolFontAlphabet{\mathmc}{mincho}
55 \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
56
57 \newif\if@ltj@match@family
58 \@ltj@match@familyfalse
59 \def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont}
60 \DeclareRobustCommand\rmfamily
61         {\not@math@alphabet\rmfamily\mathrm
62                    \romanfamily\rmdefault
63                    \if@ltj@match@family\kanjifamily\mcdefault\fi\selectfont}
64 \DeclareRobustCommand\sffamily
65         {\not@math@alphabet\sffamily\mathsf
66                    \romanfamily\sfdefault
67                    \if@ltj@match@family\kanjifamily\gtdefault\fi\selectfont}
68 \DeclareRobustCommand\ttfamily
69         {\not@math@alphabet\ttfamily\mathtt
70                    \romanfamily\ttdefault
71                    \if@ltj@match@family\kanjifamily\jttdefault\fi\selectfont}
72 %%% \eminnershape
73 \DeclareRobustCommand\em
74         {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
75                        \eminnershape \else \gtfamily \itshape \fi}
76 \def\eminnershape{\mcfamily \upshape}
77
78 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
79 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
80 \ltjdefcharrange{3}{%
81   "2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
82 \ltjdefcharrange{4}{%
83    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
84   "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
85   "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese
86 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
87 \ltjdefcharrange{6}{%
88   "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
89   "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF}
90 \ltjdefcharrange{7}{
91   "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
92   "AC00-"D7FF}
93 \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
94 \ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
95
96 \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
97 \def\<{\inhibitglue}
98
99 % END OF FILE
100 \endinput
101
102 ======== comment ========
103
104 MIDDLE
105
106 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
107   %   2  "80-"FF num = 471/128 name = Latin-1 Supplement
108   %   3  "100-"17F num = 484/128 name = Latin Extended-A
109   %   4  "180-"24F num = 87/208 name = Latin Extended-B
110   %   5  "250-"2AF num = 154/96 name = IPA Extensions
111   %   6  "2B0-"2FF num = 42/80 name = Spacing Modifier Letters
112   %   7  "300-"36F num = 98/112 name = Combining Diacritical Marks
113   %  64  "1E00-"1EFF num = 16/256 name = Latin Extended Additional
114
115 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
116   % Greek and Coptic, Cyrillic, Greek Extended
117
118 \ltjdefcharrange{3}{%
119   "2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
120   %   66  "2000-"206F num = 140/112 name = General Punctuation
121   %   67  "2070-"209F num = 68/48 name = Superscripts and Subscripts
122   %   68  "20A0-"20CF num = 5/48 name = Currency Symbols
123   %   69  "20D0-"20FF num = 2/48 name = Combining Diacritical Marks for Symbols
124   %   70  "2100-"214F num = 46/80 name = Letterlike Symbols
125   %   71  "2150-"218F num = 90/64 name = Number Forms
126   %   72  "2190-"21FF num = 39/112 name = Arrows
127   %   73  "2200-"22FF num = 210/256 name = Mathematical Operators
128   %   74  "2300-"23FF num = 69/256 name = Miscellaneous Technical
129   %   75  "2400-"243F num = 1/64 name = Control Pictures
130   %   78  "2500-"257F num = 241 name = Box Drawing
131   %   79  "2580-"259F num = 17 name = Block Elements
132   %   80  "25A0-"25FF num = 70 name = Geometric Shapes
133   %   81  "2600-"26FF num = 49 name = Miscellaneous Symbols
134   %   82  "2700-"27BF num = 23 name = Dingbats
135   %   86  "2900-"297F num = 2 name = Supplemental Arrows-B
136   %   87  "2980-"29FF num = 4 name = Miscellaneous Mathematical Symbols-B
137   %   89  "2B00-"2BFF num = 3 name = Miscellaneous Symbols and Arrows
138
139 NEGATIVE
140
141 \ltjdefcharrange{4}{%
142    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
143   "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F,
144   "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF}
145 } % non-Japanese
146
147 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
148   % Surrogates, Tags
149   %  208  "F0000-"FFFFF num = 0/65536 name = Supplementary Private Use Area-A
150   %  209  "100000-"10FFFF num = 0/65536 name = Supplementary Private Use Area-B
151
152 POSITIVE
153
154 % Japanese
155 \ltjdefcharrange{6}{%
156   "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
157   "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF}
158 %   77  "2460-"24FF num = 150/160 name = Enclosed Alphanumerics
159 %   98  "2E80-"2EFF num = 21 name = CJK Radicals Supplement
160 %  101  "3000-"303F num = 144 name = CJK Symbols and Punctuation
161 %  102  "3040-"309F num = 1074 name = Hiragana
162 %  103  "30A0-"30FF num = 985 name = Katakana
163 %  106  "3190-"319F num = 16/16 name = Kanbun
164 %  109  "31F0-"31FF num = 128 name = Katakana Phonetic Extensions
165 %  110  "3200-"32FF num = 143 name = Enclosed CJK Letters and Months
166 %  111  "3300-"33FF num = 255 name = CJK Compatibility
167 %  112  "3400-"4DBF num = 203 name = CJK Unified Ideographs Extension A
168 %  114  "4E00-"9FFF num = 14087 name = CJK Unified Ideographs
169 %  143  "F900-"FAFF num = 110/512 name = CJK Compatibility Ideographs
170 %  147  "FE10-"FE1F num = 0/16 name = Vertical Forms
171 %  149  "FE30-"FE4F num = 8/32 name = CJK Compatibility Forms
172 %  150  "FE50-"FE6F num = 0/32 name = Small Form Variants
173 %  SIP
174 %  "E0000-"E01EF Variation Selectors Supplement
175
176 \ltjdefcharrange{7}{
177   "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, "A830-"A83F,
178   "AC00-"D7FF}
179   %   35  "1100-"11FF num = 1 name = Hangul Jamo
180   %   99  "2F00-"2FDF num = 0/224 name = Kangxi Radicals
181   %  100  "2FF0-"2FFF num = 0/16 name = Ideographic Description Characters
182   %  104  "3100-"312F num = 0/48 name = Bopomofo
183   %  105  "3130-"318F num = 0/96 name = Hangul Compatibility Jamo
184   %  107  "31A0-"31BF num = 0/32 name = Bopomofo Extended
185   %  108  "31C0-"31EF num = 0/48 name = CJK Strokes
186   %  115  "A000-"A48F num = 0/1168 name = Yi Syllables
187   %  116  "A490-"A4CF num = 0/64 name = Yi Radicals
188   %  124  "A830-"A83F num = 0/16 name = Common Indic Number Forms
189   %  137  "AC00-"D7AF num = 0/11184 name = Hangul Syllables
190   %  138  "D7B0-"D7FF num = 0/80 name = Hangul Jamo Extended-B