- From: Sebastian Zartner <sebastianzartner@gmail.com>
- Date: Wed, 24 Mar 2021 21:45:07 +0100
- To: Domenico Strazzullo <strazzullo.domenico@gmail.com>
- Cc: www-svg <www-svg@w3.org>
- Message-ID: <CAERejNZs1Lty5d8yiirnsNCNw_UTSRNKRasqh_m_mQ7CkesqVw@mail.gmail.com>
Hi Domenico, If you appended a test case, it would be much easier to reproduce your problem. Though as it works in Firefox, as you say, I think the issues you mention are rather related to implementations, not the specification itself. For the specification it is fine to declare xml:space as deprecated because its features are covered by the white-space property's values. And looking at the example at https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xml:space, it seems that current versions of Chrome and Edge do still support the xml:space attribute. And support for the white-space property in SVG is tracked in https://crbug.com/366558 for Chromium based browsers. Sebastian On Thu, 18 Mar 2021 at 13:16, Domenico Strazzullo < strazzullo.domenico@gmail.com> wrote: > While wondering if the statements at developer.mozilla [1] were 100% > dependable, I got the expected confirmation that SVG2 [2] specifies that xml:space > is “retained for backwards compatibility”, proving that the warning in > [1] makes false statements, in particular “Be aware that this feature may > cease to work at any time.”, while, as per the specification, it must not > cease to work. Unfortunately, as arbitrary as it may be, that statement > proves to be true. > > Difficult now to guess if anyone can, or is willing to do something about > it. > > Domenico > > On Thu, Mar 11, 2021 at 2:38 PM Domenico Strazzullo < > strazzullo.domenico@gmail.com> wrote: > >> Hi, >> >> The concerned methods are: getComputedTextLength(), >> getSubStringLength(), getStartPositionOfChar(), and getEndPositionOfChar(). >> >> The task is to get the advance values in a string of rendered and >> formatted text. >> >> getStartPositionOfChar() and getEndPositionOfChar() are obviously the >> most appropriate for that task. But they fail. Then >> getComputedTextLength() and getSubStringLength(), which can both do the job (programmatically >> rebuilding the string one character at a time), were tested, and also >> failed. This is true for Chrome and Edge, while Firefox executes the >> task flawlessly using any of those four methods. >> >> I repeat, Firefox executes the task flawlessly using any of those four >> methods. >> >> What’s causing the failure (errors thrown on wrong “charnum” and/or >> “nchars” parameters -> freeze of the concerned text element) is the >> charCode 32 (space bar) – which, incidentally, can be replaced >> programmatically by charCode 160 (non breaking space) during after-input >> processing, and before using any of the aforementioned methods (but >> still… this would be just a cheap workaround). >> >> More precisely, double spaces and trailing spaces cause the errors, but >> also a single inner space depending on the method used and the proceedings. >> >> After puzzlement and then investigation, you learn that the "xml:space" >> attribute is deprecated in SVG2, and at >> >> https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xml:space >> >> you read "Instead of using the xml:space attribute, use the white-space >> CSS property". But... in the Browser compatibility section you can see that >> only Firefox has full support, all the others showing the "Compatibility >> unknown" sign – at my expense I found out that Chrome and Edge obviously >> decided to break the support, even though it's nothing like common practice >> to break backward compatibility, quite the contrary. >> >> But that is nothing, when visiting the white-space CSS property page, >> Browser compatibility section, you learn that only Firefox – and defunct >> Internet Explorer – has full "Support in SVG"! All the others show a >> merciless "No". And not only that, the white-space CSS property is just a >> candidate recommendation in CSS Text Module Level 3. It seems then that >> somebody decided to take something fundamental out of SVG with the >> intention to replace it with an extraneous feature that is not quite there >> yet, and in any case not implemented. Did that/those persons even consider >> that SVG does not have the same text module as the markup language that is >> the natural target for CSS? >> >> Please, cancel the deprecation of "xml:space" in SVG. >> >> Regards, >> Domenico >> >
Received on Wednesday, 24 March 2021 20:45:31 UTC