3 Embedded fonts dont work
Moritz Bunkus edited this page 2021-12-05 14:34:51 +00:00

Players don't use embedded fonts for subtitle playack

The problem

I've attached a TrueType font for use in my subtitles. It is referred to from the subtitles correctly, but the player doesn't show it anymore. This used to work with prior versions of MKVToolNix.

The answer

This can occur if a MIME type for a font is used that the player doesn't support. mkvmerge used to do this a while ago but doesn't anymore, so the problem should not occur.

Some people have noticed that their players (both hardware and software ones) might not use TrueType fonts attached to Matroska for subtitle playback while they used to do it earlier. Here's why.

Matroska files can contain attachments. Each attachment is identified by both a name and a UID. Its type, however, is specified via a MIME type.

Each time the user adds an attachment to the GUI the MIME type will be detected automatically. While the user can override this choice easily most don't bother.

The system used for automatic MIME type recognition is the well-known libmagic library which is part of the file utility. It is the standard library for MIME type detection on non-Unix systems and is also used in a wide variety of Windows programs.

Over the years there were several changes in which MIME type was detected by libmagic for fonts, mostly due to initially there being no actual standard for it, or the standards changing several times. Not all players support all MIME types.

If your player doesn't support whatever MKVToolNix uses, you can specify the MIME type yourself instead of relying on auto-detection. Additionally there's an option in the GUI (but not in mkvmerge itself) to use older MIME types (preferences → "GUI" → "Use legacy MIME types for font attachments").

Categories: playback