Hello, The attached patch examines the actual glyph's outline with DirectWrite to compute exact values for ascent and descent and should solve the problem for any font. Specifically, Sans Serif Collection works well now, and everything on HELLO.txt looks good on my system. This adds some overhead, but I didn't find it noticeable. In case someone does, we could cache measurements as the GDI backend does. When computing the bounding box for bezier curves, I just used minmax values for start/end and control points, instead of actually evaluating the curve. This reduces the overhead and loses some precision, but I didn't see any real difference.