FUNCTION NewUnicodeToTextFallbackProc(userRoutine: UnicodeToTextFallbackProcPtr): UnicodeToTextFallbackUPP;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $2E9F;
{$ENDC}
FUNCTION CallUnicodeToTextFallbackProc(VAR iSrcUniStr: UniChar; iSrcUniStrLen: ByteCount; VAR oSrcConvLen: ByteCount; oDestStr: TextPtr; iDestStrLen: ByteCount; VAR oDestConvLen: ByteCount; iInfoPtr: LogicalAddress; iUnicodeMappingPtr: ConstUnicodeMappingPtr; userRoutine: UnicodeToTextFallbackUPP): OSStatus;
{$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
INLINE $205F, $4E90;
{$ENDC}
{ Function prototypes }
{$IFC GENERATING68K AND NOT GENERATINGCFM }
{
Routine to Initialize the Unicode Converter and cleanup once done with it.
These routines must be called from Static Library clients.
}
FUNCTION InitializeUnicodeConverter(TECFileName: StringPtr): OSStatus;
PROCEDURE TerminateUnicodeConverter;
{ Note: the old names (InitializeUnicode, TerminateUnicode) for the above are still exported. }
{$ENDC}
FUNCTION CreateTextToUnicodeInfo(iUnicodeMapping: ConstUnicodeMappingPtr; VAR oTextToUnicodeInfo: TextToUnicodeInfo): OSStatus;
FUNCTION CreateTextToUnicodeInfoByEncoding(iEncoding: TextEncoding; VAR oTextToUnicodeInfo: TextToUnicodeInfo): OSStatus;
FUNCTION CreateUnicodeToTextInfo(iUnicodeMapping: ConstUnicodeMappingPtr; VAR oUnicodeToTextInfo: UnicodeToTextInfo): OSStatus;
FUNCTION CreateUnicodeToTextInfoByEncoding(iEncoding: TextEncoding; VAR oUnicodeToTextInfo: UnicodeToTextInfo): OSStatus;
FUNCTION CreateUnicodeToTextRunInfo(iNumberOfMappings: ItemCount; {CONST}VAR iUnicodeMappings: UnicodeMapping; VAR oUnicodeToTextInfo: UnicodeToTextRunInfo): OSStatus;
FUNCTION CreateUnicodeToTextRunInfoByEncoding(iNumberOfEncodings: ItemCount; {CONST}VAR iEncodings: TextEncoding; VAR oUnicodeToTextInfo: UnicodeToTextRunInfo): OSStatus;
FUNCTION CreateUnicodeToTextRunInfoByScriptCode(iNumberOfScriptCodes: ItemCount; {CONST}VAR iScripts: ScriptCode; VAR oUnicodeToTextInfo: UnicodeToTextRunInfo): OSStatus;
{ Change the TextToUnicodeInfo to another mapping. }
FUNCTION ChangeTextToUnicodeInfo(ioTextToUnicodeInfo: TextToUnicodeInfo; iUnicodeMapping: ConstUnicodeMappingPtr): OSStatus;
{ Change the UnicodeToTextInfo to another mapping. }
FUNCTION ChangeUnicodeToTextInfo(ioUnicodeToTextInfo: UnicodeToTextInfo; iUnicodeMapping: ConstUnicodeMappingPtr): OSStatus;
FUNCTION DisposeTextToUnicodeInfo(VAR ioTextToUnicodeInfo: TextToUnicodeInfo): OSStatus;
FUNCTION DisposeUnicodeToTextInfo(VAR ioUnicodeToTextInfo: UnicodeToTextInfo): OSStatus;
FUNCTION DisposeUnicodeToTextRunInfo(VAR ioUnicodeToTextRunInfo: UnicodeToTextRunInfo): OSStatus;
FUNCTION ConvertFromTextToUnicode(iTextToUnicodeInfo: TextToUnicodeInfo; iSourceLen: ByteCount; iSourceStr: ConstLogicalAddress; iControlFlags: OptionBits; iOffsetCount: ItemCount; VAR iOffsetArray: ByteOffset; VAR oOffsetCount: ItemCount; VAR oOffsetArray: ByteOffset; iOutputBufLen: ByteCount; VAR oSourceRead: ByteCount; VAR oUnicodeLen: ByteCount; oUnicodeStr: UniCharArrayPtr): OSStatus;
FUNCTION ConvertFromUnicodeToText(iUnicodeToTextInfo: UnicodeToTextInfo; iUnicodeLen: ByteCount; iUnicodeStr: ConstUniCharArrayPtr; iControlFlags: OptionBits; iOffsetCount: ItemCount; VAR iOffsetArray: ByteOffset; VAR oOffsetCount: ItemCount; VAR oOffsetArray: ByteOffset; iOutputBufLen: ByteCount; VAR oInputRead: ByteCount; VAR oOutputLen: ByteCount; oOutputStr: LogicalAddress): OSStatus;
FUNCTION ConvertFromUnicodeToTextRun(iUnicodeToTextInfo: UnicodeToTextRunInfo; iUnicodeLen: ByteCount; iUnicodeStr: ConstUniCharArrayPtr; iControlFlags: OptionBits; iOffsetCount: ItemCount; VAR iOffsetArray: ByteOffset; VAR oOffsetCount: ItemCount; VAR oOffsetArray: ByteOffset; iOutputBufLen: ByteCount; VAR oInputRead: ByteCount; VAR oOutputLen: ByteCount; oOutputStr: LogicalAddress; iEncodingRunBufLen: ItemCount; VAR oEncodingRunOutLen: ItemCount; VAR oEncodingRuns: TextEncodingRun): OSStatus;
FUNCTION ConvertFromUnicodeToScriptCodeRun(iUnicodeToTextInfo: UnicodeToTextRunInfo; iUnicodeLen: ByteCount; iUnicodeStr: ConstUniCharArrayPtr; iControlFlags: OptionBits; iOffsetCount: ItemCount; VAR iOffsetArray: ByteOffset; VAR oOffsetCount: ItemCount; VAR oOffsetArray: ByteOffset; iOutputBufLen: ByteCount; VAR oInputRead: ByteCount; VAR oOutputLen: ByteCount; oOutputStr: LogicalAddress; iScriptRunBufLen: ItemCount; VAR oScriptRunOutLen: ItemCount; VAR oScriptCodeRuns: ScriptCodeRun): OSStatus;
{ Truncate a multibyte string at a safe place. }
FUNCTION TruncateForTextToUnicode(iTextToUnicodeInfo: ConstTextToUnicodeInfo; iSourceLen: ByteCount; iSourceStr: ConstLogicalAddress; iMaxLen: ByteCount; VAR oTruncatedLen: ByteCount): OSStatus;
{ Truncate a Unicode string at a safe place. }
FUNCTION TruncateForUnicodeToText(iUnicodeToTextInfo: ConstUnicodeToTextInfo; iSourceLen: ByteCount; iSourceStr: ConstUniCharArrayPtr; iControlFlags: OptionBits; iMaxLen: ByteCount; VAR oTruncatedLen: ByteCount): OSStatus;
{ Convert a Pascal string to Unicode string. }
FUNCTION ConvertFromPStringToUnicode(iTextToUnicodeInfo: TextToUnicodeInfo; iPascalStr: Str255; iOutputBufLen: ByteCount; VAR oUnicodeLen: ByteCount; oUnicodeStr: UniCharArrayPtr): OSStatus;
{ Convert a Unicode string to Pascal string. }
FUNCTION ConvertFromUnicodeToPString(iUnicodeToTextInfo: UnicodeToTextInfo; iUnicodeLen: ByteCount; iUnicodeStr: ConstUniCharArrayPtr; VAR oPascalStr: Str255): OSStatus;
{ Count the available conversion mappings. }
FUNCTION CountUnicodeMappings(iFilter: OptionBits; iFindMapping: ConstUnicodeMappingPtr; VAR oActualCount: ItemCount): OSStatus;
{ Get a list of the available conversion mappings. }
FUNCTION QueryUnicodeMappings(iFilter: OptionBits; iFindMapping: ConstUnicodeMappingPtr; iMaxCount: ItemCount; VAR oActualCount: ItemCount; VAR oReturnedMappings: UnicodeMapping): OSStatus;
{ Setup the fallback handler for converting Unicode To Text. }
FUNCTION SetFallbackUnicodeToText(iUnicodeToTextInfo: UnicodeToTextInfo; iFallback: UnicodeToTextFallbackUPP; iControlFlags: OptionBits; iInfoPtr: LogicalAddress): OSStatus;
{ Setup the fallback handler for converting Unicode To TextRuns. }
FUNCTION SetFallbackUnicodeToTextRun(iUnicodeToTextRunInfo: UnicodeToTextRunInfo; iFallback: UnicodeToTextFallbackUPP; iControlFlags: OptionBits; iInfoPtr: LogicalAddress): OSStatus;