В моей домашней системе Win7x64 English / Nordic эта функция работает нормально, но в рабочей системе Win10x64 Japanese она не выходит из строя, но шрифт шрифта остается неизменным.
В обеих системахон говорит «Шрифт был установлен на« Consolas ».»
В моей домашней системе, проверяя свойства окна консоли, это действительно Consolas, но в рабочей системе он выбранРастровые шрифты: SimSun-ExtB, поэтому кажется, что что-то игнорируется или передается неправильно.Понятия не имею почему.Кто-нибудь имеет опыт работы с этим?
Это код, который я использую для установки шрифта:
inline void SetFont(const std::string& font = "Consolas") {
CONSOLE_FONT_INFOEX cfi;
cfi.cbSize = sizeof(cfi);
//cfi.nFont = 0;
cfi.dwFontSize.X = 8; // Width of each character in the font
cfi.dwFontSize.Y = 16; // Height
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = FW_NORMAL;
std::wstring widestr = std::wstring(font.begin(), font.end());
std::wcscpy(cfi.FaceName, widestr.c_str());
if (SetCurrentConsoleFontEx(h_Console, FALSE, &cfi) == FALSE) {
Test("Could not set the font to '"+font+"'.");
}
else { Test("Font was set to '" + font + "'."); }
SetConsoleTextAttribute(h_Console, m_TextColorNow);
}