- 追加された行はこの色です。
- 削除された行はこの色です。
[[TeX/Font/MakeFont]]
*TeX 用ギリシア語フォントの作成 [#me914b5f]
さまざまなアクセントの組み合わせがあるので、非常に面倒です。lcdf-typetools を使えばある程度自動化できるのでしょうが、TrueType flavoured な OpenType フォントの場合はうまくできない場合があったりします。
そんなときは自分で .tfm ファイルを書き換える必要があります。
**.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 は別に用意します)。