On 2/24/2021 5:32 AM, jak wrote:
Hello everybody,
I encounter a problem using Idle Python in Windows when I use utf8 characters longer than 2 bytes such as the character representing the smile emoticon:

The problem is with 'astral' unicode characters, those not in the Basic Multilingual Plane (BMP). tcl/tk does not directly support them.

:-)
that is this:
😊
Try to write this in Idle:
"😊".encode('utf8')
b'\xf0\x9f\x98\x8a'

Up until 1 1/2 years ago, you could not do this. Now you can, as long as you do not try to edit anything after the astral character. I thought I added something to the doc about this, but cannot find it, so it should be easier to find.

now try to write this:
"".encode('utf8')
now position the cursor between the double quotes and paste the smile character

Up until 1.5 years ago, this would have crashed either the window or IDLE itself. For input, if one wants to edit, one is still better off using \U000##### excapes. At least now print('\U00011111'), for instance, works to display the character is the OS font system supports it.

and try to add some text to the string (eg: 'the smile').
You may notice problems with editing.
Is there any way to prevent this from happening? It is an annoying problem.

Help the tcl/tk people to add full unicode support to tcl/tk. ;-) They know it is needed. I don't know what their timetable is now.


--
Terry Jan Reedy


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to