Here's the formal rule: https://www.w3.org/TR/SVG11/coords.html#TransformAttribute
rotate(<rotate-angle> [<cx> <cy>]), which specifies a rotation by <rotate-angle> degrees about a given point. If optional parameters <cx> and <cy> are not supplied, the rotation is about the origin of the current user coordinate system. The operation corresponds to the matrix [cos(a) sin(a) -sin(a) cos(a) 0 0]. If optional parameters <cx> and <cy> are supplied, the rotation is about the point (cx, cy). The operation represents the equivalent of the following specification: translate(<cx>, <cy>) rotate(<rotate-angle>) translate(-<cx>, -<cy>). It looks like cx/cy, if not present, mean to rotate the text about its origin, which I would take to be width/2 and height/2. They define the rotation matrix as [cos(a) sin(a) -sin(a) cos(a) 0 0], where a is the angle: https://www.w3.org/TR/SVG11/coords.html#RotationDefined It appears as though LMTX is rotating around the baseline, rather than the central point of the text's bounding box. (I thought that (cap height + descender height) / 2 was the middle, but I suppose that wouldn't account for diacritics.) Thanks for looking into this! On Wed, Jun 29, 2022 at 2:24 PM Hans Hagen via ntg-context < ntg-context@ntg.nl> wrote: > On 6/29/2022 8:48 PM, Thangalin wrote: > > > To me, it looks like the text, after a rotational transform, is being > > written to the baseline rather than (cap height + descender height) / 2, > > which seems to be a MetaPost conversion issue? There's another, possibly > > related issue, which I'll provide in a separate thread. > Where is that rediculous (rather font version sensitive) rule defined? > In all test i did so far baseline works ok. > > Btw, it is sort of baffling what applications spit out when it comes to > svg (and exp text). The cod being meant for machines "eyes" only is not > really an excuse. > > Hans > > > ----------------------------------------------------------------- > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl > ----------------------------------------------------------------- > > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to > the Wiki! > > maillist : ntg-context@ntg.nl / > http://www.ntg.nl/mailman/listinfo/ntg-context > webpage : http://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : http://contextgarden.net > > ___________________________________________________________________________________ >
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________