何日か前に
ラテン語のアルファベット U+00D8,U+00F8 と空集合 U+2205 と直径記号 U+2300 の区別のつかないフォントもありますねぇ
なんてことをつぶやいたのですが、私はこういうコードポイントが指すものがなにかを調べるのに例えば Unicode Character Search を使っています。
で、まあいちいちそこから検索するのも面倒なので、U+XXXX みたいにして書かれたコードポイントが自動的にリンクになったら便利じゃないの、というわけでこういうスクリプトを書いてみました:
(function (window) { var tags = ['p','span','pre','div','blockquote','q', 'li','dd','dt','td','th','h1','h2','h3','h4','h5']; var re_tags = new RegExp(tags.join('|'), 'i'); var is_tag = function (node) { return node.nodeName.match(re_tags); }; var traverse = function (trav, node) { for (var i = 0; i < node.childNodes.length; ++i) { trav(trav, node.childNodes[i]); } if (is_tag(node) && node.childNodes.length == 1) { if (node.childNodes[0].nodeName == '#text') { var str = node.childNodes[0].nodeValue.replace( /U\+([0-9A-Fa-f]{4})/g, function (s, p1) { return '<'+'a href="http://www.fileformat.info/info/unicode/char/' + p1.toLowerCase() +'/index.htm">' + s + '</a>'; } ); node.innerHTML = str; } } }; traverse(traverse, window.document.body); })(window);
Greasemonkey から使えます。基本多言語面だけでいいよね、ということで
/U\+([0-9A-Fa-f]{4})/
とか荒っぽいことをしてます。