ギャル文字変換Bookmarklet
概要
ギャル文字も新しい日本語表記の一つだと勝手に思っています。
「ギャル文字の方が断然読みやすいです!」ギャルの中でも少数派だとは思っていますが、
そんな方のためにWebページのコンテンツをギャル文字に変換するスクリプトを書いてみました。
変換機能はbookmarkletとして提供します。方法は閲覧中のWebページでbookmarkletを実行するだけです。
※利用は自己責任でお願いします。また何かしら問題が発生したら提供を即中止します。
Bookmarklet
ブックマーク
ギャル文字変換bookmarklet
※上のリンク先に遷移し、表示されているリンクをbookmarkしてください。
bookmarkソース
javascript:void((function(){var%20s=document.createElement('script');s.setAttribute('src','http://mobiles-proxy.appspot.com/statics/js/v1/gmbookmarklet.js');s.setAttribute('id','gmbookmark');document.body.appendChild(s)})());上のソースをそのままbookmarkに貼付けてもらっても大丈夫です。
GitHub
https://github.com/yutakikuchi/JS/tree/master/gmconv
JSに詳しい方、修正点などありましたらご指摘いただけると助かります。
マルチバイトkeyのhashテーブルを基に変換処理をしているだけです。ソースも一部blogに張っておきます。
bookmarkletから呼び出されるscript
if( !GM ) var GM = {}; if( !IE ) var IE = ( /*@cc_on!@*/0 ) ? true : false; if( !JS ) var JS = {}; (function(){ JS.util = {}; JS.util.getTagName = function( tag ) { return document.getElementsByTagName( tag ); } JS.util.$ = function( id ) { return document.getElementById( id ); } JS.util.createElem = function( elem ) { return document.createElement( elem ); } })(); var meta = JS.util.getTagName( 'meta' ); var charset = 'utf-8'; var content,chars,reg; for(var i=0; i<meta.length; i++ ){ chars = meta[i].getAttribute( 'charset' ); if( chars !== null ) { charset = chars; break; } content = meta[i].getAttribute( 'content' ); if( content !== null ) { reg = /charset=(.*?)$/gi; content.match( reg ); if( RegExp.$1 != '' && RegExp.$1 != null ) { charset = RegExp.$1; break; } } } if( charset='t' ) charset = 'utf-8'; var script = JS.util.createElem( 'script' ); //script.setAttribute( 'src', 'gmconv_' + charset.toLowerCase() + '.js' ); script.setAttribute( 'src', 'http://mobiles-proxy.appspot.com/statics/js/v1/gmconv_' + charset.toLowerCase() + '.js' ); script.setAttribute( 'charset', charset ); script.setAttribute( 'id', 'gmconv' ); document.body.appendChild( script );変換スクリプト
if( !GM ) var GM = {}; (function(){ GM.convert = function( data ) { var hash = {}; hash[ 'あ' ] = '†の'; hash[ 'ア' ] = '了'; hash[ 'い' ] = 'レヽ'; hash[ 'イ' ] = 'ィ'; hash[ 'う' ] = 'ぅ'; hash[ 'ウ' ] = '宀'; hash[ 'え' ] = 'ぇ'; (略) for( var i in hash ) { var reg = new RegExp( i, 'g' ); data = data.replace( reg, hash[i] ); } return data; } })(); var body = JS.util.getTagName( 'body' ); if( typeof( body[0].innerHTML ) !== 'undefined' ) { body[0].innerHTML = GM.convert( body[0].innerHTML ); }
対応文字
- カタカナ
- ひらがな
- 漢字(一部)
対応ブラウザ
Macのブラウザでテストをしています。以下のブラウザではほとんどのページが変換可能であることを確かめました。