Pharo で日本語の文章をインライン入力しても入力中は何も表示されない。Enter で確定するとなぜか最初の1文字だけが入力される。(たとえば、「あいうえお」+Enter と入力すると「あ」だけ表示される)
インライン入力に対応していないのは諦めるとしても、1文字しか入力されないのはとても不便である。
続きを読む →Pharo で日本語の文章をインライン入力しても入力中は何も表示されない。Enter で確定するとなぜか最初の1文字だけが入力される。(たとえば、「あいうえお」+Enter と入力すると「あ」だけ表示される)
インライン入力に対応していないのは諦めるとしても、1文字しか入力されないのはとても不便である。
続きを読む →ホスティングサーバの更新に伴い、このブログも更新しました。画像が表示されない記事があるようですが、ぼちぼちと修正していくつもりです。また、twitter との連携もやめました。
タイトル長い
前回の記事を書いた後にコメントをもらって、manifestを追加すれば良いということがわかった。manifest でアプリごとに codepage を指定して起動できるらしい。
Use UTF-8 code pages in Windows apps
Windows のシステム設定で一括変更する方法しか知らなかったので朗報。
さっそく自宅にあった mouse e10 で試してみたらちゃんと動いたので変更点を述べる。
続きを読む →酔狂で面倒な VM のビルドをしたかった訳じゃない。Pharo を使って作成したアプリを展開するのに、表記のような問題があって困るので、VMの変更で対応したいと思ったから。
Pharo VM に関して困っているのは以下の2点である。
どっちも「使わなきゃいいじゃない」レベルの話で個人ならいくらでも回避できるんだけど、アプリを展開したいと思っている先の環境なので致し方ない。
VM ソースを追っかけてみると、前者については以下が原因らしい。
後者についてはもっと根が深いみたい。→要追加調査
まずは前者に対応して見ようと思う。
(本日は休日出勤日なのでやる気なし)
(2022.8.1追記)
manifest を変更することで解決できることがわかった。後の記事を見よ。
前回の記事でビルドする手順を説明したが手抜きすぎたので、簡単なバッチファイルを作ってみた。賞味期限は非常に短いと思われるけど、cygwin のオプションをいろいろ調べたりしたので、その成果も兼ねて。
(2022.8.10追記)
もとの記事だと「FreeTypeライブラリがない」と怒られてしまったので、cygwin のパッケージにlibfreetype-devel を追加した。これに伴って link.txt の変更が不要になった。
レポジトリには簡単にできそうに書いてあったけど、ビルドできるようにするまで大変だったので備忘としてメモ。
ポイントはcmakeのバージョンをできるだけ下げること。執筆時点でCygwinにインストールされるのは 3.23.2-1 だったけど、これでは不可解なエラーが発生して cmake が失敗する。
先のレポジトリでは最低でも3.7.2と書いてあったので、選択できる一番古いバージョン(3.17.3-2)に戻したら cmake が成功するようになった。
あと、Windowsの項目では「cmake .」するように書かれているけど、Linux/Mac OSと同じように親ディレクトリから「cmake -S pharo-vm -B build」した方が、いろいろ試しやすくてよかった。
レポジトリにある便利スクリプト(scripts\installCygwin.ps1)は必要なパッケージを自動的にインストールしてくれる。実際にはそれだけでは足りずエラーになった。ビルドには更に以下のパッケージが必要だった。(どうせsetupしなおすんだったら、スクリプトに書いてあるパッケージも含めて手動で入れた方が楽かも)
libssl-devel libgit2-devel libz4-devel
パッケージを追加するたびにCygwinのsetupが cmake を最新版にしようとするので、かならず Keep を選んでおくこと。
さて、buildディレクトリでmakeすると途中でエラーになる。freetype ライブラリをリンクする際に-lz が見つからないようだ。cmake のスクリプトを書き換えれば良いのだろうが場所が特定できなかった。(後でやる)
とりあえず build/freetype-build/CMakeFiles/freetype.dir/link.txt を直接編集して、-lz の前に -L/usr/lib を追記したら最後までビルドできた。
cmake は難しい。