You really enter the world of pain and cross browser issues. I ended up doing my own way of rendering fonts just to get the full length of the text reliable and consistent. I donβt even want to think about glyph bump.
One of the problems, for example, is that firefox (at least 3.6) and iirc also have some version of the opera that has some rounding error when scaling, so when you scale the parent element while holding the text, and scale the text using the inverse of this scale, the distance between the letters will be slightly different compared to any scale. (Since each letter should start with an even number or something like that, the problem can be solved by multiplying both the high-class and reduced scale by 10,000, but by a different story)
The performance impact using paths compared to text is unfortunately quite noticeable. If your canvas does any animated panning or zooming, you should switch to pure text elements during the animation and after statics, enable path rendering for accuracy.
Converting svg fonts in the path is very simple, it is plain text and using the same format as the path element. (be careful with embed font licenses!) Also consider the file size, as you cannot use fonts from the user system,)
source share