20 #ifndef __UNICODEUTILITIES__
21 #define __UNICODEUTILITIES__
27 #ifndef __MACLOCALES__
31 #ifndef __TEXTCOMMON__
47 #if PRAGMA_STRUCT_ALIGN
48 #pragma options align = mac68k
49 #elif PRAGMA_STRUCT_PACKPUSH
51 #elif PRAGMA_STRUCT_PACK
82 typedef UInt16 UCKeyCharSeq;
84 kUCKeyOutputStateIndexMask = 0x4000,
85 kUCKeyOutputSequenceIndexMask = 0x8000,
86 kUCKeyOutputTestForIndexMask = 0xC000,
105 UCKeyCharSeq stateZeroCharData;
106 UInt16 stateZeroNextState;
107 UInt16 stateEntryCount;
108 UInt16 stateEntryFormat;
119 kUCKeyStateEntryTerminalFormat = 0x0001,
120 kUCKeyStateEntryRangeFormat = 0x0002
130 UCKeyCharSeq charData;
142 UInt16 curStateStart;
144 UInt8 deltaMultiplier;
145 UCKeyCharSeq charData;
163 UInt32 keyboardTypeFirst;
183 UInt16 keyLayoutFeatureInfoFormat;
185 UniCharCount maxOutputStringLength;
190 UInt16 keyModifiersToTableNumFormat;
201 UInt16 keyToCharTableIndexFormat;
218 UInt16 keyStateRecordsIndexFormat;
232 UInt16 keyStateTerminatorsFormat;
244 UInt16 keySequenceDataIndexFormat;
263 kUCKeyLayoutHeaderFormat = 0x1002,
264 kUCKeyLayoutFeatureInfoFormat = 0x2001,
265 kUCKeyModifiersToTableNumFormat = 0x3001,
266 kUCKeyToCharTableIndexFormat = 0x4001,
267 kUCKeyStateRecordsIndexFormat = 0x5001,
268 kUCKeyStateTerminatorsFormat = 0x6001,
269 kUCKeySequenceDataIndexFormat = 0x7001
279 kUCKeyActionDown = 0,
293 kUCKeyTranslateNoDeadKeysBit =
297 enum { kUCKeyTranslateNoDeadKeysMask = 1L << kUCKeyTranslateNoDeadKeysBit };
305 enum { kUnicodeCollationClass = FOUR_CHAR_CODE(
'ucol') };
307 typedef struct OpaqueCollatorRef *CollatorRef;
308 typedef UInt32 UCCollateOptions;
312 kUCCollateWidthInsensitiveMask = 1L << 2,
313 kUCCollateCaseInsensitiveMask = 1L << 3,
314 kUCCollateDiacritInsensitiveMask = 1L << 4,
318 kUCCollateDigitsAsNumberMask = 1L << 17
322 kUCCollateStandardOptions =
330 enum { kUCCollateTypeHFSExtended = 1 };
334 enum { kUCCollateTypeSourceMask = 0x000000FF, kUCCollateTypeShiftBits = 24 };
337 kUCCollateTypeMask = kUCCollateTypeSourceMask << kUCCollateTypeShiftBits
340 typedef UInt32 UCCollationValue;
347 enum { kUnicodeTextBreakClass = FOUR_CHAR_CODE(
'ubrk') };
349 typedef struct OpaqueTextBreakLocatorRef *TextBreakLocatorRef;
350 typedef UInt32 UCTextBreakType;
352 kUCTextBreakCharMask = 1L << 0,
353 kUCTextBreakClusterMask = 1L << 2,
354 kUCTextBreakWordMask = 1L << 4,
355 kUCTextBreakLineMask = 1L << 6
358 typedef UInt32 UCTextBreakOptions;
360 kUCTextBreakLeadingEdgeMask = 1L << 0,
361 kUCTextBreakGoBackwardsMask = 1L << 1,
362 kUCTextBreakIterateMask = 1L << 2
381 UInt16 keyAction, UInt32 modifierKeyState, UInt32 keyboardType,
382 OptionBits keyTranslateOptions, UInt32 *deadKeyState,
383 UniCharCount maxStringLength, UniCharCount *actualStringLength,
384 UniChar unicodeString[]);
397 UCCollateOptions options, CollatorRef *collatorRef);
409 UniCharCount textLength, ItemCount maxKeySize,
410 ItemCount *actualKeySize, UCCollationValue collationKey[]);
422 const UCCollationValue *key2Ptr, ItemCount key2Length,
423 Boolean *equivalent, SInt32 *order);
435 UniCharCount text1Length,
const UniChar *text2Ptr,
436 UniCharCount text2Length,
Boolean *equivalent, SInt32 *order);
461 UniCharCount text1Length,
const UniChar *text2Ptr,
462 UniCharCount text2Length,
Boolean *equivalent,
477 UniCharCount text1Length,
const UniChar *text2Ptr,
478 UniCharCount text2Length,
Boolean *equivalent,
492 UCTextBreakType breakTypes,
493 TextBreakLocatorRef *breakRef);
505 UCTextBreakOptions options,
const UniChar *textPtr,
520 #if PRAGMA_STRUCT_ALIGN
521 #pragma options align = reset
522 #elif PRAGMA_STRUCT_PACKPUSH
524 #elif PRAGMA_STRUCT_PACK
528 #ifdef PRAGMA_IMPORT_OFF
Types & prototypes for locale functions.
FourCharCode LocaleOperationVariant
Definition: MacLocales.h:74
struct OpaqueLocaleRef * LocaleRef
Definition: MacLocales.h:57
Basic Macintosh data types.
unsigned char Boolean
Definition: MacTypes.h:318
TextEncoding-related types and constants, and prototypes for related functions.
UInt32 UniCharArrayOffset
Definition: TextCommon.h:545
@ kUCKeyActionUp
Definition: UnicodeUtilities.h:280
@ kUCKeyActionDisplay
Definition: UnicodeUtilities.h:282
@ kUCKeyActionAutoKey
Definition: UnicodeUtilities.h:281
UInt16 UCKeyOutput
Definition: UnicodeUtilities.h:81
OSStatus UCCompareTextDefault(UCCollateOptions options, const UniChar *text1Ptr, UniCharCount text1Length, const UniChar *text2Ptr, UniCharCount text2Length, Boolean *equivalent, SInt32 *order)
OSStatus UCDisposeCollator(CollatorRef *collatorRef)
OSStatus UCGetCollationKey(CollatorRef collatorRef, const UniChar *textPtr, UniCharCount textLength, ItemCount maxKeySize, ItemCount *actualKeySize, UCCollationValue collationKey[])
OSStatus UCDisposeTextBreakLocator(TextBreakLocatorRef *breakRef)
OSStatus UCCompareText(CollatorRef collatorRef, const UniChar *text1Ptr, UniCharCount text1Length, const UniChar *text2Ptr, UniCharCount text2Length, Boolean *equivalent, SInt32 *order)
OSStatus UCKeyTranslate(const UCKeyboardLayout *keyLayoutPtr, UInt16 virtualKeyCode, UInt16 keyAction, UInt32 modifierKeyState, UInt32 keyboardType, OptionBits keyTranslateOptions, UInt32 *deadKeyState, UniCharCount maxStringLength, UniCharCount *actualStringLength, UniChar unicodeString[])
OSStatus UCCompareCollationKeys(const UCCollationValue *key1Ptr, ItemCount key1Length, const UCCollationValue *key2Ptr, ItemCount key2Length, Boolean *equivalent, SInt32 *order)
OSStatus UCFindTextBreak(TextBreakLocatorRef breakRef, UCTextBreakType breakType, UCTextBreakOptions options, const UniChar *textPtr, UniCharCount textLength, UniCharArrayOffset startOffset, UniCharArrayOffset *breakOffset)
OSStatus UCCreateTextBreakLocator(LocaleRef locale, LocaleOperationVariant opVariant, UCTextBreakType breakTypes, TextBreakLocatorRef *breakRef)
OSStatus UCCompareTextNoLocale(UCCollateOptions options, const UniChar *text1Ptr, UniCharCount text1Length, const UniChar *text2Ptr, UniCharCount text2Length, Boolean *equivalent, SInt32 *order)
@ kUCCollateDigitsOverrideMask
Definition: UnicodeUtilities.h:317
@ kUCCollateComposeInsensitiveMask
Definition: UnicodeUtilities.h:311
@ kUCCollatePunctuationSignificantMask
Definition: UnicodeUtilities.h:315
OSStatus UCCreateCollator(LocaleRef locale, LocaleOperationVariant opVariant, UCCollateOptions options, CollatorRef *collatorRef)
@ kUCKeyOutputGetIndexMask
Definition: UnicodeUtilities.h:87
Definition: UnicodeUtilities.h:182
UInt16 reserved
Definition: UnicodeUtilities.h:184
Definition: UnicodeUtilities.h:189
UInt8 tableNum[1]
Definition: UnicodeUtilities.h:193
ItemCount modifiersCount
Definition: UnicodeUtilities.h:192
UInt16 defaultTableNum
Definition: UnicodeUtilities.h:191
Definition: UnicodeUtilities.h:243
UInt16 charSequenceCount
Definition: UnicodeUtilities.h:245
UInt16 charSequenceOffsets[1]
Definition: UnicodeUtilities.h:247
Definition: UnicodeUtilities.h:141
Definition: UnicodeUtilities.h:128
Definition: UnicodeUtilities.h:104
UInt32 stateEntryData[1]
Definition: UnicodeUtilities.h:111
Definition: UnicodeUtilities.h:217
ByteOffset keyStateRecordOffsets[1]
Definition: UnicodeUtilities.h:220
UInt16 keyStateRecordCount
Definition: UnicodeUtilities.h:219
Definition: UnicodeUtilities.h:231
UInt16 keyStateTerminatorCount
Definition: UnicodeUtilities.h:233
UCKeyCharSeq keyStateTerminators[1]
Definition: UnicodeUtilities.h:235
Definition: UnicodeUtilities.h:200
UInt16 keyToCharTableSize
Definition: UnicodeUtilities.h:202
ItemCount keyToCharTableCount
Definition: UnicodeUtilities.h:203
ByteOffset keyToCharTableOffsets[1]
Definition: UnicodeUtilities.h:205
Definition: UnicodeUtilities.h:172
ItemCount keyboardTypeCount
Definition: UnicodeUtilities.h:177
UInt16 keyLayoutDataVersion
Definition: UnicodeUtilities.h:175
UCKeyboardTypeHeader keyboardTypeList[1]
Definition: UnicodeUtilities.h:178
UInt16 keyLayoutHeaderFormat
Definition: UnicodeUtilities.h:174
ByteOffset keyLayoutFeatureInfoOffset
Definition: UnicodeUtilities.h:176