fix: use String#characters instead of substring for truncation in circular charts. #1661
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 PR is just being used to demonstrate that we can fix the below mentioned issue by using
package:characters
(which is exported via the Flutter SDK). Currently, thecircular_data_label_helper
usessubstring
when truncating text which is prone to causing issues if the inputString
contains, for instance, emojis like 🍕 that are comprised of multiple code points. This is explained in more detail in this comment.Notes:
.substring
, of which there seem to be 9. I just opened this to demonstrate how [syncfusion_flutter_charts] Pie Chart data labels throwInvalid argument(s): string is not well-formed UTF-16
#1611 should likely be fixed.Before:

After:

Fixes #1611.