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

Support international input #698

Open
kkoreilly opened this issue Dec 25, 2023 · 11 comments
Open

Support international input #698

kkoreilly opened this issue Dec 25, 2023 · 11 comments
Labels
enhancement New feature or request needs discussion Need to discuss what to do
Milestone

Comments

@kkoreilly
Copy link
Member

For example, when using a Japanese romaji virtual input method, the input menu is put in the corner of the window and does synchronize with events well. This is related to #9 and #568.

@kkoreilly kkoreilly added enhancement New feature or request needs discussion Need to discuss what to do labels Dec 25, 2023
@kkoreilly kkoreilly added this to the v2 milestone Dec 25, 2023
@kkoreilly
Copy link
Member Author

We could do this if go-gl/glfw#371 is ever merged, or if we fold glfw into goosi (see #274).

@ddkwork
Copy link
Contributor

ddkwork commented Feb 25, 2024

gio seems to be implemented through this, but I still don't understand, currently core is specifying the font through the global setting to display Chinese?

https://github.com/go-text/typesetting
https://github.com/go-text/typesetting-utils
https://github.com/go-text/render

@kkoreilly
Copy link
Member Author

I am going to figure out a good approach to international input, international fonts, and translation soon when I do my implementation of internationalization.

@ddkwork
Copy link
Contributor

ddkwork commented Feb 27, 2024

We could do this if go-gl/glfw#371 is ever merged, or if we fold glfw into goosi (see #274).

Let's slowly study the PR that can't be merged for two years, but I don't recommend merging the code into the core module because it's not convenient for us to pull its updates. Therefore, we should fork one, and its repository updates are not very frequent. This way, there are few conflicts when pulling, and it's easy to merge. Then, we can replace it in the module to your fork address

@kkoreilly
Copy link
Member Author

We are going to see what happens with go-gl/glfw#392, and then we may consider forking glfw.

@ddkwork
Copy link
Contributor

ddkwork commented Feb 27, 2024 via email

@kkoreilly
Copy link
Member Author

Thanks! If there is no motion on that PR by the time I start working on internationalization, we will fork glfw.

@ddkwork
Copy link
Contributor

ddkwork commented Feb 27, 2024 via email

@andydotxyz
Copy link

gio seems to be implemented through this, but I still don't understand, currently core is specifying the font through the global setting to display Chinese?

https://github.com/go-text/typesetting
https://github.com/go-text/typesetting-utils
https://github.com/go-text/render

As I do some work in the go-text project I can provide a little context. Those packages handle how text is displayed (typesetting is the layout and complex language rules, render is rasterising the information to image/screen).
As both Gio and Fyne use those packages for text handling it's not a differentiator with regards to international support.
The input (IME and more) relates to the OS level input and event handling framework and there isn't anything we can do at the text handling level to take care of it for you.

@kkoreilly
Copy link
Member Author

Yep, there are three main parts of internationalization: fonts, translation, and input. We know how to implement international fonts, and the issue for that is #568. We know how to implement translation, and the issue for that is #9. This issue is for international input (IME) support, which must be implemented at the OS driver level. There are four separate PRs in different places that each implement that: glfw/glfw#658, glfw/glfw#2130, go-gl/glfw#371, and go-gl/glfw#392. If none of these PRs are merged by the time we get to international input support, which should be in a few weeks, then we will likely have to maintain a fork of go-gl/glfw with an IME PR merged.

@andydotxyz
Copy link

Cool, seems like you have it covered then :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs discussion Need to discuss what to do
Projects
None yet
Development

No branches or pull requests

3 participants