c++ - 我找到了这段代码来更改字体,但它不起作用
问题描述
我刚刚找到了更改控制台字体和大小的答案。但它没有用:字体保持不变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() 的调用都会返回成功。
在此处阅读更多信息: https ://github.com/microsoft/terminal/issues/258
推荐阅读
- visual-studio - VS 2015 如何轻松让属性窗口回到“类”?
- html - Figma svg 导出问题
- python - 数据流作业图为空
- browser - 将 SMB 文件从 Web 应用程序拖到本地应用程序,而不是通过下载,而是像文件浏览器一样?
- python - 重构两个 JSON 文件之间的 Python jsondiff 对称差异格式
- python - tkinter 中的动画
- javascript - Muuri 接收事件未触发
- vue.js - 使用 web 组件测试 vue
- flutter - 我正在尝试将这些代码行转换为不可为空的语句
- antd - Antd Menu.Item 中的副标题或子元素