Краткие выводы
- В файлах субтитров хранится обычный текст. Строки на экране рисует видеоплеер, поэтому один и тот же файл SRT в одной программе выглядит нормально, а в другой съезжает.
- У знаков препинания и цифр нет своего направления письма. Они подстраиваются под соседние буквы и перескакивают, когда строка заканчивается английским словом.
- Сохраняйте субтитры только в кодировке UTF-8. В других кодировках буквы иврита и арабского превращаются в знаки вопроса или кракозябры.
- Проверяйте готовый файл в том плеере, где его будут смотреть зрители, а сам текст правьте еще до экспорта.
- Если площадка не умеет нормально показывать внешний файл субтитров, вшейте их прямо в кадр при рендере видео.
Почему знаки препинания оказываются не с той стороны?
На иврите и арабском пишут справа налево, а вот числа и латинские буквы внутри такой строки все равно читаются слева направо. Чтобы собрать смешанную строку, все программы пользуются одним стандартом, двунаправленным алгоритмом Unicode (Unicode Bidirectional Algorithm). У букв направление задано жестко. Пробелы, запятые, точки, кавычки и скобки нейтральны, поэтому они берут направление у соседних букв.1
Все ломается, когда нейтральный знак оказывается на границе двух направлений. Типичный пример: фраза на иврите заканчивается английским названием бренда и точкой. Точка идет сразу за латиницей, поэтому движок верстки ставит ее в левый край строки, а не в конец предложения. Сам файл в порядке, просто программе пришлось угадывать, куда деть знак.
Какие поломки встречаются чаще всего?
Чаще всего знаки препинания улетают в другой конец строки. Обычно это случается после английских слов, цифр или закрывающей скобки. Вторая беда: числа со знаком процента или валюты меняются местами. Третья: диапазоны чисел и таймкоды вроде 10:30 нормально читаются на одной строке, но переворачиваются, если разбить их на две.
Четвертая проблема возникает, когда в тексте смешиваются разные алфавиты. Английское имя посреди фразы на иврите само по себе выглядит нормально, но может поменять местами слова вокруг себя. Точно так же ведут себя описания звуков в квадратных скобках, имена спикеров с двоеточием и значки музыкальных нот, потому что из-за них на краю строки оказываются нейтральные символы.
Как поправить строку субтитров перед экспортом
Сначала попробуйте изменить саму формулировку. Если в конце строки оказалось английское слово, поменяйте порядок слов так, чтобы она заканчивалась ивритом или арабским, либо уберите знак препинания от латиницы. Часто хватает мелкой правки, например добавить слово на иврите после названия бренда, и отображение выравнивается сразу во всех плеерах.
Если менять текст нельзя, поставьте невидимый символ Unicode, который задает направление письма. Он прямо указывает программе, в какую сторону развернуть нейтральный знак. Поставьте маркер письма справа налево в самом конце строки, сразу за точкой, и он привяжет пунктуацию к основному тексту. Консорциум W3C советует делать так на веб-страницах, и в файлах субтитров этот прием работает точно так же.2
Пишите короче, как мы разбирали в руководстве по скорости чтения и длине строк в субтитрах. В короткой фразе смешанному тексту просто реже есть где сломаться, да и перенос на две строки контролировать куда проще.
Влияют ли формат файла и кодировка?
Да, и прежде всего кодировка. Всегда сохраняйте файл в UTF-8. Если в файле SRT на иврите или арабском вместо букв вылезли вопросы или кракозябры, его почти наверняка сохранили или открыли в старой кодировке. Откройте его заново как UTF-8 или еще раз экспортируйте из редактора субтитров.
В файле SRT лежат только текст и таймкоды. Формат VTT создавали для веба по спецификации W3C, и в нем можно дополнительно задавать положение и стиль строк. Но двунаправленный текст оба формата обрабатывают по одним и тем же правилам, поэтому все способы из этой статьи работают и в SRT, и в VTT.3
KolWrite экспортирует файлы SRT и VTT из отредактированной расшифровки с правильным направлением письма справа налево для иврита и арабского. Сначала поправьте текст в самой расшифровке, а потом выгружайте файл, чтобы все исправления сразу попали в экспорт.
Как проверить готовый файл
Откройте готовый файл именно в том плеере, где ролик будут смотреть зрители: в соцсети, веб-плеере, галерее телефона или на таймлайне монтажной программы. Разные плееры выводят текст справа налево по-своему. Файл, который ровно лег в одном приложении, для другого иногда приходится чуть подправить.
Внимательнее всего проверяйте три места, где верстка слетает чаще всего: строки с английским словом на конце, строки с цифрами или символами и фразы, разбитые на две строки. Смотрите видео со звуком. Бывает, что на глаз строка выглядит нормально, но уже разошлась с речью в кадре.
Когда лучше вшить субтитры в видео
Если площадка криво показывает внешние файлы субтитров или вам нужно точно зафиксировать шрифт и положение текста на экране, вшейте субтитры прямо в видео. Буквы станут частью картинки, и на любом устройстве верстка будет выглядеть одинаково. Расплата за это понятная: зритель не сможет выключить субтитры, сделать их крупнее или переключить язык.
Удобнее всего сразу готовить оба варианта. Чистый файл SRT или VTT пойдет на площадки, где нормально работают скрытые субтитры, а ролик со вшитым текстом пригодится для всех остальных. В KolWrite оба формата выгружаются из одной и той же расшифровки, так что вычитывать текст придется всего один раз.
Как это реализовано в KolWrite
Частые вопросы
Почему в субтитрах на иврите точка оказывается слева?
Скорее всего, в конце строки стоят английские буквы или число. У знаков препинания нет своего направления письма, они подстраиваются под соседние символы. Перепишите фразу так, чтобы в конце стояло слово на иврите, или поставьте после точки маркер письма справа налево.
В какой кодировке сохранять файлы SRT на иврите и арабском?
Сохраняйте в UTF-8. Старые кодировки не вмещают все буквы иврита и арабского алфавита и часто подменяют их знаками вопроса или нечитаемыми символами.
Правда ли, что для языков с письмом справа налево формат VTT лучше, чем SRT?
С направлением письма оба формата работают одинаково, по одним и тем же правилам Unicode. В VTT можно дополнительно настроить положение и оформление строк, поэтому выбор зависит только от того, где вы будете крутить видео.
Можно ли поправить порядок знаков препинания прямо в видеоплеере?
Обычно нет. Плеер просто показывает тот текст, который ему дали. Надежнее поправить сам текст субтитров, а потом проверить готовый файл в нужном плеере.
Спасают ли вшитые субтитры от проблем с версткой?
Да, потому что при экспорте текст впекается прямо в кадры видео. Но перед рендером верстку все равно нужно вычитать глазами, а зрители потом не смогут отключить такие субтитры.