アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

('ω') < 転職してフロントエンド勉強中 あとFE聖戦1周クリアしてトラキアやりながらSQX待ち

不自然な濁点半濁点で「びら゙がな゙」「カ゚タ゚カ゚ナ゚」にする謎の文字

日本語なデータをばっさばっさ処理しているとき、変な文字に出くわした。

…なんじゃこりゃ?

しかもフォントやフォントサイズやその他諸々によって見た目が変わる。
↑はわたしには変形した小さい「パ」みたいに見える。ちょっと拡大すると○に小さい○?がついてる。
というかこれを再変換しようとすると「環境依存文字」の注釈が出るので、見えない場合すらありそう。

これ何かというと、濁点です。

か ゙   // 「か」+全角スペース+謎の文字
が     // 「か」のあとに謎の文字をコピペした状態
が      // ただの「が」

…2番目と3番目が同じに見える。(少なくともわたしの環境からは)
でもサクラエディタなどにコピペすると「か」と「変形した小さいパ」に見える。

まさかと思って試してみた。
いろんな文字の次に貼り付けてみる。

あ゙
ー゙
ゲ
ヶ゙
文゙字゙

ぎも゙ぢわ゙る゙い゙よ゙ぉ゙ぉ゙ぉ゙

「濁点を付けた一文字として解釈させる文字」というところでしょうか…。
そういえばそういう文字をネットで見かけたことがあるような気もする。

ところでこれをURLエンコードしてみると

%E3%82%99

になります。

前後に何があるかというと…

// %E3%82%97
゗
// %E3%82%98
゘
// %E3%82%99
゙
// %E3%82%9A
゚
// %E3%82%9B
゛

あっやっぱりなんか似たやつがある…

゚
ぱ // 「は」+謎の文字
ぱ  // ただの「ぱ」

あ゚
ー゚
ケ゚
ヶ゚
文゚字゚

う゚わ゚あ゚あ゚き゚も゚ち゚わ゚る゚い゚よ゚ぉ゚ぉ゚ぉ゚



…という遊び方をTwitterとかでやる分にはいいんですけど
なんで業務用ソフトのデータに入ってるんだろう…。
しかも「が」と「が」みたいな普通に使う文字というパターンだったので、目視で違いが分からなくて困った…
(↑も一部テキストエディタなどに貼り付ければ違いがわかるよ!)

<追記>
どうやら、Unicodeには
文字+濁点を1文字で表現する「NFC」と
濁点だけで1文字とする「NFD」があり(この謎の濁点はこっち)、
主にMac絡みで出てくるようです。

参考:
http://d.hatena.ne.jp/yohei-a/20170506/1494065661
https://qiita.com/takuyabe/items/ac13aa99306ad69743e7
http://tama-san.com/combining_character_sequence/
</追記>