<summary>
Analyzes a text range for potential breakpoint opportunities, reading
attributes from the source and reporting breakpoint opportunities to
the sink callback SetLineBreakpoints.
</summary>
<param name="analysisSource">Source object to analyze.</param>
<param name="textPosition">Starting position within the source object.</param>
<param name="textLength">Length to analyze.</param>
<param name="analysisSink">Callback object.</param>
<returns>
Standard HRESULT error code.
</returns>
<remarks>
While the function can handle multiple paragraphs, the text range
should not arbitrarily split the middle of paragraphs, unless the
given text span is considered a whole unit. Otherwise the
returned properties for the first and last characters will
inappropriately allow breaks.
</remarks>
<remarks>
Special cases include the first, last, and surrogate characters. Any
text span is treated as if adjacent to inline objects on either side.
So the rules with contingent-break opportunities are used, where the
edge between text and inline objects is always treated as a potential
break opportunity, dependent on any overriding rules of the adjacent
objects to prohibit or force the break (see Unicode TR #14).
Surrogate pairs never break between.
</remarks>
<summary> Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback SetLineBreakpoints. </summary> <param name="analysisSource">Source object to analyze.</param> <param name="textPosition">Starting position within the source object.</param> <param name="textLength">Length to analyze.</param> <param name="analysisSink">Callback object.</param> <returns> Standard HRESULT error code. </returns> <remarks> While the function can handle multiple paragraphs, the text range should not arbitrarily split the middle of paragraphs, unless the given text span is considered a whole unit. Otherwise the returned properties for the first and last characters will inappropriately allow breaks. </remarks> <remarks> Special cases include the first, last, and surrogate characters. Any text span is treated as if adjacent to inline objects on either side. So the rules with contingent-break opportunities are used, where the edge between text and inline objects is always treated as a potential break opportunity, dependent on any overriding rules of the adjacent objects to prohibit or force the break (see Unicode TR #14). Surrogate pairs never break between. </remarks>