徹底攻略！ pxchfonを使いこなそう

:::note info
これは「<a href="https://adventar.org/calendars/5111)">TeX/LaTeX Advent Caleandar 2020</a>」の25日目の記事です。
（24日目は <a href="https://sokrates7chaos.hatenablog.com/entry/2020/12/24/031748">7danmoroboshi さん</a>です。）
:::

今年の「[TeX & LaTeX Advent Calendar][advent2020]」もいよいよ最終日となりました。今年の重点テーマは**「このパッケージもスゴイ！」**です。

重点テーマが「このパッケージはスゴイ！」だった[2014年][advent2014]は自作の[pxrubricaパッケージ][pxrubrica]を[紹介][qiita-pxrubrica]しました。今年も、自作のパッケージである[**pxchfonパッケージ**][pxchfon]を（スゴイかどうかは措いといて）紹介したいと思います。

## pxchfonとは何か

pxchfonパッケージの目的は、簡単に言うと「(u)pLaTeX＋dvipdfmxのワークフローにおいて**文書中で“標準の”和文フォントを指定する**」ことです。他のフォント指定[^fontspec]と異なり、(u)pLaTeXの“標準”和文フォントは「DVIウェアのフォントマップファイルで**物理フォント**[^physical]（実際に用いるOpenTypeフォント）を指定する」という方法で指定するという特異な“慣習”があります。pxchfonは「dvipdfmxのフォントマップ指定」をLaTeXの命令で実行できるようにするためのパッケージです。

[^physical]: DVIウェアのフォントマップ設定の解説の文脈ではしばしば、TeXが把握するフォント（TFM）のことを**「論理フォント」**と呼び、DVIウェアが扱う「本物の（Type1／TTF／OTF形式の）フォント」のことを**「物理フォント」**と呼ぶことがあります。dvipdfmxのエラーメッセージの「Cannot proceed without .vf or “physical” font」でもこの呼称が使われています。

[^fontspec]: レガシーLateX（LaTeX・pLaTeX・upLaTeX）の欧文フォントおよびUnicode LaTeXの全てのフォント指定を指します。

※pxchfonがサポートするDVIウェアはdvipdfmxのみです。エンジンはpLaTeXとupLaTeXをサポートし、どちらのエンジンを使う場合も、基本的に使い方や注意点は変わりません。

※本記事の解説ではTeX Live **2018以降**に相当する環境（dvipdfmxが20170918版以降、pxchfonが1.2a版以降）を前提にします。

## キホン編

### プリセットで指定する

最も基本的な使い方は**プリセット指定**です。よく使われる物理フォント設定のセットに予め名前が付けられていて、その名前をパッケージオプションに指定することでフォントを設定します。

例えば、`ms`というプリセットオプションでMSフォントを設定できます。

```tex:sample-01.tex
% upLaTeX文書; UTF-8
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
%↓オプションにプリセット名を指定する
\usepackage[ms]{pxchfon}% MSフォントを指定
\begin{document}
\section{結論}
{\TeX}は\textbf{アレ}、☃は\textbf{非アレ}。
\end{document}
```

![image-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/b7e9bdfb-569d-6c3d-ced6-26105811254d.png)

主要なプリセットオプションには以下のものがあります。

* `noembed`： フォントを非埋込にします。<br>※非埋込の設定は近年では推奨されません。
* `ms`： MSフォント（“ＭＳ 明朝”＋“ＭＳ ゴシック”）。
* `ipa`： IPAフォント。
* `ipaex`： IPAexフォント。
* `kozuka-pr6`： 小塚フォント（Pr6版）。
* `kozuka-pr6n`： 小塚フォント（Pr6N版）。
* `hiragino-pron`： ヒラギノフォント基本6書体セット＋明朝W2（ProN/StdN版）。<br>※macOS搭載でなく別途導入したもので、updmapの`hiragino-pron`ファミリ用にセットアップされたもの[^updmap]。
* `morisawa-pr6n`： モリサワフォント基本7書体（Pr6N版）。
* `yu-win10`： Windows 10搭載の游書体。<br>※`unicode`オプションの併用を推奨。
* `sourcehan-otc`： [Source Hanフォント][font-sourcehan]（源ノ明朝／角ゴシック）のOTC版。
* `sourcehan`： Source Hanフォント（源ノ明朝／角ゴシック）の言語別OTF版。
* `sourcehan-jp`： Source Hanフォント（源ノ明朝／角ゴシック）の地域別サブセットOTF版。
* `noto-otc`： [Noto CJK JP][font-noto]のOTC版。
* `noto`： Noto CJK JPの言語別OTF版。
* `noto-jp`： Noto JPの地域別サブセットOTF版。<br>※sourcehan系とnoto系では`unicode`が自動的に有効になる。
* `haranoaji`： [原ノ味フォント][font-haranoaji]。

