MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Тема начата: Evgeniy1990 от 06 января 2016, 11:34:38

Название: Символы, вместо русских названий стилей субтитров
Отправлено: Evgeniy1990 от 06 января 2016, 11:34:38
При открытии меню стилей субтитров через плеер, вместо русских названий самих стилей субтитров, наблюдаются различные непонятные символы ("кракозябры").

Скриншот с примером символов, вместо русских названий стилей субтитров: https://yadi.sk/d/BdFTr3ZemhML7

Алгоритм воспроизведения:

1. Открыть видео файл с ASS-субтитрами, содержащими несколько стилей с русскими названиями (именами)
2. ПКМ по кнопке "SUB" -> "Стили"

Фактический результат: вместо русских названий (имен) самих стилей субтитров, отображаются просто символы.
Ожидаемый результат:  вместо непонятных символов (кракозябров), должны отображаться русские названия самих стилей субтитров.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: V0lt от 06 января 2016, 11:41:33
Ссылку! Хоть посмотреть что, это за субтитры. Может опять криворукие делали.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: Aleksoid1978 от 06 января 2016, 11:47:11
Да тут что-то с субтитрами (либо опять со шрифтами в системе :) ).

У себя я взял первый попавшийся .ass файл, названия стилей написал по русский - и все нормально отображается.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: Evgeniy1990 от 06 января 2016, 11:48:50
V0lt, ссылка на субтитры в первом посте, в папке с моим скриншотом.

P.S. В AegiSub названия стилей отображаются русскими буквами, а не символами.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: V0lt от 06 января 2016, 12:00:34
За кодировку отличную от UTF-8 в ASS-субтитрах надо бить по голой жопе розгами с размаху.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: Aleksoid1978 от 06 января 2016, 12:14:38
Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет. Вот это плохо - надо бы починить :)
Название: Символы, вместо русских названий стилей субтитров
Отправлено: V0lt от 06 января 2016, 12:22:16
Цитата: Aleksoid1978Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет.
Проблема в том, что если используется не UTF-8, то названия стилей должны быть на латинице. Иначе будет вот такая ерунда.
Обход проблемы возможен, но лишь в некоторых случаях. Разумнее вообще не потакать всяким мудакам не соблюдающих стандарты.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: Aleksoid1978 от 06 января 2016, 12:46:31
Цитата: V0lt
Цитата: Aleksoid1978Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет.
Проблема в том, что если используется не UTF-8, то названия стилей должны быть на латинице. Иначе будет вот такая ерунда.

Почему латиница - есть же кодировка у стиля, поэтому и название в этой же кодировке. В случае данного файла - кодировка CP1251.

Тут проблема в другом - во внутреннем способе работы с субтитрами. Данных хранятся как прочитались - и преобразуются(если надо) когда уже требуется вывод. Поэтому просто так быстро решить данный вопрос не получиться.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: V0lt от 06 января 2016, 13:22:56
Цитата: Aleksoid1978Почему латиница
Потому, что название стиля идет раньше номера кодировки. Сама кодировка работает только для [Events] (возможно только для полей Text) и не должна работать для [V4+ Styles]. Иначе там будет полная неразбериха для каких-нибудь азиатских кодировок.
[merge_posts_bbcode]Добавлено: 2016-01-06 13:22:56[/merge_posts_bbcode]

Можешь конечно попробовать. Проблем с однобайтными кодировками быть не должно (половина такой кодировки все равно латиница).
А вот с азиатами темный лес, но они вроде не извращаются (очень надеюсь) и пишут название сталей на латинице или банально следуют рекомендациям и используют UTF-8.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: Aleksoid1978 от 06 января 2016, 17:03:35
Проблема немного в другом - даже если название стиля "преобразовать" в читаемый вид - далее-то в Events оно идет неизменно. И тогда уже для текста не будет найдено нужного стиля.

Мое предложение примерно такое, сделать "хак" - только для отображения стиля его название перекодировать(если это конечно надо) в соответствующую кодировку. Но тут еще вопрос с VSFilter, как и где он это отображает ...
[merge_posts_bbcode]Добавлено: 2016-01-07 00:03:35[/merge_posts_bbcode]

Короче все не просто с этими названиями стилей. Если для самого текста уже предусмотрено преобразование из кодировки в UTF16, то для названия стиля - нет. И если это менять ... то там столько нюансов. Так что я предлагаю "забить" на это дело.
Название: Символы, вместо русских названий стилей субтитров
Отправлено: V0lt от 06 января 2016, 17:29:27
Цитата: Aleksoid1978Так что я предлагаю "забить" на это дело.
Согласен. :D
Название: Символы, вместо русских названий стилей субтитров
Отправлено: Evgeniy1990 от 06 января 2016, 20:04:37
Цитата: Aleksoid1978Так что я предлагаю "забить" на это дело.
Учитывая ваш ответ, я поддерживаю ваше решение. В общем, оставляем как есть. Тему можно закрыть.