summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
blob: c330c0ea5722ef4fd1e5d165b29b3943e9e76df8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
%
% lltjdefs.sty
%

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{lltjdefs}[2022-01-23 Default font settings of LuaTeX-ja]

\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi
\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi
\ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi
\ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi
\InputIfFileExists{luatexja.cfg}{%
  \typeout{*************************^^J%
           * Loading luatexja.cfg.^^J%
           *************************}%
}{}

\DeclareKanjiEncodingDefaults{}{}
\DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10}
\kanjifamily{mc}
\ifnum\ltj@@latex@plv<1500 % <=2020-10-01
  \kanjiseries{m}
  \kanjishape{n}
\else % >=2021-06-01
  \def\k@series{m}
  \def\k@shape{n}
\fi
\fontsize{10}{10}
\DeclareYokoKanjiEncoding{JY3}{}{}
\DeclareKanjiSubstitution{JY3}{mc}{m}{n}
\DeclareTateKanjiEncoding{JT3}{}{}
\DeclareKanjiSubstitution{JT3}{mc}{m}{n}

\newcommand\mcdefault{mc}
\newcommand\gtdefault{gt}
\newcommand\jttdefault{\mcdefault}
\newcommand\kanjiencodingdefault{JY3}
\newcommand\kanjifamilydefault{\mcdefault}
\newcommand\kanjiseriesdefault{\mddefault}
\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
  %% LaTeX 2020-02-02
  \newcommand\kanjishapedefault{\shapedefault}
\else%% LaTeX 2019-10-01
  \newcommand\kanjishapedefault{\updefault}
\fi

\DeclareKanjiFamily{JY3}{mc}{}
\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdyokojfm}{}
\DeclareKanjiFamily{JY3}{gt}{}
\DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdyokojfm}{}
\DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
\DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
\DeclareFontShape{JY3}{mc}{b}{n}{<-> ssub*gt/m/n}{}
\DeclareFontShape{JY3}{gt}{b}{n}{<-> ssub*gt/m/n}{}

\DeclareKanjiFamily{JT3}{mc}{}
\DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdtatejfm}{}
\DeclareKanjiFamily{JT3}{gt}{}
\DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdtatejfm}{}
\DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{}
\DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{}
\DeclareFontShape{JT3}{mc}{b}{n}{<-> ssub*gt/m/n}{}
\DeclareFontShape{JT3}{gt}{b}{n}{<-> ssub*gt/m/n}{}
\KanjiEncodingPair{JY3}{JT3}

\DeclareRelationFont{JY3}{gt}{m}{}{TU}{lmr}{bx}{}
\DeclareRelationFont{JY3}{mc}{m}{}{TU}{lmr}{m}{}
\DeclareRelationFont{JY3}{mc}{bx}{}{TU}{lmr}{bx}{}
\DeclareRelationFont{JY3}{mc}{b}{}{TU}{lmr}{b}{}
\DeclareRelationFont{JT3}{gt}{m}{}{TU}{lmr}{bx}{}
\DeclareRelationFont{JT3}{mc}{m}{}{TU}{lmr}{m}{}
\DeclareRelationFont{JT3}{mc}{bx}{}{TU}{lmr}{bx}{}
\DeclareRelationFont{JT3}{mc}{b}{}{TU}{lmr}{b}{}

\kanjiencoding{JY3}\selectfont\adjustbaseline

\DeclareTextFontCommand{\textmc}{\mcfamily}
\DeclareTextFontCommand{\textgt}{\gtfamily}
\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{}
\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{}

\unless\ifltj@disablejfam
  \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}\jfam\symmincho
  \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
  \DeclareSymbolFontAlphabet{\mathmc}{mincho}
  \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
\fi

\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
%%%% LaTeX >= 2020-02-02
\edef\bfseries@mc{\bfdefault}
\edef\bfseries@gt{\bfdefault}
\def\bfseries@jtt{\bfseries@mc}
\edef\mdseries@mc{\mddefault}
\edef\mdseries@gt{\mddefault}
\def\mdseries@jtt{\mdseries@mc}
\fi

\newif\if@ltj@match@family
\@ltj@match@familyfalse
\def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont}

\def\@ltj@hook@family#1#2{% #1: csname #2: contents
  \ifltj@ltfilehook@avail % LaTeX 2020-10-01
    \AddToHook{#1}{#2}%
  \else\ifcsname @#1hook\endcsname % LaTeX 2020-02-02
    \csappto{@#1hook}{#2}%
  \else % LaTeX 2019-10-01
    \ifcsname #1 \endcsname
      \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
    \else
      \PackageWarningNoLine{luatexja}{%
        Patching to \expandafter\string\csname #1\endcsname\space failed%
      }%
    \fi
  \fi\fi
}
\@ltj@hook@family{rmfamily}{%
  \if@ltj@match@family
    \prepare@family@series@update@kanji{mc}\mcdefault
  \fi
}
\@ltj@hook@family{sffamily}{%
  \if@ltj@match@family
    \prepare@family@series@update@kanji{gt}\gtdefault
  \fi
}
\@ltj@hook@family{ttfamily}{%
  \if@ltj@match@family
    \prepare@family@series@update@kanji{jtt}\jttdefault
  \fi
}
\let\@ltj@hook@family\@undefined

\ifltj@ltfilehook@avail % 2020-10-01
  \expandafter\def\expandafter\kanjiseriesdefault
    \expandafter{\kanjiseriesdefault\@empty}
  \let\kanjiseriesdefault@kernel\kanjiseriesdefault
\fi

%%% \eminnershape
\expandafter\patchcmd\csname em \endcsname{\itshape}{\gtfamily\itshape}{}{}
\def\eminnershape{\mcfamily \upshape}

\ltjsetparameter{autospacing, autoxspacing, differentjfm=paverage}

\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
\ltjdefcharrange{3}{%
  "2000-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
\ltjdefcharrange{4}{%
   "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
  "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFEF, "1B170-"1F0FF,
  "1F300-"1FFFF, "2000-"206F
} % non-Japanese
\ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
\ltjdefcharrange{6}{%
  "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
  "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
  "1AFF0-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF
}
\ltjdefcharrange{7}{%
  "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,
  "A960-"A97F, "AC00-"D7FF
}
\ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
\ltjdefcharrange{9}{
  "2002, "2010, "2011, "2013, "2014, "2015, "2016, "2018, "2019,
  "201A, "201C, "201D, "201E, "2020, "2021, "2022, "2025, "2026,
  "2030, "2032, "2033, "2039, "203A, "203B, "203C, "203E, "203F,
  "2042, "2044, "2047, "2048, "2049, "2051
}
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}

\directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
\protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}

\directlua{luatexja.jfont.register_vert_replace{
  [',']='、', ['.']='。', ['“']=0x301D, ['”']=0x301F,
}}

% END OF FILE
\endinput