@@ -897,7 +897,7 @@ PackedInt32Array TextServer::shaped_text_get_line_breaks_adv(const RID &p_shaped
897897 while (p_break_flags.has_flag (BREAK_TRIM_START_EDGE_SPACES ) && trim_next && (start_pos < end_pos) && ((l_gl[start_pos].flags & GRAPHEME_IS_SOFT_HYPHEN ) != GRAPHEME_IS_SOFT_HYPHEN ) && ((l_gl[start_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[start_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[start_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
898898 start_pos += l_gl[start_pos].count ;
899899 }
900- while (p_break_flags.has_flag (BREAK_TRIM_END_EDGE_SPACES ) && (start_pos <= end_pos) && ((l_gl[end_pos].flags & GRAPHEME_IS_SOFT_HYPHEN ) != GRAPHEME_IS_SOFT_HYPHEN ) && ((l_gl[end_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
900+ while (p_break_flags.has_flag (BREAK_TRIM_END_EDGE_SPACES ) && (start_pos <= end_pos) && (end_pos > 0 ) && ( (l_gl[end_pos].flags & GRAPHEME_IS_SOFT_HYPHEN ) != GRAPHEME_IS_SOFT_HYPHEN ) && ((l_gl[end_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
901901 end_pos -= l_gl[end_pos].count ;
902902 }
903903 if (last_end <= l_gl[start_pos].start && l_gl[start_pos].start != l_gl[end_pos].end ) {
@@ -941,7 +941,7 @@ PackedInt32Array TextServer::shaped_text_get_line_breaks_adv(const RID &p_shaped
941941 while (p_break_flags.has_flag (BREAK_TRIM_START_EDGE_SPACES ) && trim_next && (start_pos < end_pos) && ((l_gl[start_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[start_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[start_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
942942 start_pos += l_gl[start_pos].count ;
943943 }
944- while (p_break_flags.has_flag (BREAK_TRIM_END_EDGE_SPACES ) && (start_pos <= end_pos) && ((l_gl[end_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
944+ while (p_break_flags.has_flag (BREAK_TRIM_END_EDGE_SPACES ) && (start_pos <= end_pos) && (end_pos > 0 ) && ( (l_gl[end_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
945945 end_pos -= l_gl[end_pos].count ;
946946 }
947947 if (last_end <= l_gl[start_pos].start && l_gl[start_pos].start != l_gl[end_pos].end ) {
@@ -1080,7 +1080,7 @@ PackedInt32Array TextServer::shaped_text_get_line_breaks(const RID &p_shaped, do
10801080 while (p_break_flags.has_flag (BREAK_TRIM_START_EDGE_SPACES ) && trim_next && (start_pos < end_pos) && ((l_gl[start_pos].flags & GRAPHEME_IS_SOFT_HYPHEN ) != GRAPHEME_IS_SOFT_HYPHEN ) && ((l_gl[start_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[start_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[start_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
10811081 start_pos += l_gl[start_pos].count ;
10821082 }
1083- while (p_break_flags.has_flag (BREAK_TRIM_END_EDGE_SPACES ) && (start_pos <= end_pos) && ((l_gl[end_pos].flags & GRAPHEME_IS_SOFT_HYPHEN ) != GRAPHEME_IS_SOFT_HYPHEN ) && ((l_gl[end_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
1083+ while (p_break_flags.has_flag (BREAK_TRIM_END_EDGE_SPACES ) && (start_pos <= end_pos) && (end_pos > 0 ) && ( (l_gl[end_pos].flags & GRAPHEME_IS_SOFT_HYPHEN ) != GRAPHEME_IS_SOFT_HYPHEN ) && ((l_gl[end_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
10841084 end_pos -= l_gl[end_pos].count ;
10851085 }
10861086 if (last_end <= l_gl[start_pos].start && l_gl[start_pos].start != l_gl[end_pos].end ) {
@@ -1123,7 +1123,7 @@ PackedInt32Array TextServer::shaped_text_get_line_breaks(const RID &p_shaped, do
11231123 while (p_break_flags.has_flag (BREAK_TRIM_START_EDGE_SPACES ) && trim_next && (start_pos < end_pos) && ((l_gl[start_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[start_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[start_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
11241124 start_pos += l_gl[start_pos].count ;
11251125 }
1126- while (p_break_flags.has_flag (BREAK_TRIM_END_EDGE_SPACES ) && (start_pos <= end_pos) && ((l_gl[end_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
1126+ while (p_break_flags.has_flag (BREAK_TRIM_END_EDGE_SPACES ) && (start_pos <= end_pos) && (end_pos > 0 ) && ( (l_gl[end_pos].flags & GRAPHEME_IS_SPACE ) == GRAPHEME_IS_SPACE || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_HARD ) == GRAPHEME_IS_BREAK_HARD || (l_gl[end_pos].flags & GRAPHEME_IS_BREAK_SOFT ) == GRAPHEME_IS_BREAK_SOFT )) {
11271127 end_pos -= l_gl[end_pos].count ;
11281128 }
11291129 trim_next = true ;
0 commit comments