diff options
author | bubnikv <bubnikv@gmail.com> | 2017-08-03 18:31:31 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2017-08-03 18:31:31 +0300 |
commit | 138501872426ae1fc7023478dd1deba96d936ecf (patch) | |
tree | 74825b7caf247a6761d1cb0705edd16297e700ca /xs/src/libslic3r/SVG.cpp | |
parent | 31085fb1d70510e3d73c64c0b7fc7a394b6e6f72 (diff) |
Unicode handling:
Removed the Perl dependencies on Encode, Encode::Locale and Unicode::Normalize.
Added dependency on boost::locale.
Added encode_path, decode_path, normalize_utf8 functions to Slic3r.xs
Slic3r.xs has been made mostly utf8 safe by using the boost::nowide library,
thanks to @alexrj for the idea.
Simplified the encode_path / decode_path stuff:
wxWidgets are unicode already, so there is no need to decode_path() from it.
Perl / win32 interfacing is non-unicode, so decode_path() is executed
on ARGV just at the beginning of the perl scripts.
Diffstat (limited to 'xs/src/libslic3r/SVG.cpp')
-rw-r--r-- | xs/src/libslic3r/SVG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xs/src/libslic3r/SVG.cpp b/xs/src/libslic3r/SVG.cpp index b8580fd5e..c94db8e74 100644 --- a/xs/src/libslic3r/SVG.cpp +++ b/xs/src/libslic3r/SVG.cpp @@ -1,6 +1,8 @@ #include "SVG.hpp" #include <iostream> +#include <boost/nowide/cstdio.hpp> + #define COORD(x) ((float)unscale((x))*10) namespace Slic3r { @@ -8,7 +10,7 @@ namespace Slic3r { bool SVG::open(const char* afilename) { this->filename = afilename; - this->f = fopen(afilename, "w"); + this->f = boost::nowide::fopen(afilename, "w"); if (this->f == NULL) return false; fprintf(this->f, @@ -27,7 +29,7 @@ bool SVG::open(const char* afilename, const BoundingBox &bbox, const coord_t bbo this->filename = afilename; this->origin = bbox.min - Point(bbox_offset, bbox_offset); this->flipY = aflipY; - this->f = ::fopen(afilename, "w"); + this->f = boost::nowide::fopen(afilename, "w"); if (f == NULL) return false; float w = COORD(bbox.max.x - bbox.min.x + 2 * bbox_offset); |