[]
        
(Showing Draft Content)

GrapeCity.Documents.DX.DirectWrite.TextAnalyzer

Class TextAnalyzer

Namespace
GrapeCity.Documents.DX.DirectWrite
Assembly
GcDocs.DX.Windows.dll

IDWriteTextAnalyzer

[Guid("b7e6163e-7f46-43b4-84b3-e4e6249c365d")]
public class TextAnalyzer : ComObject, IDisposable, IUnknown
Inheritance
object
TextAnalyzer
Implements
System.IDisposable
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()

Constructors

TextAnalyzer(IntPtr)

Initializes a new instance of the TextAnalyzer class.

public TextAnalyzer(IntPtr nativePtr)

Parameters

nativePtr System.IntPtr

The native pointer.

Methods

AnalyzeBidi(ITextAnalysisQuickSource, int, int, ITextAnalysisSink)

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

public void AnalyzeBidi(ITextAnalysisQuickSource analysisSource, int textPosition, int textLength, ITextAnalysisSink analysisSink)

Parameters

analysisSource ITextAnalysisQuickSource

A reference to a source object to analyze.

textPosition int

The starting text position within the source object.

textLength int

The text length to analyze.

analysisSink ITextAnalysisSink

A reference to the sink callback object that receives the text analysis.

Remarks

While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole.

AnalyzeBidi(ITextAnalysisSource, int, int, ITextAnalysisSink)

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

public void AnalyzeBidi(ITextAnalysisSource analysisSource, int textPosition, int textLength, ITextAnalysisSink analysisSink)

Parameters

analysisSource ITextAnalysisSource

A reference to a source object to analyze.

textPosition int

The starting text position within the source object.

textLength int

The text length to analyze.

analysisSink ITextAnalysisSink

A reference to the sink callback object that receives the text analysis.

Remarks

While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs. Otherwise, the returned levels may be wrong, because the Bidi algorithm is meant to apply to the paragraph as a whole.

AnalyzeBidi(IntPtr, int, int, IntPtr)

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

public void AnalyzeBidi(IntPtr analysisSource, int textPosition, int textLength, IntPtr analysisSink)

Parameters

analysisSource System.IntPtr
textPosition int
textLength int
analysisSink System.IntPtr

AnalyzeLineBreakpoints(ITextAnalysisQuickSource, int, int, ITextAnalysisSink)

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

public void AnalyzeLineBreakpoints(ITextAnalysisQuickSource analysisSource, int textPosition, int textLength, ITextAnalysisSink analysisSink)

Parameters

analysisSource ITextAnalysisQuickSource

A reference to the source object to analyze.

textPosition int

The starting text position within the source object.

textLength int

The text length to analyze.

analysisSink ITextAnalysisSink

A reference to the sink callback object that receives the text analysis.

Remarks

Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks.

AnalyzeLineBreakpoints(ITextAnalysisSource, int, int, ITextAnalysisSink)

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

public void AnalyzeLineBreakpoints(ITextAnalysisSource analysisSource, int textPosition, int textLength, ITextAnalysisSink analysisSink)

Parameters

analysisSource ITextAnalysisSource

A reference to the source object to analyze.

textPosition int

The starting text position within the source object.

textLength int

The text length to analyze.

analysisSink ITextAnalysisSink

A reference to the sink callback object that receives the text analysis.

Remarks

Although the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the specified text span is considered a whole unit. Otherwise, the returned properties for the first and last characters will inappropriately allow breaks.

AnalyzeLineBreakpoints(IntPtr, int, int, IntPtr)

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

public void AnalyzeLineBreakpoints(IntPtr analysisSource, int textPosition, int textLength, IntPtr analysisSink)

Parameters

analysisSource System.IntPtr
textPosition int
textLength int
analysisSink System.IntPtr

AnalyzeNumberSubstitution(ITextAnalysisQuickSource, int, int, ITextAnalysisSink)

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}}.

public void AnalyzeNumberSubstitution(ITextAnalysisQuickSource analysisSource, int textPosition, int textLength, ITextAnalysisSink analysisSink)

Parameters

analysisSource ITextAnalysisQuickSource

The source object to analyze.

textPosition int

The starting position within the source object.

textLength int

The length to analyze.

analysisSink ITextAnalysisSink

A reference to the sink callback object that receives the text analysis.

Remarks

Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation.

