summaryrefslogtreecommitdiff
path: root/glib
diff options
context:
space:
mode:
Diffstat (limited to 'glib')
-rw-r--r--glib/glib.symbols1
-rw-r--r--glib/gunicode.h1
-rw-r--r--glib/guniprop.c24
3 files changed, 26 insertions, 0 deletions
diff --git a/glib/glib.symbols b/glib/glib.symbols
index 9a4dbbcb0..71e7fa98e 100644
--- a/glib/glib.symbols
+++ b/glib/glib.symbols
@@ -1305,6 +1305,7 @@ g_unichar_iszerowidth G_GNUC_CONST
g_unichar_tolower G_GNUC_CONST
g_unichar_totitle G_GNUC_CONST
g_unichar_toupper G_GNUC_CONST
+g_unichar_ismark G_GNUC_CONST
g_unichar_get_mirror_char
g_unichar_get_script
g_unichar_digit_value G_GNUC_CONST
diff --git a/glib/gunicode.h b/glib/gunicode.h
index 050045fb6..f8f6e1aeb 100644
--- a/glib/gunicode.h
+++ b/glib/gunicode.h
@@ -216,6 +216,7 @@ gboolean g_unichar_isdefined (gunichar c) G_GNUC_CONST;
gboolean g_unichar_iswide (gunichar c) G_GNUC_CONST;
gboolean g_unichar_iswide_cjk(gunichar c) G_GNUC_CONST;
gboolean g_unichar_iszerowidth(gunichar c) G_GNUC_CONST;
+gboolean g_unichar_ismark (gunichar c) G_GNUC_CONST;
/* More <ctype.h> functions. These convert between the three cases.
* See the Unicode book to understand title case. */
diff --git a/glib/guniprop.c b/glib/guniprop.c
index 702903761..f45d931f4 100644
--- a/glib/guniprop.c
+++ b/glib/guniprop.c
@@ -289,6 +289,30 @@ g_unichar_isspace (gunichar c)
}
/**
+ * g_unichar_ismark:
+ * @c: a Unicode character
+ *
+ * Determines whether a character is a mark (non-spacing mark,
+ * combining mark, or enclosing mark in Unicode speak).
+ * Given some UTF-8 text, obtain a character value
+ * with g_utf8_get_char().
+ *
+ * Note: in most cases where isalpha characters are allowed,
+ * ismark characters should be allowed to as they are essential
+ * for writing most European languages as well as many non-Latin
+ * scripts.
+ *
+ * Return value: %TRUE if @c is a mark character
+ *
+ * Since: 2.14
+ **/
+gboolean
+g_unichar_ismark (gunichar c)
+{
+ return ISMARK (TYPE (c));
+}
+
+/**
* g_unichar_isupper:
* @c: a Unicode character
*