-
Notifications
You must be signed in to change notification settings - Fork 168
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
CTextMetrics のテストを追加する #1545
CTextMetrics のテストを追加する #1545
Conversation
Kudos, SonarCloud Quality Gate passed! |
テスト導入後に予定しているコード整理パッチで対応します。 |
✅ Build sakura 1.0.3459 completed (commit 603510cffa by @k-kagari) |
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.
問題ないと思います。
@@ -29,6 +29,9 @@ | |||
//2007.08.25 kobake 追加 | |||
|
|||
#include <vector> | |||
#include <Windows.h> |
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.
どっちでもいいですが、Windows.hはvectorよりも前な気がします。
ヘッダー内インクルードの優先順
- osのインクルードファイル(Windows.hが最優先)
- C言語ランタイムのヘッダーファイル(<>でインクルードするもののうち、.hが付くもの)
- C++ヘッダー(<>でインクルードするもの)
- サクラエディタ独自のヘッダー
実は誰も気にしとらんかもしれないです・・・。
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.
個人的には標準ライブラリ→他ライブラリ→プラットフォーム依存ライブラリ→プロジェクト内ファイルのつもりで書いていました。
.hとC++ヘッダーに優先順を付けるか?の違いなのかな、と。
細かいところは、なんとなくまんべんなくコードを動かせるようになってから対応したいなぁ、と思っています。
@@ -128,7 +134,6 @@ class CTextMetrics{ | |||
int m_nDxBasis; //!< 半角文字の文字間隔 (横幅+α) | |||
int m_nDyBasis; //!< 半角文字の行間隔 (縦幅+α) | |||
int m_anHankakuDx[64]; //!< 半角用文字間隔配列 | |||
int m_anZenkakuDx[64]; //!< 全角用文字間隔配列 |
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.
全要素に同じ値が入る無意味な配列ですが、
ExtTextOut の引数として使用している例があるため存置しています。最終形からは削除予定です。
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.
生GDI ExtTextOutの引数にするのであれば、
この配列にはデバイス単位の文字幅(px)を入れる仕様のはずで、
等幅フォントの半角幅なら全部同じでよいっす。
プロポーショナルフォント対応や結合文字の考慮を始めるとゼロとか入ってくる感じです。
protected: | ||
CTextMetricsWithGDI() { | ||
lf1.lfCharSet = DEFAULT_CHARSET; | ||
std::wcscpy(lf1.lfFaceName, L"MS Gothic"); |
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.
std::wcscpy(lf1.lfFaceName, L"MS Gothic"); | |
::wcscpy_s(lf1.lfFaceName, L"MS Gothic"); |
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.
次回からはセキュア版関数にしておきます…。
レビューありがとうございました。 |
PR の目的
CTextMetrics の自動テストを追加します。
カテゴリ
PR のメリット
コードカバレッジが向上します。
PR のデメリット
今回はないと思います。
PR の影響範囲
既存コードの動作を変更するものではありません。