LaTeX: to generate TFM files for Japanese OpenType fonts in AJ1
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
pxacid.pl
pxpjcid.pl

README.md

PXacid パッケージ

LaTeX:AJ1 フォントの従属欧文の TFM 生成

Adobe-Japan1 の CID 対応の OpenType フォントの欧文部分の字形を LaTeX で 用いるために必要な一連のファイル(メトリックファイル、フォント定義 ファイル、マップファイル、等) を XeTeX を利用して自動生成するための Perl スクリプトである(使用に関しては XeTeX である必要はない)。 OT1・T1・LY1・TS1 エンコーディングに対応、また AJ1 に含まれるイタリック 字形をイタリックシェープのフォントとして使うことも可能。

前提環境

pxacid スクリプトの実行には以下のものが必要。

  • XeTeX 0.997 版以降
  • ppltotf: pTeX の配布物に含まれる
  • opl2ofm/ovp2ovf: Omega の配布物に含まれる
  • Perl (5.8.1 版以降ならOK)

スクリプトの実行で得られるフォント(TFM) は以下の DVI ウェアで使用できる。

  • dvipdfmx

インストール

一般的な Perl スクリプトに準じる。

以下の解説では、このスクリプトが pxacid のコマンド名で実行されることを 想定する。

※インストールせずに直接 perl コマンドで実行してもよい。この場合、 コマンド名の pxacidperl pxacid.pl に読み替える。

対象フォント

pxacid/pxpjcid が処理できるフォントは、Adobe-Japan1 の CID(あるいは 同等の GID)に従う OpenType フォントに限られます。

ただし、Windows(8.1/10)付属の游明朝・游ゴシックについては、(AJ1 の CID から規則的にずれた GID に従うため)--gid-offset=2 というオプション を指定することで処理できます。

ライセンス

MITライセンスの下で配布される。

pxacid.pl

使い方

コマンドライン書式は以下の通り。

pxacid [<オプション>...] <ファミリ>[/<シリーズ>] <フォントファイル名>

<ファミリ><シリーズ> は当該フォントに対応させる NFSS のファミリと シリーズの名前を指定する。シリーズの既定値は m(標準)である。

対象のフォントはフォント名(「ほげら明朝 Pr6N R」とか)ではなくファイル名 (HogeraMin-Pr6N-R.otf とか)で指定する。フォントファイルは Kpathsearch で検索可能なディレクトリに置く。(ファイル名で検索しているので「XeTeX の フォント名探索」で検出できる必要はない。)

オプションは次の通り。

  • -a/--append: 追記モード。当該のファミリのフォント定義ファイル (.fd)とマップファイル(.map)が既に(カレントディレクトリに)ある 場合は上書きせずにその中に新しい項目を追記する。

  • -b/--use-berry: TeX フォント名(TFM ファイルのベース名)に 「Berry 命名規則」(xxxri7t のような形式)を採用する。既定は「ZR 命名規則(謎)」(xxx-ri-ot1 のような形式)である。

  • -t/--tfm-family=<名前>: TeX フォント名の「ファミリ名」の部分 (前項の xxx の部分;Berry 規則の場合「ベンダ名+ファミリ名」に相当 する)の名前を指定する。この名前の既定値は引数の <ファミリ> に指定 した名前(つまり NFSS でのファミリ名)である。

  • --ligature=<値>: リガチャをどれだけ有効にするかを指定する。有効な 値は次の通り。

    • 2: 全て有効にする(既定)
    • 1: f-リガチャ以外を有効にする
    • 0: 全て無効にする
  • --min-kern=<値>: フォントに含まれるペアカーニング情報で大きさが この値(単位はデザインサイズ)未満のものを無視する。既定値は 0.01。

  • --slant=<値>: 斜体(slanted;シェープ sl)の傾斜値(TFM の SLANT 値)を指定する。斜体はこの値に基づいて機械的に変形させた字形になる。 既定値は 0.167。なお、イタリック(シェープ it)の傾斜値は自動的に推定 されるが、もしそれが失敗した場合はイタリックにもここで指定した値が 使われる。(こちらは字形には影響しない。)

  • -i/--index=<値>: OpenType Collection 形式のファイル(.ttc/.otc) を指定する場合に、対象のフォントのインデックス番号を指定する。

  • --scale: LaTeX レベルにおいて、ユーザがフォントサイズのスケール値を 指定できるようにする。pxacid が出力する簡易パッケージ pxacid-FAM(FAM はファミリ名)については、オプションにスケール値を指定できる。

    \usepackage[0.95]{pxacid-FAM}
    

    簡易パッケージを用いない場合のスケール値の指定方法を知りたい場合は、 パッケージファイル pxacid-FAM.sty の中を参照してほしい。

  • --gid-offset=<値>: TFM が参照する GID の値として、実際の AJ1 の CID に対し指定の値を加算したものを用いる。某フォントファイルを扱う ための裏技的対策。

pxacid は以下のファイルを生成する。(FAM はファミリ名)

  • FAM-*-*.tfm: TFM ファイル
  • FAM-*-*.ofm: OFM ファイル
  • FAM-*-*.vf: VF ファイル
  • pdfm-FAM.map: dvipdfmx 用のマップファイル
  • *FAM.fd: フォント定義ファイル
  • pxacid-FAM.sty: 簡易パッケージファイル
  • pxacid-test-FAM-*.tex: テスト用ファイル

参照

pxacid を用いた作業手順については以下のサイトを参照されたい。

En toi Pythmeni tes TeXnopoleos ~電脳世界の奥底にて~
PXacid パッケージ ~AJ1 フォントの従属欧文の TFM 生成~
http://zrbabbler.sp.land.to/pxacid.html

pxpjcid.pl ― おまけ

プロポーショナルな仮名文字をもつ和文 TFM を作成するプログラム、らしい。

pxpjcid [<オプション>...] <ファミリ>[/<シリーズ>] <フォントファイル名>

以下のオプションは pxacid と同様。

  • -a/--append
  • -t/--tfm-family=<名前>
  • -i/--index=<値>
  • --gid-offset=<値>

その他のオプション。

  • --scale=<値>: NFSS における和文スケール値を指定する。既定値は 0.924715。

更新履歴

  • Version 0.4.0 〈2017/08/17〉
    • T1 のリガチャ指定の間違いを修正(thanks:DoraTeX 氏)
    • --ligature オプションを新設。
  • Version 0.3.1 〈2017/04/21〉
    • munepi 氏による改修を取り入れた。
    • --scale オプションを新設。
    • --index オプションを新設(OTC ファイル対応)。
  • Version 0.3.0 〈2017/04/19〉
  • Version 0.2.4 〈2013/01/04〉
    • pxacid.pl: --gid-offset オプションを追加。
  • Version 0.2.3 〈2011/02/17〉
    • 最初の公開版

Takayuki YATO (aka. "ZR")
https://github.com/zr-tex8r