html: add a generic fallback family to font-family
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 74/100
Rechercherichtung
Start in src/odr/internal/html/document_document_style.cpp-adjacent code: src/odr/internal/html/document_style.cpp, functions translate_text_style and translate_block_font_style, where font-family:<name>; is emitted. Trace where font data comes from to find ODF style:font-family-generic and docx w:family (inside w:font), then add quoted-name-plus-generic output with a small well-known-fonts table defaulting to sans-serif. Done means every emitted font-family has a quoted name and generic fallback, checked against the reference-output comparison that flagged xlsx Calibri cells.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The HTML output writes font-family:<name>; with the font name of the document only (translate_text_style and translate_block_font_style in src/odr/internal/html/document_style.cpp). The value has no generic fallback family.
If the font is not installed, the browser uses its default font, which is usually a serif font. A spreadsheet in Calibri then renders in Times. Excel and LibreOffice replace a missing font with a font of the same kind.
Proposal:
- Add a generic family after the name, for example
font-family:"Calibri",sans-serif. - Pick
serif,sans-seriformonospacefrom the font data if the document gives it (style:font-family-genericin ODF,w:familyinw:fontfor docx). Else use a small table of well-known names, and usesans-serifas the default. - Quote the name, so a name with special characters stays one family.
The v7.4.0 → v7.5.0 reference-output check found this on xlsx cells that now get their Calibri font from the row or column style. This is not a regression, because cells with their own Calibri style had the same problem before.
🤖 Generated with Claude Code
- Vorherrschende Sprache
- C++
- Sterne
- 41
- Forks
- 10
- Ø Merge
- 12 Std. 4 Min.
- Gemergte PRs (30 T.)
- 297
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus opendocument-app/OpenDocument.core
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
opendocument-app/OpenDocument.core#1211 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
opendocument-app/OpenDocument.core#1210 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
opendocument-app/OpenDocument.core#1209 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
opendocument-app/OpenDocument.core#1208 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
opendocument-app/OpenDocument.core#1207 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in opendocument-app/OpenDocument.core
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
foxglove/mcap#1907 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
telegramdesktop/tdesktop#31505 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
ll-builder shell completions omit existing lockfile commands and --lockedEvtl. vergeben @project-nju-learner hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 90/100
OpenAtom-Linyaps/linyaps#2291 ·
Maintainer antworten meist innerhalb von 1 Tag