-
Notifications
You must be signed in to change notification settings - Fork 254
[ENH]: Support unicode for labels #862
Copy link
Copy link
Open
Labels
c++Items which involve writing in C++Items which involve writing in C++cythonItems which involve coding in CythonItems which involve coding in CythonguiItems which involve the graphical interface/wxWidgetsItems which involve the graphical interface/wxWidgetspythonItems which involve coding in PythonItems which involve coding in Python
Milestone
Metadata
Metadata
Assignees
Labels
c++Items which involve writing in C++Items which involve writing in C++cythonItems which involve coding in CythonItems which involve coding in CythonguiItems which involve the graphical interface/wxWidgetsItems which involve the graphical interface/wxWidgetspythonItems which involve coding in PythonItems which involve coding in Python
Gambit almost (but not quite) predates Unicode, but certainly the main codebase predates good support for Unicode across platforms.
We should ensure that non-ASCII characters can be used in object labels throughout. The recommendation would be that we assume UTF-8, and insist only on byte-wise equality (rather than normalised equality) as far as uniqueness of labels (within the scopes in which labels are now required to be unique).
A known limitation is that at the moment encoding/decoding of labels in
pygambituses ASCII, so manipulating labels with non-ASCII characters definitely does not work in Python at present.The graphical interface is somewhat more supportive of non-ASCII characters, but a thorough check/audit should be done to ensure labels are handled consistently everywhere.