職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

文字情報分析のMacアプリ CharViewer リリース!

f:id:t_motooka:20190826084402p:plain

文字の Unicode Code Point や UTF-8バイトシーケンス、簡単な説明、といった情報を手軽に調査して表示してくれるMacアプリ「CharViewer」をリリースしました!
Mac App Store で入手

画面はこんな感じです。
f:id:t_motooka:20190826084312p:plain
これまでに何度か、開発中のバージョンをtweetしていたので、見たことのある方もおられるかもしれません。

以下、この記事は、このアプリの詳細について解説しています。

どんな人にとって有用?

文字に関わる仕事や研究をするMacユーザなら、確実にこのアプリは役に立つと思います。
アプリの開発、Webアプリの運営やデバッグ、文章の校閲などなど、いろんな場面で活用して下さい。
似て非なる文字たちをも、コードポイントの方面から曝け出します。
コピペできるものであれば、制御文字だってへっちゃらです。そう、CharViewerならね😎

Unicode Code Point って何?

文字一つ一つに丁寧に心を込めて割り当てられた番号です。
詳しくはWikipediaの記事でも見ておいて下さい。

なぜ作ったの?

作者の仕事(Webアプリの運営やデバッグ)で、このようなアプリが非常に重要だったから、です。

なぜ英語なの?

この程度の英語なら日本語話者の皆さんも全然読めるかなーと思ってサボりました(i18nなんだかんだ言って面倒臭いw)

内部ではどんな動作をしているの?

入力された文字列を、Unicode Code Point ごとに区切って、1文字ずつ丁寧に調べています。
このような動作をしているからこそ、次のようなことが起こります。

  • サロゲートペアで取り扱われる文字も、人間が目で見て認識するのと同じ方法で1文字として認識します。
  • 👩‍👩‍👦 のように U+200D Zero Width Joiner で結合された絵文字は、結合前の文字(この例では 女性 + ZWJ + 女性 + ZWJ + 男児 の5文字)で認識します。
  • 文脈によって字形が変わる文字、例えばカタカナの伸ばし棒「ー」は縦書きの文章では縦になります*1が、横書きの「ー」と縦書きの「ー」との区別はつきません。これらはUnicode上は同じ文字です。

どんなバージョンの macOS で動作するの?

今回りリースしたバージョンでは Sierra(10.12)以上としています。
次のアップデート(あれば)では Mojave(10.14)以上とする予定です。Sierra / High Sierra をお使いの皆さんはそろそろアップグレードするんじゃないかな?と予期しています。

オープンソースですか?

いいえ。
しかし、将来公開することは前向きに考えています。その際はGPL系列のライセンスでの公開になるでしょう。

ストア以外での公開は無いの?

今はありません。
要望が多いようであれば公開します。
※2019.08.26 夜9時頃 追記:公開しました。アプリ紹介のページの「Download .zip file Directly」からダウンロードできます。

バグを見つけたり、素晴らしい追加機能を思いついたり、作者に感想を送ったりしたいんだけど、どうしたらいいの?

次のような方法で作者に連絡することができます。いずれにせよ、作者が見ていない可能性はありますので、その際はご容赦下さいませ。。

  • このブログ記事にコメントを残す
  • 作者のTwitterアカウントにmentionやDMを送る(万が一、ブロックしてたらゴメンねー)
  • アプリの詳細ページ(ストアからリンクあり)からリンクのあるところにメアドが書かれているので、そこにメールを送る

このアイコンはどうやって作ったの?

SVGファイルをテキストエディタで描きました。回転の角度も正確に簡単に調整できて最高ですね!

さいごに

人間と文字は切っても切れない関係にあります。
今後も文字と正しく付き合っていきましょう!

*1:表示するアプリによっては横のままですけどね😅