[ID CC-CC2022] Перенос ударения из начала строки после автоматического переноса

  • Автор темы Автор темы Tlumach
  • Дата начала Дата начала
Спасибо большое [U]LeonidB[/U].
Пока буду работать с имеющимся вариантом.
Скрипт действует автоматом, что неприемлемо в моём случае, как верно заметил [U]andrejK[/U]
Я поэтому и надеялся найти способ через поиск отследить эти редкие моменты съезда надстрочных символов на следующую строку из-за автопереноса, чтобы исправить их вручную.
На будущее просто буду умнее :)
 
Кстати, если кто подумает, что я рекламирую платный скрипт Иванюшина, то таки да. Рекламирую. Настойчиво и двумя руками.
 
Ты про скрипт а-ля Иванюшин?
Ну, у Михаила в его скрипте не автоматические замены, а подсветка проблемных мест. А исправлять можно вручную, контролируя результат.

Посмотреть вложение 126013

Только вместо "-не" нужна та самая единичка (то есть ударение в шрифте).
О! А вот это было бы то, что нужно!!!
 
[U]andrejK[/U]
Ну простите чайника, я вообще впервые с такой задачей столкнулся!
А доделать - надо.
 
да я про любые уже манипуляции))) человек страдает, что у него едет вёрстка)

а еслиб он ДО заменил своё "ударение" на "ударение+перенос",
потом \w1 на ноубреак...

и лишь потом верстал - не было б страданий)
А и я ж о том же говорил, разве не? :)
Но когда я упомянул скрипт Иванюшина, я ж на другое показывал: на подсветку проблемных мест. Это было бы выходом, когда текст уже свёрстан.
 
Кстати, часть слов с переносом ударения на следующую строку уже была исправлена вручную через добавление дискреционного переноса при наборе текста, и при предложенной Вами схеме замены туда добавляется ещё один непечатный символ.
find: \w1~-?
change: $0~-
 
Скрипт hyphens_collect отлавливает слова с автопереносами, есть возможность перехода к найденным словам даблкликом по списку. Автор скрипта (Peter Kahrel) предлагает отредактировать полученный список перенесенных слов и применить его вторым скриптом - hyphens_apply
hyph.jpg

Для того, чтобы не улетели циферки из слов я отредактировал в скрипте строку
WDIVISION.regex3 = /['".,;:«»†‡®©‹›\[\]\{\}!?()\u2018\u2019\u201C\u201D\uFEFF\uFFFC\u0004\u0016\/\r\n]/g; - убрал 0-9
 
Последнее редактирование:
Это лень поправлять.
Скрипт чуток сыроват. В функции function save_list (list) - ошибка, должно быть for (var i = 0; i < list.length; i++) {, иначе список не сохраняется. Опция Use list from text file нерабочая, там д.б. сохранение имени файла с переносами, обратное считывание имени в previous... лень расковыривать, что куда, зачем. Нашим задачам не мешает.
 
Да, интересная задачка. И в плане поиска таких ударений, чтобы была возможность сперва посмотреть, а потом исправить оформление. Конечно, и инструмент исправления должен быть в скрипте.
И другая, более интересная на мой взгляд задача -- контроль перетекания при внесении правки.
Вот для их обеих инструменты.
Первый -- поиск знака в начале:

Ищутся слова с переносами, такие, в которых есть символ, определённый в переменной textForSearch,
и этот символ оказался первым символом после разделения слова при переносе.
Проблема, ставшая поводом написания этого скрипта, переход знака ударения в церковных текстах,
в шрифте Triodion на месте единицы сделан знак ударения.
Программа сперва собирает информацию о таких случаях, окрашивает все символы проблемного слова, кроме первого, цветом 'MakeupColor'.
Цвет первого знака оставлен без изменений, чтобы востановить первоначальный цвет слова.
Вариант исправления ситуации -- присвоить знаку ударения атрибут "Без переносов".
Для этого надо поставить курсор в слово и щелкнуть на пиктограмме "Карандаш".
Скрипт сам вернёт цвет этому слову.
==
Вторая -- контроль перетекания при внесении правки:

Иногда при внесении правки в текст важно контролировать, не уползла ли строка на другую полосу.
Штатное решение: работая с одним документом, разделить экран пополам, чтобы на о дной половине отображались какие-то страницы, где перетекание недопустимо, а на второй редактировать текст.
Это хороший способ, и в дополнение к этому можно предложить вариант контроля перетекания с помощью скриптов.

Первый скрипт, AddNotes.jsx, помещает в начале и в конце каждой полосы метку,
в которой сохраняется номер страницы и идентитфикатор фрейма, где помещена эта метка.
Формат записи: М*S*F
где
М - это указатель места: В для обозначения верхней строки, или Н для обозначения нижней строки,
S - номер страницы
F - идентификатор фрейма

Перед началом размещения меток скрипт убирает имеющиеся в работе метки такого формата записи.
Независимо от того, какая страница была активной, по завершении работы будет переход в начало файла и показ первой страницы на весь экран.

Отображение примечаний управляется в панели 'Примечания' переключателем 'Показать/скрыть примечания'.
В нижнем ряду пиктограмм этой панели данный переключатель второй слева.
Когда примечания выключены, то в режиме отображения служебных символов на их месте есть маркер, похожий на двоеточие.
Не удалось найти, можно ли включать это отображение в скрипте, поэтому сейчас скрипт только включает на экране эту панель, а включить отображение примечаний должен сам пользователь.

Второй скрипт, TestTextMoving.jsx, проверяет метки на соответствие их содержимого номеру страницы,
на которой они стоят, и что они размещены в тех же фреймах.
Это позволит легко находить страницы, где возникло перетекание текста:
при первом несоответствии выводится собщение о расхождении записанных данных с реальными,
и страница, где обнаружено расхождение, отображается на экране.
Этот скрипт, так же как и первый, включает отображение панели 'Примечания',
чтобы было просто включить отображение самих примечаний в тексте.

Третий скрипт, RemoveNotes.jsx, удаляет из работы метки такого формата записи.
 
  • Спасибо
Реакции: andrejK и LeonidB