Files
ports/graphics/mapnik/files/patch-icu59
Jan Beich e8cffab440 graphics/mapnik: unbreak with ICU 59.1
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
2017-09-12 22:23:50 +00:00

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;