a34eb5f56d
The HTML/puppeteer PDF renderer in artifacts/api-server/src/lib/pdf-html-renderer.ts mapped every branded sans family to NotoSansArabic-*.ttf — so even though the user picked "DIN Next LT Arabic" in settings, the embedded glyph shapes were Noto Sans Arabic. Same silent substitution applied to Tajawal, Helvetica Neue LT Arabic, and Majalla. (pdf-renderer.ts was already wired correctly to the real files in an earlier change; pdf-html-renderer.ts was missed.) Fix in pdf-html-renderer.ts FONT_FILES: DIN Next LT Arabic → DINNextLTArabic-Regular/Bold.ttf Tajawal → Tajawal-Regular/Bold.ttf Helvetica Neue LT Arabic → HelveticaNeueLTArabic-Regular/Bold.ttf Majalla → Majalla-Regular/Bold.ttf system → NotoNaskhArabic-Regular/Bold.ttf (unchanged) Helvetica Neue → HelveticaNeue-Regular/Bold.ttf (unchanged) All target .ttf files were already bundled in artifacts/api-server/assets/fonts/ — no asset changes needed. Updated the matching test assertions in artifacts/api-server/tests/executive-meetings.test.mjs so the DIN Next LT Arabic path now expects /DINNextLTArabic/ in the PDF bytes, and the Majalla path expects /Majalla/ instead of /NotoNaskhArabic/. Kept the negative assertion that Majalla never embeds a sans face. API workflow restarted clean. Mac rebuild: cd ~/Downloads/TX && git pull && docker compose up -d --build api