Mercurial > projects > dstep
view dstep/coreservices/carboncore/UnicodeConverter.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Jul 21, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.coreservices.carboncore.UnicodeConverter; //import dstep.AvailabilityMacros; import dstep.coreservices.carboncore.MacTypes; import dstep.coreservices.carboncore.MixedMode; import dstep.coreservices.carboncore.TextCommon; struct OpaqueTextToUnicodeInfo; struct OpaqueUnicodeToTextInfo; struct OpaqueUnicodeToTextRunInfo; alias OpaqueTextToUnicodeInfo* TextToUnicodeInfo; alias OpaqueUnicodeToTextInfo* UnicodeToTextInfo; alias OpaqueUnicodeToTextRunInfo* UnicodeToTextRunInfo; alias TextToUnicodeInfo ConstTextToUnicodeInfo; alias UnicodeToTextInfo ConstUnicodeToTextInfo; alias int UnicodeMapVersion; alias UnicodeMapping* UnicodeMappingPtr; alias UnicodeMapping* ConstUnicodeMappingPtr; alias UnicodeToTextFallbackProcPtr UnicodeToTextFallbackUPP; extern (C) { alias int function (wchar*, uint, ByteCount*, char*, uint, ByteCount*, LogicalAddress, ConstUnicodeMappingPtr) UnicodeToTextFallbackProcPtr; } enum { kUnicodeUseLatestMapping = -1, kUnicodeUseHFSPlusMapping = 4 } enum { kUnicodeUseFallbacksBit = 0, kUnicodeKeepInfoBit = 1, kUnicodeDirectionalityBits = 2, kUnicodeVerticalFormBit = 4, kUnicodeLooseMappingsBit = 5, kUnicodeStringUnterminatedBit = 6, kUnicodeTextRunBit = 7, kUnicodeKeepSameEncodingBit = 8, kUnicodeForceASCIIRangeBit = 9, kUnicodeNoHalfwidthCharsBit = 10, kUnicodeTextRunHeuristicsBit = 11, kUnicodeMapLineFeedToReturnBit = 12, kUnicodeUseExternalEncodingFormBit = 13 } enum { kUnicodeUseFallbacksMask = 1L << kUnicodeUseFallbacksBit, kUnicodeKeepInfoMask = 1L << kUnicodeKeepInfoBit, kUnicodeDirectionalityMask = 3L << kUnicodeDirectionalityBits, kUnicodeVerticalFormMask = 1L << kUnicodeVerticalFormBit, kUnicodeLooseMappingsMask = 1L << kUnicodeLooseMappingsBit, kUnicodeStringUnterminatedMask = 1L << kUnicodeStringUnterminatedBit, kUnicodeTextRunMask = 1L << kUnicodeTextRunBit, kUnicodeKeepSameEncodingMask = 1L << kUnicodeKeepSameEncodingBit, kUnicodeForceASCIIRangeMask = 1L << kUnicodeForceASCIIRangeBit, kUnicodeNoHalfwidthCharsMask = 1L << kUnicodeNoHalfwidthCharsBit, kUnicodeTextRunHeuristicsMask = 1L << kUnicodeTextRunHeuristicsBit, kUnicodeMapLineFeedToReturnMask = 1L << kUnicodeMapLineFeedToReturnBit, kUnicodeUseExternalEncodingFormMask = 1L << kUnicodeUseExternalEncodingFormBit } enum { kUnicodeDefaultDirection = 0, kUnicodeLeftToRight = 1, kUnicodeRightToLeft = 2 } enum { kUnicodeDefaultDirectionMask = kUnicodeDefaultDirection << kUnicodeDirectionalityBits, kUnicodeLeftToRightMask = kUnicodeLeftToRight << kUnicodeDirectionalityBits, kUnicodeRightToLeftMask = kUnicodeRightToLeft << kUnicodeDirectionalityBits } enum { kUnicodeMatchUnicodeBaseBit = 0, kUnicodeMatchUnicodeVariantBit = 1, kUnicodeMatchUnicodeFormatBit = 2, kUnicodeMatchOtherBaseBit = 3, kUnicodeMatchOtherVariantBit = 4, kUnicodeMatchOtherFormatBit = 5 } enum { kUnicodeMatchUnicodeBaseMask = 1L << kUnicodeMatchUnicodeBaseBit, kUnicodeMatchUnicodeVariantMask = 1L << kUnicodeMatchUnicodeVariantBit, kUnicodeMatchUnicodeFormatMask = 1L << kUnicodeMatchUnicodeFormatBit, kUnicodeMatchOtherBaseMask = 1L << kUnicodeMatchOtherBaseBit, kUnicodeMatchOtherVariantMask = 1L << kUnicodeMatchOtherVariantBit, kUnicodeMatchOtherFormatMask = 1L << kUnicodeMatchOtherFormatBit } enum { kUnicodeFallbackSequencingBits = 0 } enum { kUnicodeFallbackSequencingMask = 3L << kUnicodeFallbackSequencingBits, kUnicodeFallbackInterruptSafeMask = 1L << 2 } enum { kUnicodeFallbackDefaultOnly = 0L, kUnicodeFallbackCustomOnly = 1L, kUnicodeFallbackDefaultFirst = 2L, kUnicodeFallbackCustomFirst = 3L } struct UnicodeMapping { uint unicodeEncoding; uint otherEncoding; int mappingVersion; } extern (C) { UnicodeToTextFallbackUPP NewUnicodeToTextFallbackUPP (UnicodeToTextFallbackProcPtr userRoutine); void DisposeUnicodeToTextFallbackUPP (UnicodeToTextFallbackUPP userUPP); int InvokeUnicodeToTextFallbackUPP (wchar* iSrcUniStr, uint iSrcUniStrLen, ByteCount* oSrcConvLen, char* oDestStr, uint iDestStrLen, ByteCount* oDestConvLen, LogicalAddress iInfoPtr, ConstUnicodeMappingPtr iUnicodeMappingPtr, UnicodeToTextFallbackUPP userUPP); int CreateTextToUnicodeInfo (ConstUnicodeMappingPtr iUnicodeMapping, TextToUnicodeInfo* oTextToUnicodeInfo); int CreateTextToUnicodeInfoByEncoding (uint iEncoding, TextToUnicodeInfo* oTextToUnicodeInfo); int CreateUnicodeToTextInfo (ConstUnicodeMappingPtr iUnicodeMapping, UnicodeToTextInfo* oUnicodeToTextInfo); int CreateUnicodeToTextInfoByEncoding (uint iEncoding, UnicodeToTextInfo* oUnicodeToTextInfo); int CreateUnicodeToTextRunInfo (uint iNumberOfMappings, UnicodeMapping* iUnicodeMappings, UnicodeToTextRunInfo* oUnicodeToTextInfo); int CreateUnicodeToTextRunInfoByEncoding (uint iNumberOfEncodings, TextEncoding* iEncodings, UnicodeToTextRunInfo* oUnicodeToTextInfo); int CreateUnicodeToTextRunInfoByScriptCode (uint iNumberOfScriptCodes, ScriptCode* iScripts, UnicodeToTextRunInfo* oUnicodeToTextInfo); int ChangeTextToUnicodeInfo (TextToUnicodeInfo ioTextToUnicodeInfo, ConstUnicodeMappingPtr iUnicodeMapping); int ChangeUnicodeToTextInfo (UnicodeToTextInfo ioUnicodeToTextInfo, ConstUnicodeMappingPtr iUnicodeMapping); int DisposeTextToUnicodeInfo (TextToUnicodeInfo* ioTextToUnicodeInfo); int DisposeUnicodeToTextInfo (UnicodeToTextInfo* ioUnicodeToTextInfo); int DisposeUnicodeToTextRunInfo (UnicodeToTextRunInfo* ioUnicodeToTextRunInfo); int ConvertFromTextToUnicode (TextToUnicodeInfo iTextToUnicodeInfo, uint iSourceLen, ConstLogicalAddress iSourceStr, uint iControlFlags, uint iOffsetCount, ByteOffset* iOffsetArray, ItemCount* oOffsetCount, ByteOffset* oOffsetArray, uint iOutputBufLen, ByteCount* oSourceRead, ByteCount* oUnicodeLen, wchar* oUnicodeStr); int ConvertFromUnicodeToText (UnicodeToTextInfo iUnicodeToTextInfo, uint iUnicodeLen, wchar* iUnicodeStr, uint iControlFlags, uint iOffsetCount, ByteOffset* iOffsetArray, ItemCount* oOffsetCount, ByteOffset* oOffsetArray, uint iOutputBufLen, ByteCount* oInputRead, ByteCount* oOutputLen, LogicalAddress oOutputStr); int ConvertFromUnicodeToTextRun (UnicodeToTextRunInfo iUnicodeToTextInfo, uint iUnicodeLen, wchar* iUnicodeStr, uint iControlFlags, uint iOffsetCount, ByteOffset* iOffsetArray, ItemCount* oOffsetCount, ByteOffset* oOffsetArray, uint iOutputBufLen, ByteCount* oInputRead, ByteCount* oOutputLen, LogicalAddress oOutputStr, uint iEncodingRunBufLen, ItemCount* oEncodingRunOutLen, TextEncodingRun* oEncodingRuns); int ConvertFromUnicodeToScriptCodeRun (UnicodeToTextRunInfo iUnicodeToTextInfo, uint iUnicodeLen, wchar* iUnicodeStr, uint iControlFlags, uint iOffsetCount, ByteOffset* iOffsetArray, ItemCount* oOffsetCount, ByteOffset* oOffsetArray, uint iOutputBufLen, ByteCount* oInputRead, ByteCount* oOutputLen, LogicalAddress oOutputStr, uint iScriptRunBufLen, ItemCount* oScriptRunOutLen, ScriptCodeRun* oScriptCodeRuns); int TruncateForTextToUnicode (ConstTextToUnicodeInfo iTextToUnicodeInfo, uint iSourceLen, ConstLogicalAddress iSourceStr, uint iMaxLen, ByteCount* oTruncatedLen); int TruncateForUnicodeToText (ConstUnicodeToTextInfo iUnicodeToTextInfo, uint iSourceLen, wchar* iSourceStr, uint iControlFlags, uint iMaxLen, ByteCount* oTruncatedLen); int ConvertFromPStringToUnicode (TextToUnicodeInfo iTextToUnicodeInfo, char* iPascalStr, uint iOutputBufLen, ByteCount* oUnicodeLen, wchar* oUnicodeStr); int ConvertFromUnicodeToPString (UnicodeToTextInfo iUnicodeToTextInfo, uint iUnicodeLen, wchar* iUnicodeStr, ubyte[256] oPascalStr); int CountUnicodeMappings (uint iFilter, ConstUnicodeMappingPtr iFindMapping, ItemCount* oActualCount); int QueryUnicodeMappings (uint iFilter, ConstUnicodeMappingPtr iFindMapping, uint iMaxCount, ItemCount* oActualCount, UnicodeMapping* oReturnedMappings); int SetFallbackUnicodeToText (UnicodeToTextInfo iUnicodeToTextInfo, UnicodeToTextFallbackUPP iFallback, uint iControlFlags, LogicalAddress iInfoPtr); int SetFallbackUnicodeToTextRun (UnicodeToTextRunInfo iUnicodeToTextRunInfo, UnicodeToTextFallbackUPP iFallback, uint iControlFlags, LogicalAddress iInfoPtr); int ResetTextToUnicodeInfo (TextToUnicodeInfo ioTextToUnicodeInfo); int ResetUnicodeToTextInfo (UnicodeToTextInfo ioUnicodeToTextInfo); int ResetUnicodeToTextRunInfo (UnicodeToTextRunInfo ioUnicodeToTextRunInfo); }