/// <summary> /// Converts a single <see cref="MappingDataRange">MappingDataRange</see> into a string, stripping the trailing null character. If /// the string doesn't contain null characters, the empty string is returned. /// </summary> /// <param name="dataRange">The <see cref="MappingDataRange">MappingDataRange</see> to convert</param> /// <returns>The resulting string</returns> public string Format(MappingDataRange dataRange) { if (dataRange == null) { throw new ArgumentNullException("dataRange"); } var data = dataRange.GetData(); if ((data.Length & 1) != 0) { throw new LinguisticException(LinguisticException.InvalidArgs); } var nullIndex = data.Length; for (var i = 0; i < data.Length; i += 2) { if (data[i] == 0 && data[i + 1] == 0) { nullIndex = i; break; } } var resultText = Encoding.Unicode.GetString(data, 0, nullIndex); return(resultText); }
/// <summary> /// Converts a single <see cref="MappingDataRange">MappingDataRange</see> into a string. /// </summary> /// <param name="dataRange">The <see cref="MappingDataRange">MappingDataRange</see> to convert</param> /// <returns>The resulting string</returns> public string Format(MappingDataRange dataRange) { byte[] data = dataRange.GetData(); string resultText = Encoding.Unicode.GetString(data); return(resultText); }
/// <summary> /// Converts a single <see cref="MappingDataRange">MappingDataRange</see> into a string array by splitting on each null character and /// removing the empty entries. /// </summary> /// <param name="dataRange">The <see cref="MappingDataRange">MappingDataRange</see> to convert</param> /// <returns>The resulting string array</returns> public string[] Format(MappingDataRange dataRange) { byte[] data = dataRange.GetData(); string resultText = Encoding.Unicode.GetString(data); return(resultText.Split(Separator, StringSplitOptions.RemoveEmptyEntries)); }
/// <summary> /// Converts a single <see cref="MappingDataRange">MappingDataRange</see> into a string array by splitting on each null character and /// removing the empty entries. /// </summary> /// <param name="dataRange">The <see cref="MappingDataRange">MappingDataRange</see> to convert</param> /// <returns>The resulting string array</returns> public string[] Format(MappingDataRange dataRange) { if (dataRange == null) { throw new ArgumentNullException("dataRange"); } byte[] data = dataRange.GetData(); string resultText = Encoding.Unicode.GetString(data); return(resultText.Split(Separator, StringSplitOptions.RemoveEmptyEntries)); }
/// <summary> /// An array of <see cref="MappingDataRange">MappingDataRange</see> objects containing all recognized text range results. This member is populated /// by MappingService.RecognizeText or asynchronously with /// MappingService.BeginRecognizeText. /// </summary> public MappingDataRange[] GetResultRanges() { MappingDataRange[] result = new MappingDataRange[_win32PropertyBag._rangesCount]; for (int i = 0; i < result.Length; ++i) { MappingDataRange range = new MappingDataRange(); InteropTools.Unpack(out range._win32DataRange, (IntPtr)((UInt64)_win32PropertyBag._ranges + ((UInt64)i * InteropTools.SizeOfWin32DataRange))); result[i] = range; } return(result); }
/// <summary>Converts a single <see cref="MappingDataRange">MappingDataRange</see> into a string.</summary> /// <param name="dataRange">The <see cref="MappingDataRange">MappingDataRange</see> to convert</param> /// <returns>The resulting string</returns> public string Format(MappingDataRange dataRange) { if (dataRange == null) { throw new ArgumentNullException("dataRange"); } var data = dataRange.GetData(); var resultText = Encoding.Unicode.GetString(data); return(resultText); }
/// <summary> /// An array of <see cref="MappingDataRange">MappingDataRange</see> objects containing all recognized text range results. This member is populated /// by MappingService.RecognizeText or asynchronously with /// MappingService.BeginRecognizeText. /// </summary> public MappingDataRange[] GetResultRanges() { var result = new MappingDataRange[_win32PropertyBag._rangesCount]; for (int i = 0; i < result.Length; ++i) { result[i] = new MappingDataRange { _win32DataRange = Win32NativeInteropTools.Unpack <Win32DataRange>( (IntPtr)((ulong)_win32PropertyBag._ranges + ((ulong)i * InteropTools.SizeOfWin32DataRange))) }; } return(result); }
/// <summary> /// Converts a single <see cref="MappingDataRange">MappingDataRange</see> into a string, stripping the trailing null character. /// If the string doesn't contain null characters, the empty string is returned. /// </summary> /// <param name="dataRange">The <see cref="MappingDataRange">MappingDataRange</see> to convert</param> /// <returns>The resulting string</returns> public string Format(MappingDataRange dataRange) { byte[] data = dataRange.GetData(); if ((data.Length & 1) != 0) { throw new LinguisticException(LinguisticException.E_INVALIDARG); } int nullIndex = data.Length; for (int i = 0; i < data.Length; i += 2) { if (data[i] == 0 && data[i + 1] == 0) { nullIndex = i; break; } } string resultText = Encoding.Unicode.GetString(data, 0, nullIndex); return(resultText); }