源ノ角ゴシック/源ノ明朝フォント・Noto フォントを活用する

新しい日本語フォント

源ノ角ゴシック/源ノ明朝フォント

2014年、Adobe Systems は Google と共同で、「げん角ゴシック」(Source Han Sans)フォントを開発、公開しました。このフォントはオープンソースで、日本語・韓国語・中国簡体字・中国繁体字のグリフを可能な限り収録しており、欧米文字に関しても Source Sans ファミリーの内容を収録しています。日本語の漢字に関しては Adobe-Japan1-6 の内容を完全収録しており、Web フォント・デスクトップフォントとしての使用を念頭に開発されたと謳われていますが、印刷に供しても十分な品質のフォントです。

そして2017年、「げん明朝」(Source Han Serif)フォントが公開されました。高品質なゴシックと明朝、しかも各々7ウェイトづつが公開されたことで、その有用性は極めて大きいものになりました。

Noto Sans CJK / Noto Serif CJK フォント

源ノ角ゴシック/源ノ明朝フォントの開発は、Adobe と Google の共同開発として行われたわけですが、この成果は Google 側からもリリースされています。それが Noto font の CJK サブセットとして公開されている Noto Sans CJK / Noto Serif CJK フォントです。Noto というのは Google によると "no more tofu" の略とのことです。tofu = 豆腐、というのは、グリフがないときに表示される "□" のことですね。要するに「表示できない文字がない状態を目指す」という意志を表明した名前です。

まずはシステムにインストール……の前に

これらのフォントを TeX Live で使いたい……当然、そういう風に皆さん考えられると思います。ではまずはシステムにインストールを、となるところですが、ちょっと待って下さい。これらのフォントはなにせ新しいものですので、まずはその公開形態から見ておく必要があります。

源ノ角ゴシック/源ノ明朝フォントの場合

たとえば源ノ角ゴシックフォントを入手しようとした場合、まずはGitHub で公開されているレポジトリに行くことになるわけですが、ここの clone を取得してもそのままでは使えません。ここでメインで公開されているのはあくまでフォントのソースファイルで、これを使えるかたちにするためには、Adobe が公開している Adobe Font Development Kit for OpenType (AFDKO) をセットアップした上でフォントを自力で生成することが必要になります。

生成済のフォントファイルも公開されているので、まずはそちらを入手するのが早道です。先の GitHub のページの下の方に行くと "Download the fonts (OTF, OTC, Super OTC, Subset OTF)" という項目があります。その直下の "Latest release" と書かれているところをクリックすると "Downloading Source Han Sans" というページに飛びます。

公開されている形態は、

とあります。OTC (OpenType Collection) は複数の OTF をひとつに束ねたものです。TrueType フォントでも MSフォント等はこのような構造の TTC (TrueType Collection) になっていますね。ちなみに OTC のファイルは TTC 同様 .ttc という拡張子です。ただし OpenType フォントにおける OTC は比較的新しい規格なので、これに対応しているのは最新の macOS や Microsoft Windows 10 に限られます。platex/uplatex でも使用できるので(システムにインストールせずに TeX 用として)持っている価値はあると思いますが、スーパーOTC(複数言版・複数ウェイトのOTFをひとつに束ねたもの)ではなく、ウェイト毎の OTC の方を取得しましょう。

尚、実際にシステムにインストールされる場合は、束ねられていない OTF 版が一番安全だろうと思われます。重複するフォントを複数形態でインストールしても、認識されるのは最初に読まれたものだけですので、システムに重複インストールしても余り意味はありません。

Noto Sans CJK / Noto Serif CJK フォントの場合

Noto fonts は、https://www.google.com/get/noto/ で公開されていますが、CJK に関しては https://www.google.com/get/noto/help/cjk/ からの方が取り易いと思います。具体的に取得する必要があるのは、"OpenType/CFF Collection (OTC)" から、

