[]
The text analyzer calls back to this to report the actual orientation of each character for shaping and drawing.
void SetGlyphOrientation(int textPosition, int textLength, GlyphOrientationAngle glyphOrientationAngle, byte adjustedBidiLevel, Bool isSideways, Bool isRightToLeft)
Type | Name | Description |
---|---|---|
int | textPosition | The starting position to report from. |
int | textLength | Number of UTF-16 units of the reported range. |
GlyphOrientationAngle | glyphOrientationAngle | A GlyphOrientationAngle-typed value that specifies the angle of the glyphs within the text range (pass to GetGlyphOrientationTransform(GlyphOrientationAngle, Bool, out Matrix3x2) to get the world relative transform). |
byte | adjustedBidiLevel | The adjusted bidi level to be used by the client layout for reordering runs. This will differ from the resolved bidi level retrieved from the source for cases such as Arabic stacked top-to-bottom, where the glyphs are still shaped as RTL, but the runs are TTB along with any CJK or Latin. |
Bool | isSideways | Whether the glyphs are rotated on their side, which is the default case for CJK and the case stacked Latin |
Bool | isRightToLeft | Whether the script should be shaped as right-to-left. For Arabic stacked top-to-bottom, even when the adjusted bidi level is coerced to an even level, this will still be true. |