-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Update hasTrailingSpaces #149698
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update hasTrailingSpaces #149698
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: could you use \u{3000}
to make it more obvious (or add a comment) that there is a trailing fullwidth space after A?
@@ -147,6 +147,32 @@ void main() { | |||
painter.dispose(); | |||
}); | |||
|
|||
test('TextPainter caret test with trailing full-width space', () { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: move this to the "caret" test group?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
But seconding the nits left by @LongCatIsLooong .
painter.dispose(); | ||
}); | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you delete the sentence that says "SkParagraph currently treats " ", "\t", and "\u{3000}" as white spaces."? (since it's still a bit misleading as SkParagraph treats a wider range of codepoints as spaces when doing line breaking).
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 109111084+yaakovschectman@users.noreply.github.com Revert "Add tests for scaffold drawer and end drawer" (flutter/flutter#150045) 2024-06-11 32538273+ValentinVignal@users.noreply.github.com Add tests for scaffold drawer and end drawer (flutter/flutter#149383) 2024-06-11 36861262+QuncCccccc@users.noreply.github.com Add high-contrast theme (flutter/flutter#149779) 2024-06-11 goderbauer@google.com Manual Pub Roll (flutter/flutter#150025) 2024-06-10 chris@bracken.jp [docs] Per-platform desktop triage instructions (flutter/flutter#150019) 2024-06-10 greg@zulip.com Fix copy-paste-o in MethodChannel.invokeListMethod doc (flutter/flutter#149976) 2024-06-10 34871572+gmackall@users.noreply.github.com Unpin `camera_android` and remove its only usage (flutter/flutter#150017) 2024-06-10 47866232+chunhtai@users.noreply.github.com 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 dkwingsmt@users.noreply.github.com Reland: [CupertinoActionSheet] Match colors to native (#149568) (flutter/flutter#150015) 2024-06-10 15619084+vashworth@users.noreply.github.com Temporarily run Mac_arm64 framework_tests_misc on only Mac-13 (flutter/flutter#150009) 2024-06-10 47866232+chunhtai@users.noreply.github.com Fixes TextField hinttext in a11y_assessment (flutter/flutter#150007) 2024-06-10 kustermann@google.com Use const bool.fromEnvironment("dart.tool.dart2wasm") to detect dart2wasm (flutter/flutter#149996) 2024-06-10 engine-flutter-autoroll@skia.org Roll Packages from 8a2c4e4 to e95fe4a (3 revisions) (flutter/flutter#149997) 2024-06-10 ditman@gmail.com [web] Notify engine of handled PointerScrollEvents. (flutter/flutter#145500) 2024-06-10 greg@zulip.com Cut no-longer-accurate microtask reference in finalizeTree doc (flutter/flutter#149941) 2024-06-10 ttorii20@gmail.com Update hasTrailingSpaces (flutter/flutter#149698) 2024-06-10 mdebbar@google.com [web] Change `--web-renderer` default from `auto` to `canvaskit` (flutter/flutter#149773) 2024-06-10 jason-simmons@users.noreply.github.com Retain the toString method for subclasses of Key in profile/release mode (flutter/flutter#149926) 2024-06-10 mit@google.com Remove package:platform from issue template (flutter/flutter#149995) 2024-06-10 15619084+vashworth@users.noreply.github.com 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 bmparr@google.com,rmistry@google.com,stuartmorgan@google.com 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.