I'm not an expert in the field, but I think SVG render engines expects 0 or 1 as possible values for largeFlag and sweepFlag. Unfortunately the library is generating invalid values, given is returning 1.0000, and 0.0000.
Ref.
-- | Arc (absolute)
aA :: RealFloat a => a -> a -> a -> a -> a -> a -> a -> Text
aA rx ry xrot largeFlag sweepFlag x y = T.concat
[ "A ", toText rx, ",", toText ry, " ", toText xrot, " ", toText largeFlag
, " ", toText sweepFlag, " ", toText x, " ", toText y, " "]
-- | Arc (relative)
aR :: RealFloat a => a -> a -> a -> a -> a -> a -> a -> Text
aR rx ry xrot largeFlag sweepFlag x y = T.concat
[ "a ", toText rx, ",", toText ry, " ", toText xrot, " ", toText largeFlag
, " ", toText sweepFlag, " ", toText x, " ", toText y, " "]
I'm not an expert in the field, but I think SVG render engines expects
0
or1
as possible values forlargeFlag
andsweepFlag
. Unfortunately the library is generating invalid values, given is returning1.0000
, and0.0000
.Ref.
^ at https://github.com/diagrams/svg-builder/blob/master/src/Graphics/Svg/Path.hs#L100
Those 2 are using the
toText
implemented here (notice from previous snippet that for all params uses the same):^ at https://github.com/diagrams/svg-builder/blob/master/src/Graphics/Svg/Path.hs#L26
Example
largeFlag
andsweepFlag
equal to 0)