mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-27 06:19:42 +03:00
f4ecaaed31
- Convert Messages files to UTF-8 encoding. - Replace local_encoding_name() with platform specific utf8_[to,from]_local_encoding() functions - this allows mapping of 8bit characters 0x80->0x9f (inclusive). - All text that is rendered by the RISC OS Wimp is now converted to the system local encoding prior to display. - Lose the horrendous hack that was messages_get_key() - Menu text is now translated to system local encoding on the fly (if necessary) rather than at menu creation time. This allows the system alphabet to change under us and our menus remain usable. - The Languages menu now lists all languages that are present in the LangNames file. In the case of selecting the UI language, those languages which are not available are shaded. svn path=/import/netsurf/; revision=1796
43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
/*
|
|
* This file is part of NetSurf, http://netsurf.sourceforge.net/
|
|
* Licensed under the GNU General Public License,
|
|
* http://www.opensource.org/licenses/gpl-license
|
|
* Copyright 2005 John M Bell <jmb202@ecs.soton.ac.uk>
|
|
*/
|
|
|
|
/** \file
|
|
* UTF-8 manipulation functions (interface).
|
|
*/
|
|
|
|
#ifndef _NETSURF_UTILS_UTF8_H_
|
|
#define _NETSURF_UTILS_UTF8_H_
|
|
|
|
typedef enum {
|
|
UTF8_CONVERT_OK,
|
|
UTF8_CONVERT_NOMEM,
|
|
UTF8_CONVERT_BADENC
|
|
} utf8_convert_ret;
|
|
|
|
size_t utf8_to_ucs4(const char *s, size_t l);
|
|
size_t utf8_from_ucs4(size_t c, char *s);
|
|
|
|
size_t utf8_length(const char *s);
|
|
|
|
size_t utf8_prev(const char *s, size_t o);
|
|
size_t utf8_next(const char *s, size_t l, size_t o);
|
|
|
|
utf8_convert_ret utf8_to_enc(const char *string, const char *encname,
|
|
size_t len, char **result);
|
|
utf8_convert_ret utf8_from_enc(const char *string, const char *encname,
|
|
size_t len, char **result);
|
|
|
|
/* These two are platform specific */
|
|
utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len,
|
|
char **result);
|
|
utf8_convert_ret utf8_from_local_encoding(const char *string, size_t len,
|
|
char **result);
|
|
|
|
void utf8_finalise(void);
|
|
|
|
#endif
|