[unsafe-to-concat] Clarify documentation as per feedback

Fixes https://github.com/harfbuzz/harfbuzz/pull/3297#discussion_r754395825
This commit is contained in:
Behdad Esfahbod 2022-01-25 09:10:56 -07:00
parent 3324606492
commit 540af548dc
1 changed files with 15 additions and 3 deletions

View File

@ -111,8 +111,8 @@ typedef struct hb_glyph_info_t {
* happens at line-break position, in the following * happens at line-break position, in the following
* way: * way:
* *
* 1. Iterate back from the line-break position till * 1. Iterate back from the line-break position
* the the first cluster start position that is * until the first cluster start position that is
* NOT unsafe-to-concat, 2. shape the segment from * NOT unsafe-to-concat, 2. shape the segment from
* there till the end of line, 3. check whether the * there till the end of line, 3. check whether the
* resulting glyph-run also is clear of the * resulting glyph-run also is clear of the
@ -123,7 +123,19 @@ typedef struct hb_glyph_info_t {
* from there, and repeat. * from there, and repeat.
* *
* At the start of next line a similar algorithm can * At the start of next line a similar algorithm can
* be implemented. A slight complication will arise, * be implemented. That is: 1. Iterate forward from
* the line-break position untill the first cluster
* start position that is NOT unsafe-to-concat, 2.
* shape the segment from beginning of the line to
* that position, 3. check whether the resulting
* glyph-run also is clear of the unsafe-to-concat
* at its end-of-text position; if it is, just splice
* it into place and the beginning is shaped; If not,
* move on to a position further forward that is clear
* of unsafe-to-concat and retry up to there, and repeat.
*
* A slight complication will arise in the
* implementation of the algorithm above,
* because while our buffer API has a way to * because while our buffer API has a way to
* return flags for position corresponding to * return flags for position corresponding to
* start-of-text, there is currently no position * start-of-text, there is currently no position