19 #ifndef __TEXTCOMMON__
20 #define __TEXTCOMMON__
39 #if PRAGMA_STRUCT_ALIGN
40 #pragma options align = mac68k
41 #elif PRAGMA_STRUCT_PACKPUSH
43 #elif PRAGMA_STRUCT_PACK
50 typedef UInt32 TextEncodingBase;
54 kTextEncodingMacRoman = 0L,
55 kTextEncodingMacJapanese = 1,
56 kTextEncodingMacChineseTrad = 2,
57 kTextEncodingMacKorean = 3,
58 kTextEncodingMacArabic = 4,
59 kTextEncodingMacHebrew = 5,
60 kTextEncodingMacGreek = 6,
61 kTextEncodingMacCyrillic = 7,
62 kTextEncodingMacDevanagari = 9,
63 kTextEncodingMacGurmukhi = 10,
64 kTextEncodingMacGujarati = 11,
65 kTextEncodingMacOriya = 12,
66 kTextEncodingMacBengali = 13,
67 kTextEncodingMacTamil = 14,
68 kTextEncodingMacTelugu = 15,
69 kTextEncodingMacKannada = 16,
70 kTextEncodingMacMalayalam = 17,
71 kTextEncodingMacSinhalese = 18,
72 kTextEncodingMacBurmese = 19,
73 kTextEncodingMacKhmer = 20,
74 kTextEncodingMacThai = 21,
75 kTextEncodingMacLaotian = 22,
76 kTextEncodingMacGeorgian = 23,
77 kTextEncodingMacArmenian = 24,
78 kTextEncodingMacChineseSimp = 25,
79 kTextEncodingMacTibetan = 26,
80 kTextEncodingMacMongolian = 27,
81 kTextEncodingMacEthiopic = 28,
82 kTextEncodingMacCentralEurRoman = 29,
83 kTextEncodingMacVietnamese = 30,
84 kTextEncodingMacExtArabic = 31,
85 kTextEncodingMacSymbol = 33,
86 kTextEncodingMacDingbats = 34,
87 kTextEncodingMacTurkish = 35,
88 kTextEncodingMacCroatian = 36,
89 kTextEncodingMacIcelandic = 37,
90 kTextEncodingMacRomanian = 38,
91 kTextEncodingMacCeltic = 39,
92 kTextEncodingMacGaelic = 40,
93 kTextEncodingMacKeyboardGlyphs = 41
99 kTextEncodingMacTradChinese = kTextEncodingMacChineseTrad,
100 kTextEncodingMacRSymbol = 8,
101 kTextEncodingMacSimpChinese = kTextEncodingMacChineseSimp,
102 kTextEncodingMacGeez = kTextEncodingMacEthiopic,
103 kTextEncodingMacEastEurRoman = kTextEncodingMacCentralEurRoman,
104 kTextEncodingMacUninterp = 32
119 kTextEncodingMacUnicode = 0x7E
126 kTextEncodingMacFarsi = 0x8C,
128 kTextEncodingMacUkrainian = 0x98,
131 kTextEncodingMacInuit =
133 kTextEncodingMacVT100 = 0xFC
140 kTextEncodingMacHFS = 0xFF
146 kTextEncodingUnicodeDefault =
148 kTextEncodingUnicodeV1_1 = 0x0101,
149 kTextEncodingISO10646_1993 = 0x0101,
150 kTextEncodingUnicodeV2_0 = 0x0103,
151 kTextEncodingUnicodeV2_1 =
153 kTextEncodingUnicodeV3_0 = 0x0104,
154 kTextEncodingUnicodeV3_1 =
156 kTextEncodingUnicodeV3_2 = 0x0106
162 kTextEncodingISOLatin1 = 0x0201,
163 kTextEncodingISOLatin2 = 0x0202,
164 kTextEncodingISOLatin3 = 0x0203,
165 kTextEncodingISOLatin4 = 0x0204,
166 kTextEncodingISOLatinCyrillic = 0x0205,
167 kTextEncodingISOLatinArabic = 0x0206,
168 kTextEncodingISOLatinGreek = 0x0207,
169 kTextEncodingISOLatinHebrew = 0x0208,
170 kTextEncodingISOLatin5 = 0x0209,
171 kTextEncodingISOLatin6 = 0x020A,
172 kTextEncodingISOLatin7 = 0x020D,
173 kTextEncodingISOLatin8 = 0x020E,
174 kTextEncodingISOLatin9 =
181 kTextEncodingDOSLatinUS = 0x0400,
182 kTextEncodingDOSGreek = 0x0405,
183 kTextEncodingDOSBalticRim = 0x0406,
184 kTextEncodingDOSLatin1 = 0x0410,
185 kTextEncodingDOSGreek1 = 0x0411,
186 kTextEncodingDOSLatin2 = 0x0412,
187 kTextEncodingDOSCyrillic = 0x0413,
188 kTextEncodingDOSTurkish = 0x0414,
189 kTextEncodingDOSPortuguese = 0x0415,
190 kTextEncodingDOSIcelandic = 0x0416,
191 kTextEncodingDOSHebrew = 0x0417,
192 kTextEncodingDOSCanadianFrench = 0x0418,
193 kTextEncodingDOSArabic = 0x0419,
194 kTextEncodingDOSNordic = 0x041A,
195 kTextEncodingDOSRussian = 0x041B,
196 kTextEncodingDOSGreek2 = 0x041C,
197 kTextEncodingDOSThai = 0x041D,
198 kTextEncodingDOSJapanese =
200 kTextEncodingDOSChineseSimplif =
203 kTextEncodingDOSKorean = 0x0422,
205 kTextEncodingDOSChineseTrad =
207 kTextEncodingWindowsLatin1 = 0x0500,
208 kTextEncodingWindowsANSI = 0x0500,
209 kTextEncodingWindowsLatin2 = 0x0501,
210 kTextEncodingWindowsCyrillic = 0x0502,
211 kTextEncodingWindowsGreek = 0x0503,
212 kTextEncodingWindowsLatin5 = 0x0504,
213 kTextEncodingWindowsHebrew = 0x0505,
214 kTextEncodingWindowsArabic = 0x0506,
215 kTextEncodingWindowsBalticRim = 0x0507,
216 kTextEncodingWindowsVietnamese = 0x0508,
217 kTextEncodingWindowsKoreanJohab = 0x0510
223 kTextEncodingUS_ASCII = 0x0600,
224 kTextEncodingJIS_X0201_76 =
226 kTextEncodingJIS_X0208_83 = 0x0621,
227 kTextEncodingJIS_X0208_90 = 0x0622,
228 kTextEncodingJIS_X0212_90 = 0x0623,
229 kTextEncodingJIS_C6226_78 = 0x0624,
230 kTextEncodingShiftJIS_X0213_00 =
232 kTextEncodingGB_2312_80 = 0x0630,
233 kTextEncodingGBK_95 =
235 kTextEncodingGB_18030_2000 = 0x0632,
236 kTextEncodingKSC_5601_87 =
238 kTextEncodingKSC_5601_92_Johab = 0x0641,
239 kTextEncodingCNS_11643_92_P1 = 0x0651,
240 kTextEncodingCNS_11643_92_P2 = 0x0652,
241 kTextEncodingCNS_11643_92_P3 =
248 kTextEncodingISO_2022_JP = 0x0820,
249 kTextEncodingISO_2022_JP_2 = 0x0821,
250 kTextEncodingISO_2022_JP_1 = 0x0822,
251 kTextEncodingISO_2022_JP_3 = 0x0823,
252 kTextEncodingISO_2022_CN = 0x0830,
253 kTextEncodingISO_2022_CN_EXT = 0x0831,
254 kTextEncodingISO_2022_KR = 0x0840
260 kTextEncodingEUC_JP = 0x0920,
261 kTextEncodingEUC_CN = 0x0930,
262 kTextEncodingEUC_TW = 0x0931,
263 kTextEncodingEUC_KR = 0x0940
269 kTextEncodingShiftJIS = 0x0A01,
270 kTextEncodingKOI8_R = 0x0A02,
271 kTextEncodingBig5 = 0x0A03,
272 kTextEncodingMacRomanLatin1 =
274 kTextEncodingHZ_GB_2312 = 0x0A05,
275 kTextEncodingBig5_HKSCS_1999 =
282 kTextEncodingNextStepLatin = 0x0B01
288 kTextEncodingEBCDIC_US = 0x0C01,
289 kTextEncodingEBCDIC_CP037 =
296 kTextEncodingMultiRun =
298 kTextEncodingUnknown = 0xFFFF
302 typedef UInt32 TextEncodingVariant;
306 kTextEncodingDefaultVariant = 0
312 kMacRomanDefaultVariant =
314 kMacRomanCurrencySignVariant =
316 kMacRomanEuroSignVariant = 2
322 kMacCyrillicDefaultVariant =
324 kMacCyrillicCurrSignStdVariant =
327 kMacCyrillicCurrSignUkrVariant =
330 kMacCyrillicEuroSignVariant =
337 kMacIcelandicStdDefaultVariant =
339 kMacIcelandicTTDefaultVariant =
342 kMacIcelandicStdCurrSignVariant =
344 kMacIcelandicTTCurrSignVariant = 3,
346 kMacIcelandicStdEuroSignVariant =
348 kMacIcelandicTTEuroSignVariant = 5
354 kMacCroatianDefaultVariant =
356 kMacCroatianCurrencySignVariant =
358 kMacCroatianEuroSignVariant = 2
364 kMacRomanianDefaultVariant =
366 kMacRomanianCurrencySignVariant =
368 kMacRomanianEuroSignVariant = 2
374 kMacJapaneseStandardVariant = 0,
375 kMacJapaneseStdNoVerticalsVariant = 1,
376 kMacJapaneseBasicVariant = 2,
377 kMacJapanesePostScriptScrnVariant = 3,
378 kMacJapanesePostScriptPrintVariant = 4,
379 kMacJapaneseVertAtKuPlusTenVariant = 5
385 kMacArabicStandardVariant =
387 kMacArabicTrueTypeVariant =
389 kMacArabicThuluthVariant =
391 kMacArabicAlBayanVariant =
398 kMacFarsiStandardVariant =
400 kMacFarsiTrueTypeVariant =
407 kMacHebrewStandardVariant = 0,
408 kMacHebrewFigureSpaceVariant = 1
414 kMacVT100DefaultVariant =
416 kMacVT100CurrencySignVariant =
418 kMacVT100EuroSignVariant = 2
424 kUnicodeNoSubset = 0,
425 kUnicodeCanonicalDecompVariant =
432 kBig5_BasicVariant = 0,
433 kBig5_StandardVariant =
442 kMacRomanLatin1DefaultVariant =
444 kMacRomanLatin1StandardVariant = 2,
445 kMacRomanLatin1TurkishVariant = 6,
446 kMacRomanLatin1CroatianVariant = 8,
447 kMacRomanLatin1IcelandicVariant =
449 kMacRomanLatin1RomanianVariant = 14
455 kUnicodeNoCompatibilityVariant = 1,
456 kUnicodeNoComposedVariant = 3,
457 kUnicodeNoCorporateVariant = 4
463 kMacRomanStandardVariant = 0,
464 kMacIcelandicStandardVariant = 0,
465 kMacIcelandicTrueTypeVariant = 1,
466 kJapaneseStandardVariant = 0,
467 kJapaneseStdNoVerticalsVariant = 1,
468 kJapaneseBasicVariant = 2,
469 kJapanesePostScriptScrnVariant = 3,
470 kJapanesePostScriptPrintVariant = 4,
471 kJapaneseVertAtKuPlusTenVariant =
476 kHebrewStandardVariant = 0,
477 kHebrewFigureSpaceVariant = 1,
478 kUnicodeMaxDecomposedVariant =
484 kJapaneseNoOneByteKanaOption =
486 kJapaneseUseAsciiBackslashOption =
491 typedef UInt32 TextEncodingFormat;
495 kTextEncodingDefaultFormat = 0,
496 kUnicode16BitFormat = 0,
497 kUnicodeUTF7Format = 1,
498 kUnicodeUTF8Format = 2,
499 kUnicode32BitFormat = 3
503 typedef UInt32 TextEncoding;
505 typedef UInt32 TextEncodingNameSelector;
508 kTextEncodingFullName = 0,
509 kTextEncodingBaseName = 1,
510 kTextEncodingVariantName = 2,
511 kTextEncodingFormatName = 3
518 TextEncoding textEncoding;
531 typedef UInt8 *TextPtr;
532 typedef const UInt8 *ConstTextPtr;
534 typedef UniChar *UniCharArrayPtr;
535 typedef const UniChar *ConstUniCharArrayPtr;
549 kTextScriptDontCare = -128,
550 kTextLanguageDontCare = -128,
551 kTextRegionDontCare = -128
560 UInt32 tecTextConverterFeatures;
561 UInt32 tecUnicodeConverterFeatures;
564 tecTextCommonFeatures;
565 Str31 tecTextEncodingsFolderName;
568 tecExtensionFileName;
569 UInt16 tecLowestTEFileVersion;
571 UInt16 tecHighestTEFileVersion;
580 kTECInfoCurrentFormat =
628 kTECKeepInfoFixBit = 0,
629 kTECFallbackTextLengthFixBit = 1,
630 kTECTextRunBitClearFixBit = 2,
631 kTECTextToUnicodeScanFixBit = 3,
632 kTECAddForceASCIIChangesBit = 4,
633 kTECPreferredEncodingFixBit = 5,
634 kTECAddTextRunHeuristicsBit = 6,
635 kTECAddFallbackInterruptBit = 7
640 kTECKeepInfoFixMask = 1L << kTECKeepInfoFixBit,
641 kTECFallbackTextLengthFixMask = 1L << kTECFallbackTextLengthFixBit,
642 kTECTextRunBitClearFixMask = 1L << kTECTextRunBitClearFixBit,
643 kTECTextToUnicodeScanFixMask = 1L << kTECTextToUnicodeScanFixBit,
644 kTECAddForceASCIIChangesMask = 1L << kTECAddForceASCIIChangesBit,
645 kTECPreferredEncodingFixMask = 1L << kTECPreferredEncodingFixBit,
646 kTECAddTextRunHeuristicsMask = 1L << kTECAddTextRunHeuristicsBit,
647 kTECAddFallbackInterruptMask = 1L << kTECAddFallbackInterruptBit
658 kUnicodeByteOrderMark = 0xFEFF,
659 kUnicodeObjectReplacement = 0xFFFC,
660 kUnicodeReplacementChar =
662 kUnicodeSwappedByteOrderMark =
664 kUnicodeNotAChar = 0xFFFF
675 kUCCharPropTypeGenlCategory = 1,
676 kUCCharPropTypeCombiningClass = 2,
677 kUCCharPropTypeBidiCategory = 3
680 typedef UInt32 UCCharPropertyValue;
686 kUCGenlCatOtherNotAssigned = 0,
687 kUCGenlCatOtherControl = 1,
688 kUCGenlCatOtherFormat = 2,
689 kUCGenlCatOtherSurrogate = 3,
690 kUCGenlCatOtherPrivateUse = 4,
691 kUCGenlCatMarkNonSpacing = 5,
692 kUCGenlCatMarkSpacingCombining = 6,
693 kUCGenlCatMarkEnclosing = 7,
694 kUCGenlCatNumberDecimalDigit = 8,
695 kUCGenlCatNumberLetter = 9,
696 kUCGenlCatNumberOther = 10,
697 kUCGenlCatSeparatorSpace = 11,
698 kUCGenlCatSeparatorLine = 12,
699 kUCGenlCatSeparatorParagraph = 13,
700 kUCGenlCatLetterUppercase = 14,
701 kUCGenlCatLetterLowercase = 15,
702 kUCGenlCatLetterTitlecase = 16,
704 kUCGenlCatLetterModifier = 17,
705 kUCGenlCatLetterOther = 18,
706 kUCGenlCatPunctConnector = 20,
707 kUCGenlCatPunctDash = 21,
708 kUCGenlCatPunctOpen = 22,
709 kUCGenlCatPunctClose = 23,
710 kUCGenlCatPunctInitialQuote = 24,
711 kUCGenlCatPunctFinalQuote = 25,
712 kUCGenlCatPunctOther = 26,
713 kUCGenlCatSymbolMath = 28,
714 kUCGenlCatSymbolCurrency = 29,
715 kUCGenlCatSymbolModifier = 30,
716 kUCGenlCatSymbolOther = 31
723 kUCBidiCatNotApplicable = 0,
725 kUCBidiCatLeftRight = 1,
726 kUCBidiCatRightLeft = 2,
728 kUCBidiCatEuroNumber = 3,
729 kUCBidiCatEuroNumberSeparator = 4,
730 kUCBidiCatEuroNumberTerminator = 5,
731 kUCBidiCatArabicNumber = 6,
732 kUCBidiCatCommonNumberSeparator = 7,
734 kUCBidiCatBlockSeparator =
736 kUCBidiCatSegmentSeparator = 9,
738 kUCBidiCatWhitespace = 10,
739 kUCBidiCatOtherNeutral =
742 kUCBidiCatRightLeftArabic =
744 kUCBidiCatLeftRightEmbedding = 13,
745 kUCBidiCatRightLeftEmbedding = 14,
746 kUCBidiCatLeftRightOverride = 15,
747 kUCBidiCatRightLeftOverride = 16,
748 kUCBidiCatPopDirectionalFormat = 17,
749 kUCBidiCatNonSpacingMark = 18,
750 kUCBidiCatBoundaryNeutral = 19
769 TextEncodingVariant encodingVariant,
770 TextEncodingFormat encodingFormat);
826 TextEncodingNameSelector iNamePartSelector,
827 RegionCode iPreferredRegion,
828 TextEncoding iPreferredEncoding, ByteCount iOutputBufLen,
829 ByteCount *oNameLength,
830 RegionCode *oActualRegion,
831 TextEncoding *oActualEncoding,
832 TextPtr oEncodingName);
855 LangCode iTextLanguageID, RegionCode iRegionID,
856 ConstStr255Param iTextFontname,
857 TextEncoding *oEncoding);
869 ScriptCode *oTextScriptID,
870 LangCode *oTextLanguageID,
871 Str255 oTextFontname);
883 TextEncoding *bestMacEncoding,
884 TextEncoding *alternateMacEncoding);
898 #if PRAGMA_STRUCT_ALIGN
899 #pragma options align = reset
900 #elif PRAGMA_STRUCT_PACKPUSH
902 #elif PRAGMA_STRUCT_PACK
906 #ifdef PRAGMA_IMPORT_OFF
Basic Macintosh data types.
OSStatus TECGetInfo(TECInfoHandle *tecInfo)
TextEncoding ResolveDefaultTextEncoding(TextEncoding encoding)
OSStatus GetTextEncodingName(TextEncoding iEncoding, TextEncodingNameSelector iNamePartSelector, RegionCode iPreferredRegion, TextEncoding iPreferredEncoding, ByteCount iOutputBufLen, ByteCount *oNameLength, RegionCode *oActualRegion, TextEncoding *oActualEncoding, TextPtr oEncodingName)
OSStatus UCGetCharProperty(const UniChar *charPtr, UniCharCount textLength, UCCharPropertyType propType, UCCharPropertyValue *propValue)
TextEncodingFormat GetTextEncodingFormat(TextEncoding encoding)
UInt32 UniCharArrayOffset
Definition: TextCommon.h:545
TextEncoding CreateTextEncoding(TextEncodingBase encodingBase, TextEncodingVariant encodingVariant, TextEncodingFormat encodingFormat)
UniCharArrayPtr * UniCharArrayHandle
Definition: TextCommon.h:540
OSStatus NearestMacTextEncodings(TextEncoding generalEncoding, TextEncoding *bestMacEncoding, TextEncoding *alternateMacEncoding)
TextEncodingBase GetTextEncodingBase(TextEncoding encoding)
SInt32 UCCharPropertyType
Definition: TextCommon.h:672
TextEncodingVariant GetTextEncodingVariant(TextEncoding encoding)
OSStatus UpgradeScriptInfoToTextEncoding(ScriptCode iTextScriptID, LangCode iTextLanguageID, RegionCode iRegionID, ConstStr255Param iTextFontname, TextEncoding *oEncoding)
OSStatus RevertTextEncodingToScriptInfo(TextEncoding iEncoding, ScriptCode *oTextScriptID, LangCode *oTextLanguageID, Str255 oTextFontname)
Definition: TextCommon.h:524
Definition: TextCommon.h:557
Definition: TextCommon.h:516