FormattedTextクラスのBaseline/Extent/OverhangAfter/OverhangLeading/OverhangTrailingプロパティが描画テキストのどの部分の値なのかわかりにくかったので、確認できるサンプルアプリケーションを作成しました。


チェックボックスにチェックを入れると、該当するプロパティが示している値を表示します。
チェックボックスのチェックを切り替えて、各プロパティの関係を確認できます。
詳細はソースコードを見るとわかると思います。
FormattedTextクラスのBaseline/Extent/OverhangAfter/OverhangLeading/OverhangTrailingプロパティが描画テキストのどの部分の値なのかわかりにくかったので、確認できるサンプルアプリケーションを作成しました。


チェックボックスにチェックを入れると、該当するプロパティが示している値を表示します。
チェックボックスのチェックを切り替えて、各プロパティの関係を確認できます。
詳細はソースコードを見るとわかると思います。
プログラミングに最適なフォントFiraCodeをWindowで使うには
FiraCodeは、プログラミングに最適なフォントです。
「0(数字のゼロ)」と「O(アルファベットのオー)」のようなよく似た文字が見分けやすくなっています。

1行目は、0 O D
2行目は、1 l I
3行目は、2 Z
4行目は、8 B
です。
プログラミングでよく使われる記号、たとえば「==」「!=」「<=」「->」などもを見やすく表示します。

「!==」「=>」「==」が見やすくなっています。

インストールボタンを押すとインストールが始まります。

1と2の作業をすべてのフォントに対して行います。
以上でインストール完了です。
次の行を追加します。
// フォント ファミリを制御します。
"editor.fontFamily": "Fira Code",
// フォントの合字を使用します
"editor.fontLigatures": true,
以上で、FiraCodeが利用できるようになりました。

「環境」→「フォントおよび色」を選択し、フォントを「Fira Code」にします。

以上で、FiraCodeが利用できるようになりました。
WPFのコントロール上のマウスカーソルを変更するには、QueryCursorイベントを使用します。
mShape.QueryCursor += ShapeQueryCursor;
マウスカーソルがコントロール上に移動すると、QueryCursorイベントが発生します。
引数QueryCursorEventArgsのCursorプロパティに表示するマウスカーソルを設定します。
private void ShapeQueryCursor(object sender, QueryCursorEventArgs e)
{
e.Cursor = Cursors.Cross;
e.Handled = true;
}
標準のマウスカーソルを使用する場合は、Cursorプロパティを設定しません。
private void ShapeQueryCursor(object sender, QueryCursorEventArgs e)
{
if (...)
{
e.Cursor = Cursors.Cross;
}
else
{
// 設定しない場合は標準のマウスカーソル
}
e.Handled = true;
}
なお、QueryCursorEventArgsのCursorプロパティにnullを設定した場合、Cursorプロパティの値はCursors.Noneになり、マウスカーソルは表示されません。
メニューの「ファイル」→「基本設定」→「設定」を選択と設定が表示される。
左側が既定の設定、右側に変更する設定を挿入する。
80文字目と120文字目にルーラーを表示する
// 垂直ルーラーを表示する列
"editor.rulers": [80, 120],
// エディターで空白文字を表示する方法を制御します。'none'、'boundary' および 'all' が使用可能です。'boundary' オプションでは、単語間の単一スペースは表示されません。
"editor.renderWhitespace": "boundary",
// 有効な場合、ファイルを開くときに文字セット エンコードを推測します
"files.autoGuessEncoding": true,
// 既定の改行文字。LF の場合には \n を CRLF の場合には \r\n を使用してください。
"files.eol": "\r\n",
// 有効にすると、ファイルの保存時に末尾の空白をトリミングします。
"files.trimTrailingWhitespace": true,
// 有効にすると、ファイルの保存時に最新の行を末尾に挿入します。
"files.insertFinalNewline": true,
// Windows でターミナルが使用するシェルのパス。 Windows に同梱されているシェルを使用する場合 (cmd、PowerShell、または Bash on Ubuntu) 。
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe",