| #pragma once |
| |
| /* gunicode.h - Unicode manipulation functions |
| * |
| * Copyright (C) 1999, 2000 Tom Tromey |
| * Copyright 2000, 2005 Red Hat, Inc. |
| */ |
| |
| #include <stdbool.h> |
| #include <stdint.h> |
| #include <stdlib.h> |
| |
| char *utf8_prev_char (const char *p); |
| |
| extern const char utf8_skip_data[256]; |
| |
| /** |
| * g_utf8_next_char: |
| * @p: Pointer to the start of a valid UTF-8 character |
| * |
| * Skips to the next character in a UTF-8 string. The string must be |
| * valid; this macro is as fast as possible, and has no error-checking. |
| * You would use this macro to iterate over a string character by |
| * character. The macro returns the start of the next UTF-8 character. |
| * Before using this macro, use g_utf8_validate() to validate strings |
| * that may contain invalid UTF-8. |
| */ |
| #define utf8_next_char(p) (char *)((p) + utf8_skip_data[*(const unsigned char *)(p)]) |
| |
| bool unichar_iswide (uint32_t c); |