そして "Region-specific Subset OpenType/CFF (Subset OTF)" から、 です。合計するとかなりの数になります。こちらに関しても、OTF と OTC を重複インストールした場合、どちらか片方だけが認識されることになりますのでご注意下さい。

一例としてのインストール

システムへのインストール

僕のシステムには、以下のようなかたちでインストールされています。

  1. /usr/share/fonts/opentype/SourceHan
  2. /usr/share/fonts/opentype/SourceHan-OTC
  3. /usr/share/fonts/opentype/NotoCJKjp
  4. /usr/share/fonts/opentype/NotoCJKjp-OTC

1. には、Source Hans Sans と Source Hans Serif の OTF 版、それらのサブセット OTF 版のうち、JP(日本語), KR(朝鮮語), SC(中国簡体字)の全ウェイトを入れています。2. には 1. と同様の内容になるように OTC フォントが入れてあります。

3. には、Noto Sans と Noto Serif のサブセット OTF 版のうち、CJKjp(日本語), CJKkr(朝鮮語), CJKsc(中国簡体字)の全ウェイト、あと Noto Sans Mono に関しても3言語分を入れています。4. には 、Noto Sans と Noto Serif の OTC フォントが入れてあります。

sans と sans serif を混ぜて1か所に入れるのはアレなんですが、インストールしていてあ゛〜っっ、となって、こうしてしまいました。ちなみに、OTC 版に関しては上述の通り混在させない方が本当は良いです。

システムへのフォントファイルの配置中は、可能であればコンソールモードで作業する方が安全です。配置が終わったら、

$ sudo fc-cache -vfr
でフォントキャッシュを更新しておきましょう。

TeX Live へのインストール

TeX Live には、以下のようなかたちでインストールされています。

  1. /usr/local/texlive/texmf-local/fonts/opentype/adobe/sourcehansans
  2. /usr/local/texlive/texmf-local/fonts/opentype/adobe/sourcehanserif
  3. /usr/local/texlive/texmf-local/fonts/opentype/adobe/sourcehan-otc
  4. /usr/local/texlive/texmf-local/fonts/opentype/google/notosans
  5. /usr/local/texlive/texmf-local/fonts/opentype/google/notoserif
  6. /usr/local/texlive/texmf-local/fonts/opentype/google/noto-otc

この各ディレクトリに以下のファイルを、先にシステムにインストールしたフォントの場合はシンボリックリンクを作成、インストールしない場合はシンボリックリンクもしくは本体を配置します。
  1. SourceHanSans*.otf
  2. SourceHanSerif*.otf
  3. SourceHanSans*.ttc と SourceHanSerif*.ttc
  4. NotoSansCJK*.otf と NotoSansMonoCJK*.otf
  5. NotoSerifCJK*.otf
  6. NotoSerifCJK*.ttc
これらのディレクトリ内に、先のシステムにインストールしたファイルのシンボリックリンクを張っています。リンク作成が終わったところで、mktexlsr / texhash で ls-R データベースの更新を行っておきます。

まず使ってみる

では、こうやってインストールしたフォントを実際に使ってみましょう。LuaTeX では truetype/opentype フォントを直接指定して文書を組むことができますので、まずは LuaTeX-ja を使って以下のような文書を書いてみます。

\documentclass[a4paper]{ltjsarticle}

\usepackage{luatexja}

\usepackage[no-math]{luatexja-fontspec}

\usepackage[sourcehan-jp]{luatexja-preset}

\begin{document}

明朝体で書き始め、\textbf{太字}を経て\textgt{ゴシック}に至る。

\end{document}
LuaTeX-ja の luatexja-preset.sty では、フォントセットに noto-otc, noto-otf, sourcehan, sourcehan-jp が収録されています。ここでは sourcehan-jp を指定して、lualatex で処理すると、以下のような出力を得ます。
sourcehan-luatex.jpg

