Удалить теги курсива
Или вставьте текст субтитров
Параметры
Одно поле, семь вариантов, и у каждого варианта своя страница. Курсив, жирный, подчёркивание и цвет удаляют один вид диапазона и оставляют остальное оформление строки. «Всё оформление» удаляет все диапазоны, которые моделирует инструмент, — эти четыре плюс караоке, — не трогая остальной текст. «Всё оформление + угловая разметка» делает то же самое и затем вычищает угловые разметки, оставшиеся в тексте, потому что инструмент их не моделирует: теги говорящего VTT вроде <v Bob> и <c.className>. «Всё оформление + блоки {...}» делает то же для блоков переопределения, очищая коды {...}, не распознанные при разборе, например {\fad(500,500)}. Эта страница заполняет поле вариантом, названным в её заголовке, и других не предлагает.
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Страница удаляет все диапазоны курсива из файла субтитров, не трогая слова. Текст возвращается точно таким, каким был набран: то же написание, те же знаки препинания, те же переносы строк и те же таймкоды — только без курсивной разметки. Это не конвертация и не переписывание: меняется лишь то, какие участки текста файл называл наклонными. В SRT, WebVTT, SBV и SAMI курсив записан парой «<i>» и «</i>», в ASS и SSA — кодами «{\i1}» и «{\i0}», в TTML — span-элементом с начертанием italic. Тег класса вроде «<c.lawyer>» остаётся: это имя, которое определяет таблица стилей страницы, а не диапазон курсива. Файл без курсива возвращается байт в байт.
Примеры
Закадровая речь в файле SRT
Вход
1
00:00:01,000 --> 00:00:02,000
<i>A voice off screen.</i> The door opens.
2
00:00:03,000 --> 00:00:04,000
<i>I can hear you.</i>
Выход
1
00:00:01,000 --> 00:00:02,000
A voice off screen. The door opens.
2
00:00:03,000 --> 00:00:04,000
I can hear you.
Уходят оба диапазона курсива, включая тот, что покрывает субтитр целиком, а текст второго субтитра не меняется. Там, где курсив стоял рядом с обычной репликой в одной строке, слова по сторонам смыкаются одним пробелом — так строка и выглядела для читателя.
Файл WebVTT, который несёт ещё и тег класса
Вход
WEBVTT
00:00:01.000 --> 00:00:02.000
<c.lawyer><i>The defendant was not present.</i></c>
Выход
WEBVTT
00:00:01.000 --> 00:00:02.000
<c.lawyer>The defendant was not present.</c>
Курсив уходит, а «<c.lawyer>» остаётся. Имя класса — не диапазон стиля: оно ищется в таблице стилей страницы и может означать там что угодно. Оставить его — честное чтение тега, который инструмент никогда не моделировал; разметку такого вида убирает страница удаления HTML-тегов.
Файл без курсива
Вход
1
00:00:01,000 --> 00:00:02,000
<b>The room was dark.</b>
2
00:00:03,000 --> 00:00:04,000
She left early.
Выход
1
00:00:01,000 --> 00:00:02,000
<b>The room was dark.</b>
2
00:00:03,000 --> 00:00:04,000
She left early.
Удалять было нечего, поэтому файл возвращается байт в байт, а жирный остаётся на месте. На файле, где курсив скорее подозревается, чем виден, это самый дешёвый способ проверить — и жирный он при этом не заберёт.
Частые вопросы
Что считается диапазоном курсива в субтитрах?
То, как файл это записал. В SRT или WebVTT это пара тегов «<i>» вокруг слов; в ASS или SSA — «{\i1}» и «{\i0}»; в TTML — span с начертанием italic. Все три записи означают одно и то же, и страница читает каждый файл тем форматом, которым он является, поэтому находит диапазон при любом синтаксисе. Она не угадывает: текст, который лишь выглядит наклонным, например строка декоративным шрифтом, диапазона курсива не имеет и не трогается.
Меняются ли таймкоды или текст при удалении курсива?
Ни то ни другое. Страница переписывает только разметку вокруг слов, поэтому каждый субтитр сохраняет начало и конец с точностью до миллисекунды, порядок остаётся файловым, а число субтитров не меняется. Текст совпадает байт в байт, кроме самих символов тегов: знаки препинания не добавляются, строки не склеиваются, а субтитр из двух строк остаётся двухстрочным.
Можно ли удалить курсив только в части субтитров?
На этой странице нельзя: обрабатывается весь файл, каждый субтитр и каждая строка. Если части файла курсив нужно сохранить, работающий путь — запустить страницу, а затем вернуть теги на нужных субтитрах либо сначала разделить файл и обработать одну часть. Выбор по отдельному субтитру невозможно выразить в перетащенном файле: странице неоткуда его прочитать.
Почему курсив важен настолько, чтобы иметь отдельную страницу?
Потому что в субтитрах он обычно несёт смысл, а не украшение. Строка курсивом — это, по соглашению, голос за кадром, рассказчик, иностранное слово или внутренняя мысль, и читатель, потерявший это, теряет часть сцены. Именно поэтому страница существует отдельно от удаления всего оформления: на реальном файле часто нужно убрать курсив под требования студии, оставив жирный заголовок жирным.
Почему тег «<c.lawyer>» остался в файле после удаления курсива?
Потому что имя класса — не диапазон курсива. «<c.lawyer>» не говорит, что текст оформлен определённым образом; оно говорит, что текст принадлежит именованной группе, а как эта группа выглядит, решает таблица стилей, которой в файле нет. Инструмент никогда такие теги не моделировал, поэтому оставляет их в тексте, а не удаляет то, что не может прочитать. Убирает их страница удаления HTML-тегов.
Курсив удаляется в пределах слова или целого субтитра?
В пределах того участка, который отметил файл, а это часто не весь субтитр. Строка может начаться с курсивного замечания и вернуться к обычному начертанию — тогда разметку теряет только замечание; диапазон, покрывающий субтитр целиком, что обычно для закадровой речи, снимается со всей строки. Сами символы не переписываются, поэтому результат не зависит от того, где начался диапазон.