View Issue Details

IDProjectCategoryView StatusLast Update
0016838ScribusUser Interfacepublic2022-09-30 04:32
Reporterprof_milki Assigned To 
PrioritylowSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version1.5.7 
Summary0016838: Cache prerendered fonts for text properties selection dropdown
Description[This is more wishful thinking than a feature request.]
Fontconfig/Freetype are pretty slow in generating a list of font previews, which makes initial style selection or live adaptions somewhat tedious. (It's even more of an annoyance for Inkscape, TBH.)
So anyway, it would be awesome if there was a way to generate and reuse some prerendered/cached previews of installed fonts.

Since it's only mapping the default font names to rendered font previews, it really just pertains text properties or the story editor.
I'm assuming this would be a massive effort. Probably requires creating a bunch of PNGs for all installed fonts.
Not sure how much work it would realistically incur extending the dropdown CellRenderer. (And if ever, this should probably remain an optional feature.)
And yes, I realize that's likely why the font browser exists.
Steps To Reproduce1. Text properties [font selection⏷]
2. Scroll down
3. Wait 3 seconds.
4. Resume scrolling...
Additional Informationhttp://www.fifi.org/doc/libfreetype6/reference/ft2-cache_subsystem.html#FTC_ImageCache doesn't look like a worthwhile avenue.
Tagscaching, fontconfig, fonts, libfreetype
PatchNo

Activities

prof_milki

2022-08-29 20:05

reporter   ~0049753

Priority: homeopathic

This is clearly related to the number of fonts installed. In my case, getting rid of the barrage of Noto* fonts (Ubuntu setup) did alleviate the performance issue.
It's not gone, but very much in the realm of tolerable - with 0000233:0000400 fonts remaining (instead of a 1000 or so).
Thus the whole topic might pertain just DTP users with a high variance of installed or used fonts; instead of the average user.

Nonetheless, an alternative to convoluted font preview caching/storing/display, might be some form of nested dropdown. Specifically coalescing font family names, such as [Noto �] or [Roboto �] and similar such.
That's unlikely to be any less implementation overhead, and it's really just compensating for fontconfigs inability to alias fonttype serializations into common lookup names. (Doesn't look like it's feasible to combine <rejectfont> with <charset>-matches and <alias> there.)

cbradney

2022-09-27 20:33

administrator   ~0049773

Last edited: 2022-09-30 04:32

We already cache the drawn font images on their first creation

Issue History

Date Modified Username Field Change
2022-08-28 19:52 prof_milki New Issue
2022-08-28 19:52 prof_milki Tag Attached: caching
2022-08-28 19:52 prof_milki Tag Attached: fontconfig
2022-08-28 19:52 prof_milki Tag Attached: fonts
2022-08-28 19:52 prof_milki Tag Attached: libfreetype
2022-08-29 20:05 prof_milki Note Added: 0049753
2022-09-27 20:33 cbradney Note Added: 0049773
2022-09-30 04:32 cbradney Note Edited: 0049773