Add adjustments so PDF print matches screen position of overbars.

This is somewhat disturbing, but I can't figure out
why it's needed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/22172
This commit is contained in:
Jeff Young
2025-10-30 17:05:38 +00:00
parent 27b45e58ab
commit 0452a8c409
+5 -2
View File
@@ -2464,9 +2464,12 @@ void PDF_PLOTTER::drawOverbars( const std::vector<OVERBAR_INFO>& aOverbars, cons
// Base vertical offset distance in device units (baseline -> default overbar position)
double barOffset = aFontMetrics.GetOverbarVerticalPosition( overbar.fontSize.y );
// Adjust further for outline fonts
// Adjust further to match screen drawing. This is somewhat disturbing, but I can't figure
// out why it's needed.
if( overbar.isOutline )
barOffset += overbar.fontSize.y * 0.25; // extra raise for outline font
barOffset += overbar.fontSize.y * 0.16;
else
barOffset += overbar.fontSize.y * 0.32;
// Mirror the text vertical alignment adjustments used for baseline shifting.
// Earlier logic scales baseline adjustment: CENTER ~2x, TOP ~4x. We apply proportional