Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Offer missing document fonts before conversion

Cerrado
#413 2 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@Perricheno ya está trabajando en esto.

Desde el 22/10/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

enhancement

Problem

Office and HWPX documents can name fonts that are not installed on the computer. Filee currently substitutes them silently. The result may stay readable, but different font metrics can change wrapping, pagination and table layout. #409 prevents completely blank text when rhwp's own fallback fonts are absent, but it intentionally does not solve exact document typography.

Proposed flow

When a text-rendering step discovers missing families:

  1. Keep the conversion in the bottom-right progress card and pause before the final render.
  2. Show the missing families and the replacements Filee would use, for example: Times New Roman → Liberation Serif.
  3. Offer Get fonts, Continue with replacements, and Cancel.
  4. After fonts are installed, release the font cache, check the families again, and resume the same job. If some are still absent, keep the remaining list visible.

For freely licensed families, Filee can download a pinned archive with a checksum and install it per user. For proprietary families, it should not redistribute font files silently: Get fonts can open the official source or let the user choose font files they already obtained.

Non-interactive conversions

  • CLI: print the missing families and substitutions, then continue by default; a future --require-fonts option can fail instead.
  • Watch folders: use a saved continue/fail policy so an unattended job never waits forever.

Implementation notes

RhwpFonts.Plan already knows which families are absent and which replacements it chose. The missing piece is an interactive question on a ConversionJob/FileResult, rendered by ToastWindow, whose answer the running conversion can await. LibreOffice routes need an OOXML/HWPX preflight because substitution happens inside LibreOffice.

Acceptance cases

  • No prompt when every referenced family is installed.
  • A DOCX referencing absent Times New Roman/Calibri lists both before rendering.
  • Continuing produces the current fallback result.
  • Installing an available font refreshes discovery and resumes without restarting Filee.
  • Cancelling removes partial outputs.
  • CLI and watch-folder conversions never block on a GUI prompt.
Lenguaje dominante
C#
Estrellas
3.6k
Forks
192
Merge medio
7 h 3 min
PR fusionados (30 d)
244

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de KnifeLemon/Filee

Todos los issues de KnifeLemon/Filee

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.