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
Vasilis
________________________________
From: Nam Nguyen [[email protected]]
Sent: Monday, January 04, 2021 18:39
To: Vasilis Vlachoudis
Cc: [email protected]
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)
Cheers,
Nam
On Mon, Jan 4, 2021 at 1:25 AM Vasilis Vlachoudis
<[email protected]<mailto:[email protected]>> 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
Vasilis
_______________________________________________
Tkinter-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.python.org/mailman/listinfo/tkinter-discuss
_______________________________________________
Tkinter-discuss mailing list
[email protected]
https://mail.python.org/mailman/listinfo/tkinter-discuss