У меня было это с несколькими различными .ass субтитрами. Например, субтитры со стилем Plain with border
не отображались правильно в следующих субтитрах:
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Trebuchet MS,40,&H00E6F4FC,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
Style: Plain with border,Arial,30,&H00000000,&H000000FF,&H00FFFFFF,&H00000000,0,0,0,0,100,100,0,0,1,2,0,5,10,10,10,1
Это было исправлено путем изменения атрибута bold с 0 на -1 или просто полного удаления стилей. MPlayerX также правильно отображает эти субтитры.
Вы можете извлечь субтитры из mkv файлов с помощью mkvextract:
brew install mkvtoolnix
mkvextract tracks video.mkv -c UTF-8 3:subs.srt
Другой распространенной проблемой является то, что VLC показывает символы, которые не включены в шрифт субтитров по умолчанию, в виде прямоугольников. Это можно исправить, просто изменив шрифт по умолчанию. Вы также можете изменить модуль рендеринга текста на CoreText, но, на мой взгляд, он выглядит слишком тонким.