Skip to content
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

Merged
merged 1 commit into from
Sep 30, 2018

Conversation

beru
Copy link
Contributor

@beru beru commented Sep 30, 2018

共通設定画面のウィンドウタブのルーラーの高さを大きくすると、ルーラー上の数字フォント(目盛り見出し?)の高さが大きくなりますが幅が広くならない為に不自然な表示になります。

100_before_32dots

LOGFONT 構造体の lfWidth メンバの値を 0 にする事で GDI 側で幅を自動的に計算してくれるのでそれを使うようにしました。

余談ですが、目盛り線の高さはルーラーの高さを変えても大きくなりません。しかしルーラーの高さに合わせて目盛り線の高さを調整すると数字とぶつかったりします(というかこのPRで横幅が広がると接触する)。個人的な意見としては、それぞれの要素の大きさを調整できるように設定項目を増やすのが良いと思います。
設定項目がむやみやたらに増えるとそれはそれで良くないので自動で良い塩梅に調整出来れば良いんですが、難しいです。

@beru beru mentioned this pull request Sep 30, 2018
11 tasks
Copy link
Contributor

@berryzplus berryzplus left a 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;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

@beru beru Sep 30, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

変更前の固定値は…ルーラーの高さを標準設定値の 13 にした時にちょうど良い横幅って事なんでしょうか?

Copy link
Contributor

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ということなのではないかと。

@beru
Copy link
Contributor Author

beru commented Sep 30, 2018

ルーラーのフォントについては、色々な問題があると思っています。
本当言うと、ルーラーのフォントって行番号みたく本文フォントに追随すべきなのかなぁ、とか。
(実はルーラーフォントはコード内にベタ書きされてるので追随は無理という。)

自分も変更しててそれ思いました。書体については気にしていませんでしたが、Ctrl 押しながらマウスホイール動かすとエディタ部分のフォントサイズ変えられますがルーラーの高さが変化しないんですよね。

設定画面での単位がドットなのでしょうがない気もしますが、単位でポイントも選べるようにして単位がポイントの場合は本文フォントサイズの変化に同期するのとかが良いんでしょうか?

@beru
Copy link
Contributor Author

beru commented Sep 30, 2018

Merge します。問題が見つかった場合は別の PR で修正する事にしましょう。

@beru beru merged commit d0e7c5d into sakura-editor:master Sep 30, 2018
@beru beru deleted the LOGFONT_lfWidth branch September 30, 2018 15:46
@m-tmatma m-tmatma added this to the next release milestone Oct 21, 2018
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 11, 2019
ルーラー上の数字フォントの幅が自動的に指定されるように LOGFONT 構造体の lfWidth メンバの値を 0 に変更
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants