文字列をびっくり吹き出しで覆うMyScripts

最近、twitterで見る
_人人人人人人人人_
> な、なんだってー <
 ̄^Y^Y^Y^Y^Y^Y^Y ̄
……を作るスクリプト
→はてダでは直接リンクを作れないようなので、登録用ページは別に置く。
https://dl.dropbox.com/u/619569/20121031/link.html



ソース

convBikkuri(CLIPBOARD);

function convBikkuri(value) {
	value = value.replace(/\n$/, "").replace(/\r$/, "");
	var result = "";
	result += "_" + repeatChar("人", getLenZen(value)) + "_\n";
	result += "> " + value                       + " <\n";
	result += " ̄" + repeatChar("^Y", getLenZen(value)/1.15) + " ̄\n";
	return result;
}

function repeatChar(char, count) {
	var result = "";
	for(var i=0; i<Math.floor(count+0.5); i++) { result += char; }
	return result;
}

function getLenZen(str) {
	var lenZen = 0;
	for (var i=0; i<str.length; i++) {
		var c = str.charCodeAt(i);
		lenZen += ((c < 256 || (c >= 0xff61 && c <= 0xff9f)) ? 0.5 : 1);
	}
	return lenZen;
}