- From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
- Date: Wed, 6 Oct 2010 12:22:38 +0200
- To: www-svg@w3.org, th.v.d.gronde@hccnet.nl
Anthony Grasso: > Hi Dr. Hoffmann, > > Nice find! This is a very interesting case you raise. We noted this comment > (ISSUE-2337 [1]) in our list of SVG Full 1.1 Last Comments to address. > > After discussion in our telephone conference [2], I was assigned ACTION- > 2814 [3] to add wording to the specification. We decided that for this > particular case in SVG Full 1.1 2nd that the behaviour is undefined. The > wording has now been added and can be found in the current unpublished > version of the SVG Full 1.1 2nd Edition specification [4]. We will however, > look to define a behaviour for this case in SVG 2 [5]. > > Please let the SVG Working Group know at your earliest convenience if the > change satisfactory. Sure, for SVG1.1 it is ok to say it is undefined, especially because in already existing viewers there seems to be a wide range of variants to display this ;o) And obviously authors cannot expect, that already published versions of viewer care about the second edition of the recommendation ;o) About a meaningful defintion for future versions: Jasper van de Gronde: >Note that it's not as undefined as declaring it simply "undefined" would >suggest. Actually, with the current wording renderers would always have >two (and ONLY two) choices, as the bisector is technically a line, >giving rise to two possible vectors. It's just that normally it's >obvious that the vector corresponding to the smaller angle should be >chosen. In the case of two opposite tangent vectors it's just that there >isn't a smaller angle. .... If we assume that an author uses such a marker typically to indicate something like the progression direction of the path, due to all of my examples it would be useful to align the marker direction in such a case perpendicular to the two tangents. This corresponds to a limes of the bisector angle going to zero. The main problem seems to be the orientation. If the subpath/path fragment before and after this degenerate point have a direction, this can be used to determine the orientation of the marker from a non local 'before' to a non local 'after' or maybe from higher order derivatives (L'Hospital? Did not test, if this is usable here). This works for example (a) for something like M-100,-100C-50,-50 0,0 200,-200C0,0 50,50 100,100z The marker direction useful for authors points here into the direction l1,1 at M200,-200. In the degenerate case of two reverse straight lines there is no such information remaining. For example (b) M0,0 200,200 0,0 -200,-200z in this case there is no indication of a progress direction at all. At least for such cases one can only define an arbitrary orientation, in this case this at M200,200 and M-200,-200 either l-1,1 or l1,-1. Another problematic sample (c): M-100,-100C-50,-50 0,0 200,-200C-50,50 -50,-50 -100,-100z Because in (b) there is not even a chance for programs to guess the intention of the author, if could help here to provide an option for authors to note their intention. On the other hand, for such cases maybe it is the best approach that authors have to realise the marker manually ;o) Therefore it would already help to define, that for such degenerate cases the markers have not to be displayed at all instead of a display in an arbitrary direction, not related to the intentions of the author... Olaf
Received on Wednesday, 6 October 2010 10:25:21 UTC