summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/harfbuzz-ng/src/hb-common.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/harfbuzz-ng/src/hb-common.cc')
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-common.cc32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/3rdparty/harfbuzz-ng/src/hb-common.cc b/src/3rdparty/harfbuzz-ng/src/hb-common.cc
index 0fd790bc04..416d082a6b 100644
--- a/src/3rdparty/harfbuzz-ng/src/hb-common.cc
+++ b/src/3rdparty/harfbuzz-ng/src/hb-common.cc
@@ -33,6 +33,10 @@
#include <locale.h>
+#ifdef _WIN32_WCE
+#define strdup(x) _strdup(x)
+#endif
+
/* hb_options_t */
@@ -234,6 +238,7 @@ struct hb_language_item_t {
static hb_language_item_t *langs;
+#ifdef HAVE_ATEXIT
static inline
void free_langs (void)
{
@@ -244,6 +249,7 @@ void free_langs (void)
langs = next;
}
}
+#endif
static hb_language_item_t *
lang_find_or_insert (const char *key)
@@ -297,9 +303,11 @@ hb_language_from_string (const char *str, int len)
if (len >= 0)
{
+ /* NUL-terminate it. */
len = MIN (len, (int) sizeof (strbuf) - 1);
- str = (char *) memcpy (strbuf, str, len);
+ memcpy (strbuf, str, len);
strbuf[len] = '\0';
+ str = strbuf;
}
hb_language_item_t *item = lang_find_or_insert (str);
@@ -367,7 +375,7 @@ hb_script_from_iso15924_tag (hb_tag_t tag)
return HB_SCRIPT_INVALID;
/* Be lenient, adjust case (one capital letter followed by three small letters) */
- tag = (tag & 0xDFDFDFDF) | 0x00202020;
+ tag = (tag & 0xDFDFDFDFu) | 0x00202020u;
switch (tag) {
@@ -387,7 +395,7 @@ hb_script_from_iso15924_tag (hb_tag_t tag)
}
/* If it looks right, just use the tag as a script */
- if (((uint32_t) tag & 0xE0E0E0E0) == 0x40606060)
+ if (((uint32_t) tag & 0xE0E0E0E0u) == 0x40606060u)
return (hb_script_t) tag;
/* Otherwise, return unknown */
@@ -480,6 +488,14 @@ hb_script_get_horizontal_direction (hb_script_t script)
case HB_SCRIPT_MEROITIC_CURSIVE:
case HB_SCRIPT_MEROITIC_HIEROGLYPHS:
+ /* Unicode-7.0 additions */
+ case HB_SCRIPT_MANICHAEAN:
+ case HB_SCRIPT_MENDE_KIKAKUI:
+ case HB_SCRIPT_NABATAEAN:
+ case HB_SCRIPT_OLD_NORTH_ARABIAN:
+ case HB_SCRIPT_PALMYRENE:
+ case HB_SCRIPT_PSALTER_PAHLAVI:
+
return HB_DIRECTION_RTL;
}
@@ -557,7 +573,7 @@ hb_version_string (void)
}
/**
- * hb_version_check:
+ * hb_version_atleast:
* @major:
* @minor:
* @micro:
@@ -569,9 +585,9 @@ hb_version_string (void)
* Since: 1.0
**/
hb_bool_t
-hb_version_check (unsigned int major,
- unsigned int minor,
- unsigned int micro)
+hb_version_atleast (unsigned int major,
+ unsigned int minor,
+ unsigned int micro)
{
- return HB_VERSION_CHECK (major, minor, micro);
+ return HB_VERSION_ATLEAST (major, minor, micro);
}