Advertisement
Guest User

Kanji Bigifier Userscript

a guest
Dec 2nd, 2020
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Kanji Bigifier
  3. // @namespace    Kanji.Bigifier
  4. // @version      0.1
  5. // @description  Kanji Bigifier
  6. // @author       Dunno
  7. // @match        *://boards.4channel.org/int/*
  8. // @match        *://boards.4channel.org/jp/*
  9. // @grant        none
  10. // ==/UserScript==
  11.  
  12. void function () {
  13.     function e(e) {
  14.         try {
  15.             var t, n;
  16.             t = document.getElementsByTagName("head")[0], n = document.createElement("style"), n.type = "text/css", t.appendChild(n), n.innerHTML = e
  17.         } catch (u) {
  18.             document.styleSheets.length || document.createStyleSheet(), document.styleSheets[0].cssText += e
  19.         }
  20.     }
  21.     var t = "kanjibigifier",
  22.         n = ["." + t + " {", "font-size: 24px;", "}"].join(""),
  23.         u = "//text()[not(ancestor::script) and not(ancestor::style)]",
  24.         a = /([\u2E80-\u2EFF\u2F00-\u2FDF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4E00-\u9FFF]+)/g;
  25.     e(n);
  26.     for (var d = document.evaluate(u, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null), o = d.snapshotLength - 1; o >= 0; o--) {
  27.         var s = d.snapshotItem(o);
  28.         if (a.test(s.nodeValue)) {
  29.             var c = document.createElement("span"),
  30.                 l = s.nodeValue;
  31.             s.parentNode.replaceChild(c, s), a.lastIndex = 0;
  32.             for (var r = null, i = 0; r = a.exec(l);) {
  33.                 c.appendChild(document.createTextNode(l.substring(i, r.index)));
  34.                 var m = document.createElement("span");
  35.                 m.setAttribute("class", t), m.appendChild(document.createTextNode(r[0])), c.appendChild(m), i = a.lastIndex
  36.             }
  37.             c.appendChild(document.createTextNode(l.substring(i))), c.normalize()
  38.         }
  39.     }
  40. }();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement