#57 init_color resets console font

closed-wont-fix
None
5
2007-10-29
2007-09-04
Anonymous
No

Calling init_color() resets the console font in Windows XP.

Discussion

    • assigned_to: nobody --> wmcbrine
    • status: open --> open-accepted
     
  • Logged In: YES
    user_id=27933
    Originator: NO

    Yes it does. Unfortunately, the only way I know of to set the colors in the Win32 console is to use an undocumented call that sets both the colors and the font at the same time, along with several other attributes. And since I don't know how to get the _current_ console font (can anyone help me out there?) to pass to this call, I use the default font (and colors) as specified in the registry.

     
  • Logged In: NO

    Do this before calling WM_SETCONSOLEINFO
    console_info.FontSize.X = -1;
    console_info.FontSize.Y = -1;
    console_info.FontFamily = -1;
    console_info.FontWeight = -1;
    console_info.FaceName[0] = L'\0';

    (-1) simply means to keep the current settings. (Tested on WinXP)

    Incidentally, setting -1 to other parameters will fix the fullscreen problems as well.

     
  • Logged In: YES
    user_id=27933
    Originator: NO

    Thanks... but... no, that doesn't quite work right, either. After the first time (which was OK), I'm seeing the window set to the 4x6 raster font every time, even after exiting and restarting the command window.

     
  • Logged In: YES
    user_id=27933
    Originator: NO

    If no one has any better ideas, I'm reluctantly marking this "Won't Fix".

     
    • status: open-accepted --> closed-wont-fix