https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=60471176fd37102139ddc55b3e7ce9561ea56fc5
commit 60471176fd37102139ddc55b3e7ce9561ea56fc5 Author: Corinna Vinschen <[email protected]> Date: Fri Sep 7 13:43:48 2018 +0200 Cygwin: console: don't hang in check_font with raster fonts EnumFontFamiliesExW fails if the font is "Terminal" (aka "Raster Fonts") and lfCharSet requests ANSI_CHARSET. Using DEFAULT_CHARSET fixes this. Signed-off-by: Corinna Vinschen <[email protected]> Diff: --- winsup/cygwin/fhandler_console.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index dfb78d4..d53b53e 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -2009,7 +2009,7 @@ check_font (HANDLE hdl) return; /* Some FaceNames like DejaVu Sans Mono are sometimes returned with stray trailing chars. Fix it. */ - lf.lfCharSet = ANSI_CHARSET; + lf.lfCharSet = DEFAULT_CHARSET; lf.lfPitchAndFamily = FIXED_PITCH | FF_DONTCARE; wchar_t *cp = wcpcpy (lf.lfFaceName, cfi.FaceName) - 1; int done = 0; @@ -2023,7 +2023,7 @@ check_font (HANDLE hdl) /* Yes. Check for the best replacement char. */ HFONT f = CreateFontW (0, 0, 0, 0, cfi.FontWeight, FALSE, FALSE, FALSE, - ANSI_CHARSET, OUT_DEFAULT_PRECIS, + DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH | FF_DONTCARE, lf.lfFaceName); if (!f)
