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

Unicode versioning #59

Closed
aymanbagabas opened this issue Jul 31, 2024 · 3 comments
Closed

Unicode versioning #59

aymanbagabas opened this issue Jul 31, 2024 · 3 comments

Comments

@aymanbagabas
Copy link

Currently, uniseg only supports the latest Unicode text segmentation specs. It would be great if other versions are supported as well.

@rivo
Copy link
Owner

rivo commented Jul 31, 2024

Yeah, probably not going to happen. I don't have the time and resources to maintain all kinds of different versions. I'm already behind on the current version, see #46.

I'm also not sure how this would be useful. From what I can see, newer Unicode versions don't change previous rules but rather add to them, to handle previously unsupported languages and characters/emojis. Why would you want to go back to a version that doesn't handle these correctly?

@aymanbagabas
Copy link
Author

The reason is that most terminals out there use older Unicode versions, and being able to know what the terminal expects is really valuable. I understand though that this is beyond the scope for the project.
Thank you for your work on uniseg! I will close this one.

@rivo
Copy link
Owner

rivo commented Aug 2, 2024

Got it. Well, unfortunately, the situation for terminals regarding Unicode support is a complete mess. I've elaborated on this elsewhere but it's not just that most terminals don't support the current version but that they are often buggy in their support. So I don't even think setting uniseg to an older Unicode version will solve that problem. Furthermore, it's (almost?) impossible to know on which terminal your application is running. Unless you have full control over the terminal being used, it probably won't help to optimize for a specific one.

Finally, the goal of uniseg is not to provide the least common denominator for all the terminals out there but a modern, up to date implementation of the Unicode spec for any projects that work with text. In short, if you plan to develop a terminal or a text editor in Go yourself, you should be using uniseg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants