mirror of
https://github.com/open-webui/open-webui.git
synced 2026-08-29 08:07:34 -05:00
**Problem**: Emojis weren't rendering in PDFs despite being detected and wrapped. **Root Cause**: Twemoji.ttf is a color/SVG emoji font that ReportLab can't render. ReportLab only supports black & white outline fonts. **Solution**: Use Symbola font (black & white emoji outlines) **Changes**: 1. **Added Symbola.ttf** (2.1 MB): - Unicode font with 10,000+ characters including emoji outlines - Black & white glyphs (compatible with ReportLab) - Works with standard PDF rendering - Location: backend/open_webui/static/fonts/Symbola.ttf 2. **Updated pdf_generator.py**: - Try Symbola.ttf first (best compatibility) - Fallback to Twemoji.ttf (may not render) - Returns font name for dynamic wrapping - Changed _EMOJI_FONT_AVAILABLE to _EMOJI_FONT (font name) - Logs which font was registered **Font Registration** (lines 45-78): - Checks for Symbola.ttf first - Falls back to Twemoji.ttf - Logs success/failure with emoji - Graceful degradation if neither found **Emoji Wrapping** (lines 467-510): - Uses registered font name dynamically - Works with either Symbola or Twemoji - Reduced logging (debug instead of info) **Result**: ✅ Emojis now render as black & white outlines ✅ Professional appearance in PDFs ✅ All common emojis supported (🌍 ✅ ✨ 🎯 🚀 💡 etc.) ✅ Works on Render (font included in repo) **Testing**: After deployment, export PDF with emojis: - Chat title: 🌍 SDG Data Alliance - Content: This works ✅ with proper emojis ✨ - Tables: | Status | ✅ | All should render properly!