| /*!**************************************************************************** |
| |
| @file PVRTUnicode.h |
| @copyright Copyright (c) Imagination Technologies Limited. |
| @brief A small collection of functions used to decode Unicode formats to |
| individual code points. |
| |
| ******************************************************************************/ |
| #ifndef _PVRTUNICODE_H_ |
| #define _PVRTUNICODE_H_ |
| |
| #include "PVRTGlobal.h" |
| #include "PVRTError.h" |
| #include "PVRTArray.h" |
| |
| /**************************************************************************** |
| ** Functions |
| ****************************************************************************/ |
| |
| /*!*************************************************************************** |
| @brief Decodes a UTF8-encoded string in to Unicode code points |
| (UTF32). If pUTF8 is not null terminated, the results are |
| undefined. |
| @param[in] pUTF8 A UTF8 string, which is null terminated. |
| @param[out] aUTF32 An array of Unicode code points. |
| @return Success or failure. |
| *****************************************************************************/ |
| EPVRTError PVRTUnicodeUTF8ToUTF32( const PVRTuint8* const pUTF8, CPVRTArray<PVRTuint32>& aUTF32); |
| |
| /*!*************************************************************************** |
| @brief Decodes a UTF16-encoded string in to Unicode code points |
| (UTF32). If pUTF16 is not null terminated, the results are |
| undefined. |
| @param[in] pUTF16 A UTF16 string, which is null terminated. |
| @param[out] aUTF32 An array of Unicode code points. |
| @return Success or failure. |
| *****************************************************************************/ |
| EPVRTError PVRTUnicodeUTF16ToUTF32(const PVRTuint16* const pUTF16, CPVRTArray<PVRTuint32>& aUTF32); |
| |
| /*!*************************************************************************** |
| @brief Calculates the length of a UTF8 string. If pUTF8 is |
| not null terminated, the results are undefined. |
| @param[in] pUTF8 A UTF8 string, which is null terminated. |
| @return The length of the string, in Unicode code points. |
| *****************************************************************************/ |
| unsigned int PVRTUnicodeUTF8Length(const PVRTuint8* const pUTF8); |
| |
| /*!*************************************************************************** |
| @brief Calculates the length of a UTF16 string. |
| If pUTF16 is not null terminated, the results are |
| undefined. |
| @param[in] pUTF16 A UTF16 string, which is null terminated. |
| @return The length of the string, in Unicode code points. |
| *****************************************************************************/ |
| unsigned int PVRTUnicodeUTF16Length(const PVRTuint16* const pUTF16); |
| |
| /*!*************************************************************************** |
| @brief Checks whether the encoding of a UTF8 string is valid. |
| If pUTF8 is not null terminated, the results are undefined. |
| @param[in] pUTF8 A UTF8 string, which is null terminated. |
| @return true or false |
| *****************************************************************************/ |
| bool PVRTUnicodeValidUTF8(const PVRTuint8* const pUTF8); |
| |
| #endif /* _PVRTUNICODE_H_ */ |
| |
| /***************************************************************************** |
| End of file (PVRTUnicode.h) |
| *****************************************************************************/ |
| |