Jump to content
Wikipedia The Free Encyclopedia

Wikipedia:AutoEd/fullwidth.js

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;
 }

AltStyle によって変換されたページ (->オリジナル) /