You need two numToChar calls: numToChar(55357)+ numToChar(56832)
The Unicode engine will fix this with a new call that handles surrogate pairs automatically and invisibly but numToChar will probably have to retain the mod-65536 behaviour for compatibility. Regards, Fraser On 12/01/2014 21:31, Richmond wrote: > So, I found that the Unicode Consortium puts a smiley face at address > 1F600 (hex) = 128512(decimal), > > but when I go > > set the useUnicode to true > set the unicodeText of fld "feeld" to numToChar(128512) > > I get a nifty Bengali char that returns 62976, which is, rather > predictably, > 128512 - 65536 (or 256 x 256). > > And, while that is all rather jolly in terms of base 16 Maths is > doesn't do much for > my urge to propagate smiley faces all over the shop. > > Doing this: > > set the useUnicode to true > set the unicodeText of fld "feeld" to numToChar(65536+62976) > > gives me numToChar(62976) > > Now I assume (dangerous business that) that there is a way (???) to > get hold of the characters > in the higher planes (i.e. above 65536) of the Unicode font system, > but don't know how to do that. > > Does anybody know? > > Richmond. > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode