ТЕКСТОВЫЙ РЕЖИМ, БАЗОВЫЕ ФУНКЦИИ.
В текстовом режиме вы можете
работать со скриптом как с обычным текстом.
Данный режим предназначен для таких операций
как: сборка субтитров из нескольких кусков,
разделение на фрагменты, проверка на ошибки,
исправление, синхронизация с шаблоном, изменение
тайм-кода по заданным параметрам (сдвиг,
ретаймирование) и т.п. В строке статуса находится
индикатор отображающий кодировку текущего
скрипта и другую полезную информацию.
DSRT представляет собой многооконный
UTF-16 редактор в который можно одновременно
загрузить или импортировать (в т.ч. из MKV/MKS)
несколько скриптов. Переключение между окнами
осуществляется с помощью горячих клавиш F6(перейти
в предыдущее активное окно), Ctrl+F6(следующее
окно), Ctrl+F6(предыдущее окно). В
редактор вы можете загружать субтитры в форматах
SRT,SSA,ASS,SST, из них полностью
поддерживается только SRT. В SSA,ASS,SST
вы можете изменять текст фраз, манипулировать
тайм-кодом и не более того.
Если необходимо перевести скрипт из
какого-либо формата в SRT воспользуйтесь
пунктом меню Файл->Импортировать [Alt+I],
не нужно путать импорт и пункт меню Файл->Сохранить
как. Последний служит для изменения
формата без обработки текста фраз, т.е.
всевозможные управляющие последовательности
символов, которые совершенно не нужны в случае SRT,
удаляются только если вы используете импорт, а не
"Сохранить как". Существует специальная
функция для удаления текста заключенного в {}, что
не редкость для SRT скриптов, испорченных
примитивными конверторами из SSA/ASS. [ гор. клавиша Alt+{
] Для превращения открытого SSA/ASS скрипта в SRT
можно использовать гор. клавишу Alt+Shift+I.
Поддерживается импорт из поврежденных MKV/MKS
контейнеров, в этом случае дополнительно
открывается окно, в котором можно просмотреть
лог. После импорта в SRT рекомендуется
проверить полученный скрипт на ошибки и
сохранить его. Дополнительно существует
возможность сохранить все импортированные
скрипты без последовательных запросов имени
каждого скрипта, для этого в окне выбора имени
для первого скрипта нужно зажать клавишу Shift
и кликнуть по кнопке "Сохранить".
Все остальные новые скрипты буду сохранены в
каталог вместе с первым, тип скрипта
определяется первым скриптом. Перезапись
файлов происходит без запроса. Если на диске
уже существует файл с именем первого скрипта, то
для запуска автоматического присвоения имен и
перезаписи ВСЕХ файлов без запроса
необходимо подтвердить перезапись файла c
зажатым Shift-ом. Для скриптов извлеченных из MKV
пути и имена файлов уже заданы, соотв. запрос
имени скрипта не производится.
Формат лога:
Ошибка в текстовом виде [ofs1 @ ofs2 >> timecode]
ofs1 - смещение поврежденного
кластера относительно начала файла
в шестнадцатеричном виде.
ofs2 - смещение поврежденного участка
данных.
По этому адресу можно поставить патч с
сигнатурой 0xEC, что
позволит работать с файлом в других программах
не умеющих
работать с поврежденными MKV/MKS [например
MKVMerge/MKVExtract]
Подробнее про void-области [0xEC] читайте на:
http://www.matroska.org/technical/specs/index.html
timecode - тайм-код последнего кластера
для которого тайм-код не испорчен.
DSRT Поддерживает загрузку и
сохранение скриптов (SRT/SSA/ASS/XSS/MKS/MKV) в unicode
кодировках, другие типы скриптов при импорте
преобразуются в ANSI. (верно и для Win9x). Кодировка
загруженного/импортированного скрипта соотв.
кодировке исходного скрипта.
Кодировку можно изменить с помощью горячей
клавиши Alt+E (для всех открытых Alt+Shift+E)
или сразу сохранить скрипт в нужную кодировку Alt+Shift+S
(для произвольной кодировки) Ctrl+Shift+S (в
ANSI).
Сохранить все открытые скрипты можно с помощью
горячей клавиши Ctrl+Alt+Shift+S
Текстовый редактор DSRT позволяет выполнять стандартные операции с текстом, буфер undo/redo может содержать в себе до 100 последних операций. Для удаления одной строки служит горячая клавиша Alt+Y(не путать с Ctrl+Y=redo). С помощью специальных горячих клавиш можно манипулировать отдельными фразами.
В версии 3.0 введено понятие "ячейка
памяти" для расширения скудных
возможностей буфера обмена Windows. Для тех кто
знаком с программируемыми калькуляторами
понятие вполне очевидное, для тех кто не знаком
поясню:
Каждая клавиша клавиатуры соотв. одной
ячейке памяти, в ячейку памяти можно поместить Unicode
строку/строки произвольной длины (в т.ч.
отдельные слова, участки скриптов или скрипты
целиком). Ячейки памяти действуют независимо
друг от друга и являются глобальными для всех
элементов управления поддерживающих их,
значения ячеек сохраняются при перезапуске DSRT.
Как и в случае калькуляторов есть управляющая
клавиша F1... именно одна клавиша (в
этом отличие от калькуляторов). Для сохранения выделенного
текста необходимо удерживать F1 и нажать
клавишу соотв. выбранной ячейке. Для ввода
сохраненного значения достаточно последовательно
нажать F1 и клавишу соотв. ячейке.
Просмотреть/сохранить/удалить используемые
ячейки можно в меню Правка->Ячейки памяти.
Редактор поддерживает ввод и работу с SRT тагами. Для ввода тагов доступны горячие клавиши Ctrl+B, Ctrl+I, Ctrl+U. Тагом считается любой текст заключенный в <>. Возможно полное удаление тагов: Скрипт->Удалить->Удалить таги [Alt+N], как и текста фраз Скрипт->Удалить->Удалить текст фраз [Alt+T].
DSRT 3.x поддерживает работу с "пустыми" фразами, для включения поддержки пустых фраз используйте окно "Параметры фраз" (Гор. клавиша F12) Если вы включили поддержку пустых фраз то все функции DSRT не будут делать различий между пустыми и не пустыми фразами, со всеми вытекающими. Для SSA/ASS скриптов пустые фразы поддерживаются при любом значении фалага.
Текст (без тайм-кода) может быть передан в MS Word (2000-2007) например для проверки орфографии. Для возврата исправленного текста переключитесь в DSRT и нажмите клавишу "Оk". Горячая клавиша Alt+W.
Для автоматического исправления пунктуации и регистра символов следующих за ними можно воспользоваться функцией Скрипт->Проверить и исправить->Знаки препинания и регистр символов [Alt+P]. Последовательности вида "....?!" приводятся к стандартному виду. "?!.." Регистр символов следующих за ".","!","?","..." устанавливается автоматически в зависимости от контекста.
В большинстве существующих SRT
скриптов содержится масса всевозможных ошибок:
ошибки в тайм-коде, пропущенные строки,
"слипшиеся" фразы, коллизии, пустые фразы,
ошибки нумерации, фразы с отрицательным
временем и т.п. Для проверки скрипта на ошибки
служит горячая клавиша F7(Проверить
скрипт) или Alt+Shift+F7(Проверить с тек.
позиции). Для массовой проверки SRT
скриптов предназначена функция Файл->Проверить
каталог. Вместо F7 почти всегда
можно использовать Ctrl+F7(Исправить
скрипт), данная функция устраняет
множество ошибок автоматически, либо Shitf+F7(Исправить
все открытые) - все открытые скрипты будут
исправлены и сохранены. Есть более мощная
функция для автоматического исправления
скриптов Ctrl+Shift+F7(Исправить и
отформатировать), но пользоваться ею нужно
крайне осторожно, поскольку она сильно изменяет
тайм-код и текст фраз на основе заданных параметров. Дополнительно для
исправления отдельных ошибок полезны следующие
гор. клавиши: F8(Перенумеровать), F9(Отсортировать
по начальному времени и перенумеровать).
Кроме явных ошибок субтитры содержат мусор в
виде лишних пробелов/пустых строк и бесполезной
информации в строке тайм-кода, для удаления
мусора служит гор. клавиша Alt+F7(Удалить
все лишнее). Нередко в скриптах встречаются
дубликаты фраз, т.е. фразы с идентичным текстом,
следующие одна за другой без временного
промежутка.
Для устранения дубликатов (все дубликаты
объединяются в одну фразу) служит горячая
клавиша Alt+D(Удалить дубликаты). Под
дубликатами понимается последовательность идентичных
по тексту фраз следующих одна за другой без
разрыва. Пример:
73
00:04:59,018 --> 00:05:00,349
What's this?
74
00:05:00,349 --> 00:05:01,001 Начало
фразы 74 совпадает с концом фразы 73
What's this?
Результат операции:
73
00:04:59,018 --> 00:05:01,01
What's this?
Кроме обработки простых дубликатов функция
способна (начиная с версии 2.86) устранять сложные
дубликаты (коллизии в текстах фраз). Пример:
1
00:08:55,054 --> 00:08:59,425 Конец первой фразы
совпадает с началом второй
What am I saying? There's no way
she'll believe this story.
2
00:08:59,425 --> 00:08:59,625 Последовательность строк в фразе не
важна
All right.
What am I saying? There's no way
she'll believe this story.
3
00:08:59,625 -->
00:09:00,614 Начало третьей фразы
совпадает с концом второй
All right.
После исправления:
1
00:08:55,054 --> 00:08:59,425
What am I saying? There's no way
she'll believe this story.
2
00:08:59,425 -->
00:09:00,614 Последняя фраза
поглощает среднюю
All right.
Помимо обычных коллизий существуют неявные
коллизии, т.е. фактически пересекающиеся фразы,
но без пересечения по тайм-коду. Для поиска таких
коллизий служит специальная функция с гор.
клавишей Alt+L. Поиск ведется начиная с
тек. времени+1мс. Коллизии находятся на основании
отношения расчетной и реальной длины фразы.
Чувствительность алгоритма настраивается в окне
параметров форматирования фраз [гор. клавиша F12].
Значение по умолчанию 3 (соотношение расчетной и
фактической длины фразы).
Для манипуляций с текстом фраз служит пункт
меню Правка->Специальная замена, в
нем доступно три функции: F11(Заменить в
тексте фраз), Alt+Q(Заменить "" на «»), Ctrl+Alt+l(Заменить
"l" на "I"). Первая служит для
множественной замены строк символов в порядке
следования в списке, вторая заменяет символы
кавычек, третья исправляет стандартную ошибку OCR
путем замены маленькой латинской буквы L, на
заглавную латинскую I. Для последней функции
можно удерживая клавишу Ctrl кликнуть
мышкой на кнопке Заменить и тогда
последующие замены произойдут без запроса, либо
можно просто отключить запрос в
DSRT.INI.
Для исправления и обычного форматирования
скрипта можно использовать комплексную функцию
"Скрипт->Проверить и
исправить->Комплексное исправление" [Alt+F11
и Shift+F11 для всех открытых скриптов].
Функция включает в себя последовательность
следующих операций:
Отсортировать
Исправить скрипт
Удалить все лишнее
Удалить дубликаты
Перенумеровать
Заменить в тексте фраз
Заменить "l" на "I" без запроса
Удалить все лишнее
Форматировать текст фраз
Дополнительно можно добавить функцию
исправления знаков пунктуации, для этого
требуется установить флаг "ccpunct" в
секции "Settings" DSRT.INI.