summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/zxjafont/zxjafont.tex
blob: 3e011dddc9e81065d13614d1d4ebd52db192cfbe (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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
% 文字コードは UTF-8
% xelatex で組版する
\documentclass[xelatex,ja=standard,jafont=ipaex,
  a4paper]{bxjsarticle}
\xeCJKDeclareCharClass{CJK}{`■,`※}
\usepackage{color}
\definecolor{myblue}{rgb}{0,0,0.75}
\definecolor{mygreen}{rgb}{0,0.45,0}
\usepackage[colorlinks,hyperfootnotes=false]{hyperref}
\hypersetup{linkcolor=myblue,urlcolor=mygreen}
\usepackage{bxtexlogo}
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
\newcommand{\PkgVersion}{1.2}
\newcommand{\PkgDate}{2020/02/24}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
\newcommand{\Means}{:\ }
\newcommand{\JEmph}{\textgt}
\newcommand{\JSl}{\mbox{/}\linebreak[0]}
%-----------------------------------------------------------
\begin{document}
\title{\Pkg{zxjafont} パッケージ(v\PkgVersion)}
\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')}
\date{v\PkgVersion\quad[\PkgDate]}
\maketitle

%===========================================================
\section{概要}

{\XeLaTeX}+\Pkg{fontspec}でのフォントファミリ名を直接指定する方式は
「好きなフォントを指定する」という点では、
{\pLaTeX}\>よりも格段に使い易いが、
日本語を扱うためには必ず何らかのフォント設定を行う必要があり、
これが煩わしく感じられる場合もある。
本パッケージでは、日本語\>{\LaTeX}\>において
一般的に行われている日本語用フォント設定を予め用意しておいて、
簡単に呼び出せるようにしている。

\paragraph{前提環境}\mbox{}
\begin{itemize}
\item フォーマット\Means {\LaTeX}
\item エンジン\Means {\XeTeX}
\item 依存パッケージ\Means \Pkg{fontspec}パッケージ
\end{itemize}

%===========================================================
\section{使い方}
\label{sec:Usage}

以下のようにパッケージを読み込むだけである。
(ユーザ命令・環境はない。)
\begin{quote}\small
|\usepackage[|\Meta{メイン設定}|,|\Meta{サブ設定}|,|%
\Meta{他オプション}|]{zxjafont}|
\end{quote}

\Meta{メイン設定}は1つだけ指定できるが、
\Meta{サブ設定}と\Meta{他オプション}は任意個数指定可能である。
もし\Pkg{fontspec}が未読込の場合は自動的に読み込む。
{\XeLaTeX}\>には和文と欧文の元来の区別がないので、
このパッケージで指定するフォントが全ての文字に通用される。
ただし、\Pkg{xeCJK}パッケージや\Pkg{zxjatype}パッケージの
日本語処理機能を利用する場合には和文と欧文が区別されるようになり、
この場合は\JEmph{和文のみ}にフォント設定が適用される。

%-------------------
\subsection{メイン設定オプション}
\label{ssec:Main-Option}

{\LaTeX}\>の総称ファミリに関するプリセット設定、すなわち、
\Pkg{fontspec}の\>|\setmainfont|\JSl|\setsansfont|\JSl|\setmonofont|\>%
(\Pkg{xeCJK}\JSl\Pkg{zxjatype}併用時は\>%
|\setCJKmainfont|\JSl|\setCJKsansfont|\JSl|\setCJKmonofont|)
を行うもの。

\Note メイン設定のプリセットは\Pkg{pxchfon}パッケージにおける
プリセットをそのまま
引き継いでいる。
設定内容の詳細については、
\JEmph{\Pkg{pxchfon}の説明書を参照してほしい}。

\Note 1.0版より、\Pkg{pxchfon}パッケージの多ウェイト設定について
明朝・ゴシックの3ウェイトが全てサポートされるようになった。

\paragraph{単ウェイト用プリセット}
明朝・ゴシック各々1ウェイトのみを用いる設定。
セリフ(|\rmfamily|)に明朝、
サンセリフ(|\sffamily|)と等幅(|\ttfamily|)にゴシックを割り当てる。
さらに、{\pLaTeX}\>の習慣に合わせて、
セリフの太字(|\bfseries|)もゴシックにする。
(これは必ずしも好ましい設定ではないことに注意。)

\begin{itemize}
\item |ms|\Means
MS フォント。
\item |ipa|\Means
IPAフォント。
\item |ipaex|\Means
IPAexフォント。
\end{itemize}
\Note {\XeTeX}\>は「フォント非埋込のPDF生成」に対応していないので、
|noembed| プリセットは存在しない。

例えば、|ms|\>プリセットは以下の\Pkg{fontspec}の設定を行う:
\begin{quote}\small\begin{verbatim}
\setmainfont{MS-Mincho}[BoldFont=MS-Gothic]
\setsansfont{MS-Gothic}[BoldFont=MS-Gothic]
\setmonofont{MS-Gothic}[BoldFont=MS-Gothic]
\end{verbatim}\end{quote}
\Note \Pkg{xeCJK}\JSl\Pkg{zxjatype}読込時は和文用フォントの
設定(|\setCJKmainfont|\>等)に置き換わり、またこの場合は
和文スケール設定(|Scale|\>オプションキー)が追加される。
これは以降で紹介する例についても同様である。

\paragraph{多ウェイト用プリセット}
セリフ(|\rmfamily|)に明朝、
サンセリフ(|\sffamily|)と等幅(|\ttfamily|)にゴシックを割り当て、
各々について中字(|\mdseries|)と太字(|\bfseries|)のフォントを
\Pkg{pxchfon}のプリセットと同様に個別に設定する。

さらに、|threeweight|\>オプションが有効の場合は、
{p\LaTeX}\>の\Pkg{japanese-otf}で\>|deluxe|\>オプションを指定したときと
同様に、「明朝の細字(|\rmfamily\ltseries|)」と
「ゴシックの極太(|\sffamily\ebseries|)」が指定できるようになり、
明朝とゴシックの各々について3ウェイトのフォントが
\Pkg{pxchfon}のプリセットと同様に個別に設定される。
\Note |threeweight|\>オプションは通常は既定で有効になっている
(詳細は\>\ref{ssec:Other-Option}\>節を参照)。

\begin{itemize}
\item |ms-hg|\Means
  MSフォント + HGフォント。
  \Note HGフォント = Microsoft Office 付属の日本語フォント
\item |ipa-hg|\Means
  IPAフォント + HGフォント。
\item |ipaex-hg|\Means
  IPAexフォント + HGフォント。
\item |moga|\Means
  Mogaフォント(MogaEx;2004JIS字形)。
  \Note \Pkg{pxchfon}の\>|moga-mobo-ex|(|jis2004|\>有効)と同じで、
  MogaEx系統が用いられる。
\item |moga-90|\Means
  Mogaフォント(MogaEx;90\JSl 2000JIS字形)。
  \Note \Pkg{pxchfon}の\>|moga-mobo-ex|(|jis2004|\>無効)と同じで、
  MogaEx90系統が用いられる。
\item |mogaN-90|\Means
  Mogaフォント(Moga;90\JSl 2000JIS字形)。
  \Note \Pkg{pxchfon}の\>|moga-mobo|(|jis2004|\>無効)と同じで、
  Moga90系統が用いられる。
  \Note |moga|\JSl|moga-90|\JSl|mogaN-90|\>の各プリセットは、%
  |jis2004|\JSl|jis90|\>オプションが併用された場合にはそれに応じて
  適切な字形をもつフォントの方に切り替える。
\item |ume|\Means
  梅フォント。
\item |kozuka-pro|\Means
  小塚フォント(Pro版)。
\item |kozuka-pr6|\Means
  小塚フォント(Pr6版)。
\item |kozuka-pr6n|\Means
  小塚フォント(Pr6N版)。
\item |hiragino-pro|\Means
  ヒラギノフォント基本6書体セット(Pro/Std版)。
\item |hiragino-pron|\Means
  ヒラギノフォント基本6書体セット(ProN/StdN版)。
\item |morisawa-pro|\Means
  モリサワフォント基本7書体(Pro版)。
\item |morisawa-pr6n|\Means
  モリサワフォント基本7書体(Pr6N版)。
\item |yu-win|\Means
  游書体(Windows~8.1搭載版)。
\item |yu-win10|\Means
  游書体(Windows~10搭載版)。%TODO
\item |yu-osx|\Means
  游書体(macOS搭載版)。
\item |sourcehan|\Means
  Source Han Serif(源ノ明朝)+ Source Han Sans(源ノ角ゴシック)、
  非サブセット版。%TODO
  \Note つまり地域別サブセットOTF版以外のもの。
  フォント名での指定であるため、%
  \Pkg{pxchfon}の\>|sourcehan|\>と\>|sourcehan-otc|\>の両方と
  等価である。
\item |sourcehan-jp|\Means
  Source Han Serif + Source Han Sans、
  日本用地域別サブセット版。
\item |noto|\Means
  Noto Serif CJK + Noto Sans CJK、
  非サブセット版。
  \Note |sourcehan|\>と同様の補足事項が当てはまる。
  \Pkg{pxchfon}の\>|noto|\>と\>|noto-otc|\>の両方と等価。
\item |noto-jp|\Means
  Noto Serif JP + Noto Sans JP、
  日本用地域別サブセット版。
\item |haranoaji|\Means
  原ノ味フォント。
\end{itemize}

例えば\>|haranoaji|\>プリセットについて説明すると、%
|threeweight|\>が有効の場合は以下の設定
(3ウェイト)が行われる%
\footnote{実際には、状況に応じてフォント名の代わりにファイル名
(\texttt{*.otf})での指定に切り替わる。}
:
\begin{quote}\small\begin{verbatim}
\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Bold,
    FontFace={l}{n}{HaranoAjiMincho-Light}]
