+ #ifndef __LP64__
+ // TODO CS : Find replacement
+ // added CS : avoid showing fonts that won't be displayable
+ FMFontStyle intrinsicStyle = 0 ;
+ FMFont fontInstance ;
+ FMFontFamily fmFamily = FMGetFontFamilyFromATSFontFamilyRef( theATSFontFamilyRef );
+ status = FMGetFontFromFontFamilyInstance( fmFamily , 0 , &fontInstance , &intrinsicStyle);
+ if ( status != noErr )
+ {
+ status = noErr;
+ continue ;
+ }
+#endif
+ if ( encoding != wxFONTENCODING_SYSTEM )
+ {
+ TextEncoding fontFamiliyEncoding = ATSFontFamilyGetEncoding(theATSFontFamilyRef) ;
+ if ( fontFamiliyEncoding != macEncoding )
+ continue ;
+ }
+
+ // TODO: determine fixed widths ...
+
+ CFStringRef theName = NULL;
+ ATSFontFamilyGetName(theATSFontFamilyRef, kATSOptionFlagsDefault, &theName);
+ wxCFStringRef cfName(theName) ;
+ fontFamilies.Add(cfName.AsString(wxLocale::GetSystemEncoding()));
+ }
+ else if (status == kATSIterationScopeModified) // Make sure the font database hasnÕt changed.
+ {
+ // reset the iterator
+ status = ATSFontFamilyIteratorReset (kATSFontContextLocal, nil, nil,
+ kATSOptionFlagsUnRestrictedScope,
+ &theFontFamilyIterator);
+ fontFamilies.Clear() ;