diff options
Diffstat (limited to 'dviware/dvisvgm/src/DVIReader.cpp')
-rw-r--r-- | dviware/dvisvgm/src/DVIReader.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/dviware/dvisvgm/src/DVIReader.cpp b/dviware/dvisvgm/src/DVIReader.cpp index 6dd7bebb69..2c52ba5210 100644 --- a/dviware/dvisvgm/src/DVIReader.cpp +++ b/dviware/dvisvgm/src/DVIReader.cpp @@ -206,8 +206,11 @@ void DVIReader::putVFChar (Font *font, uint32_t c) { FontManager &fm = FontManager::instance(); const vector<uint8_t> *dvi = vf->getDVI(c); // try to get DVI snippet that represents character c Font *firstFont = fm.vfFirstFont(vf); - if (!dvi && (!firstFont || !firstFont->getMetrics()->isJFM())) - return; + if (!dvi) { + const FontMetrics *ffm = firstFont ? firstFont->getMetrics() : nullptr; + if (!ffm || (!ffm->isJFM() && !ffm->isOFM())) + return; + } fm.enterVF(vf); // enter VF font number context int savedFontNum = _currFontNum; // save current font number setFont(fm.vfFirstFontNum(vf), SetFontMode::VF_ENTER); |