[^updmap]: つまり、TeX Liveのkanji-config-updmap(-sys)コマンドで`hiragino-pron`ファミリが選択可能な状態になっているなら、pxchfonの`hiragino-pron`プリセットで同じフォントセットを設定できます。

TeX Live 2020から標準和文の物理フォントの既定がIPAexフォントから原ノ味フォントに変更されました。pxchfonの`ipaex`プリセットを使うと、以前と同じ出力を得ることができます。

```tex:sample-02.tex
% upLaTeX文書; UTF-8
\documentclass[uplatex,dvipdfmx,ja=standard,
  a4paper]{bxjsarticle}
\usepackage[ipaex]{pxchfon}% IPAexフォントを指定
\begin{document}
\section{結論}
{\TeX}は\textbf{アレ}、☃は\textbf{非アレ}。
\end{document}
```

![image-02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/9958e35a-4182-bd4a-eb60-06aad124dd8f.png)

先の例はbxjsarticleクラスを使ったものでした。[BXJSクラス][bxjscls]を（(u)pLaTeXで）使う場合には、クラスの`jafont`オプションを指定しても同じ結果が得られます（内部でpxchfonが読み込まれます）。

```tex:sample-02a.tex
% upLaTeX文書; UTF-8
\documentclass[uplatex,dvipdfmx,ja=standard,
  jafont=ipaex,a4paper]{bxjsarticle}
%↑jafontオプションを指定するとpxchfonが読み込まれる
\begin{document}
\section{結論}
{\TeX}は\textbf{アレ}、☃は\textbf{非アレ}。
\end{document}
```

![image-02a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/001ee9be-bc6a-bbcf-5978-de34b769187b.png)

このように、pxchfonは大抵の和文クラスと一緒に使えます。次の例は、[jlreqクラス][jlreq]の縦組文書で原ノ味フォントを設定したものです。

```tex:sample-03.tex
% upLaTeX文書; UTF-8
% ↓縦組してみた(jlreqクラス)
\documentclass[uplatex,dvipdfmx,tate,book,
  paper=a5,twocolumn,jis2004]{jlreq}
\usepackage[haranoaji]{pxchfon}% 原ノ味フォントを指定
\begin{document}
\chapter{結論}

{\TeX}は\textbf{アレ}、☃は\textbf{非アレ}。
\end{document}
```

![image-03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/add96ae8-a816-9139-7128-12771c6aa450.png)

japanese-otfパッケージ（`otf`パッケージ）との併用も可能です。以下の例はWindows 10収録の游フォントを多ウェイトで用いるものです。

※併用する場合、otf→pxchfonの順に読み込む必要があります。

※`yu-win10`プリセットを指定する場合は、同時に`unicode`を指定することが推奨されます。`unicode`についてはホンキ編で扱います。

```tex:sample-04.tex
% pLaTeX文書
\documentclass[dvipdfmx,a4paper,jis2004]{jsarticle}
%↓japanese-otfで多ウェイトしてみた
\usepackage[deluxe]{otf}
\usepackage[yu-win10,unicode]{pxchfon}% 游フォントを指定
\begin{document}
{\LaTeX}は\textsf{アレ}、
\textbf{{\TeX}言語は\textsf{超絶アレ}}。

{\ajSnowman}は\textsf{非アレ}。
\end{document}
```

![image-04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/005bf8f0-8dba-8d2d-9aa2-af8003778587.png)

### 各シェープを個別に指定する

もちろん、プリセットにある組み合わせに限らず、好きな物理フォントの組み合わせを使うこともできます。この場合、各シェープの物理フォントを設定する命令を利用します。

* `\setminchofont[<番号>]{<フォントファイル名>}`： 明朝体のフォントを設定します。
* `\setgothicfont[<番号>]{<フォントファイル名>}`： ゴシック体のフォントを設定します。

ここで、引数はフォント名（「IPAex明朝」など）ではなくてファイル名（`ipaexm.ttf`など）で与えることに注意してください。例えば、標準の明朝体に対する物理フォントを「IPAex明朝」にしたい場合は以下の命令を実行します。

