diff -r b72c6db6890b -r 5dc02b23752f src/corelib/tools/qchar.h --- a/src/corelib/tools/qchar.h Wed Jun 23 19:07:03 2010 +0300 +++ b/src/corelib/tools/qchar.h Tue Jul 06 15:10:48 2010 +0300 @@ -285,6 +285,15 @@ inline void setCell(uchar cell); inline void setRow(uchar row); + static inline bool isHighSurrogate(uint ucs4) { + return ((ucs4 & 0xfffffc00) == 0xd800); + } + static inline bool isLowSurrogate(uint ucs4) { + return ((ucs4 & 0xfffffc00) == 0xdc00); + } + static inline bool requiresSurrogates(uint ucs4) { + return (ucs4 >= 0x10000); + } static inline uint surrogateToUcs4(ushort high, ushort low) { return (uint(high)<<10) + low - 0x35fdc00; }