我发现这段代码可以更改字体,但它不起作用
I've found this code to change the font but it doesn't work
我刚刚找到 更改控制台字体和大小的答案。但它不起作用:字体保持在 Consolas
或更改为 Courier new
。我想使用 Lucida Sans Typewriter
.
CONSOLE_FONT_INFOEX cfi{};
cfi.cbSize = sizeof(cfi);
cfi.nFont = 0;
cfi.dwFontSize.X = 0; // Width of each character in the font
cfi.dwFontSize.Y = 19; // Height
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = FW_NORMAL;
std::wcscpy(cfi.FaceName, L"Lucida Sans Typewriter"); // Choose your font
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
这是一个尚未修复的错误。如果字体名称包含超过 16 个字符,则不会通过 API 设置它(但它在控制台中起作用)。
无论是否设置了指定字体,对 SetCurrentConsoleFontEx() 的调用 returns 都会成功。
我刚刚找到 Consolas
或更改为 Courier new
。我想使用 Lucida Sans Typewriter
.
CONSOLE_FONT_INFOEX cfi{};
cfi.cbSize = sizeof(cfi);
cfi.nFont = 0;
cfi.dwFontSize.X = 0; // Width of each character in the font
cfi.dwFontSize.Y = 19; // Height
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = FW_NORMAL;
std::wcscpy(cfi.FaceName, L"Lucida Sans Typewriter"); // Choose your font
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
这是一个尚未修复的错误。如果字体名称包含超过 16 个字符,则不会通过 API 设置它(但它在控制台中起作用)。 无论是否设置了指定字体,对 SetCurrentConsoleFontEx() 的调用 returns 都会成功。