```tex
% 明朝体を"IPAex明朝"にする
\setminchofont{ipaexm.ttf}
```

TrueType Collection（またはOpenType Collection）ファイルの中のフォントを指定したい場合は、コレクション中の位置番号（0起点）をオプション引数（`[<番号>]`）に指定します。例えば「ＭＳ ゴシック」はmsgothic.ttcの先頭（0番目）にあるので、これを標準のゴシック体に指定する場合は以下のようにします。

```tex
% ゴシック体を"ＭＳ ゴシック"にする
\setgothicfont[0]{msgothic.ttc}
```

例えば、`ms`プリセットを指定した上で、ゴシック体を「HG創英角ﾎﾟｯﾌﾟ体」に変更したい場合は以下のようにします。

```tex:sample-05.tex
% upLaTeX文書; UTF-8
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
\usepackage[ms]{pxchfon}% MSフォントを指定
%↓ゴシックだけ変更する. 明朝は"ＭＳ 明朝"
\setgothicfont[0]{HGRPP1.TTC}% HG創英角ﾎﾟｯﾌﾟ体
\begin{document}
{\TeX}は\textsf{アレ}、☃は非アレ。
\end{document}
```

![image-05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/8286d8e5-dbfa-ae15-c083-48f4eea9dbfd.png)

japanese-otfパッケージの多ウェイト設定（`deluxe`オプション）を利用すると、同時に「明朝体3ウェイト＋ゴシック体3ウェイト＋丸ゴシック体1ウェイト」の7書体（シェープ）が使えます。pxchfonではこれらの各々のシェープに物理フォントを設定する命令が用意されています。（引数の書式は前述の`\setminchofont`等と同じです。）

* `\setlightminchofont`： 明朝体細字の設定。
* `\setmediumminchofont`： 明朝体中字の設定。
* `\setboldminchofont`： 明朝体太字の設定。
* `\setmediumgothicfont`： ゴシック体中字の設定。
* `\setboldgothicfont`： ゴシック体太字の設定。
* `\setxboldgothicfont`： ゴシック体極太字の設定。
* `\setmarugothicfont`： 丸ゴシック体の設定。

`haranoaji`プリセットと多ウェイト設定を併用した場合、「太字」のシェープにはBoldウェイトの物理フォントが充てられます。これをHeavyウェイトに変更して、さらに丸ゴシックに「UDデジタル教科書体」を充てる例を以下に挙げます。

```tex:sample-06.tex
% pLaTeX文書
\documentclass[dvipdfmx,a4paper,jis2004]{jsarticle}
\usepackage[deluxe]{otf}
\usepackage[haranoaji]{pxchfon}% 原ノ味フォント
% 太字(\bfseries)のウェイトをHeavyにする
\setboldminchofont{HaranoAjiMincho-Heavy.otf}% 原ノ味明朝Heavy
\setboldgothicfont{HaranoAjiGothic-Heavy.otf}% 原ノ味ゴシックHeavy
% 丸ゴシック(\mgfamily)に"UDデジタル教科書体"を充てる
\setmarugothicfont[0]{UDDigiKyokashoN-R.ttc}% UDデジタル教科書体N-R
\begin{document}
{\LaTeX}は\textsf{アレ}、
\textbf{{\TeX}言語は\textsf{超絶アレ}}。

{\mgfamily {\ajSnowman}は非アレ。}
\end{document}
```

![image-06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/4abf32a7-3396-e32d-1089-88a0acd6cccc.png)

#### プリセットを併用しない場合の注意

先の2つの例は「プリセットの設定を部分的に変更する」ものでしたが、プリセットを使わずに`\set～`命令のみを使って設定することもできます。ただしここで一つ注意があり、**この場合には`noalphabet`というオプションを指定する必要**があります（過去の経緯により:frowning:）。

※特定のシェープに対する設定を行わなかった場合、そのシェープに対する物理フォントの指定はdvipdfmxのフォントマップに従います。

以下の例ではWindows 10収録のBIZ UDフォントを指定しています。

