]> source.dussan.org Git - svg.js.git/commitdiff
Backports commit dd2ad7824d546242468992436d9a631a60294e28 to v1.x branch
authorPaulo F. Silva <paulo@pjfs.pt>
Wed, 2 Mar 2016 17:13:33 +0000 (17:13 +0000)
committerPaulo F. Silva <paulo@pjfs.pt>
Wed, 2 Mar 2016 17:13:33 +0000 (17:13 +0000)
src/patharray.js
src/text.js

index d778fbf0f037b5b2afd295da0c421a8d096cf03b..60a8cf43b1e11aa1283d7e9ffe4b1721e69ea8d9 100644 (file)
@@ -123,23 +123,22 @@ SVG.extend(SVG.PathArray, {
         .trim()                                 // trim
         .split(SVG.regex.whitespaces)           // split into array
 
+      // at this place there could be parts like ['3.124.854.32'] because we could not determine the point as seperator till now
+      // we fix this elements in the next loop
+      for(i = array.length; --i;){
+        if(array[i].indexOf('.') != array[i].lastIndexOf('.')){
+          var split = array[i].split('.') // split at the point
+          var first = [split.shift(), split.shift()].join('.') // join the first number together
+          array.splice.apply(array, [i, 1].concat(first, split.map(function(el){ return '.'+el }))) // add first and all other entries back to array
+        }
+      }
+        
     }else{
       array = array.reduce(function(prev, curr){
         return [].concat.apply(prev, curr)
       }, [])
     }
 
-    // at this place there could be parts like ['3.124.854.32'] because we could not determine the point as seperator till now
-    // we fix this elements in the next loop
-    for(i = 0; i < array.length; ++i){
-      if(array[i].indexOf('.') != array[i].lastIndexOf('.')){
-        var split = array[i].split('.') // split at the point
-        var first = [split.shift(), split.shift()].join('.') // join the first number together
-        array.splice.apply(array, [i, 1].concat(first, split.map(function(el){ return '.'+el }))) // add first and all other entries back to array
-        i += split.length // dont forget to update the index
-      }
-    }
-
     // array now is an array containing all parts of a path e.g. ['M', '0', '0', 'L', '30', '30' ...]
 
     var arr = []
@@ -151,8 +150,10 @@ SVG.extend(SVG.PathArray, {
         s = array[0]
         array.shift()
         // If last letter was a move command and we got no new, it defaults to [L]ine
-      }else if(s.toUpperCase() == 'M'){
+      }else if(s == 'M'){
         s = 'L'
+      }else if(s == 'm'){
+        s = 'l'
       }
 
       // add path letter as first element
index 38d4ecc4049436ee1a049944bd13e11c4347d2da..911b31be4a4eb959cfd29416d935f15ce9de51b8 100644 (file)
@@ -1,4 +1,3 @@
-
 SVG.Text = SVG.invent({
   // Initialize node
   create: function() {
@@ -142,6 +141,8 @@ SVG.TSpan = SVG.invent({
 , extend: {
     // Set text content
     text: function(text) {
+      if(text == null) return this.node.textContent + (this.dom.newLined ? '\n' : '')
+
       typeof text === 'function' ? text.call(this, this) : this.plain(text)
 
       return this