Skip to content

zr-tex8r/PXacid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 のような形式)である。

  • --use-long: TeX フォント名に「長い命名規則」を採用する。 (xxx-Regular-Italic-OT1 のような形式)

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

  • --tfm-weight=<名前>: TeX フォント名の「ウェイト名」の部分(前項の r の部分)の名前を指定する。ウェイト名の既定値は NFSS のシリーズ名 から導出される。(例えば、ZR 規則でシリーズが eb なら x。)

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

  • -s/--save-source: 出力の TFM/VF ファイルの変換元として一時的に 作られる PL・VPL ファイルを削除しない。

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

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

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

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

    \usepackage[0.95]{pxacid-FAM}
    

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

  • --no-italic: イタリックのシェープをサポートしない。
    ※フォントがイタリックのグリフ(ital 属性)をサポートしていない場合 は自動的に有効になる。

  • --avoid-notdef: notdef グリフと同じ縦横幅をもつグリフを実質的に notdef と見なして、当該の CID のグリフは欠落していると見なす。

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

  • --gid-max=<値>: TFM を使う場合に、指定の値を超える GID をもつ グリフを無視する。「途中までしか CID と対応しない」場合の対策。

  • --adjust-accent=<値>: アクセント文字のグリフがゼロ幅になっている 場合に、指定の値(全角単位)をもつものとして処理する。

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
  • --use-long
  • -t/--tfm-family=<名前>
  • --tfm-weight=<名前>
  • -i/--index=<値>
  • -s/--save-source
  • --avoid-notdef
  • --gid-offset=<値>

その他のオプション。

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

更新履歴

  • Version 0.7.0 〈2021/01/21〉
    • --adjust-accent オプションを新設。
    • --gid-max オプションを新設。
  • Version 0.6.0 〈2020/06/21〉
    • --use-long オプションを新設。
    • --tfm-weight オプションを新設。
  • Version 0.5.0 〈2020/06/20〉
    • --noitalic オプションを新設。
    • --avoid-notdef オプションを新設。
    • --debug オプションを新設。
  • Version 0.4.1 〈2020/06/19〉
    • フォントウェイト(NFSS シリーズ)の取扱を改良。
  • 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

About

LaTeX: to generate TFM files for Japanese OpenType fonts in AJ1

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages