Wikipedia:AutoEd/fullwidth.js
Appearance
From Wikipedia, the free encyclopedia
functionautoEdFullwidth(str){//MAIN FUNCTION describes list of fixes //Spacing, periods and interpucts str=str.replace(/ /g,' ');//fullwidth space //str = str.replace(/・/g, '·'); //fullwidth interpunct str=str.replace(/。/g,'.');//replace ideographic period with a regular period (from TheFarix's AWB cleanup module) //str = str.replace(/・・・/g, '...'); //three interpuncts normally mean an ellipsis //str = str.replace(/···/g, '...'); //catch already converted triple interpuncts - it's after the interpunct rule so we only need one go-through to catch partial replacements str=str.replace(/.../g,'...');//it's a little ballsy, I guess, but we're already doing lots of replacements, so... (see also [[WP:ELLIPSES]]) //Common punctuation str=str.replace(/!/g,'!'); str=str.replace(/(/g,'('); str=str.replace(/)/g,')'); str=str.replace(/?/g,'?'); //Numbers str=str.replace(/0/g,'0'); str=str.replace(/1/g,'1'); str=str.replace(/2/g,'2'); str=str.replace(/3/g,'3'); str=str.replace(/4/g,'4'); str=str.replace(/5/g,'5'); str=str.replace(/6/g,'6'); str=str.replace(/7/g,'7'); str=str.replace(/8/g,'8'); str=str.replace(/9/g,'9'); //Latin letters, uppercase str=str.replace(/A/g,'Α'); str=str.replace(/B/g,'B'); str=str.replace(/C/g,'C'); str=str.replace(/D/g,'D'); str=str.replace(/E/g,'E'); str=str.replace(/F/g,'F'); str=str.replace(/G/g,'G'); str=str.replace(/H/g,'H'); str=str.replace(/I/g,'I'); str=str.replace(/J/g,'J'); str=str.replace(/K/g,'K'); str=str.replace(/L/g,'L'); str=str.replace(/M/g,'M'); str=str.replace(/N/g,'N'); str=str.replace(/O/g,'O'); str=str.replace(/P/g,'P'); str=str.replace(/Q/g,'Q'); str=str.replace(/R/g,'R'); str=str.replace(/S/g,'S'); str=str.replace(/T/g,'T'); str=str.replace(/U/g,'U'); str=str.replace(/V/g,'V'); str=str.replace(/W/g,'W'); str=str.replace(/X/g,'X'); str=str.replace(/Y/g,'Y'); str=str.replace(/Z/g,'Z'); //Latin letters, lowercase str=str.replace(/a/g,'a'); str=str.replace(/b/g,'b'); str=str.replace(/c/g,'c'); str=str.replace(/d/g,'d'); str=str.replace(/e/g,'e'); str=str.replace(/f/g,'f'); str=str.replace(/g/g,'g'); str=str.replace(/h/g,'h'); str=str.replace(/i/g,'i'); str=str.replace(/j/g,'j'); str=str.replace(/k/g,'k'); str=str.replace(/l/g,'l'); str=str.replace(/m/g,'m'); str=str.replace(/n/g,'n'); str=str.replace(/o/g,'o'); str=str.replace(/p/g,'p'); str=str.replace(/q/g,'q'); str=str.replace(/r/g,'r'); str=str.replace(/s/g,'s'); str=str.replace(/t/g,'t'); str=str.replace(/u/g,'u'); str=str.replace(/v/g,'v'); str=str.replace(/w/g,'w'); str=str.replace(/x/g,'x'); str=str.replace(/y/g,'y'); str=str.replace(/z/g,'z'); //Other punctuation str=str.replace(/"/g,'"'); str=str.replace(/#/g,'#'); str=str.replace(/$/g,'$'); str=str.replace(/%/g,'%'); str=str.replace(/&/g,'&'); str=str.replace(/'/g,'\''); str=str.replace(/*/g,'*'); str=str.replace(/+/g,'+'); str=str.replace(/,/g,', '); //str = str.replace(/、/g, ', '); //replace ideographic comma with a regular comma (from TheFarix's AWB cleanup module) str=str.replace(/-/g,'-'); str=str.replace(/./g,'. '); str=str.replace(///g,'\/'); str=str.replace(/:/g,': '); str=str.replace(/;/g,'; '); str=str.replace(/</g,'<'); str=str.replace(/=/g,'=');//this replacement could break template usage, use {{=}} as an alternative inside templates str=str.replace(/>/g,'>'); str=str.replace(/@/g,'@'); str=str.replace(/[/g,'[');//this replacement could break wikimarkup usage str=str.replace(/\/g,'\\'); str=str.replace(/]/g,']');//this replacement could break wikimarkup usage str=str.replace(/^/g,'^'); str=str.replace(/_/g,'_'); str=str.replace(/`/g,'`'); str=str.replace(/{/g,'{');//this replacement could break wikimarkup usage, use {{(}} as an alternative str=str.replace(/|/g,'|');//this replacement could break template usage, use {{!}} as an alternative inside templates str=str.replace(/}/g,'}');//this replacement could break wikimarkup usage, use {{)}} as an alternative str=str.replace(/〜/g,'〜');//ASCII tilde is, apparently, treated as a diacritic in some fonts, so this should be a better replacement str=str.replace(/¢/g,'¢'); str=str.replace(/£/g,'£'); str=str.replace(/¬/g,'¬'); str=str.replace(/¦/g,'¦'); str=str.replace(/\/g,'\'); str=str.replace(/₩/g,'₩'); str=str.replace(/│/g,'│'); str=str.replace(/←/g,'←'); str=str.replace(/↑/g,'↑'); str=str.replace(/→/g,'→'); str=str.replace(/↓/g,'↓'); str=str.replace(/■しかく/g,'■しかく'); str=str.replace(/○しろまる/g,'○しろまる'); str=str.replace(/『/g,'「');//some Japanese quote replacement (from TheFarix's AWB cleanup module) str=str.replace(/』/g,'」');//some Japanese quote replacement (from TheFarix's AWB cleanup module) returnstr; }