Skip to content
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

Text editing RTL #11375

Closed
Hixie opened this issue Jul 24, 2017 · 8 comments
Closed

Text editing RTL #11375

Hixie opened this issue Jul 24, 2017 · 8 comments
Labels
a: internationalization Supporting other languages or locales. (aka i18n) a: text input Entering text in a text field or keyboard related problems c: proposal A detailed proposal for a change to Flutter customer: crowd Affects or could affect many people, though not necessarily a specific customer. f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. P2 Important issues not at the top of the work list team-text-input Owned by Text Input team triaged-text-input Triaged by Text Input team

Comments

@Hixie
Copy link
Contributor

Hixie commented Jul 24, 2017

Text fields need to have a bidi cursor that shows what direction they are going in.

@Hixie Hixie added framework flutter/packages/flutter repository. See also f: labels. a: internationalization Supporting other languages or locales. (aka i18n) f: material design flutter/packages/flutter/material repository. a: text input Entering text in a text field or keyboard related problems labels Jul 24, 2017
@Hixie Hixie added this to the 3: Current Milestone milestone Jul 24, 2017
@Hixie Hixie added this to RTL - layout in Internationalization Jul 24, 2017
@Hixie Hixie modified the milestones: 3: Current Milestone, 4: Next milestone Oct 20, 2017
@Hixie
Copy link
Contributor Author

Hixie commented Oct 23, 2017

Specifically:

  • It should be possible to tap between LTR text and RTL text on both ends. For example in "3WERBEH english2 1WERBEH", you should be able to tap on either end of the english text.
  • On Android, when a cursor is between text of different directions, it should show the cursor in both locations. The side that is near the LTR text should be a half-cursor on the bottom, the part that is near the RTL text should be a half-cursor on the top. This depends on getOffsetForCaret should return two values at an LTR/RTL boundary #11738.

@srix55
Copy link

srix55 commented May 22, 2018

Any updates on RTL support for widgets? I'm writing an app that displays in both arabic & english. It's surprising to see no upvotes to this issue. I'm fairly certain that this is a very important requirement. From what I've read elsewhere in the site, flutter team values issues as much as the need. So, plz leave an upvote, bystanders. Edit: I just saw that there's an entire project within flutter that's dedicated to internationalization :) Link: https://github.com/flutter/flutter/projects/17#card-3918549

@Hixie
Copy link
Contributor Author

Hixie commented May 23, 2018

rtl is basically done, this is one of the few remaining issues.

@TahaTesser TahaTesser added customer: crowd Affects or could affect many people, though not necessarily a specific customer. c: proposal A detailed proposal for a change to Flutter labels Mar 24, 2020
@kf6gpe kf6gpe added the P2 Important issues not at the top of the work list label May 29, 2020
@kf6gpe kf6gpe removed this from the Goals milestone Jun 2, 2020
@Hixie Hixie removed this from the Goals milestone Jun 2, 2020
@Hixie Hixie removed this from the None. milestone Aug 17, 2020
@flutter-triage-bot flutter-triage-bot bot added multiteam-retriage-candidate team-design Owned by Design Languages team triaged-design Triaged by Design Languages team labels Jul 8, 2023
@gnprice gnprice added team-framework Owned by Framework team triaged-framework Triaged by Framework team and removed team-design Owned by Design Languages team triaged-design Triaged by Design Languages team labels Jul 18, 2023
@justinmc justinmc added team-text-input Owned by Text Input team and removed team-framework Owned by Framework team triaged-framework Triaged by Framework team labels Mar 21, 2024
@justinmc justinmc added the triaged-text-input Triaged by Text Input team label Mar 21, 2024
@justinmc
Copy link
Contributor

@Hixie Do you know where you got the idea of 2 cursors at a bi-di boundary? Is this still the behavior that we want for Flutter?

@LongCatIsLooong Suggested putting the cursor under the character that would be deleted with a backspace. Maybe that's unconventional, though.

@Hixie
Copy link
Contributor Author

Hixie commented Mar 22, 2024

It's what Android did when I filed the bug. I don't know if they still do it.

Our text fields should be identical to the platform text fields (at least by default, but in general I think these are complicated enough that we shouldn't further complicate them by adding our own twist on these behaviours, just implementing all the platforms' default behaviours is confusing enough as it is).

@justinmc
Copy link
Contributor

I agree about keeping the same behavior as the platform. I think I can close this issue unless you see anything we're still missing.

It looks like native Android no longer has 2 cursors for bi-di (this is Keep):

Also it seems like it's possible to place the cursor wherever I tap in bi-di text in Flutter now:

Screencast.from.2024-03-22.10-49-39.webm

@justinmc
Copy link
Contributor

To be clear, Flutter still has problems with RTL text editing, but those are tracked in other issues.

Copy link

github-actions bot commented Apr 5, 2024

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: internationalization Supporting other languages or locales. (aka i18n) a: text input Entering text in a text field or keyboard related problems c: proposal A detailed proposal for a change to Flutter customer: crowd Affects or could affect many people, though not necessarily a specific customer. f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. P2 Important issues not at the top of the work list team-text-input Owned by Text Input team triaged-text-input Triaged by Text Input team
Projects
Internationalization
RTL - Text and Text Editing
Development

No branches or pull requests

6 participants