View Ticket
Not logged in
Ticket Hash: 35bd8ebdff1a1fbd170a2e9cb4741b763c51aa05
Title: undroidwish unicode substring of length 1
Status: Closed Type: Code_Defect
Severity: Important Priority: Immediate
Subsystem: Resolution: Works_As_Designed
Last Modified: 2020-03-29 05:28:40
Version Found In: 8.6.9
User Comments:
anonymous added on 2020-03-26 15:45:30:
# \U1f530 japanese beginner symbol
# console
set bj \U1f530
🔰
string range $bj 0 0
\ud83d
string range $bj 0 1
🔰
# compare difference in startscreen (AndroWish, undroidwish) app, see http://taipu.de/andra

best regards
Roland Frank

chw added on 2020-03-26 16:30:52:
Works as designed. The binary undroidwishes are built from the
wtf8-experiment branch which uses a variant of TCL_UTF_MAX=3
representing unicode code points beyond 0xFFFF as a surrogate
pair internally. This is documented in the short release notes
in http://www.androwish.org/download/index.html since the
release "The Leyden Jar" (2017-10-11).

If you want the same behavior as in AndroWish you need to
compile your own undroidwish with TCL_UTF_MAX=6 by changing
the relevant build-undroidwish-*.sh script.

chw added on 2020-03-29 05:28:40:
This is in part addressed and fixed by check-in [eec087c781].
The upstream Tcl core-8-6-branch added logic to support the
"string range" command to deal with surrogate pairs.