チケット #1179 (new 不具合)
フォントMonacoにて→←↑↓の文字の表示の大きさが違う
報告者: | daisuke | 担当者: | daisuke |
---|---|---|---|
優先度: | 中 | マイルストーン: | 3.9b3 |
コンポーネント: | アプリケーション | バージョン: | |
キーワード: | 関係者: |
説明 (最終更新者: daisuke) (diff)
miで特に制御しておらず、原因不明。OSによるものである可能性?
バージョン2.1, 3.0両方で発生する。
font fallbackを設定することで治るかも?
CWindowImp::GetNSFont()にcascade listを設定する?
font fallback参考:
https://stackoverflow.com/questions/29069362/how-does-apples-text-rendering-draw-a-glyph-that-a-font-doesnt-have
https://stackoverflow.com/questions/29069362/how-does-apples-text-rendering-draw-a-glyph-that-a-font-doesnt-have
CTFont=NSFont
http://ethyreal.com/ios/fonts/working-with-ctfont/
fixedAdvance?
https://developer.apple.com/documentation/appkit/nsfontdescriptor/attributename/1469924-fixedadvance
monospacedSystemFont()の説明にて、「ラテン文字とソースコードでよく見られる記号のための等幅グリフを含んでいます。その他の記号のグリフは通常、等幅のキャラクタよりも幅が広いか狭いです。フォントがすべての文字に対して固定間隔を使用するようにするには、レンダリングするすべての文字列に fixedAdvance 属性を適用してください。」との記述。
https://developer.apple.com/documentation/appkit/nsfont/3042659-monospacedsystemfont
現在(macOS 12.1)では、この問題自体は一応解決している。(→←↑↓は半角サイズだが、大きさが違うということはない)
ただ、font fallbackを指定できるようにするのは良さそうなので、モード設定の詳細タブに、「font fallbackを指定」「fallback font」の設定を追加することにする。
#1649
また、横文字列多い時の処理速度改善に、fixedAdvanceを使う。
#1542
フォント:Monaco(fixedAdvance: 9)、fallback font:ヒラギノ(fixedAdvance: 18)などにすれば、
半角等幅に好きな半角等幅フォントを使い、かつ、全角部分も幅がくずれない、というのが実現できそう。
→検討