Skip to content

Instantly share code, notes, and snippets.

@flying19880517
Created March 14, 2012 15:44
Show Gist options
  • Save flying19880517/2037375 to your computer and use it in GitHub Desktop.
Save flying19880517/2037375 to your computer and use it in GitHub Desktop.
flip
<html><head>
<title>Flip</title>
<style type="text/css">
textarea { font-family: "Arial Unicode MS", Batang }
h1 { margin-bottom: 2px;}
</style>
<script>
function flip() {
var result = flipString(document.f.original.value.toLowerCase());
document.f.flipped.value = result;
}
function flipString(aString) {
var last = aString.length - 1;
//Thanks to Brook Monroe for the suggestion to use Array.join
var result = new Array(aString.length)
for (var i = last; i >= 0; --i) {
var c = aString.charAt(i)
var r = flipTable[c]
result[last - i] = r ? r : c
}
return result.join('')
}
var flipTable = {
a : '\u0250',
b : 'q',
c : '\u0254', //open o -- from pne
d : 'p',
e : '\u01DD',
f : '\u025F', //from pne
g : '\u0183',
h : '\u0265',
i : '\u0131', //from pne
j : '\u027E',
k : '\u029E',
//l : '\u0283',
m : '\u026F',
n : 'u',
r : '\u0279',
t : '\u0287',
v : '\u028C',
w : '\u028D',
y : '\u028E',
'.' : '\u02D9',
'[' : ']',
'(' : ')',
'{' : '}',
'?' : '\u00BF', //from pne
'!' : '\u00A1',
"\'" : ',',
'<' : '>',
'_' : '\u203E',
'\u203F' : '\u2040',
'\u2045' : '\u2046',
'\u2234' : '\u2235',
'\r' : '\n' //thank you, Yeeliberto
}
for (i in flipTable) {
flipTable[flipTable[i]] = i
}
</script></head><body>
<h1>Flip</h1>
<form name="f">Original:
<br>
<textarea rows="5" cols="50" name="original" onkeyup="flip()"></textarea> <input value="Flip" onclick="flip()" type="button">
<br>
Flipped:
<br>
<textarea rows="5" cols="50" name="flipped"></textarea>
</form>
</body></html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment