Wording for non-invertable CTMs with ref() (for ISSUE-2073)

Hello WG.

With ACTION-2284, the following text proposed by Olaf was added to the
spec:

  Note that the inverse of the CTM may not always exist. This may cause
  problems for a user-agent, if the constrained transformation is
  realised using the inverse of the CTM. Authors are encouraged to
  verify that the resultant CTM is always invertable to avoid
  unexpected results. Mathematically it is invertable, if the
  determinant of the CTM is defined and not zero, graphically this is
  the case, if a two-dimensional shape remains two-dimensionally before
  the effect of a constrained transformation is applied. 
   — http://dev.w3.org/SVG/profiles/1.2T/publish/coords.html#transform-ref

First, I would like to tweak the wording a little for grammar and so on.
Given that this particular text was added in response to an LC comment,
if I make further (editorial) changes to it, must I inform the
commentor?

Second, I think the paragraph should not say that non-invertable CTMs
“may cause problems for a user-agent”, rather it should state what the
processing should be, e.g. “If the CTM is non-invertable, then rendering
of the element is disabled.  The ref() value in this case is not an
unsupported value.”, which parallels how ‘matrix(0,0,0,0,0,0)’ is
treated.

Relatedly, I think the section that describes ‘matrix(0,0,0,0,0,0)’
should also say how to treat all non-invertable transformation matrices,
such as ‘matrix(0,0,0,0,50,50)’ or ‘scale(1,0)’.  I can add some text
for this, if you agree.

Thanks,

Cameron

-- 
Cameron McCormack ≝ http://mcc.id.au/

Received on Wednesday, 22 October 2008 00:45:43 UTC