X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/cd6934789aac9e19dbe533e3d068aa2c77bdae14..f097c3b368c10b7c88f63038459c4c5a38889a1f:/lib/gdi/font.cpp diff --git a/lib/gdi/font.cpp b/lib/gdi/font.cpp index 1f09d1bc..4c08b4fc 100644 --- a/lib/gdi/font.cpp +++ b/lib/gdi/font.cpp @@ -18,7 +18,7 @@ #include #include -//#define HAVE_FRIBIDI +#define HAVE_FRIBIDI // until we have it in the cdk #ifdef HAVE_FRIBIDI @@ -361,7 +361,7 @@ void eTextPara::calc_bbox() boundBox = i->bbox; ++i; - for (i ; i != glyphs.end(); ++i) + for (; i != glyphs.end(); ++i) { if ( i->flags & GS_ISSPACE ) continue; @@ -406,6 +406,7 @@ void eTextPara::setFont(const gFont *font) } std::string eTextPara::replacement_facename; +std::set eTextPara::forced_replaces; void eTextPara::setFont(Font *fnt, Font *replacement) { @@ -587,9 +588,10 @@ nprint: isprintable=0; } if (isprintable) { - FT_UInt index; - - index=(rflags&RS_DIRECT)? *i : FT_Get_Char_Index(current_face, *i); + FT_UInt index = 0; + + if (forced_replaces.find(*i) == forced_replaces.end()) + index=(rflags&RS_DIRECT)? *i : FT_Get_Char_Index(current_face, *i); if (!index) {