A few weeks ago, I produced an app which allows you to explore some issues with Unicode encoding of visually-indistinguishable characters/forms/glyphs – Dystextia. I am pleased to announce the release of version 1.2, which has further performance optimisations and offers a new Maximum option, which will obfuscate almost every character in text, including numerals and some punctuation marks.
Dystextia opens text documents with the extensions .text and now .txt too, or you can create your own within its edit view. You can then encode them in one of two ways:
- In normal mode, with Maximum unchecked. This creates a version which is almost visually indistinguishable from the original, but the great majority of words will now be lost to regular search, as they will contain odd Unicode characters. This is the same as was offered in the previous version.
- With the Maximum box checked (ticked), encoding them will result in text in which almost every character has been changed for an odd Unicode form. This will break all search and other string operations. The resulting text looks strange in most fonts, but remains quite readable.
To illustrate the differences, the above text was encoded with Maximum off, and in most fonts is almost indistinguishable from the original (ironically, that used here shows greater differences than most). Searching it is next to useless, though, as almost every word has been changed. Here is a sample paragraph:
Τо іllustrаtе thе dіffеrеnсеs, thе аbоvе tехt wаs еnсоdеd wіth Μахіmum оff, аnd іs аlmоst іndіstіnguіshаblе frоm thе оrіgіnаl. Sеаrсhіng іt іs nехt tо usеlеss, thоugh, аs аlmоst еvеrу wоrd hаs bееn сhаngеd.
The above text was encoded with Maximum on, and remains perfectly readable, although it has clearly been altered. Almost every character that you see there is ‘abnormal’ in its encoding. Here is the same paragraph:
Τо іⅼⅼ𝚞𝚜𝚝𝚛а𝚝е 𝚝𝚑е ⅾі𝚏𝚏е𝚛е𝚗се𝚜, 𝚝𝚑е аbо𝚟е 𝚝ех𝚝 𝚠а𝚜 е𝚗соⅾеⅾ 𝚠і𝚝𝚑 Μахі𝚖𝚞𝚖 о𝚏𝚏, а𝚗ⅾ і𝚜 аⅼ𝚖о𝚜𝚝 і𝚗ⅾі𝚜𝚝і𝚗ɡ𝚞і𝚜𝚑аbⅼе 𝚏𝚛о𝚖 𝚝𝚑е о𝚛іɡі𝚗аⅼ․ Sеа𝚛с𝚑і𝚗ɡ і𝚝 і𝚜 𝚗ех𝚝 𝚝о 𝚞𝚜еⅼе𝚜𝚜, 𝚝𝚑о𝚞ɡ𝚑, а𝚜 аⅼ𝚖о𝚜𝚝 е𝚟е𝚛у 𝚠о𝚛ⅾ 𝚑а𝚜 bее𝚗 с𝚑а𝚗ɡеⅾ․
Encoding a 5.3 MB text file with Maximum off takes around 6 seconds on an iMac17,1. With Maximum on, it takes around 9 seconds. Oddly, although decoding uses almost identical source code, it takes around 50 seconds with Maximum off, and 68 seconds with Maximum on.
The latest release is available from Downloads above.
I hope that you find it both entertaining and useful.