-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ルーラー上の数字フォントの幅が自動的に指定されるように LOGFONT 構造体の lfWidth メンバの値を 0 に変更 #505
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTMです。
一応動かしてみました。共通設定でルーラー高さを高くして横幅が調整されることを確認しました。
ルーラーのフォントについては、色々な問題があると思っています。
本当言うと、ルーラーのフォントって行番号みたく本文フォントに追随すべきなのかなぁ、とか。
(実はルーラーフォントはコード内にベタ書きされてるので追随は無理という。)
気になったとこを変える、で少しずつよくしていけたらいいな、と思っとります。
@@ -92,7 +92,7 @@ void CRuler::DrawRulerBg(CGraphics& gr) | |||
HFONT hFontOld; | |||
memset_raw( &lf, 0, sizeof(lf) ); | |||
lf.lfHeight = 1 - pCommon->m_sWindow.m_nRulerHeight; // 2002/05/13 ai | |||
lf.lfWidth = 5; | |||
lf.lfWidth = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
変更前の固定値は…ルーラーの高さを標準設定値の 13 にした時にちょうど良い横幅って事なんでしょうか?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
変更前の挙動を見た感じ、
ルーラーの1目盛に収まるサイズを意識していたんではないかと思います。
標準フォントMS ゴシック 9ptの半角文字の幅は96dpiで6pxなので、
目盛線の太さ分1pxを引いて5pxということなのではないかと。
自分も変更しててそれ思いました。書体については気にしていませんでしたが、Ctrl 押しながらマウスホイール動かすとエディタ部分のフォントサイズ変えられますがルーラーの高さが変化しないんですよね。 設定画面での単位がドットなのでしょうがない気もしますが、単位でポイントも選べるようにして単位がポイントの場合は本文フォントサイズの変化に同期するのとかが良いんでしょうか? |
Merge します。問題が見つかった場合は別の PR で修正する事にしましょう。 |
ルーラー上の数字フォントの幅が自動的に指定されるように LOGFONT 構造体の lfWidth メンバの値を 0 に変更
共通設定画面のウィンドウタブのルーラーの高さを大きくすると、ルーラー上の数字フォント(目盛り見出し?)の高さが大きくなりますが幅が広くならない為に不自然な表示になります。
LOGFONT 構造体の lfWidth メンバの値を 0 にする事で GDI 側で幅を自動的に計算してくれるのでそれを使うようにしました。
余談ですが、目盛り線の高さはルーラーの高さを変えても大きくなりません。しかしルーラーの高さに合わせて目盛り線の高さを調整すると数字とぶつかったりします(というかこのPRで横幅が広がると接触する)。個人的な意見としては、それぞれの要素の大きさを調整できるように設定項目を増やすのが良いと思います。
設定項目がむやみやたらに増えるとそれはそれで良くないので自動で良い塩梅に調整出来れば良いんですが、難しいです。