[]
        
(Showing Draft Content)

C1.Util.DX.DirectWrite.TextAnalyzer

TextAnalyzer Class

IDWriteTextAnalyzer

Implements
Namespace: C1.Util.DX.DirectWrite
Assembly: C1.Win.C1DX.4.8.dll
Syntax
[Guid("b7e6163e-7f46-43b4-84b3-e4e6249c365d")]
public class TextAnalyzer : ComObject, IDisposable, IUnknown

Constructors

Name Description
TextAnalyzer(IntPtr)

Initializes a new instance of the TextAnalyzer class.

Methods

Name Description
AnalyzeBidi(TextAnalysisQuickSource, int, int, TextAnalysisSink)

Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback {{SetBidiLevel}}.

AnalyzeBidi(TextAnalysisSource, int, int, TextAnalysisSink)

Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback {{SetBidiLevel}}.

AnalyzeBidi(IntPtr, int, int, IntPtr)

HRESULT IDWriteTextAnalyzer::AnalyzeBidi([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink)

AnalyzeLineBreakpoints(TextAnalysisQuickSource, int, int, TextAnalysisSink)

Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback {{SetLineBreakpoints}}.

AnalyzeLineBreakpoints(TextAnalysisSource, int, int, TextAnalysisSink)

Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback {{SetLineBreakpoints}}.

AnalyzeLineBreakpoints(IntPtr, int, int, IntPtr)

HRESULT IDWriteTextAnalyzer::AnalyzeLineBreakpoints([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink)

AnalyzeNumberSubstitution(TextAnalysisQuickSource, int, int, TextAnalysisSink)

Analyzes a text range for spans where number substitution is applicable, reading attributes from the source and reporting substitutable ranges to the sink callback {{SetNumberSubstitution}}.

AnalyzeNumberSubstitution(TextAnalysisSource, int, int, TextAnalysisSink)

Analyzes a text range for spans where number substitution is applicable, reading attributes from the source and reporting substitutable ranges to the sink callback {{SetNumberSubstitution}}.

AnalyzeNumberSubstitution(IntPtr, int, int, IntPtr)

HRESULT IDWriteTextAnalyzer::AnalyzeNumberSubstitution([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink)

AnalyzeScript(TextAnalysisQuickSource, int, int, TextAnalysisSink)

Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback {{SetScript}}.

AnalyzeScript(TextAnalysisSource, int, int, TextAnalysisSink)

Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback {{SetScript}}.

AnalyzeScript(IntPtr, int, int, IntPtr)

HRESULT IDWriteTextAnalyzer::AnalyzeScript([In] IDWriteTextAnalysisSource* analysisSource,[In] unsigned int textPosition,[In] unsigned int textLength,[In] IDWriteTextAnalysisSink* analysisSink)

Create(Factory)

Returns an interface for performing text analysis.

GetGdiCompatibleGlyphPlacements(IntPtr, IntPtr, IntPtr, int, IntPtr, IntPtr, int, IntPtr, float, float, Matrix3x2?, Bool, Bool, Bool, ScriptAnalysis, IntPtr, IntPtr, IntPtr, int, IntPtr, IntPtr)

HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets)

GetGdiCompatibleGlyphPlacements(string, short[], ShapingTextProperties[], int, short[], ShapingGlyphProperties[], int, FontFace, float, float, Matrix3x2?, Bool, Bool, Bool, ScriptAnalysis, string, IntPtr, int[], int, float[], GlyphOffset[])

HRESULT IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] float pixelsPerDip,[In, Optional] const DWRITE_MATRIX* transform,[In] BOOL useGdiNatural,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets)

GetGdiCompatibleGlyphPlacements(string, short[], ShapingTextProperties[], int, short[], ShapingGlyphProperties[], int, FontFace, float, float, Matrix3x2?, bool, bool, bool, ScriptAnalysis, string, FontFeature[][], int[], float[], GlyphOffset[])

Gets the GDI compatible glyph placements.

GetGlyphPlacements(IntPtr, IntPtr, IntPtr, int, IntPtr, IntPtr, int, IntPtr, float, Bool, Bool, ScriptAnalysis, IntPtr, IntPtr, IntPtr, int, IntPtr, IntPtr)

HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets)

GetGlyphPlacements(string, short[], ShapingTextProperties[], int, short[], ShapingGlyphProperties[], int, FontFace, float, Bool, Bool, ScriptAnalysis, string, IntPtr, int[], int, float[], GlyphOffset[])

HRESULT IDWriteTextAnalyzer::GetGlyphPlacements([In, Buffer] const wchar_t* textString,[In, Buffer] const unsigned short* clusterMap,[In, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[In] unsigned int textLength,[In, Buffer] const unsigned short* glyphIndices,[In, Buffer] const DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[In] unsigned int glyphCount,[In] IDWriteFontFace* fontFace,[In] float fontEmSize,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[Out, Buffer] float* glyphAdvances,[Out, Buffer] DWRITE_GLYPH_OFFSET* glyphOffsets)

GetGlyphPlacements(string, short[], ShapingTextProperties[], int, short[], ShapingGlyphProperties[], int, FontFace, float, bool, bool, ScriptAnalysis, string, FontFeature[][], int[], float[], GlyphOffset[])

Gets the glyph placements.

GetGlyphs(IntPtr, int, IntPtr, bool, bool, ScriptAnalysis, IntPtr, IntPtr, IntPtr, IntPtr, int, IntPtr, IntPtr, IntPtr, IntPtr, out int, bool)

HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount)

GetGlyphs(string, int, FontFace, Bool, Bool, ScriptAnalysis, string, NumberSubstitution, IntPtr, int[], int, int, short[], ShapingTextProperties[], short[], ShapingGlyphProperties[])

HRESULT IDWriteTextAnalyzer::GetGlyphs([In, Buffer] const wchar_t* textString,[In] unsigned int textLength,[In] IDWriteFontFace* fontFace,[In] BOOL isSideways,[In] BOOL isRightToLeft,[In] const DWRITE_SCRIPT_ANALYSIS* scriptAnalysis,[In, Optional] const wchar_t* localeName,[In, Optional] IDWriteNumberSubstitution* numberSubstitution,[In, Optional] const void** features,[In, Buffer, Optional] const unsigned int* featureRangeLengths,[In] unsigned int featureRanges,[In] unsigned int maxGlyphCount,[Out, Buffer] unsigned short* clusterMap,[Out, Buffer] DWRITE_SHAPING_TEXT_PROPERTIES* textProps,[Out, Buffer] unsigned short* glyphIndices,[Out, Buffer] DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,[Out] unsigned int* actualGlyphCount)

GetGlyphs(string, int, FontFace, bool, bool, ScriptAnalysis, string, NumberSubstitution, FontFeature[][], int[], int, short[], ShapingTextProperties[], short[], ShapingGlyphProperties[])

Gets the glyphs (TODO doc)

Operators

Name Description
explicit operator TextAnalyzer(IntPtr)

Performs an explicit conversion from IntPtr to TextAnalyzer.