
ニアでござるよ。
はじめてリリースしたUWPアプリ「すぱこみっく! ユニバース」に続き、今回私は「アイコンフォント これくしょん」をリリースしました。
1. 本アプリを開発した理由
UWPアプリ開発で、ハンバーガーボタンや再読み込みボタンなどでアイコンフォントを使用するのですが・・・、

(※)U+E700です。
と、使用するフォントの文字コードを探すのに苦労したので、それを簡単に探せるアプリがあればと思い、開発しました。
2. 開発期間
先週の火曜日にプロトタイプを開発して、日曜日にストアでリリースされたので、期間は6日です。
ページ構成は「すぱこみっく!ユニバース」のものをそのまま活用し、GridViewはそのアプリ開発で散々試行錯誤していたから、今回は割とスムーズに開発できました。
何より今回のアプリ開発で驚いたのは、アプリをストアに提出してからわずか1時間で審査を通過したということです。ちなみに「すぱこみっく!」の時は1日半~2日でした。
3. 本アプリで工夫点
3.1. お気に入り機能
Segoe MDL2 Assetsで利用可能なアイコンフォントの数は1200個以上(レガシーなものを除いても900個以上)と非常に多いので、
ハンバーガーボタンや設定の歯車アイコンなど、よく使うアイコンフォントをお気に入りに登録し、お気に入りページから素早くアクセスできるようにしました。

GridViewの各アイテムの右下に、お気に入りへの登録・解除ができるボタンを設置し、お気に入りの登録と星マークの色を連動(お気に入りに登録している時はオレンジ色の塗りつぶし、そうでない時はグレーの枠)するようにしました。

2.2. 日本語・英語に対応、アプリの国際対応化に初チャレンジ
本アプリは日本語(ja-JP)だけでなく、英語(en-US)にも対応しており、デバイスの言語設定によって切り替わります。デフォルトは英語です。


もちろん、使い方ガイドも英語に対応しました。


なぜ国際対応化しようと思ったのかというと、本アプリを開発している時に、
という野望を思いついたので、アプリの国際対応化に初チャレンジしました。
(今春に参加したXamarinのハンズオンでAndroidアプリの勉強した時に、アプリを作った後にちょっと国際対応にして楽しんだ経験があり、いつか多言語対応のアプリを作ってみようと思っていました。)
3. 本アプリ開発で苦労したところ
それはズバリ、利用可能なアイコンフォントの文字コードを選別するのが大変でした。
Windowsアクセサリの「文字コード表」に載っているアイコンフォントの最初と最後の文字コード(U+E001~U+EF20)を確認して、その範囲内にあるアイコンフォント一覧を表示しました。

しかし、一覧の中にアイコンフォントとして割り当てられていないものが多く散在していました。

そこで、連続して割り当てられている範囲ごとに逐次コードに書き出していきました。
public class CharacterCodeRange {
public int Start { get; set; }
public int End { get; set; }
}
public class SegoeMDL2AssetsValidCodeList {
public static CharacterCodeRange[] CharacterCodesList { get; } = new CharacterCodeRange[] {
new CharacterCodeRange { Start = 0xE001, End = 0xE00C },
new CharacterCodeRange { Start = 0xE00E, End = 0xE019 },
// ...
}
}
ちなみに、CharacterCodesListの要素数を数えてみたら、194個でした(for文などを使わずに、194回も同じ文を記述するのは辛いでござる)。特にU+EC01~U+ECFFのグループが複雑でした。
実際にアイコンをレンダリングして、画像認識を利用して仕分けした方が効率いいかもしれませんね。
4. おわりに
今回は、アイコンフォント これくしょんのリリース後記を色々と書きました。
今度は、WPFで開発したロボコンタイマーをUWPに移植してみようかな。
かくなる上は、マネタイズの方法もちょっとずつ勉強してみようかな・・・。
そんなことより、プロ生勉強会のLT(もしくはSS)資料作成しよう。
[END]
コメント