我想更改 Cmd 字体样式
I want to change Cmd Font Style
我想用 C - 编码更改 Cmd 字体。
但是我不知道怎么改。
我想更改基本字体 -> 终端字体。
这是我的代码
CONSOLE_FONT_INFOEX cfi;
cfi.cbSize = sizeof cfi;
cfi.nFont = 0;
cfi.dwFontSize.X = 0;
cfi.dwFontSize.Y = 16;
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = FW_NORMAL;
wcscpy_s(cfi.FaceName,9, L"Terminal");
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
我的开发环境是Windows10.
SetCurrentConsoleFontEx()
函数的问题是字体的宽度不是可选的。您必须使用与 Y 大小一致并受所选字体支持的值。
对于 Terminal
,以下应该有效:
cfi.dwFontSize.X = 12;
cfi.dwFontSize.Y = 16;
如果要检查可用的字体大小,可以枚举字体。例如,使用这个小代码:
// callback to display some infos about one font
int CALLBACK logfont(_In_ const LOGFONT *lplf,
_In_ const TEXTMETRIC *lptm,
_In_ DWORD dwType,
_In_ LPARAM lpData
)
{
wcout << L"Font " << (wchar_t*)lplf->lfFaceName << L" " << lplf->lfHeight<<L" "<<lplf->lfWidth <<endl;
return 1;
}
// this callback is then used in a statement like:
EnumFonts(GetDC((HWND)GetStdHandle(STD_OUTPUT_HANDLE)),L"Terminal", logfont, NULL);
有关已安装字体的更多深入信息,this MSDN 文章可能会让您感兴趣。
我想用 C - 编码更改 Cmd 字体。
但是我不知道怎么改。
我想更改基本字体 -> 终端字体。
这是我的代码
CONSOLE_FONT_INFOEX cfi;
cfi.cbSize = sizeof cfi;
cfi.nFont = 0;
cfi.dwFontSize.X = 0;
cfi.dwFontSize.Y = 16;
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = FW_NORMAL;
wcscpy_s(cfi.FaceName,9, L"Terminal");
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
我的开发环境是Windows10.
SetCurrentConsoleFontEx()
函数的问题是字体的宽度不是可选的。您必须使用与 Y 大小一致并受所选字体支持的值。
对于 Terminal
,以下应该有效:
cfi.dwFontSize.X = 12;
cfi.dwFontSize.Y = 16;
如果要检查可用的字体大小,可以枚举字体。例如,使用这个小代码:
// callback to display some infos about one font
int CALLBACK logfont(_In_ const LOGFONT *lplf,
_In_ const TEXTMETRIC *lptm,
_In_ DWORD dwType,
_In_ LPARAM lpData
)
{
wcout << L"Font " << (wchar_t*)lplf->lfFaceName << L" " << lplf->lfHeight<<L" "<<lplf->lfWidth <<endl;
return 1;
}
// this callback is then used in a statement like:
EnumFonts(GetDC((HWND)GetStdHandle(STD_OUTPUT_HANDLE)),L"Terminal", logfont, NULL);
有关已安装字体的更多深入信息,this MSDN 文章可能会让您感兴趣。