rottytooth / rot8000

rot13 for the Unicode generation
http://rot8000.com
GNU General Public License v3.0
124 stars 3 forks source link

0x8000 isn't enough to cipher emojis #1

Open ioistired opened 6 years ago

ioistired commented 6 years ago

Since most emojis (except the ones that were retoractively turned into emojis, like the arrows IIRC) are in the Astral Plane, 0x8000 is too small to encode them. 0x10FFFF could be used instead, but I'm concerned that at that point, most code points would turn into characters representing unassigned code points.

rottytooth commented 6 years ago

Yes, it would be nice to include emoji. And the script is already ignoring control characters and surrogates, so it's possible to extend it to the supplemental plane and continue to ignore characters that can't be cleanly rotated.

I have two reservations. First is that nearly everything in that supplemental plane requires specialty fonts and for day-to-day use of rot8000, rotations would end up with unicode text that are all in the rectangle fallback font. Second is that it's more likely new symbols will be added in the supplemental plane and so the rotations might not be stable, making previously rotated texts rotate differently as unicode changes.

One answer might be to do the basic multilingual plane PLUS emoji (restricting it to emoji as they are now) to "fill in" the spaces for control characters, bringing the rotation back up to something close to 0x8000. Something to consider

ioistired commented 6 years ago

One answer might be to do the basic multilingual plane PLUS emoji (restricting it to emoji as they are now) to "fill in" the spaces for control characters, bringing the rotation back up to something close to 0x8000. Something to consider

I like this idea, but wouldn't it mean you would have to follow new Unicode versions and update your cipher accordingly? Could that be avoided by "adding" emoji and space where the consortium plans to add new emojis?