見出し画像

日本語IME「ひともじ」:32ビット版で動作した!(v0.1.6未満)

今回は、かなり威勢のいい(といっても地味だけど)話です。
ひともじの32ビット版が動作した、という報告です。

いまさら32ビット版?

はい。いまさら、です。でも、大事なんですよ。誰だって愛用しているアプリは使い続けたいです。でも、それが古いアプリだったら、32ビット版でしか提供されていない場合も多々あります。

日常的に使っているアプリが32ビットか64ビットかを気にしている人ってほとんどいないですよね?どちらにしたって、ちゃんと動いてくれれば問題ないわけですから。
逆にいえば、IME(かな漢字変換ソフト)は、32ビットアプリでも64ビットアプリでも動いてほしいですよね。

だから、32ビット版は大切だと思うのです。

まさか、ひともじを一般に配布しようと?

はい。その、まさか、です。
これだけ、ストイックなソフトを果たして使おうとする人がいるのか?というのは強い疑問がありますが、それでもUNICODEがこれだけ文字を増やしつづけると、現状のIMEではカバーしきれない領域がでてきていると思っています。

その典型が絵文字ですよね。あれを読みとかで変換できたら、自分で文字登録できたら面白いと思いませんか?

ひともじで漢字も含む、すべての文字を入力したい人はごく少数でしょう。それでいいと思ってます。でも、MS-IMEやATOKで入力しづらい、特殊記号(数学記号、楽符、天気、地図記号など)を入れるための補助手段としては、意外に有用ではないかと思うのですよね。

なので、v0.1.6が完成した時点で、github.comでのリリースを予定しています。

(余談)32ビット版と64ビット版は兼用できないのか?

x86系のCPU(Intel CoreシリーズやAMDのRyzenなど)の構造上、32ビット用アプリと64ビット用アプリはまるで別物です。単に32ビットと64ビットの動作モードを切り換えるだけでは済みません。
なので、32ビット版アプリと64ビット版アプリは兼用できません。

Windowsも内部では、32ビット用アプリと64ビット用アプリは全くちがったレイヤで動作していますが、その違いをうまく隠し、たいした違いがないように見せかけているのです。(これはこれですごい技術)

そのため、64ビットアプリから、32ビット用のDLL(プログラム形式の一つ。IMEはDLL形式のアプリです)を利用することはできず、32ビットアプリから64ビット用のDLLを利用することもできません。
実のところ、Windows内部には何百(いや、千を越えるかも)ものDLL形式のプログラムが存在しています。
その多くが64ビット用と32ビット用の2つ用意されています。全く同じ機能を持つDLLなのに、です。

ひともじでも、64ビット用のDLLと32ビット用のDLLを2つ用意し、アプリにあわせて、どちらを使うかをWindowsが決めてくれる仕組みになっています。

次は?

v0.1.6の残作業はこんなかんじです。
- インストーラの作成(各モジュールを配置する)
- アイコン表示処理
- 落ちる系のバグ修正
- Readmeなどの整備
- githubへのアーカイブの配置

「え?マジで配布するの?」「本気か?」と思う方は「スキ」「フォロー」をお願いします。


「ひともじ」の開発ストーリは以下のマガジンをご覧ください。


いいなと思ったら応援しよう!

ピックアップされています

私は“文字”を選びたい──風というIMEを語る」

  • 29本

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
セミナーなどを通して皆さんが楽しく笑顔でITを利用いただくことを目指しています。 難しいセキュリティ技術をやさしく語ります。 本Noteはメルマガ「がんばりすぎないセキュリティ」からの転載です。 公式サイトは https://www.egao-it.com/ です。
日本語IME「ひともじ」:32ビット版で動作した!(v0.1.6未満)|えがおIT研究所
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1