diff options
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp')
-rw-r--r-- | Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp index b7c08bc1395..01501f29b0c 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp @@ -20,6 +20,7 @@ #include <algorithm> #include <sstream> +#include <vectorstream.hpp> #include "Color.hpp" #include "DVIActions.hpp" #include "DVIReader.hpp" @@ -27,7 +28,6 @@ #include "FontManager.hpp" #include "HashFunction.hpp" #include "utility.hpp" -#include "VectorStream.hpp" using namespace std; @@ -49,7 +49,7 @@ void DVIReader::executeAll () { try { opcode = executeCommand(); } - catch (const InvalidDVIFileException &e) { + catch (const DVIPrematureEOFException &e) { // end of stream reached opcode = -1; } @@ -64,7 +64,7 @@ void DVIReader::executeAll () { bool DVIReader::executePage (unsigned n) { clearStream(); // reset all status bits if (!isStreamValid()) - throw DVIException("invalid DVI file"); + throw DVIException("invalid DVI file (page "+to_string(n)+" not found"); if (n < 1 || n > numberOfPages()) return false; @@ -204,7 +204,7 @@ void DVIReader::cmdPop (int) { void DVIReader::putVFChar (Font *font, uint32_t c) { if (auto vf = font_cast<VirtualFont*>(font)) { // is current font a virtual font? FontManager &fm = FontManager::instance(); - const vector<uint8_t> *dvi = vf->getDVI(c); // try to get DVI snippet that represents character c + const auto *dvi = vf->getDVI(c); // try to get DVI snippet that represents character c Font *firstFont = fm.vfFirstFont(vf); if (!dvi) { const FontMetrics *ffm = firstFont ? firstFont->getMetrics() : nullptr; @@ -222,8 +222,8 @@ void DVIReader::putVFChar (Font *font, uint32_t c) { _dvi2bp = vf->scaledSize()/(1 << 20); DVIState savedState = _dviState; // save current cursor position _dviState.x = _dviState.y = _dviState.w = _dviState.z = 0; - VectorInputStream<uint8_t> vis(*dvi); - istream &is = replaceStream(vis); + ivectorstream<vector<char>> vis(*dvi); + auto &is = replaceStream(vis); try { executeAll(); // execute DVI fragment } @@ -534,7 +534,7 @@ void DVIReader::defineVFFont (uint32_t fontnum, const string &path, const string /** This template method is called by the VFReader after reading a character definition from a VF file. * @param[in] c character number * @param[in] dvi DVI fragment describing the character */ -void DVIReader::defineVFChar (uint32_t c, vector<uint8_t> &&dvi) { +void DVIReader::defineVFChar (uint32_t c, vector<char> &&dvi) { FontManager::instance().assignVFChar(c, std::move(dvi)); } |