X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e1bca7c98571e8888f4d49543b42218c24b7a2ae..6ae5817707cf77c29ff070e76791cc4816946ec4:/lib/gdi/font.cpp diff --git a/lib/gdi/font.cpp b/lib/gdi/font.cpp index 77c8de94..3948ea98 100644 --- a/lib/gdi/font.cpp +++ b/lib/gdi/font.cpp @@ -235,6 +235,13 @@ int fontRenderClass::getFont(ePtr &font, const std::string &face, int size return 0; } +void addFont(const char *filename, const char *alias, int scale_factor, int is_replacement) +{ + fontRenderClass::getInstance()->AddFont(filename, alias, scale_factor); + if (is_replacement) + eTextPara::setReplacementFont(alias); +} + DEFINE_REF(Font); Font::Font(fontRenderClass *render, FTC_FaceID faceid, int isize, int tw): tabwidth(tw) @@ -482,28 +489,28 @@ int eTextPara::renderString(const char *string, int rflags) { unicode&=0x1F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; } else if ((unicode & 0xF0)==0xE0) // three bytes { unicode&=0x0F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; } else if ((unicode & 0xF8)==0xF0) // four bytes { unicode&=0x07; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; } }