Skip to content

Print dialog

Maxim Iorsh edited this page Oct 1, 2025 · 18 revisions

Preview tab

Everything is measured in points (1/72 inch), scaled to selected paper size. Preview panel displays page scaled according to dialog size, pixel size not guaranteed. Result eventually meant for printing.

  • Font name selection - remove. Current UI convention is to show only the current document.
  • AA (antialiasing) - remove. The smoothing techniques have advanced, there is ClearType. We can't really know how the font would look on different devices and systems, and there is no performance issue anymore. Just let Cairo and FreeType do their magic.
  • Format (pfb, otf, ttf etc) - remove. Pfb is dead, otf/ttf should be decided by outline format (2D or 3D splines). Replaced by "Rendering method".
  • Rendering method - consider adding selection [Cairo / FreeType without hinting / FreeType with hinting]. Does if affect resulting PDF?
  • Shaper - add dropdown
  • Features, languages - keep for shaper
  • [Full font display / full page glyph / sample text] - add selection. Multisize glyphs irrelevant for scalable printing.
  • Size (pointsize) - mention points explicitly, applies to Full Font Display
  • Text - keep small edit widget with pop-down multiline edit. Currently multiline edit supports rich text and OT feature selection per text interval.
  • Hamburger button for pop-up menu. What are the items? open-menu-symbolic, see GtkMenuButton widget
  • DPI - remove, irrelevant for scalable printing.
  • Refresh - remove, should be immediate and automatic.
  • Setup - remove, now part of system printing tab.

Display tab

Shows font as expected to appear on screen. Glyph size driven by pixels.

  • Antialiasing - not needed, will be part of rendering method
  • Rendering method - [Cairo / FreeType without hinting / FreeType with hinting]
  • Font display
    • Multisize display (same glyph in many sizes)
    • Multisize display (same line in multiple sizes)
    • Sample text
  • Text
  • Size (pixel size) - mention pixels explicitly, editable for sample text only

Todos

  • rich text size
  • rich text weight
  • rich text remove all formatting
  • rich text decode escape sequences
  • rich text select applicable controls
  • harfbuzz
  • language + features
  • vertical text
  • glyph display scaling modes
  • paste rich text
  • save and load rich text - RichTextManager
  • rich text menu: undo/cut/copy/paste/save as/import/save random/save as image
  • refactor cairo printer pagination / page draw
  • Fix rendering of horizontal line
  • CSS (including tooltips)
  • show glyph selection only

Notes

Print UI documentation: https://fontforge.org/docs/ui/dialogs/display.html

Windows legacy dialog enable: https://www.winhelponline.com/blog/restore-legacy-print-dialog-windows-11/

reg add "HKCU\Software\Microsoft\Print\UnifiedPrintDialog" /v "PreferLegacyPrintDialog" /d 1 /t REG_DWORD /f

Ctrl+Shift+S screenshot functionality not needed. System tools should be used instead.

Clone this wiki locally