Added latin9 support.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15646 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2003-01-20 09:58:45 +00:00
parent 590043c595
commit 2aafe79eee
3 changed files with 296 additions and 1 deletions

View file

@ -44,6 +44,7 @@ typedef struct {unichar from; unsigned char to;} _ucc_;
#include "unicode/cyrillic.h"
#include "unicode/latin2.h"
#include "unicode/latin9.h"
#include "unicode/nextstep.h"
#include "unicode/caseconv.h"
#include "unicode/cop.h"
@ -168,7 +169,7 @@ static struct _strenc_ str_encoding_table[] = {
{NSISOThaiStringEncoding, "NSISOThaiStringEncoding","ISO-8859-11",1,1},
{NSISOLatin7StringEncoding, "NSISOLatin7StringEncoding","ISO-8859-13",0,0},
{NSISOLatin8StringEncoding, "NSISOLatin8StringEncoding","ISO-8859-14",0,0},
{NSISOLatin9StringEncoding, "NSISOLatin9StringEncoding","ISO-8859-15",0,0},
{NSISOLatin9StringEncoding, "NSISOLatin9StringEncoding","ISO-8859-15",1,1},
{NSUTF7StringEncoding, "NSUTF7StringEncoding","",0,0},
{NSGB2312StringEncoding, "NSGB2312StringEncoding","EUC-CN",0,0},
{NSGSM0338StringEncoding, "NSGSM0338StringEncoding","",0,1},
@ -364,6 +365,8 @@ GSEncodingForRegistry (NSString *registry, NSString *encoding)
return NSISOHebrewStringEncoding;
else if ([encoding isEqualToString: @"11"])
return NSISOThaiStringEncoding;
else if ([encoding isEqualToString: @"15"])
return NSISOLatin9StringEncoding;
// Other latin encodings are currently not supported
}
else if ([registry isEqualToString: @"iso10646"])
@ -1127,6 +1130,11 @@ GSToUnicode(unichar **dst, unsigned int *size, const unsigned char *src,
table = Latin2_char_to_uni_table;
goto tables;
case NSISOLatin9StringEncoding:
base = Latin9_conv_base;
table = Latin9_char_to_uni_table;
goto tables;
case NSISOThaiStringEncoding:
base = Thai_conv_base;
table = Thai_char_to_uni_table;
@ -1652,6 +1660,12 @@ bases:
tsize = Latin2_uni_to_char_table_size;
goto tables;
case NSISOLatin9StringEncoding:
base = (unichar)Latin9_conv_base;
table = Latin9_uni_to_char_table;
tsize = Latin9_uni_to_char_table_size;
goto tables;
case NSISOThaiStringEncoding:
base = (unichar)Thai_conv_base;
table = Thai_uni_to_char_table;