User:Plastikspork/flipsummary.js

// Flips the 'ʎɹɐɯɯns ʇıpǝ' // // Installation: // Add the following line to your monobook.js // importScript('User:Plastikspork/flipsummary.js');

function spork_invert_edit_summary {

// Char Map: http://www.fileformat.info/convert/text/upside-down-map.htm var cmap = { '\u0021':'\u00A1', '\u00A1':'\u0021', '\u0022':'\u201E', '\u201E':'\u0022', '\u0026':'\u214B', '\u214B':'\u0026', '\u0027':'\u002C', '\u002C':'\u0027', '\u0028':'\u0029', '\u0029':'\u0028', '\u002E':'\u02D9', '\u02D9':'\u002E', '\u0033':'\u0190', '\u0190':'\u0033', '\u0034':'\u152D', '\u152D':'\u0034', '\u0036':'\u0039', '\u0039':'\u0036', '\u0037':'\u2C62', '\u2C62':'\u0037', '\u003B':'\u061B', '\u061B':'\u003B', '\u003C':'\u003E', '\u003E':'\u003C', '\u003F':'\u00BF', '\u00BF':'\u003F', '\u0041':'\u2200', '\u2200':'\u0041', '\u0042':'\u10412', '\u10412':'\u0042', '\u0043':'\u2183', '\u2183':'\u0043', '\u0044':'\u25D6', '\u25D6':'\u0044', '\u0045':'\u018E', '\u018E':'\u0045', '\u0046':'\u2132', '\u2132':'\u0046', '\u0047':'\u2141', '\u2141':'\u0047', '\u004A':'\u017F', '\u017F':'\u004A', '\u004B':'\u22CA', '\u22CA':'\u004B', '\u004C':'\u2142', '\u2142':'\u004C', '\u004D':'\u0057', '\u0057':'\u004D', '\u004E':'\u1D0E', '\u1D0E':'\u004E', '\u0050':'\u0500', '\u0500':'\u0050', '\u0051':'\u038C', '\u038C':'\u0051', '\u0052':'\u1D1A', '\u1D1A':'\u0052', '\u0054':'\u22A5', '\u22A5':'\u0054', '\u0055':'\u2229', '\u2229':'\u0055', '\u0056':'\u1D27', '\u1D27':'\u0056', '\u0059':'\u2144', '\u2144':'\u0059', '\u005B':'\u005D', '\u005D':'\u005B', '\u005F':'\u203E', '\u203E':'\u005F', '\u0061':'\u0250', '\u0250':'\u0061', '\u0062':'\u0071', '\u0071':'\u0062', '\u0063':'\u0254', '\u0254':'\u0063', '\u0064':'\u0070', '\u0070':'\u0064', '\u0065':'\u01DD', '\u01DD':'\u0065', '\u0066':'\u025F', '\u025F':'\u0066', '\u0067':'\u0183', '\u0183':'\u0067', '\u0068':'\u0265', '\u0265':'\u0068', '\u0069':'\u0131', '\u0131':'\u0069', '\u006A':'\u027E', '\u027E':'\u006A', '\u006B':'\u029E', '\u029E':'\u006B', '\u006C':'\u05DF', '\u05DF':'\u006C', // '\u006C':'\u0283', '\u0283':'\u006C', '\u006D':'\u026F', '\u026F':'\u006D', '\u006E':'\u0075', '\u0075':'\u006E', '\u0072':'\u0279', '\u0279':'\u0072', '\u0074':'\u0287', '\u0287':'\u0074', '\u0076':'\u028C', '\u028C':'\u0076', '\u0077':'\u028D', '\u028D':'\u0077', '\u0079':'\u028E', '\u028E':'\u0079', '\u007B':'\u007D', '\u007D':'\u007B', '\u203F':'\u2040', '\u2040':'\u203F', '\u2045':'\u2046', '\u2046':'\u2045', '\u2234':'\u2235', '\u2235':'\u2234' } // Grab edit summary var txt = document.forms.editform.wpSummary.value; // Reverse order character array var rev = txt.split('').reverse; // Loop over characters for (var i = 0; i < txt.length; i++) { // Grab flipped character var x = cmap[rev[i]]; // Flip it if it is defined if( x != undefined ) { rev[i] = x; } }

// Overwrite edit summary with flipped version document.forms.editform.wpSummary.value = rev.join('');

}

// Add 'ʎɹɐɯɯns' button to toolbar (p-tb) $(function { if (document.forms.editform) {  mw.util.addPortletLink('p-tb', 'javascript:spork_invert_edit_summary', 'ʎɹɐɯɯns'); } }); //