return FT_Err_Ok == error;
}
+FT_FaceRec_* FontClient::Plugin::GetFreetypeFace( FontId fontId )
+{
+ FT_Face fontFace = nullptr;
+
+ if( ( fontId > 0u ) &&
+ ( fontId - 1u < mFontFaceCache.size() ) )
+ {
+ fontFace = mFontFaceCache[fontId - 1u].mFreeTypeFace;
+ }
+
+ return fontFace;
+}
+
+bool FontClient::Plugin::AddCustomFontDirectory( const FontPath& path )
+{
+ // NULL as first parameter means the current configuration is used.
+ return FcConfigAppFontAddDir( NULL, reinterpret_cast<const FcChar8 *>( path.c_str() ) );
+}
+
void FontClient::Plugin::InitSystemFonts()
{
DALI_LOG_INFO( gLogFilter, Debug::General, "-->FontClient::Plugin::InitSystemFonts\n" );
// add a property to the pattern for the font family
FcPatternAddString( fontFamilyPattern, FC_FAMILY, reinterpret_cast<const FcChar8*>( fontDescription.family.c_str() ) );
+ // add a property to the pattern for local setting.
+ const char* locale = setlocale( LC_MESSAGES, NULL );
+ if( locale != NULL)
+ {
+ FcPatternAddString( fontFamilyPattern, FC_LANG, reinterpret_cast<const FcChar8*>( locale ) );
+ }
+
int width = FONT_WIDTH_TYPE_TO_INT[fontDescription.width];
if( width < 0 )
{