#include <dali/internal/text/text-abstraction/font-client-impl.h>
// EXTERNAL INCLUDES
-#ifndef DALI_PROFILE_UBUNTU
+#if !(defined(DALI_PROFILE_UBUNTU) || defined(ANDROID) || defined(WIN32) || defined(__APPLE__))
#include <vconf.h>
#endif
// INTERNAL INCLUDES
-#include <dali/devel-api/adaptor-framework/singleton-service.h>
+#include <dali/devel-api/common/singleton-service.h>
#include <dali/internal/text/text-abstraction/font-client-plugin-impl.h>
+#include <dali/devel-api/text-abstraction/glyph-info.h>
+
namespace Dali
{
namespace Internal
{
+Dali::TextAbstraction::FontClient FontClient::gPreInitializedFontClient( NULL );
+
FontClient::FontClient()
: mPlugin( nullptr ),
mDpiHorizontal( 0 ),
}
else // create and register the object
{
- fontClientHandle = Dali::TextAbstraction::FontClient( new FontClient );
+ if( gPreInitializedFontClient )
+ {
+ fontClientHandle = gPreInitializedFontClient;
+ gPreInitializedFontClient.Reset(); // No longer needed
+ }
+ else
+ {
+ fontClientHandle = Dali::TextAbstraction::FontClient( new FontClient );
+ }
+
service.Register( typeid( fontClientHandle ), fontClientHandle );
}
}
return fontClientHandle;
}
+Dali::TextAbstraction::FontClient FontClient::PreInitialize()
+{
+ gPreInitializedFontClient = Dali::TextAbstraction::FontClient( new FontClient );
+
+ // Make DefaultFontDescription cached
+ Dali::TextAbstraction::FontDescription defaultFontDescription;
+ gPreInitializedFontClient.GetDefaultPlatformFontDescription( defaultFontDescription );
+
+ return gPreInitializedFontClient;
+}
+
void FontClient::ClearCache()
{
if( mPlugin )
{
int fontSize( -1 );
-#ifndef DALI_PROFILE_UBUNTU
+#if !(defined(DALI_PROFILE_UBUNTU) || defined(ANDROID) || defined(WIN32) || defined(__APPLE__))
vconf_get_int( VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, &fontSize );
-#endif // DALI_PROFILE_UBUNTU
+#endif
return fontSize;
}
{
return false;
}
-
return mPlugin->HasItalicStyle( fontId );
}