PFonts Cyrillic LaTeX fonts package

CyrTeX-ru で PFonts の話題が上がっていた。キリル・ポストスクリプトフォントとしては PSCyr が有名であるが,「PSCyr はフリーでないし,品質がちょっと」という意見とともに,PFonts が紹介されていた。PFonts はフリー,かつ 16 種類のファミリ(書体)を揃えている。私も早速インストールして試してみた。

インストールは,http://narod.ru/disk/12251041001/PFonts.7z.html から PFonts.7z を落として来て,p7zip で解凍し,TeX ツリーにコピーし,マップ登録すればよい。ダウンロード後のオペレーションは以下の通り。

% mkdir -p PFonts
% 7za x -oPFonts ~/Downloads/PFonts.7z
% cd PFonts
% su -m
# setenv TEXDIR /usr/local/texlive/texmf-local
# tar cf - . | ( cd $TEXDIR; tar xvf - )
# mktexlsr
# updmap-sys --enable Map=pfonts.map

サンプル文書 (pfonts-test.tex) を以下に掲げておく。\usepackage[scale=スケール]{AcademyP} というような行が各書体の指定である。このマクロのなかで \rmdefault, \sfdefault, \ttdefault を再定義することにより書体が選択される仕組みである。複数の書体を切替えて使う場合,サンプルにあるとおり,\fontfamily{ファミリ名}\selectfont とする。書体に対応するファミリ名はサンプル文書に記してある。

% -*- coding: utf-8 -*-
% PFonts test sample, coded by Isao Yasuda, May 10, 2011. 
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A,T1]{fontenc}
\usepackage[russian]{babel}
\usepackage[scaled=1.00]{AcademyP}%
\usepackage[scaled=1.00]{BalticaP}%
\usepackage[scaled=1.00]{BodoniP}%
\usepackage[scaled=1.00]{CooperP}%
\usepackage[scaled=1.00]{CourierP}%
\usepackage[scaled=1.00]{JournalP}%
\usepackage[scaled=1.00]{JournalSansP}%
\usepackage[scaled=1.00]{LazurskiP}%
\usepackage[scaled=1.00]{LetterGothicP}%
\usepackage[scaled=1.00]{LiteraturnayaP}%
\usepackage[scaled=1.00]{NewStandardP}%
\usepackage[scaled=1.00]{NewtonP}%
\usepackage[scaled=1.00]{PetersburgP}%
\usepackage[scaled=1.00]{PragmaticaP}%
\usepackage[scaled=1.00]{QuantAntiquaP}%
\usepackage[scaled=1.00]{TextbookP}%
\renewcommand{\rmdefault}{tdy}%
\def\sample{%
Прежде всего откроем тайну которую Мастер не пожелал
открыть Иванушке.
Возлюбленную его звали Маргаритою Николаевной.
Все, что Мастер говорил о ней, было сущей правдой.
Он описал свою возлюбленную верно.
Она была красива и умна.}%
\long\def\chfam#1#2{%
  \vspace{11pt}%
  \bgroup\fontfamily{#1}\selectfont#2\par\sample\par\egroup}%
\pagestyle{empty}
\begin{document}
 
\begin{center}
\LARGE PFonts test
\end{center}
 
Font-name: Type Family-name;\qquad
Text: \textit{М. А. Булгаков} <<Мастер и Маргарита>>.
 
\chfam{tdy}{Academy: rm tdy}
\chfam{tl5}{Baltica: rm tl5}
\chfam{tbd}{Bodoni: rm tbd}
\chfam{tcb}{Cooper: sf tcb}
\chfam{tco}{Courier: tt tco}
\chfam{tjr}{Journal: rm tjr}
\chfam{tjs}{JournalSans: sf tjs}
\chfam{tla}{Lazurski: rm tla}
\chfam{tlg}{LetterGothic: tt tlg}
\chfam{tln}{Literaturnaya: rm tln}
\chfam{tns}{NewStandard: rm tns}
\chfam{tnw}{Newton: rm tnw}
\chfam{tp7}{Petersburg: rm tp7}
\chfam{tpg}{Pragmatica: sf tpg}
\chfam{tqa}{QuantAntiqua: rm tqa}
\chfam{ttx}{Textbook: sf ttx}
 
\end{document}

pdflatex による処理結果(一部)は次のようなものである。処理結果 PDF (pfonts-test.pdf) もリンクしておくので参照いただきたい。

20110509-pfonts.png

PFonts は T2A, T1, TS1 フォントエンコーディングしかサポートしていない。PSCyr-0.4-beta は一部フォントについて T2D をサポートしているのと比べると残念である。PFonts のポストスクリプトフォントのグリフ一覧を fontforge で確認すると ѣ Ѳ Ѵ のグリフがきちんと揃っているのに,LaTeX PFonts では使えないわけで,これはもったいない。CyrTeX-ru で作者に T2D サポートの要望を出しておいた。