User:Plastikspork/flipsummary.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// 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');
  }
});
// [[Category:Wikipedia scripts]]