Joachim Breitner

Unicode against Smileys

Published 2007-06-01 in sections English, Digital World.

You probably all know how some IM clients convert text smileys like “:-)” to some more or less funny graphics. The problem with these is that every client has it’s own graphics, and there are themes, so what looks like a secretly smiling face here might be laughing naughtily laughing grimace there. That’s why I prefer text smilieys…

But my girlfriend uses one of those “bad” clients, so I tried to hack around it, using funny unicode characters. My first try was to add a zero-width space character like “​” (U+200B) inside the smiley, so that it would be “:​-)” instead of “:-)”. Indeed, her client was not replacing the text with an image, but it did not know the special character, so my girlfriend saw something like “:​�-)” (It was a square, in case your font looks different). The next best try was to replace the nose with a different character. Interestingly, while using the EN-DASH “–” (U+2013) instead of the normal hyphen “-“ (U+002D), the minus character “−” (U+2212) worked, so now my girlfriend sees text smileys with a slightly longer nose − but that’s ok, after all they are from me :−). And thanks to a pidgin plugin, I can just type “:-)” and ”:−)” will be sent.


Just in case you're not talking about your ex-girlfriend, there's a funny typo in girlfired! :--)
#1 El Cerrajero (Homepage) am 2007-06-01
Thanks for the hint. No intentions to fire her :−)
(nice using two hyphens is a nice variant, BTW)
#2 Joachim Breitner (Homepage) am 2007-06-01
another attempt would be just to write (-; or (; instead of ;-) and ;).
this would require some time to get used to it, but i don't think that kind of smiley is implemented in any IM.

#3 Lucas (Homepage) am 2007-06-02
#4 beza1e1 (Homepage) am 2007-06-02
I’ll try that, but I guess it will be a square there as well.
#5 Joachim Breitner (Homepage) am 2007-06-02
which "bad" client was your Girlfriend using,just wanna know.
#6 Henry am 2007-06-02
The official ICQ client, AFAIC. No idea what version, though.
#7 Joachim Breitner (Homepage) am 2007-06-02
ICQ 5.1
#8 girlfriend am 2007-06-02
Try using a zero-width-space (U+FEFF) in between two of the characters in the smiley. It might be a bit difficult to copy-and-paste though.
#9 bd_ am 2007-06-05
Thanks for the hint. I thought I tried all the zero-width-characters, such as U+200B, but I haven’t looked in the U+FEFF range. I’ll try it.
#10 Joachim Breitner (Homepage) am 2007-06-05
You can use U+037E for ";" and U+05C3 for ":".
#11 sildur am 2007-06-05
Nice finds! So you mean rather “;-)” instead of “;-)” and “

There is also U+0589 ARMENIAN FULL STOP “։”, which does not have right-to-left semantics like U+05C3.
#12 Joachim Breitner (Homepage) am 2007-06-05

Have something to say? You can post a comment by sending an e-Mail to me at <>, and I will include it here.