AnalyzeNumberSubstitution(ITextAnalysisSource, int, int, ITextAnalysisSink)

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}}.

public void AnalyzeNumberSubstitution(ITextAnalysisSource analysisSource, int textPosition, int textLength, ITextAnalysisSink analysisSink)

Parameters

analysisSource ITextAnalysisSource

The source object to analyze.

textPosition int

The starting position within the source object.

textLength int

The length to analyze.

analysisSink ITextAnalysisSink

A reference to the sink callback object that receives the text analysis.

Remarks

Although the function can handle multiple ranges of differing number substitutions, the text ranges should not arbitrarily split the middle of numbers. Otherwise, it will treat the numbers separately and will not translate any intervening punctuation.

AnalyzeNumberSubstitution(IntPtr, int, int, IntPtr)

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

public void AnalyzeNumberSubstitution(IntPtr analysisSource, int textPosition, int textLength, IntPtr analysisSink)

Parameters

analysisSource System.IntPtr
textPosition int
textLength int
analysisSink System.IntPtr

AnalyzeScript(ITextAnalysisQuickSource, int, int, ITextAnalysisSink)

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

public void AnalyzeScript(ITextAnalysisQuickSource analysisSource, int textPosition, int textLength, ITextAnalysisSink analysisSink)

Parameters

analysisSource ITextAnalysisQuickSource

A reference to the source object to analyze.

textPosition int

The starting text position within the source object.

textLength int

The text length to analyze.

analysisSink ITextAnalysisSink

A reference to the sink callback object that receives the text analysis.

AnalyzeScript(ITextAnalysisSource, int, int, ITextAnalysisSink)

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

public void AnalyzeScript(ITextAnalysisSource analysisSource, int textPosition, int textLength, ITextAnalysisSink analysisSink)

Parameters

analysisSource ITextAnalysisSource

A reference to the source object to analyze.

textPosition int

The starting text position within the source object.

textLength int

The text length to analyze.

analysisSink ITextAnalysisSink

A reference to the sink callback object that receives the text analysis.

AnalyzeScript(IntPtr, int, int, IntPtr)

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

public void AnalyzeScript(IntPtr analysisSource, int textPosition, int textLength, IntPtr analysisSink)

Parameters

analysisSource System.IntPtr
textPosition int
textLength int
analysisSink System.IntPtr

Create(Factory)

Returns an interface for performing text analysis.

public static TextAnalyzer Create(Factory factory)

Parameters

factory Factory

A reference to a DirectWrite factory Factory

Returns

TextAnalyzer

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)

public void GetGdiCompatibleGlyphPlacements(IntPtr textString, IntPtr clusterMap, IntPtr textProps, int textLength, IntPtr glyphIndices, IntPtr glyphProps, int glyphCount, IntPtr fontFace, float fontEmSize, float pixelsPerDip, Matrix3x2? transform, Bool useGdiNatural, Bool isSideways, Bool isRightToLeft, ScriptAnalysis scriptAnalysis, IntPtr localeName, IntPtr features, IntPtr featureRangeLengths, int featureRanges, IntPtr glyphAdvances, IntPtr glyphOffsets)

Parameters

textString System.IntPtr
clusterMap System.IntPtr
textProps System.IntPtr
textLength int
glyphIndices System.IntPtr
glyphProps System.IntPtr
glyphCount int
fontFace System.IntPtr
fontEmSize float
pixelsPerDip float
transform Matrix3x2?
useGdiNatural Bool
isSideways Bool
isRightToLeft Bool
scriptAnalysis ScriptAnalysis
localeName System.IntPtr
features System.IntPtr
featureRangeLengths System.IntPtr
featureRanges int
glyphAdvances System.IntPtr
glyphOffsets System.IntPtr

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)

public void GetGdiCompatibleGlyphPlacements(string textString, short[] clusterMap, ShapingTextProperties[] textProps, int textLength, short[] glyphIndices, ShapingGlyphProperties[] glyphProps, int glyphCount, FontFace fontFace, float fontEmSize, float pixelsPerDip, Matrix3x2? transform, Bool useGdiNatural, Bool isSideways, Bool isRightToLeft, ScriptAnalysis scriptAnalysis, string localeName, IntPtr features, int[] featureRangeLengths, int featureRanges, float[] glyphAdvances, GlyphOffset[] glyphOffsets)

Parameters

textString string
clusterMap short[]
textProps ShapingTextProperties[]
textLength int
glyphIndices short[]
glyphProps ShapingGlyphProperties[]
glyphCount int
fontFace FontFace
fontEmSize float
pixelsPerDip float
transform Matrix3x2?
useGdiNatural Bool
isSideways Bool
isRightToLeft Bool
scriptAnalysis ScriptAnalysis
localeName string
features System.IntPtr
featureRangeLengths int[]
featureRanges int
glyphAdvances float[]
glyphOffsets GlyphOffset[]

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.

public void GetGdiCompatibleGlyphPlacements(string textString, short[] clusterMap, ShapingTextProperties[] textProps, int textLength, short[] glyphIndices, ShapingGlyphProperties[] glyphProps, int glyphCount, FontFace fontFace, float fontEmSize, float pixelsPerDip, Matrix3x2? transform, bool useGdiNatural, bool isSideways, bool isRightToLeft, ScriptAnalysis scriptAnalysis, string localeName, FontFeature[][] features, int[] featureRangeLengths, float[] glyphAdvances, GlyphOffset[] glyphOffsets)

Parameters

textString string

The text string.

clusterMap short[]

The cluster map.

textProps ShapingTextProperties[]

The text props.

textLength int

Length of the text.

glyphIndices short[]

The glyph indices.

glyphProps ShapingGlyphProperties[]

The glyph props.

glyphCount int

The glyph count.

fontFace FontFace

The font face.

fontEmSize float

Size of the font in ems.

pixelsPerDip float

The pixels per dip.

transform Matrix3x2?

The transform.

useGdiNatural bool

if set to true [use GDI natural].

isSideways bool

if set to true [is sideways].

isRightToLeft bool

if set to true [is right to left].

scriptAnalysis ScriptAnalysis

The script analysis.

localeName string

Name of the locale.

features FontFeature[][]

The features.

featureRangeLengths int[]

The feature range lengths.

glyphAdvances float[]

The glyph advances.

glyphOffsets GlyphOffset[]

The glyph offsets.

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)

public void GetGlyphPlacements(IntPtr textString, IntPtr clusterMap, IntPtr textProps, int textLength, IntPtr glyphIndices, IntPtr glyphProps, int glyphCount, IntPtr fontFace, float fontEmSize, Bool isSideways, Bool isRightToLeft, ScriptAnalysis scriptAnalysis, IntPtr localeName, IntPtr features, IntPtr featureRangeLengths, int featureRanges, IntPtr glyphAdvances, IntPtr glyphOffsets)

Parameters

textString System.IntPtr
clusterMap System.IntPtr
textProps System.IntPtr
textLength int
glyphIndices System.IntPtr
glyphProps System.IntPtr
glyphCount int
fontFace System.IntPtr
fontEmSize float
isSideways Bool
isRightToLeft Bool
scriptAnalysis ScriptAnalysis
localeName System.IntPtr
features System.IntPtr
featureRangeLengths System.IntPtr
featureRanges int
glyphAdvances System.IntPtr
glyphOffsets System.IntPtr

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)

public void GetGlyphPlacements(string textString, short[] clusterMap, ShapingTextProperties[] textProps, int textLength, short[] glyphIndices, ShapingGlyphProperties[] glyphProps, int glyphCount, FontFace fontFace, float fontEmSize, Bool isSideways, Bool isRightToLeft, ScriptAnalysis scriptAnalysis, string localeName, IntPtr features, int[] featureRangeLengths, int featureRanges, float[] glyphAdvances, GlyphOffset[] glyphOffsets)

Parameters

textString string
clusterMap short[]
textProps ShapingTextProperties[]
textLength int
glyphIndices short[]
glyphProps ShapingGlyphProperties[]
glyphCount int
fontFace FontFace
fontEmSize float
isSideways Bool
isRightToLeft Bool
scriptAnalysis ScriptAnalysis
localeName string
features System.IntPtr
featureRangeLengths int[]
featureRanges int
glyphAdvances float[]
glyphOffsets GlyphOffset[]

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

Gets the glyph placements.

