ご利用前に必ずお読みください
> 補足します。 > タイ語ではなく Unicode 仕様の話です。 > > SARA AM ำ U+0E33 は、Mn (Nonspacing_Mark) ではなく > Lo (Letter_Other) に分類されていますが、 > 互換性分解 <compat> は 0E4D 0E32 です。 > U+0E4D は Mn で結合文字です。 > > Lo に分類されているのは、これは結合文字(Mn)と通常文字(Lo)の > Glyph insertion で、文字幅があり、カーニングの対象となり、 > 文字の配置を文字ごとを分離してもできる文字だからです。 > > グリフ配置が可能なソフトでは、前の文字の「丸」をどの高さ > に置くかは、前の文字の線の高さと、他の記号の存在により > 調整されることが想定されています。 > > 結合文字と違ってもともとが2文字なので、そのうちの前の文字 > が文字幅ゼロであっても、次の文字には文字幅があります。 > でも同時に The Grapheme Cluster Break は SpacingMark であり、 > 結合文字と同様に、直前の文字とは分離できないのです。 > > 結合文字の前後が逆なので文字の構成は異なりますが…、 > 互換性分解 <compat> の例には ゛ U+309B ゜ U+309C があって、 > 空白と U+3099 や空白と U+309A を「結合したのと同じ」通常文字 > になります。 > > -------------------- > 【UnicodeData.txt】 > -------------------- > 0E33;THAI CHARACTER SARA AM;Lo;0;L;<compat> 0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;; > > 0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;; > 0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;;;; > -------------------- > 互換性分解 <compat> の例 > -------------------- > 309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON;<compat> 0020 3099;;;;N;;;;; > 309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON;<compat> 0020 309A;;;;N;;;;; > -------------------- > > > 文字要素の区切り位置で、この文字の直前では区切れない > SpacingMark はほとんどが、結合文字 Mc (SpacingMark) ですが、 > 2 文字だけ Lo (Letter other) があります。 > U+0E33 と U+0EB3 です。 > -------------------- > 【GraphemeBreakProperty.txt】 > -------------------- > … > 0E33 ; SpacingMark # Lo THAI CHARACTER SARA AM > 0EB3 ; SpacingMark # Lo LAO VOWEL SIGN AM > 0F3E..0F3F ; SpacingMark # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES > 0F7F ; SpacingMark # Mc TIBETAN SIGN RNAM BCAD > 1031 ; SpacingMark # Mc MYANMAR VOWEL SIGN E > 103B..103C ; SpacingMark # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA > 1056..1057 ; SpacingMark # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR > 1084 ; SpacingMark # Mc MYANMAR VOWEL SIGN SHAN E > 17B6 ; SpacingMark # Mc KHMER VOWEL SIGN AA > 17BE..17C5 ; SpacingMark # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU > 17C7..17C8 ; SpacingMark # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU > … > -------------------- > > もうひとつの Lo U+0EB3 も U+0E33 と同じ構成です > -------------------- > 【UnicodeData.txt】 > -------------------- > 0EB3;LAO VOWEL SIGN AM;Lo;0;L;<compat> 0ECD 0EB2;;;;N;;;;; > > 0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; > 0ECD;LAO NIGGAHITA;Mn;0;NSM;;;;;N;;;;; > -------------------- > > 結論として U+0E33 は…、 > 結合文字としても扱えるけれど、注意が必要、となります。 > > 文字幅がゼロになることはないので、結合文字の処理と全く同じ > にはならないはずですが、「2文字の前の部分が結合文字」と > いうことが特殊なのです。 > > 前の文字によっては結合しない、という文字ではありません。 > > 参考に… > https://github.com/orling/grapheme-splitter/issues/9
マークダウンを有効にする
テキストエディター「Mery」ベータ版 v3.8.6 を公開
ヨーグルトメーカーで作った R-1 ヨーグルトで強さを引き出してみた
テキストエディター「Mery」の配色テーマ集
知っておくと便利なテキストエディター「Mery」の 10 個の小技
テキストエディター「Mery」ベータ版 Ver 2.6.9 を公開、自動保存機能、バックアップ機能を搭載
トモダチコレクション わくわく生活 -Switch
リズム天国 ミラクルスターズ -Switch
パワフルプロ野球2026-2027 -Switch
ニンテンドープリペイド番号 9000円|オンラインコード版
ニンテンドープリペイド番号 5000円|オンラインコード版
Dジェネシス ダンジョンが出来て3年 11
異世界のんびり農家 21
お気楽領主の楽しい領地防衛 10 ~生産系魔術で名もなき村を最強の城塞都市…
ようこそ実力至上主義の教室へ 3年生編4 (MF文庫J)
サイレント・ウィッチ XII 沈黙の魔女の隠しごと (カドカワBOOKS)