[0.4.12] [GDI32][NTGDI][SETUP] CORE-15755 commit 1 of 3

Fix font enumeration part 2 (#1492)

Eliminate some bugs about font enumeration.

- Add "Microsoft Sans Serif" font substitution.
- Fix and improve the treatment of the nominal font names.
- Split IntGetFontFamilyInfo function from NtGdiGetFontFamilyInfo.
- Add DoFontSystemUnittest function for font system unittest to GDI32.
- Call DoFontSystemUnittest function at CreateFontIndirectW first call.

cherry picked from commit 0.4.13-dev-9-g
811faed421
This commit is contained in:
Katayama Hirofumi MZ 2019-04-11 11:46:52 +09:00 committed by Joachim Henze
parent dea7149597
commit 8d3def0529
5 changed files with 252 additions and 99 deletions

View file

@ -11,6 +11,7 @@ MUI_SUBFONT LatinFonts[] =
{ L"Helv", L"Tahoma" },
{ L"Helvetica", L"Liberation Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"Tahoma" },
{ L"MS Sans Serif", L"Tahoma" },
{ L"MS Shell Dlg", L"Tahoma" },
{ L"MS Shell Dlg 2", L"Tahoma" },
@ -37,6 +38,7 @@ MUI_SUBFONT CyrillicFonts[] =
{ L"Helv", L"Tahoma" },
{ L"Helvetica", L"Liberation Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"Tahoma" },
{ L"MS Sans Serif", L"Tahoma" },
{ L"MS Shell Dlg", L"Tahoma" },
{ L"MS Shell Dlg 2", L"Tahoma" },
@ -63,6 +65,7 @@ MUI_SUBFONT GreekFonts[] =
{ L"Helv", L"DejaVu Sans" },
{ L"Helvetica", L"Liberation Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"DejaVu Sans" },
{ L"MS Sans Serif", L"DejaVu Sans" },
{ L"MS Shell Dlg", L"DejaVu Sans" },
{ L"MS Shell Dlg 2", L"DejaVu Sans" },
@ -89,6 +92,7 @@ MUI_SUBFONT HebrewFonts[] =
{ L"Helv", L"Tahoma" },
{ L"Helvetica", L"Tahoma" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"Tahoma" },
{ L"MS Sans Serif", L"Tahoma" },
{ L"MS Shell Dlg", L"Tahoma" },
{ L"MS Shell Dlg 2", L"Tahoma" },
@ -121,6 +125,7 @@ MUI_SUBFONT ChineseSimplifiedFonts[] =
{ L"Helv", L"Droid Sans Fallback" },
{ L"Helvetica", L"Liberation Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"Droid Sans Fallback" },
{ L"MS Sans Serif", L"Droid Sans Fallback" },
{ L"MS Shell Dlg", L"Droid Sans Fallback" },
{ L"MS Shell Dlg 2", L"Droid Sans Fallback" },
@ -163,6 +168,7 @@ MUI_SUBFONT ChineseTraditionalFonts[] =
{ L"Helv", L"Droid Sans Fallback" },
{ L"Helvetica", L"Liberation Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"Droid Sans Fallback" },
{ L"MS Sans Serif", L"Droid Sans Fallback" },
{ L"MS Shell Dlg", L"Droid Sans Fallback" },
{ L"MS Shell Dlg 2", L"Droid Sans Fallback" },
@ -206,6 +212,7 @@ MUI_SUBFONT JapaneseFonts[] =
{ L"Helv", L"Droid Sans Fallback" },
{ L"Helvetica", L"Liberation Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"Droid Sans Fallback" },
{ L"MS Sans Serif", L"Droid Sans Fallback" },
{ L"MS Shell Dlg", L"Droid Sans Fallback" },
{ L"MS Shell Dlg 2", L"Droid Sans Fallback" },
@ -250,6 +257,7 @@ MUI_SUBFONT KoreanFonts[] =
{ L"Helv", L"Droid Sans Fallback" },
{ L"Helvetica", L"Liberation Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"Droid Sans Fallback" },
{ L"MS Sans Serif", L"Droid Sans Fallback" },
{ L"MS Shell Dlg", L"Droid Sans Fallback" },
{ L"MS Shell Dlg 2", L"Droid Sans Fallback" },
@ -293,6 +301,7 @@ MUI_SUBFONT UnicodeFonts[] =
{ L"Helv", L"DejaVu Sans" },
{ L"Helvetica", L"DejaVu Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"DejaVu Sans" },
{ L"MS Sans Serif", L"DejaVu Sans" },
{ L"MS Shell Dlg", L"DejaVu Sans" },
{ L"MS Shell Dlg 2", L"DejaVu Sans" },
@ -320,6 +329,7 @@ MUI_SUBFONT HindiFonts[] =
{ L"Helv", L"Tahoma" },
{ L"Helvetica", L"Liberation Sans" },
{ L"Lucida Console", L"DejaVu Sans Mono" },
{ L"Microsoft Sans Serif", L"FreeSans" },
{ L"MS Sans Serif", L"FreeSans" },
{ L"MS Shell Dlg", L"FreeSans" },
{ L"MS Shell Dlg 2", L"FreeSans" },