diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/coreservices/carboncore/UnicodeConverter.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,165 @@
+/**
+ * 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);
+}
\ No newline at end of file