X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2a0155df7266eff2548304f5aff3fbf6e0a895f4..1056ddcf2419255e7d50a08f87f74ece26a5e906:/src/mac/carbon/font.cpp diff --git a/src/mac/carbon/font.cpp b/src/mac/carbon/font.cpp index 1d4d28e4d6..e2c9d4f9a0 100644 --- a/src/mac/carbon/font.cpp +++ b/src/mac/carbon/font.cpp @@ -15,11 +15,12 @@ #ifndef WX_PRECOMP #include "wx/string.h" + #include "wx/utils.h" + #include "wx/intl.h" + #include "wx/gdicmn.h" #endif #include "wx/fontutil.h" -#include "wx/gdicmn.h" -#include "wx/utils.h" #include "wx/fontutil.h" #include "wx/mac/private.h" @@ -202,7 +203,7 @@ wxFontRefData::~wxFontRefData() void wxFontRefData::MacFindFont() { OSStatus status ; - + Str255 qdFontName ; if ( m_macThemeFontID != kThemeCurrentPortFont ) { @@ -219,8 +220,9 @@ void wxFontRefData::MacFindFont() if ( m_macFontStyle & underline ) m_underlined = true ; m_pointSize = m_macFontSize ; - +#ifndef __LP64__ m_macFontFamily = FMGetFontFamilyFromName( qdFontName ); +#endif } else { @@ -228,9 +230,11 @@ void wxFontRefData::MacFindFont() { if ( m_family == wxDEFAULT ) { +#ifndef __LP64__ m_macFontFamily = GetAppFont(); FMGetFontFamilyName(m_macFontFamily,qdFontName); m_faceName = wxMacMakeStringFromPascal( qdFontName ); +#endif } else { @@ -254,20 +258,30 @@ void wxFontRefData::MacFindFont() m_faceName = wxT("Times"); break ; } +#ifndef __LP64__ wxMacStringToPascal( m_faceName , qdFontName ); m_macFontFamily = FMGetFontFamilyFromName( qdFontName ); +#endif } } else { +#ifndef __LP64__ if ( m_faceName == wxT("systemfont") ) m_macFontFamily = GetSysFont(); else if ( m_faceName == wxT("applicationfont") ) m_macFontFamily = GetAppFont(); else +#else + if ( m_faceName == wxT("systemfont") ) + m_faceName = wxT("Lucida Grande"); + else if ( m_faceName == wxT("applicationfont") ) + m_faceName = wxT("Lucida Grande"); +#endif { wxMacCFStringHolder cf( m_faceName, wxLocale::GetSystemEncoding() ); ATSFontFamilyRef atsfamily = ATSFontFamilyFindFromName( cf , kATSOptionFlagsDefault ); + wxASSERT_MSG( atsfamily != (ATSFontFamilyRef) -1 , wxT("ATSFontFamilyFindFromName failed") ); m_macFontFamily = FMGetFontFamilyFromATSFontFamilyRef( atsfamily ); } } @@ -287,11 +301,12 @@ void wxFontRefData::MacFindFont() // ATSUFontID and FMFont are equivalent FMFontStyle intrinsicStyle = 0 ; +#ifndef __LP64__ status = FMGetFontFromFontFamilyInstance( m_macFontFamily , m_macFontStyle , &m_macATSUFontID , &intrinsicStyle); wxASSERT_MSG( status == noErr , wxT("couldn't get an ATSUFont from font family") ); - +#endif m_macATSUAdditionalQDStyles = m_macFontStyle & (~intrinsicStyle ); - + if ( m_macATSUStyle ) { ::ATSUDisposeStyle((ATSUStyle)m_macATSUStyle); @@ -471,13 +486,15 @@ void wxFont::SetWeight(int weight) RealizeResource(); } -void wxFont::SetFaceName(const wxString& faceName) +bool wxFont::SetFaceName(const wxString& faceName) { Unshare(); M_FONTDATA->m_faceName = faceName; RealizeResource(); + + return wxFontBase::SetFaceName(faceName); } void wxFont::SetUnderlined(bool underlined)