aboutsummaryrefslogtreecommitdiff
path: root/lib/gdi/font.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-01-13 19:57:25 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-01-13 19:57:25 +0000
commit5d26224540dac9315066c52dc37197dbc8e0b24e (patch)
tree272d6e3abf6a56e77161a84bd35014954ed19c7e /lib/gdi/font.cpp
parent76e2a3397cf1b137a5972a6f78ed383bebe3ba2f (diff)
downloadenigma2-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.cpp10
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)
{