#include "wx/fontutil.h"
+#include "wx/mac/private.h"
+#include "ATSUnicode.h"
+
#if !USE_SHARED_LIBRARIES
IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
#endif
m_faceName = faceName;
m_encoding = encoding;
- m_macFontNum = 0 ;
- m_macFontSize = 0;
- m_macFontStyle = 0;
+ m_macFontNum = 0 ;
+ m_macFontSize = 0;
+ m_macFontStyle = 0;
m_fontId = 0;
+ m_noAA = FALSE;
}
wxFontRefData::~wxFontRefData()
::GetFNum( "\pMonaco" , &m_macFontNum) ;
break ;
}
+ Str255 name ;
+ GetFontName( m_macFontNum , name ) ;
+ CopyPascalStringToC( name , (char*) name ) ;
+ m_faceName = (char*) name ;
}
else
{
m_macFontNum = ::GetAppFont() ;
else
{
-#if TARGET_CARBON
- c2pstrcpy( (StringPtr) wxBuffer, m_faceName ) ;
-#else
- strcpy( (char *) wxBuffer, m_faceName ) ;
- c2pstr( (char *) wxBuffer ) ;
-#endif
- ::GetFNum( (StringPtr) wxBuffer, &m_macFontNum);
+ Str255 fontname ;
+ wxMacStringToPascal( m_faceName , fontname ) ;
+ ::GetFNum( fontname, &m_macFontNum);
}
}
if (m_underlined)
m_macFontStyle |= underline;
m_macFontSize = m_pointSize ;
+
+ //TODO:if we supply the style as an additional parameter we must make a testing
+ //sequence in order to degrade gracefully while trying to maintain most of the style
+ //information, meanwhile we just take the normal font and apply the features after
+ OSStatus status = ::ATSUFONDtoFontID(m_macFontNum, normal /*qdStyle*/, (UInt32*)&m_macATSUFontID);
+ /*
+ status = ATSUFindFontFromName ( (Ptr) m_faceName , strlen( m_faceName ) ,
+ kFontFullName, kFontMacintoshPlatform, kFontRomanScript , kFontNoLanguage , (UInt32*)&m_macATSUFontID ) ;
+ */
+ wxASSERT_MSG( status == noErr , "couldn't retrieve font identifier" ) ;
}
// ----------------------------------------------------------------------------
void wxFont::Init()
{
- if ( wxTheFontList )
- wxTheFontList->Append(this);
}
bool wxFont::Create(const wxNativeFontInfo& info)
wxFont::~wxFont()
{
- if (wxTheFontList)
- wxTheFontList->DeleteObject(this);
}
bool wxFont::RealizeResource()
RealizeResource();
}
+void wxFont::SetNoAntiAliasing( bool no )
+{
+ Unshare();
+
+ M_FONTDATA->SetNoAntiAliasing( no );
+
+ RealizeResource();
+}
+
// ----------------------------------------------------------------------------
// accessors
// ----------------------------------------------------------------------------
return M_FONTDATA->m_encoding;
}
+bool wxFont::GetNoAntiAliasing()
+{
+ return M_FONTDATA->m_noAA;
+}
+