if( FT_Err_Ok == error )
{
FT_Glyph glyph;
-
+#if defined(__GNUC__)
if( softwareBold )
{
FT_GlyphSlot_Embolden(ftFace->glyph);
FT_Matrix transform = {0x10000, FONT_SLANT_TANGENT, 0x00000, 0x10000};
FT_Outline_Transform(&ftFace->glyph->outline, &transform);
}
-
+#endif
error = FT_Get_Glyph( ftFace->glyph, &glyph );
// Convert to bitmap if necessary
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 )
{