diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-01-13 19:57:25 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-01-13 19:57:25 +0000 |
| commit | 5d26224540dac9315066c52dc37197dbc8e0b24e (patch) | |
| tree | 272d6e3abf6a56e77161a84bd35014954ed19c7e /lib/gdi/font.cpp | |
| parent | 76e2a3397cf1b137a5972a6f78ed383bebe3ba2f (diff) | |
| download | enigma2-5d26224540dac9315066c52dc37197dbc8e0b24e.tar.gz enigma2-5d26224540dac9315066c52dc37197dbc8e0b24e.zip | |
allow forcing replacement font for some glyphs
Diffstat (limited to 'lib/gdi/font.cpp')
| -rw-r--r-- | lib/gdi/font.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/gdi/font.cpp b/lib/gdi/font.cpp index b2df471b..4c08b4fc 100644 --- a/lib/gdi/font.cpp +++ b/lib/gdi/font.cpp @@ -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<int> 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) { |
