Skip to content
This repository has been archived by the owner on Nov 10, 2018. It is now read-only.

VLC titles/subtitles use the system default sans-serif without fallback #5

Closed
13rac1 opened this issue Mar 1, 2016 · 2 comments
Closed

Comments

@13rac1
Copy link
Owner

13rac1 commented Mar 1, 2016

VLC assumes (reasonably) the default sans-serif system font has a full character set. The result on Linux, when Emoji One Color is the default font, is that all titles/subtitles appear as missing/error characters.

vlc font without fallback

@13rac1
Copy link
Owner Author

13rac1 commented Mar 1, 2016

The solution is to specifically select any other font for subtitles in VLC.

  1. Click Tools menu
  2. Click Preferences option
  3. Click Subtitles / OSD button/tab
  4. Subtitle effects section, select a font
  5. Save.

Result:
vlc with font selected

Other non-viable (I think) solutions:

  • Remove the characters Emoji One Color overrides from DejaVu Sans
  • Specify font fallback per unicode character. I don't think this is possible right now

@13rac1 13rac1 closed this as completed Mar 1, 2016
13rac1 added a commit that referenced this issue Mar 1, 2016
VLC assumes (reasonably) the default sans-serif system font has a full
character set. The result on Linux, when Emoji One Color is the default
font, is that all titles/subtitles appear as missing/error characters.

The solution is to specifically select any other font for subtitles in VLC.

    Click Tools menu
    Click Preferences option
    Click Subtitles / OSD button/tab
    Subtitle effects section, select a font
    Save.

#5
13rac1 added a commit that referenced this issue Mar 17, 2016
The DejaVu font family is based on the Bitstream Vera font family to provide
greater unicode coverage. The only way to override the emoji it includes is
to make the emoji font the primary system font. This shouldn't be a problem,
but a number of programs do not correctly use font fallback resulting in font
rendering errors everywhere: #1, #5, #16, #18, #19.

This font.conf makes Bitstream Vera the default font for Serif, Sans-Serif,
and Monospace font requests since it does not contain any Unicode Emoji
characters. Emoji One Color font is the first fallback, followed by DejaVu
to provide everything else.

Test with:
fc-match -s serif
fc-match -s sans-serif
fc-match -s monospace

May be the solution for #17
@13rac1
Copy link
Owner Author

13rac1 commented Mar 17, 2016

I've confirmed 24b6539 fixes this

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant