mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
[gutf8.c] Add a bit of documentation to UNICODE_VALID
This commit is contained in:
parent
ed3c914cdb
commit
5047fd7f68
18
glib/gutf8.c
18
glib/gutf8.c
@ -95,7 +95,23 @@
|
|||||||
(Result) <<= 6; \
|
(Result) <<= 6; \
|
||||||
(Result) |= ((Chars)[(Count)] & 0x3f); \
|
(Result) |= ((Chars)[(Count)] & 0x3f); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check whether a Unicode (5.2) char is in a valid range.
|
||||||
|
*
|
||||||
|
* The first check comes from the Unicode guarantee to never encode
|
||||||
|
* a point above 0x0010ffff, since UTF-16 couldn't represent it.
|
||||||
|
*
|
||||||
|
* The second check covers surrogate pairs (category Cs).
|
||||||
|
*
|
||||||
|
* The last two checks cover "Noncharacter": defined as:
|
||||||
|
* "A code point that is permanently reserved for
|
||||||
|
* internal use, and that should never be interchanged. In
|
||||||
|
* Unicode 3.1, these consist of the values U+nFFFE and U+nFFFF
|
||||||
|
* (where n is from 0 to 10_16) and the values U+FDD0..U+FDEF."
|
||||||
|
*
|
||||||
|
* @param Char the character
|
||||||
|
*/
|
||||||
#define UNICODE_VALID(Char) \
|
#define UNICODE_VALID(Char) \
|
||||||
((Char) < 0x110000 && \
|
((Char) < 0x110000 && \
|
||||||
(((Char) & 0xFFFFF800) != 0xD800) && \
|
(((Char) & 0xFFFFF800) != 0xD800) && \
|
||||||
|
Loading…
Reference in New Issue
Block a user