diff options
| author | Nicolas Dufour <nicoduf@yahoo.fr> | 2013-03-28 19:23:28 +0000 |
|---|---|---|
| committer | JazzyNico <nicoduf@yahoo.fr> | 2013-03-28 19:23:28 +0000 |
| commit | 6d5fa9cf53cf9114cc5b7e2f52a69b61a5aaa440 (patch) | |
| tree | 01fe204a4050f919d7405e8ca13077313500d687 | |
| parent | fix build (diff) | |
| download | inkscape-6d5fa9cf53cf9114cc5b7e2f52a69b61a5aaa440.tar.gz inkscape-6d5fa9cf53cf9114cc5b7e2f52a69b61a5aaa440.zip | |
Fix for Bug #648233 (Measure Path extension doesn't use real superscript) by Craig Marshall.
Fix for Bug #481805 (Rectangle with rounded corners) by Markus Engel.
(bzr r12255)
| -rwxr-xr-x | share/extensions/measure.py | 17 | ||||
| -rw-r--r-- | src/sp-rect.cpp | 4 |
2 files changed, 16 insertions, 5 deletions
diff --git a/share/extensions/measure.py b/share/extensions/measure.py index a1ae00ce1..8aa940ed2 100755 --- a/share/extensions/measure.py +++ b/share/extensions/measure.py @@ -83,7 +83,10 @@ def csparea(csp): bezarea += ( 3.0*sp[i-1][1][1] - 1.0*sp[i-1][2][1] - 2.0*sp[i][0][1] + 0.0*sp[i][1][1])*sp[i][1][0] area += 0.15*bezarea return abs(area) - +def appendSuperScript(node, text): + super = inkex.etree.SubElement(node, inkex.addNS('tspan', 'svg'), {'style': 'font-size:65%;baseline-shift:super'}) + super.text = text + class Length(inkex.Effect): def __init__(self): inkex.Effect.__init__(self) @@ -180,7 +183,11 @@ class Length(inkex.Effect): new.set('startOffset', startOffset) new.set('dy', str(dy)) # dubious merit #new.append(tp) - new.text = str(text) + if text[-2:] == "^2": + appendSuperScript(new, "2") + new.text = str(text)[:-2] + else: + new.text = str(text) #node.set('transform','rotate(180,'+str(-x)+','+str(-y)+')') node.set('x', str(x)) node.set('y', str(y)) @@ -193,7 +200,11 @@ class Length(inkex.Effect): 'font-weight': 'normal', 'font-style': 'normal', 'fill': '#000000'} new.set('style', simplestyle.formatStyle(s)) new.set('dy', str(dy)) - new.text = str(text) + if text[-2:] == "^2": + appendSuperScript(new, "2") + new.text = str(text)[:-2] + else: + new.text = str(text) node.set('x', str(x)) node.set('y', str(y)) node.set('transform', 'rotate(%s, %s, %s)' % (angle, x, y)) diff --git a/src/sp-rect.cpp b/src/sp-rect.cpp index e7e1432c2..747a988a9 100644 --- a/src/sp-rect.cpp +++ b/src/sp-rect.cpp @@ -120,13 +120,13 @@ sp_rect_set(SPObject *object, unsigned key, gchar const *value) object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_RX: - if (!rect->rx.read(value) || rect->rx.value < 0.0) { + if (!rect->rx.read(value) || rect->rx.value <= 0.0) { rect->rx.unset(); } object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_RY: - if (!rect->ry.read(value) || rect->ry.value < 0.0) { + if (!rect->ry.read(value) || rect->ry.value <= 0.0) { rect->ry.unset(); } object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); |
