diff --git a/Macaw.xcodeproj/xcshareddata/xcschemes/MacawTests.xcscheme b/Macaw.xcodeproj/xcshareddata/xcschemes/MacawTests.xcscheme
index 94cec15d..998fd245 100644
--- a/Macaw.xcodeproj/xcshareddata/xcschemes/MacawTests.xcscheme
+++ b/Macaw.xcodeproj/xcshareddata/xcschemes/MacawTests.xcscheme
@@ -5,6 +5,22 @@
+
+
+
+
+
+
-
-
-
-
+
+
+
+
diff --git a/MacawTests/MacawSVGTests.swift b/MacawTests/MacawSVGTests.swift
index fb22ef30..78756407 100644
--- a/MacawTests/MacawSVGTests.swift
+++ b/MacawTests/MacawSVGTests.swift
@@ -20,13 +20,13 @@ class MacawSVGTests: XCTestCase {
private let testFolderName = "MacawTestOutputData"
private let shouldComparePNGImages = true
private let multipleTestsWillRun = false
- private let shouldSaveFaildedTestImage = false
+ private let shouldSaveFailedTestImage = false
override func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.
super.setUp()
- if shouldSaveFaildedTestImage {
+ if shouldSaveFailedTestImage {
setupTestFolderDirectory()
}
}
@@ -36,6 +36,21 @@ class MacawSVGTests: XCTestCase {
super.tearDown()
}
+ func compareResults(nodeContent: String?, referenceContent: String?) {
+ guard let nodeContent = nodeContent else {
+ XCTFail("nodeContent is empty")
+ return
+ }
+ guard let referenceContent = referenceContent else {
+ XCTFail("referenceContent is empty")
+ return
+ }
+
+ if nodeContent != referenceContent {
+ XCTFail("nodeContent is not equal to referenceContent" + TestUtils.prettyFirstDifferenceBetweenStrings(s1: nodeContent, s2: referenceContent))
+ }
+ }
+
func validate(node: Node, referenceFile: String) {
let bundle = Bundle(for: type(of: TestUtils()))
@@ -43,7 +58,7 @@ class MacawSVGTests: XCTestCase {
if let path = bundle.path(forResource: referenceFile, ofType: "reference") {
let clipReferenceContent = try String.init(contentsOfFile: path).trimmingCharacters(in: .newlines)
let result = SVGSerializer.serialize(node: node)
- XCTAssertEqual(result, clipReferenceContent)
+ compareResults(nodeContent: result, referenceContent: clipReferenceContent)
} else {
XCTFail("No file \(referenceFile)")
}
@@ -192,13 +207,10 @@ class MacawSVGTests: XCTestCase {
let bundle = Bundle(for: type(of: TestUtils()))
do {
if let path = bundle.path(forResource: referenceFile, ofType: "reference") {
+
let referenceContent = try String(contentsOfFile: path)
-
let nodeContent = String(data: getJSONData(node: node), encoding: String.Encoding.utf8)
-
- if nodeContent != referenceContent {
- XCTFail("nodeContent is not equal to referenceContent")
- }
+ compareResults(nodeContent: nodeContent, referenceContent: referenceContent)
let nativeImage = getImage(from: referenceFile)
@@ -261,9 +273,9 @@ class MacawSVGTests: XCTestCase {
if referenceContentData != nodeContentData {
- var failInfo = "referenceContentData is not equal to nodeContentData"
+ var failInfo = "referenceImageData is not equal to nodeImageData"
- if shouldSaveFaildedTestImage {
+ if shouldSaveFailedTestImage {
let _ = saveImage(image: referenceImage, fileName: referenceFile + "_reference")
let _ = saveImage(image: nodeImage, fileName: referenceFile + "_incorrect")
@@ -314,7 +326,7 @@ class MacawSVGTests: XCTestCase {
}
func writeToFile(string: String, fileName: String) -> URL? {
- guard let directory = try? FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false) as NSURL else {
+ guard let directory = try? FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true) as NSURL else {
return .none
}
do {
diff --git a/MacawTests/TestUtils.swift b/MacawTests/TestUtils.swift
index 5fedc62f..71ca68b7 100644
--- a/MacawTests/TestUtils.swift
+++ b/MacawTests/TestUtils.swift
@@ -25,4 +25,133 @@ class TestUtils {
return result
}
+ class func prettyFirstDifferenceBetweenStrings(s1: String, s2: String) -> String {
+ return prettyFirstDifferenceBetweenNSStrings(s1: s1 as NSString, s2: s2 as NSString) as String
+ }
+
+}
+
+/// Find first differing character between two strings
+///
+/// :param: s1 First String
+/// :param: s2 Second String
+///
+/// :returns: .DifferenceAtIndex(i) or .NoDifference
+fileprivate func firstDifferenceBetweenStrings(s1: NSString, s2: NSString) -> FirstDifferenceResult {
+ let len1 = s1.length
+ let len2 = s2.length
+
+ let lenMin = min(len1, len2)
+
+ for i in 0.. NSString {
+ let firstDifferenceResult = firstDifferenceBetweenStrings(s1: s1, s2: s2)
+ return prettyDescriptionOfFirstDifferenceResult(firstDifferenceResult: firstDifferenceResult, s1: s1, s2: s2)
+}
+
+
+/// Create a formatted String representation of a FirstDifferenceResult for two strings
+///
+/// :param: firstDifferenceResult FirstDifferenceResult
+/// :param: s1 First string used in generation of firstDifferenceResult
+/// :param: s2 Second string used in generation of firstDifferenceResult
+///
+/// :returns: a printable string, possibly containing significant whitespace and newlines
+fileprivate func prettyDescriptionOfFirstDifferenceResult(firstDifferenceResult: FirstDifferenceResult, s1: NSString, s2: NSString) -> NSString {
+
+ func diffString(index: Int, s1: NSString, s2: NSString) -> NSString {
+ let markerArrow = "\u{2b06}" // "⬆"
+ let ellipsis = "\u{2026}" // "…"
+ /// Given a string and a range, return a string representing that substring.
+ ///
+ /// If the range starts at a position other than 0, an ellipsis
+ /// will be included at the beginning.
+ ///
+ /// If the range ends before the actual end of the string,
+ /// an ellipsis is added at the end.
+ func windowSubstring(s: NSString, range: NSRange) -> String {
+ let validRange = NSMakeRange(range.location, min(range.length, s.length - range.location))
+ let substring = s.substring(with: validRange)
+
+ let prefix = range.location > 0 ? ellipsis : ""
+ let suffix = (s.length - range.location > range.length) ? ellipsis : ""
+
+ return "\(prefix)\(substring)\(suffix)"
+ }
+
+ // Show this many characters before and after the first difference
+ let windowPrefixLength = 10
+ let windowSuffixLength = 10
+ let windowLength = windowPrefixLength + 1 + windowSuffixLength
+
+ let windowIndex = max(index - windowPrefixLength, 0)
+ let windowRange = NSMakeRange(windowIndex, windowLength)
+
+ let sub1 = windowSubstring(s: s1, range: windowRange)
+ let sub2 = windowSubstring(s: s2, range: windowRange)
+
+ let markerPosition = min(windowSuffixLength, index) + (windowIndex > 0 ? 1 : 0)
+
+ let markerPrefix = String(repeating: " ", count: markerPosition)
+ let markerLine = "\(markerPrefix)\(markerArrow)"
+
+ return "Difference at index \(index):\n\(sub1)\n\(sub2)\n\(markerLine)" as NSString
+ }
+
+ switch firstDifferenceResult {
+ case .NoDifference: return "No difference"
+ case .DifferenceAtIndex(let index): return diffString(index: index, s1: s1, s2: s2)
+ }
+}
+
+/// Result type for firstDifferenceBetweenStrings()
+public enum FirstDifferenceResult {
+ /// Strings are identical
+ case NoDifference
+
+ /// Strings differ at the specified index.
+ ///
+ /// This could mean that characters at the specified index are different,
+ /// or that one string is longer than the other
+ case DifferenceAtIndex(Int)
+}
+
+extension FirstDifferenceResult: CustomStringConvertible {
+ /// Textual representation of a FirstDifferenceResult
+ public var description: String {
+ switch self {
+ case .NoDifference:
+ return "NoDifference"
+ case .DifferenceAtIndex(let index):
+ return "DifferenceAtIndex(\(index))"
+ }
+ }
+
+ /// Textual representation of a FirstDifferenceResult for debugging purposes
+ public var debugDescription: String {
+ return self.description
+ }
}
diff --git a/MacawTests/png/color-prop-01-b-manual.png b/MacawTests/png/color-prop-01-b-manual.png
index 18a3bea5..ddc2e9c1 100644
Binary files a/MacawTests/png/color-prop-01-b-manual.png and b/MacawTests/png/color-prop-01-b-manual.png differ
diff --git a/MacawTests/png/color-prop-03-t-manual.png b/MacawTests/png/color-prop-03-t-manual.png
index 1a392e67..abd0daf5 100644
Binary files a/MacawTests/png/color-prop-03-t-manual.png and b/MacawTests/png/color-prop-03-t-manual.png differ
diff --git a/MacawTests/png/color-prop-04-t-manual-osx.png b/MacawTests/png/color-prop-04-t-manual-osx.png
index 78172e79..36820a9d 100644
Binary files a/MacawTests/png/color-prop-04-t-manual-osx.png and b/MacawTests/png/color-prop-04-t-manual-osx.png differ
diff --git a/MacawTests/png/color-prop-05-t-manual.png b/MacawTests/png/color-prop-05-t-manual.png
index 9776596f..01af3756 100644
Binary files a/MacawTests/png/color-prop-05-t-manual.png and b/MacawTests/png/color-prop-05-t-manual.png differ
diff --git a/MacawTests/png/coords-coord-01-t-manual.png b/MacawTests/png/coords-coord-01-t-manual.png
index 746438f1..a8d7ea9d 100644
Binary files a/MacawTests/png/coords-coord-01-t-manual.png and b/MacawTests/png/coords-coord-01-t-manual.png differ
diff --git a/MacawTests/png/coords-coord-02-t-manual.png b/MacawTests/png/coords-coord-02-t-manual.png
index 915d9eaa..00f7cad7 100644
Binary files a/MacawTests/png/coords-coord-02-t-manual.png and b/MacawTests/png/coords-coord-02-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-01-b-manual.png b/MacawTests/png/coords-trans-01-b-manual.png
index 4b9a607a..a0ab8d97 100644
Binary files a/MacawTests/png/coords-trans-01-b-manual.png and b/MacawTests/png/coords-trans-01-b-manual.png differ
diff --git a/MacawTests/png/coords-trans-02-t-manual.png b/MacawTests/png/coords-trans-02-t-manual.png
index c97ab20f..974af5ff 100644
Binary files a/MacawTests/png/coords-trans-02-t-manual.png and b/MacawTests/png/coords-trans-02-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-03-t-manual.png b/MacawTests/png/coords-trans-03-t-manual.png
index 3d271622..552630a3 100644
Binary files a/MacawTests/png/coords-trans-03-t-manual.png and b/MacawTests/png/coords-trans-03-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-04-t-manual.png b/MacawTests/png/coords-trans-04-t-manual.png
index 6eff7be7..c3af41b2 100644
Binary files a/MacawTests/png/coords-trans-04-t-manual.png and b/MacawTests/png/coords-trans-04-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-05-t-manual.png b/MacawTests/png/coords-trans-05-t-manual.png
index 03e06d9e..1a57aac2 100644
Binary files a/MacawTests/png/coords-trans-05-t-manual.png and b/MacawTests/png/coords-trans-05-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-06-t-manual.png b/MacawTests/png/coords-trans-06-t-manual.png
index d3eb1a7f..1970f147 100644
Binary files a/MacawTests/png/coords-trans-06-t-manual.png and b/MacawTests/png/coords-trans-06-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-07-t-manual.png b/MacawTests/png/coords-trans-07-t-manual.png
index e831309e..855b5a6b 100644
Binary files a/MacawTests/png/coords-trans-07-t-manual.png and b/MacawTests/png/coords-trans-07-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-08-t-manual.png b/MacawTests/png/coords-trans-08-t-manual.png
index a923c516..dd205d85 100644
Binary files a/MacawTests/png/coords-trans-08-t-manual.png and b/MacawTests/png/coords-trans-08-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-09-t-manual.png b/MacawTests/png/coords-trans-09-t-manual.png
index d06857e8..157deb53 100644
Binary files a/MacawTests/png/coords-trans-09-t-manual.png and b/MacawTests/png/coords-trans-09-t-manual.png differ
diff --git a/MacawTests/png/coords-trans-10-f-manual.png b/MacawTests/png/coords-trans-10-f-manual.png
index 182b4977..e1dcd8bf 100644
Binary files a/MacawTests/png/coords-trans-10-f-manual.png and b/MacawTests/png/coords-trans-10-f-manual.png differ
diff --git a/MacawTests/png/coords-trans-11-f-manual.png b/MacawTests/png/coords-trans-11-f-manual.png
index 6081e00f..15b53707 100644
Binary files a/MacawTests/png/coords-trans-11-f-manual.png and b/MacawTests/png/coords-trans-11-f-manual.png differ
diff --git a/MacawTests/png/coords-trans-12-f-manual.png b/MacawTests/png/coords-trans-12-f-manual.png
index 74ab8aac..b030a3b8 100644
Binary files a/MacawTests/png/coords-trans-12-f-manual.png and b/MacawTests/png/coords-trans-12-f-manual.png differ
diff --git a/MacawTests/png/coords-trans-13-f-manual.png b/MacawTests/png/coords-trans-13-f-manual.png
index 656f1534..f80c052a 100644
Binary files a/MacawTests/png/coords-trans-13-f-manual.png and b/MacawTests/png/coords-trans-13-f-manual.png differ
diff --git a/MacawTests/png/coords-trans-14-f-manual.png b/MacawTests/png/coords-trans-14-f-manual.png
index a8e1e62d..5a805890 100644
Binary files a/MacawTests/png/coords-trans-14-f-manual.png and b/MacawTests/png/coords-trans-14-f-manual.png differ
diff --git a/MacawTests/png/coords-transformattr-01-f-manual.png b/MacawTests/png/coords-transformattr-01-f-manual.png
index 8585ff7b..7abc321d 100644
Binary files a/MacawTests/png/coords-transformattr-01-f-manual.png and b/MacawTests/png/coords-transformattr-01-f-manual.png differ
diff --git a/MacawTests/png/coords-transformattr-02-f-manual.png b/MacawTests/png/coords-transformattr-02-f-manual.png
index f20af4b3..451d9307 100644
Binary files a/MacawTests/png/coords-transformattr-02-f-manual.png and b/MacawTests/png/coords-transformattr-02-f-manual.png differ
diff --git a/MacawTests/png/coords-transformattr-03-f-manual.png b/MacawTests/png/coords-transformattr-03-f-manual.png
index 6346bbd8..d2f89540 100644
Binary files a/MacawTests/png/coords-transformattr-03-f-manual.png and b/MacawTests/png/coords-transformattr-03-f-manual.png differ
diff --git a/MacawTests/png/coords-transformattr-04-f-manual.png b/MacawTests/png/coords-transformattr-04-f-manual.png
index 91f65991..2c5ba78e 100644
Binary files a/MacawTests/png/coords-transformattr-04-f-manual.png and b/MacawTests/png/coords-transformattr-04-f-manual.png differ
diff --git a/MacawTests/png/coords-transformattr-05-f-manual.png b/MacawTests/png/coords-transformattr-05-f-manual.png
index 516264cb..7c952c80 100644
Binary files a/MacawTests/png/coords-transformattr-05-f-manual.png and b/MacawTests/png/coords-transformattr-05-f-manual.png differ
diff --git a/MacawTests/png/masking-filter-01-f-manual.png b/MacawTests/png/masking-filter-01-f-manual.png
index 95d986a5..859ee50b 100644
Binary files a/MacawTests/png/masking-filter-01-f-manual.png and b/MacawTests/png/masking-filter-01-f-manual.png differ
diff --git a/MacawTests/png/masking-intro-01-f-manual.png b/MacawTests/png/masking-intro-01-f-manual.png
index 914d8c3c..902f1e95 100644
Binary files a/MacawTests/png/masking-intro-01-f-manual.png and b/MacawTests/png/masking-intro-01-f-manual.png differ
diff --git a/MacawTests/png/masking-mask-02-f-manual.png b/MacawTests/png/masking-mask-02-f-manual.png
index c32fb1f3..f280bfd6 100644
Binary files a/MacawTests/png/masking-mask-02-f-manual.png and b/MacawTests/png/masking-mask-02-f-manual.png differ
diff --git a/MacawTests/png/masking-path-02-b-manual.png b/MacawTests/png/masking-path-02-b-manual.png
index 6d9fc8cc..28fd9caf 100644
Binary files a/MacawTests/png/masking-path-02-b-manual.png and b/MacawTests/png/masking-path-02-b-manual.png differ
diff --git a/MacawTests/png/masking-path-13-f-manual.png b/MacawTests/png/masking-path-13-f-manual.png
index e8b84a82..cb284ea1 100644
Binary files a/MacawTests/png/masking-path-13-f-manual.png and b/MacawTests/png/masking-path-13-f-manual.png differ
diff --git a/MacawTests/png/metadata-example-01-t-manual.png b/MacawTests/png/metadata-example-01-t-manual.png
index c883e4bb..e00f35aa 100644
Binary files a/MacawTests/png/metadata-example-01-t-manual.png and b/MacawTests/png/metadata-example-01-t-manual.png differ
diff --git a/MacawTests/png/painting-control-01-f-manual.png b/MacawTests/png/painting-control-01-f-manual.png
index a6753fb6..26089211 100644
Binary files a/MacawTests/png/painting-control-01-f-manual.png and b/MacawTests/png/painting-control-01-f-manual.png differ
diff --git a/MacawTests/png/painting-control-02-f-manual.png b/MacawTests/png/painting-control-02-f-manual.png
index 88af569a..9a7a816f 100644
Binary files a/MacawTests/png/painting-control-02-f-manual.png and b/MacawTests/png/painting-control-02-f-manual.png differ
diff --git a/MacawTests/png/painting-control-03-f-manual.png b/MacawTests/png/painting-control-03-f-manual.png
index 40dcd0f6..e8774fd1 100644
Binary files a/MacawTests/png/painting-control-03-f-manual.png and b/MacawTests/png/painting-control-03-f-manual.png differ
diff --git a/MacawTests/png/painting-control-06-f-manual.png b/MacawTests/png/painting-control-06-f-manual.png
index 219170cc..547b1434 100644
Binary files a/MacawTests/png/painting-control-06-f-manual.png and b/MacawTests/png/painting-control-06-f-manual.png differ
diff --git a/MacawTests/png/painting-fill-01-t-manual.png b/MacawTests/png/painting-fill-01-t-manual.png
index 6fdee5aa..37d49dd8 100644
Binary files a/MacawTests/png/painting-fill-01-t-manual.png and b/MacawTests/png/painting-fill-01-t-manual.png differ
diff --git a/MacawTests/png/painting-fill-02-t-manual.png b/MacawTests/png/painting-fill-02-t-manual.png
index 33fbbd35..30ba74e5 100644
Binary files a/MacawTests/png/painting-fill-02-t-manual.png and b/MacawTests/png/painting-fill-02-t-manual.png differ
diff --git a/MacawTests/png/painting-fill-03-t-manual.png b/MacawTests/png/painting-fill-03-t-manual.png
index 7898d5ee..5436f66e 100644
Binary files a/MacawTests/png/painting-fill-03-t-manual.png and b/MacawTests/png/painting-fill-03-t-manual.png differ
diff --git a/MacawTests/png/painting-fill-04-t-manual.png b/MacawTests/png/painting-fill-04-t-manual.png
index e62a0fae..baa6f9c2 100644
Binary files a/MacawTests/png/painting-fill-04-t-manual.png and b/MacawTests/png/painting-fill-04-t-manual.png differ
diff --git a/MacawTests/png/painting-fill-05-b-manual.png b/MacawTests/png/painting-fill-05-b-manual.png
index a42c7f98..9a464b02 100644
Binary files a/MacawTests/png/painting-fill-05-b-manual.png and b/MacawTests/png/painting-fill-05-b-manual.png differ
diff --git a/MacawTests/png/painting-stroke-01-t-manual.png b/MacawTests/png/painting-stroke-01-t-manual.png
index 031cdec6..2785ed53 100644
Binary files a/MacawTests/png/painting-stroke-01-t-manual.png and b/MacawTests/png/painting-stroke-01-t-manual.png differ
diff --git a/MacawTests/png/painting-stroke-02-t-manual.png b/MacawTests/png/painting-stroke-02-t-manual.png
index 83c23998..9428b4ac 100644
Binary files a/MacawTests/png/painting-stroke-02-t-manual.png and b/MacawTests/png/painting-stroke-02-t-manual.png differ
diff --git a/MacawTests/png/painting-stroke-03-t-manual.png b/MacawTests/png/painting-stroke-03-t-manual.png
index 22e17166..e2c18f4a 100644
Binary files a/MacawTests/png/painting-stroke-03-t-manual.png and b/MacawTests/png/painting-stroke-03-t-manual.png differ
diff --git a/MacawTests/png/painting-stroke-04-t-manual.png b/MacawTests/png/painting-stroke-04-t-manual.png
index 94703bd7..631b548f 100644
Binary files a/MacawTests/png/painting-stroke-04-t-manual.png and b/MacawTests/png/painting-stroke-04-t-manual.png differ
diff --git a/MacawTests/png/painting-stroke-05-t-manual.png b/MacawTests/png/painting-stroke-05-t-manual.png
index fd9f37d5..4f233669 100644
Binary files a/MacawTests/png/painting-stroke-05-t-manual.png and b/MacawTests/png/painting-stroke-05-t-manual.png differ
diff --git a/MacawTests/png/painting-stroke-06-t-manual.png b/MacawTests/png/painting-stroke-06-t-manual.png
index 679fec11..99bab928 100644
Binary files a/MacawTests/png/painting-stroke-06-t-manual.png and b/MacawTests/png/painting-stroke-06-t-manual.png differ
diff --git a/MacawTests/png/painting-stroke-07-t-manual.png b/MacawTests/png/painting-stroke-07-t-manual.png
index 48b5faa6..fa9d194a 100644
Binary files a/MacawTests/png/painting-stroke-07-t-manual.png and b/MacawTests/png/painting-stroke-07-t-manual.png differ
diff --git a/MacawTests/png/painting-stroke-08-t-manual.png b/MacawTests/png/painting-stroke-08-t-manual.png
index 1fd52f57..bc901e4d 100644
Binary files a/MacawTests/png/painting-stroke-08-t-manual.png and b/MacawTests/png/painting-stroke-08-t-manual.png differ
diff --git a/MacawTests/png/painting-stroke-09-t-manual.png b/MacawTests/png/painting-stroke-09-t-manual.png
index 1d8b13c7..c09a4fbb 100644
Binary files a/MacawTests/png/painting-stroke-09-t-manual.png and b/MacawTests/png/painting-stroke-09-t-manual.png differ
diff --git a/MacawTests/png/paths-data-01-t-manual.png b/MacawTests/png/paths-data-01-t-manual.png
index aa24bd62..6e54bbd6 100644
Binary files a/MacawTests/png/paths-data-01-t-manual.png and b/MacawTests/png/paths-data-01-t-manual.png differ
diff --git a/MacawTests/png/paths-data-02-t-manual.png b/MacawTests/png/paths-data-02-t-manual.png
index 8063f7c1..5962766b 100644
Binary files a/MacawTests/png/paths-data-02-t-manual.png and b/MacawTests/png/paths-data-02-t-manual.png differ
diff --git a/MacawTests/png/paths-data-03-f-manual.png b/MacawTests/png/paths-data-03-f-manual.png
index df532e00..8a4c81c4 100644
Binary files a/MacawTests/png/paths-data-03-f-manual.png and b/MacawTests/png/paths-data-03-f-manual.png differ
diff --git a/MacawTests/png/paths-data-04-t-manual.png b/MacawTests/png/paths-data-04-t-manual.png
index c1b711ed..0a369f58 100644
Binary files a/MacawTests/png/paths-data-04-t-manual.png and b/MacawTests/png/paths-data-04-t-manual.png differ
diff --git a/MacawTests/png/paths-data-05-t-manual.png b/MacawTests/png/paths-data-05-t-manual.png
index aab64b38..90cdd129 100644
Binary files a/MacawTests/png/paths-data-05-t-manual.png and b/MacawTests/png/paths-data-05-t-manual.png differ
diff --git a/MacawTests/png/paths-data-06-t-manual.png b/MacawTests/png/paths-data-06-t-manual.png
index f4e064ca..338005e0 100644
Binary files a/MacawTests/png/paths-data-06-t-manual.png and b/MacawTests/png/paths-data-06-t-manual.png differ
diff --git a/MacawTests/png/paths-data-07-t-manual.png b/MacawTests/png/paths-data-07-t-manual.png
index 5fa93528..07829cd6 100644
Binary files a/MacawTests/png/paths-data-07-t-manual.png and b/MacawTests/png/paths-data-07-t-manual.png differ
diff --git a/MacawTests/png/paths-data-08-t-manual.png b/MacawTests/png/paths-data-08-t-manual.png
index fa565060..e11717d0 100644
Binary files a/MacawTests/png/paths-data-08-t-manual.png and b/MacawTests/png/paths-data-08-t-manual.png differ
diff --git a/MacawTests/png/paths-data-09-t-manual.png b/MacawTests/png/paths-data-09-t-manual.png
index c34db20e..345f5d98 100644
Binary files a/MacawTests/png/paths-data-09-t-manual.png and b/MacawTests/png/paths-data-09-t-manual.png differ
diff --git a/MacawTests/png/paths-data-10-t-manual.png b/MacawTests/png/paths-data-10-t-manual.png
index 98f493e7..192bbbb1 100644
Binary files a/MacawTests/png/paths-data-10-t-manual.png and b/MacawTests/png/paths-data-10-t-manual.png differ
diff --git a/MacawTests/png/paths-data-12-t-manual.png b/MacawTests/png/paths-data-12-t-manual.png
index 56f1576d..39a9396f 100644
Binary files a/MacawTests/png/paths-data-12-t-manual.png and b/MacawTests/png/paths-data-12-t-manual.png differ
diff --git a/MacawTests/png/paths-data-13-t-manual.png b/MacawTests/png/paths-data-13-t-manual.png
index 26e12c20..bc7f9844 100644
Binary files a/MacawTests/png/paths-data-13-t-manual.png and b/MacawTests/png/paths-data-13-t-manual.png differ
diff --git a/MacawTests/png/paths-data-14-t-manual.png b/MacawTests/png/paths-data-14-t-manual.png
index 8a09fd63..63c7c493 100644
Binary files a/MacawTests/png/paths-data-14-t-manual.png and b/MacawTests/png/paths-data-14-t-manual.png differ
diff --git a/MacawTests/png/paths-data-15-t-manual.png b/MacawTests/png/paths-data-15-t-manual.png
index fa320096..d6b4a4d1 100644
Binary files a/MacawTests/png/paths-data-15-t-manual.png and b/MacawTests/png/paths-data-15-t-manual.png differ
diff --git a/MacawTests/png/paths-data-16-t-manual.png b/MacawTests/png/paths-data-16-t-manual.png
index 2be8c805..77fd8527 100644
Binary files a/MacawTests/png/paths-data-16-t-manual.png and b/MacawTests/png/paths-data-16-t-manual.png differ
diff --git a/MacawTests/png/paths-data-17-f-manual.png b/MacawTests/png/paths-data-17-f-manual.png
index ef60ca0f..c6ef1bc8 100644
Binary files a/MacawTests/png/paths-data-17-f-manual.png and b/MacawTests/png/paths-data-17-f-manual.png differ
diff --git a/MacawTests/png/paths-data-18-f-manual.png b/MacawTests/png/paths-data-18-f-manual.png
index 7866f214..1fd8a9ea 100644
Binary files a/MacawTests/png/paths-data-18-f-manual.png and b/MacawTests/png/paths-data-18-f-manual.png differ
diff --git a/MacawTests/png/paths-data-19-f-manual.png b/MacawTests/png/paths-data-19-f-manual.png
index 3bfcb57f..a6e1e6e1 100644
Binary files a/MacawTests/png/paths-data-19-f-manual.png and b/MacawTests/png/paths-data-19-f-manual.png differ
diff --git a/MacawTests/png/paths-data-20-f-manual.png b/MacawTests/png/paths-data-20-f-manual.png
index 657af750..304ba1e8 100644
Binary files a/MacawTests/png/paths-data-20-f-manual.png and b/MacawTests/png/paths-data-20-f-manual.png differ
diff --git a/MacawTests/png/pservers-grad-01-b-manual.png b/MacawTests/png/pservers-grad-01-b-manual.png
index 921d16f5..e6d78ed2 100644
Binary files a/MacawTests/png/pservers-grad-01-b-manual.png and b/MacawTests/png/pservers-grad-01-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-02-b-manual.png b/MacawTests/png/pservers-grad-02-b-manual.png
index b544f0fe..174659ea 100644
Binary files a/MacawTests/png/pservers-grad-02-b-manual.png and b/MacawTests/png/pservers-grad-02-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-03-b-manual.png b/MacawTests/png/pservers-grad-03-b-manual.png
index 3acf5107..c4bc31ac 100644
Binary files a/MacawTests/png/pservers-grad-03-b-manual.png and b/MacawTests/png/pservers-grad-03-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-07-b-manual.png b/MacawTests/png/pservers-grad-07-b-manual.png
index c508c90b..262bbabe 100644
Binary files a/MacawTests/png/pservers-grad-07-b-manual.png and b/MacawTests/png/pservers-grad-07-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-09-b-manual.png b/MacawTests/png/pservers-grad-09-b-manual.png
index 78f0b8b8..6baf64a4 100644
Binary files a/MacawTests/png/pservers-grad-09-b-manual.png and b/MacawTests/png/pservers-grad-09-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-12-b-manual.png b/MacawTests/png/pservers-grad-12-b-manual.png
index 5d86eb69..39fa6efc 100644
Binary files a/MacawTests/png/pservers-grad-12-b-manual.png and b/MacawTests/png/pservers-grad-12-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-13-b-manual.png b/MacawTests/png/pservers-grad-13-b-manual.png
index 98c685c2..293bb99f 100644
Binary files a/MacawTests/png/pservers-grad-13-b-manual.png and b/MacawTests/png/pservers-grad-13-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-15-b-manual.png b/MacawTests/png/pservers-grad-15-b-manual.png
index b22cf0b0..280a922c 100644
Binary files a/MacawTests/png/pservers-grad-15-b-manual.png and b/MacawTests/png/pservers-grad-15-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-22-b-manual.png b/MacawTests/png/pservers-grad-22-b-manual.png
index 6f645ab4..e44dd6cf 100644
Binary files a/MacawTests/png/pservers-grad-22-b-manual.png and b/MacawTests/png/pservers-grad-22-b-manual.png differ
diff --git a/MacawTests/png/pservers-grad-23-f-manual.png b/MacawTests/png/pservers-grad-23-f-manual.png
index 7f08d5a1..29273bd9 100644
Binary files a/MacawTests/png/pservers-grad-23-f-manual.png and b/MacawTests/png/pservers-grad-23-f-manual.png differ
diff --git a/MacawTests/png/pservers-grad-24-f-manual.png b/MacawTests/png/pservers-grad-24-f-manual.png
index 4b3237c8..6d35f59c 100644
Binary files a/MacawTests/png/pservers-grad-24-f-manual.png and b/MacawTests/png/pservers-grad-24-f-manual.png differ
diff --git a/MacawTests/png/pservers-grad-stops-01-f-manual.png b/MacawTests/png/pservers-grad-stops-01-f-manual.png
index 398512e8..f3b698ad 100644
Binary files a/MacawTests/png/pservers-grad-stops-01-f-manual.png and b/MacawTests/png/pservers-grad-stops-01-f-manual.png differ
diff --git a/MacawTests/png/render-elems-01-t-manual.png b/MacawTests/png/render-elems-01-t-manual.png
index 2bde5dd8..0e92cfc9 100644
Binary files a/MacawTests/png/render-elems-01-t-manual.png and b/MacawTests/png/render-elems-01-t-manual.png differ
diff --git a/MacawTests/png/render-elems-02-t-manual.png b/MacawTests/png/render-elems-02-t-manual.png
index 6b376051..7e4671a3 100644
Binary files a/MacawTests/png/render-elems-02-t-manual.png and b/MacawTests/png/render-elems-02-t-manual.png differ
diff --git a/MacawTests/png/render-elems-03-t-manual.png b/MacawTests/png/render-elems-03-t-manual.png
index 102cc761..ecd43d29 100644
Binary files a/MacawTests/png/render-elems-03-t-manual.png and b/MacawTests/png/render-elems-03-t-manual.png differ
diff --git a/MacawTests/png/shapes-circle-01-t-manual.png b/MacawTests/png/shapes-circle-01-t-manual.png
index 27f044c1..b4b0c8ab 100644
Binary files a/MacawTests/png/shapes-circle-01-t-manual.png and b/MacawTests/png/shapes-circle-01-t-manual.png differ
diff --git a/MacawTests/png/shapes-circle-02-t-manual.png b/MacawTests/png/shapes-circle-02-t-manual.png
index e60fb418..96eceb72 100644
Binary files a/MacawTests/png/shapes-circle-02-t-manual.png and b/MacawTests/png/shapes-circle-02-t-manual.png differ
diff --git a/MacawTests/png/shapes-ellipse-01-t-manual.png b/MacawTests/png/shapes-ellipse-01-t-manual.png
index c7f18ea9..899e248b 100644
Binary files a/MacawTests/png/shapes-ellipse-01-t-manual.png and b/MacawTests/png/shapes-ellipse-01-t-manual.png differ
diff --git a/MacawTests/png/shapes-ellipse-02-t-manual.png b/MacawTests/png/shapes-ellipse-02-t-manual.png
index bd9e13ec..b22c349d 100644
Binary files a/MacawTests/png/shapes-ellipse-02-t-manual.png and b/MacawTests/png/shapes-ellipse-02-t-manual.png differ
diff --git a/MacawTests/png/shapes-ellipse-03-f-manual.png b/MacawTests/png/shapes-ellipse-03-f-manual.png
index ba7377c2..d74421b6 100644
Binary files a/MacawTests/png/shapes-ellipse-03-f-manual.png and b/MacawTests/png/shapes-ellipse-03-f-manual.png differ
diff --git a/MacawTests/png/shapes-grammar-01-f-manual.png b/MacawTests/png/shapes-grammar-01-f-manual.png
index 0e3e5ceb..fcb9abde 100644
Binary files a/MacawTests/png/shapes-grammar-01-f-manual.png and b/MacawTests/png/shapes-grammar-01-f-manual.png differ
diff --git a/MacawTests/png/shapes-intro-01-t-manual.png b/MacawTests/png/shapes-intro-01-t-manual.png
index efc010c0..98bae9dd 100644
Binary files a/MacawTests/png/shapes-intro-01-t-manual.png and b/MacawTests/png/shapes-intro-01-t-manual.png differ
diff --git a/MacawTests/png/shapes-line-01-t-manual.png b/MacawTests/png/shapes-line-01-t-manual.png
index e992c6a3..2b229cab 100644
Binary files a/MacawTests/png/shapes-line-01-t-manual.png and b/MacawTests/png/shapes-line-01-t-manual.png differ
diff --git a/MacawTests/png/shapes-line-02-f-manual.png b/MacawTests/png/shapes-line-02-f-manual.png
index 44328a0c..d6361ca5 100644
Binary files a/MacawTests/png/shapes-line-02-f-manual.png and b/MacawTests/png/shapes-line-02-f-manual.png differ
diff --git a/MacawTests/png/shapes-polygon-01-t-manual.png b/MacawTests/png/shapes-polygon-01-t-manual.png
index 175066cf..c2e8ca73 100644
Binary files a/MacawTests/png/shapes-polygon-01-t-manual.png and b/MacawTests/png/shapes-polygon-01-t-manual.png differ
diff --git a/MacawTests/png/shapes-polygon-02-t-manual.png b/MacawTests/png/shapes-polygon-02-t-manual.png
index 4b6f9a96..d5cdf0b4 100644
Binary files a/MacawTests/png/shapes-polygon-02-t-manual.png and b/MacawTests/png/shapes-polygon-02-t-manual.png differ
diff --git a/MacawTests/png/shapes-polygon-03-t-manual.png b/MacawTests/png/shapes-polygon-03-t-manual.png
index 7a74aeec..208b4a10 100644
Binary files a/MacawTests/png/shapes-polygon-03-t-manual.png and b/MacawTests/png/shapes-polygon-03-t-manual.png differ
diff --git a/MacawTests/png/shapes-polyline-01-t-manual.png b/MacawTests/png/shapes-polyline-01-t-manual.png
index 86d07718..b0266a7e 100644
Binary files a/MacawTests/png/shapes-polyline-01-t-manual.png and b/MacawTests/png/shapes-polyline-01-t-manual.png differ
diff --git a/MacawTests/png/shapes-polyline-02-t-manual.png b/MacawTests/png/shapes-polyline-02-t-manual.png
index 3f539981..9db8761d 100644
Binary files a/MacawTests/png/shapes-polyline-02-t-manual.png and b/MacawTests/png/shapes-polyline-02-t-manual.png differ
diff --git a/MacawTests/png/shapes-rect-02-t-manual.png b/MacawTests/png/shapes-rect-02-t-manual.png
index 4963f0ee..d414a6d4 100644
Binary files a/MacawTests/png/shapes-rect-02-t-manual.png and b/MacawTests/png/shapes-rect-02-t-manual.png differ
diff --git a/MacawTests/png/shapes-rect-03-t-manual.png b/MacawTests/png/shapes-rect-03-t-manual.png
index 9f82d28a..e6b32d81 100644
Binary files a/MacawTests/png/shapes-rect-03-t-manual.png and b/MacawTests/png/shapes-rect-03-t-manual.png differ
diff --git a/MacawTests/png/shapes-rect-04-f-manual.png b/MacawTests/png/shapes-rect-04-f-manual.png
index 7491a3cc..bf8ce5ab 100644
Binary files a/MacawTests/png/shapes-rect-04-f-manual.png and b/MacawTests/png/shapes-rect-04-f-manual.png differ
diff --git a/MacawTests/png/shapes-rect-05-f-manual.png b/MacawTests/png/shapes-rect-05-f-manual.png
index e02d9f0a..27a16b2d 100644
Binary files a/MacawTests/png/shapes-rect-05-f-manual.png and b/MacawTests/png/shapes-rect-05-f-manual.png differ
diff --git a/MacawTests/png/shapes-rect-06-f-manual.png b/MacawTests/png/shapes-rect-06-f-manual.png
index b37be75b..b1b932d1 100644
Binary files a/MacawTests/png/shapes-rect-06-f-manual.png and b/MacawTests/png/shapes-rect-06-f-manual.png differ
diff --git a/MacawTests/png/shapes-rect-07-f-manual.png b/MacawTests/png/shapes-rect-07-f-manual.png
index 21bb1767..181cdadf 100644
Binary files a/MacawTests/png/shapes-rect-07-f-manual.png and b/MacawTests/png/shapes-rect-07-f-manual.png differ
diff --git a/MacawTests/png/struct-defs-01-t-manual.png b/MacawTests/png/struct-defs-01-t-manual.png
index 128f6c58..0dfd2e7a 100644
Binary files a/MacawTests/png/struct-defs-01-t-manual.png and b/MacawTests/png/struct-defs-01-t-manual.png differ
diff --git a/MacawTests/png/struct-frag-02-t-manual.png b/MacawTests/png/struct-frag-02-t-manual.png
index 2f666a43..d7d13cc6 100644
Binary files a/MacawTests/png/struct-frag-02-t-manual.png and b/MacawTests/png/struct-frag-02-t-manual.png differ
diff --git a/MacawTests/png/struct-frag-03-t-manual.png b/MacawTests/png/struct-frag-03-t-manual.png
index 0016f673..1f77fead 100644
Binary files a/MacawTests/png/struct-frag-03-t-manual.png and b/MacawTests/png/struct-frag-03-t-manual.png differ
diff --git a/MacawTests/png/struct-frag-04-t-manual.png b/MacawTests/png/struct-frag-04-t-manual.png
index 37ba8104..9348a242 100644
Binary files a/MacawTests/png/struct-frag-04-t-manual.png and b/MacawTests/png/struct-frag-04-t-manual.png differ
diff --git a/MacawTests/png/struct-frag-06-t-manual.png b/MacawTests/png/struct-frag-06-t-manual.png
index b8129466..6518840e 100644
Binary files a/MacawTests/png/struct-frag-06-t-manual.png and b/MacawTests/png/struct-frag-06-t-manual.png differ
diff --git a/MacawTests/png/struct-group-01-t-manual.png b/MacawTests/png/struct-group-01-t-manual.png
index ecefe94c..262045dd 100644
Binary files a/MacawTests/png/struct-group-01-t-manual.png and b/MacawTests/png/struct-group-01-t-manual.png differ
diff --git a/MacawTests/png/struct-use-01-t-manual.png b/MacawTests/png/struct-use-01-t-manual.png
index e9bfffe9..e8136bcb 100644
Binary files a/MacawTests/png/struct-use-01-t-manual.png and b/MacawTests/png/struct-use-01-t-manual.png differ
diff --git a/MacawTests/png/struct-use-03-t-manual.png b/MacawTests/png/struct-use-03-t-manual.png
index 58aaa97e..18a3bb36 100644
Binary files a/MacawTests/png/struct-use-03-t-manual.png and b/MacawTests/png/struct-use-03-t-manual.png differ
diff --git a/MacawTests/png/struct-use-12-f-manual.png b/MacawTests/png/struct-use-12-f-manual.png
index 7f530970..7a813e42 100644
Binary files a/MacawTests/png/struct-use-12-f-manual.png and b/MacawTests/png/struct-use-12-f-manual.png differ
diff --git a/MacawTests/png/text-align-01-b-manual.png b/MacawTests/png/text-align-01-b-manual.png
index e16f13f7..a059137d 100644
Binary files a/MacawTests/png/text-align-01-b-manual.png and b/MacawTests/png/text-align-01-b-manual.png differ
diff --git a/MacawTests/png/text-fonts-01-t-manual.png b/MacawTests/png/text-fonts-01-t-manual.png
index d13ff5b9..6dcfa4d9 100644
Binary files a/MacawTests/png/text-fonts-01-t-manual.png and b/MacawTests/png/text-fonts-01-t-manual.png differ
diff --git a/MacawTests/png/text-fonts-02-t-manual.png b/MacawTests/png/text-fonts-02-t-manual.png
index 011dac33..2d8379b1 100644
Binary files a/MacawTests/png/text-fonts-02-t-manual.png and b/MacawTests/png/text-fonts-02-t-manual.png differ
diff --git a/MacawTests/png/types-basic-01-f-manual.png b/MacawTests/png/types-basic-01-f-manual.png
index 5682a2b3..8c56631c 100644
Binary files a/MacawTests/png/types-basic-01-f-manual.png and b/MacawTests/png/types-basic-01-f-manual.png differ
diff --git a/MacawTests/svg/textBasicTransform.reference b/MacawTests/svg/textBasicTransform.reference
index f8c09e0a..1faa17c8 100644
--- a/MacawTests/svg/textBasicTransform.reference
+++ b/MacawTests/svg/textBasicTransform.reference
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference
index b257fd9d..477448c5 100644
--- a/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference
+++ b/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference
@@ -40,7 +40,7 @@
}
],
"node" : "Group",
- "place" : "7.5, 0, 0, 5, 125.000002, 525"
+ "place" : "7.5, 0, 0, 5, 125.000003, 525"
}
],
"node" : "Group",
diff --git a/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference
index 76e5d517..5b7afca7 100644
--- a/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference
+++ b/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference
@@ -36,7 +36,7 @@
}
],
"node" : "Group",
- "place" : ".866025, .5, -.5, .866025, 123.205081, 186.60254"
+ "place" : "0.866025, 0.5, -0.5, 0.866025, 123.205081, 186.60254"
},
{
"align" : "min",
@@ -86,7 +86,7 @@
}
],
"node" : "Group",
- "place" : ".866025, .5, -.5, .866025, 200, 100"
+ "place" : "0.866025, 0.5, -0.5, 0.866025, 200, 100"
},
{
"align" : "min",
diff --git a/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference
index f452cef4..d094312d 100644
--- a/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference
+++ b/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference
@@ -186,7 +186,7 @@
}
],
"node" : "Group",
- "place" : "1, 0, .5, 1, 30, 170"
+ "place" : "1, 0, 0.5, 1, 30, 170"
},
{
"align" : "min",
@@ -236,7 +236,7 @@
}
],
"node" : "Group",
- "place" : "1, .5, 0, 1, 100, 200"
+ "place" : "1, 0.5, 0, 1, 100, 200"
},
{
"align" : "min",
@@ -336,7 +336,7 @@
}
],
"node" : "Group",
- "place" : "1, .8, .8, 1, 300, 220"
+ "place" : "1, 0.8, 0.8, 1, 300, 220"
},
{
"align" : "min",
diff --git a/MacawTests/w3cSVGTests/coords-trans-14-f-manual.reference b/MacawTests/w3cSVGTests/coords-trans-14-f-manual.reference
index db9708f8..916da24c 100644
--- a/MacawTests/w3cSVGTests/coords-trans-14-f-manual.reference
+++ b/MacawTests/w3cSVGTests/coords-trans-14-f-manual.reference
@@ -564,7 +564,7 @@
}
],
"node" : "Group",
- "place" : ".704769, -.256515, .256515, .704769, 0, 0"
+ "place" : "0.704769, -0.256515, 0.256515, 0.704769, 0, 0"
}
],
"node" : "Group"
diff --git a/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference
index 7cea70d3..4560daa7 100644
--- a/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference
+++ b/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference
@@ -20,7 +20,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -52,7 +52,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -72,7 +72,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -104,7 +104,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -124,7 +124,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -156,7 +156,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -176,7 +176,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -208,7 +208,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -228,7 +228,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -260,7 +260,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -280,7 +280,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
},
{
"contents" : [
@@ -312,7 +312,7 @@
}
],
"node" : "Group",
- "place" : ".565685, .565685, -.41411, .71726, 50, 50"
+ "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50"
}
],
"node" : "Group"
diff --git a/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference
index 3081d23b..a94821e5 100644
--- a/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference
+++ b/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference
@@ -130,7 +130,7 @@
}
],
"node" : "Group",
- "place" : ".707107, .707107, -.707107, .707107, 0, 0"
+ "place" : "0.707107, 0.707107, -0.707107, 0.707107, 0, 0"
}
],
"node" : "Group",
@@ -209,7 +209,7 @@
}
],
"node" : "Group",
- "place" : ".707107, .707107, -.707107, .707107, 0, 0"
+ "place" : "0.707107, 0.707107, -0.707107, 0.707107, 0, 0"
}
],
"node" : "Group",
diff --git a/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference
index e11a73d1..ef8dfa66 100644
--- a/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference
+++ b/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference
@@ -106,7 +106,7 @@
}
],
"node" : "Group",
- "place" : ".965926, .258819, -.258819, .965926, 0, 0"
+ "place" : "0.965926, 0.258819, -0.258819, 0.965926, 0, 0"
},
{
"contents" : [
@@ -214,7 +214,7 @@
}
],
"node" : "Group",
- "place" : ".965926, .258819, -.258819, .965926, 0, 0"
+ "place" : "0.965926, 0.258819, -0.258819, 0.965926, 0, 0"
}
],
"node" : "Group",
diff --git a/MacawTests/w3cSVGTests/masking-path-02-b-manual.reference b/MacawTests/w3cSVGTests/masking-path-02-b-manual.reference
index 5e21d1e7..ad5b4a32 100644
--- a/MacawTests/w3cSVGTests/masking-path-02-b-manual.reference
+++ b/MacawTests/w3cSVGTests/masking-path-02-b-manual.reference
@@ -87,7 +87,7 @@
"y" : 0
},
"node" : "Shape",
- "place" : ".707107, -.707107, .707107, .707107, 100, 200"
+ "place" : "0.707107, -0.707107, 0.707107, 0.707107, 100, 200"
},
{
"form" : {
@@ -98,7 +98,7 @@
"y" : 60
},
"node" : "Shape",
- "place" : ".707107, -.707107, .707107, .707107, 100, 200",
+ "place" : "0.707107, -0.707107, 0.707107, 0.707107, 100, 200",
"stroke" : {
"cap" : "butt",
"dashes" : [
diff --git a/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference b/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference
index acf016fe..bc33eed6 100644
--- a/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference
+++ b/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference
@@ -6424,7 +6424,7 @@
}
],
"node" : "Group",
- "place" : ".04455, -.0227, .0227, .04455, 153, 58"
+ "place" : "0.04455, -0.0227, 0.0227, 0.04455, 153, 58"
}
],
"node" : "Group",
diff --git a/MacawTests/w3cSVGTests/pservers-grad-22-b-manual.reference b/MacawTests/w3cSVGTests/pservers-grad-22-b-manual.reference
index 045538db..0ad861b4 100644
--- a/MacawTests/w3cSVGTests/pservers-grad-22-b-manual.reference
+++ b/MacawTests/w3cSVGTests/pservers-grad-22-b-manual.reference
@@ -18,7 +18,7 @@
}
],
"node" : "Group",
- "place" : ".5, 0, 0, 1, 0, 0"
+ "place" : "0.5, 0, 0, 1, 0, 0"
}
],
"node" : "Group",
@@ -51,7 +51,7 @@
"y" : 0
},
"node" : "Shape",
- "place" : ".5, 0, 0, 1, 0, 0"
+ "place" : "0.5, 0, 0, 1, 0, 0"
}
],
"node" : "Group",
diff --git a/MacawTests/w3cSVGTests/shapes-ellipse-03-f-manual.reference b/MacawTests/w3cSVGTests/shapes-ellipse-03-f-manual.reference
index 593a0eb8..6933b717 100644
--- a/MacawTests/w3cSVGTests/shapes-ellipse-03-f-manual.reference
+++ b/MacawTests/w3cSVGTests/shapes-ellipse-03-f-manual.reference
@@ -170,7 +170,7 @@
}
],
"node" : "Group",
- "place" : ".866025, -.5, .5, .866025, 350, 150"
+ "place" : "0.866025, -0.5, 0.5, 0.866025, 350, 150"
}
],
"node" : "Group"
diff --git a/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference b/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference
index b31c8195..32ea892b 100644
--- a/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference
+++ b/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference
@@ -41,7 +41,7 @@
"y2" : 100
},
"node" : "Shape",
- "place" : ".965926, .258819, -.258819, .965926, 0, 0",
+ "place" : "0.965926, 0.258819, -0.258819, 0.965926, 0, 0",
"stroke" : {
"cap" : "butt",
"dashes" : [
diff --git a/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference b/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference
index 5384b245..5d780160 100644
--- a/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference
+++ b/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference
@@ -160,7 +160,7 @@
}
],
"node" : "Group",
- "place" : ".866025, -.5, .815207, .68404, 100, 100"
+ "place" : "0.866025, -0.5, 0.815207, 0.68404, 100, 100"
}
],
"node" : "Group"
diff --git a/MacawTests/w3cSVGTests/struct-frag-06-t-manual.reference b/MacawTests/w3cSVGTests/struct-frag-06-t-manual.reference
index 55fce126..4c8893fb 100644
--- a/MacawTests/w3cSVGTests/struct-frag-06-t-manual.reference
+++ b/MacawTests/w3cSVGTests/struct-frag-06-t-manual.reference
@@ -192,7 +192,7 @@
}
],
"node" : "Group",
- "place" : ".2, 0, 0, .2, 90, 235"
+ "place" : "0.2, 0, 0, 0.2, 90, 235"
},
{
"align" : "mid",
@@ -296,7 +296,7 @@
}
],
"node" : "Group",
- "place" : ".2, 0, 0, .2, 190, 235"
+ "place" : "0.2, 0, 0, 0.2, 190, 235"
}
],
"node" : "Group"
diff --git a/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference b/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference
index 4814ac3e..461c2681 100644
--- a/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference
+++ b/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference
@@ -102,7 +102,7 @@
}
],
"node" : "Group",
- "place" : ".939693, -.34202, .34202, .939693, 0, 0"
+ "place" : "0.939693, -0.34202, 0.34202, 0.939693, 0, 0"
}
],
"node" : "Group"
diff --git a/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference b/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference
index edb66756..b7df32a3 100644
--- a/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference
+++ b/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference
@@ -64,7 +64,7 @@
}
],
"node" : "Group",
- "place" : ".707107, .707107, -.707107, .707107, 120, 99.289322"
+ "place" : "0.707107, 0.707107, -0.707107, 0.707107, 120, 99.289322"
},
{
"contents" : [
@@ -81,7 +81,7 @@
"y" : 0
},
"node" : "Shape",
- "place" : ".707107, .707107, -.707107, .707107, 120, 99.289322",
+ "place" : "0.707107, 0.707107, -0.707107, 0.707107, 120, 99.289322",
"stroke" : {
"cap" : "butt",
"dashes" : [
diff --git a/Source/svg/SVGParser.swift b/Source/svg/SVGParser.swift
index 6c79ea89..facdd4d9 100644
--- a/Source/svg/SVGParser.swift
+++ b/Source/svg/SVGParser.swift
@@ -547,7 +547,7 @@ open class SVGParser {
scanner.scanString("(", into: nil),
let valuesString = scanner.scannedUpToString(")"),
scanner.scanString(")", into: nil) else {
- break stopParse
+ break stopParse
}
// Skip an optional comma after ")".
@@ -1148,7 +1148,7 @@ open class SVGParser {
baseline: .alphabetic,
place: place,
opacity: opacity)
- } else if let tspanElement = element as? XMLElement,
+ } else if let tspanElement = element as? SWXMLHash.XMLElement,
tspanElement.name == "tspan" {
// parse as element
// ultimately skip it if it cannot be parsed
@@ -1179,7 +1179,7 @@ open class SVGParser {
return collection
}
- fileprivate func parseTspan(_ element: XMLElement,
+ fileprivate func parseTspan(_ element: SWXMLHash.XMLElement,
withWhitespace: Bool = false,
textAnchor: String?,
fill: Fill?,
diff --git a/Source/svg/SVGSerializer.swift b/Source/svg/SVGSerializer.swift
index a5ef8822..096abbe1 100644
--- a/Source/svg/SVGSerializer.swift
+++ b/Source/svg/SVGSerializer.swift
@@ -407,7 +407,8 @@ extension Double {
func serialize() -> String {
let formatter = NumberFormatter()
formatter.minimumIntegerDigits = 1
- formatter.maximumFractionDigits = 15
+ formatter.maximumFractionDigits = 6
+ formatter.decimalSeparator = "."
return abs(self.remainder(dividingBy: 1)) > 0.00001 ? formatter.string(from: NSNumber(value: self))! : String(Int(self.rounded()))
}
}
diff --git a/Source/views/MacawView.swift b/Source/views/MacawView.swift
index be4becd0..aea5ee95 100644
--- a/Source/views/MacawView.swift
+++ b/Source/views/MacawView.swift
@@ -59,12 +59,10 @@ open class MacawView: MView, MGestureRecognizerDelegate {
#if os(OSX)
open override var layer: CALayer? {
didSet {
- guard self.layer != nil else {
- return
+ if self.layer == nil {
+ initializeView()
+ renderer = RenderUtils.createNodeRenderer(node, view: drawingView)
}
- initializeView()
-
- renderer = RenderUtils.createNodeRenderer(node, view: drawingView)
}
}
#endif