TeX

2009年11月1日

ucs パッケージ

boundarychar を使った場合に不具合があるかもしれない……

.pl ファイル

LGR エンコーディングにおいては » は )) で表すことができる.ただし,これはリガチャを利用している.これは grmn1000.pl などを見るとわかる.grmn1000.pl は次のように生成する(grmn1000.tfm は cbfonts に含まれている).

$ tftopl grmn1000.tfm grmn1000

これをテキストエディタで開くと次のような記述が見つかる.

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

これは8進数(Octal)で51番目にある文字(つまり「)」)に,8進数51の文字(つまり「)」)が続いたときには8進数175の文字(つまり「»」)に置き換える,ということである.

ところで,ギリシア語フォントにおいては,) あるいは » の前のアキは異なるのが普通である.フォントによってはそれぞれアキを調整したい場合がある.たとえば,「α」にそれらが続く場合にアキを調整したいとする.この場合は LIGTABLE に次のような記述を追加する.

(LABEL C a)
(KRN O 51 R 0.1)
(KRN O 175 R 0.5)
(STOP)

第2行は,8進数51の文字(「)」)が続く場合には0.1のアキ(カーニング)を挿入し,8進数175(「»」)が続く場合には0.5のアキを挿入する,ということを意味する.

これで次のような内容を含む .tex ファイルを処理する.なお,UTF-8 になるので unicode パッケージを用い,(p のつかない)latex か,uplatex で処理する.

α) α)) α»

左側の例は0.1のアキ,右側の例は0.5のアキになる.中央の例は0.5のアキとなることが期待されるが,実際は0.1のアキになる.これは,リガチャを行う前に α) のアキが決定されてしまうためである.

これを回避するためには,一貫して » を用いるか,文字コードを用い,\char'175 のようにアクセスする(コマンドで定義すればよい).

リガチャによって,「似ていない」文字に置き換えられる場合は注意が必要である.


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS