X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/753d02e833418105b663d712bc7db3c915e42c0b..1046cbe1681e9430e522a3d8d864b3b4649f2877:/src/mac/carbon/fontenum.cpp diff --git a/src/mac/carbon/fontenum.cpp b/src/mac/carbon/fontenum.cpp index f99cc1fd02..f74bbb43fc 100644 --- a/src/mac/carbon/fontenum.cpp +++ b/src/mac/carbon/fontenum.cpp @@ -12,7 +12,7 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#if wxUSE_FONTMAP +#if wxUSE_FONTENUM #include "wx/fontenum.h" @@ -34,29 +34,37 @@ bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding, bool fixedWidthOnly) { + if ( fixedWidthOnly ) + { + wxFAIL_MSG( "enumerating only fixed width fonts not supported" ); + return false; + } + // // From Apple's QA 1471 http://developer.apple.com/qa/qa2006/qa1471.html // - + ATSFontFamilyIterator theFontFamilyIterator = NULL; ATSFontFamilyRef theATSFontFamilyRef = 0; OSStatus status = noErr; - + wxArrayString fontFamilies ; - + // Create the iterator status = ATSFontFamilyIteratorCreate(kATSFontContextLocal, nil,nil, kATSOptionFlagsUnRestrictedScope, &theFontFamilyIterator ); - + wxUint32 macEncoding = wxMacGetSystemEncFromFontEnc(encoding) ; - + while (status == noErr) { // Get the next font in the iteration. status = ATSFontFamilyIteratorNext( theFontFamilyIterator, &theATSFontFamilyRef ); if(status == noErr) { + #ifndef __LP64__ + // TODO CS : Find replacement // added CS : avoid showing fonts that won't be displayable FMFontStyle intrinsicStyle = 0 ; FMFont fontInstance ; @@ -67,14 +75,14 @@ bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding, status = noErr; continue ; } - +#endif if ( encoding != wxFONTENCODING_SYSTEM ) { TextEncoding fontFamiliyEncoding = ATSFontFamilyGetEncoding(theATSFontFamilyRef) ; if ( fontFamiliyEncoding != macEncoding ) continue ; } - + // TODO: determine fixed widths ... CFStringRef theName = NULL; @@ -92,21 +100,21 @@ bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding, } } ATSFontFamilyIteratorRelease(&theFontFamilyIterator); - + for ( size_t i = 0 ; i < fontFamilies.Count() ; ++i ) { if ( OnFacename( fontFamilies[i] ) == false ) break ; } - + return true; } -bool wxFontEnumerator::EnumerateEncodings(const wxString& family) +bool wxFontEnumerator::EnumerateEncodings(const wxString& WXUNUSED(family)) { wxFAIL_MSG(wxT("wxFontEnumerator::EnumerateEncodings() not yet implemented")); return true; } -#endif // wxUSE_FONTMAP +#endif // wxUSE_FONTENUM