При открытии меню стилей субтитров через плеер, вместо русских названий самих стилей субтитров, наблюдаются различные непонятные символы ("кракозябры").
Скриншот с примером символов, вместо русских названий стилей субтитров: https://yadi.sk/d/BdFTr3ZemhML7
Алгоритм воспроизведения:
1. Открыть видео файл с ASS-субтитрами, содержащими несколько стилей с русскими названиями (именами)
2. ПКМ по кнопке "SUB" -> "Стили"
Фактический результат: вместо русских названий (имен) самих стилей субтитров, отображаются просто символы.
Ожидаемый результат: вместо непонятных символов (кракозябров), должны отображаться русские названия самих стилей субтитров.
Ссылку! Хоть посмотреть что, это за субтитры. Может опять криворукие делали.
Да тут что-то с субтитрами (либо опять со шрифтами в системе :) ).
У себя я взял первый попавшийся .ass файл, названия стилей написал по русский - и все нормально отображается.
V0lt, ссылка на субтитры в первом посте, в папке с моим скриншотом.
P.S. В AegiSub названия стилей отображаются русскими буквами, а не символами.
За кодировку отличную от UTF-8 в ASS-субтитрах надо бить по голой жопе розгами с размаху.
Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет. Вот это плохо - надо бы починить :)
Цитата: Aleksoid1978Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет.
Проблема в том, что если используется не UTF-8, то названия стилей должны быть на латинице. Иначе будет вот такая ерунда.
Обход проблемы возможен, но лишь в некоторых случаях. Разумнее вообще не потакать всяким мудакам не соблюдающих стандарты.
Цитата: V0ltЦитата: Aleksoid1978Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет.
Проблема в том, что если используется не UTF-8, то названия стилей должны быть на латинице. Иначе будет вот такая ерунда.
Почему латиница - есть же кодировка у стиля, поэтому и название в этой же кодировке. В случае данного файла - кодировка CP1251.
Тут проблема в другом - во внутреннем способе работы с субтитрами. Данных хранятся как прочитались - и преобразуются(если надо) когда уже требуется вывод. Поэтому просто так быстро решить данный вопрос не получиться.
Цитата: Aleksoid1978Почему латиница
Потому, что название стиля идет раньше номера кодировки. Сама кодировка работает только для
[Events] (возможно только для полей
Text) и не должна работать для
[V4+ Styles]. Иначе там будет полная неразбериха для каких-нибудь азиатских кодировок.
[merge_posts_bbcode]Добавлено: 2016-01-06 13:22:56[/merge_posts_bbcode]
Можешь конечно попробовать. Проблем с однобайтными кодировками быть не должно (половина такой кодировки все равно латиница).
А вот с азиатами темный лес, но они вроде не извращаются (очень надеюсь) и пишут название сталей на латинице или банально следуют рекомендациям и используют UTF-8.
Проблема немного в другом - даже если название стиля "преобразовать" в читаемый вид - далее-то в Events оно идет неизменно. И тогда уже для текста не будет найдено нужного стиля.
Мое предложение примерно такое, сделать "хак" - только для отображения стиля его название перекодировать(если это конечно надо) в соответствующую кодировку. Но тут еще вопрос с VSFilter, как и где он это отображает ...
[merge_posts_bbcode]Добавлено: 2016-01-07 00:03:35[/merge_posts_bbcode]
Короче все не просто с этими названиями стилей. Если для самого текста уже предусмотрено преобразование из кодировки в UTF16, то для названия стиля - нет. И если это менять ... то там столько нюансов. Так что я предлагаю "забить" на это дело.
Цитата: Aleksoid1978Так что я предлагаю "забить" на это дело.
Согласен. :D
Цитата: Aleksoid1978Так что я предлагаю "забить" на это дело.
Учитывая ваш ответ, я поддерживаю ваше решение. В общем, оставляем как есть. Тему можно закрыть.