reactos/win32ss/user
Hermès Bélusca-Maïto 5d3915d0fc
[CONCFG:FONT][CONSRV] Use a suitable font when changing console output CP; fail if none found. (#4337)
CORE-12451, CORE-17601, CORE-17803
Replaces PR #4281.

When changing the console output code page, check whether the current
font can support it. If not, try to find a suitable font for the new
code page. If none can be found:

- if we are creating a new console, forcefully switch to codepage 437
  (OEM USA) and retry finding a font, falling back to "Terminal" if
  none could be found;

- if we were just changing the current CP, just fail and keep the old
  code page and font.

Rework the console font selection/creation functions for this new job
(see CreateConsoleFontEx() and friends). Elements of implementation
based from https://github.com/microsoft/terminal ; see code for more
information.

Silence the noisy IsValidConsoleFont2() diagnostic messages.

Add Doxygen documentation.

[CONSOLE.CPL] Only add "Terminal" to the enumerated list of faces
+ add a TODO implementation comment.
2022-02-08 15:59:07 +01:00
..
ntuser [NTUSER] Implement NtUserNotifyIMEStatus (#4345) 2022-02-08 12:22:08 +09:00
rtl [WIN32K:NTUSER] Zero allocated memory in IntCbAllocateMemory. 2020-06-24 09:15:27 +02:00
user32 [USER32] Implement ImeWnd_OnImeSetContext (#4329) 2022-02-02 11:58:31 +09:00
winsrv [CONCFG:FONT][CONSRV] Use a suitable font when changing console output CP; fail if none found. (#4337) 2022-02-08 15:59:07 +01:00