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

Hebrew / RTL support #594

Open
tangledhelix opened this issue Dec 23, 2024 · 0 comments
Open

Hebrew / RTL support #594

tangledhelix opened this issue Dec 23, 2024 · 0 comments
Labels
future feature New feature or request, but not core

Comments

@tangledhelix
Copy link
Collaborator

tangledhelix commented Dec 23, 2024

Summary

In Guiguts 1, the behavior for Hebrew text is approximately this:

  • Text pastes in properly, but is displayed LTR, not RTL
  • Cursor movement within the text can be strange
  • If not edited in Guiguts, but saved and viewed/edited in a RTL-aware editor, it works fine.

The best outcome in Guiguts 2 is RTL is displayed properly. But we should only support this if maintaining the functionality would not be a burden; Hebrew is not extremely prevalent in our books, though some have more than others.

Current situation

Results seen so far in Guiguts 2:

  • Windows: seems the same as GG1
  • Mac: seems to display correctly RTL
  • Linux: seems the same as GG1

Screenshots

Mac

(GG1 at bottom; GG2 at right; sample text from forum at left). Appears the RTL is handled properly.

Screenshot 2024-12-21 at 11 24 25 PM

Linux

Seems to display LTR like GG1.

Screenshot 2024-12-22 at 1 37 26 AM

Windows

@windymilla if you'd like to post a Windows screenshot, feel free; if it looks similar to Linux just point to that...

Interesting module

AwesomeTkinter (GitHub) has some base bidi support we could potentially build on, either in a fork, or by contributing back to that project. Currently it seems to focus on Arabic (meaning it also has a nice ligature system, but I'm not sure that's of use in Hebrew; we can ask the experts). It supports Label and Entry; how difficult it would be to add support to Text would be something to explore.

Their docs only mention Linux and Windows. It's not clear if that's because Mac is untested, or because it's not needed.

A Huge Caveat

The character set / alphabet for Hebrew would need implementing in AwesomeTkinter, assuming that would work at all. Doing this sanely would REQUIRE a decent amount of help and testing from our resident Hebrew experts. If this idea becomes interesting later, we should feel out if one or more of them has any bandwidth to help with this, or else there's no way we could do it at all.

@tangledhelix tangledhelix added the future feature New feature or request, but not core label Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
future feature New feature or request, but not core
Projects
None yet
Development

No branches or pull requests

1 participant