Description
As stated in #328, there seems to be an issue around skew
, skewX
, and skewY
.
I don't know enough the SVG specification, but there seems to be two different incompatible specifications of skew
(and its variants skewX
and skewY
):
https://drafts.csswg.org/css-transforms/#svg-skewX
https://drafts.csswg.org/css-transforms/#funcdef-transform-skewx
In one case, skew
only expects a number (meaning an angle in degrees). In the other case, skew
expects an angle which is composed of a number and a unit (rad
, turn
, grad
, deg
), sometimes with an additional 0
value, sometimes not.
The question is what should we do about `SkewX
? Should it accepts an angle
, or a float
?
https://github.com/ocsigen/tyxml/blob/master/lib/svg_types.mli#L302
The issue is that currently TyXML refuses a correct syntax transform="skewX(42)"
while printing an invalid transform="skewX(42deg)"
in some contexts.
I can see several ways to resolve this. One could be to use angle
internally, but accept both variants (with or without unit), and print-out the right version (potentially converting into degrees when the variant with unit is not accepted).