Idle Python issue

Terry Reedy tjreedy at udel.edu
Wed Feb 24 10:18:35 EST 2021


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




More information about the Python-list mailing list