summaryrefslogtreecommitdiff
path: root/dviware/dvisvgm/src/DVIReader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dviware/dvisvgm/src/DVIReader.cpp')
-rw-r--r--dviware/dvisvgm/src/DVIReader.cpp7
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);