OSDN Git Service

Releases 20240514.0
[luatex-ja/luatexja.git] / src / ltj-plain.sty
1 %
2 % ltj-plain.sty
3 %
4
5 %! これは外から読まれない
6 %% Avoid multiple loading.
7 \csname luatexjaplainLoaded\endcsname
8 \edef\ltj@plain@AtEnd{%
9 \endlinechar=\the\endlinechar
10 \relax}
11 \endlinechar=-1 %
12 \def\luatexjaplainLoaded{\endinput}
13
14 \ifltj@in@latex                 %<*LaTeX>
15   \NeedsTeXFormat{LaTeX2e}
16   \PackageWarning{ltj-plain}{Don't load this package directly; load luatexja.sty instead.}
17   \ProvidesPackage{ltj-plain}[]
18 \fi                             %</LaTeX>
19
20 %%------------------
21
22 \endlinechar=13
23 %! ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
24 % LuaTeX-ja macros against plain TeX
25
26 %%%%\shipout
27 \newluafunction\ltj@@lua@shipout@inner
28 \directlua{
29   local t = lua.get_functions_table()
30   local getbox, setbox = tex.getbox, tex.setbox
31   local shipout_lthook = luatexja.direction.shipout_lthook
32   t[\the\ltj@@lua@shipout@inner]=function ()
33     local a = shipout_lthook(getbox(\the\ltj@afbox))
34   if a then setbox(\the\ltj@afbox, a) end
35   end
36 }
37 \protected\luadef\ltj@@lua@shipout\ltj@@lua@shipout@inner
38 \def\ltj@shipout@{\ltj@@lua@shipout\primitive\shipout\box\ltj@afbox}%
39 \protected\def\ltj@shipout{\ltj@afterbox\ltj@shipout@}
40 \ifprimitive\shipout\let\shipout\ltj@shipout\fi
41 \directlua{luatexja.direction.shipout_lthook = nil}
42
43 \ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi
44 \ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi
45 \ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi
46 \ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi
47 \newread\ltj@@cfgread
48 \openin\ltj@@cfgread{luatexja.cfg}%
49 \ifeof\ltj@@cfgread
50   \@PackageInfoNoLine{ltj-plain}{Cannot find file `luatexja.cfg'}%
51 \else
52   \closein\ltj@@cfgread
53   \input luatexja.cfg
54 \fi
55 \let\ltj@@cfgread\relax\advance\count16\m@ne\relax
56
57 \jfont\tenmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 9.62216pt
58 \jfont\sevenmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 6.73551pt
59 \jfont\fivemin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 4.81108pt
60 \jfont\tengt=\ltj@stdgtfont:-kern;jfm=\ltj@stdyokojfm\space at 9.62216pt
61 \jfont\sevengt=\ltj@stdgtfont:-kern;jfm=\ltj@stdyokojfm\space at 6.73551pt
62 \jfont\fivegt=\ltj@stdgtfont:-kern;jfm=\ltj@stdyokojfm\space at 4.81108pt
63
64 \tfont\tentmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdtatejfm\space at 9.62216pt
65 \tfont\seventmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdtatejfm\space at 6.73551pt
66 \tfont\fivetmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdtatejfm\space at 4.81108pt
67 \tfont\tentgt=\ltj@stdgtfont:-kern;jfm=\ltj@stdtatejfm\space at 9.62216pt
68 \tfont\seventgt=\ltj@stdgtfont:-kern;jfm=\ltj@stdtatejfm\space at 6.73551pt
69 \tfont\fivetgt=\ltj@stdgtfont:-kern;jfm=\ltj@stdtatejfm\space at 4.81108pt
70
71 \def\mc{\tenmin\tentmin}
72 \def\gt{\tengt\tentgt}
73 \mc
74
75 \ltjsetparameter{%
76   autospacing, autoxspacing, differentjfm=paverage,
77   jatextfont={0, \tenmin}, jascriptfont={0, \sevenmin},
78   jascriptscriptfont={0, \fivemin},
79 }
80 \setbox\z@=\hbox{M}
81 \jfam\z@
82 \ltjsetparameter{talbaselineshift=.5\ht0, tjabaselineshift=\z@}
83
84 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
85 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
86 \ltjdefcharrange{3}{%
87   "2070-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
88 \ltjdefcharrange{4}{%
89    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
90   "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
91   "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFEF, "1B170-"1F0FF,
92   "1F300-"1FFFF, "2000-"206F
93 } % non-Japanese
94 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
95 \ltjdefcharrange{6}{%
96   "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
97   "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
98   "1AFF0-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF
99 }
100 \ltjdefcharrange{7}{%
101   "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,
102   "A960-"A97F, "AC00-"D7FF
103 }
104 \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
105 \ltjdefcharrange{9}{
106   "2002, "2010, "2011, "2013, "2014, "2015, "2016, "2018, "2019,
107   "201A, "201C, "201D, "201E, "2020, "2021, "2022, "2025, "2026,
108   "2030, "2032, "2033, "2039, "203A, "203B, "203C, "203E, "203F,
109   "2042, "2044, "2047, "2048, "2049, "2051
110 }
111 \ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}
112
113 \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
114
115 \directlua{luatexja.jfont.register_vert_replace{
116   [',']='、', ['.']='。', ['“']=0x301D, ['”']=0x301F,
117 }}
118
119 %%------------------ all done
120 \ltj@plain@AtEnd
121 \endinput
122 %% EOF