plugdata-team / plugdata

Pure Data as a plugin, with a new GUI
https://plugdata.org
GNU General Public License v3.0
1.59k stars 67 forks source link

More font options #1983

Open kamomehettapi opened 2 days ago

kamomehettapi commented 2 days ago

I noticed for theme settings the font option only affects UI font, stuffs like node font don't seem to be changed ?

And in source code there are a whole buncha more fonts appear to be hardcoded :

https://github.com/plugdata-team/plugdata/blob/2015c47a3fcbfa8146a7852209dd962c6b388d7f/Source/Utility/Fonts.h#L43C1-L49C125

Would be cool to beable to set node font to PD original for "authentic" feel :-)

Question however it seems the font setting is preserved even when you load one of the builtin themes (light, dark, max etc) should these font settings be embedded as part of theme or stay global setting ?

timothyschoen commented 2 days ago

Oh, the font not applying to object text is a bug! On it!

We can't replace all the fonts unfortunately, since fonts with multiple types (bold, semibold, thin, etc.) is a bit broken in JUCE, IIRC especially on Linux. That's why we have those hardcoded fonts for bold, etc.

kamomehettapi commented 2 days ago

Hmm , is that case even if you switch "default" font to something else ? Would that not cause incompatibility with hardcoded font ? Or do you need to explicit say "this font, and the fonts bold, and the fonts italic" separate for it to work ?

timothyschoen commented 2 days ago

Yeah, the default font only applies to regular text weight :(

kamomehettapi commented 2 days ago

It may be interesting (though inconvenient) to see if you do add N font options for "this font" and "same font typeface but bold/italic version" so user can specify themself

May offer more flexibility than hardcoding ? As a temp fix

timothyschoen commented 2 days ago

We could do that. I do think we have a bit many theming settings already. Plus, some text is drawn by nanovg, some text by JUCE, so that makes it even a bit trickier.