Re: [svgwg] Character counting in text 'x', 'y', 'dx', 'dy', and 'rotate' attributes.

Ok, to answer my own question, here's a test: https://codepen.io/AmeliaBR/pen/72dceba63f82c5433ee6ca6f8be5304a/

The first two accented characters are single codepoint characters, the second two use combining characters, and the final one is just me stacking a whole bunch of combining characters together.

Results:

- Firefox (v63) treats the combined accent+base character in the way the spec defines for ligatures: it gets laid out as a single character, but a `dy` value is consumed by the accent and accumulates in the position of the following character.
- Chrome (v68) and Safari (v11) lay out the combining accent as its own character, offset by the `dy` value assigned to it. 
- Edge (v17) lays out the combined accent+base character the exact same as the single-codepoint accented characters (one unit, one `dy` value), even for accent combinations that can never be normalized to a single codepoint.

I'm going to make a firm argument that the Chrome/Safari behavior (shifting the combining accent relative to its base character) is wrong.  But I'm not sure whether there is any interest in adopting the Edge behavior, which is probably more intuitive for authors, at least for the cases where the combining accent looks identical to a single codepoint version.

-- 
GitHub Notification of comment by AmeliaBR
Please view or discuss this issue at https://github.com/w3c/svgwg/issues/537#issuecomment-417823060 using your GitHub account

Received on Saturday, 1 September 2018 01:23:39 UTC