\setsansfont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold,
    FontFace={eb}{n}{HaranoAjiGothic-Heavy}]
\setmonofont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold,
    FontFace={eb}{n}{HaranoAjiGothic-Heavy}]
\end{verbatim}\end{quote}

|threeweight|\>が無効の場合は以下の設定
(中字・太字のみの2ウェイト)が行われる:
\begin{quote}\small\begin{verbatim}
\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Bold]
\setsansfont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold]
\setmonofont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold]
\end{verbatim}\end{quote}

|oneweight|\>オプション指定時は以下の設定
(1ウェイトのみ)が行われる:
\begin{quote}\small\begin{verbatim}
\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiGothic-Medium]
\setsansfont{HaranoAjiGothic-Medium}[BoldFont=HaranoAjiGothic-Medium]
\setmonofont{HaranoAjiGothic-Medium}[BoldFont=HaranoAjiGothic-Medium]
\end{verbatim}\end{quote}
\Note 先の例と異なり明朝の太字がゴシックとなり、
かつゴシックとして“|HaranoAjiGothic-Medium|”%
(\Pkg{pxchfon}プリセットにおいて\>|\setgothicfont|\>に
割り当てられているフォント)が使われることに注意。

そして\>|bold|\>オプション指定時は以下の設定が行われる:
\begin{quote}\small\begin{verbatim}
\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiGothic-Bold]
\setsansfont{HaranoAjiGothic-Bold}[BoldFont=HaranoAjiGothic-Bold]
\setmonofont{HaranoAjiGothic-Bold}[BoldFont=HaranoAjiGothic-Bold]
\end{verbatim}\end{quote}

