Update hasTrailingSpaces#149698
Conversation
LongCatIsLooong
left a comment
There was a problem hiding this comment.
LGTM.
The whole trailing space check thing is a hack and we should expose the width of a line with trailing spaces instead. But that will be a riskier fix to cherry-pick to the beta / stable channel (if you intend to do so).
| @@ -356,6 +356,7 @@ class _TextLayout { | |||
| // last logical trailing space. | |||
There was a problem hiding this comment.
I looked at the SkParagraph code and it looks like the statement here about it treating only " " and "\t" as spaces is not true. It's using code unit properties. Could you update or delete that first paragraph?
| final TextPainter painter = TextPainter() | ||
| ..textDirection = TextDirection.ltr; | ||
|
|
||
| const String text = 'A '; |
There was a problem hiding this comment.
nit: could you use \u{3000} to make it more obvious (or add a comment) that there is a trailing fullwidth space after A?
| painter.dispose(); | ||
| }); | ||
|
|
||
| test('TextPainter caret test with trailing full-width space', () { |
There was a problem hiding this comment.
nit: move this to the "caret" test group?
justinmc
left a comment
There was a problem hiding this comment.
LGTM 👍
But seconding the nits left by @LongCatIsLooong .
| painter.dispose(); | ||
| }); | ||
|
|
||
|
|
There was a problem hiding this comment.
Nit: Too many newlines here, there should only be one.
…b.com/ttorii20/flutter into fix/cursor-alignment-fullwidth-spaces
|
Thank you both for your review! I have completed the requested changes:
|
|
Also if you would like to cherry-pick the commit (after the PR is merged), feel free to create a CP request using the automated workflow. |
…b.com/ttorii20/flutter into fix/cursor-alignment-fullwidth-spaces
|
LGTM thank you for the fix! |
Thank you for the review! |
|
auto label is removed for flutter/flutter/149698, due to - The status or check suite Linux web_long_running_tests_1_5 has failed. Please fix the issues identified (or deflake) before re-applying this label. |
flutter/flutter@32081aa...14df7be 2024-06-11 [email protected] Revert "Add tests for scaffold drawer and end drawer" (flutter/flutter#150045) 2024-06-11 [email protected] Add tests for scaffold drawer and end drawer (flutter/flutter#149383) 2024-06-11 [email protected] Add high-contrast theme (flutter/flutter#149779) 2024-06-11 [email protected] Manual Pub Roll (flutter/flutter#150025) 2024-06-10 [email protected] [docs] Per-platform desktop triage instructions (flutter/flutter#150019) 2024-06-10 [email protected] Fix copy-paste-o in MethodChannel.invokeListMethod doc (flutter/flutter#149976) 2024-06-10 [email protected] Unpin `camera_android` and remove its only usage (flutter/flutter#150017) 2024-06-10 [email protected] Fixes a bug where NavigatorState.pop does not consider any possible s� (flutter/flutter#150014) 2024-06-10 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Reland: [CupertinoActionSheet] Match colors to native (#149568) (#150015)" (flutter/flutter#150021) 2024-06-10 [email protected] Reland: [CupertinoActionSheet] Match colors to native (#149568) (flutter/flutter#150015) 2024-06-10 [email protected] Temporarily run Mac_arm64 framework_tests_misc on only Mac-13 (flutter/flutter#150009) 2024-06-10 [email protected] Fixes TextField hinttext in a11y_assessment (flutter/flutter#150007) 2024-06-10 [email protected] Use const bool.fromEnvironment("dart.tool.dart2wasm") to detect dart2wasm (flutter/flutter#149996) 2024-06-10 [email protected] Roll Packages from 8a2c4e4 to e95fe4a (3 revisions) (flutter/flutter#149997) 2024-06-10 [email protected] [web] Notify engine of handled PointerScrollEvents. (flutter/flutter#145500) 2024-06-10 [email protected] Cut no-longer-accurate microtask reference in finalizeTree doc (flutter/flutter#149941) 2024-06-10 [email protected] Update hasTrailingSpaces (flutter/flutter#149698) 2024-06-10 [email protected] [web] Change `--web-renderer` default from `auto` to `canvaskit` (flutter/flutter#149773) 2024-06-10 [email protected] Retain the toString method for subclasses of Key in profile/release mode (flutter/flutter#149926) 2024-06-10 [email protected] Remove package:platform from issue template (flutter/flutter#149995) 2024-06-10 [email protected] Revert "[CupertinoActionSheet] Match colors to native (#149568)" (flutter/flutter#149998) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This PR addresses an issue with TextPainter's caret position calculation for text containing full-width spaces. Currently, the caret position is not accurately calculated for strings with full-width spaces. To resolve this, the following changes have been made: Corrected the logic for caret position calculation when full-width spaces are present in the text. Added and updated test cases to ensure accurate caret position calculation. These changes ensure that the caret position for text with full-width spaces is computed correctly. This issue was introduced by the commit [a0a854a](flutter@a0a854a). Related Issue: [flutter#149099](flutter#149099)
…152215) Changed the cursor position to be the same as before flutter 3.22.0 when 17 character codes in the Unicode Zs category are entered into a TextField. Extend the support for #149698. As a result, #149099 is resolved. The code for the Unicode-Zs category is based on the following page. https://www.compart.com/en/unicode/category/Zs Fixes #149099
…lutter#152215) Changed the cursor position to be the same as before flutter 3.22.0 when 17 character codes in the Unicode Zs category are entered into a TextField. Extend the support for flutter#149698. As a result, flutter#149099 is resolved. The code for the Unicode-Zs category is based on the following page. https://www.compart.com/en/unicode/category/Zs Fixes flutter#149099
…lutter#152215) Changed the cursor position to be the same as before flutter 3.22.0 when 17 character codes in the Unicode Zs category are entered into a TextField. Extend the support for flutter#149698. As a result, flutter#149099 is resolved. The code for the Unicode-Zs category is based on the following page. https://www.compart.com/en/unicode/category/Zs Fixes flutter#149099
This PR addresses an issue with TextPainter's caret position calculation for text containing full-width spaces. Currently, the caret position is not accurately calculated for strings with full-width spaces. To resolve this, the following changes have been made:
Corrected the logic for caret position calculation when full-width spaces are present in the text.
Added and updated test cases to ensure accurate caret position calculation.
These changes ensure that the caret position for text with full-width spaces is computed correctly.
This issue was introduced by the commit a0a854a.
Related Issue: #149099
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.