Offer missing document fonts before conversion
Maintainer thường phản hồi trong vòng 1 ngày
@Perricheno đang làm issue này rồi.
Từ ngày 22/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
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:
- Keep the conversion in the bottom-right progress card and pause before the final render.
- Show the missing families and the replacements Filee would use, for example:
Times New Roman → Liberation Serif. - Offer Get fonts, Continue with replacements, and Cancel.
- 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-fontsoption 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.
- Ngôn ngữ chính
- C#
- Star
- 3.6k
- Fork
- 192
- Merge trung bình
- 5 giờ 40 phút
- Pull request đã merge (30 ngày)
- 210
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của KnifeLemon/Filee
-
[Bug] Interactive toggle inside Theme preview card is completely unresponsive in SettingsCó thể đã có người làm @Saad-elnagar đã nhận 1 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
KnifeLemon/Filee#363 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Format request: .midĐang mởformats
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
KnifeLemon/Filee#501 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: 转换一个ansi中文txt文件到pdf,全部中文乱码成韩文。Có thể đã có người làm @cre8ive-marketing đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 25/100
KnifeLemon/Filee#491 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Format request: .vid to .mp4Đang mởformats
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 48/100
KnifeLemon/Filee#490 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
CAD: choose the DWG/DXF version to write (e.g. AutoCAD 2013)Có thể đã có người làm @cre8ive-marketing đã nhận hôm nay. Đang mởenhancement
KnifeLemon/Filee#489 · 3 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của KnifeLemon/Filee
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Nimblesite/SharpLsp#468 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
elastic/ecs-dotnet#575 ·
-
V4 alert-rule reads have no scope gate, so any authenticated credential can list alert rulesĐang mởalerts bug effort:S P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
nightscout/nocturne#2511 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Crash in v3.00Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
arkane-systems/mousejiggler#140 ·