From ff2aed2b56e43665e2b10acf06fa107877799bec Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 25 Sep 2019 22:11:39 +0200 Subject: sub: make font provider user-selectable libass had an API to configure this since 2013. mpv always used ASS_FONTPROVIDER_AUTODETECT, because usually there's little reason to use anything else. The intention of the now added option is to allow users to disable use of system fonts. I didn't consider it worth the trouble to add the coretext and directwrite enum items from ASS_DefaultFontProvider. The "auto" choice will have the same effect if they're available. Also, the part of the code which defines the option does not necessarily have libass available (it's still optional!), so defining all enum items as choices is icky. I still added fontconfig, since that may be nice to emulate a nostalgic 2010 feeling of mpv freezing on fontconfig. The option for OSD is even less useful. (But you get it for free, and why pass up a chance to add yet another useless option?) This is not quite what was requested in #6947, but as close as it gets. --- DOCS/man/options.rst | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'DOCS/man') diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 987746aeb0..68bc01eafd 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -1969,9 +1969,9 @@ Subtitles Default: no. -``--embeddedfonts``, ``--no-embeddedfonts`` +``--embeddedfonts=`` Use fonts embedded in Matroska container files and ASS scripts (default: - enabled). These fonts can be used for SSA/ASS subtitle rendering. + yes). These fonts can be used for SSA/ASS subtitle rendering. ``--sub-pos=<0-100>`` Specify the position of subtitles on the screen. The value is the vertical @@ -2461,6 +2461,20 @@ Subtitles If the video stream contains no closed captions, or if no video is being decoded, the CC track will remain empty and will not show any text. +``--sub-font-provider=`` + Which libass font provider backend to use (default: auto). ``auto`` will + attempt to use the native font provider: fontconfig on Linux, CoreText on + OSX, DirectWrite on Windows. ``fontconfig`` forces fontconfig, if libass + was built with support (if not, it behaves like ``none``). + + The ``none`` font provider effectively disables system fonts. It will still + attempt to use embedded fonts (unless ``--embeddedfonts=no`` is set; this is + the same behavior as with all other font providers), ``subfont.ttf`` if + provided, and fonts in the ``fonts`` sub-directory if provided. (The + fallback is more strict than that of other font providers, and if a font + name does not match, it may prefer not to render any text that uses the + missing font.) + Window ------ @@ -3625,6 +3639,10 @@ OSD This option is somewhat experimental and could be replaced by another mechanism in the future. +``--osd-font-provider=<...>`` + See ``--sub-font-provider`` for details and accepted values. Note that + unlike subtitles, OSD never uses embedded fonts from media files. + Screenshot ---------- -- cgit v1.2.3