梵字鏡フォントをLaTeXで利用

TeXでの利用について

ここでは梵字鏡湧出窓の梵字フォントをTeXで利用しPDFにするための設定を紹介します。
このページの成果は「LaTeXを使ってみよう」ページで試すことができます。

準備

マクロ形式の出力をTeXで利用するには文字鏡研究会が提供しているスタイルファイルTFMフォントが必要です。現在文字鏡研究会ではダウンロード中止中ですのでアーカイヴされているサイトから入手、インストールしてください。環境設定や使用法についてはWindowsMacなどを参照してください。

mapファイル

上記ファイル群は最新の今昔文字鏡や梵字鏡には完全には対応されていません。しかし、mapファイルで以下のようにtruetypeフォントを直接指定すれば新しいフォントが使えます。

これをファイルに記述し、updmapを使って設定できます。例えば上記を記したファイル名がbonji.mapなら、まずこれを漢字ファイルとして登録するために、管理者権限で

でbonji.mapがupdmap.cfgに登録され、bonji.mapの内容がシステムのkanjix.mapに追記されます。管理者権限を持てない人は

で、たぶんユーザーディレクトリ下のkanjix.mapにbonji.mapの内容が追記されます。これで梵字フォントが使える様になりました。違っていたらここのコメント欄で指摘してください。

使用法

上記の設定の元、ソースfoo.texの中で

すれば以前と変わりなく使用出来ます。コンパイルは

です。

uptexでの使用

uptexは内部コードをUnicode化するなどアスキーpTeXを拡張したものとなっています。詳しくは開発元のttkさんZRさんの解説を参照。内部Unicode化によってソースファイルに文字として表示出来る漢字が大幅に増えます。たくさんの漢字を直に入力できるので、経典等を編集するには非常にありがたい拡張です。

変更点

スタイルファイル

mojikyoTeXをuptexでも使えるようにするにはスタイルファイルを変更する必要があります。変更するファイルは

です。これらのファイルはおそらく

あたりにインストールされていることでしょう。これらの中のJT1とJY1をすべてJT2とJY2に置き換えます。

元のものと区別するためにファイル名も変えておきましょう。私は

としました。.fdファイルの中のファイル名を表す部分のjt1、jy1もjt2、jy2に変えます。

TFMファイル

Unicodeに対応させるTFMファイルは単に元のファイルをコピーするだけです。とりあえず梵字だけでいいので

にある

という名前で複製します。

mapファイル

つぎにmapファイルもUnicodeに対応させるべく以下を追加します。

使用するcmapファイルは恐らくUniJISで始まるものならば使えるのではないでしょうか。とりあえず最初に試したものでうまくいったのでここに記しておきます。

使用法

上記の設定の下、UTF-8で書いたソースfoo.texの中で

コンパイルは

です。

梵字変換スタイルファイル siddham.sty

これはKyoto-Harvard方式のローマ字コマンドを梵字に対応させるマクロ集です。
これをプリアンプルでusepackageすると
\oM\va\jra\dhA\tu\vaMなどと書くだけで梵字に変換できます。

  • 1文字1マクロになっています。公開物は、よく使うと思われるもの以外はコメントになっています。もし変換できないときはsiddham.styの中の相当する行のコメントを外してください。
  • ローマ字表記したときTeXの予約語と重複する字は最後にYをつけるようにしました。
    例)\mu→\muY。
  • 母音単体を表すのに母音に続いてQをつける。
    例)\a→\aQ、\R→\RQ
  • 同音異体字の割当法はまだ固まってないですが、梵字のローマ字表記に使用しないf,q等を利用しています。もっとうまいやり方があれば教えてください。
    例)\Naの異体字→\Nfa、\Nqa
  • 仰月点を表すのにCを使う。例)\vaMC
  • 刷毛字体を表すのにBを使う。例)\aB、\naB
  • 梵字鏡に含まれてない字はgraphicxパッケージを利用して合成しました。ただし、縦書き用のみ。したがって、graphicx.styが必要です。

  • 梵字鏡フォントは全角漢字と並べたとき若干小さめに作られているので1サイズ拡大しています。
  • 不具合要望等ありましたらここのコメント欄へ

サンプル

行法次第サンプル

不具合報告、質問等

ここのコメント欄へお願いします。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*