\paragraph{特殊なプリセット}
\mbox{}

\begin{itemize}
\item |nopreset|\Means
  メイン設定を何も行わない。
  \Note フォントの設定は自分で行うが、それでも何らかの理由で
  \Pkg{zxjafont}パッケージを読み込みたいという場合に
  用いることが想定されている。
\end{itemize}

\paragraph{他パッケージとの互換用のプリセット}
\mbox{}

\begin{itemize}
\item |kozuka|\Means
  |kozuka-pro| の別名。
  (\Pkg{ptex-fontmaps}でのプリセット名。)
\item |morisawa|\Means
  |morisawa-pro| の別名。
  (\Pkg{ptex-fontmaps}でのプリセット名。)
\item |moga-mobo|\Means
  |mogaN-90| の別名。
  (\Pkg{ptex-fontmaps}でのプリセット名。)
\item |moga-mobo-ex|\Means
  |moga-90| の別名。
  (\Pkg{ptex-fontmaps}でのプリセット名。)
  \Note 1.2版より、Moga系プリセットが\>|jis90|\JSl|jis2004|\>での
  字体指定に従うようになったため、
  他のパッケージの動作との互換がより高い動作に変更された。
  現在は既定で90JIS字形になることに注意。
\item |noto-otf|\Means
  |noto| の別名。
  (\Pkg{luatexja-preset}でのプリセット名。)
