Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

Meiryo UIも大っきらい!! Version 3.0.0

何でこんなに時間がかかってしまったんだ?

Windows 11が出てから4ヶ月、ようやくMeiryo UIも大っきらい!! Version 3.0.0を出すことができた。システムフォント選択機能が相変わらずないWindows 11では画面の視認性をあげるのに有用なので、ちゃんと対応しておく必要があったのだが、こんなにも遅れてしまった。

ソフトの対応・検証が揃わないからWindows 11はぱっとしないんだといっておきながらこの体たらくである。

時間がかかった理由とは

Windows 11登場から4ヶ月。何をやっていたか説明する。

リリースの様子を見ていた

Windows 11でMeiryo UIも大っきらい!!が機能するのは評価版でわかっていたのだが、実環境でないと話にならない上、開発を行うメインPCのWindows 10をDSP版で手に入れており、買い足すパーツがなかったので、DSP版は使えなかった。で、リテールパッケージを待っていたのだが、出る気配がない。仕方がないので、Windows 10のリテール版ライセンスをAmazonで買って11入れたが、この時点で2ヶ月遅れとなった。

すでに機能していた

評価版の段階でバージョン番号を除いて、動くのはすでにわかっていた。というのも理由の一つである。たまにベクターのランキング見てるといつもよりランキング上がってるときあるくらいだから動いているというのも知られているようである。なので、急いで作らなくてもよいやと思ったのでペースが上がらなかったということがある。反省。

どうせバージョンアップするならば

Windows 11のバージョン番号については先行して作成したRe-Metricsで取得方法がわかっていたので、それを入れれば済んでいたのだが(GitHubだけでリリースしたVersion 2.42である)、他に要望が来ていたのと直したいところがあったのでその辺の作業もやっていた。

その結果、メジャーバージョンも変えることととなった。メジャーバージョンを変える必要が出たのは2つの作業である。

ポイント数でのフォントサイズ記録

今まではピクセル数で設定ファイルに設定を書き出していたのだが、高DPI環境では設定ファイルを読み込むとポイント数が保存したときと変わるという問題が出たので、それに対処するべく、ポイント数でフォントサイズを記録し、システムに設定するときだけピクセルに直すようにした。これにより、設定ファイルの互換性が失われることとなった。

言語ファイルのUTF-8

今までは各国の文字コードで言語ファイルを書くようにしていたが、秀丸エディタで自動判別に失敗したときの切り替えが面倒だったのと、みんなが多くのエンコーディング・文字セットを扱えるテキストエディタを持っているわけではないので、設定ファイルを最大公約数的なUTF-8にする作業も行っていた。

作業自体は案外楽である。Meiryo UIも大っきらい!!自体がUnicode(UTF-16)ベースで動いているのでBookSyncが持っているUTF-8からUTF-16に変換するルーチンをアレンジして持ってきて、言語ファイルのエンコーディングを変換するルーチンを差し替えることと、言語ファイルをUTF-8で保存することの2つだけである。

とはいえ、エンコーディングを変えたので、これも今までとは互換性がなくなってしまった。

翻訳待ち

Meiryo UIも大っきらい!!は日本以外でも使われているようで、今回は翻訳待ち期間を2週間とった。PCケース交換とか、ジャンクノートPCを使った使うときだけNASとかを作っていたのはその期間中である。

次やるときは

こういうわけでリリースが遅れてしまったのだが、セマンティックバージョニングを使うことにしたので次やるときは翻訳なしでもある程度動くようにして、翻訳が来たら最後の桁を使って判別できるようにして都度リリースできるようにしようと思う。これで翻訳待ちの時間をなくすことができる。最初の桁は今回のような互換性をなくすバージョンアップ、次の桁は機能追加、3桁目はバグ修正、4桁目に言語ファイルの追加で行こうと思う。こんな感じであってるよね。

初のバージョン3

そういえばこのソフト、自分が20年以上フリーソフトを書いてきた中で初のバージョン 3 である。Tahomaなんて大っきらい!からバージョンを引き継いだので、ちょっと反則気味ではあるが。

ちなみに、Meiryo UIも大っきらい!!の「も」と「!!」はシステムフォントツール第二期の意味でつけたのだが、今回はソフト名をいじっていない。第三期向けのちょうどよいネーミングが浮かばなかったのとすでに「Meiryo UIも大っきらい!!」「No!! Meiryo UI(海外用)」あるいは実行ファイルからnoMeiryoUIで定着していたのでもう自分一人ではいじれないところまで来たというものである。

さて

これで、Windows 11が出てからの胸のつかえは取れた。

こうしている間にも、時間は過ぎていく。実は後学も兼ねてオーバーホールしたい自作ソフトがある。次はそいつに取りかかるとするか。