sakura
sakura copied to clipboard
OSDNより転載:等幅フォントを使用した時、1バイト文字2文字と2バイト文字1文字の文字幅が一致しない。
問題内容
以下OSDNより取り急ぎ転載。 https://osdn.net/projects/sakura-editor/forums/34071/42260/
Ver2.3からですがBIZ UDフォントを使用した時、等幅フォントなのに1バイト文字2文字と2バイト文字1文字の文字幅が一致しません。MSゴシックは一致します。 Ver2.2では一致していました。Ver2.4で修正されたかと期待したのですが、残念です。
問題のカテゴリ
- プログラムの動作上の問題
- 正式リリース版
前提知識 ⇒ UDフォント UD=Universal Design。文字を判別しやすくデザインしました、ってことらしいです。
v2.3.0 からおかしくなったってことはプロポーショナルフォント対応が原因ですね。
プロポーショナルフォント対応ってなんかおかしくね?という話題は過去 #326 で議論していました。一応、次期リリース候補に入ってるんですが、原因対処はできず終いだった認識です。
残念です。
といわれても仕方ない感じなので、次リリース(v2.4.1の次)にはなんとか含めたいと思います。
以下、ぼんやりと考えている対応案・・・。
問題の本質はたぶん、以下を混同していることだと思います。
- プロポーショナルフォントを使えるようにする。
- エディタビューをプロポーショナルフォントを表示できるように拡張する。
サクラエディタって、ちょっと昔のコンソール(=CUIクライアント)と同じで等幅フォントだけを使うように設計されているんです。だから、フォント選択ダイアログでは等幅ではないフォントを選択できないようにしていました。この制約を外すのが「プロポーショナルフォントを使えるようにする。」だと思います。ただ制約を外して「文字表示は等幅フォントを使って行う」の仕様に手を入れないと、水平方向の文字間隔がやたらと広い「微妙な表示」になってしまいます。これに対処するのが「エディタビューをプロポーショナルフォントを表示できるように拡張する。」という対処になります。後の世から見て「結果として対応がマズかったのかもね。」というのが現状です。どうしたらいいかは、ぼくらがこれから考えないといかんです。
どうしたらいいかは、ぼくらがこれから考えないといかんです。
了解です!。
https://github.com/yuru7/moralerspace (テクスチャ・ヒーリングが現在使えない) https://github.com/yuru7/udev-gothic/releases (3:5幅:現行だと日本語の間にスペースが開く。日本語が多いと気になるかも)
このようなフォントも今後は考慮する必要がありますね