OSDN Git Service

07b2c0d58b14e5cb272bc188b5fcba7390d3d58b
[luatex-ja/luatexja.git] / src / patches / lltjdefs.sty
1 %
2 % lltjdefs.sty
3 %
4
5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{lltjdefs}[2021-01-24 Default font settings of LuaTeX-ja]
7
8 \ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi
9 \ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\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 \ifnum\ltj@@latex@plv<1500 % <=2020-10-01
22   \kanjiseries{m}
23   \kanjishape{n}
24 \else % >=2021-05-01
25   \def\k@series{m}
26   \def\k@shape{n}
27 \fi
28 \fontsize{10}{10}
29 \DeclareYokoKanjiEncoding{JY3}{}{}
30 \DeclareKanjiSubstitution{JY3}{mc}{m}{n}
31 \DeclareTateKanjiEncoding{JT3}{}{}
32 \DeclareKanjiSubstitution{JT3}{mc}{m}{n}
33
34 \newcommand\mcdefault{mc}
35 \newcommand\gtdefault{gt}
36 \newcommand\jttdefault{\mcdefault}
37 \newcommand\kanjiencodingdefault{JY3}
38 \newcommand\kanjifamilydefault{\mcdefault}
39 \newcommand\kanjiseriesdefault{\mddefault}
40 \ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
41   %% LaTeX 2020-02-02
42   \newcommand\kanjishapedefault{\shapedefault}
43 \else%% LaTeX 2019-10-01
44   \newcommand\kanjishapedefault{\updefault}
45 \fi
46
47 \DeclareKanjiFamily{JY3}{mc}{}
48 \DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdyokojfm}{}
49 \DeclareKanjiFamily{JY3}{gt}{}
50 \DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdyokojfm}{}
51 \DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
52 \DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
53 \DeclareFontShape{JY3}{mc}{b}{n}{<-> ssub*gt/m/n}{}
54 \DeclareFontShape{JY3}{gt}{b}{n}{<-> ssub*gt/m/n}{}
55
56 \DeclareKanjiFamily{JT3}{mc}{}
57 \DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdtatejfm}{}
58 \DeclareKanjiFamily{JT3}{gt}{}
59 \DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdtatejfm}{}
60 \DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
61 \DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
62 \DeclareFontShape{JT3}{mc}{b}{n}{<-> ssub*gt/m/n}{}
63 \DeclareFontShape{JT3}{gt}{b}{n}{<-> ssub*gt/m/n}{}
64 \KanjiEncodingPair{JY3}{JT3}
65
66 \DeclareRelationFont{JY3}{gt}{m}{}{TU}{lmr}{bx}{}
67 \DeclareRelationFont{JY3}{mc}{m}{}{TU}{lmr}{m}{}
68 \DeclareRelationFont{JY3}{mc}{bx}{}{TU}{lmr}{bx}{}
69 \DeclareRelationFont{JY3}{mc}{b}{}{TU}{lmr}{b}{}
70 \DeclareRelationFont{JT3}{gt}{m}{}{TU}{lmr}{bx}{}
71 \DeclareRelationFont{JT3}{mc}{m}{}{TU}{lmr}{m}{}
72 \DeclareRelationFont{JT3}{mc}{bx}{}{TU}{lmr}{bx}{}
73 \DeclareRelationFont{JT3}{mc}{b}{}{TU}{lmr}{b}{}
74
75 \kanjiencoding{JY3}\selectfont\adjustbaseline
76
77 \DeclareTextFontCommand{\textmc}{\mcfamily}
78 \DeclareTextFontCommand{\textgt}{\gtfamily}
79 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{}
80 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{}
81
82 \unless\ifltj@disablejfam
83   \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}\jfam\symmincho
84   \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
85   \DeclareSymbolFontAlphabet{\mathmc}{mincho}
86   \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
87 \fi
88
89 \ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
90 %%%% LaTeX >= 2020-02-02
91 \edef\bfseries@mc{\bfdefault}
92 \edef\bfseries@gt{\bfdefault}
93 \def\bfseries@jtt{\bfseries@mc}
94 \edef\mdseries@mc{\mddefault}
95 \edef\mdseries@gt{\mddefault}
96 \def\mdseries@jtt{\mdseries@mc}
97 \fi
98
99 \newif\if@ltj@match@family
100 \@ltj@match@familyfalse
101 \def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont}
102
103 \def\@ltj@hook@family#1#2{% #1: csname #2: contents
104   \ifltj@ltfilehook@avail % LaTeX 2020-10-01
105     \AddToHook{#1}{#2}%
106   \else\ifcsname @#1hook\endcsname % LaTeX 2020-02-02
107     \csappto{@#1hook}{#2}%
108   \else % LaTeX 2019-10-01
109     \ifcsname #1 \endcsname
110       \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
111     \else
112       \PackageWarningNoLine{luatexja}{%
113         Patching to \expandafter\string\csname #1\endcsname\space failed%
114       }%
115     \fi
116   \fi\fi
117 }
118 \@ltj@hook@family{rmfamily}{%
119   \if@ltj@match@family
120     \prepare@family@series@update@kanji{mc}\mcdefault
121   \fi
122 }
123 \@ltj@hook@family{sffamily}{%
124   \if@ltj@match@family
125     \prepare@family@series@update@kanji{gt}\gtdefault
126   \fi
127 }
128 \@ltj@hook@family{ttfamily}{%
129   \if@ltj@match@family
130     \prepare@family@series@update@kanji{jtt}\jttdefault
131   \fi
132 }
133 \let\@ltj@hook@family\@undefined
134
135 \ifltj@ltfilehook@avail % 2020-10-01
136   \expandafter\def\expandafter\kanjiseriesdefault
137     \expandafter{\kanjiseriesdefault\@empty}
138   \let\kanjiseriesdefault@kernel\kanjiseriesdefault
139 \fi
140
141 %%% \eminnershape
142 \expandafter\patchcmd\csname em \endcsname{\itshape}{\gtfamily\itshape}{}{}
143 \def\eminnershape{\mcfamily \upshape}
144
145 \ltjsetparameter{autospacing, autoxspacing, differentjfm=paverage}
146
147 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
148 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
149 \ltjdefcharrange{3}{%
150   "2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
151 \ltjdefcharrange{4}{%
152    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
153   "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
154   "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
155   "1F300-"1FFFF, "2000-"206F
156 } % non-Japanese
157 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
158 \ltjdefcharrange{6}{%
159   "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
160   "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
161   "1B000-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF
162 }
163 \ltjdefcharrange{7}{%
164   "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,
165   "A960-"A97F, "AC00-"D7FF
166 }
167 \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
168 \ltjdefcharrange{9}{
169   "2002, "2010, "2011, "2013, "2014, "2015, "2016, "2018, "2019,
170   "201A, "201C, "201D, "201E, "2020, "2021, "2022, "2025, "2026,
171   "2030, "2032, "2033, "2039, "203A, "203B, "203C, "203E, "203F,
172   "2042, "2044, "2047, "2048, "2049, "2051
173 }
174 \ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}
175
176 \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
177 \protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}
178
179 \directlua{luatexja.jfont.register_vert_replace{
180   [',']='、', ['.']='。', ['“']=0x301D, ['”']=0x301F,
181 }}
182
183 % END OF FILE
184 \endinput
185