Physikerwelt has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/87647


Change subject: Fix: Glyphs are not copied
......................................................................

Fix: Glyphs are not copied

all svg images are empty because the glyphs
are not copied corectly.
Restoring the original function.

Change-Id: Ifc6cc7c1cfa45c245a1e4a2c2cd9e0ca6c81df9f
---
M mathoid/engine.js
1 file changed, 35 insertions(+), 38 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Math 
refs/changes/47/87647/1

diff --git a/mathoid/engine.js b/mathoid/engine.js
index 4320c43..88eb0db 100644
--- a/mathoid/engine.js
+++ b/mathoid/engine.js
@@ -55,48 +55,45 @@
        // the begining of the DOM, this function should take two
        // SVGs and return one stand-alone svg which could be
        // displayed like an image on some different page.
-       this.merge = function(svg) {
-               var uses,
-                       copied,
-                       k,
-                       id,
-                       texts,
-                       i,
-                       tmpDiv,
-                       defs = document.getElementById('MathJax_SVG_Hidden')
-                       .nextSibling.childNodes[0].cloneNode(false);
+  this.merge = function(svg) {
+    var origDefs = document.getElementById('MathJax_SVG_Hidden')
+      .nextSibling.childNodes[0];
+    var defs = origDefs.cloneNode(false);
 
-               // clone and copy all used paths into local defs.
-               // xlink:href in uses FIX
-               uses = svg.getElementsByTagName('use');
+    // append shalow defs and change xmlns.
+    svg.insertBefore(defs, svg.childNodes[0]);
+    svg.setAttribute("xmlns", "http://www.w3.org/2000/svg";);
+
+    // clone and copy all used paths into local defs.
+    // xlink:href in uses FIX
+    var uses = svg.getElementsByTagName("use"),
                copied = {};
-               for ( k = 0; k < uses.length; ++k) {
-                       id = uses[k].getAttribute('href');
-               if (id && copied[id]) {
-                       uses[k].setAttribute('xlink:href', id);
-                       // Already copied, skip
-                       continue;
-               }
-                       defs.appendChild(
-                               
document.getElementById(id.substr(1)).cloneNode(true)
-                       );
-                       uses[k].setAttribute('xlink:href', id);
-               copied[id] = true;
-               }
+    for (var k = 0; k < uses.length; ++k) {
+      var id = uses[k].getAttribute("href");
+         if (copied[id]) {
+                 // Already copied, skip
+                 continue;
+         }
+      defs.appendChild(
+        document.getElementById(id.substr(1)).cloneNode(true)
+      );
+      uses[k].setAttribute("xlink:href", id);
+         copied[id] = true;
+    }
 
-               // check for errors in svg.
-               texts = document.getElementsByTagName('text', svg);
-               for ( i = 0; i < texts.length; ++i) {
-                       if (this.TextIsError(texts[i])) {
-                               return [texts[i].textContent];
-                       }
-               }
+    // check for errors in svg.
+    var texts = document.getElementsByTagName("text", svg);
+    for (var i = 0; i < texts.length; ++i) {
+      if (this._text_is_error(texts[i])) {
+        return [texts[i].textContent];
+      }
+    }
 
-               svg.style.position = 'static';
-               tmpDiv = document.createElement('div');
-               tmpDiv.appendChild(svg);
-               return tmpDiv.innerHTML;
-       };
+    svg.style.position = "static";
+    var tmpDiv = document.createElement('div');
+    tmpDiv.appendChild(svg);
+    return tmpDiv.innerHTML;
+  };
 
        // if someone calls process before init is complete,
        // that call will be stored into buffer. After the init

-- 
To view, visit https://gerrit.wikimedia.org/r/87647
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifc6cc7c1cfa45c245a1e4a2c2cd9e0ca6c81df9f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Math
Gerrit-Branch: master
Gerrit-Owner: Physikerwelt <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to