installed pty
[VSoRC/.git] / node_modules / node-pty / deps / winpty / misc / Font-Report-June2016 / Windows10SetFontBugginess.txt
1 Issues:
2
3  - Starting with the 14342 build, changing the font using
4    SetCurrentConsoleFontEx does not affect the window size.  e.g. The content
5    itself will resize/redraw, but the window neither shrinks nor expands.
6    Presumably this is an oversight?  It's almost a convenience; if a program
7    is going to resize the window anyway, then it's nice that the window size
8    contraints don't get in the way.  Ordinarily, changing the font doesn't just
9    change the window size in pixels--it can also change the size as measured in
10    rows and columns.
11
12  - (Aside: in the 14342 build, there is also a bug with wmic.exe.  Open a console
13    with more than 300 lines of screen buffer, then fill those lines with, e.g.,
14    dir /s.  Then run wmic.exe.  You won't be able to see the wmic.exe prompt.
15    If you query the screen buffer info somehow, you'll notice that the srWindow
16    is not contained within the dwSize.  This breaks winpty's scraping, because
17    it's invalid.)
18
19  - In build 14316, with the Japanese locale, with the 437 code page, attempting
20    to set the Consolas font instead sets the Terminal (raster) font.  It seems
21    to pick an appropriate vertical size.
22
23  - It seems necessary to specify "-family 0x36" for maximum reliability.
24    Setting the family to 0 almost always works, and specifying just -tt rarely
25    works.
26
27 Win7
28     English locale / 437 code page:
29         SetFont.exe -face Consolas -h 16                    works
30         SetFont.exe -face Consolas -h 16 -tt                selects Terminal font instead
31         SetFont.exe -face Consolas -h 16 -family 0x36       works
32     Japanese locale / 932 code page:
33         SetFont.exe -face Consolas -h 16                    works
34         SetFont.exe -face Consolas -h 16 -tt                selects Terminal font instead
35         SetFont.exe -face Consolas -h 16 -family 0x36       works
36     Japanese locale / 437 code page:
37         SetFont.exe -face Consolas -h 16                    works
38         SetFont.exe -face Consolas -h 16 -tt                unreliable
39         SetFont.exe -face Consolas -h 16 -family 0x36       works
40
41 Win10 Build 10586
42     New console
43         Japanese locale / 437 code page:
44             SetFont.exe -face Consolas -h 16                    works
45             SetFont.exe -face Consolas -h 16 -tt                selects Terminal instead
46             SetFont.exe -face Consolas -h 16 -family 0x36       works
47
48 Win10 Build 14316
49     Old console
50         English locale / 437 code page:
51             SetFont.exe -face Consolas -h 16                    works
52             SetFont.exe -face Consolas -h 16 -tt                selects Terminal font instead
53             SetFont.exe -face Consolas -h 16 -family 0x36       works
54         Japanese locale / 932 code page:
55             SetFont.exe -face Consolas -h 16                    works
56             SetFont.exe -face Consolas -h 16 -tt                selects Terminal font instead
57             SetFont.exe -face Consolas -h 16 -family 0x36       works
58         Japanese locale / 437 code page:
59             SetFont.exe -face Consolas -h 16                    works
60             SetFont.exe -face Consolas -h 16 -tt                selected very small Consolas font
61             SetFont.exe -face Consolas -h 16 -family 0x36       works
62     New console
63         English locale / 437 code page:
64             SetFont.exe -face Consolas -h 16                    works
65             SetFont.exe -face Consolas -h 16 -tt                works
66             SetFont.exe -face Consolas -h 16 -family 0x36       works
67         Japanese locale / 932 code page:
68             SetFont.exe -face Consolas -h 16                    selects gothic instead
69             SetFont.exe -face Consolas -h 16 -tt                selects gothic instead
70             SetFont.exe -face Consolas -h 16 -family 0x36       selects gothic instead
71         Japanese locale / 437 code page:
72             SetFont.exe -face Consolas -h 16                    selects Terminal font instead
73             SetFont.exe -face Consolas -h 16 -tt                selects Terminal font instead
74             SetFont.exe -face Consolas -h 16 -family 0x36(*)    selects Terminal font instead
75
76 Win10 Build 14342
77     Old Console
78         English locale / 437 code page:
79             SetFont.exe -face Consolas -h 16                    works
80             SetFont.exe -face Consolas -h 16 -tt                selects Terminal font instead
81             SetFont.exe -face Consolas -h 16 -family 0x36       works
82         Japanese locale / 932 code page:
83             SetFont.exe -face Consolas -h 16                    works
84             SetFont.exe -face Consolas -h 16 -tt                selects Terminal font instead
85             SetFont.exe -face Consolas -h 16 -family 0x36       works
86         Japanese locale / 437 code page:
87             SetFont.exe -face Consolas -h 16                    works
88             SetFont.exe -face Consolas -h 16 -tt                selects Terminal font instead
89             SetFont.exe -face Consolas -h 16 -family 0x36       works
90     New console
91         English locale / 437 code page:
92             SetFont.exe -face Consolas -h 16                    works
93             SetFont.exe -face Consolas -h 16 -tt                works
94             SetFont.exe -face Consolas -h 16 -family 0x36       works
95         Japanese locale / 932 code page:
96             SetFont.exe -face Consolas -h 16                    selects gothic instead
97             SetFont.exe -face Consolas -h 16 -tt                selects gothic instead
98             SetFont.exe -face Consolas -h 16 -family 0x36       selects gothic instead
99         Japanese locale / 437 code page:
100             SetFont.exe -face Consolas -h 16                    selects Terminal font instead
101             SetFont.exe -face Consolas -h 16 -tt                works
102             SetFont.exe -face Consolas -h 16 -family 0x36       works
103
104 (*) I was trying to figure out whether the inconsistency was at when I stumbled
105 onto this completely unexpected bug.  Here's more detail:
106
107     F:\>SetFont.exe -face Consolas -h 16 -family 0x36 -weight normal -w 8
108     Setting to: nFont=0 dwFontSize=(8,16) FontFamily=0x36 FontWeight=400 FaceName="Consolas"
109     SetCurrentConsoleFontEx returned 1
110
111     F:\>GetFont.exe
112     largestConsoleWindowSize=(96,50)
113     maxWnd=0: nFont=0 dwFontSize=(12,16) FontFamily=0x30 FontWeight=400 FaceName=Terminal (54 65 72 6D 69 6E 61 6C)
114     maxWnd=1: nFont=0 dwFontSize=(96,25) FontFamily=0x30 FontWeight=400 FaceName=Terminal (54 65 72 6D 69 6E 61 6C)
115     00-00: 12x16
116     GetNumberOfConsoleFonts returned 0
117     CP=437 OutputCP=437
118
119     F:\>SetFont.exe -face "Lucida Console" -h 16 -family 0x36 -weight normal
120     Setting to: nFont=0 dwFontSize=(0,16) FontFamily=0x36 FontWeight=400 FaceName="Lucida Console"
121     SetCurrentConsoleFontEx returned 1
122
123     F:\>GetFont.exe
124     largestConsoleWindowSize=(96,50)
125     maxWnd=0: nFont=0 dwFontSize=(12,16) FontFamily=0x30 FontWeight=400 FaceName=Terminal (54 65 72 6D 69 6E 61 6C)
126     maxWnd=1: nFont=0 dwFontSize=(96,25) FontFamily=0x30 FontWeight=400 FaceName=Terminal (54 65 72 6D 69 6E 61 6C)
127     00-00: 12x16
128     GetNumberOfConsoleFonts returned 0
129     CP=437 OutputCP=437
130
131     F:\>SetFont.exe -face "Lucida Console" -h 12 -family 0x36 -weight normal
132     Setting to: nFont=0 dwFontSize=(0,12) FontFamily=0x36 FontWeight=400 FaceName="Lucida Console"
133     SetCurrentConsoleFontEx returned 1
134
135     F:\>GetFont.exe
136     largestConsoleWindowSize=(230,66)
137     maxWnd=0: nFont=0 dwFontSize=(5,12) FontFamily=0x30 FontWeight=400 FaceName=Terminal (54 65 72 6D 69 6E 61 6C)
138     maxWnd=1: nFont=0 dwFontSize=(116,36) FontFamily=0x30 FontWeight=400 FaceName=Terminal (54 65 72 6D 69 6E 61 6C)
139     00-00:  5x12
140     GetNumberOfConsoleFonts returned 0
141     CP=437 OutputCP=437
142
143 Even attempting to set to a Lucida Console / Consolas font from the Console
144 properties dialog fails.