[[TeX/Font/MakeFont]]

*TeX 用ギリシア語フォントの作成 [#me914b5f]

さまざまなアクセントの組み合わせがあるので、非常に面倒です。lcdf-typetools を使えばある程度自動化できるのでしょうが、TrueType flavoured な OpenType フォントの場合はうまくできない場合があったりします。

そんなときは自分で .tfm ファイルを書き換える必要があります。

**作業例 [#of0563c4]

-[[Alexander.otf>TeX/Font/MakeFont/Greek/Alexander]]

**.tfm の書き換え [#bdee52d8]

.tfm はバイナリなので、人間の読めるように変換します。

 $ tftopl greekfont.tfm greekfont

次のポイントに従って作業していきます。ただし、CB.enc に沿ったエンコーディングであるとします。

***注意 [#n1eace94]

.pl に書き込むときはかっこの対応やスペースの数に注意します。また、同じ文字に対する LABEL が2つ以上あるとエラーになります。(STOP) の対応にも気をつけます。

***hyphen, en dash, emdash [#ce1264be]

    (LABEL O 0)
    (LIG O 55 O 177)
    (STOP)
    (LABEL O 55)
    (LIG O 55 O 0)
    (STOP)

***アクセント等 [#sb43986c]

アクセント・気息記号・分離記号・イオタサブスクリプトについて行います。

小文字については約120個の合字(リガチャ)を定義します。

    (LABEL O 47)
    (LIG O 42 O 43)
    (LIG O 47 O 35)
    (LIG O 74 C V)
    (LIG O 76 O 136)
    (LIG C a O 210)
    (LIG C h O 240)
    (LIG C w O 270)
    (LIG C e O 350)
    (LIG C o O 354)
    (LIG C i O 320)
    (LIG C u O 324)
    . . .
    (STOP)

大文字についてはカーニングを調整します。

    . . .
    (KRN C A R -0.25)
    (KRN C E R -0.05)
    (KRN C H R -0.05)
    (KRN C I R -0.05)
    (KRN C O R -0.15)
    (KRN C U R -0.03)
    (KRN C W R -0.15)
    . . .

***ギュメ [#q1c01b10]

    (LABEL O 50)
    (LIG O 50 O 173)
    (STOP)
    (LABEL O 51)
    (LIG O 51 O 175)
    (STOP)

***アポストロフィ・コーテーション [#ad7a0765]

    (LABEL O 47)
    . . .
    (LIG O 47 O 35)
    . . .
    (STOP)
    . . .
    (LABEL O 140)
    . . .
    (LIG O 140 O 34)
    . . .
    (STOP)

***boundary char の追加 [#y4b4bb4d]

8進数で375を boundary char とします。

 (BOUNDARYCHAR O 375)

**シグマの処理 [#v868ced2]

    (LABEL C s)
    (LIG/ O 56 C c)
    (LIG/ O 54 C c)
    (LIG/ O 73 C c)
    (LIG/ O 72 C c)
    (LIG/ O 77 C c)
    (LIG/ O 41 C c)
    (LIG/ O 51 C c)
    (LIG/ O 57 C c)
    (LIG/ O 135 C c)
    (LIG/ O 375 C c)
    (LIG/ O 52 C c)
    (LIG/ O 35 C c)
    (STOP)

***見えない文字 v の処理 [#wa1a675d]

(CHARACTER C v が定義されていなければ、先に定義しておきます。

    (LABEL C v)
    (LIG C v C v)
    (LIG C A C A)
    (LIG C B C B)
    (LIG C G C G)
    (LIG C D C D)
    (LIG C E C E)
    (LIG C Z C Z)
    (LIG C H C H)
    (LIG C J C J)
    (LIG C I C I)
    (LIG C K C K)
    (LIG C L C L)
    (LIG C M C M)
    (LIG C N C N)
    (LIG C X C X)
    (LIG C O C O)
    (LIG C P C P)
    (LIG C R C R)
    (LIG C S C S)
    (LIG C T C T)
    (LIG C U C U)
    (LIG C F C F)
    (LIG C Q C Q)
    (LIG C Y C Y)
    (LIG C W C W)
    (STOP)

***stigma [#wc0cf300]

ある種のフォントでは標準で stigma を用います。

    (LABEL C s)
    . . .
    (LIG C t O 6)
    . . .
    (STOP)

stigma を使わないものもあった方が(普通は)よいので、greekfont.tfm と greekfontst.tfm の2つを作るとよいでしょう。.enc, .pfb は同じものが使えます(.tfm, .map, .fd は別に用意します)。

**他の作業 [#w80426a4]

-TeX/Font/MakeFont/FontForge

を参考にしてください。

**参考 [#ge071d97]

以上については、永田氏の s-dayroman に関する文書が大変参考になります。

-http://www.lg.fukuoka-u.ac.jp/~ynagata/latex.html#s-dayromanpdf

フォントの機構に関する一般的な解説は、ページ・エンタープライゼズ、『LaTeX2ε マクロ&クラスプログラミング基礎解説』(技術評論社、2002)、203--269 にあります。

-TeX/Font/Biblio

***s-yfont (TeX Q&A) [#u6fb1c20]
***s-yfonts (TeX Q&A) [#u6fb1c20]

-[[44269:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/44269.html]]
-[[44270:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/44270.html]]
-[[44273:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/44273.html]]
-[[44274:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/44274.html]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS