From 889648aa4d59940cd5e8a766fee0575582c72255 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sat, 23 Aug 2008 16:17:23 +0000 Subject: Convert UTF-8 text to local charset before printing to screen svn path=/trunk/netsurf/; revision=5184 --- amiga/utf8.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'amiga/utf8.c') diff --git a/amiga/utf8.c b/amiga/utf8.c index 22812ba0c..87c95d58a 100755 --- a/amiga/utf8.c +++ b/amiga/utf8.c @@ -18,8 +18,60 @@ #include #include "utils/utf8.h" +#include +#include +#include utf8_convert_ret utf8_to_local_encoding(const char *string, size_t len, char **result) { +/* + struct codeset *cs = CodesetsFind("ISO-8859-1", + CSA_FallbackToDefault,FALSE, + TAG_DONE); +*/ + +// if(!len) return UTF8_CONVERT_OK; + + *result = CodesetsUTF8ToStr(CSA_Source,string, + CSA_SourceLen,len, +// CSA_MapForeignChars,TRUE, +// CSA_DestCodeset,cs, + TAG_DONE); + + return UTF8_CONVERT_OK; +} + +ULONG ami_utf8_to_any(const char *string, size_t len, char **result) +{ + uint16 mibenum = 0; + + struct codeset *cs = CodesetsFindBest(CSA_Source,string, + CSA_SourceLen,len, + CSA_FallbackToDefault,TRUE, + TAG_DONE); + + *result = CodesetsUTF8ToStr(CSA_Source,string, + CSA_SourceLen,len, +// CSA_MapForeignChars,TRUE, + CSA_DestCodeset,cs, + TAG_DONE); + + mibenum = parserutils_charset_mibenum_from_name(cs->name,strlen(cs->name)); + + printf("%ld\n",mibenum); + + return mibenum; // mibenum +} + +/* +char *ami_utf8_alloc(char *string) +{ + return (AllocVec(CodesetsUTF8Len(string)+1,MEMF_CLEAR)); +} +*/ + +void ami_utf8_free(char *ptr) +{ + if(ptr) CodesetsFreeA(ptr,NULL); } -- cgit v1.2.3