Design session about listing of fonts

classic Classic list List threaded Threaded
4 messages Options
Heiko Tietze-2 Heiko Tietze-2
Reply | Threaded
Open this post in threaded view
|

Design session about listing of fonts

Hi all,

font handling is a major nuisance [1]. Users struggle with font substitution, listing, and customization. For the first issue, the UX team made a proposal at [2] and now we want to discuss solutions for the other two topics. I presented first ideas at FOSDEM [3] that can be used as a draft.

Session will be on Friday 2018-Feb-16 at 7pm UTC (20:00 GMT+1) via Jitsi https://meet.jit.si/LibreOfficeDesign.

Everyone is welcome to join. Of course we will blog about the outcome.

Cheers,
Heiko

[1] https://bugs.documentfoundation.org/show_bug.cgi?id=102985
[2] https://design.blog.documentfoundation.org/2016/10/21/dealing-with-missing-fonts/
[3] https://de.slideshare.net/HeikoTietze/improvements-to-font-handling-in-libreoffice


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

signature.asc (499 bytes) Download Attachment
Caolán McNamara Caolán McNamara
Reply | Threaded
Open this post in threaded view
|

Re: Design session about listing of fonts

On Wed, 2018-02-14 at 20:50 +0100, Heiko Tietze wrote:
> I presented first ideas at FOSDEM [3] that can
> be used as a draft.
>
> [3] https://de.slideshare.net/HeikoTietze/improvements-to-font-
> handling-in-libreoffice

I believe the preview mock up previews the difference from the missing
font to the font its replaced with ? How would that get implemented in
the absence of the missing font ? Just for some small set of known
fonts with known metrics or something ?

As mostly an aside, but maybe worth mentioning to clarify how some of
this works under the hood, is that there is both "font substitution"
and "glyph substitution" going on. Font substitution is what's shown
here, LibreOffice asks for a font and gets a different one back because
the original is not available. IIRC the users overrides are used first
for font substitution, then under Linux fontconfig is asked. On the
other platforms the massive table of fonts listing in the config is
used to try and find something.

Added to the mix is the "Default" font which is listed in VCL.xcu and
is the font to use for various categories as the default document fonts
for a given language. These are lists per language and per category,
under fontconfig systems the first font is taken and if not available
fontconfig is asked for a replacement font based on the first entry,
which other platforms try the whole list until something crops up.

There are other substitution routes too, e.g. there's a specific route
to map known fonts to the closest matching font available in MSOffice,
e.g. when you write using Liberation Sans and save to .doc[x] the
recommended fallback of "Arial" is found on this route and set in those
file formats so the document gets rendered by MSOffice in Arial when
Liberation Sans is missing on the target system.

That's the relatively simple font substitution, in glyph substitution a
range of glyphs are discovered to not exist in the font (perhaps from
initial font substitution) at render time and libreoffice desperately
searches for something, anything, that can render the glyph. On windows
IIRC there's a bunch of hardcoded fonts to make an effort to find the
glyph in, while with fontconfig we throw the original font, missing
glyphs, size, slant, language etc at fontconfig and it does the work of
finding something. In extremis, if enabled, libreoffice will even
prompt via packagekit that a font for the language that the glyphs are
(probably) for get installed.

Which leads to straightforward things such as you can get a different
font for the missing glyphs if the language is Japanese vs Chinese. And
it can lead to awe inspiring things where different fonts are suggested
for the same missing glyphs at different sizes. You can even be asked
to substitute effectively the *same* font that the glyphs are missing
from, e.g. glyphs are missing from a bold font, but exist in the
regular version and fontconfig suggests using the regular version with
artificial emboldening. Glyph substitution is very exciting.
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Wols Lists Wols Lists
Reply | Threaded
Open this post in threaded view
|

Re: Design session about listing of fonts

On 14/02/18 21:05, Caolán McNamara wrote:
> As mostly an aside, but maybe worth mentioning to clarify how some of
> this works under the hood, is that there is both "font substitution"
> and "glyph substitution" going on. Font substitution is what's shown
> here, LibreOffice asks for a font and gets a different one back because
> the original is not available.

Very late to the party, sorry, but is there any way to add an easy
interface that will let the user know (a) that font substitution has
taken place, and (b) what font has been substituted?

I try and keep fonts in sync across my systems, but it's a regular
source of frustration.

Cheers,
Wol
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
htietze htietze
Reply | Threaded
Open this post in threaded view
|

Re: Design session about listing of fonts

Here is what the design team recommends https://design.blog.documentfoundation.org/2018/02/18/improvements-font-listing/

And of course the later the party the nicer the guests.

On 26.02.2018 19:07, Wols Lists wrote:

> On 14/02/18 21:05, Caolán McNamara wrote:
>> As mostly an aside, but maybe worth mentioning to clarify how some of
>> this works under the hood, is that there is both "font substitution"
>> and "glyph substitution" going on. Font substitution is what's shown
>> here, LibreOffice asks for a font and gets a different one back because
>> the original is not available.
>
> Very late to the party, sorry, but is there any way to add an easy
> interface that will let the user know (a) that font substitution has
> taken place, and (b) what font has been substituted?
>
> I try and keep fonts in sync across my systems, but it's a regular
> source of frustration.
>
> Cheers,
> Wol
>
--
Dr. Heiko Tietze
UX designer
Tel. +49 (0)179/1268509


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

signature.asc (499 bytes) Download Attachment