\item |hiragino|\Means
  |hiragino-pro| の別名。
  (\Pkg{ptex-fontmaps}でのプリセット名。)
  \Note 0.6版で追加。
  0.4版以前では |hiragino| が別の設定を指していたが、
  これは0.5版で廃止された。
\end{itemize}

\paragraph{廃止されたプリセット}

0.2a版以前で用意されていた次のプリセット設定は、
0.5版において廃止された。
現在は指定するとエラーが発生する。

\Note ただし |hiragino| については現在では |hiragino-pro| の別名と
解釈される。

\begin{quote}
|kozuka4|、|kozuka6|、|kozuka6n|、|hiragino|、
|ms-dx|、|ipa-dx|、|hiragino-dx|
\end{quote}

%-------------------
\subsection{サブ設定のオプション}
\label{ssec:Sub-Option}

\Pkg{fontspec}では使用するフォントを |\newfontfamily| 命令で
増やすことができる。
それを利用した追加設定である。

\begin{itemize}
\item |hg|\Means
Microsoft Officeのフォント(HGフォント)に対応する、
以下のファミリ命令が定義される。
\begin{itemize}
\item |\hgmcfamily|\Means HGS明朝B、太字=HGS明朝E。
\item |\hgprfamily|\Means HGS創英プレゼンスEB
\item |\hggtfamily|\Means HGSゴシックM、太字=HGSゴシックE。
\item |\hggufamily|\Means HGS創英角ゴシックUB
\item |\hgmgfamily|\Means HG丸ゴシックM-PRO
\item |\hgkkfamily|\Means HGS教科書体
\item |\hgksfamily|\Means HG正楷書体-PRO
\item |\hggsfamily|\Means HGS行書体
\item |\hgppfamily|\Means HGS創英角ポップ体
\end{itemize}

\item |hiraginomg|\Means
ヒラギノの丸ゴシックを使う設定。
\begin{itemize}
\item |\hmgfamily|\Means ヒラギノ丸ゴ Pro W4
\end{itemize}

\item |mobo|\Means
Moboフォント(2004JIS字形)を使う設定。
\begin{itemize}
\item |\mobofamily|\Means Moboフォント(2004JIS字形)
\end{itemize}

\item |mobo-90|\Means
Moboフォント(90\JSl 2000JIS字形)を使う設定。
\begin{itemize}
\item |\mobofamily|\Means Moboフォント(90\JSl 2000JIS字形)
\end{itemize}

\item |maruberi|\Means
マルベリフォントを使う設定。
\begin{itemize}
\item |\mmgfamily|\Means モトヤLマルベリ3等幅
\end{itemize}
\end{itemize}

%-------------------
\subsection{その他のオプション}
\label{ssec:Other-Option}

\begin{itemize}
\item |oneweight|\Means
多ウェイト用のプリセットを単ウェイトとして用いる。
\Note \Pkg{pxchfon}のマニュアルのプリセットの記述に
おいて\>|\setminchofont|\>と\>|\setgothicfont|\>で設定されている
ウェイトのフォントが用いられる。
\item |nooneweight|(既定)\Means
|oneweight|\>の否定。

