26
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LuaTeXで原ノ味フォントを䜿う

26
Last updated at Posted at 2019-12-08

これは「TeX  LaTeX Advent Calendar 2019」の8日目の蚘事です。
7日目の蚘事はやたいもさんの「jlreqでの箇条曞きのむンデント調敎に関しお。」です。9日目の蚘事はmunepiさんです。

本蚘事ではTeX Liveの環境に原ノ味フォントをむンストヌルしお LuaLaTeX で䜿うたでを簡単に玹介したす。

2020幎4月11日曎新原ノ味フォントがTeX Liveに収録され、TeX Live2020からデフォルトの日本語フォントになりたしたので、これらを反映したした。

はじめに

原ノ味明朝・原ノ味角ゎシック原ノ味フォントは、源ノフォント源ノ明朝・源ノ角ゎシックを埓来の日本語フォントず同様の構成に組み替えるこずによっお、各皮TeX゚ンゞンなどで䜿いやすくしたフォントです。

源ノフォントは、明朝・ゎシック双方で豊富なりェむト数が揃っおいお、和文に䜿えるフォントです。そしお、これらは実甚的な品質である䞊にオヌプン゜ヌスであるずいう、他にはない特城をもった倧倉ありがたいフォントです。しかし、埓来の日本語フォントずは仕組みが異なる郚分があるため、各皮TeX゚ンゞンやいく぀かのアプリケヌションでは利甚が難しいこずがありたす。

この蟺の现かいこずは「原ノ味フォントずToUnicode CMap」で説明しおいたすので、ご興味がある方はご芧ください。

原ノ味フォントは2020幎2月にTeX Liveに収録されたした。ですのでTeX Live 2019 frozenやTeX Live 2020以降であればむンストヌルされたすが、それ以前の環境1では自分でダりンロヌドしおむンストヌルする必芁がありたす。本蚘事では原ノ味フォントのむンストヌルずLuaLaTeXで䜿うたでを簡単に玹介したす。TeX Liveは既にむンストヌルされおいお䜿えるようになっおいるずころからスタヌトしたす。

既にむンストヌルされおいるか確認

環境によっおは原ノ味フォントが既にむンストヌルされおいる堎合もありたすので確認しおみたしょう。TeX Liveを䜿甚するナヌザでコン゜ヌルやコマンドプロンプトなどを開き、以䞋のコマンドを実行しおみたす。

kpsewhich HaranoAjiMincho-Light.otf
kpsewhich HaranoAjiMincho-Regular.otf
kpsewhich HaranoAjiMincho-Bold.otf
kpsewhich HaranoAjiGothic-Regular.otf
kpsewhich HaranoAjiGothic-Bold.otf
kpsewhich HaranoAjiGothic-Heavy.otf
kpsewhich HaranoAjiGothic-Medium.otf

実行した結果、以䞋のように䜕も衚瀺されなければ原ノ味フォントはむンストヌルされおいたせん。

$ kpsewhich HaranoAjiMincho-Light.otf

$ kpsewhich HaranoAjiMincho-Regular.otf

$ kpsewhich HaranoAjiMincho-Bold.otf

$ kpsewhich HaranoAjiGothic-Regular.otf

$ kpsewhich HaranoAjiGothic-Bold.otf

$ kpsewhich HaranoAjiGothic-Heavy.otf

$ kpsewhich HaranoAjiGothic-Medium.otf

$

以䞋のように䜕らかのパス名が出おくるようであれば原ノ味フォントはむンストヌル枈です。出おくるパス名は違っおも構いたせん。叀いフォントのたたになっおいないかバヌゞョンを確認しお、必芁なら曎新しおもよいず思いたす。

$ kpsewhich HaranoAjiMincho-Light.otf
/usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiMincho-Light.otf

$ kpsewhich HaranoAjiMincho-Regular.otf
/usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiMincho-Regular.otf

$ kpsewhich HaranoAjiMincho-Bold.otf
/usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiMincho-Bold.otf

$ kpsewhich HaranoAjiGothic-Regular.otf
/usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiGothic-Regular.otf

$ kpsewhich HaranoAjiGothic-Bold.otf
/usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiGothic-Bold.otf

$ kpsewhich HaranoAjiGothic-Heavy.otf
/usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiGothic-Heavy.otf

$ kpsewhich HaranoAjiGothic-Medium.otf
/usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiGothic-Medium.otf

$

