Bug 157276 - [UI] Presenter mode does not use system font
Summary: [UI] Presenter mode does not use system font
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.6.0.3 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Presenter-Console
  Show dependency treegraph
 
Reported: 2023-09-16 18:23 UTC by Faisal
Modified: 2025-05-15 17:16 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Faisal 2023-09-16 18:23:54 UTC
Description:
The UI font for the presenter mode interface does not use the system UI font set by the desktop environment.

Steps to Reproduce:
1. Open presenter mode in any presentation.

Actual Results:
Presenter mode UI uses a font that looks like DejaVu Sans (I cannot be sure).

Expected Results:
UI uses the system font set by the desktop environment, just like other parts of the LO UI.


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 7.6.0.3 (X86_64) / LibreOffice Community
Build ID: 60(Build:3)
CPU threads: 4; OS: Linux 6.1; UI render: default; VCL: kf5 (cairo+wayland)
Locale: en-US (en_US.UTF-8); UI: en-US
7.6.0-3
Calc: threaded
Comment 1 Faisal 2023-09-16 18:25:08 UTC
UX team, please have a look at this enhancement. Thank you.
Comment 2 Heiko Tietze 2023-09-18 10:57:52 UTC
Why do you expect the system font? Sounds like a design wish rather an issue.
Comment 3 Faisal 2023-09-19 08:37:39 UTC
I have now marked this as an enhancement. But to me, using a non-system font breaks user expectation when the rest of the UI everywhere uses system font from menus to toolbars.
Comment 4 Heiko Tietze 2023-09-28 09:36:46 UTC
We discussed the topic in the design meeting.

Looking into the code it seems the presenter console has a lot of room for customization. It should be possible to set background image/color, font size, name, color etc. via registry - and consequently allowing to set a theme per extension.

The fallback is however to use Tahoma.

PresenterTheme::FontDescriptor::CreateFont() {
...
  if (msFamilyName.isEmpty())
     aFontRequest.FontDescription.FamilyName = "Tahoma";

And the majority of participants agree on the request to use the system font as long nothing is defined per theme.
Comment 5 Michael Weghorn 2025-05-15 17:16:25 UTC
(In reply to Heiko Tietze from comment #4)
> We discussed the topic in the design meeting.
> 
> Looking into the code it seems the presenter console has a lot of room for
> customization. It should be possible to set background image/color, font
> size, name, color etc. via registry - and consequently allowing to set a
> theme per extension.
> 
> The fallback is however to use Tahoma.
> 
> PresenterTheme::FontDescriptor::CreateFont() {
> ...
>   if (msFamilyName.isEmpty())
>      aFontRequest.FontDescription.FamilyName = "Tahoma";
> 
> And the majority of participants agree on the request to use the system font
> as long nothing is defined per theme.

I agree using the system font by default makes sense.

Are all of these customization options considered relevant, i.e. something that needs to be kept in the long run?

I noticed this and much other complexity (like UNO abstraction everywhere) while looking into Presenter Console code as part of some accessibility work. I was wondering whether there is actually a real need to be able to customize all those things (fonts for the single panes, icons for each corner of the selection rectangle in the "Slides" view,...) or whether that was mostly done this way in the past because direct access to the standard VCL (and other) mechanism wasn't available for the Presenter Console back then because it wasn't part of LO core, but an extension, see commit

        commit ea91c7d90d74e1ca039ba669b5d3e14fa359c0fa
        Author: Stephan Bergmann
        Date:   Wed Nov 21 17:19:28 2012 +0100
    
            Turn presenter screen from bundled extension to plain code

that changed this long time ago.

At the moment, Presenter Console has its own implementation of a scrollbar, all buttons,... instead of using the standard VCL (or even weld) widgets, which has the side-effect of not looking like the rest of the UI, not supporting accessibility properly yet, being extra effort to maintain,...

Switching that to use standard VCL/weld widgets would certainly be quite some work in any case (and I'm not volunteering to do it at this point in time).

But being able to drop that customizability for all kind of "random" things would certainly help reduce complexity after all, and if that's considered a reasonable approach, would also make it easier to implement single feature requests like this one.

What do you think?