Action
Unicode Fun (Encircle or Flip)
You may have seen some of the fun Unicode conversions people like to use on Twitter and in messaging apps, which replace normal letters with encircled versions of them, or which show the text so that is appears flipped upside down and backward.
This is a handy action to convert a text selection to either of these Unicode versions. To use, select some text, run the action and you be prompted to choose one of these conversions. Enjoy!
encircle > ⓔⓝⓒⓘⓡⓒⓛⓔ
flip > dıןɟ
Steps
-
script
// function to flip text to upside unicode equivalents function flipText(srcText) { var out = ''; for( var i = srcText.length - 1; i >= 0; --i ) { var ch = srcText.charAt( i ); if( ch == 'a' ) { out += '\u0250' } else if( ch == 'b' ) { out += 'q' } else if( ch == 'c' ) { out += '\u0254' } else if( ch == 'd' ) { out += 'p' } else if( ch == 'e' ) { out += '\u01DD' } else if( ch == 'f' ) { out += '\u025F' } else if( ch == 'g' ) { out += '\u0183' } //1D77' } else if( ch == 'h' ) { out += '\u0265' } else if( ch == 'i' ) { out += '\u0131' } //1D09' '\u01C3' '\u0131' } else if( ch == 'j' ) { out += '\u017F'} //1D98' '\u0638' } else if( ch == 'k' ) { out += '\u029E' } else if( ch == 'l' ) { out += '\u05DF' } else if( ch == 'm' ) { out += '\u026F' } else if( ch == 'n' ) { out += 'u' } else if( ch == 'o' ) { out += 'o' } else if( ch == 'p' ) { out += 'd' } else if( ch == 'q' ) { out += 'b' } else if( ch == 'r' ) { out += '\u0279' } else if( ch == 's' ) { out += 's' } else if( ch == 't' ) { out += '\u0287' } else if( ch == 'u' ) { out += 'n' } else if( ch == 'v' ) { out += '\u028C' } else if( ch == 'w' ) { out += '\u028D' } else if( ch == 'x' ) { out += 'x' } else if( ch == 'y' ) { out += '\u028E' } else if( ch == 'z' ) { out += 'z' } else if( ch == '(' ) { out += ')' } else if( ch == ')' ) { out += '(' } else if( ch == '{' ) { out += '}' } else if( ch == '}' ) { out += '{' } else if( ch == '[' ) { out += ']' } else if( ch == ']' ) { out += '[' } else if( ch == '<' ) { out += '>' } else if( ch == '>' ) { out += '<' } else if( ch == '0' ) { out += '0' } else if( ch == '1' ) { out += '\u0196' } else if( ch == '2' ) { out += '\u01A7' } else if( ch == '3' ) { out += '\u0190' } else if( ch == '4' ) { out += '\u152D' } // 056B' } else if( ch == '5' ) { out += 'S' } else if( ch == '6' ) { out += '9' } else if( ch == '7' ) { out += 'L' } else if( ch == '8' ) { out += '8' } else if( ch == '9' ) { out += '6' } else if( ch == '?' ) { out += '\u00BF' } else if( ch == '\u00BF' ) { out += '?' } else if( ch == '!' ) { out += '\u00A1' } else if( ch == '\u00A1' ) { out += '!' } else if( ch == "\'" ) { out += ',' } else if( ch == ',' ) { out += "\'" } else if( ch == '.' ) { out += '\u02D9' } else if( ch == '_' ) { out += '\u203E' } else if( ch == ';' ) { out += '\u061B' } else if( ch == '"' ) { out += '\u201E' } else if( ch == "'" ) { out += ',' } else if( ch == '&' ) { out += '\u214B' } else { out += ch } } return out; } // encircle text function encircle(s) { var pchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" , cchars = "ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ⓪①②③④⑤⑥⑦⑧⑨" , count = pchars.length , regex = new RegExp('.', 'g') , trans = {} , lookup = function(c) { return trans[c] || c; }; for (var i=0; i<count; i++) { trans[pchars[i]] = cchars[i]; } return s.replace(regex, lookup); } let f = () => { let s = editor.getSelectedText(); let p = Prompt.create(); p.title = "Modify Selection"; p.message = "Convert selected text to special unicode version."; p.addButton("encircle > ⓔⓝⓒⓘⓡⓒⓛⓔ", "encircle"); p.addButton("flip > dıןɟ"); if (!p.show()) { return false; } if (p.buttonPressed == "encircle") { editor.setSelectedText(encircle(s)); } else { editor.setSelectedText(flipText(s)); } return true; } if (!f()) { context.cancel(); }
Options
-
After Success Default Notification Error Log Level Error
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.