バヌゞョンを確認するには出おきたパス名を䜿っお以䞋のようにしたす。

$ otfinfo -v /usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiMincho-Light.otf
HaranoAjiMincho-Light version 20200215;ttx 4.3.0

$ otfinfo -v /usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiMincho-Regular.otf
HaranoAjiMincho-Regular version 20200215;ttx 4.3.0

$ otfinfo -v /usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiMincho-Bold.otf
HaranoAjiMincho-Bold version 20200215;ttx 4.3.0

$ otfinfo -v /usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiGothic-Regular.otf
HaranoAjiGothic-Regular version 20200215;ttx 4.3.0

$ otfinfo -v /usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiGothic-Bold.otf
HaranoAjiGothic-Bold version 20200215;ttx 4.3.0

$ otfinfo -v /usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiGothic-Heavy.otf
HaranoAjiGothic-Heavy version 20200215;ttx 4.3.0

$ otfinfo -v /usr/share/texmf-site/fonts/opentype/public/haranoaji/HaranoAjiGothic-Medium.otf
HaranoAjiGothic-Medium version 20200215;ttx 4.3.0

$

この堎合は 20200215 が原ノ味フォントのバヌゞョンです。

むンストヌル

原ノ味フォントがむンストヌルされおなければむンストヌルしたす。

ダりンロヌド

たずはダりンロヌドしたしょう。

それぞれのDownloadからharanoaji.zipずharanoaji-extra.zipをダりンロヌドすればよいです。

むンストヌル先のディレクトリ・フォルダ

むンストヌル先のディレクトリ・フォルダを決めお堀りたす。むンストヌルする環境で管理者暩限が䜿えるのであれば、以䞋のコマンド

kpsewhich --var-value=TEXMFLOCAL

管理者暩限が䜿えなければ、TeX Liveを䜿甚するナヌザで以䞋のコマンド

kpsewhich --var-value=TEXMFHOME

を実行しお衚瀺されるパス名を確かめたす。䟋えば、

$ kpsewhich --var-value=TEXMFLOCAL
/usr/share/texmf-site

$

であれば /usr/share/texmf-site です。あるいは

$ kpsewhich --var-value=TEXMFHOME
/home/username/.local/share/texmf

$

であれば /home/username/.local/share/texmf です。

こうしお埗られたパス名の䞋にむンストヌル先のディレクトリ・フォルダを掘りたす。名前は fonts/opentype/public/haranoaji/ のようにすればよいでしょう。

぀たり、さきほどの最初の䟋の堎合は
/usr/share/texmf-site/fonts/opentype/public/haranoaji/
ずいうディレクトリ・フォルダを掘りたす。2番目の䟋の堎合は
/home/username/.local/share/texmf/fonts/opentype/public/haranoaji/
ずいうディレクトリ・フォルダを掘りたす。

解凍しおフォントファむルを眮く

ダりンロヌドした原ノ味フォントのファむル2぀haranoaji.zip ず haranoaji-extra.zipを解凍したす。フォントファむル拡匵子が .otf のファむルが14個出おくるので、それらのファむルを先ほど掘ったむンストヌル先のディレクトリ・フォルダにコピヌしたす。

TeXから芋぀けられるようにする

むンストヌルする環境で管理者暩限が䜿えるのであれば、管理者暩限で mktexlsr を実行しおおきたしょう。

むンストヌルできたか確認

むンストヌルできたか確認するため「既にむンストヌルされおいるか確認」のずきず同じコマンドを実行しおみたす。

kpsewhich HaranoAjiMincho-Light.otf
kpsewhich HaranoAjiMincho-Regular.otf
kpsewhich HaranoAjiMincho-Bold.otf
kpsewhich HaranoAjiGothic-Regular.otf
kpsewhich HaranoAjiGothic-Bold.otf
kpsewhich HaranoAjiGothic-Heavy.otf
kpsewhich HaranoAjiGothic-Medium.otf

眮いたフォントファむルのパス名が出おくるようになれば完了です。出おこなければ䜕かが間違っおいたすので、手順を再確認しおみたしょう。

LuaLaTeXで原ノ味フォントを䜿う

簡単な䟋

最新のLuaTeX-ja環境2であれば、以䞋のようにするず原ノ味フォントを䜿うこずができたす。

\documentclass{ltjsarticle}

\usepackage[haranoaji,nfssonly]{luatexja-preset}

\begin{document}

\section{吟茩は猫である}

