文字の情報を調べるためのブックマークレット サロゲートペア対応版

サロゲートペアは大事

元ネタ:文字の情報を調べるためのブックマークレット - IT戦記

サロゲートペアには非対応です><

文字の情報を調べるためのブックマークレット - IT戦記

おや、これでは音楽記号も算籌も麻雀牌もドミノ牌も線文字Bヒエログリフ楔形文字フェニキア文字もチュノムも則天文字も調べられない!!

サロゲートペアとは何ぞ

サロゲートペア入門:CodeZine(コードジン)
UTF-16を使うJavaScriptでは扱いが難しくなるから、文字単位で処理しようとする時につまずく。Unicodeには他にも《結合文字の並び》という落とし穴があるけどね。

ブックマークレット サロゲートペア対応版
javascript:location.href = 'http://www.fileformat.info/info/unicode/char/' + (function(r){ var n = r.startContainer; var p = r.startOffset; var u = (n.nodeType == 3) ? n.nodeValue.substr(p,2) : n.childNodes[p].textContent.substr(0,2); var v = u.charCodeAt(0); return 0xD800 <= v && v <= 0xDB7F ? ((v & 0x3FF) << 10 | u.charCodeAt(1) & 0x3FF) + 0x10000 : v; })(getSelection().getRangeAt(0)).toString(16) + '/index.htm'; void(0);
テスト用

𠀋𠂤𠮟𠹤𠹭𠺕𡧃 JIS第三・第四水準の漢字もある。
𠮷野屋
🀀🀁🀂🀃 麻雀牌
🁣🀲🁢 ドミノ牌
𝄞 ト音記号
𒁧𒂶𒆙 楔形文字
𫙹 Unicode 5.2.0で追加された。まだ対応してない。 u2b679 - GlyphWiki なんだかとっても!いいかんじ 歌詞(WebFont使用ページにつき注意)

まとめ
  • fileformat.infoには画像が用意されていない文字もある。
  • JavaScriptの文字列がもうすこし扱いやすければいいのに。