\item |threeweight|(既定)\Means
多ウェイト用プリセットを使う場合に3ウェイトを利用できるようにする。
\item |nothreeweight|\Means
|threeweight|\>の否定。
多ウェイト用プリセットは2ウェイトのみ使える。
\Note |(no)threeweight|\>は1.0版で追加された。
\Note 既定は\>|threeweight|\>であるが、使用中の\Pkg{fontspec}の版が
古くて追加ウェイトに対応できない場合は\>|nothreeweight|\>が既定になる。

\item |bold|\Means
|oneweight|\>と同じく多ウェイト用プリセットを単ウェイトとして用いるが、
この際のゴシック体のフォントとして太字ウェイトに相当するものを用いる。
\Note \Pkg{pxchfon}のプリセットでの\>|\setminchofont|\>%
と\>|\setboldgothicfont|\>のフォントが用いられる。
\Note \Pkg{luatexja-preset}とは異なり、|bold|\>の指定自体が
単ウェイト設定を強制する。
|bold|\>と\>|oneweight|\>を同時に指定した場合は\>|bold|\>が優先する。
\item |nobold|(既定)\Means
|bold|\>の否定。

\item |prop|\Means
プロポーショナル幅のフォントを用いる。
例えば「IPA明朝」の代わりに「IPA P明朝」、
「HGS行書体」の代わりに「HGP行書体」を指定する。
既定で用いるのは等幅のフォントだが、
「欧文のみプロポーショナル」の変種(HGフォントの場合「HGS~」名称のもの)
がある場合はそれを優先させる。
\Note 1.1版より、\Pkg{xeCJK}\JSl\Pkg{zxjatype}併用時でも\>|prop|\>が
指定できるようになった。
\item |noprop|(既定)\Means
|prop|\>の否定。
(和文が)等幅のフォントを用いる。

\item |scale=|\Meta{実数}\Means
和文スケール値(\Pkg{fontspec}の |Scale| 属性の値)。
既定値は、\Pkg{BXjscls}の文書クラスおよび
\Pkg{zxjatype}パッケージで指定されている場合はその値、
なければ1となる。

\item |jis90|\JSl|90jis|\Means
90JIS字形(2000JIS字形)の使用を指定する。
\item |jis2004|\JSl|2004jis|\Means
2004JIS字形の使用を指定する。
\item |nojisshape|(既定)\Means
特定のJIS字形の使用の指定を行わない。

\item |expert|\Means
横組専用仮名字形を(可能であれば)利用する。
\Note \Pkg{luatexja-preset}の\>|expert|\>とは異なり、
ルビ用字形は未サポート。

\item |ignorejatype|\Means
たとえ\Pkg{xeCJK}\JSl\Pkg{zxjatype}が読み込まれていたとしても
それらを無視して、「和文欧文の区別がない」前提の動作を行う。
\Note この場合「プリセットで指定した日本語フォントが\JEmph{欧文のみ}に
適用される」という奇妙な動作になる。
有用性はほぼないと思われるが念のため用意している。
\item |noignorejatype|(既定)\Means
|ignorejatype|\>の否定。
\Note |(no)ignorejatype|\>は1.0版で追加された。

\item |feature={|\Meta{属性リスト}|}|\Means
このパッケージで指定されるフォント全てに通用する
\Pkg{fontspec}の属性の指定。
既定値は空。

\end{itemize}

\paragraph{他パッケージとの互換用のオプション}
\Pkg{luatexja-preset}との互換のためのもの。

\begin{itemize}
\item |deluxe|\JSl|nodeluxe|\Means
  それぞれ |nooneweight|\JSl|oneweight| の別名。
\item |match|\JSl|fontspec|\Means
  これらの機能は“常に有効”と考えられるため、黙って無視される。
\item |nfssonly|\Means
  非サポートのため警告が出て無視される。
\item |noembed|\Means
  \ref{ssec:Main-Option}で述べた通り、非埋込の設定はサポートできない
  ので、警告が出た上で、|nopreset|\>プリセットが指定されたものと
  見なされる。
\end{itemize}

%===========================================================
\end{document}
%% EOF