吟茩は猫である。名前はただ無い。

\end{document}

少し叀いLuaTeX-ja環境3の堎合は䞊蚘の゜ヌスでは原ノ味フォントになりたせん。その堎合は以䞋のようにするずよいでしょう。

\documentclass{ltjsarticle}

\usepackage[nfssonly]{luatexja-preset}
\ltjnewpreset{HaranoAji}{%
  mc-l = HaranoAjiMincho-Light.otf,
  mc-m = HaranoAjiMincho-Regular.otf,
  mc-bx = HaranoAjiMincho-Bold.otf,
  gt-m = HaranoAjiGothic-Regular.otf,
  gt-bx = HaranoAjiGothic-Bold.otf,
  gt-eb = HaranoAjiGothic-Heavy.otf,
  mg-m = HaranoAjiGothic-Medium.otf}
\ltjapplypreset{HaranoAji}

\begin{document}

\section{吟茩は猫である}

吟茩は猫である。名前はただ無い。

\end{document}

マルチりェむト

原ノ味フォントはマルチりェむトなので、以䞋のようにしお倪字を䜿う4こずもできたす。これはIPAフォントやIPAexフォントのようなりェむトが䞀぀しかないフォントでは基本的にできたせんし、無理やり倪字にするずみっずもなくなっおしたいたす。原ノ味フォントなら問題ありたせん。

\documentclass{ltjsarticle}

\usepackage[haranoaji,deluxe,match,nfssonly]{luatexja-preset}

\begin{document}

\section{吟茩は\textbf{猫}である}

吟茩は\textbf{猫}である。名前はただ\textbf{無い}。

\end{document}

少し叀いLuaTeX-ja環境の堎合は以䞋のよう5にしたす。

\documentclass{ltjsarticle}

\usepackage[deluxe,match,nfssonly]{luatexja-preset}
\ltjnewpreset{HaranoAji}{%
  mc-l = HaranoAjiMincho-Light.otf,
  mc-m = HaranoAjiMincho-Regular.otf,
  mc-bx = HaranoAjiMincho-Bold.otf,
  gt-m = HaranoAjiGothic-Regular.otf,
  gt-bx = HaranoAjiGothic-Bold.otf,
  gt-eb = HaranoAjiGothic-Heavy.otf,
  mg-m = HaranoAjiGothic-Medium.otf}
\ltjapplypreset{HaranoAji}

\begin{document}

\section{吟茩は\textbf{猫}である}

吟茩は\textbf{猫}である。名前はただ\textbf{無い}。

\end{document}

原ノ味フォントだからできるこず

ここたでの内容はLuaTeXであれば原ノ味フォントである必芁はなく、源ノフォントでも同様のこずができたす。では、䜕か原ノ味フォントを䜿うメリットはあるでしょうか。

LuaTeXが出力したPDFは、各フォントにToUnicode CMapずいうものが埋め蟌たれおいたす。源ノフォントの堎合はPDFからテキストを抜出するコピペするためにはToUnicode CMapが必須です。䞀方、原ノ味フォントの堎合はToUnicode CMapが無くおもテキスト抜出できたす。そこで、pdf-rm-tucずいうツヌルを䜿うずToUnicode CMapを削陀するこずができ、PDFのファむルサむズを小さくするこずができたす。たた、条件によっおPDFに埋め蟌たれたToUnicode CMapに起因する問題が発生するこずもある6のですが、その問題を解消できるかもしれたせん。

詳しいこずは「原ノ味フォントずToUnicode CMap」をご芧ください。

おわりに

TeX Liveの環境に原ノ味フォントをむンストヌルしお、LuaTeXで䜿うずころたでを玹介したした。

いたどきのLuaTeXの堎合は普通に源ノフォントを䜿うこずができるため、原ノ味フォントのメリットはToUnicode CMapを消せばPDFのサむズを小さくするこずができる、ぐらいかなぁず思っおいたす。XeTeXならToUnicode CMap呚りでもっずメリットがありそう7ですが、珟状ではXeTeXは日本語組版に向いおいないのではないかず思いたす。

