summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex
blob: 81947edf7d2d042890cc96a5eafec88b03ee4d95 (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
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
% 文字コードは UTF-8
% uplatex で組版する
\documentclass[a4paper,uplatex]{jsarticle}
\usepackage{metalogo}
\usepackage{shortvrb}
\MakeShortVerb{\|}
\newcommand{\PkgVersion}{0.7h}
\newcommand{\PkgDate}{2015/10/14}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
\newcommand{\Means}{:\ }
\providecommand{\pTeX}{p\TeX}
\providecommand{\pLaTeX}{p\LaTeX}
\providecommand{\upTeX}{u\pTeX}
\providecommand{\upLaTeX}{u\pLaTeX}
%-----------------------------------------------------------
\begin{document}
\title{\Pkg{pxchfon} パッケージ(v\PkgVersion)}
\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')}
\date{\PkgDate}
\maketitle

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

{\pLaTeX}/{\upLaTeX}の文書の標準のフォント(明朝・ゴシック)
をユーザ指定のものに置き換える。
dvipdfmx 専用である。
他のフォント追加パッケージと異なり、
追加するフォントを{\LaTeX}文書中で指定するので、
一度パッケージをインストールするだけで、
任意の日本語フォント(ただし等幅に限る)を使うことができる。
欧文部分を同じ日本語フォントで置き換えることも可能である。
\Pkg{UTF}/\Pkg{OTF} パッケージにも対応している。

0.5 版での拡張で、{\pTeX}において広く行われているフォント設定
(IPA フォントの使用等)をパッケージオプション一つで
行う機能を追加した。
(この機能は元々、別の \Pkg{PXjafont} パッケージとして
提供されていたものである。)

%===========================================================
\section{前提環境}

\begin{itemize}
\item {\TeX}フォーマット: {\pLaTeX}/{\upLaTeX}
\item DVIウェア: dvipdfmx
\item 前提パッケージ:
  \begin{itemize}
  \item \Pkg{atbegshi} パッケージ(|everypage| オプション使用時)
  \end{itemize}
\end{itemize}

%===========================================================
\section{読込}
\label{sec:Loading}

プレアンブルにおいて、|\usepackage| を用いて読み込む。
\begin{quote}\small\begin{verbatim}                                      
\usepackage[<オプション>,...]{pxchfon}
\end{verbatim}\end{quote}

オプションは次のものが用意されている。

\begin{itemize}
\item \textbf{プリセット指定オプション}(|ipa|、|hiragino| 等)
  名前に対応するプリセット指定を有効にする。
  詳細については\ref{sec:Preset}節を参照。
\item \textbf{ファイルプリセット指定オプション}%
  (|+|\mbox{}\textgt{名前})
  名前に対応するファイルプリセット指定を有効にする。
  詳細については\ref{sec:FilePreset}節を参照。
\item |alphabet|\Means
  欧文フォントも指定されたフォントの英数字部分で置き換える。
  (明朝が |\rmfamily|、ゴシックが |\sffamily| に適用される。)
  プリセット指定オプション未使用の場合は既定で有効である。
\item |noalphabet|\Means
  |alphabet| の否定。
  欧文フォントは変更しない。
  インストール時に欧文用の設定をしていない場合は必ずこれを
  指定する必要がある。
  プリセット指定オプション使用の場合はこちらが既定で有効になる。
\item |otf|(既定)\Means
  \Pkg{OTF}および\Pkg{UTF}パッケージの使用時に、
  そのフォントも置き換えの対象とする。
\item |nootf|\Means
  |otf| の否定。
  \Pkg{OTF}/\Pkg{UTF}パッケージのフォントは置き換えない。
  この場合、\Pkg{OTF}パッケージで |noreplace| を指定しない限り、
  標準の和文フォントは変化しない。
\item |prefer2004jis|\Means
  {\pTeX}/{\upTeX}の標準和文フォントのCMapを2004JIS字形指定のものに
  変更する。
  Adobe-Japan1に対応したOpenTypeフォント使用の場合は、
  所謂「2004JIS字形」が使われることになる。
\item |noprefer2004jis|(既定)\Means
  |prefer2004jis| の否定。
\item |oneweight|\Means
  \Pkg{OTF}パッケージを単ウェイトで使用する場合に、
  プリセット設定で使われるフォントの集合を{\pTeX}標準と同一にする。
  \<\footnote{小塚フォントのプリセットでは、{\pTeX}標準のゴシック
  (jisg等)にはMウェイト(Acrobatに付属のフォントの一つ)を
  割り当てる一方で、\Pkg{OTF}パッケージの3ウェイトのゴシックには
  R、B、Hウェイトを割り当てている。
  従って、\Pkg{OTF}を単ウェイトで用いる時にMウェイトを使いたい
  場合には \texttt{oneweight} オプションを指定すればよい。
  現状では、小塚フォント以外のプリセットではこのオプションを
  用いる必要はない。}
\item |nooneweight|(既定)\Means
  |oneweight| の否定。
\end{itemize}

\paragraph{上級者向けオプション}
\begin{itemize}
\item |relfont|\Means
  指定された和文フォントの英数字部分を({\pLaTeX}の標準機能の)
  従属欧文フォントとして設定する。
  すなわち、既定の欧文フォントは置き換えないが、|\selectfont| で
  和文フォントを選択する際に予め |\userelfont| を実行しておくと
  欧文も和文と同じ書体になる。
  \inhibitglue\footnote{特に
  「\texttt{\symbol{`\\}userelfont\symbol{`\\}selectfont}」
  だけ実行すると、欧文が現在の和文と同じ書体になる。}
  (ただし置き換えていない総称ファミリについては無効。)
  \Note |alphabet|、|noalphabet|、|relfont| の3つのオプションは
  排他である。
\item |everypage|\Means
  DVIの全ページにマップ設定を書き込む。
  詳細は「dvipdfmx のページ抜粋処理への対応」を参照。
\item |noeverypage|(既定)\Means
  |everypage|の否定。
  DVIの先頭ページにのみマップ設定を書き込む。
\item |directunicode|\Means
  \Pkg{OTF}パッケージのUnicode出力用フォント(|\UTF{}| の出力)
  について、Unicodeを用いてフォントのグリフにアクセスするように
  設定する。
  この設定を用いると、当該のフォントのもつ任意のUnicode文字
  (ただし全角幅に限る)が利用可能になる。
  \footnote{通常は、Unicodeを一旦Adobe-Japan1のCIDに変換して、
  CIDでフォントのグリフにアクセスするという処理になる。
  このため、Adobe-Japan1のグリフと対応しないUnicode文字は
  普通は使えない。なお、\texttt{directunicode} は0.6c版では
  横書きのみの対応であったが、0.7版で縦書きにも対応した。
  ただし、dvipdfmxの仕様の都合で、縦書き用グリフにはならない。
  また、現状では実質的に効果がBMP内の文字に限られる。}
\item |nodirectunicode|(既定)\Means
  |directunicode| の否定。
\item |usecmapforalphabet|\Means
  |alphabet|(または |relfont|)を指定して日本語フォントの英数字部分を
  欧文フォントとして使う際に、グリフのアクセスを「Unicode直接」でなく
  半角英数字用のCMap(\texttt{UniJIS-UCS2-HW-H})を用いたCIDでの
  アクセスで行う。
  Adobe-Japan1のCIDアクセス対応のOpenTypeフォントの場合、「Unicode直接」
  を使うと英数字がプロポーショナル幅のものになってしまうので、
  このオプションを指定して半角幅のものを使う必要がある。
  \inhibitglue\footnote{%
  念のため補足すると、フォントを「後から置き換える」ということを可能に
  するためには、TFMは固定幅でなければならない。}
\item |nousecmapforalphabet|(既定)\Means
  |usecmapforalphabet| の否定。
\end{itemize}

%===========================================================
\section{機能}

以下に該当する和文(CJK)フォントを、以降で述べるユーザ命令で
指定したものに置き換える。
\begin{itemize}
\item {\pTeX}の標準のフォント --- |rml*|/|gbm*|
\item {\upTeX}の日本語フォント --- |urml*|/|ugbm*|/|uprml*|/|upgbm*|
\item {\upTeX}の日中国語・韓国語フォント
\item \Pkg{UTF}パッケージのフォント --- |hmr*|/|hkb*|/|unij*|/|cid*|
\item \Pkg{OTF}パッケージの日本語フォント --- |hmin*|/|hgoth*|/|otf-{u,c}j*|
\item \Pkg{OTF}パッケージのの日中国語・韓国語フォント
%\item \Pkg{PXfontspec}パッケージの日本語フォント --- |nja{r,s}-*|
\end{itemize}

\Note 0.7c版で中国語・韓国語フォントに
対するサポートを行った。
\ref{sec:Non-Japanese}を参照。

和文フォント置換は、dvipdfmxのマップ設定を文書内で
(一時的に)変更するという方法で実現している。
欧文フォントについては実現方法が少し異なる
(\ref{sec:Mechanism-Alph}節を参照)。

\Pkg{OTF}パッケージを |deluxe| オプション付きで用いている
場合\textgt{以外}、すなわち明朝・ゴシックとも単ウェイトの場合、
以下の命令を用いる。

\begin{itemize}
\item |\setminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
  「明朝」のフォントを置き換えるフォントをファイル名で指定する。
  TTC形式の場合の該当のフォントの番号を\Meta{番号}に指定する。
\item |\setgothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
  「ゴシック」のフォントを置き換えるフォントをファイル名で指定する。
\item 以上の2つの命令、および以降で紹介するフォント設定命令について、
  \Meta{フォントファイル名}の値を |*| にするとフォント非埋込を指示する。
  また、この値を空にすると、以前に(当該の命令により)設定されていた
  値を取り消して既定の設定に戻す。
\end{itemize}
\begin{quote}\small
  例:
\begin{verbatim}
\setminchofont{ipam.ttf}        % IPA明朝
\setgothicfont[0]{msgothic.ttc} % MS ゴシック
\end{verbatim}
\end{quote}

\Pkg{OTF}パッケージを |deluxe| 付きで用いている場合は、
明朝・ゴシックともに3ウェイトを使う。
この時は、各ウェイト毎にフォント指定ができる。
またこの場合、丸ゴシック(|\mgfamily|)が使用可能になるが、
これに対して置き換えるフォントを指定することができる。

\begin{itemize}
\newcommand*{\CNot}{\footnotesize}
\item |\setlightminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      明朝・細ウェイト{\CNot (|\mcfamily\ltseries|)}
\item |\setmediumminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      明朝・中ウェイト{\CNot (|\mcfamily\mdseries|)}
\item |\setboldminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      明朝・太ウェイト{\CNot (|\mcfamily\bfseries|)}
\item |\setmediumgothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      ゴシック・中ウェイト{\CNot (|\gtfamily\mdseries|)}
\item |\setboldgothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      ゴシック・太ウェイト{\CNot (|\gtfamily\bfseries|)}
\item |\setxboldgothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      ゴシック・極太ウェイト{\CNot (|\gtfamily\ebseries|)}
\item |\setmarugothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      丸ゴシック{\CNot (|\mgfamily|)}
\end{itemize}

さらに、この場合、|\setminchofont| と |\setgothicfont| は各々のファミリの
3ウェイト全てを指定のフォントで置き換える。
実質的に単ウェイトになってしまうようで無意味に思えるが、
例えば明朝を実際には 2ウェイトしか使わないという時に、
\begin{quote}\small\begin{verbatim}
\setminchofont{minchoW3.otf}      %まず3ウェイト指定して
\setboldminchofont{minchoW6.otf}  %太だけ再指定する
\end{verbatim}\end{quote}
とする使い方が考えられる。
特に、欧文フォントも置き換えたい場合は3ウェイトが
全て指定されていないと有効にならないので、
\begin{quote}\small\begin{verbatim}
\setmediumminchofont{minchoW3.otf}
\setboldminchofont{minchoW6.otf}
\end{verbatim}\end{quote}
では思い通りにならないことになる。
また、この仕様のため、|deluxe| 以外の場合
(既定、|bold|、|noreplace|)は |\setgothicfont| で指定した
ものが確実にゴシック(単ウェイト)に反映される。

\paragraph{上級者向け機能}
\begin{itemize}
\item |\usecmapforalphabet|\Means
  |usecmapforalphabet| オプションの設定に切り替える。
  (\ref{sec:Loading}節を参照。)
\item |\nousecmapforalphabet|\Means
  |nousecmapforalphabet| オプションの設定に切り替える。
\item |\setnewglyphcmapprefix{|\Meta{文字列}|}|\Means
  2004JIS用のJISコード系のCMapの名前の接頭辞を指定する。
  そのようなCMapは、{\pTeX}の標準和文フォントについて2004JIS字形を
  選択(|prefer2004jis| 指定)した時に必要となるが、
  Adobeが配布しているCMapファイルには該当するものがないので、
  それを適宜用意してそのファイル名をこの命令で指定する必要がある。
  引数に与えるのは最後の1文字(書字方向の「|H|」「|V|」)を除いた
  部分の文字列である。\par
  CMap名接頭辞の既定値は「|2004-|」で、これは最近のTeX Liveに
  含まれている「|2004-H|」等のCMapファイルを用いることを意味する。%
  \inhibitglue\footnote{%
    引数に \texttt{*} を与えた場合は \texttt{JISX0213-2004-H} が
    指定されたと見なされる(歴史的理由から)。}
\item |\usefontmapfile{|\Meta{マップファイル名}|}|\Means
  指定のdvipdfmx用のマップファイルの読込を指示する。
  pdf{\TeX}の |\pdfmapfile| に相当する機能。
\item |\usefontmapline{|\Meta{マップ行}|}|\Means
  dvipdfmxのマップ行を直接指定して、その読込を指示する。
  pdf{\TeX}の |\pdfmapline| に相当する機能。
\item |\diruni|\Means
  和文フォントを、「Unicodeを用いてフォントのグリフにアクセスする」
  状態に切り替える(宣言型命令)。
  これにより、全角幅の任意の文字が出力可能となる。
  \footnote{\texttt{directunicode} オプションはBMP内でしか
    効かないが、この命令の効果はBMP外の文字にも及ぶ。
    つまり本当に任意の文字が扱える。}%
  その代わり、この状態では、約物の周りの空き調整が無効になる。
  詳細については\ref{sec:Loading}節の |directunicode| オプションの
  説明を参照されたい。
  なお、この命令は、シェープを |diruni| という値に変えることで
  実現されている。
\item |\textdiruni{|\Meta{テキスト}|}|\Means
  |\diruni| に対応する引数型命令。
\end{itemize}

%===========================================================
\section{プリセット指定}
\label{sec:Preset}

このパッケージの元々の意図は、標準のフォントを
普段使っているものと全く別の書体に変えることであったが、
例えば「普段使う設定が複数ありそれを簡単に切り替えたい」という
場合にも有用である。
そこで、{\pTeX}において広く行われている設定をパッケージ内に
組み込んで、パッケージオプションでそれを呼び出すという機能を追加した。
元々は\Pkg{PXjafont}という別のパッケージで提供されていた機能であるが、
0.5版からこのパッケージに組み入れることにした。

パッケージオプションにプリセット名を指定すると予め決められたフォント
ファイル名が |\setminchofont| 等の命令で設定される。
例えば、
\begin{quote}\small\begin{verbatim}
\usepackage[ipa]{pxchfon}
\end{verbatim}\end{quote}
は以下の記述と同等になる。
\begin{quote}\small\begin{verbatim}
\usepackage[noalphabet]{pxchfon}
\setminchofont{ipam.ttf}
\setgothicfont{ipag.ttf}
\end{verbatim}\end{quote}

注意として、プリセット指定を用いた場合は、
欧文フォントの置換について |noalphabet|(無効)が既定になる。
プリセット指定の場合は和文が「普通の」明朝・ゴシックのフォントと
なるので欧文フォントを変更しない場合が多いと考えられるためである。

%-------------------
\subsection{単ウェイト用の設定}

後述の「多ウェイト用の設定」で述べられた設定以外で使う場合に使用する。

\begin{itemize}
\item |noembed|\Means
  フォントを埋め込まない。
\begin{quote}\small\begin{verbatim}
\setminchofont{*} % 非埋込
\setgothicfont{*} % 非埋込
\end{verbatim}\end{quote}

\item |ms|\Means
  MSフォント。
\begin{quote}\small\begin{verbatim}
\setminchofont[0]{msmincho.ttc} % MS 明朝
\setgothicfont[0]{msgothic.ttc} % MS ゴシック
\end{verbatim}\end{quote}

\item |ipa|\Means
  IPAフォント。
\begin{quote}\small\begin{verbatim}
\setminchofont{ipam.ttf} % IPA明朝
\setgothicfont{ipag.ttf} % IPAゴシック
\end{verbatim}\end{quote}

\item |ipaex|\Means
  IPAexフォント。
\begin{quote}\small\begin{verbatim}
\setminchofont{ipaexm.ttf} % IPAex明朝
\setgothicfont{ipaexg.ttf} % IPAexゴシック
\end{verbatim}\end{quote}
\end{itemize}

%-------------------
\subsection{多ウェイト用の設定}

\Pkg{OTF}パッケージの |deluxe| オプション使用時に有効になる。
明朝3ウェイト、ゴシック3ウェイト、丸ゴシック1ウェイトを設定する。

\begin{itemize}
\item |ms-hg|\Means
  MSフォント + HGフォント。
  \Note HGフォント = Microsoft Office 付属の日本語フォント
\begin{quote}\small\begin{verbatim}
\setminchofont[0]{msmincho.ttc}    % MS 明朝
\setboldminchofont[0]{hgrme.ttc}   % HG明朝E
\setgothicfont[0]{msgothic.ttc}    % MS ゴシック
\setmediumgothicfont[0]{hgrgm.ttc} % HGゴシックM
\setboldgothicfont[0]{hgrge.ttc}   % HGゴシックE
\setxboldgothicfont[0]{hgrsgu.ttc} % HG創英角ゴシックUB
\setmarugothic{hgrsmp.ttf}         % HG丸ゴシックM-PRO 
\end{verbatim}\end{quote}

\item |ipa-hg|\Means
   IPAフォント + HGフォント。
\begin{quote}\small\begin{verbatim}
\setminchofont{ipam.ttf}           % IPA明朝
\setboldminchofont[0]{hgrme.ttc}   % HG明朝E
\setgothicfont{ipag.ttf}           % IPAゴシック
\setmediumgothicfont[0]{hgrgm.ttc} % HGゴシックM
\setboldgothicfont[0]{hgrge.ttc}   % HGゴシックE
\setxboldgothicfont[0]{hgrsgu.ttc} % HG創英角ゴシックUB
\setmarugothic{hgrsmp.ttf}         % HG丸ゴシックM-PRO 
\end{verbatim}\end{quote}

\item |ipaex-hg|\Means
   IPAexフォント + HGフォント。
\begin{quote}\small\begin{verbatim}
\setminchofont{ipaexm.ttf}         % IPAex明朝
\setboldminchofont[0]{hgrme.ttc}   % HG明朝E
\setgothicfont{ipaexg.ttf}         % IPAexゴシック
\setmediumgothicfont[0]{hgrgm.ttc} % HGゴシックM
\setboldgothicfont[0]{hgrge.ttc}   % HGゴシックE
\setxboldgothicfont[0]{hgrsgu.ttc} % HG創英角ゴシックUB
\setmarugothic{hgrsmp.ttf}         % HG丸ゴシックM-PRO 
\end{verbatim}\end{quote}

\item |moga-mobo|\Means
   Mogaフォント + Moboフォント。
   \Note 「丸ゴシック」ファミリに Mobogothic を充てている。
   \Note Moga/MoboフォントはCIDアクセス非対応であるが、
   フォント実体を変えることで |prefer2004jis| オプションに
   対応させている。
   \par\medskip
   \textgt{|prefer2004jis| 非指定時}
\begin{quote}\small\begin{verbatim}
\setminchofont[3]{mogam.ttc}       % Moga90Mincho
\setboldminchofont[3]{mogamb.ttc}  % Moga90Mincho Bold
\setgothicfont[3]{mogag.ttc}       % Moga90Gothic
\setboldgothicfont[3]{mogagb.ttc}  % Moga90Gothic Bold
\setxboldgothicfont[3]{mogagb.ttc} % Moga90Gothic Bold
\setmarugothic[3]{mobog.ttc}       % Mobo90Gothic
\end{verbatim}\end{quote}
   \par\medskip
   \textgt{|prefer2004jis| 指定時}
\begin{quote}\small\begin{verbatim}
\setminchofont[0]{mogam.ttc}       % MogaMincho
\setboldminchofont[0]{mogamb.ttc}  % MogaMincho Bold
\setgothicfont[0]{mogag.ttc}       % MogaGothic
\setboldgothicfont[0]{mogagb.ttc}  % MogaGothic Bold
\setxboldgothicfont[0]{mogagb.ttc} % MogaGothic Bold
\setmarugothic[0]{mobog.ttc}       % MoboGothic
\end{verbatim}\end{quote}

\item |moga-maruberi|\Means
   Mogaフォント + モトヤLマルベリ3等幅。
   \Note |moga-mobo| と以下を除いて同じ。
\begin{quote}\small\begin{verbatim}
\setmarugothic{MTLmr3m.ttf}        % モトヤLマルベリ3等幅
\end{verbatim}\end{quote}

\item |kozuka-pro|\Means
  小塚フォント(Pro版)。
\begin{quote}\small\begin{verbatim}
\setminchofont{KozMinPro-Regular.otf}      % 小塚明朝 Pro R
\setlightminchofont{KozMinPro-Light.otf}   % 小塚明朝 Pro L
\setboldminchofont{KozMinPro-Bold.otf}     % 小塚明朝 Pro B
\setgothicfont{KozGoPro-Medium.otf}        % 小塚ゴシック Pro M
\setmediumgothicfont{KozGoPro-Regular.otf} % 小塚ゴシック Pro R
\setboldgothicfont{KozGoPro-Bold.otf}      % 小塚ゴシック Pro B
\setxboldgothicfont{KozGoPro-Heavy.otf}    % 小塚ゴシック Pro H
\setmarugothicfont{KozGoPro-Heavy.otf}     % 小塚ゴシック Pro H
\end{verbatim}\end{quote}

\item |kozuka-pr6|\Means
  小塚フォント(Pr6版)。
\begin{quote}\small\begin{verbatim}
\setminchofont{KozMinProVI-Regular.otf}      % 小塚明朝 Pro-VI R
\setlightminchofont{KozMinProVI-Light.otf}   % 小塚明朝 Pro-VI L
\setboldminchofont{KozMinProVI-Bold.otf}     % 小塚明朝 Pro-VI B
\setgothicfont{KozGoProVI-Medium.otf}        % 小塚ゴシック Pro-VI M
\setmediumgothicfont{KozGoProVI-Regular.otf} % 小塚ゴシック Pro-VI R
\setboldgothicfont{KozGoProVI-Bold.otf}      % 小塚ゴシック Pro-VI B
\setxboldgothicfont{KozGoProVI-Heavy.otf}    % 小塚ゴシック Pro-VI H
\setmarugothicfont{KozGoProVI-Heavy.otf}     % 小塚ゴシック Pro-VI H
\end{verbatim}\end{quote}

\item |kozuka-pr6n|\Means
  小塚フォント(Pr6n版)。
\begin{quote}\small\begin{verbatim}
\setminchofont{KozMinPr6N-Regular.otf}      % 小塚明朝 Pr6N R
\setlightminchofont{KozMinPr6N-Light.otf}   % 小塚明朝 Pr6N L
\setboldminchofont{KozMinPr6N-Bold.otf}     % 小塚明朝 Pr6N B
\setgothicfont{KozGoPr6N-Medium.otf}        % 小塚ゴシック Pr6N M
\setmediumgothicfont{KozGoPr6N-Regular.otf} % 小塚ゴシック Pr6N R
\setboldgothicfont{KozGoPr6N-Bold.otf}      % 小塚ゴシック Pr6N B
\setxboldgothicfont{KozGoPr6N-Heavy.otf}    % 小塚ゴシック Pr6N H
\setmarugothicfont{KozGoPr6N-Heavy.otf}     % 小塚ゴシック Pr6N H
\end{verbatim}\end{quote}

\item |hiragino-pro|\Means
  ヒラギノフォント基本6書体セット(Pro/Std版) + 明朝W2。
\begin{quote}\small\begin{verbatim}
\setminchofont{HiraMinPro-W3.otf}       % ヒラギノ明朝 Pro W3
\setlightminchofont{HiraMinPro-W2.otf}  % ヒラギノ明朝 Pro W2
\setboldminchofont{HiraMinPro-W6.otf}   % ヒラギノ明朝 Pro W6
\setgothicfont{HiraKakuPro-W3.otf}      % ヒラギノ角ゴ Pro W3
\setboldgothicfont{HiraKakuPro-W6.otf}  % ヒラギノ角ゴ Pro W6
\setxboldgothicfont{HiraKakuStd-W8.otf} % ヒラギノ角ゴ Std W8
\setmarugothicfont{HiraMaruPro-W4.otf}  % ヒラギノ丸ゴ Pro W4
\end{verbatim}\end{quote}

\item |hiragino-pron|\Means
  ヒラギノフォント基本6書体セット(ProN/StdN版) + 明朝W2。
\begin{quote}\small\begin{verbatim}
\setminchofont{HiraMinProN-W3.otf}       % ヒラギノ明朝 ProN W3
\setlightminchofont{HiraMinProN-W2.otf}  % ヒラギノ明朝 ProN W2
\setboldminchofont{HiraMinProN-W6.otf}   % ヒラギノ明朝 ProN W6
\setgothicfont{HiraKakuProN-W3.otf}      % ヒラギノ角ゴ ProN W3
\setboldgothicfont{HiraKakuProN-W6.otf}  % ヒラギノ角ゴ ProN W6
\setxboldgothicfont{HiraKakuStdN-W8.otf} % ヒラギノ角ゴ StdN W8
\setmarugothicfont{HiraMaruProN-W4.otf}  % ヒラギノ丸ゴ ProN W4
\end{verbatim}\end{quote}

\item |hiragino-elcapitan-pro|\Means
  ヒラギノフォント(Mac~OS~X El~Capitan 搭載;Pro/Std版) + 明朝W2。
\begin{quote}\small\begin{verbatim}
\setminchofont[1]{HiraginoSerif-W3.ttc}
\setlightminchofont{HiraMinPro-W2.otf}
\setboldminchofont[1]{HiraginoSerif-W6.ttc}
\setgothicfont[3]{HiraginoSans-W3.ttc}
\setboldgothicfont[3]{HiraginoSans-W6.ttc}
\setxboldgothicfont[2]{HiraginoSans-W8.ttc}
\setmarugothicfont[0]{HiraginoSansR-W4.ttc}
\end{verbatim}\end{quote}

\item |hiragino-elcapitan-pron|\Means
  ヒラギノフォント(Mac~OS~X El~Capitan 搭載;ProN/StdN版) + 明朝W2。
\begin{quote}\small\begin{verbatim}
\setminchofont[0]{HiraginoSerif-W3.ttc}
\setlightminchofont{HiraMinProN-W2.otf}
\setboldminchofont[0]{HiraginoSerif-W6.ttc}
\setgothicfont[2]{HiraginoSans-W3.ttc}
\setboldgothicfont[2]{HiraginoSans-W6.ttc}
\setxboldgothicfont[3]{HiraginoSans-W8.ttc}
\setmarugothicfont[1]{HiraginoSansR-W4.ttc}
\end{verbatim}\end{quote}

\item |morisawa-pro|\Means
  モリサワフォント基本7書体(Pro版)。
\begin{quote}\small\begin{verbatim}
\setminchofont{A-OTF-RyuminPro-Light.otf}         % A-OTF リュウミン Pro L-KL
\setboldminchofont{A-OTF-FutoMinA101Pro-Bold.otf} % A-OTF 太ミンA101 Pro
\setgothicfont{A-OTF-GothicBBBPro-Medium.otf}     % A-OTF 中ゴシックBBB Pro
\setboldgothicfont{A-OTF-FutoGoB101Pro-Bold.otf}  % A-OTF 太ゴB101 Pro
\setxboldgothicfont{A-OTF-MidashiGoPro-MB31.otf}  % A-OTF 見出ゴMB31 Pro
\setmarugothicfont{A-OTFJun101Pro-Light.otf}      % A-OTF じゅん Pro 101
\end{verbatim}\end{quote}

\item |morisawa-pr6n|\Means
  モリサワフォント基本7書体(Pr6N版)。
\begin{quote}\small\begin{verbatim}
\setminchofont{A-OTF-RyuminPr6N-Light.otf}         % A-OTF リュウミン Pr6N L-KL
\setboldminchofont{A-OTF-FutoMinA101Pr6N-Bold.otf} % A-OTF 太ミンA101 Pr6N
\setgothicfont{A-OTF-GothicBBBPr6N-Medium.otf}     % A-OTF 中ゴシックBBB Pr6N
\setboldgothicfont{A-OTF-FutoGoB101Pr6N-Bold.otf}  % A-OTF 太ゴB101 Pr6N
\setxboldgothicfont{A-OTF-MidashiGoPr6N-MB31.otf}  % A-OTF 見出ゴMB31 Pr6N
\setmarugothicfont{A-OTFJun101Pr6N-Light.otf}      % A-OTF じゅん Pr6N 101
\end{verbatim}\end{quote}

\item |yu-win|\Means
  游書体(Windows~8.1搭載版)。
\begin{quote}\small\begin{verbatim}
\setminchofont{yumin.ttf}         % 游明朝 Regular
\setlightminchofont{yuminl.ttf}   % 游明朝 Light
\setboldminchofont{yumindb.ttf}   % 游明朝 Demibold
\setgothicfont{yugothic.ttf}      % 游ゴシック Regular
\setboldgothicfont{yugothib.ttf}  % 游ゴシック Bold
\setxboldgothicfont{yugothib.ttf} % 游ゴシック Bold
\setmarugothicfont{yugothic.ttf}  % 游ゴシック Regular
\end{verbatim}\end{quote}

\item |yu-win10|\Means
  游書体(Windows~10搭載版)。
\begin{quote}\small\begin{verbatim}
\setminchofont{yumin.ttf}
\setlightminchofont{yuminl.ttf}
\setboldminchofont{yumindb.ttf}
\setgothicfont[0]{YuGothM.ttc}
\setmediumgothicfont[0]{YuGothR.ttc}
\setboldgothicfont[0]{YuGothB.ttc}
\setxboldgothicfont[0]{YuGothB.ttc}
\setmarugothicfont[0]{YuGothM.ttc}
\end{verbatim}\end{quote}

\item |yu-osx|\Means
  游書体(Mac OS X搭載版)。
\begin{quote}\small\begin{verbatim}
\setminchofont{YuMin-Medium.otf}       % 游明朝体 ミディアム
\setboldminchofont{YuMin-Demibold.ttf} % 游明朝体 デミボールド
\setgothicfont{YuGo-Medium.otf}        % 游ゴシック体 ミディアム
\setboldgothicfont{YuGo-Bold.otf}      % 游ゴシック体 ボールド
\setxboldgothicfont{YuGo-Bold.otf}     % 游ゴシック体 ボールド
\setmarugothicfont{YuGo-Medium.otf}    % 游ゴシック体 ミディアム
\end{verbatim}\end{quote}
\end{itemize}

なお、以上の設定で登場したフォントのうち、
「HG丸ゴシックM-PRO」
は欧文が等幅でないので |alphabet| オプション指定と
ともに使うことができない。

%-------------------
\subsection{旧版のオプション}

v0.5版以前で用意されていたプリセット設定。
現在の版でも使用は可能であるが非推奨である。

\begin{itemize}
\item |ipa-otf|\Means
  「拡張子が |.otf| の」IPAフォントを使用する。
\begin{quote}\small\begin{verbatim}
\setminchofont{ipam.otf} % IPA明朝
\setgothicfont{ipag.otf} % IPAゴシック
\end{verbatim}\end{quote}

\item |ipa-dx|\Means
  「拡張子が |.otf| の」IPAフォント + HGフォント。
  \Note |ipa-hg| とIPAフォントの拡張子を除いて同じ。

\item |kozuka4|\Means
  小塚フォント(Pro版)の単ウェイト使用。
\begin{quote}\small\begin{verbatim}
\setminchofont{KozMinPro-Regular-Acro.otf} % 小塚明朝 Pro R
\setgothicfont{KozGoPro-Medium-Acro.otf}   % 小塚ゴシック Pro M
\end{verbatim}\end{quote}

\item |kozuka6|\Means
  小塚フォント(Pr6版)の単ウェイト使用。
\begin{quote}\small\begin{verbatim}
\setminchofont{KozMinProVI-Regular.otf} % 小塚明朝 Pro-VI R
\setgothicfont{KozGoProVI-Medium.otf}   % 小塚ゴシック Pro-VI M
\end{verbatim}\end{quote}

\item |kozuka6n|\Means
  小塚フォント(Pr6n版)の単ウェイト使用。
\begin{quote}\small\begin{verbatim}
\setminchofont{KozMinPr6N-Regular.otf} % 小塚明朝 Pr6N R
\setgothicfont{KozGoPr6N-Medium.otf}   % 小塚ゴシック Pr6N M
\end{verbatim}\end{quote}

\item |hiragino|\Means
  ヒラギノフォントの単ウェイト使用。
\begin{quote}\small\begin{verbatim}
\setminchofont{HiraMinPro-W3.otf}  % ヒラギノ明朝 Pro W3
\setgothicfont{HiraKakuPro-W6.otf} % ヒラギノ角ゴ Pro W6
\end{verbatim}\end{quote}

\item |ms-dx|\Means |ms-hg| の別名。
\item |ipa-ttf|\Means |ipa| の別名。
\item |ipa-ttf-dx|\Means |ipa-hg| の別名。
\item |ipav2|\Means |ipa| の別名。
\item |ipav2-dx|\Means |ipa-hg| の別名。
\item |ipa-dx|\Means |ipa-hg| の別名。
\item |hiragino-dx|\Means |hiragino-pro| の別名。
\end{itemize}

%===========================================================
\section{ファイルプリセット機能}
\label{sec:FilePreset}

{\TeX} Liveでは{(u)\pLaTeX}のフォントの設定を
kanji-config-updmapというユーティリティで行うことができる。
そこでは、決まった形式のファイル名をもつdvipdfmx用の
マップファイルを用意していて、ユーザが要求したプリセット名に
対応したファイルをupdmapの機構を用いて有効化することで、
dvipdfmxの既定の設定を切り替えている。

本パッケージの「ファイルプリセット機能」は、
kanji-config-updmap用のマップファイルの読込を
文書内で指示するためのものである。
この機能を利用するには、パッケージオプションとして
|+| で始まる文字列(仮に |+NAME| とする)を与える。
これにより、以下のマップファイルの読込が指示される。

\begin{itemize}
\item {\pLaTeX}の場合:
  \begin{itemize}
  \item |ptex-NAME.map|
  \item |otf-NAME.map|
  \end{itemize}
\item {\upLaTeX}の場合:
  \begin{itemize}
  \item |uptex-NAME.map|
  \item |otf-up-NAME.map|
  \end{itemize}
\end{itemize}

例えば、{\upLaTeX}文書において以下のようにパッケージを読み込んだとする。

\begin{quote}\small\begin{verbatim}
\usepackage[+yu-win]{pxchfon}
\end{verbatim}\end{quote}

この場合、|uptex-yu-win.map| と |otf-up-yu-win.map| の2つのマップファイル
がdvipdfmx実行時に読み込まれる。

%===========================================================
\section{dvipdfmxのページ抜粋処理への対応}

dvipdfmxには元のDVI文書の一部のページだけを抜粋してPDF文書に変換する
機能がある(|-s| オプション)。
ところが、本パッケージでは、ユーザ命令で指定されたフォントマップ情報を、
DVIの先頭ページに書き出すという処理方法をとっている
(すなわち「ページ独立性」を保っていない)ため、
先頭ページを含まない抜粋を行った場合は、
フォント置換が効かないという現象が発生する。

この問題を解決するのが |everypage| パッケージオプションである。
このオプションが指定された場合は、
DVI文書の全てのページにフォントマップ情報を書き出すので、
ページ抜粋を行っても確実にフォント置換が有効になる。
ただし、このオプションを指定する場合は\Pkg{atbegshi}パッケージが
必要である。

%===========================================================
\section{欧文フォントの置換の原理}
\label{sec:Mechanism-Alph}

指定された和文フォントの半角部分からなる欧文フォントファミリとして
OT1/cfjar(明朝)とOT1/cfjas(ゴシック)を定義し、
既定の欧文ファミリに設定している
(明朝→|\rmdefault|;ゴシック→|\sfdefault|)。
その上で、この欧文ファミリに対するマップ指定を和文と同じ方法で行っている。

従って、例えば一時的に従来の CM フォントに切り替えたい場合はファミリ
を cmr に変更すればよい。なお、この cfjar と cfjas フォントは内部では
OT1 として扱われるが、実際には OT1 の一部のグリフしか持っていない。

%===========================================================
\section{注意事項}

\begin{itemize}
\item 指定できるフォントは等幅のものに限られる。
  実際に使われるメトリックは置換前と変わらない。
  (例えば jsarticle の標準設定ならJISメトリック)
\item 欧文部分を置き換えた場合、残念ながら欧文も等幅になってしまう。
\item さらに、アクセント付きの文字(\'e 等)や非英語文字
  ({\ss} 等)も使えない。
  大抵の日本語用フォントにはその文字を出力するためのグリフがそもそも
  ないのであるが、例えあったとしても使えない。
\item \Pkg{OTF}/\Pkg{UTF}パッケージ使用時に |\UTF| や |\CID| で
  指定した文字が出力されるかは、
  指定したフォントがその文字を持っているかに依存する。
\item |deluxe| 付きの\Pkg{OTF}パッケージと |alphabet| 付きの
  \Pkg{pxchfon}を同時に使う場合には、
  \Pkg{OTF}パッケージを先に読み込む必要がある。
  (これに反した場合はエラーになる。)
\item 単ウェイトの場合は、明朝の太字はゴシックになるという一般的な
  設定に欧文フォントの置換の際にも従っているが、
  明朝のみが置換されている場合は、
  明朝の置換フォントが太字にも適用される。
\item 既述のように、0.3版以降では\Pkg{OTF}パッケージで |deluxe|、
  |bold|、|noreplace| のいずれも指定されてない場合でも |\setgothicfont|
  が有効になる。
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix
%===========================================================
\section{dvipdfmx以外のDVIウェアでの使用}

本パッケージの核心の機能である
「使用フォントを文書中で指定する」
ことの実現にはdvipdfmxの拡張機能を利用している。
従って、dvipdfmxの利用が必須となるのだが、
(プレビュー等の目的で)
文書中で指定したフォントが反映されなくてもよいのなら、
他のDVIウェアでも本パッケージを利用した
DVI文書を扱える可能性がある。

%-------------------
\subsection{和文フォントだけを置き換えた場合(\texttt{noalphabet} 指定時)}

この設定で生成されるDVIファイルを
dvipdfmx以外のDVIウェアに読ませた場合、
フォント置換が無視され、
そのソフトウェアで設定されたフォントで出力されるはずである。
ただ、ソフトウェアによっては、警告やエラーが出る可能性もある。

%-------------------
\subsection{欧文フォントも置き換えた場合(\texttt{alphabet} 指定時)}

欧文フォントを置き換えたDVIファイルは、
独自の欧文フォント(|r-cfja?-?-l0j| という形式の名前)
を含んでいるので、
少なくともそれに関する設定をしない限りはdvipdfmx以外の
DVIウェアで処理することができない。
さらに、このフォントを扱うためにはDVIウェアが
サブフォント(sfd)に対応している必要がある。
文書中での設定をdvipdfmx以外のDVIウェアで活かすことはできない。
しかし、「独自部分の欧文フォントを常に特定の代替フォントで表示させる」
ということは、sfd対応のDVIウェアであれば可能である。

以下に、ttf2pkについて、「常にIPAフォントで代替する」
ための設定を掲げておく。
この記述をttf2pkのマップファイル(ttfonts.map)に加えると、
例えば、dvioutで本パッケージ使用のDVIファイルを閲覧できるようになる。

\begin{quote}\small\begin{verbatim}
r-cfjar-l-@PXcjk0@     msmincho.ttc FontIndex=0
r-cfjar-r-@PXcjk0@     msmincho.ttc FontIndex=0
r-cfjar-b-@PXcjk0@     msmincho.ttc FontIndex=0
r-cfjas-r-@PXcjk0@     msgothic.ttc FontIndex=0
r-cfjas-b-@PXcjk0@     msgothic.ttc FontIndex=0
r-cfjas-x-@PXcjk0@     msgothic.ttc FontIndex=0
\end{verbatim}\end{quote}

%===========================================================
\section{pxjafontパッケージの更新}

{\sffamily
\Pkg{PXjafont}バンドル0.2版をインストールしている場合の注意。}

現在の版の\Pkg{pxchfon}パッケージは\Pkg{pxjafont}の機能を
取り込んでいるため、\Pkg{pxjafont}は不要となり、
そのため現在の版は\Pkg{pxjafont}と一緒に使えない。
何らかの理由で引き続き\Pkg{pxjafont}パッケージを使いたい場合は、
既にインストールされている |pxjafont.sty| を
本バンドルの\Pkg{PXjafont}ディレクトリにある %
|pxjafont.sty|(\Pkg{pxjafont}パッケージ 0.5 版)
で置き換えればよい。

この新しい\Pkg{pxjafont}パッケージは処理を全て\Pkg{pxchfon}に
渡すという動作をする。
|ipa| オプションの意味が異なる(\ref{sec:Preset}節参照)
のを除けば\Pkg{pxjafont} 0.2版と同じ動作である。

%===========================================================
\section{中国語・韓国語フォントへの対応}
\label{sec:Non-Japanese}

0.7c版で\Pkg{OTF}パッケージ(|multi| オプション指定)および
{\upTeX}標準の中国語・韓国語フォントについてのサポートを始めた。
以下の命令で、実フォントの置換指定ができる。

\begin{itemize}
\newcommand*{\CNot}{\footnotesize}
\item |\setkoreanminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      韓国語・明朝体。
\item |\setkoreangothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      韓国語・ゴシック体。
\item |\setschineseminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      簡体字中国語・明朝体(宋体)。
\item |\setschinesegothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      簡体字中国語・ゴシック体(黒体)。
\item |\settchineseminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      繁体字中国語・明朝体(明体)。
\item |\settchinesegothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
      繁体字中国語・ゴシック体(黒体)。
\end{itemize}

注意事項。

\begin{itemize}
\item プリセット指定は中国語・韓国語のフォントについては何も指定しない。
従って、上記の命令を用いない場合は、これらのフォントのマップ再設定が
行われることはない。
\item |directunicode| 指定は中国語・韓国語のフォントに対しても有効である。
ただし日本語の場合と同じく、効果の範囲は
「\Pkg{OTF}パッケージのUnicode入力命令」(|\UTFK|、|\UTFM|、等)
に限られる。
\end{itemize}

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