Author: mjansen
Date: Sun Jul 9 15:06:49 2017
New Revision: 75310
URL:
http://svn.reactos.org/svn/reactos?rev=75310&view=rev
Log:
[FONTS] Add substitutes for the System font, and remove a hack for the System font. Patch
by Katayama Hirofumi MZ. CORE-9222
Modified:
trunk/reactos/base/setup/usetup/muifonts.h
trunk/reactos/win32ss/gdi/ntgdi/freetype.c
Modified: trunk/reactos/base/setup/usetup/muifonts.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/muifonts…
==============================================================================
--- trunk/reactos/base/setup/usetup/muifonts.h [iso-8859-1] (original)
+++ trunk/reactos/base/setup/usetup/muifonts.h [iso-8859-1] Sun Jul 9 15:06:49 2017
@@ -18,6 +18,7 @@
{ L"Terminal", L"DejaVu Sans Mono" },
{ L"Times New Roman", L"Liberation Serif" },
{ L"Trebuchet MS", L"Open Sans" },
+ { L"System", L"FreeSans" },
{ NULL, NULL }
};
@@ -38,6 +39,7 @@
{ L"Terminal", L"DejaVu Sans Mono" },
{ L"Times New Roman", L"Liberation Serif" },
{ L"Trebuchet MS", L"Open Sans" },
+ { L"System", L"FreeSans" },
{ NULL, NULL }
};
@@ -58,6 +60,7 @@
{ L"Terminal", L"DejaVu Sans Mono" },
{ L"Times New Roman", L"Liberation Serif" },
{ L"Trebuchet MS", L"Open Sans" },
+ { L"System", L"FreeSans" },
{ NULL, NULL }
};
@@ -78,6 +81,7 @@
{ L"Terminal", L"DejaVu Sans Mono" },
{ L"Times New Roman", L"DejaVu Serif" },
{ L"Trebuchet MS", L"Open Sans" },
+ { L"System", L"FreeSans" },
{ NULL, NULL }
};
@@ -107,6 +111,7 @@
{ L"SimSun", L"Droid Sans Fallback" },
{ L"NSimSun", L"Droid Sans Fallback" },
{ L"MS Song", L"Droid Sans Fallback" },
+ { L"System", L"Droid Sans Fallback" },
/* localized names */
{ CSF_LocalName0, L"Droid Sans Fallback" },
{ CSF_LocalName1, L"Droid Sans Fallback" },
@@ -141,6 +146,7 @@
{ L"PMingLiU", L"Droid Sans Fallback" },
{ L"DLCMingMedium", L"Droid Sans Fallback" },
{ L"DLCMingBold", L"Droid Sans Fallback" },
+ { L"System", L"Droid Sans Fallback" },
/* localized names */
{ CTF_LocalName0, L"Droid Sans Fallback" },
{ CTF_LocalName1, L"Droid Sans Fallback" },
@@ -174,6 +180,7 @@
{ L"MS PMincho", L"Droid Sans Fallback" },
{ L"MS Gothic", L"Droid Sans Fallback" },
{ L"MS PGothic", L"Droid Sans Fallback" },
+ { L"System", L"Droid Sans Fallback" },
/* localized names */
{ JF_LocalName0, L"Droid Sans Fallback" },
{ JF_LocalName1, L"Droid Sans Fallback" },
@@ -211,6 +218,7 @@
{ L"GungsuhChe", L"Droid Sans Fallback" },
{ L"Gulim", L"Droid Sans Fallback" },
{ L"GulimChe", L"Droid Sans Fallback" },
+ { L"System", L"Droid Sans Fallback" },
/* localized names */
{ KF_LocalName0, L"Droid Sans Fallback" },
{ KF_LocalName1, L"Droid Sans Fallback" },
@@ -238,5 +246,6 @@
{ L"Terminal", L"DejaVu Sans Mono" },
{ L"Times New Roman", L"DejaVu Serif" },
{ L"Trebuchet MS", L"Open Sans" },
- { NULL, NULL }
-};
+ { L"System", L"FreeSans" },
+ { NULL, NULL }
+};
Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/freetype…
==============================================================================
--- trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] Sun Jul 9 15:06:49 2017
@@ -52,8 +52,6 @@
/* special font names */
static const UNICODE_STRING MarlettW = RTL_CONSTANT_STRING(L"Marlett");
-static const UNICODE_STRING SystemW = RTL_CONSTANT_STRING(L"System");
-static const UNICODE_STRING FixedSysW = RTL_CONSTANT_STRING(L"FixedSys");
/* registry */
static UNICODE_STRING FontRegPath =
@@ -3979,7 +3977,7 @@
ULONG Penalty = 0;
BYTE Byte;
LONG Long;
- BOOL fFixedSys = FALSE, fNeedScaling = FALSE;
+ BOOL fNeedScaling = FALSE;
const BYTE UserCharSet = CharSetFromLangID(gusLanguageID);
const TEXTMETRICW * TM = &Otm->otmTextMetrics;
WCHAR* ActualNameW;
@@ -3993,62 +3991,38 @@
/* FIXME: SmallPenalty Penalty 1 */
/* FIXME: FaceNameSubst Penalty 500 */
- if (_wcsicmp(LogFont->lfFaceName, L"System") == 0)
- {
- /* "System" font */
- if (TM->tmCharSet != UserCharSet)
+ Byte = LogFont->lfCharSet;
+ if (Byte == DEFAULT_CHARSET)
+ {
+ if (_wcsicmp(LogFont->lfFaceName, L"Marlett") == 0)
+ {
+ if (Byte == ANSI_CHARSET)
+ {
+ DPRINT("Warning: FIXME: It's Marlett but ANSI_CHARSET.\n");
+ }
+ /* We assume SYMBOL_CHARSET for "Marlett" font */
+ Byte = SYMBOL_CHARSET;
+ }
+ }
+
+ if (Byte != TM->tmCharSet)
+ {
+ if (Byte != DEFAULT_CHARSET && Byte != ANSI_CHARSET)
{
/* CharSet Penalty 65000 */
/* Requested charset does not match the candidate's. */
Penalty += 65000;
}
- }
- else if (_wcsicmp(LogFont->lfFaceName, L"FixedSys") == 0)
- {
- /* "FixedSys" font */
- if (TM->tmCharSet != UserCharSet)
- {
- /* CharSet Penalty 65000 */
- /* Requested charset does not match the candidate's. */
- Penalty += 65000;
- }
- fFixedSys = TRUE;
- }
- else /* Request is non-"System" font */
- {
- Byte = LogFont->lfCharSet;
- if (Byte == DEFAULT_CHARSET)
- {
- if (_wcsicmp(LogFont->lfFaceName, L"Marlett") == 0)
- {
- if (Byte == ANSI_CHARSET)
- {
- DPRINT("Warning: FIXME: It's Marlett but
ANSI_CHARSET.\n");
- }
- /* We assume SYMBOL_CHARSET for "Marlett" font */
- Byte = SYMBOL_CHARSET;
- }
- }
-
- if (Byte != TM->tmCharSet)
- {
- if (Byte != DEFAULT_CHARSET && Byte != ANSI_CHARSET)
- {
- /* CharSet Penalty 65000 */
- /* Requested charset does not match the candidate's. */
- Penalty += 65000;
- }
- else
- {
- if (UserCharSet != TM->tmCharSet)
+ else
+ {
+ if (UserCharSet != TM->tmCharSet)
+ {
+ /* UNDOCUMENTED */
+ Penalty += 100;
+ if (ANSI_CHARSET != TM->tmCharSet)
{
/* UNDOCUMENTED */
Penalty += 100;
- if (ANSI_CHARSET != TM->tmCharSet)
- {
- /* UNDOCUMENTED */
- Penalty += 100;
- }
}
}
}
@@ -4083,11 +4057,6 @@
Byte = (LogFont->lfPitchAndFamily & 0x0F);
if (Byte == DEFAULT_PITCH)
Byte = VARIABLE_PITCH;
- if (fFixedSys)
- {
- /* "FixedSys" font should be fixed-pitch */
- Byte = FIXED_PITCH;
- }
if (Byte == FIXED_PITCH)
{
if (TM->tmPitchAndFamily & _TMPF_VARIABLE_PITCH)