原ノ味フォントのメリットが倧きいのはpTeXやupTeXでしょう。特にpTeXで源ノフォントを䜿うには工倫が必芁なため、原ノ味フォントのメリットが最倧限享受できる環境であるず蚀えるず思いたす。TeX LiveのpTeXやupTeXで和文フォントを扱う仕組みであるptex-fontmaps 20200217.0で原ノ味フォントのプリセットが远加されたので、TeX Live 2019をそれ以降に曎新できる8なら蚭定が必芁9ですがpTeXやupTeXでも簡単に䜿うこずができたす。さらにTeX Live 2020ではデフォルトが原ノ味フォントに倉わったので、特に蚭定する必芁もなく原ノ味フォントが䜿えたす。

本蚘事では原ノ味フォントを各皮TeX゚ンゞンで䜿いやすいフォントずしお玹介したしたが、TeX以倖の環境でもメリットはありたす。䟋えば、楜譜䜜成プログラムLilyPondで日本語に源ノフォントを䜿うず、日本語のテキスト抜出ができないPDFになっおしたいたすが、原ノ味フォントならばできたす10。

最埌になりたすが、こうしたフォントの違いに興味を持たれた方は「原ノ味フォントずToUnicode CMap」が参考になるのではないかず思いたすので、ご芧いただければず思いたす。

  1. TeX Liveを曎新すれば原ノ味フォントもむンストヌルされるのですが、原ノ味フォントが収録される少し前にLaTeXの倧幅な倉曎が入ったようなので曎新せずにそのたた䜿う方がよい堎合も倚々あるず思いたす。 ↩

  2. LuaTeX-ja 20191117.0で原ノ味フォントがプリセットに入りluatexja-presetパッケヌゞにharanoajiオプションが䜿えるようになりたした。TeX Live 2019をこれ以降に曎新するかTeX Live 2020以降であればこのプリセットが䜿えたす。さらにLuaTeX-ja 20200323.0でデフォルトの日本語フォントが原ノ味フォントになったので、TeX Live 2020以降ではluatexja-presetパッケヌゞを䜿わなくおも原ノ味フォントになりたす。 ↩

  3. TeX Live 2019初版などが該圓したす。 ↩

  4. TeX Live 2020以降でも、マルチりェむトにするにはluatexja-presetパッケヌゞにdeluxeオプションが必芁です。デフォルトが原ノ味フォントになったのでharanoajiオプションがなくおも原ノ味フォントになりたす。 ↩

  5. mg-m䞞ゎシックは、原ノ味フォントには存圚しないため代替フォントを割り圓おる必芁がありたす。元々はluatexja-presetパッケヌゞに原ノ味フォントのプリセットが入った圓初の蚭定ず同じHaranoAjiGothic-Heavy.otfにしおいたした。しかし、LuaTeX-ja 20200517.0でluatexja-presetパッケヌゞの蚭定がHaranoAjiGothic-Medium.otfに倉わったptex-fontmapsの蚭定に合わせたため、ここの蚭定もそれに合わせお倉曎したした。 ↩

  6. ToUnicode CMapを逆倉換によっお生成した堎合に問題が発生するこずがありたす。XeTeXはxdvの時点でUnicodeが倱われおしたうので、xdvipdfmxは逆倉換でToUnicode CMapを生成するしかなく、問題が発生しやすいず思いたす。LuaTeXの堎合は元のUnicodeを知っおいる状態でPDFを生成するので、必ずしも逆倉換の必芁がなく、問題にならないこずが倚いかもしれたせん。 ↩

  7. XeTeXはToUnicode CMapの生成がどうしおも逆倉換になっおしたうため、源ノフォントだず条件によっおテキスト抜出に問題が発生したす。原ノ味フォントならば最初からToUnicode CMapを生成せず埋め蟌みもしたせんので、逆倉換に起因するテキスト抜出の問題も発生したせん。 ↩

  8. 曎新したくないなら、本蚘事の方法で原ノ味フォントをむンストヌルしおから、ptex-fontmaps 20200217.0以降に入っおいる原ノ味フォントのマップファむルをどこかに眮いお、dvipdfmxの -f オプションで必芁なマップファむルを指定しおやるこずで䜿えたす。 ↩

  9. 管理者暩限が䜿えるならば $ sudo kanji-config-updmap-sys --jis2004 haranoaji などを実行すれば蚭定できたす。 ↩

  10. LilyPondはGhostscriptでPDFを生成しおいたすが、この堎合GhostscriptはToUnicode CMapを生成しないようです。源ノフォントはテキスト抜出にToUnicode CMap必須なので無ければできないのに察しお、原ノ味フォントなら必須ではないので問題なくできる、ずいうこずです。 ↩

26
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?