src/unicode.cpp:47:42: error: incomplete result type 'mapnik::value_unicode_string' (aka 'icu::UnicodeString') in function definition
mapnik::value_unicode_string transcoder::transcode(const char* data, std::int32_t length) const
^
include/mapnik/value_types.hpp:39:11: note: forward declaration of 'icu::UnicodeString'
class UnicodeString;
^
src/unicode.cpp:51:34: error: variable has incomplete type 'mapnik::value_unicode_string' (aka 'icu::UnicodeString')
mapnik::value_unicode_string ustr(data,length,conv_,err);
^
include/mapnik/value_types.hpp:39:11: note: forward declaration of 'icu::UnicodeString'
class UnicodeString;
^
PR: 218788
Obtained from: upstream
40 lines
1.1 KiB
Plaintext
40 lines
1.1 KiB
Plaintext
https://github.com/mapnik/mapnik/commit/9e58c890430d
|
|
https://github.com/mapnik/mapnik/commit/093fcee6d1ba
|
|
|
|
--- include/mapnik/text/harfbuzz_shaper.hpp.orig 2015-11-26 14:32:15 UTC
|
|
+++ include/mapnik/text/harfbuzz_shaper.hpp
|
|
@@ -41,6 +41,7 @@
|
|
#include <harfbuzz/hb-ft.h>
|
|
|
|
// icu
|
|
+#include <unicode/uvernum.h>
|
|
#include <unicode/uscript.h>
|
|
|
|
namespace mapnik
|
|
@@ -55,7 +56,8 @@ static inline hb_script_t _icu_script_to_script(UScrip
|
|
static inline const uint16_t * uchar_to_utf16(const UChar* src)
|
|
{
|
|
static_assert(sizeof(UChar) == sizeof(uint16_t),"UChar is eq size to uint16_t");
|
|
-#if defined(_MSC_VER)
|
|
+#if defined(_MSC_VER) || (U_ICU_VERSION_MAJOR_NUM >= 59)
|
|
+ // ^^ http://site.icu-project.org/download/59#TOC-ICU4C-char16_t1
|
|
return reinterpret_cast<const uint16_t *>(src);
|
|
#else
|
|
return src;
|
|
--- include/mapnik/unicode.hpp.orig 2015-11-26 14:32:15 UTC
|
|
+++ include/mapnik/unicode.hpp
|
|
@@ -31,6 +31,13 @@
|
|
// std
|
|
#include <cstdint>
|
|
#include <string>
|
|
+// icu
|
|
+#if (U_ICU_VERSION_MAJOR_NUM >= 59)
|
|
+#pragma GCC diagnostic push
|
|
+#include <mapnik/warning_ignore.hpp>
|
|
+#include <unicode/unistr.h>
|
|
+#pragma GCC diagnostic pop
|
|
+#endif
|
|
|
|
struct UConverter;
|
|
|