我发现这段代码可以更改字体,但它不起作用

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 都会成功。

在此处阅读更多内容: https://github.com/microsoft/terminal/issues/258