Don't insert hyphen after existing hyphen during line split. #2739
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This solves #2564. When user provides a hyphenation logic that splits text on existing text, an additional hyphen is added currently.
Before - hyphens are duplicated:
![Duplicated hyphens](https://private-user-images.githubusercontent.com/10278469/327959448-efbf9d5a-abc2-45a3-b956-f302312ff568.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3NDkyODEsIm5iZiI6MTcxOTc0ODk4MSwicGF0aCI6Ii8xMDI3ODQ2OS8zMjc5NTk0NDgtZWZiZjlkNWEtYWJjMi00NWEzLWI5NTYtZjMwMjMxMmZmNTY4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDEyMDMwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU5MmFhMWNhZmI0ZWU3OWZlMjE1NzE0M2MwMmEwMjUwMDA3YzY5Y2I2MDhiMmMzZjRiNzc0YTE5MzhjMDQ3ODYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Cvmug_uhHKKHHP8XMzA6VXXiWESjAx-nFGJxTSaEop8)
After - hyphens are not duplicated:
![No duplicated hyphens](https://private-user-images.githubusercontent.com/10278469/327959358-bc971499-e902-4f08-b6b9-bb96c20faa4c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3NDkyODEsIm5iZiI6MTcxOTc0ODk4MSwicGF0aCI6Ii8xMDI3ODQ2OS8zMjc5NTkzNTgtYmM5NzE0OTktZTkwMi00ZjA4LWI2YjktYmI5NmMyMGZhYTRjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDEyMDMwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMzNDk5MDIyMzE3NDNmZDVlZWNmODkzNDczMzcxZjMxY2RlOGI4MTk2MDc3MTk4MTE3MGE0MDA2Y2VkZDlmYjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.RBSYU62Nbr_tU0scpFkf0fERYUCaMKqpklwpouikEeQ)
Issue reproduction.
I've tested it manually. I don't see existing unit tests for linebreaker.index logic (only for bestFit) and creating them without full understanding of the flow would take me some time.