1 // Copyright (c) 1997 James Clark 2 // See the file COPYING for copying permission. 3 #pragma ident "%Z%%M% %I% %E% SMI" 4 5 #ifndef CharsetRegistry_INCLUDED 6 #define CharsetRegistry_INCLUDED 1 7 #ifdef __GNUG__ 8 #pragma interface 9 #endif 10 11 #include "Boolean.h" 12 #include "types.h" 13 #include "StringC.h" 14 #include "CharsetInfo.h" 15 16 #ifdef SP_NAMESPACE 17 namespace SP_NAMESPACE { 18 #endif 19 20 class SP_API CharsetRegistry { 21 public: 22 class SP_API Iter { 23 public: 24 virtual ~Iter(); 25 virtual Boolean next(WideChar &min, WideChar &max, UnivChar &) = 0; 26 }; 27 enum ISORegistrationNumber { 28 UNREGISTERED = 0, 29 ISO646_ASCII_G0 = 6, 30 ISO646_C0 = 1, 31 ISO6429 = 77, 32 ISO8859_1 = 100, 33 ISO8859_2 = 101, 34 ISO8859_3 = 109, 35 ISO8859_4 = 110, 36 ISO8859_5 = 144, 37 ISO8859_6 = 127, 38 ISO8859_7 = 126, 39 ISO8859_8 = 138, 40 ISO8859_9 = 148, 41 ISO646_JIS_G0 = 14, 42 JIS0201 = 13, 43 JIS0208 = 168, 44 JIS0212 = 159, 45 KSC5601 = 149, 46 GB2312 = 58, 47 ISO10646_UCS2 = 176, 48 ISO10646_UCS4 = 177, 49 BIG5 = 65535 // not registered 50 }; 51 static ISORegistrationNumber getRegistrationNumber(const StringC &desig, 52 const CharsetInfo &); 53 static Iter *makeIter(ISORegistrationNumber); 54 }; 55 56 #ifdef SP_NAMESPACE 57 } 58 #endif 59 60 #endif /* not CharsetRegistry_INCLUDED */ 61