Summary
Worksheet drawing text runs that omit an explicit typeface do not inherit the workbook theme font. Excel renders the three shape labels with the theme's minor Latin sans-serif font, while office2pdf renders them with the Typst serif default.
Found while re-auditing the regression fixture in #434 at 150 DPI against a native Microsoft Excel export.
Reproduction
Convert tests/fixtures/xlsx/theme_color_drawing.xlsx from PR #434 and compare it with a native Excel PDF.
The drawing runs intentionally contain only language and size:
<a:rPr lang="en-US" sz="1100"/>
The workbook theme declares:
<a:minorFont><a:latin typeface="Calibri"/></a:minorFont>
Expected
Drawing labels inherit the applicable DrawingML theme font (Calibri minor Latin in this fixture), or a metric-compatible sans-serif fallback when unavailable.
Actual
accent1, accent1 lighter 60, and accent6 shade 75 render in a serif face. This changes glyph shapes and metrics despite the labels, 11pt size, regular weight, black color, and center alignment otherwise being preserved.
Root-cause evidence
parse_drawing_text_boxes currently reads sz, b, and i from a:rPr, but it neither parses explicit DrawingML typefaces nor resolves omitted typefaces through the workbook theme's font scheme. The resulting TextStyle.font_family is unset.
Visual checklist
Related: #240, #329, #430, #434
Summary
Worksheet drawing text runs that omit an explicit typeface do not inherit the workbook theme font. Excel renders the three shape labels with the theme's minor Latin sans-serif font, while office2pdf renders them with the Typst serif default.
Found while re-auditing the regression fixture in #434 at 150 DPI against a native Microsoft Excel export.
Reproduction
Convert
tests/fixtures/xlsx/theme_color_drawing.xlsxfrom PR #434 and compare it with a native Excel PDF.The drawing runs intentionally contain only language and size:
The workbook theme declares:
Expected
Drawing labels inherit the applicable DrawingML theme font (Calibri minor Latin in this fixture), or a metric-compatible sans-serif fallback when unavailable.
Actual
accent1,accent1 lighter 60, andaccent6 shade 75render in a serif face. This changes glyph shapes and metrics despite the labels, 11pt size, regular weight, black color, and center alignment otherwise being preserved.Root-cause evidence
parse_drawing_text_boxescurrently readssz,b, andifroma:rPr, but it neither parses explicit DrawingML typefaces nor resolves omitted typefaces through the workbook theme's font scheme. The resultingTextStyle.font_familyis unset.Visual checklist
Related: #240, #329, #430, #434