public void GetGlyphPlacements(string textString, short[] clusterMap, ShapingTextProperties[] textProps, int textLength, short[] glyphIndices, ShapingGlyphProperties[] glyphProps, int glyphCount, FontFace fontFace, float fontEmSize, bool isSideways, bool isRightToLeft, ScriptAnalysis scriptAnalysis, string localeName, FontFeature[][] features, int[] featureRangeLengths, float[] glyphAdvances, GlyphOffset[] glyphOffsets)

Parameters

textString string

The text string.

clusterMap short[]

The cluster map.

textProps ShapingTextProperties[]

The text props.

textLength int

Length of the text.

glyphIndices short[]

The glyph indices.

glyphProps ShapingGlyphProperties[]

The glyph props.

glyphCount int

The glyph count.

fontFace FontFace

The font face.

fontEmSize float

Size of the font in ems.

isSideways bool

if set to true [is sideways].

isRightToLeft bool

if set to true [is right to left].

scriptAnalysis ScriptAnalysis

The script analysis.

localeName string

Name of the locale.

features FontFeature[][]

The features.

featureRangeLengths int[]

The feature range lengths.

glyphAdvances float[]

The glyph advances.

glyphOffsets GlyphOffset[]

The glyph offsets.

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

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)

public HResult GetGlyphs(IntPtr textString, int textLength, IntPtr fontFace, bool isSideways, bool isRightToLeft, ScriptAnalysis scriptAnalysis, IntPtr localeName, IntPtr numberSubstitution, IntPtr features, IntPtr featureRangeLengths, int maxGlyphCount, IntPtr clusterMap, IntPtr textProps, IntPtr glyphIndices, IntPtr glyphProps, out int actualGlyphCount)

Parameters

textString System.IntPtr
textLength int
fontFace System.IntPtr
isSideways bool
isRightToLeft bool
scriptAnalysis ScriptAnalysis
localeName System.IntPtr
numberSubstitution System.IntPtr
features System.IntPtr
featureRangeLengths System.IntPtr
maxGlyphCount int
clusterMap System.IntPtr
textProps System.IntPtr
glyphIndices System.IntPtr
glyphProps System.IntPtr
actualGlyphCount int

Returns

HResult

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)

public int GetGlyphs(string textString, int textLength, FontFace fontFace, Bool isSideways, Bool isRightToLeft, ScriptAnalysis scriptAnalysis, string localeName, NumberSubstitution numberSubstitution, IntPtr features, int[] featureRangeLengths, int featureRanges, int maxGlyphCount, short[] clusterMap, ShapingTextProperties[] textProps, short[] glyphIndices, ShapingGlyphProperties[] glyphProps)

Parameters

textString string
textLength int
fontFace FontFace
isSideways Bool
isRightToLeft Bool
scriptAnalysis ScriptAnalysis
localeName string
numberSubstitution NumberSubstitution
features System.IntPtr
featureRangeLengths int[]
featureRanges int
maxGlyphCount int
clusterMap short[]
textProps ShapingTextProperties[]
glyphIndices short[]
glyphProps ShapingGlyphProperties[]

Returns

int

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

Gets the glyphs (TODO doc)

public int GetGlyphs(string textString, int textLength, FontFace fontFace, bool isSideways, bool isRightToLeft, ScriptAnalysis scriptAnalysis, string localeName, NumberSubstitution numberSubstitution, FontFeature[][] features, int[] featureRangeLengths, int maxGlyphCount, short[] clusterMap, ShapingTextProperties[] textProps, short[] glyphIndices, ShapingGlyphProperties[] glyphProps)

Parameters

textString string

The text string.

textLength int

Length of the text.

fontFace FontFace

The font face.

isSideways bool

if set to true [is sideways].

isRightToLeft bool

if set to true [is right to left].

scriptAnalysis ScriptAnalysis

The script analysis.

localeName string

Name of the locale.

numberSubstitution NumberSubstitution

The number substitution.

features FontFeature[][]

The features.

featureRangeLengths int[]

The feature range lengths.

maxGlyphCount int

The max glyph count.

clusterMap short[]

The cluster map.

textProps ShapingTextProperties[]

The text props.

glyphIndices short[]

The glyph indices.

glyphProps ShapingGlyphProperties[]

The glyph props.

Returns

int

Operators

explicit operator TextAnalyzer(IntPtr)

Performs an explicit conversion from System.IntPtr to TextAnalyzer.

public static explicit operator TextAnalyzer(IntPtr nativePointer)

Parameters

nativePointer System.IntPtr

Returns

TextAnalyzer