A JavaScript Library to convert text in various amusing ways, using unicode features.
˙sʎɐʍ ɓuısnɯɐ ʇnq ssǝlǝsn snoıɹɐʌ uı ʇxǝʇ ʇɹǝʌuoɔ oʇ ʎɹɐɹqı˥ ʇdıɹɔSɐʌɐſ ∀
- Extracted from lunicode.com.
- Forked from https://github.com/combatwombat/Lunicode.js
- Get out of bed
- Make this list
- Modularize the code
- NPM package it
- Add additional features
- Explain details and history of why and how they work (ref. unicode.org)
- Lose weight
- Finished lunicode.js modularization.
- Extracted, cleaned up and NPM Packaged creepify, flip, mirror, bent, bubbles, tiny, squares, roundsquares.
- Added simple browserify build script for main repo.
- Using lerna to continuously tear ludicode apart, limb by limb.
If you want all functionality, use ./dist/lunicode.js
as a non-npm static dependency for the time being.
If you only want creepify, use the ludicode-creepify package.
Using browserify, if you use the former option a global variable called lunicode
will be injected, behaving
the same as described below. If you have AMD or commonjs available, you can use them respectively.
//Assuming window.lunicode is set via the file in dist
var luni = new lunicode(); //yes, I know. Should be Lunicode. I will remove the need for a constructor next release anyway. (no promises!)
// Encode text. Use one of the effects shown below. Here it's "flip"
var encodedText = luni.tools.flip.encode("Hello World"); // plɹoM ollǝH
// Decode text back to plain ASCII (or reverse encoding)
var plainText = luni.tools.mirror.decode("ƚxɘT ɿoɿɿiM"); // Mirror Text
// Creepify has a few options. Set them before encoding:
luni.tools.creepify.options.top = true; // add diacritics on top. Default: true
luni.tools.creepify.options.middle = true; // add diacritics in the middle. Default: true
luni.tools.creepify.options.bottom = true; // add diacritics on the bottom. Default: true
luni.tools.creepify.options.maxHeight = 15; // How many diacritic marks shall we put on top/bottom? Default: 15
luni.tools.creepify.options.randomization = 100; // 0-100%. maxHeight 100 and randomization 20%: the height goes from 80 to 100. randomization 70%: height goes from 30 to 100. Default: 100
// To convert Unicode text to HTML, use luni.getHTML(text);
// Also converts \n to <br>\n and multiple spaces to ...
var html = luni.getHTML("ǝpoɔıu∩̤"); // ǝpoɔıu∩̤
✅ means they have their own npm package.
Flips/Rotates text, including numbers (12345) and some special characters: äöü éáú ÄÖÜ ß ô
o̮ ᙠ ∩̤O̤∀̤ n̗ɐ̗ǝ̗ n̤o̤ɐ̤ :sɹǝʇɔɐɹɐɥɔ lɐıɔǝds ǝɯos puɐ (ގㄣƐᄅ⇂) sɹǝqɯnu ɓuıpnlɔuı 'ʇxǝʇ sǝʇɐʇoᴚ/sdılℲ
Mirrors text horizontally. äöü ß èàù. Käseküchlein.
.ᴎiɘ|ʜɔüʞɘꙅɒ̈⋊ .úɒ́ɘ́ ᙠ üöɒ̈ .ʏ||ɒƚᴎoƹiɿoʜ ƚxɘƚ ꙅɿoɿɿiM
Adds
diacritics
Ą̵̛͎̗͎̯͕̺̭͍̩͐̄̄͗̿͛̔̀́̋̄͜d̷̨͉͇̞̲̥͈̝̺̘̪̥̟͚̘̫̑̋̎͜͜ḑ̵̡̛̤̱̣̼̞̥̻͕͗̔̀̐́̆̐̓͌̊͛̐̉̚͝s̴̯̤̓̐͒̓̉͆̿̔̚͝ ̶̭̼͂̃d̴̡̰̯̲̣̘͉͉̯̣̥͋̈́̊̏̓̀͒̚i̷̮̭͋̈́̋͋̉͊̄̓͂̕a̶̳̣̲̓̊͋c̵̡̛̗͕̖̻͇̪͆̌͒͊͛͌̽̐̇̇̀͊̂̈͒̚͜͠ṙ̷̡̹̱̜̖̦̭ĩ̵͍̪̘͚̗̰͓̙͛͆̽̾͒̏̀͗̊̊́̍̉͒̊ţ̶̙͙̙͉̱́̀̈́̿͛͊̎̓̉̕̕͜͝i̵̛̞̭̭̮̱̬̯̙̖̺̼͑͛ͅć̶̢̡̫̻̪̩̤̱̠̰̹̙͒́̀͐͐̚̚͘͝͝ṩ̸̢̧̠͖̩͚̯̳͓̻̪̻̞
Bubbles around normal characters. Uses combining characters for everything else.
Ⓑⓤⓑⓑⓛⓔⓢ ⓐⓡⓞⓤⓝⓓ ⓝⓞⓡⓜⓐⓛ ⓒⓗⓐⓡⓐⓒⓣⓔⓡⓢ .⃝ Ⓤⓢⓔⓢ ⓒⓞⓜⓑⓘⓝⓘⓝⓖ ⓒⓗⓐⓡⓐⓒⓣⓔⓡⓢ ⓕⓞⓡ ⓔⓥⓔⓡⓨⓣⓗⓘⓝⓖ ⓔⓛⓢⓔ .⃝
Squares, via combining characters.
S⃞ q⃞ u⃞ a⃞ r⃞ e⃞ s⃞ ,⃞ v⃞ i⃞ a⃞ c⃞ o⃞ m⃞ b⃞ i⃞ n⃞ i⃞ n⃞ g⃞ c⃞ h⃞ a⃞ r⃞ a⃞ c⃞ t⃞ e⃞ r⃞ s⃞ .⃞
Round squares, via combining characters.
R⃣ o⃣ u⃣ n⃣ d⃣ s⃣ q⃣ u⃣ a⃣ r⃣ e⃣ s⃣ ,⃣ v⃣ i⃣ a⃣ c⃣ o⃣ m⃣ b⃣ i⃣ n⃣ i⃣ n⃣ g⃣ c⃣ h⃣ a⃣ r⃣ a⃣ c⃣ t⃣ e⃣ r⃣ s⃣ .⃣
Wonky alternatives to the usual characters.
చօղҟվ ąӀէҽɾղąէìѵҽʂ էօ էհҽ մʂմąӀ çհąɾąçէҽɾʂ.
Tiny Capitals.
ᴛɪɴʏ ᴄᴀᴘɪᴛᴀʟꜱ.
This list is from the original Repo. Comments by A.W. in [].
- FileFormat.info - The best Unicode reference - [✔️ Agreed - Last checked: 01-07-2017]
- Wikipedia: Transformation of Text - Table for flipped characters and others infos - [✔️ Seems to be partly outdated, but still usable - Last checked: 01-07-2017]
- reddit.com/r/unicode - The webs biggest unicode-for-fun community (needs more members) - [✔️ Agreed Last checked: 01-07-2017]
- David Fadens Flip - Initial inspiration and characters - [✔️ Simple, but still online! Last checked: 01-07-2017]
- Thomas Schilds upsidedown.info - Inspiration and comparison - [✔️ - Last checked: 01-07-2017]
- Macchiato - Mirrored ASCII - Initial codepoints for mirrored text - [❗ Images Down - Last checked: 01-07-2017]
- Alan Wood’s Unicode Resources - Codepoints for Bubble Text - [✔️ - Last checked: 01-07-2017]
- Wikipedia: Combining Character - For Creepify, Upsidedown Umlauts, Squares, ... - [✔️ Last checked: 01-07-2017]
- Michael Kaplan's "What do you get when you combine a base character with a buttload of diacritics?" - Idea for creepify [ ❌ Down :( - Last checked: 01-07-2017]
- Unicode emoticons - [✔️ Outdated Last checked: 01-07-2017], Collection of unicode faces - [✔️ Outdated - Last checked: 01-07-2017] and Unicode smileys - [✔️ Maybe Outdated? Has useful information anyway - Last checked: 01-07-2017]
- funicode.com - Idea and lower case characters for Bent - [✔️ - Last checked: 01-07-2017]