luatexja-preset.sty では、\textbf{} としてゴシック体が指定されているようです。これは昔から慣習的に行われていることではあるのですが、bf = bold face ということを考えるとどうなのでしょう。強調したいところを明朝のまま太字にしても、目を引きにくいような気もしますから……悩ましいところです。その辺りを細かく制御したい場合は、フォントを直接指定して書くこともできます。

\documentclass[a4paper]{ltjsarticle}

\usepackage{luatexja}

\usepackage[no-math]{luatexja-fontspec}

\setmainfont{texgyretermes-regular}
\setsansfont{texgyreheros-regular}
\setmainjfont[BoldFont=SourceHanSerifJP-Bold.otf]{SourceHanSerifJP-Regular.otf}
\setsansjfont[BoldFont=SourceHanSansJP-Bold.otf]{SourceHanSansJP-Regular.otf} 

\begin{document}

明朝体で書き始め、\textbf{太字}を経て\textgt{ゴシック}に至る。

\end{document}
これを lualatex で処理すると、以下のような出力を得ます。
sourceh
an-luatex.jpg

pLaTeX / upLaTeX で使ってみる

pLaTeX や upLaTeX で源ノ角ゴシック / 源ノ明朝 / Noto Sans CJK / Noto Serif CJK フォントを使いたい場合は、現行の TeX Live に収録されている dvipdfmx と PXchfon パッケージを併用することで利用できます。

PXchfon パッケージは、pLaTeX / upLaTeX の標準フォントを文書中で指定したフォントに置換する機能を提供しています。上述のようにフォントをインストールしてあれば、TeX Live に収録されている PXchfon パッケージをそのまま使うことができます。

pLaTeX の場合、

\documentclass[a4paper]{jsarticle}

\usepackage[sourcehan]{pxchfon}

\begin{document}

明朝体で書き始め、\textbf{太字}を経て\textgt{ゴシック}に至る。

\end{document}
upLaTeX の場合、
\documentclass[uplatex,a4paper]{jsarticle}

\usepackage[sourcehan]{pxchfon}

\begin{document}

明朝体で書き始め、\textbf{太字}を経て\textgt{ゴシック}に至る。

\end{document}
のように作成した文書から DVI ファイルを生成、dvipdfmx に読ませることで、上の LuaTeX を使用した例と同様の、
sourceh
an-platex.jpg (platex)
sourceh
an-uplatex.jpg(uplatex)
のような PDF 出力を得ることができます。

先の『フリーフォントを活用するために』のような、OTF パッケージを併用したフォントの使い分けは可能なのでしょうか。

\documentclass[a4paper]{jsarticle}

\usepackage[expert, deluxe]{otf}

\usepackage[sourcehan]{pxchfon}

\begin{document}

\noindent {\usekanji{JY1}{hmc}{l}{n} \Huge 漢字仮名交じり文の例:細明朝}

\noindent {\usekanji{JY1}{hmc}{m}{n} \Huge 漢字仮名交じり文の例:明朝}

\noindent {\usekanji{JY1}{hmc}{bx}{n} \Huge 漢字仮名交じり文の例:太明朝}

\noindent {\usekanji{JY1}{hgt}{m}{n} \Huge 漢字仮名交じり文の例:ゴシック}

\noindent {\usekanji{JY1}{hgt}{bx}{n} \Huge 漢字仮名交じり文の例:太ゴシック}

\noindent {\usekanji{JY1}{hgt}{eb}{n} \Huge 漢字仮名交じり文の例:極太ゴシック}

\noindent {\usekanji{JY1}{mg}{m}{n} \Huge 漢字仮名交じり文の例:丸ゴシック}

\end{document}
このような文書を作成しました。ひとつだけ注意しなければならないのはプリアンブルにおける OTF と PXchfon の順序です。OTF を先にしないとエラーが出るので注意しましょう。これを platex と dvipdfmx で処理した結果は……
sourcehan-seven-fonts.png
おお!これは良いです。フリーなフォントでこれが可能というのは素晴しいですね。


Go back to the top
Go back to the index

Copyright(C) 2021 Tamotsu Thomas UEDA