前回の記事の続きで、LaTeXのcomicsansパッケージ(あるいは「Comic Sans MS」フォント)をイマドキのWindowsで使うための話。
イマドキのComic Sans MSだとcomicsansできない話
周知のとおり、Comic Sans MSはWindows(95から)に標準で搭載されているフォントである。comicsansパッケージのマニュアルの説明に従うと、comicsansは「Windowsに搭載されているComic Sans MS」もサポートしているはずである。
ところが、実際に現役のWindows(8.1以降)でマニュアル通りの手順(前回説明した手順からフォントファイルのダウンロードを省いたもの)に従ってインストールした上でcomicsansを利用しようとすると、コンパイルは通ってPDFが生成されるが、肝心のComic Sans MSの文字が全て化けてしまうという無残な結果になる。
この原因は、要するに、「comicsansは古いパッケージ(最終更新は2013年)であり、Windows 8以降の新しいComic Sans MSフォントに対応できていない」からである。
イマドキのComic Sans MSでcomicsansする話
そこで、「comicsansを新しいフォントファイルに対応させるためのパッケージ」を作ってみた。
- tccomicsans Package(GitHub/zr-tex8r)
comicsansの内容に変更を加えるのは避けたいので、「comicsansを内部で読み込む新たなパッケージ」という形で提供する。
tccomicsansのインストール方法
- comicsansパッケージをパッケージのファイルだけインストールする。すなわち、CTANからcomicsans.tds.zipをダウンロードして、
$TEXMFLOCAL
の下でそのZIPファイルを展開する。
※既にcomicsansが完全にインストールされているならそれでもOK。 - tccomissansのReleaseページから最新の“tccomicsans.tds.zip”(この名前のリンクがある)をダウンロードして
$TEXMFLOCAL
の下でそのZIPファイルを展開する。 mktexlsr
を実行する。(必要なら管理者権限で)
tccomicsansのキホン的な使い方
comicsansと同じ用法で使いたいのであれば、tccomicsansをmainオプションを付けて読み込む。
\usepackage[main]{tccomicsans}
注意として、tccomicsansはドライバ依存をもつ。従って、dvipdfmxと併用する場合はクラスオプション2にdvipdfmx
を指定する必要がある。
例えば、前回の記事のテスト用の文書と同等のものは、以下のソースファイルから得られる。
\documentclass{article} % pdfLaTeXの場合 %\documentclass[dvipdfmx]{article} % dvipdfmxの場合 \usepackage[main]{tccomicsans} \begin{document} \section{A Simple Test} Hello, comic {\TeX} world! \[ \lim_{x\to0}\frac{\sin x}{x} = 1 \] \end{document}
なお、新しいComic Sans MSフォントは以前のものとは異なり「イタリック」「太字イタリック」のフォントファイルが含まれている。tccomicsansパッケージのフォントマップはイタリックシェープに対して(合成斜体ではなく)これらのフォントファイルを割り当てているため、pdfLaTeXでもイタリックシェープが使用可能である。もちろん、キリル文字にも対応している。
% 文字コードはUTF-8 \documentclass{article} % pdfLaTeX %\documentclass[dvipdfmx]{article} % dvipdfmx %↓ロシア語したい \usepackage[utf8]{inputenc} \usepackage[T2A,T1]{fontenc} \usepackage[russian,main=english]{babel} \babeltags{RUS=russian} %↑ \usepackage[main]{tccomicsans} \begin{document} \section{A \emph{Very} Simple Test} \begin{itemize} \item In \emph{America}, you run {\TeX}. \item \textRUS{В \emph{Советской-России}, {\TeX} выполняет вас!} \end{itemize} \end{document}
tccomicsansをホンキで使う
comicsansのオプション、例えばulemph
やlargesymbols
などはtccomicsansでも有効である。(内部でcomicsansを読み込む際にこれらのオプションをそのまま渡している。)
\documentclass{article} % pdfLaTeX %\documentclass[dvipdfmx]{article} % dvipdfmx % 大型演算子をアレにする \usepackage[main,largesymbols]{tccomicsans} \begin{document} \[ e = \lim_{t\to\infty} \left( 1 + \frac{1}{t} \right)^t = \sum_{n=0}^{\infty} \frac{1}{n!} \] \end{document}
tccomicsansパッケージのmain
オプションは「comicsansパッケージを内部で読み込んで本文のメインのフォントをComic Sans MSに変更する」という設定を行うためのものである。従って、tccomicsansをmainを付けずに読み込んだ場合はメインのフォントの設定は変更されない。この場合に「comic
というフォントファミリを利用すれば文書の一部だけComic Sans MSを適用できる」ということは前回の記事で述べたが、さらにtccomicsansパッケージでは次のユーザ命令が利用できる。
\comic
: 以降のテキストをComic Sans MSで出力する。(普通はグルーピング内で使う。)\textcomic{テキスト}
: 引数のテキストをComic Sans MSで出力する。
※main
が有効な場合もこれらの命令は提供される。
※main
が無効な場合はcomicsansパッケージは読み込まれない。従って、comicsans用のオプション指定は無効になる。
※tccomicsansパッケージの仕様では、Comic Sans MSで実際に出力する場合には必ずパッケージを読み込む必要がある。(フォントマップを有効にするため。)
\documentclass{article} % pdfLaTeX %\documentclass[dvipdfmx]{article} % dvipdfmx \usepackage[nomain]{tccomicsans} \begin{document} % 一部だけComic Sans MSにする. Hello, \textcomic{comic} {\TeX} world! \end{document}
LuaLaTeXとかXeLaTeXとか
fontspecパッケージの機能を利用してWindows付属のComic Sans MSを指定する場合は以下のようにする。
※Windows上のTeX LiveではOSにインストールされたフォントはfontspecにおいて必ずフォント名で指定できる。ファミリ名だけ書けば済むのでフォント名指定のほうが便利であろう。
% LuaLaTeX/XeLaTeX \documentclass{article} \usepackage{fontspec} % フォント名で指定する場合 \setmainfont{Comic Sans MS} % ファイル名で指定する場合 %\setmainfont{comic}[Extension=.ttf,ItalicFont=*i, % BoldFont=*bd,BoldItalicFont=*z] \begin{document} Hello, comic {\TeX} world! \end{document}
前回の記事の最後に挙げた「Comic Sans MSの指定を、テキストはfontspec、数式はcomicsansで行う」例をtccomicsansを使って書き直すと以下のようになる。
% LuaLaTeX/XeLaTeX; UTF-8 \documentclass{article} \usepackage[main]{tccomicsans} \usepackage[no-math]{fontspec} \setmainfont{Comic Sans MS} \begin{document} \section{\emph{Comic} Lua{\LaTeX}} \begin{itemize} \item \TeX-lingvo estas \emph{danĝera!} \item \TeX-язык — \emph{опасен!} \item Η γλώσσα \TeX\ είναι \emph{επικίνδυνη!} \item $\displaystyle \frac{1}{1^2} + \frac{1}{2^2} + \frac{1}{3^2} + \cdots = \frac{\pi^2}{6}$. \end{itemize} \end{document}
まとめ
イマドキのWindowsのComic Sans MSは用法・用量を守って(ry