summaryrefslogtreecommitdiff
path: root/language/japanese/pxchfon/pxchfon.tex
blob: eef9576bb6bcb8a7ae49e7a04941fa9d5d0f2f81 (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
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
% 文字コードは UTF-8
% uplatex で組版する
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
\renewcommand{\headfont}{\gtfamily\romanseries{sbc}\sffamily}
\usepackage[T1]{fontenc}
\usepackage{lmodern,textcomp}
\usepackage{color}
\definecolor{myblue}{rgb}{0,0,0.75}
\definecolor{mygreen}{rgb}{0,0.45,0}
\usepackage[colorlinks,hyperfootnotes=false]{hyperref}
\usepackage{pxjahyper}
\hypersetup{linkcolor=myblue,urlcolor=mygreen,
  pdftitle={pxchfonパッケージ},
  pdfauthor={八登崇之}}
\usepackage{bxtexlogo}
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
\newcommand{\PkgVersion}{1.9}
\newcommand{\PkgDate}{2021/05/30}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
\newcommand{\Means}{:\ }
\newcommand{\Zk}{\mbox{}}
\providecommand{\Strong}[1]{\textsf{#1}}
%-----------------------------------------------------------
\begin{document}
\title{\Pkg{pxchfon} パッケージ}
\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')}
\date{v\PkgVersion\quad[\PkgDate]}
\maketitle
\tableofcontents

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

{\pLaTeX}/{\upLaTeX}+dvipdfmxのワークフローでPDF文書を作る場合に、
標準の和文フォント(明朝・ゴシック)に対して実際に使われる
OpenTypeフォントをユーザが指定する機能を提供する。
使用するフォントを{\LaTeX}文書中で指定するので、
一度パッケージをインストールするだけで、
任意の日本語フォント(ただし等幅に限る)を使うことができる。
欧文部分を同じ日本語フォントで置き換えることも可能である。
\Pkg{japanese-otf}パッケージ%
\footnote{\Pkg{japanese-otf}パッケージ\Means
  https://www.ctan.org/pkg/japanese-otf}%
にも対応している。

また、{(u)\pLaTeX}において広く行われているフォント設定
(IPAexフォントの使用等)をパッケージオプション一つで適用する機能
(プリセット指定)も備えている。

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

\begin{itemize}
\item {\TeX}フォーマット\Means {\LaTeX}
\item {\TeX}エンジン\Means {\pTeX}/{\upTeX}
\item DVIウェア\Means dvipdfmx
\item 前提パッケージ\Means
  \begin{itemize}
  \item \Pkg{atbegshi}パッケージ(|everypage| オプション使用時)
  \item \Pkg{pxufont}パッケージ(|unicode| オプション使用時)
  \end{itemize}
\end{itemize}

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

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

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

\begin{itemize}
\item \Strong{ドライバオプション}\Means
  |dvipdfmx|、|dvips|、|dviout|、|xdvi| および |nodvidriver|%
  (ドライバ依存動作の無効化を明示的に指示)
  が指定できる。
  ただし、本パッケージの主要機能である
  「フォントマップの文書内での指定」
  がサポートされるのはdvipdfmxのみである。
  \footnote{現状では、|dvipdfmx| 以外のドライバ指定は
    全て |nodvidriver| と等価である。}%
  他のDVIウェアにおける動作については
  \ref{sec:Other-Drivers}節を参照。
  ドライバオプションの既定値は |dvipdfmx| である。
\item \Strong{プリセット指定オプション}(|ms|、|haranoaji| 等)
  名前に対応するプリセット指定を有効にする。
  \Note 詳細については\ref{sec:Preset}節を参照。
\item \Strong{カスタムプリセット指定オプション}%
  (|user:|\Zk\textgt{名前})
  ユーザ定義のプリセット指定を有効にする。
  \Note 詳細については\ref{sec:CustomPreset}節を参照。
\item \Strong{ファイルプリセット指定オプション}%
  (|tl:|\Meta{名前} または |file:|\Meta{名前}%
  \footnote{旧形式は |+|\Zk\textgt{名前} および |*|\Zk\textgt{名前}})
  名前に対応するファイルプリセット指定を有効にする。
  \Note 詳細については\ref{sec:FilePreset}節を参照。
\item |use=|\Meta{名前}\Means
  マップファイル読込指定。
  「本パッケージによるマップ設定に先行して
  指定のマップファイルを読み込む」ことを指示する。
  \Note 詳細については\ref{sec:MapFileLoad}節を参照。
\item |alphabet|\Means
  欧文フォントも指定されたフォントの英数字部分で置き換える。
  (明朝が |\rmfamily|、ゴシックが |\sffamily| に適用される。)
  \Note 技術的制約のため
  \footnote{プロポーショナル幅のフォントを使うためには、
    そのフォントに合わせた{\TeX}側の論理フォント(TFM)を
    事前に用意する必要があるため。
    和文が全角幅しか使えないのも同じ理由である。}、
  \Strong{半角等幅のフォント}しかサポートされないことに注意してほしい。
  つまり、この設定を使うと欧文が全て等幅になってしまう。
  「部分的に欧文フォントを和文フォントに合わせたい」という場合は、
  後述の |relfont| オプションの使用も検討されたい。
  \Note プリセット指定オプション\Strong{不使用}の場合は
  こちらが既定で有効になる。
  すなわち\Strong{欧文フォントも置き換えられる}。
\item |noalphabet|\Means
  |alphabet| の否定。
  欧文フォントは変更しない。
%  インストール時に欧文用の設定をしていない場合は必ずこれを
%  指定する必要がある。
  \Note プリセット指定オプション使用の場合はこちらが既定で有効になる。
\item |otf|(既定)\Means
  \Pkg{japanese-otf}パッケージの使用時に、
  そのフォントも置き換えの対象とする。
\item |nootf|\Means
  |otf| の否定。
  \Pkg{japanese-otf}パッケージのフォントは置き換えない。
  \Note これを指定してかつ\Pkg{japanese-otf}パッケージを
  用いる場合は、\Pkg{japanese-otf}で |noreplace| を
  指定しない限り、標準の和文フォントは変化しない。
\item |jis2004|/|prefer2004jis|\Means
  {\pTeX}/{\upTeX}の標準和文フォントのCMapを「2004JIS字形」指定の
  ものに変更する。
  \footnote{\Pkg{japanese-otf}パッケージの和文フォントについては、
    \Pkg{japanese-otf}パッケージの |jis2004| オプションで2004JIS字形
    指定を行う仕様になっている。
    そのため、本パッケージの |jis2004| の対象にはならない。
    ところが0.7h版以前の本パッケージでは、
    {\upTeX}上の\Pkg{japanese-otf}の和文フォントにも |prefer2004jis| を
    適用していた。
    これは、昔の\Pkg{japanese-otf}が{\upTeX}上では |jis2004| オプションに
    未対応であったためであり、非公式の暫定仕様であった。
    現在では、この暫定仕様は廃止されている。}
  \Note グローバルオプションに |jis2004| を指定すると、
  \Pkg{japanese-otf}と\Pkg{pxchfon}の両方に適用される。
\item |nojis2004|/|noprefer2004jis|(既定)\Means
  |prefer2004jis| の否定。
\item |oneweight|\Means
  \Pkg{japanese-otf}パッケージを単ウェイトで使用する場合に、
  プリセット設定で使われるフォントの集合を{\pTeX}標準と同一にする。
  \footnote{多ウェイト用プリセット設定の一部において、
  このオプションによりゴシックのウェイトが変更される。
  例えば、小塚フォントのプリセットでは、{\pTeX}標準のゴシック
  (jisg等)にはMウェイトを
  割り当てる一方で、\Pkg{japanese-otf}パッケージの3ウェイトのゴシックには
  R、B、Hウェイトを割り当てている。
  従って、\Pkg{japanese-otf}を単ウェイトで用いる時にMウェイトを使いたい
  場合には |oneweight| オプションを指定すればよい。}
\item |nooneweight|(既定)\Means
  |oneweight| の否定。
\end{itemize}

\paragraph{上級者向けオプション}
\begin{itemize}
\item |relfont|\Means
  指定された和文フォントの英数字部分を({\pLaTeX}の標準機能である)
  \Strong{従属欧文フォント}として設定する。
  すなわち、既定では欧文フォントは置き換えないが、|\selectfont| で
  和文フォントを選択する際に予め |\userelfont| を実行しておくと
  欧文も和文と同じ書体になる。
  \footnote{特に
  「\texttt{\symbol{`\\}userelfont\symbol{`\\}selectfont}」
  だけ実行すると、欧文が現在の和文と同じ書体になる。}
  \Note 置換が設定されていないウェイトについては無効になる。
  \Note |alphabet|、|noalphabet|、|relfont| の3つのオプションは
  排他である。
\item |everypage|\Means
  出力DVIの全ページにフォントマップ設定を書き込む。
  \Note 詳細については\ref{sec:PageSelection}節を参照。
\item |noeverypage|(既定)\Means
  |everypage|の否定。
  出力DVIの先頭ページにのみフォントマップ設定を書き込む。
\item \Strong{Unicode直接指定オプション}\Means
  一部または全部のフォントについて、エンコーディング指定方式を
  “CMap指定”から“Unicode直接指定”に変更する。
  |nounicode|(既定:CMap設定のまま)、
  |directunicode|、|directunicode*|、
  |unicode*|、|unicode| の5種類の指定がある。
  \Note 詳細については\ref{sec:DirectUnicode}節を参照。
  \Note 一部のプリセット指定(|sourcehan|等)は
  Unicode直接指定の既定値を変更する。
%\item |directunicode|\Means
%  \Pkg{japanese-otf}パッケージのUnicode出力用フォント(|\UTF{}| の出力)
%  について、Unicodeを用いてフォントのグリフにアクセスするように
%  設定する。
%  この設定を用いると、当該のフォントのもつ任意のUnicode文字
%  (ただし全角幅に限る)が利用可能になる。
%  \footnote{通常は、Unicodeを一旦Adobe-Japan1のCIDに変換して、
%  CIDでフォントのグリフにアクセスするという処理になる。
%  このため、Adobe-Japan1のグリフと対応しないUnicode文字は
%  普通は使えない。なお、\texttt{directunicode} は0.6c版では
%  横書きのみの対応であったが、0.7版で縦書きにも対応した。
%  ただし、dvipdfmxの仕様の都合で、縦書き用グリフにはならない。
%  また、現状では実質的に効果がBMP内の文字に限られる。}
%\item |directunicode*|\Means
%  |directunicode| の設定を適用し、さらに、{\upTeX}標準の
%  和文フォントにもUnicodeを用いたグリフアクセスを設定する。
%  \Note これは、「非標準的なCMapをもつOpenTypeフォント
%  \footnote{例えば、Adobeの「Source Han Sans」など。}%
%  を\Pkg{pxchfon}で使いたい」
%  という要求のための部分的な解決法である。
%  このオプションを利用する場合、状況によって一部の出力が異常になる
%  可能性があることに予め注意すべきである。
%  例えば、|prefer2004jis| は機能しなくなるし、また縦組の約物の
%  出力は異常になる。
%\item |nodirectunicode|(既定)\Means
%  |directunicode| の否定。
\item |usecmapforalphabet|\Means
  |alphabet| または |relfont| を指定して日本語フォントの英数字部分を
  欧文フォントとして使う際に、そのエンコーディング指定方式を
  “CMap指定”にする。
%  \Note “CMap指定”と“Unicode直接指定”の違いについては
%  \ref{sec:DirectUnicode}節を参照。
  \Note 半角英数字用の\texttt{UniJIS-UCS2-HW-H}というCMapが指定される。
  \Note AJ1のグリフ集合をもつOpenTypeフォントの場合、既定では
  \footnote{|unicode| オプションが指定されない場合。}%
  英数字がプロポーショナル幅のものになるがこれはサポートされないので、
  このオプションを指定して半角幅のものを使う必要がある。
\item |nousecmapforalphabet|(既定)\Means
  |usecmapforalphabet| の否定。
  \Note 和文と異なり、欧文フォントでは実質的に“Unicode直接指定”の方が
  既定となっている。
  \Note 一部のプリセット指定は |usecmapforalphabet| の指定を強制する。
\item |dumpmap|\Means
  「通常マップファイルダンプ出力」を有効にする。
  すなわち、本パッケージにより文書に設定されるマップ行を、
  \Meta{ジョブ名}|.map| の名のファイルに書き出す。
\item |nodumpmap|(既定)\Means
  |dumpmap| の否定。
\item |dumpmaptl|\Means
  「{\TeX} Liveマップファイルダンプ出力」を有効にする。
  すなわち、本パッケージによる設定を再現する
  kanji-config-updmap用のマップファイルのセット
  (|ptex-NAME.map|、|otf-NAME.map|、|uptex-NAME.map|、
  |otf-up-NAME.map| の4つ、ただし |NAME| はジョブ名)
  を出力する。
  \Note 例えば、\Pkg{japanese-otf}パッケージが使われない場合は
  \Pkg{japanese-otf}パッケージ用のマップ行は適用されない。
  そのため、通常ダンプ出力はそのようなマップ行は書き出されない。
  これに対して、
  {\TeX} Live用ダンプ出力は「実際に適用されるか」は無関係で
  kanji-config-updmapの規則に従うため、
  \Pkg{japanese-otf}パッケージ用のマップが |otf-*.map| に書き出される。
  \Note |dumpmap| と |dumpmaptl| は排他ではない。
\item |nodumpmaptl|(既定)\Means
  |dumpmaptl| の否定。
\item |strictcsi|\Means
  |Identity-H|/|-V| のCMapが指定されたマップ行について、CSI指定を
  (仕様に厳密に従って)フォントがTrueTypeグリフの場合にのみ出力する。
  \Note 「CSI指定」とはフォントファイル名の直後に書く“|/AJ1|”の類の
    ことで、本来は(グリフ集合情報を持たない)TrueTypeグリフのフォント
    のためのものである。
    しかし、CFFグリフのフォントに対してCSI指定があっても特に問題は
    起こらず、また、フォントのグリフ種別の判断する処理は少し時間が
    かかるため、既定では厳密な判定は行わない。
\item |nostrictcsi|(既定)\Means
  |strictcsi| の否定。
  |Identity-H|/|-V| に対するCSI指定は常に出力される。
  \Note さすがにファイルに出力されたマップ行に不備があるのは
    避けたいので、|dumpmap(tl)| が指定された場合は、
    既定が |strictcsi| に変更される。
\item |expert|(既定)\Means
  Unicode直接指定の適用時
  \footnote{置換されていないウェイトはUnicode直接指定にならない。
    (\ref{ssec:DirectUnicodeNotice}節の注意を参照。)}%
  に\Pkg{japanese-otf}の |expert| オプション
  の機能を(可能な範囲で)エミュレートする。
  \Note \Pkg{japanese-otf}の |expert| が指定されない場合は無意味。
\item |noexpert|\Means
  |expert| の否定。
  Unicode直接指定時には\Pkg{japanese-otf}の |expert| は無効になる。
\item |glyphid|\Means
  GID指定入力(|\gid| 命令)の機能を有効にする。
  \Note エンジンが{\upTeX}でかつUnicode直接指定
  \footnote{置換されていないウェイトはUnicode直接指定にならない。
    (\ref{ssec:DirectUnicodeNotice}節の注意を参照。)}%
  が有効の場合にのみ利用できる。
\item |noglyphid|(既定)\Means
  |glyphid| の否定。
\end{itemize}

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

以下に該当する和文(CJK)用の論理フォント(原メトリックTFM)について、
それに対応する物理フォント(OpenTypeフォント)を
ユーザ指定のものに置き換える。
\begin{itemize}
\item {\pTeX}の標準のフォント --- |rml*|/|gbm*|
\item {\upTeX}の日本語フォント --- |urml*|/|ugbm*|/|uprml*|/|upgbm*|
\item {\upTeX}の中国語・韓国語フォント
\item \Pkg{UTF}パッケージのフォント --- |hmr*|/|hkb*|/|unij*|/|cid*|
\item \Pkg{japanese-otf}パッケージの日本語フォント
  --- |{,up}hmin*|/|{,up}hgoth*|/|otf-{u,c}j*|
\item \Pkg{japanese-otf}パッケージの中国語・韓国語フォント
\item \Pkg{pxufont}パッケージのフォント
  --- |zur-?j*|
%\item \Pkg{PXfontspec}パッケージの日本語フォント --- |nja{r,s}-*|
\end{itemize}

\Note 中国語・韓国語フォントに対するサポートの詳細については
\ref{sec:Non-Japanese}を参照。

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

\paragraph{単ウェイトの場合の設定}

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

\begin{itemize}
\item |\setminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
  明朝体(|\mcfamily|)のフォントを置き換えるフォントを
  ファイル名で指定する。
  TTC形式の場合の該当のフォントの番号を\Meta{番号}に指定する。
\item |\setgothicfont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
  ゴシック体(|\gtfamily|%
  \footnote{単ウェイト設定を用いる多くの場合、明朝体の太字
  (|\mcfamily|\linebreak[0]|\bfseries|)は
  ゴシック体(|\gtfamily| と同じもの)で代替される。}%
  )のフォントを置き換えるフォントをファイル名で指定する。
  \Meta{番号}の意味は前項と同じ。
\item 以上の2つの命令、および以降で紹介するフォント設定命令について、
  \Meta{フォントファイル名}の値を |*| にするとフォント非埋込を指示する。
  また、この値を空にすると、以前に(当該の命令により)設定されていた
  値を取り消して(dvipdfmxの)既定の設定に戻す。
\end{itemize}

以下に設定例を示す。

\begin{quote}\small\begin{verbatim}
\setminchofont{ipam.ttf}        % 明朝体は"IPA明朝"
\setgothicfont[0]{msgothic.ttc} % ゴシック体は"MS ゴシック"
\setminchofont{*}               % 明朝体は非埋込
\setgothicfont{}                % ゴシック体は既定設定に従う
\end{verbatim}\end{quote}

\paragraph{多ウェイトの場合の設定}

\Pkg{japanese-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ファイルを用いることを意味する。%
  \footnote{%
    引数に \texttt{*} を与えた場合は \texttt{JISX0213-2004-} が
    指定されたと見なされる(歴史的理由から)。}
\item |\usefontmapfile{|\Meta{マップファイル名}|}|\Means
  指定のdvipdfmx用のマップファイルの読込を指示する。
  pdf{\TeX}の |\pdfmapfile| に相当する機能。
\item |\usefontmapline{|\Meta{マップ行}|}|\Means
  dvipdfmxのマップ行を直接指定して、その読込を指示する。
  pdf{\TeX}の |\pdfmapline| に相当する機能。
\item |\diruni|\Means
  現在の和文フォントを“Unicode直接入力”
  (フォントマップを“Unicode直接指定”にした上で
  さらに和文VFをバイパスする)
  の状態に切り替える(宣言型命令)。
  これにより、実際のフォントがサポートする任意の
  文字が出力可能となる。
  その代わり、この状態では、約物の周りの空き調整が無効になる。
%  詳細については\ref{sec:Loading}節の |directunicode| オプションの
%  説明を参照されたい。
  \Note “Unicode直接指定”のオプションの何れか
  (|unicode|等)が有効であり、
  かつ現在の和文ファミリについてフォントの置き換えが有効に
  なっている必要がある。
  \Note 全角幅のグリフでないと正常に出力されない。
  \Note この命令自体は単にシェープを |diruni| という値に変えて
  いるだけであり、このシェープに“Unicode直接入力”のフォントが
  予め設定されているわけである。
\item |\textdiruni{|\Meta{テキスト}|}|\Means
  |\diruni| に対応する引数型命令。
\item |\gid{|\Meta{整数}|}|\Means
  現在の和文フォントで、指定の値のGIDをもつグリフを出力する。
  \Note 全角幅のグリフでないと正常に出力されない。
  \Note エンジンが{\upLaTeX}であり、
  |unicode| オプションが指定されていて、かつ、
  現在の和文ファミリについてフォントの置き換えが有効に
  有効になっている必要がある。
\end{itemize}

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

このパッケージの元々の意図は、標準のフォントを
普段使っているものと全く別の書体に変えることであったが、
例えば「普段使う設定が複数ありそれを簡単に切り替えたい」という
場合にも有用である。
そこで、{\pTeX}において広く行われている設定をパッケージ内に
組み込んで、パッケージオプションでそれを呼び出すという機能が
後になって追加された。
\footnote{元々は\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{japanese-otf}パッケージの |deluxe| オプション使用時に有効になる。
明朝3ウェイト、ゴシック3ウェイト、丸ゴシック1ウェイトを設定する。

\begin{itemize}
\item |ms-hg|\Means
  MSフォント + HGフォント。
  \Note HGフォント = Microsoft Office 付属の日本語フォント
  \Note 「HG丸ゴシックM-PRO」
  は欧文が等幅でないので |alphabet| オプション指定と
  ともに使うことができない。
  (後掲の |ipa-hg|、|ipaex-hg| についても同様。)

\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フォントはAJ1非対応であるが、
   フォント実体を変えることで |jis2004| オプションに
   対応させている。
   \par\medskip
   \textgt{|jis2004| 非指定時}
\begin{quote}\small\begin{verbatim}
\setminchofont[3]{mogam.ttc}       % Moga90Mincho
\setboldminchofont[3]{mogamb.ttc}  % Moga90Mincho Bold
\setgothicfont[2]{mogag.ttc}       % Moga90Gothic
\setboldgothicfont[2]{mogagb.ttc}  % Moga90Gothic Bold
\setxboldgothicfont[2]{mogagb.ttc} % Moga90Gothic Bold
\setmarugothic[2]{mobog.ttc}       % Mobo90Gothic
\end{verbatim}\end{quote}
   \par\medskip
   \textgt{|jis2004| 指定時}
\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-mobo-ex|\Means
   MogaExフォント + MoboExフォント。
   \Note 「丸ゴシック」ファミリに MoboExGothic を充てている。
   \Note フォント実体を変えることで |jis2004| オプションに
   対応させている。
   \par\medskip
   \textgt{|jis2004| 非指定時}
\begin{quote}\small\begin{verbatim}
\setminchofont[4]{mogam.ttc}       % MogaEx90Mincho
\setboldminchofont[4]{mogamb.ttc}  % MogaEx90Mincho Bold
\setgothicfont[3]{mogag.ttc}       % MogaEx90Gothic
\setboldgothicfont[3]{mogagb.ttc}  % MogaEx90Gothic Bold
\setxboldgothicfont[3]{mogagb.ttc} % MogaEx90Gothic Bold
\setmarugothic[3]{mobog.ttc}       % MoboEx90Gothic
\end{verbatim}\end{quote}
   \par\medskip
   \textgt{|jis2004| 指定時}
\begin{quote}\small\begin{verbatim}
\setminchofont[1]{mogam.ttc}       % MogaExMincho
\setboldminchofont[1]{mogamb.ttc}  % MogaExMincho Bold
\setgothicfont[1]{mogag.ttc}       % MogaExGothic
\setboldgothicfont[1]{mogagb.ttc}  % MogaExGothic Bold
\setxboldgothicfont[1]{mogagb.ttc} % MogaExGothic Bold
\setmarugothic[1]{mobog.ttc}       % MoboExGothic
\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 |ume|\Means
   梅フォント。
\begin{quote}\small\begin{verbatim}
\setminchofont{ume-tmo3.ttf}       % 梅明朝
\setgothicfont{ume-tgo5.ttf}       % 梅ゴシックO5
\setmediumgothicfont{ume-tgo4.ttf} % 梅ゴシック
\setmarugothic{ume-tgo5.ttf}       % 梅ゴシックO5
\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-OTF-Jun101Pro-Light.otf}     % A-OTF じゅん Pro 101
\end{verbatim}\end{quote}

\item |morisawa-pr6n|\Means
  モリサワフォント基本7書体(Pr6N版
  \footnote{「じゅん」はPr6N版が存在しないためPro版が使われる。})。
\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-OTF-Jun101Pro-Light.otf}      % A-OTF じゅん Pro 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搭載版)。
  \Note フォントの性質のため、この設定では欧文引用符
  “\,”‘\,’の出力が不正になる。
  この不具合は |unicode| オプションを指定する
  ことで解決できる。
  詳細については\ref{sec:DirectUnicode}節を参照されたい。

\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}

\item |sourcehan-otc|\Means
  Source Han Serif(源ノ明朝)+ Source Han Sans(源ノ角ゴシック)、
  OTC版。

\begin{quote}\small\begin{verbatim}
\setminchofont[0]{SourceHanSerif-Regular.ttc}
\setlightminchofont[0]{SourceHanSerif-Light.ttc}
\setboldminchofont[0]{SourceHanSerif-Bold.ttc}
\setgothicfont[0]{SourceHanSans-Medium.ttc}
\setmediumgothicfont[0]{SourceHanSans-Regular.ttc}
\setboldgothicfont[0]{SourceHanSans-Bold.ttc}
\setxboldgothicfont[0]{SourceHanSans-Heavy.ttc}
\setmarugothicfont[0]{SourceHanSans-Medium.ttc}
\end{verbatim}\end{quote}

\item |sourcehan|\Means
  Source Han Serif(源ノ明朝)+ Source Han Sans(源ノ角ゴシック)、
  言語別OTF版。

\begin{quote}\small\begin{verbatim}
\setminchofont{SourceHanSerif-Regular.otf}
\setlightminchofont{SourceHanSerif-Light.otf}
\setboldminchofont{SourceHanSerif-Bold.otf}
\setgothicfont{SourceHanSans-Medium.otf}
\setmediumgothicfont{SourceHanSans-Regular.otf}
\setboldgothicfont{SourceHanSans-Bold.otf}
\setxboldgothicfont{SourceHanSans-Heavy.otf}
\setmarugothicfont{SourceHanSans-Medium.otf}
\end{verbatim}\end{quote}

\item |sourcehan-jp|\Means
  Source Han Serif JP(源ノ明朝)+ Source Han Sans JP(源ノ角ゴシック)、
  地域別サブセットOTF版。

\begin{quote}\small\begin{verbatim}
\setminchofont{SourceHanSerifJP-Regular.otf}
\setlightminchofont{SourceHanSerifJP-Light.otf}
\setboldminchofont{SourceHanSerifJP-Bold.otf}
\setgothicfont{SourceHanSansJP-Medium.otf}
\setmediumgothicfont{SourceHanSansJP-Regular.otf}
\setboldgothicfont{SourceHanSansJP-Bold.otf}
\setxboldgothicfont{SourceHanSansJP-Heavy.otf}
\setmarugothicfont{SourceHanSansJP-Medium.otf}
\end{verbatim}\end{quote}

\item |noto-otc|\Means
  Noto Serif CJK JP + Noto Sans CJK JP、
  OTC版。

\begin{quote}\small\begin{verbatim}
\setminchofont[0]{NotoSerifCJK-Regular.ttc}
\setlightminchofont[0]{NotoSerifCJK-Light.ttc}
\setboldminchofont[0]{NotoSerifCJK-Bold.ttc}
\setgothicfont[0]{NotoSansCJK-Medium.ttc}
\setmediumgothicfont[0]{NotoSansCJK-Regular.ttc}
\setboldgothicfont[0]{NotoSansCJK-Bold.ttc}
\setxboldgothicfont[0]{NotoSansCJK-Black.ttc}
\setmarugothicfont[0]{NotoSansCJK-Medium.ttc}
\end{verbatim}\end{quote}

\item |noto|\Means
  Noto Serif CJK JP + Noto Sans CJK JP、
  言語別OTF版。

\begin{quote}\small\begin{verbatim}
\setminchofont{NotoSerifCJKjp-Regular.otf}
\setlightminchofont{NotoSerifCJKjp-Light.otf}
\setboldminchofont{NotoSerifCJKjp-Bold.otf}
\setgothicfont{NotoSansCJKjp-Medium.otf}
\setmediumgothicfont{NotoSansCJKjp-Regular.otf}
\setboldgothicfont{NotoSansCJKjp-Bold.otf}
\setxboldgothicfont{NotoSansCJKjp-Black.otf}
\setmarugothicfont{NotoSansCJKjp-Medium.otf}
\end{verbatim}\end{quote}

\item |noto-jp|\Means
  Noto Serif JP + Noto Sans JP、
  地域別サブセットOTF版。

\begin{quote}\small\begin{verbatim}
\setminchofont{NotoSerifJP-Regular.otf}
\setlightminchofont{NotoSerifJP-Light.otf}
\setboldminchofont{NotoSerifJP-Bold.otf}
\setgothicfont{NotoSansJP-Medium.otf}
\setmediumgothicfont{NotoSansJP-Regular.otf}
\setboldgothicfont{NotoSansJP-Bold.otf}
\setxboldgothicfont{NotoSansJP-Black.otf}
\setmarugothicfont{NotoSansJP-Medium.otf}
\end{verbatim}\end{quote}

\item |haranoaji|\Means
  原ノ味フォント。

\begin{quote}\small\begin{verbatim}
\setminchofont{HaranoAjiMincho-Regular.otf}
\setlightminchofont{HaranoAjiMincho-Light.otf}
\setboldminchofont{HaranoAjiMincho-Bold.otf}
\setgothicfont{HaranoAjiGothic-Medium.otf}
\setmediumgothicfont{HaranoAjiGothic-Regular.otf}
\setboldgothicfont{HaranoAjiGothic-Bold.otf}
\setxboldgothicfont{HaranoAjiGothic-Heavy.otf}
\setmarugothicfont{HaranoAjiGothic-Medium.otf}
\end{verbatim}\end{quote}

\end{itemize}

%-------------------
\subsection{ptex-fontmaps互換のオプション}

\Pkg{ptex-fontmaps}のプリセット名を別名として用意した。

\begin{itemize}
\item |noEmbed|\Means |noembed| の別名。
\item |kozuka|\Means |kozuka-pro| の別名。
\item |hiragino|\Means |hiragino-pro| の別名。
\item |hiragino-elcapitan|\Means |hiragino-elcapitan-pro| の別名。
\item |morisawa|\Means |morisawa-pro| の別名。
\end{itemize}

%-------------------
\subsection{廃止されたオプション}

以下に挙げるのは、0.5版以降で非推奨となっていたプリセット設定である。
これらは1.0版において\textgt{廃止}されたため、
現在は使用するとエラーが発生する。

\begin{itemize}
\item |ipa-otf|\Means
  「拡張子が |.otf| の」IPAフォント。
  \Note 代替のプリセットはない。
\item |ipa-otf-dx|\Means
  「拡張子が |.otf| の」IPAフォント + HGフォント。
  \Note 代替のプリセットはない。
\item |kozuka4|\Means
  小塚フォント(Pro版)の単ウェイト使用。
  \Note |kozuka-pro|+|oneweight| オプションで代替可能。
\item |kozuka6|\Means
  小塚フォント(Pr6版)の単ウェイト使用。
  \Note |kozuka-pr6|+|oneweight| オプションで代替可能。
\item |kozuka6n|\Means
  小塚フォント(Pr6n版)の単ウェイト使用。
  \Note |kozuka-pr6n|+|oneweight| オプションで代替可能。
\item |hiragino|\Means
  ヒラギノフォントの単ウェイト使用。
  \Note |hiragino-pro|+|oneweight| オプションで代替可能。
  \Note 1.2a版以降で、|hiragino-pro| の別名として再定義された。
\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}

ファイルプリセット機能を利用すると、既存のdvipdfmx用のマップファイル
の読込を文書内で指定することが可能になる。
パッケージオプションに次の何れかの形式の文字列を指定すると、
ファイルプリセットの指定と見なされる。

\begin{itemize}
\item |tl:|\Zk\textgt{名前}\Means
  {\TeX} Live用ファイルプリセット。
\item |file:|\Zk\textgt{名前}\Means
  単純ファイルプリセット。
\end{itemize}

\Note 1.6a版以前では、
{\TeX} Live用が「|+|\Zk\textgt{名前}」、
通常が「|*|\Zk\textgt{名前}」という形式であった。
これらの古い形式も当面の間はサポートされるが、
新しい形式の使用を推奨する。

\subsection{{\TeX} Live用ファイルプリセット機能}

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

パッケージオプションとして |tl:| で始まる文字列
(仮に |tl:NAME| とする)を与えると、
kanji-config-updmap用のマップファイルの読込が指示される。
具体的には、以下の名前のマップファイルが読み込まれる。

\begin{itemize}
\item {\pLaTeX}の場合:
  \begin{itemize}
  \item |ptex-NAME.map|
  \item |otf-NAME.map|
  \end{itemize}
\item {\upLaTeX}の場合、\Strong{上記のものに加えて}以下のもの:
  \begin{itemize}
  \item |uptex-NAME.map|
  \item |otf-up-NAME.map|
  \end{itemize}
\end{itemize}

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

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

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

\subsection{単純ファイルプリセット機能}

パッケージオプションとして |file:| で始まる文字列
(仮に |file:NAME| とする)を与えると、
|NAME.map| という名前のマップファイルの読込が指示される。

例えば、以下のようにパッケージを読み込んだとする。

\begin{quote}\small\begin{verbatim}
\usepackage[file:yu]{pxchfon}
\end{verbatim}\end{quote}

この場合、|yu.map| というマップファイル
\footnote{例えばW32{\TeX}では |yu.map| というマップファイルが
  用意されている。}%
がdvipdfmx実行時に読み込まれる。


%===========================================================
\section{マップファイル読込機能}
\label{sec:MapFileLoad}

既存のdvipdfmx用のマップファイルの読込を文書内で指定ための機能として、
従来の「ファイルプリセット」機能に加えて1.9版から新たに
「マップファイル読込」機能がサポートされる。

両機能の違いは以下の通りである。
\begin{itemize}
\item 「ファイルプリセット」の指定は“プリセット指定の一種”と
見なされるのに対し、「マップファイル読込」ではプリセット指定とは
無関係に自由にマップファイルを読み込める。
\item 「ファイルプリセット」はプリセットの一種であるため、
高々1つしか指定できず、また(想定仕様上は
\footnote{実際にマップファイルの中身を検証しているわけではない。})
「本パッケージの設定対象である日本語用の論理フォント」
に対するマップファイルのみを対象とする。
対して、「マップファイル読込」は何回でも使用できて、
また任意のdvipdfmx用マップファイルを対象とする。
\item 「マップファイル読込」によるマップ設定は、
プリセット(「ファイルプリセット」も含む)や
フォント指定命令(|\setminchofont|等)によるマップ設定に
先行して行われるため、優先度が低い。
\Note このため、「マップファイル読込」を
“中国語・韓国語フォントに対するファイルプリセット指定”
の代わりに使うことができる。
\end{itemize}

「マップファイル読込」は|use|オプションで指定する。

\begin{itemize}
\item |use=|\Meta{指定}\Means
  マップファイル読込を指示する。
  \Meta{指定}は以下の何れかの形式(|NAME|は文字列)。
  \begin{itemize}
  \item |file:NAME|\Means
    |NAME.map|を読み込む。
    (単純ファイルプリセットと同じ。)
  \item |tl:NAME| または |tl-ja:NAME|\Means
    「{\TeX} Live用ファイルプリセット」と同じ規則で決まるファイル群
    (|ptex-NAME.map|等)を読み込む。
  \item |tl-LL:NAME|(※|LL|は|ko|・|sc|・|tc|の何れか)\Means
    kanji-config-updmap向けの中国語・韓国語用のマップファイルを
    読み込む設定。
    具体的な規則は以下の通り。
    \begin{itemize}
    \item {\upLaTeX}の場合は、|uptex-LL-NAME.map|を読み込む。
    \item \Pkg{japanese-otf}使用時は、|otf-LL-NAME.map|を読み込む。
    \end{itemize}
  \item “|:|”を含まない文字列\Means
    「\Meta{指定}\Zk|.map|」を読み込む。
    (|file:|が付いている場合と同じ。)
  \end{itemize}
\end{itemize}

\Note 参考:マップ設定の優先度は以下のようになっている
(後のものほど優先度が高い)。
\begin{itemize}
\item 「マップファイル読込」機能によるマップファイル読込。
\item プリセット(「ファイルプリセット」を含む)による設定。
\item フォント指定命令(|\setminchofont|等)による設定。
\item |\usefontmapfile|・|\usefontmapline|命令による設定。
\end{itemize}


%===========================================================
\section{カスタムプリセット機能}
\label{sec:CustomPreset}

1.7版で新設された「カスタムプリセット機能」とは、
ユーザが独自にプリセットを用意するためのものである。
ユーザが定義したプリセット(\Strong{カスタムプリセット})を
「|pxchfon.cfg|」という名前の
\Strong{カスタムプリセット定義ファイル}に記述して
そのファイルを{\TeX}が読める場所に置くと、
\Pkg{pxchfon}パッケージ読込時にオプションとして指定することで
カスタムプリセットを利用できるようになる。

カスタムプリセットを定義する命令は以下の通りである。
これらの命令は |pxchfon.cfg| の中でのみ利用できる。
\begin{itemize}
\item |\pxchfonDeclareOneWeightPreset{|\Meta{名前}|}{|%
  \Meta{明朝}|}{|\Meta{ゴシック}|}|\Means
  単ウェイトのカスタムプリセットを定義する。
  プリセットの名前は\Meta{名前}の文字列の前に「|user:|」を
  前置したものになる。
  第2引数以降は使用するフォントファイル名
  (TTC形式の場合は番号も含めて |:番号:ファイル名| の形式)
  を指定する。
\item |\pxchfonDeclareMultiWeightPreset{|\Meta{名前}|}{|%
  \Meta{明朝・細}|}{|\Meta{明朝・中}|}{|\Meta{明朝・太}|}{|%
  \Meta{ゴシック・中}|}{|\Meta{ゴシック・太}|}{|\Meta{ゴシック・極太}|}{|%
  \Meta{ゴシック・単}|}{|\Meta{丸ゴシック}|}|\Means
  多ウェイトのカスタムプリセットを定義する。
  引数の意味は前項と同様である。
  \Meta{ゴシック・単}は「|oneweight| オプション指定時のゴシック体」
  を表す。
\end{itemize}

例えば、全ての和文フォントを(Microsoft Office付属の)
「HG創英角ポップ体」に置き換えるような単ウェイトの
カスタムプリセット |user:soeikakupoptai| を定義するには
次の命令を実行する。
\begin{quote}\small\begin{verbatim}                                      
\pxchfonDeclareOneWeightPreset{soeikakupoptai}
  {:0:HGRPP1.TTC}{:0:HGRPP1.TTC}
\end{verbatim}\end{quote}

このカスタムプリセットを利用したい場合はパッケージ読込
を以下のようにする。
\begin{quote}\small\begin{verbatim}                                      
\usepackage[user:soeikakupoptai,...]{pxchfon}
\end{verbatim}\end{quote}


%===========================================================
\section{Unicode直接指定}
\label{sec:DirectUnicode}

dvipdfmxのフォントマップ設定において、和文フォントのエンコーディングを
指定する方法は“CMap指定”と“Unicode直接指定”の2種類がある。
\footnote{詳細についてはdvipdfmxのマニュアルを参照されたい。}
かつては、Unicodeで包摂されている異体字を区別するためには
CMap指定の利用が必須であったため、慣習的に、dvipdfmxのフォントマップ
設定においてはCMap指定が主に用いられてきた。

しかしこのCMap指定は、Adobe-Japan1(AJ1)%
\footnote{または各々のCJK言語の“Adobe標準”のグリフ集合、
例えば簡体字中国語ならAdobe-GB1。}%
のグリフ集合に対応したOpenTypeフォントにしか適用できない、
という欠点がある。
近年は、“AJ1でない”OpenTypeフォント
\footnote{例えば、Adobe開発のフリーフォントの
「Source Han Serif(源ノ明朝)」など。}%
が普及しつつあり、そのようなフォントでは異体字の切替などの
付加機能を専ら“OpenType属性の指定”により行うことを想定している。
これに対応するため、dvipdfmxのマップ指定において
“OpenType属性の指定”がサポートされるようになった。

\Pkg{pxchfon}では和文フォントのエンコーディングに対する
Unicode直接指定をサポートしている。
特に1.0版から、新しいdvipdfmxのOpenType属性の指定を積極的に
利用することで、“AJ1でない”フォントを使用した場合でも、
CMap指定の場合の機能性を可能な限り保つことを目指している。

\Note Unicode直接指定に対するサポートは発展途上であるため、
過渡的な要素が多く混ざっていてやや煩雑になっていることに
注意してほしい。

\paragraph{“Unicode直接指定”オプション}
以下のパッケージオプションを指定することで
Unicode直接指定の有効・無効を切り替えられる。

\begin{itemize}
\item |unicode|\Means
  全般的にUnicode直接指定を利用する。
  最も理想的な設定であるが、\Strong{{\TeX} Live 2018以降のdvipdfmx}%
  (20170918版以降)が必要である。
\item |unicode*|\Means
  {\TeX} Live 2017のdvipdfmx(20170318版)専用の\Strong{過渡的}な設定。
  \Note 1.5版以降では\Strong{非推奨}であり、
  将来的に廃止される予定である。
\item |directunicode*|\Means
  全般的にUnicode直接指定を利用するが、
  古い({\TeX} Live 2016以前の)dvipdfmxに
  対応するために、OpenType属性の指定を全く行わない。
  つまり、入力のUnicode文字に対する既定のグリフが常に出力され、
  異体字の区別は全て無効になる。
\item |directunicode|\Means
  \Pkg{japanese-otf}の|\UTF|入力のフォントに限って
  Unicode直接指定を利用する。
  |directunicode*| と同じくOpenType属性の指定を全く行わない。
  \Note 前述の通り |directunicode*| はデメリットが強いため、
  適用範囲を限定したもの。
\end{itemize}

\paragraph{Unicode直接指定専用プリセット}

以下に挙げるプリセット設定は“AJ1でない”OpenTypeフォントを
利用するものである。
そのため、これらのプリセットを指定した場合は、
自動的に |unicode| が(既定として)指定される%
\footnote{1.0~1.1b版では{\TeX} Live 2017のための暫定措置として
「|+|付の特殊プリセットへの自動振替」が行われていたが、
1.2版から本来の仕様が適用される。}。

\begin{itemize}
\item |sourcehan-otc|
\item |sourcehan|
\item |sourcehan-jp|
\item |noto-otc|
\item |noto|
\item |noto-jp|
\end{itemize}

\paragraph{特殊プリセット指定\<(非推奨)}

以下に挙げるプリセット設定は{\TeX} Live 2017%
(dvipdfmx 20170318版)のために用意された特殊な設定である。

1.5版においてこれらのプリセットは\Strong{非推奨}となった。
将来的には廃止される予定である。
そのため、これらのプリセットを利用している場合は、
\Strong{{\TeX}システムを更新}(dvipdfmxを20170918版以降に)した上で、
“本来の正しい設定”に移行することを推奨する。

\begin{itemize}
\item |sourcehan+|、|sourcehan-otc+|、|noto+|、|noto-otc+|:\\
  →代わりに|+|無しの名前(|sourcehan| 等)を指定する。
  \Note 前述の通り、|unicode| は自動的に補われる。
  \Note 日本語版以外のフォントはもはや不要である。

\item |yu-win10+|:\\
  →代わりに |yu-win10| と |unicode| を指定する。
\end{itemize}

%-------------------
\subsection{Unicode直接指定に関する注意事項}
\label{ssec:DirectUnicodeNotice}

\begin{itemize}
\item プリセット指定または |\set...font| 命令で
  フォントを置換していないウェイトについては、
  Unicode直接指定は無効になる。
  従って、そのようなウェイトは想定する出力には
  ならず、またUnicode直接指定を必要とする機能
  (|expert| や |glyphid| の各オプション)
  も使えない。
\item 特に、|expert| については、
  非置換のウェイトの動作が非常に複雑で解りにくい。
  従って、|expert| を指定する場合は、全ファミリ・ウェイトについて
  置換を指定することを推奨する
  (これに反する場合は警告が出る)。
\item 非埋込を指定したウェイトについてはUnicode直接指定は
  無効になる。
  この動作も非常に解りにくいため、
  Unicode直接指定を用いる場合は、非埋込の指定をしないことを推奨する
  (これに反する場合は警告が出る)。
\end{itemize}


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

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

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

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

指定された和文フォントの半角部分からなる欧文フォントファミリとして
cfjar(明朝)、cfjas(ゴシック)、cfjam(丸ゴシック)
の3つ(以下では\Strong{CFJAファミリ}と総称する)を定義している。
その上で、CFJAファミリに対するマップ指定を和文と同じ方法で行っている。

\paragraph{alphabetオプション指定時}
オプション |alphabet| を指定した場合、
CFJAファミリを既定の欧文ファミリとして設定する
(cfjar→|\rmdefault|;cfjas→|\sfdefault|)。
従って、例えば一時的に従来のCMフォントを使いたい場合は、
適宜ファミリの変更(|\fontfamily{cmr}|等)を行えばよい。

\paragraph{relfontオプション指定時}
オプション |relfont| を指定した場合、
CFJAファミリを和文ファミリの従属欧文フォントに設定する
(cfjar→|\mcfamily|;cfjas→|\gtfamily|;cfjam→|\mgfamily|)。

\paragraph{利用可能な欧文エンコーディング}
現状で、CFJAファミリが対応している欧文エンコーディングは
OT1、T1、TS1の3つである
\footnote{1.4版でT1に“暫定対応”し、1.5版でT1とTS1に正式に対応した。}%
(TS1は事前に\Pkg{textcomp}を読み込んだ場合にのみ有効)。
このため、欧文フォントの置換
(\texttt{alphabet}や\texttt{relfont}オプション)
を利用する文書は、欧文エンコーディングがOT1かT1である必要がある
\footnote{TS1は記号用のエンコーディングであり、本文の既定の
エンコーディングとして使うものではない。}。

何れのエンコーディングを用いる場合でも、様々な理由により、利用できる
文字の種類が限られている。
\begin{enumerate}
\item AJ1対応のOpenTypeフォントを指定して、かつ |usecmapforalphabet|
  オプションを指定した場合、
  以下の文字(でかつ当該の欧文エンコーディングに含まれるもの)が使える。
  \Note AJ1対応フォント用のプリセット(|kozuka-pr6n| 等)を
  指定した場合は |usecmapforalphabet| は自動的に有効になる。
  \begin{itemize}
  \item[a)] ASCII文字
    \footnote{出力される文字の話であることに注意。
      例えば、OT1やT1で \textsf{\textquotesingle}(U+0027)を
      入力したときに出力される文字は \textsf{\textquoteright}(U+2019)
      であり、これはASCII文字ではない。
      なお、TS1はU+0027を含む。}%
    およびen-ダッシュ(\textsf{--})。
    \Note これらは半角幅である。
  \item[b)] クオート(\textsf{`` '' ` '})。
    \Note これらは和文用の全角幅の字形を、空きを詰めて半角幅で出力する。
  \item[c)] em-ダッシュ(\textsf{---})。
    \Note これらはU+2015の全角幅の字形をそのまま全角幅で出力する。
  \end{itemize}
\item 1以外の場合、
  以下の文字(でかつ当該の欧文エンコーディングに含まれるもの)が使える。
  \Note この場合、既定では欧文は |directunicode*| 相当の状態になる。
  \begin{itemize}
  \item 1項のa、b、cの文字はフォントが正しい幅
    (aは\Strong{半角}、bとcは\Strong{全角})の字形を持っていれば使える。
  \item それ以外でも、Unicode文字の大部分は、
    フォントが\Strong{半角幅}の字形を持っていれば使える。
    \Note 半角幅のまま出力される。
  \item |unicode| オプションを指定すると、正しい幅の字形を優先して
    使おうとするため、既定の場合よりも多くの文字が使える。
  \end{itemize}
\end{enumerate}


%===========================================================
\section{注意事項}
\label{sec:Notice}

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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix
%===========================================================
\section{dvipdfmx以外のDVIウェアでの使用}
\label{sec:Other-Drivers}

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

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

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

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

欧文フォントを置き換えたDVIファイルは、
独自の欧文フォント(|r-cfja*| という形式の名前)
を含んでいるので、
少なくともそれに関する設定をしない限りは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
r-cfjam-r-@PXcjk0@     msgothic.ttc FontIndex=0
\end{verbatim}\end{quote}

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

現在の版の\Pkg{pxchfon}パッケージは旧来の\Pkg{pxjafont}の機能を
取り込んでいるため、\Pkg{pxjafont}は不要である。
古い環境との互換性のため\Pkg{pxjafont}を残していたが、
1.0版において\Pkg{pxjafont}の使用を非推奨の扱いとした。
(2.0版においてに廃止予定。)

\Pkg{pxjafont}を利用しているユーザは、
\ref{sec:Preset}節を参照して現在の\Pkg{pxchfon}用の
適切な設定に書き直す必要がある。

\Note 古いプリセット名の中に廃止されたものがあるので注意。

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

0.7c版で\Pkg{japanese-otf}パッケージ(|multi| オプション指定)および
{\upTeX}標準の中国語・韓国語フォントについてのサポートを始めた。

\paragraph{単ウェイトの場合の設定}

以下の命令が用意されている。

\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}

\paragraph{多ウェイトの場合の設定}

\Pkg{japanese-otf}パッケージ({\upTeX}対応版)の0.26版から、
中国語・韓国語のフォント
\footnote{ただし、\Pkg{japanese-otf}パッケージにおける中国語・韓国語
入力は飽くまでコード値入力(|\UTFC|等)であり、直接入力は
サポート外であることに注意。}%
についても多ウェイトがサポートされるようになった。

本パッケージの1.9版から中国語・韓国語の多ウェイト設定をサポートする。
以下の命令が用意されている。
\Note 引数の書式は全て|\setminchofont|と同じなので省略する。
\Note 日本語用の|\setminchofont|等と同様に、多ウェイト環境に
おいて単ウェイト用の命令を用いた場合は、それは全ウェイトに
対する設定と見なされる。

\begin{itemize}
\item |\setkoreanlightminchofont|\Means
      韓国語・明朝体・細ウェイト。
\item |\setkoreanmediumminchofont|\Means
      韓国語・明朝体・中ウェイト。
\item |\setkoreanboldminchofont|\Means
      韓国語・明朝体・太ウェイト。
\item |\setkoreanmediumgothicfont|\Means
      韓国語・ゴシック体・中ウェイト。
\item |\setkoreanboldgothicfont|\Means
      韓国語・ゴシック体・太ウェイト。
\item |\setkoreanxboldgothicfont|\Means
      韓国語・ゴシック体・極太ウェイト。
\item |\setkoreanmarugothicfont|\Means
      韓国語・丸ゴシック体。

\item |\setschineselightminchofont|\Means
      簡体字中国語・明朝体(宋体)・細ウェイト。
\item |\setschinesemediumminchofont|\Means
      簡体字中国語・明朝体(宋体)・中ウェイト。
\item |\setschineseboldminchofont|\Means
      簡体字中国語・明朝体(宋体)・太ウェイト。
\item |\setschinesemediumgothicfont|\Means
      簡体字中国語・ゴシック体(黒体)・中ウェイト。
\item |\setschineseboldgothicfont|\Means
      簡体字中国語・ゴシック体(黒体)・太ウェイト。
\item |\setschinesexboldgothicfont|\Means
      簡体字中国語・ゴシック体(黒体)・極太ウェイト。
\item |\setschinesegothicfont|\Means
      簡体字中国語・丸ゴシック体。

\item |\settchineselightminchofont|\Means
      繁体字中国語・明朝体(明体)・細ウェイト。
\item |\settchineseboldminchofont|\Means
      繁体字中国語・明朝体(明体)・中ウェイト。
\item |\settchinesexboldminchofont|\Means
      繁体字中国語・明朝体(明体)・太ウェイト。
\item |\settchinesemediumgothicfont|\Means
      繁体字中国語・ゴシック体(黒体)・中ウェイト。
\item |\settchineseboldgothicfont|\Means
      繁体字中国語・ゴシック体(黒体)・太ウェイト。
\item |\settchinesexboldgothicfont|\Means
      繁体字中国語・ゴシック体(黒体)・極太ウェイト。
\item |\settchinesegothicfont|\Means
      繁体字中国語・丸ゴシック体。
\end{itemize}

%-------------------
\subsection{注意事項}

\begin{itemize}
\item プリセット指定は中国語・韓国語のフォントについては何も指定しない。
従って、上記の命令を用いない場合は、これらのフォントのマップ再設定が
行われることはない。
\item マップファイル読込機能(\ref{sec:MapFileLoad}節参照)
を利用してマップファイルを読み込むことで、
中国語・韓国語フォントのマップを設定することも可能である。
\Note 「ファイルプリセット機能」の方はプリセット設定の一種であるため、
日本語用のフォントについて用いられることが想定されている。
\item 「Unicode直接指定オプション」は中国語・韓国語のフォントに対しても
有効である。
|directunicode| の場合は「\Pkg{japanese-otf}パッケージのUnicode入力命令」
(|\UTFK|、|\UTFM|、等)が対象となり、
それ以外はこれに加えて{\upTeX}標準のフォントも
対象になる。
\end{itemize}

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