From b677b0a6aea377b43f1e85d2f4d4935df790ffa8 Mon Sep 17 00:00:00 2001 From: jagapen Date: Mon, 12 Mar 2001 14:42:52 +0000 Subject: [PATCH] String encoding enum updates. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@9338 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 9 +++++++ Headers/gnustep/base/NSString.h | 39 ++++++++++++++++++----------- Source/NSString.m | 3 ++- Source/Unicode.m | 44 ++++++++++++++++----------------- 4 files changed, 57 insertions(+), 38 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8e1ede7aa..90dec0ea9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2001-03-12 Jonathan Gapen + + * Headers/gnustep/base/NSString.h: Change NSCyrillicStringEncoding + to NSISOCyrillicStringEncoding, and likewise for Greek, Arabic, and + Hebrew, to avoid ambiguity. Add enum values for all remaining + ISO-8859 character sets, plus UTF-7. + * Source/NSString.m: Update pursuant to above changes. + * Source/Unicode.m: Ditto. + 2001-03-11 Adam Fedor * Source/NSThread.m: Remove runtime.h include since this isn't diff --git a/Headers/gnustep/base/NSString.h b/Headers/gnustep/base/NSString.h index 78163aa51..0ccacbe5e 100644 --- a/Headers/gnustep/base/NSString.h +++ b/Headers/gnustep/base/NSString.h @@ -58,31 +58,40 @@ typedef enum _NSStringEncoding NSNEXTSTEPStringEncoding = 2, NSJapaneseEUCStringEncoding = 3, NSUTF8StringEncoding = 4, - NSISOLatin1StringEncoding = 5, + NSISOLatin1StringEncoding = 5, // ISO-8859-1; West European NSSymbolStringEncoding = 6, NSNonLossyASCIIStringEncoding = 7, NSShiftJISStringEncoding = 8, - NSISOLatin2StringEncoding = 9, + NSISOLatin2StringEncoding = 9, // ISO-8859-2; East European NSUnicodeStringEncoding = 10, NSWindowsCP1251StringEncoding = 11, - NSWindowsCP1252StringEncoding = 12, - NSWindowsCP1253StringEncoding = 13, - NSWindowsCP1254StringEncoding = 14, - NSWindowsCP1250StringEncoding = 15, + NSWindowsCP1252StringEncoding = 12, // WinLatin1 + NSWindowsCP1253StringEncoding = 13, // Greek + NSWindowsCP1254StringEncoding = 14, // Turkish + NSWindowsCP1250StringEncoding = 15, // WinLatin2 NSISO2022JPStringEncoding = 21, NSMacOSRomanStringEncoding = 30, NSProprietaryStringEncoding = 31, // GNUstep additions - NSCyrillicStringEncoding = 22, - NSKOI8RStringEncoding = 50, - NSISOLatin3StringEncoding = 51, - NSISOLatin4StringEncoding = 52, - NSArabicStringEncoding = 53, - NSGreekStringEncoding = 54, - NSHebrewStringEncoding = 55, - NSGB2312StringEncoding = 56 - + NSKOI8RStringEncoding = 50, // Russian/Cyrillic + NSISOLatin3StringEncoding = 51, // ISO-8859-3; South European + NSISOLatin4StringEncoding = 52, // ISO-8859-4; North European + NSISOCyrillicStringEncoding = 22, // ISO-8859-5 + NSISOArabicStringEncoding = 53, // ISO-8859-6 + NSISOGreekStringEncoding = 54, // ISO-8859-7 + NSISOHebrewStringEncoding = 55, // ISO-8859-8 + NSISOLatin5StringEncoding = 57, // ISO-8859-9; Turkish + NSISOLatin6StringEncoding = 58, // ISO-8859-10; Nordic +/* Possible future ISO-8859 additions + NSISOThaiStringEncoding = 59, // ISO-8859-11 + // ISO-8859-12 +*/ + NSISOLatin7StringEncoding = 61, // ISO-8859-13 + NSISOLatin8StringEncoding = 62, // ISO-8859-14 + NSISOLatin9StringEncoding = 63, // ISO-8859-15; Replaces ISOLatin1 + NSGB2312StringEncoding = 56, + NSUTF7StringEncoding = 64 // RFC 2152 } NSStringEncoding; enum { diff --git a/Source/NSString.m b/Source/NSString.m index 2563e4a28..46b65c709 100644 --- a/Source/NSString.m +++ b/Source/NSString.m @@ -1834,6 +1834,7 @@ handle_printf_atsign (FILE *stream, { return self; } + s = NSZoneMalloc(GSObjCZone(self), sizeof(unichar)*len); caiImp = (unichar (*)())[self methodForSelector: caiSel]; for (count = 0; count < len; count++) @@ -2078,7 +2079,7 @@ handle_printf_atsign (FILE *stream, || (encoding == NSNEXTSTEPStringEncoding) || (encoding == NSNonLossyASCIIStringEncoding) || (encoding == NSSymbolStringEncoding) - || (encoding == NSCyrillicStringEncoding)) + || (encoding == NSISOCyrillicStringEncoding)) { char t; unsigned char *buff; diff --git a/Source/Unicode.m b/Source/Unicode.m index ece908228..85db98e12 100644 --- a/Source/Unicode.m +++ b/Source/Unicode.m @@ -82,13 +82,13 @@ static NSStringEncoding _availableEncodings[] = { NSMacOSRomanStringEncoding, // NSProprietaryStringEncoding, // GNUstep additions - NSCyrillicStringEncoding, + NSISOCyrillicStringEncoding, NSKOI8RStringEncoding, NSISOLatin3StringEncoding, NSISOLatin4StringEncoding, - NSArabicStringEncoding, - NSGreekStringEncoding, - NSHebrewStringEncoding, + NSISOArabicStringEncoding, + NSISOGreekStringEncoding, + NSISOHebrewStringEncoding, NSGB2312StringEncoding, 0 }; @@ -114,13 +114,13 @@ static NSStringEncoding _availableEncodings[] = { // NSMacOSRomanStringEncoding, // NSProprietaryStringEncoding, // GNUstep additions - NSCyrillicStringEncoding, + NSISOCyrillicStringEncoding, // NSKOI8RStringEncoding, // NSISOLatin3StringEncoding, // NSISOLatin4StringEncoding, -// NSArabicStringEncoding, -// NSGreekStringEncoding, -// NSHebrewStringEncoding, +// NSISOArabicStringEncoding, +// NSISOGreekStringEncoding, +// NSISOHebrewStringEncoding, // NSGB2312StringEncoding, 0 }; @@ -149,13 +149,13 @@ const struct _strenc_ str_encoding_table[]= {NSProprietaryStringEncoding, "NSProprietaryStringEncoding"}, // GNUstep additions - {NSCyrillicStringEncoding,"NSCyrillicStringEncoding"}, + {NSISOCyrillicStringEncoding,"NSISOCyrillicStringEncoding"}, {NSKOI8RStringEncoding, "NSKOI8RStringEncoding"}, {NSISOLatin3StringEncoding, "NSISOLatin3StringEncoding"}, {NSISOLatin4StringEncoding, "NSISOLatin4StringEncoding"}, - {NSArabicStringEncoding, "NSArabicStringEncoding"}, - {NSGreekStringEncoding, "NSGreekStringEncoding"}, - {NSHebrewStringEncoding, "NSHebrewStringEncoding"}, + {NSISOArabicStringEncoding, "NSISOArabicStringEncoding"}, + {NSISOGreekStringEncoding, "NSISOGreekStringEncoding"}, + {NSISOHebrewStringEncoding, "NSISOHebrewStringEncoding"}, {NSGB2312StringEncoding, "NSGB2312StringEncoding"}, {0, "Unknown encoding"} @@ -305,13 +305,13 @@ iconv_stringforencoding(NSStringEncoding enc) return "ISO-8859-3"; case NSISOLatin4StringEncoding: return "ISO-8859-4"; - case NSCyrillicStringEncoding: + case NSISOCyrillicStringEncoding: return "ISO-8859-5"; - case NSArabicStringEncoding: + case NSISOArabicStringEncoding: return "ISO-8859-6"; - case NSGreekStringEncoding: + case NSISOGreekStringEncoding: return "ISO-8859-7"; - case NSHebrewStringEncoding: + case NSISOHebrewStringEncoding: return "ISO-8859-8"; case NSGB2312StringEncoding: return "EUC-CN"; @@ -393,7 +393,7 @@ encode_chartouni(char c, NSStringEncoding enc) else return(Next_char_to_uni_table[(unc)c - Next_conv_base]); - case NSCyrillicStringEncoding: + case NSISOCyrillicStringEncoding: if ((unc)c < Cyrillic_conv_base) return (unichar)((unc)c); else @@ -466,7 +466,7 @@ encode_unitochar(unichar u, NSStringEncoding enc) return res ? '*' : Next_uni_to_char_table[--i].to; } - case NSCyrillicStringEncoding: + case NSISOCyrillicStringEncoding: if (u < (unichar)Cyrillic_conv_base) return (char)u; else @@ -554,7 +554,7 @@ encode_unitochar_strict(unichar u, NSStringEncoding enc) return res ? 0 : Next_uni_to_char_table[--i].to; } - case NSCyrillicStringEncoding: + case NSISOCyrillicStringEncoding: if (u < (unichar)Cyrillic_conv_base) return (char)u; else @@ -680,7 +680,7 @@ encode_strtoustr(unichar *u1, const char *s1, int size, NSStringEncoding enc) } return count; - case NSCyrillicStringEncoding: + case NSISOCyrillicStringEncoding: for (count = 0; (count < size) && (s1[count] != 0); count++) { unc c = (unc)s1[count]; @@ -794,7 +794,7 @@ encode_ustrtostr(char *s2, unichar *u1, int size, NSStringEncoding enc) } return count; - case NSCyrillicStringEncoding: + case NSISOCyrillicStringEncoding: for (count = 0; (count < size) && (u1[count] != (unichar)0); count++) { u = u1[count]; @@ -923,7 +923,7 @@ encode_ustrtostr_strict(char *s2, unichar *u1, int size, NSStringEncoding enc) } return count; - case NSCyrillicStringEncoding: + case NSISOCyrillicStringEncoding: for (count = 0; count < size; count++) { u = u1[count];