diff options
author | Marcoen Hirschberg <marcoen@gmail.com> | 2005-12-06 13:27:15 +0000 |
---|---|---|
committer | Marcoen Hirschberg <marcoen@gmail.com> | 2005-12-06 13:27:15 +0000 |
commit | b0fee17d6e1a463dcd84568e5997663b69488998 (patch) | |
tree | fffce775c4d1636a8bbc9e97669aa99b9378fc15 /firmware/include/rbunicode.h | |
parent | 01917ec9809f1abff87cb372b700fc09476d343e (diff) | |
download | rockbox-b0fee17d6e1a463dcd84568e5997663b69488998.tar.gz rockbox-b0fee17d6e1a463dcd84568e5997663b69488998.zip |
waiting is over: initial unicode commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8169 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/include/rbunicode.h')
-rw-r--r-- | firmware/include/rbunicode.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/firmware/include/rbunicode.h b/firmware/include/rbunicode.h new file mode 100644 index 0000000000..1d4bc43096 --- /dev/null +++ b/firmware/include/rbunicode.h @@ -0,0 +1,29 @@ +/* Some conversion functions for handling UTF-8 + * + * copyright Marcoen Hirschberg (2004,2005) + * + * I got all the info from: + * http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + * and + * http://en.wikipedia.org/wiki/Unicode + */ + +#define CODEPAGE_DIR "/.rockbox/codepages" + +#define MAX_CP_TABLE_SIZE 32768 + +#define MASK 0xC0 /* 11000000 */ +#define COMP 0x80 /* 10x */ + +extern int codepage; + +/* Encode a UCS value as UTF-8 and return a pointer after this UTF-8 char. */ +unsigned char* utf8encode(unsigned long ucs, unsigned char *utf8); +unsigned char* iso_decode(const unsigned char *latin1, unsigned char *utf8, int cp, int count); +unsigned char* utf16LEdecode(const unsigned char *utf16, unsigned char *utf8, unsigned int count); +unsigned char* utf16BEdecode(const unsigned char *utf16, unsigned char *utf8, unsigned int count); +unsigned char* utf16decode(const unsigned char *utf16, unsigned char *utf8, unsigned int count); +unsigned long utf8length(const unsigned char *utf8); +const unsigned char* utf8decode(const unsigned char *utf8, unsigned short *ucs); +void set_codepage(int cp); +int utf8seek(const unsigned char* utf8, int offset); |