#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;
}
::GetFNum( "\pMonaco" , &m_macFontNum) ;
break ;
}
+ Str255 name ;
+ GetFontName( m_macFontNum , name ) ;
+ CopyPascalStringToC( name , (char*) name ) ;
+ m_faceName = (char*) name ;
}
else
{
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()