iPhoneに元号アイコン

元号アイコン
WEBは西暦表記が多いですが書類を書いたりする際には未だ元号(年号)で記入する事が多々あります。
Siriに「今年は平成何年?」と聞いたらも答えてくれますが恥ずかしいです。
IT4コマ漫画:今って平成何年だっけ? – ITmedia ニュース
によるとそういうアプリがあるとの事ですが年号がバッジ(右上の数字)で表現されていて見た目が微妙です。
そこで、巷にあるアイコンをカスタムするアプリの方法を使って元号の書かれたアイコンを貼れないか試してみた。

まずアイコンをカスタムするのはWEBサイトのブックマークの方法の一つとして「ホーム画面に追加」というのがあり、これを選ぶとそのサイトが用意したアイコンがホーム画面に貼り付きます。
このアイコンにURLの欄に起動したいソフトのURLスキームを指定するという方法です。
(今回はアプリを起動する訳では無いのでとりあえずURLスキームは使いません。)

このWEBツールを作るに当たってGDで文字を書くようにしました。
サーバー内のフォント一覧を調べるには下記のようにfindというlinuxの検索のコマンドを使います。

find /usr/local/fonts -name "*.ttf"

phpだと下記のようなスクリプトで検出できます。

<?php 
exec('find /usr/local/fonts -name "*.ttf"', $stdout);
print implode("<br>\n",$stdout);
?>

(もしCentOSだと/usr/local/fontsを’/usr/share/fonts’とかすると見つかるかと思います。)

coreserverの場合下記のような結果になりました。
/usr/local/fonts/wadalab-gothic.ttf
/usr/local/fonts/arib____.ttf
/usr/local/fonts/helcbi__.ttf
/usr/local/fonts/heli____.ttf
/usr/local/fonts/timi____.ttf
/usr/local/fonts/helb____.ttf
/usr/local/fonts/timb____.ttf
/usr/local/fonts/helbi___.ttf
/usr/local/fonts/timbi___.ttf
/usr/local/fonts/arir____.ttf
/usr/local/fonts/helcr___.ttf
/usr/local/fonts/starmath.ttf
/usr/local/fonts/kochi-mincho.ttf
/usr/local/fonts/chvor___.ttf
/usr/local/fonts/watanabe-mincho.ttf
/usr/local/fonts/helr____.ttf
/usr/local/fonts/timr____.ttf
/usr/local/fonts/kochi-mincho-subst.ttf
/usr/local/fonts/sazanami-mincho.ttf
/usr/local/fonts/chvr____.ttf
/usr/local/fonts/kochi-gothic-subst.ttf
/usr/local/fonts/kochi-gothic.ttf
/usr/local/fonts/helcb___.ttf
/usr/local/fonts/starbats.ttf
/usr/local/fonts/cogb____.ttf
/usr/local/fonts/helci___.ttf
/usr/local/fonts/sazanami-gothic.ttf
/usr/local/fonts/cogr____.ttf

日本語は8つあります。最近よく見かけるIPAフォントは無いですが十分です。
渡部ゴシック(wadalab-gothic.ttf)
渡部明朝(watanabe-mincho.ttf)
東風ゴシック(kochi-gothic.ttf)
東風明朝(kochi-mincho.ttf)
東風ゴシック代用(kochi-gothic-subst.ttf)
東風明朝代用(kochi-mincho-subst.ttf)
さざなみゴシック(sazanami-gothic.ttf)
さざなみ明朝(sazanami-mincho.ttf)

今回は「さざなみ明朝」にしました。

プログラム的には下記のように毎年画像が生成されるようにしました。

<?php 
$Y = date("Y");

$fname = './icon'.$Y.'.png';
$gengo = '平成';
$nensu = ($Y-1988);
if (!file_exists($fname)) {
	if (!extension_loaded('gd')) {
		exit('GDモジュールが無い。');
	}
	$img = imagecreatetruecolor(256, 256);
	$font = "/usr/local/fonts/sazanami-mincho.ttf";
	$background_color = imagecolorallocate($img, 64, 64, 64);
	imagefilledrectangle($img, 0, 0, 300, 300, $background_color);
	
	$text_color = imagecolorallocate($img, 255, 255, 255);
	imagettftext($img, 66,  0, 38,  95, $text_color, $font, $gengo);
	imagettftext($img, 121, 0, 50, 240, $text_color, $font, $nensu);
	imagepng($img, $fname);
	imagedestroy($img);
}
?>

後は作った画像をapple-touch-icon-precomposedで指定して完成です。

元号アイコン

Tags: , , , , ,

トラックバック

コメントを書く