Символы, вместо русских названий стилей субтитров

Автор Evgeniy1990, 06 января 2016, 11:34:38

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Evgeniy1990

При открытии меню стилей субтитров через плеер, вместо русских названий самих стилей субтитров, наблюдаются различные непонятные символы ("кракозябры").

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

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

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

Фактический результат: вместо русских названий (имен) самих стилей субтитров, отображаются просто символы.
Ожидаемый результат:  вместо непонятных символов (кракозябров), должны отображаться русские названия самих стилей субтитров.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

Ссылку! Хоть посмотреть что, это за субтитры. Может опять криворукие делали.

Aleksoid1978

Да тут что-то с субтитрами (либо опять со шрифтами в системе :) ).

У себя я взял первый попавшийся .ass файл, названия стилей написал по русский - и все нормально отображается.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

V0lt, ссылка на субтитры в первом посте, в папке с моим скриншотом.

P.S. В AegiSub названия стилей отображаются русскими буквами, а не символами.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

За кодировку отличную от UTF-8 в ASS-субтитрах надо бить по голой жопе розгами с размаху.

Aleksoid1978

Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет. Вот это плохо - надо бы починить :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Цитата: Aleksoid1978Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет.
Проблема в том, что если используется не UTF-8, то названия стилей должны быть на латинице. Иначе будет вот такая ерунда.
Обход проблемы возможен, но лишь в некоторых случаях. Разумнее вообще не потакать всяким мудакам не соблюдающих стандарты.

Aleksoid1978

Цитата: V0lt
Цитата: Aleksoid1978Понятно что из-за кодировки, но вот в чем дело - сами субтитры отображаются нормально, а названия стилей нет.
Проблема в том, что если используется не UTF-8, то названия стилей должны быть на латинице. Иначе будет вот такая ерунда.

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

Тут проблема в другом - во внутреннем способе работы с субтитрами. Данных хранятся как прочитались - и преобразуются(если надо) когда уже требуется вывод. Поэтому просто так быстро решить данный вопрос не получиться.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

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

Можешь конечно попробовать. Проблем с однобайтными кодировками быть не должно (половина такой кодировки все равно латиница).
А вот с азиатами темный лес, но они вроде не извращаются (очень надеюсь) и пишут название сталей на латинице или банально следуют рекомендациям и используют UTF-8.

Aleksoid1978

Проблема немного в другом - даже если название стиля "преобразовать" в читаемый вид - далее-то в Events оно идет неизменно. И тогда уже для текста не будет найдено нужного стиля.

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

Короче все не просто с этими названиями стилей. Если для самого текста уже предусмотрено преобразование из кодировки в UTF16, то для названия стиля - нет. И если это менять ... то там столько нюансов. Так что я предлагаю "забить" на это дело.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Цитата: Aleksoid1978Так что я предлагаю "забить" на это дело.
Согласен. :D

Evgeniy1990

Цитата: Aleksoid1978Так что я предлагаю "забить" на это дело.
Учитывая ваш ответ, я поддерживаю ваше решение. В общем, оставляем как есть. Тему можно закрыть.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.