[Tkinter-discuss] Unicode range

Vasilis Vlachoudis Vasilis.Vlachoudis at cern.ch
Mon Jan 4 14:08:56 EST 2021

Many thanks Nam,

I followed your suggestion and modified a bit as
_UNICODE_RANGE = re.compile(u'[^\u0000-\uFFFF]', re.UNICODE)
except tk.TclError:
    # when it fails try to remove unicode outside the accepted range
    self.text.insert("0.0", _UNICODE_RANGE.sub("?",log.messages))

which is faster


From: Nam Nguyen [namnguyen at google.com]
Sent: Monday, January 04, 2021 18:39
To: Vasilis Vlachoudis
Cc: tkinter-discuss at python.org
Subject: Re: [Tkinter-discuss] Unicode range

Hi Vasilis,

Perhaps by removing characters that are outside of that range?

The error message gives you a range, from 0 to 65535. So this line might do.

s = ''.join(c for c in s if 0 < ord(c) < 65535)


On Mon, Jan 4, 2021 at 1:25 AM Vasilis Vlachoudis <Vasilis.Vlachoudis at cern.ch<mailto:Vasilis.Vlachoudis at cern.ch>> wrote:
Hi all,

how can I "replace/strip" unicode characters that are out of the accepted tk range before inserting them to Text()?

  File "/usr/lib/python3.6/tkinter/__init__.py", line 3272, in insert
    self.tk.call((self._w, 'insert', index, chars) + args)
_tkinter.TclError: character U+1c784 is above the range (U+0000-U+FFFF) allowed by Tcl

Tkinter-discuss mailing list
Tkinter-discuss at python.org<mailto:Tkinter-discuss at python.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/tkinter-discuss/attachments/20210104/eaa82eb2/attachment-0001.html>

More information about the Tkinter-discuss mailing list