summaryrefslogtreecommitdiff
path: root/vcl/win
diff options
context:
space:
mode:
authorth <th@openoffice.org>2001-06-07 15:52:11 +0000
committerth <th@openoffice.org>2001-06-07 15:52:11 +0000
commitcf28b9c768ad203f1da5b5d248b02b7c92f7c1fb (patch)
tree95b4ba2619690e31f471d303f559c0bf05db1742 /vcl/win
parente7d8ec603de62975cec522332ea0231110b76799 (diff)
#87139# - prefer Andale Sans UI
Diffstat (limited to 'vcl/win')
-rw-r--r--vcl/win/source/window/salframe.cxx62
1 files changed, 31 insertions, 31 deletions
diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx
index 43a3dd9c4ba5..8cfae6142bd8 100644
--- a/vcl/win/source/window/salframe.cxx
+++ b/vcl/win/source/window/salframe.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: salframe.cxx,v $
*
- * $Revision: 1.13 $
+ * $Revision: 1.14 $
*
- * last change: $Author: th $ $Date: 2001-05-18 08:24:04 $
+ * last change: $Author: th $ $Date: 2001-06-07 16:52:11 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -1925,12 +1925,11 @@ inline Color ImplWinColorToSal( COLORREF nColor )
// -----------------------------------------------------------------------
-static void ImplSalUpdateStyleFontA( const LOGFONTA& rLogFont, Font& rFont,
- BOOL bOverwriteSystemCharSet )
+static void ImplSalUpdateStyleFontA( HDC hDC, const LOGFONTA& rLogFont, Font& rFont,
+ BOOL bReplaceFont )
{
- ImplSalLogFontToFontA( rLogFont, rFont );
- if ( bOverwriteSystemCharSet && (rFont.GetCharSet() != RTL_TEXTENCODING_SYMBOL) )
- rFont.SetCharSet( gsl_getSystemTextEncoding() );
+ ImplSalLogFontToFontA( hDC, rLogFont, rFont, bReplaceFont );
+
// Da bei einigen Windows-Einstellungen 6 Punkt eingetragen ist,
// obwohl im Dialog 8 Punkt angezeigt werden (da MS Sans Serif
// nicht skalierbar ist) vergroessern wir hier das als Hack, da
@@ -1942,12 +1941,11 @@ static void ImplSalUpdateStyleFontA( const LOGFONTA& rLogFont, Font& rFont,
// -----------------------------------------------------------------------
-static void ImplSalUpdateStyleFontW( const LOGFONTW& rLogFont, Font& rFont,
- BOOL bOverwriteSystemCharSet )
+static void ImplSalUpdateStyleFontW( HDC hDC, const LOGFONTW& rLogFont, Font& rFont,
+ BOOL bReplaceFont )
{
- ImplSalLogFontToFontW( rLogFont, rFont );
- if ( bOverwriteSystemCharSet && (rFont.GetCharSet() != RTL_TEXTENCODING_SYMBOL) )
- rFont.SetCharSet( gsl_getSystemTextEncoding() );
+ ImplSalLogFontToFontW( hDC, rLogFont, rFont, bReplaceFont );
+
// Da bei einigen Windows-Einstellungen 6 Punkt eingetragen ist,
// obwohl im Dialog 8 Punkt angezeigt werden (da MS Sans Serif
// nicht skalierbar ist) vergroessern wir hier das als Hack, da
@@ -2077,28 +2075,29 @@ void SalFrame::UpdateSettings( AllSettings& rSettings )
}
// Query Fonts
- int bOverwriteSystemCharSet = getenv("LC_CHARSET") != 0;
- Font aMenuFont = aStyleSettings.GetMenuFont();
- Font aTitleFont = aStyleSettings.GetTitleFont();
- Font aFloatTitleFont = aStyleSettings.GetFloatTitleFont();
- Font aHelpFont = aStyleSettings.GetHelpFont();
- Font aAppFont = aStyleSettings.GetAppFont();
- Font aIconFont = aStyleSettings.GetIconFont();
+ Font aMenuFont = aStyleSettings.GetMenuFont();
+ Font aTitleFont = aStyleSettings.GetTitleFont();
+ Font aFloatTitleFont = aStyleSettings.GetFloatTitleFont();
+ Font aHelpFont = aStyleSettings.GetHelpFont();
+ Font aAppFont = aStyleSettings.GetAppFont();
+ Font aIconFont = aStyleSettings.GetIconFont();
+ HDC hDC = GetDC( 0 );
+ BOOL bReplaceFont = !ImplIsFontAvailable( hDC, XubString( RTL_CONSTASCII_USTRINGPARAM( "Andale Sans UI" ) ) );
if ( aSalShlData.mbWNT )
{
NONCLIENTMETRICSW aNonClientMetrics;
aNonClientMetrics.cbSize = sizeof( aNonClientMetrics );
if ( SystemParametersInfoW( SPI_GETNONCLIENTMETRICS, sizeof( aNonClientMetrics ), &aNonClientMetrics, 0 ) )
{
- ImplSalUpdateStyleFontW( aNonClientMetrics.lfMenuFont, aMenuFont, bOverwriteSystemCharSet );
- ImplSalUpdateStyleFontW( aNonClientMetrics.lfCaptionFont, aTitleFont, bOverwriteSystemCharSet );
- ImplSalUpdateStyleFontW( aNonClientMetrics.lfSmCaptionFont, aFloatTitleFont, bOverwriteSystemCharSet );
- ImplSalUpdateStyleFontW( aNonClientMetrics.lfStatusFont, aHelpFont, bOverwriteSystemCharSet );
- ImplSalUpdateStyleFontW( aNonClientMetrics.lfMessageFont, aAppFont, bOverwriteSystemCharSet );
+ ImplSalUpdateStyleFontW( hDC, aNonClientMetrics.lfMenuFont, aMenuFont, bReplaceFont );
+ ImplSalUpdateStyleFontW( hDC, aNonClientMetrics.lfCaptionFont, aTitleFont, bReplaceFont );
+ ImplSalUpdateStyleFontW( hDC, aNonClientMetrics.lfSmCaptionFont, aFloatTitleFont, bReplaceFont );
+ ImplSalUpdateStyleFontW( hDC, aNonClientMetrics.lfStatusFont, aHelpFont, bReplaceFont );
+ ImplSalUpdateStyleFontW( hDC, aNonClientMetrics.lfMessageFont, aAppFont, bReplaceFont );
LOGFONTW aLogFont;
if ( SystemParametersInfoW( SPI_GETICONTITLELOGFONT, 0, &aLogFont, 0 ) )
- ImplSalUpdateStyleFontW( aLogFont, aIconFont, bOverwriteSystemCharSet );
+ ImplSalUpdateStyleFontW( hDC, aLogFont, aIconFont, bReplaceFont );
}
}
else
@@ -2107,17 +2106,18 @@ void SalFrame::UpdateSettings( AllSettings& rSettings )
aNonClientMetrics.cbSize = sizeof( aNonClientMetrics );
if ( SystemParametersInfoA( SPI_GETNONCLIENTMETRICS, sizeof( aNonClientMetrics ), &aNonClientMetrics, 0 ) )
{
- ImplSalUpdateStyleFontA( aNonClientMetrics.lfMenuFont, aMenuFont, bOverwriteSystemCharSet );
- ImplSalUpdateStyleFontA( aNonClientMetrics.lfCaptionFont, aTitleFont, bOverwriteSystemCharSet );
- ImplSalUpdateStyleFontA( aNonClientMetrics.lfSmCaptionFont, aFloatTitleFont, bOverwriteSystemCharSet );
- ImplSalUpdateStyleFontA( aNonClientMetrics.lfStatusFont, aHelpFont, bOverwriteSystemCharSet );
- ImplSalUpdateStyleFontA( aNonClientMetrics.lfMessageFont, aAppFont, bOverwriteSystemCharSet );
+ ImplSalUpdateStyleFontA( hDC, aNonClientMetrics.lfMenuFont, aMenuFont, bReplaceFont );
+ ImplSalUpdateStyleFontA( hDC, aNonClientMetrics.lfCaptionFont, aTitleFont, bReplaceFont );
+ ImplSalUpdateStyleFontA( hDC, aNonClientMetrics.lfSmCaptionFont, aFloatTitleFont, bReplaceFont );
+ ImplSalUpdateStyleFontA( hDC, aNonClientMetrics.lfStatusFont, aHelpFont, bReplaceFont );
+ ImplSalUpdateStyleFontA( hDC, aNonClientMetrics.lfMessageFont, aAppFont, bReplaceFont );
LOGFONTA aLogFont;
if ( SystemParametersInfoA( SPI_GETICONTITLELOGFONT, 0, &aLogFont, 0 ) )
- ImplSalUpdateStyleFontA( aLogFont, aIconFont, bOverwriteSystemCharSet );
+ ImplSalUpdateStyleFontA( hDC, aLogFont, aIconFont, bReplaceFont );
}
}
+ ReleaseDC( 0, hDC );
aStyleSettings.SetMenuFont( aMenuFont );
aStyleSettings.SetTitleFont( aTitleFont );
aStyleSettings.SetFloatTitleFont( aFloatTitleFont );