5

ポイントの文字に関する言語情報を返す関数を書いています。これは、事前に構成されたキャラクターにとっては簡単です。ただし、分音符号を説明したいと思います。これらは 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))。これはなぜでしょうか?

4

1 に答える 1

2

diacritic e2キャラ扱いだと思います。この組み合わせをファイルに入れました e(diacritic e)e

ĕee
(char-after 1)
(char-after 2)
(char-after 3)
(char-after 4)

それは私に与えます。

101 101 774 101

774 は 0306 の 10 進数形式です。

于 2012-07-22T16:58:27.373 に答える