OSDN Git Service

ltj-jfmglue.lua: treat glyph_node with \nullfont as a node of ALchar
[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 \ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi
27 \ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi
28 \ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi
29 \ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi
30 \newread\ltj@@cfgread
31 \openin\ltj@@cfgread{luatexja.cfg}%
32 \ifeof\ltj@@cfgread
33   \@PackageInfoNoLine{ltj-plain}{Cannot find file `luatexja.cfg'}%
34 \else
35   \closein\ltj@@cfgread
36   \input luatexja.cfg
37 \fi
38 \let\ltj@@cfgread\relax\advance\count16\m@ne\relax
39
40 \jfont\tenmin=\ltj@stdmcfont:jfm=\ltj@stdyokojfm\space at 9.62216pt
41 \jfont\sevenmin=\ltj@stdmcfont:jfm=\ltj@stdyokojfm\space at 6.73551pt
42 \jfont\fivemin=\ltj@stdmcfont:jfm=\ltj@stdyokojfm\space at 4.81108pt
43 \jfont\tengt=\ltj@stdgtfont:jfm=\ltj@stdyokojfm\space at 9.62216pt
44 \jfont\sevengt=\ltj@stdgtfont:jfm=\ltj@stdyokojfm\space at 6.73551pt
45 \jfont\fivegt=\ltj@stdgtfont:jfm=\ltj@stdyokojfm\space at 4.81108pt
46
47 \tfont\tentmin=\ltj@stdmcfont:jfm=\ltj@stdtatejfm\space at 9.62216pt
48 \tfont\seventmin=\ltj@stdmcfont:jfm=\ltj@stdtatejfm\space at 6.73551pt
49 \tfont\fivetmin=\ltj@stdmcfont:jfm=\ltj@stdtatejfm\space at 4.81108pt
50 \tfont\tentgt=\ltj@stdgtfont:jfm=\ltj@stdtatejfm\space at 9.62216pt
51 \tfont\seventgt=\ltj@stdgtfont:jfm=\ltj@stdtatejfm\space at 6.73551pt
52 \tfont\fivetgt=\ltj@stdgtfont:jfm=\ltj@stdtatejfm\space at 4.81108pt
53
54 \def\mc{\tenmin\tentmin}
55 \def\gt{\tengt\tentgt}
56 \mc
57
58 \directlua{
59   local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
60   luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
61 }
62
63 \ltjsetparameter{kanjiskip=\z@ plus .4pt minus .4pt,
64   xkanjiskip=.25\zw plus 1pt minus 1pt,
65   autospacing, autoxspacing, jacharrange={-1},
66   yalbaselineshift=\z@, yjabaselineshift=\z@,
67   jcharwidowpenalty=500, differentjfm=paverage,
68   jatextfont={0, \tenmin}, jascriptfont={0, \sevenmin},
69   jascriptscriptfont={0, \fivemin},
70 }
71 \setbox\z@=\hbox{M}
72 \jfam\z@
73 \ltjsetparameter{talbaselineshift=.5\ht0, tjabaselineshift=\z@}
74
75 \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
76 \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
77 \ltjdefcharrange{3}{%
78   "2070-"243F, "2500-"27BF, "2900-"29FF, "2B00-"2BFF}
79 \ltjdefcharrange{4}{%
80    "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
81   "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
82   "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
83   "1F300-"1FFFF, "2000-"206F
84 } % non-Japanese
85 \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF}
86 \ltjdefcharrange{6}{%
87   "2460-"24FF, "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF,
88   "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF,
89   "1B000-"1B16F, "1F100-"1F2FF, "20000-"2FFFF, "E0100-"E01EF
90 }
91 \ltjdefcharrange{7}{%
92   "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF,
93   "A960-"A97F, "AC00-"D7FF
94 }
95 \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
96 \ltjdefcharrange{9}{
97   "2002, "2010, "2011, "2013, "2014, "2015, "2016, "2018, "2019,
98   "201A, "201C, "201D, "201E, "2020, "2021, "2022, "2025, "2026,
99   "2030, "2032, "2033, "2039, "203A, "203B, "203C, "203E, "203F,
100   "2042, "2044, "2047, "2048, "2049, "2051
101 }
102 \ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}
103
104 \directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
105 \let\ltj@@orig@end=\@@end
106 \protected\def\@@end{%
107   \directlua{luatexja.ext_cleanup()}\ltj@@orig@end}
108
109 \directlua{luatexja.jfont.register_vert_replace{
110   [',']='、', ['.']='。', ['“']=0x301D, ['”']=0x301F,
111 }}
112
113 %%------------------ all done
114 \ltj@plain@AtEnd
115 \endinput
116 %% EOF