]> git.lyx.org Git - lyx.git/blobdiff - src/graphics/epstools.cpp
Simplify b3fe9cb7049da
[lyx.git] / src / graphics / epstools.cpp
index 44d577c14f9ae2feacd9adfe04a6e4bf6a85a955..5e3dc6c0a95dfb041c0a8fdab2610afc7b4b249a 100644 (file)
 #include "Format.h"
 
 #include "support/debug.h"
+#include "support/docstream.h"
 #include "support/filetools.h"
 #include "support/FileName.h"
-#include "support/regex.h"
+
+#include <regex>
 
 using namespace std;
 using namespace lyx::support;
@@ -46,24 +48,24 @@ string const readBB_from_PSFile(FileName const & file)
        // end of the file. Than we have in the header:
        // %%BoundingBox: (atend)
        // In this case we must check the end.
-       bool zipped = file.isZippedFile();
+       bool const zipped = theFormats().isZippedFile(file);
        FileName const file_ = zipped ? unzipFile(file) : file;
-       string const format = file_.guessFormatFromContents();
+       string const format = theFormats().getFormatFromFile(file_);
 
-       if (format != "eps" && format != "ps") {
+       if (!Formats::isPostScriptFileFormat(format)) {
                LYXERR(Debug::GRAPHICS, "[readBB_from_PSFile] no(e)ps-format");
                if (zipped)
                        file_.removeFile();
                return string();
        }
 
-       static lyx::regex bbox_re(
-               "^%%BoundingBox:\\s*([[:digit:]]+)\\s+([[:digit:]]+)\\s+([[:digit:]]+)\\s+([[:digit:]]+)");
+       static regex bbox_re("^%%BoundingBox:\\s*([-]*[[:digit:]]+)"
+               "\\s+([-]*[[:digit:]]+)\\s+([-]*[[:digit:]]+)\\s+([-]*[[:digit:]]+)");
        ifstream is(file_.toFilesystemEncoding().c_str());
        while (is) {
                string s;
                getline(is,s);
-               lyx::smatch what;
+               smatch what;
                if (regex_match(s, what, bbox_re)) {
                        // Our callers expect the tokens in the string
                        // separated by single spaces.