ポイントの文字に関する言語情報を返す関数を書いています。これは、事前に構成されたキャラクターにとっては簡単です。ただし、分音符号を説明したいと思います。これらは Unicode では「マーク」または「組み合わせ文字」と呼ばれていると思います (cf. plane U+0300 - U+036F)。
たとえば、文字 e に集中発音記号 (U+0306) を配置するには、次のようにします。
e C-x 8 <RET> 0306 <RET>
結果の文字で実行C-u C-x =
すると、「Composed with the following character(s) ̆」のようなものが表示されます。
残念なことに、 のような関数following-char
は基本文字、つまり "e" のみを返し、結合記号を無視します。これらを入手する方法はありますか?
編集:slitvinovは、結果のグリフが2つの文字で構成されていることを指摘しました。上記のコードで作成されたグリフの前にポイントを置き、実行の(point)
前後にポイントを実行するとforward-char
、ポイントが 2 増加することがわかりますprogn
。 )、forward-char
ポイントを 1 つ進めるだけです...defun
または で試してみてください(progn (forward-char) (point))
。これはなぜでしょうか?