```tex:sample-07.tex
% upLaTeX文書; UTF-8
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
%↓プリセット不使用の場合はnoalphabetを付ける!
\usepackage[noalphabet,unicode]{pxchfon}
%↓直接フォントを指定する(BIZ UDフォント)
\setminchofont[0]{BIZ-UDMinchoM.ttc}% BIZ UD明朝M
\setgothicfont[0]{BIZ-UDGothicB.ttc}% BIZ UDゴシックB
\begin{document}
{\TeX}は\textbf{アレ}、☃は\textbf{非アレ}。
\end{document}
```

![image-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/d8e15973-79be-d1f7-0455-5a21a9fca38c.png)

japanese-otfの多ウェイト設定を導入した上で「游明朝」「BIZ UDゴシック」「メイリオ」を組み合わせる例です。

```tex:sample-08.tex
% pLaTeX文書
\documentclass[dvipdfmx,a4paper,jis2004]{jsarticle}
\usepackage[deluxe]{otf}
%↓noalphabetを忘れずに!
\usepackage[noalphabet,unicode]{pxchfon}
\setminchofont{yumin.ttf}% 游明朝Regular
\setboldminchofont{yumindb.ttf}% 游明朝Demibold
\setgothicfont[0]{BIZ-UDGothicR.ttc}% BIZ UDゴシックR
\setboldgothicfont[0]{BIZ-UDGothicB.ttc}% BIZ UDゴシックB
\setmarugothicfont[0]{meiryo.ttc}% メイリオ
\begin{document}
{\LaTeX}は\textsf{アレ}、
\textbf{{\TeX}言語は\textsf{超絶アレ}}。

%↓☃だけメイリオ(嬉しそうな奴)にする
{\mgfamily \ajSnowman}は\textsf{非アレ}。
\end{document}
```

![image-08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/0bb7c235-2cf9-7264-5968-5bfa273ae132.png)

なお、japanese-otfの多ウェイト設定は名目上は「明朝3ウェイト・ゴシック3ウェイト・丸ゴシック1ウェイト」ですが、例えば「明朝体の太字」に実際にはどんな書体の物理フォントを充ててもかまいません。従って、実質的には「最大7個の和文書体が使える」と考えることもできます。以下の例では7つのシェープにバラバラの書体を充てています。

```tex:sample-08a.tex
% upLaTeX文書; UTF-8
\documentclass[uplatex,dvipdfmx,a4paper,jis2004]{jsarticle}
\usepackage[deluxe]{otf}
%↓noalphabetを忘れずに!
\usepackage[noalphabet,unicode]{pxchfon}
\setminchofont[0]{msmincho.ttc}% ＭＳ 明朝
\setlightminchofont{ipaexm.ttf}% IPA明朝
\setboldminchofont{yumindb.ttf}% 游明朝Demibold
\setgothicfont[0]{BIZ-UDGothicR.ttc}% BIZ UDゴシックR
\setboldgothicfont[0]{meiryob.ttc}% メイリオBold
\setxboldgothicfont[0]{HGRPP1.TTC}% HG創英角ﾎﾟｯﾌﾟ体
\setmarugothicfont[0]{UDDigiKyokashoN-R.ttc}% UDデジタル教科書体N-R
\begin{document}
\mcfamily ☃っ{\ltseries ☃っ}{\bfseries ☃っ}
\gtfamily ☃っ{\bfseries ☃っ}{\ebseries ☃っ}
\mgfamily ☃っ
\end{document}
```

![image-08a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/3cf8bf1f-3747-7865-d6dd-57db1781666d.png)

#### 異体字の選択：`jis2004`オプション

フォントによっては漢字の異体字について「90JIS字体（＝2000JIS字体）」と「2004JIS字体」の切替ができるものがあります。

pxchfonでは、切替が有効で**ある場合は**、（他のパッケージの仕様に合わせて）90JIS字体が選択されます。

```tex:sample-09a.tex
% pLaTeX文書
\documentclass[dvipdfmx,a4paper]{jsarticle}
% "jis2004"非指定→90JIS字形
\usepackage[haranoaji]{pxchfon}% 原ノ味フォント
\begin{document}
巷で噂の\textbf{葛飾区}。
\end{document}
```

![image-09a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/b4f4aec3-1b5e-5738-30bf-6d48e470f738.png)

ここでpxchfonのオプションに`jis2004`を指定すると、2004JIS字形が選択されるようになります。

```tex:sample-09b.tex
% pLaTeX文書
\documentclass[dvipdfmx,a4paper]{jsarticle}
% "jis2004"指定→2004JIS字形
\usepackage[haranoaji,jis2004]{pxchfon}% 原ノ味フォント
\begin{document}
巷で噂の\textbf{葛飾区}。
\end{document}
```

![image-09b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/eaec75c9-9198-a3d6-4f42-9f6a6e5ec249.png)

ところが、japanese-otfパッケージを併用している場合は話がややこしくなります。実は、japanese-otfパッケージも`jis2004`オプションを持っていて、併用時は異体字の選択は多くの場合japanese-otfの設定の方に従うからです。

このことを知らないと「pxchfonに`jis2004`を指定したのに効かない」ということになってしまいます。

```tex:sample-10a.tex
% pLaTeX文書
\documentclass[dvipdfmx,a4paper]{jsarticle}
%↓pxchfonには"jis2004"を付けたがotfにはない…
\usepackage{otf}
\usepackage[haranoaji,jis2004]{pxchfon}% 原ノ味フォント
\begin{document}
巷で噂の\textbf{葛飾区}{\ajSnowman}
\end{document}
```

![image-10a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/fd8f7a1d-06f9-63aa-777b-d206f5029ea7.png)

さらにややこしいことに、japanese-otf側の設定によっては、japanese-otfではなくpxchfonの設定の方が効く場合[^jis2004]も存在します。従って、「2004JIS字形を選択したい」という場合は、pxchfonとjapanese-otfの**両方**に`jis2004`を指定するのが無難な方法といえるでしょう。

[^jis2004]: 詳しく言うと、japanese-otfの特有のTFMについてはjapanese-otfの`jis2004`が効き、(u)pLaTeXの標準のTFMについては「updmapにおける`jaVariant`の設定」（つまり、kanji-config-updmapの`--jis2004`の指定）が効く、という仕様になっています。そして、pxchfonの方の`jis2004`オプションは「updmapの設定」と同列の位置にあります。

```tex:sample-10b.tex
% pLaTeX文書
\documentclass[dvipdfmx,a4paper]{jsarticle}
%↓otfにも"jis2004"を付けた
\usepackage[jis2004]{otf}
\usepackage[haranoaji,jis2004]{pxchfon}% 原ノ味フォント
\begin{document}
巷で噂の\textbf{葛飾区}{\ajSnowman}
\end{document}
```

![image-10b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/0ad9f050-bdb7-58a7-d955-5e2ce1799460.png)

あるいは「`jis2004`をグローバルオプションで指定する」という方法もあります。こちらの方が「この文書では可能な限り2004JIS字形を優先したい」という意図を示せるので、**`jis2004`オプションはグローバルで指定することを推奨**します。

```tex:sample-10c.tex
% pLaTeX文書
%↓グローバルに"jis2004"を指定
\documentclass[dvipdfmx,a4paper,jis2004]{jsarticle}
\usepackage{otf}
\usepackage[haranoaji]{pxchfon}% 原ノ味フォント
\begin{document}
巷で噂の\textbf{葛飾区}{\ajSnowman}
\end{document}
```

![image-10c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/568de67e-8ca5-721c-ce58-019e0c946225.png)

最後に補足です。当然ながら、`jis2004`による異体字の選択はフォントが対応していなければ効きませんが、「異体字の切替に対応しているフォント」であっても、pxchfonやjapanese-otfでは切替が有効にならないものもあります。特に、（`unicode`が非指定の場合は）TrueTypeフォントについては`jis2004`による異体字の切替は無効で、常に“フォントの既定の字形”が選択されます。

```tex:sample-11.tex
% pLaTeX文書
\documentclass[dvipdfmx,a4paper]{jsarticle}
% MSフォントは既定が2004JIS字形であるTrueTypeフォント
% なので, "jis2004"がなくても2004JIS字形になる.
\usepackage{otf}
\usepackage[ms]{pxchfon}% MSフォント
\begin{document}
巷で噂の\textbf{葛飾区}{\ajSnowman}
\end{document}
```

![image-11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/a676bf1a-e718-4c8d-7019-6efbc7b563ee.png)

## ホンキ編

さて、キホンが終わったのでここから少々ヤヤコシイ話を始めよう……とも思いましたが、よく考えると、せっかくのクリスマス:christmas_tree:なのにヤヤコシイ話を聞きたい人はなさそうなので、代わりに赤黒☃（回転操作を適用したやつ）を眺めることにしましょう（素敵:blush:）

![rbsnowmanrot.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/c6427722-f443-567a-43e2-c9c21bdbc504.gif)

## まとめ

![image-08a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14550/3cf8bf1f-3747-7865-d6dd-57db1781666d.png)

皆さん、pxchfonでイロイロなフォントの:snowman:を出力して楽しみましょう（素敵:blush:）

----

## 付録：各フォントに対するコマンド

pxchfonの`\set～`命令で設定する際にはファイル名と（コレクションの場合は）位置番号を知る必要があります。ここでは日本のTeX界隈でよく使われる日本語フォントについて、それを指定する`\set～`命令を挙げておきます。

※フォント名の後の記号の意味

* `▲`： AJ1対応フォント（`unicode`**非指定**が推奨される）。
* `☆`： `unicode`指定が推奨される。
* `★`： `unicode`指定が**必須**である。

### TeX Live収録のフォント

※原ノ味フォントはTeX Live 2019の途中から収録され、TeX Live 2020において既定の標準和文フォントになりました。それ以前はIPAexフォントが既定として使われていました。

```tex
\setminchofont{ipaexm.ttf}% IPAex明朝
\setgothicfont{ipaexg.ttf}% IPAexゴシック
\setminchofont{ipam.ttf}% IPA明朝
\setgothicfont{ipag.ttf}% IPAゴシック
\setminchofont{HaranoAjiMincho-ExtraLight.otf}% 原ノ味明朝ExtraLight ▲
\setminchofont{HaranoAjiMincho-Light.otf}% 原ノ味明朝Light ▲
\setminchofont{HaranoAjiMincho-Regular.otf}% 原ノ味明朝Regular ▲
\setminchofont{HaranoAjiMincho-Medium.otf}% 原ノ味明朝Medium ▲
\setminchofont{HaranoAjiMincho-SemiBold.otf}% 原ノ味明朝SemiBold ▲
\setminchofont{HaranoAjiMincho-Bold.otf}% 原ノ味明朝Bold ▲
\setminchofont{HaranoAjiMincho-Heavy.otf}% 原ノ味明朝Heavy ▲
\setgothicfont{HaranoAjiGothic-ExtraLight.otf}% 原ノ味ゴシックExtraLight ▲
\setgothicfont{HaranoAjiGothic-Light.otf}% 原ノ味ゴシックLight ▲
\setgothicfont{HaranoAjiGothic-Regular.otf}% 原ノ味ゴシックRegular ▲
\setgothicfont{HaranoAjiGothic-Normal.otf}% 原ノ味ゴシックNormal ▲
\setgothicfont{HaranoAjiGothic-Medium.otf}% 原ノ味ゴシックMedium ▲
\setgothicfont{HaranoAjiGothic-Bold.otf}% 原ノ味ゴシックBold ▲
\setgothicfont{HaranoAjiGothic-Heavy.otf}% 原ノ味ゴシックHeavy ▲
```

### その他のフリーフォント

プリセットで使われているものを中心に列挙します。

※源ノフォント（Source Hanフォント）・Noto CJKフォントは種類が多いのでRegularウェイトだけ載せます。他のウェイトは“Regularと同じパターン”に従います。なお、Super OTC版は「バージョンによって位置番号が変わる可能性が高い」ため推奨しません。

```tex
\setminchofont{ume-tmo3.ttf}% 梅明朝
\setgothicfont{ume-tgo4.ttf}% 梅ゴシック
\setgothicfont{ume-tgo5.ttf}% 梅ゴシックO5
\setminchofont[0]{SourceHanSerif-Regular.ttc}% 源ノ明朝Regular ※OTC版 ★
\setgothicfont[0]{SourceHanSans-Regular.ttc}% 源ノ角ゴシックRegular ※OTC版 ★
\setminchofont{SourceHanSerif-Regular.otf}% 源ノ明朝Regular ※言語別OTF版 ★
\setgothicfont{SourceHanSans-Regular.otf}% 源ノ角ゴシックRegular ※言語別OTF版 ★
\setminchofont{SourceHanSerifJP-Regular.otf}% 源ノ明朝 JP Regular ※サブセット版 ★
\setgothicfont{SourceHanSansJP-Regular.otf}% 源ノ角ゴシック JP Regular ※サブセット版 ★
```

### Windwos 10収録のフォント

```tex
\setminchofont[0]{msmincho.ttc}% ＭＳ 明朝
\setgothicfont[0]{msgothic.ttc}% ＭＳ ゴシック
\setminchofont[0]{meiryo.ttc}% メイリオ ☆
\setgothicfont[0]{meiryob.ttc}% メイリオBold ☆
\setminchofont{yuminl.ttf}% 游明朝Light ☆
\setminchofont{yumin.ttf}% 游明朝Regular ☆
\setminchofont{yumindb.ttf}% 游明朝Demibold ☆
\setgothicfont[0]{YuGothB.ttc}% 游ゴシックBold ☆
\setgothicfont[0]{YuGothL.ttc}% 游ゴシックLight ☆
\setgothicfont[0]{YuGothM.ttc}% 游ゴシックMeduium ☆
\setgothicfont[0]{YuGothR.ttc}% 游ゴシックRegular ☆
\setminchofont[0]{UDDigiKyokashoN-R.ttc}% UDデジタル教科書体N-R ☆
\setminchofont[0]{UDDigiKyokashoN-B.ttc}% UDデジタル教科書体N-B ☆
\setminchofont[0]{BIZ-UDMinchoM.ttc}% BIZ UD明朝Medium ☆
\setgothicfont[0]{BIZ-UDGothicR.ttc}% BIZ UDゴシック ☆
\setgothicfont[0]{BIZ-UDGothicB.ttc}% BIZ UDゴシックBold ☆
```

### Microsoft Office収録のフォント

```tex
\setminchofont[0]{HGRMB.TTC}% HG明朝B
\setminchofont[0]{HGRME.TTC}% HG明朝E
\setminchofont[0]{HGRPRE.TTC}% HG創英ﾌﾟﾚｾﾞﾝｽEB
\setgothicfont[0]{HGRGM.TTC}% HGｺﾞｼｯｸM
\setgothicfont[0]{HGRGE.TTC}% HGｺﾞｼｯｸE
\setgothicfont[0]{HGRSGU.TTC}% HG創英角ｺﾞｼｯｸUB
\setgothicfont{HGRSMP.TTF}% HG丸ｺﾞｼｯｸM-PRO
\setminchofont[0]{HGRKK.TTC}% HG教科書体
\setminchofont{HGRSKP.TTF}% HG正楷書体-PRO
\setminchofont[0]{HGRGY.TTC}% HG行書体
\setgothicfont[0]{HGRPP1.TTC}% HG創英角ﾎﾟｯﾌﾟ体
```

### ヒラギノフォント

新たにヒラギノフォントを導入してkanji-config-updmapの`hiragino-pron`ファミリ用にセットアップした状態を想定しています。

※macOS付属の日本語フォントはOSのバージョンごとに構成が変わる（つまり**正しいコマンドが変わる**）可能性が高いのでここでは扱いません。

```tex
\setminchofont{HiraMinProN-W2.otf}% ヒラギノ明朝 ProN W2 ▲
\setminchofont{HiraMinProN-W3.otf}% ヒラギノ明朝 ProN W3 ▲
\setminchofont{HiraMinProN-W6.otf}% ヒラギノ明朝 ProN W6 ▲
\setgothicfont{HiraKakuProN-W3.otf}% ヒラギノ角ゴシック ProN W3 ▲
\setgothicfont{HiraKakuProN-W6.otf}% ヒラギノ角ゴシック ProN W6 ▲
\setgothicfont{HiraKakuStdN-W8.otf}% ヒラギノ角ゴシック StdN W8 ▲
\setgothicfont{HiraMaruProN-W4.otf}% ヒラギノ丸ゴシック ProN W4 ▲
```

### 非埋込

`\set～`命令の引数に`*`を指定すると、そのシェープについて「フォントを埋め込まない」ことを指定できます。

※非埋込の設定は近年では推奨されません。

```tex
\setminchofont{*}% 非埋込
```

[advent2014]: https://adventar.org/calendars/553
[advent2020]: https://adventar.org/calendars/5111
[bxjscls]: https://github.com/zr-tex8r/BXjscls
[font-haranoaji]: https://github.com/trueroad/HaranoAjiFonts
[font-noto]: https://www.google.com/get/noto/help/cjk/
[font-sourcehan]: https://source.typekit.com/source-han-serif/jp/
[jlreq]: https://github.com/abenori/jlreq
[pxchfon]: https://github.com/zr-tex8r/PXchfon
[pxrubrica]: https://github.com/zr-tex8r/PXrubrica
[qiita-pxrubrica]: https://qiita.com/zr_tex8r/items/42466cbcbeb670a3a2dc