Скрипт Do_Text_OK (летнее обновление-2)
Летнее обновление -2 (7.07.2009)
Опыт пользователей работы с программой — это лучший способ ее совершенствования. Благодарю всех, кто помогает делать программу лучше.
Татьяна Прокофьева и Владимир Любимцев прислали файлы с таблицами, но которых программа сваливалась. Спасибо им за такое тестирование. Теперь тонкая ошибка в коде, приводившая, хоть и очень редко, к сбросу программы, устранена.
Другой вопрос, поднимаемый в частных письмах и комментариях — почему минус назван странным тире, и почему вместо принятого минуса используется короткое тире.
Название myStrangeTire появилось так: во время работы над скриптом я еще и участвовал в словесной дискуссии с коллегами, «почему в русских шрифтах забыт знак минус». Да, поболтали между делом, я для хохмы обозвал забытый европейскими горе-дизайнерами минус странным тире, так это и ушло в скрипт.
Согласен с авторами сообщений, что myStrangeTire — это непонятное название для минуса.
Чтобы снять непонимание, в документацию добавлена глава «О знаке минус».
О знаке ‘минус‘
По каким-то странным стечениям обстоятельств этот знак, имеющий код 0х2212, не попал
в кодовую таблицу русских символов. Он отсутствует в гарнитурах BalticaC, BodoniC, FranclinGothicC и пр. Если ввести в текстовый фрейм знак с таким кодом, программа окрасит его розовым цветом, сообщая, что этот символ отсутствует. То, что он есть в стандартных TrueType шрифтах Arial, Times New Roman, Verdana, Georgia, и в двух стандартных PostScript шрифтах Minion Pro и Myriad Pro, не спасает положение. Но во всех гарнитурах есть короткое тире, ставшее, видимо, по указанной выше причине распространенным заменителем минуса. Именно этот знак, его код 0х2013, используется в этой программе для обозначения минуса. И даже если в переданном на верстку тексте будет присутствовать «истинный минус» с кодом 0х2212, он будет заменен в процессе подготовки текста к верстке на короткое тире, чтобы при верстке любой гарнитурой в тексте не было розовых букв там, где ожидалось увидеть минус.
По просьбам знак вопроса исключен из перечня символов, после которых безусловно должен быть пробел. Согласен с доводами, что этот знак встречается в сетевых адресах, и там после него лишний пробел неуместен.
Не могу согласиться уменьшить функциональность скрипта, чтобы он не обрабатывал ситуации, в результате которых некоторые символы в вёрстке могут быть окрашены красным или зеленым цветами. Это потенциальные ошибки, и на них надо обратить внимание.
Михаил Иванюшин
Летнее обновление
Не успело раскочегариться лето как Михаил Иванюшин порадовал нас новой версией этого замечательного скрипта. Сегодня, 9 июня 2009 г. я с удовольствием читал письмо с описанием нововведений:
Замечания пользователей касались в основном, двух аспектов работы программы.
Во-первых, слева от тире должен стоять неразрывный пробел переменной длины, а не фиксированной. Это исправлено в новой версии.
Во-вторых, не запоминались установки, выбранные пользователем и каждый раз их надо было выбирать снова. Теперь выбор параметров сохраняется в файле Do_Text_OK.ini и воспроизводится при повторном запуске программы.
Если вы еще не знакомы с этой полезнейшей программой, — читайте нижеследующее описание.
Скрипт Do_Text_OK
Прежде чем начать верстать текст, его нужно подготовить. Да, ошибки стали разнообразнее, их всегда было тягомотно вручную удалять, но для этого и существуют программные средства. Чтобы отделить рутину удаления ошибок набора от творческого процесса верстки, сделан этот скрипт. Но идея его не только в том, чтобы подготовить текст к верстке. Скрипт еще и информирует о ситуациях, требующих внимания, например, сообщает об обнаружении разделения слов дефисом (минусом) и пробелом — сказать, что должно быть в данном случае, дефис или тире, можно, только прочитав текст. О всех возможностях программы подробно рассказано в руководстве.
Перед началом процедуры проверки требуется задать восемь параметров:
1. Какой знак используется в качестве тире.
2. Какой знак используется в качестве разделителя между цифрами.
3. Вариант сокращения слов миллион, миллиард, триллион — с точкой или без точки.
4. Выбор, отбивать или нет знаки процента и промилле от чисел.
5. Создавать ли символьные стили для курсива, полужирного, индексов
6. Нужна или нет обработка семизначных телефонных номеров.
7. Формат представления семизначных номеров телефонов.
8. Разделитель групп цифр в телефонном номере.
Вот далеко не полный перечень действий, которые выполняются скриптом:
а) контроль и коррекция при необходимости пробелов в различных ситуациях (отсутствие пробелов, двойные пробелы, замена обычных пробелов на неразрывные);
б) удаление лишних знаков табуляции;
в) удаление знаков переноса в тексте;
г) замена двух подряд идущих дефисов на тире, контроль и коррекция правильности использования тире в различных ситуациях;
д) удаление повторяющихся маркеров конца строки и маркеров конца абзаца;
е) контроль и коррекция правильности написания знаков процента, промилле и градусов Цельсия;
ж) контроль и коррекция предлогов и 1-2-3—буквенных слов в конце строки,
и этот список можно еще продолжать и продолжать. Когда я попробовал использовать этот скрипт в своей работе, создалось впечатление, что многих правил верстки можно было и не учить — скрипт всё сделает как надо.
Скрипт распространяется бесплатно и предназначен в основном для работы в InDesign CS3 (но может использоваться и с версией CS2 — об этом в руководстве).
Вот такой замечательный подарок сделал читателям нашего сайта Михаил Иванюшин, за что ему огромное человеческое спасибо!
Автор постоянно работает над скриптом, повышая его функциональность. Так, в процессе совершенствования, процедура обработки одиночных курсивных ударных гласных выделилась в отдельный скрипт Accent.jsx, который вскоре будет опубликован на этом сайте.
Обновление скрипта!
Сегодня, 27.11.2008, автор прислал мне новую версию скрипта. По многочисленным просьбам скрипт теперь обрабатывает и фрагменты текста (область выделения расширяется до кратности абзацу). Если требуется проверить весть текст, то надо ставить курсор в текст, ничего не выделяя. Опция запуска программы, когда выделен один из фреймов, отключена.
Вернулась в диалоговое окно кнопка Cancel, бывшая там в начальных версиях. В скрипте также появилось много полезных функций и некоторые из них были представлены в диалоговом окне (три новых флажка).












битая ссылка для скачивания…:-(
может кто перезальет. СПАСИБО.
Перезалито, скачивайте.
спасибо!
На маке бардак с интерфейсом скрипта.
Свяжитесь с автором, вышлите скриншоты.
бардак с кириллическим интерфейсом в скриптах на Маке известен давно, там где используются кнопки. Может, в новой версии исправлено?
В ИД ЦС3 эта проблема решается следующим образом: открываем упаковку InDesign — Show Package Contents — Contents — info.plist, желательно при помощи PlistEditPro. Если нет PlistEditPro — сделайте это при помощи TextEditor.
Находим строку CFBundleDevelopment Region — British English
Меняем вручную British English (или Intl English) на две буквы ru.
Сохраняем изменения.
Теперь ИнДизайн в диалоговых окнах заговорит по-русски, но траблы с кодировкой в скриптах исчезнут.
Для ИД ЦС4 проблема неактуальна.
Нашла этот сайт и сразу же этот скрипт.
Подкупило подробное объяснение всех процедур, применяемых к тексту.
Другие скрипты на эту тему пробовала, но за ними было больше ошибок чем пользы.
Попробовала данный скрипт на готовящейся к печати книге, выражаю благодарность автору!
Некоторые комментарии, возникшие по ходу работы:
1.Если инициалы например,
И.-С. Бах, то скрипт обрабатывает его правильно (в отличие от некоторых других скриптов),
получаем то же, только фамилия отбита неразрывным пробелом. Вопрос у меня такой: а надо ли вставлять какие-нибудь тонкие шпации вокруг дефиса?
2. После скрипта все тире были отбиты от предыдущего слова фиксированным неразрывным пробелом, а от последующего – просто пробелом. В итоге это смотрелось не очень красиво, правый от тире пробел был в некоторых случаях больше. Может стоит ставить просто неразрывный пробел слева, но тогда неизбежны дыры при определенном стечении обстоятельств. Может, кто-то поделится мнением на этот счет?
В CS3 есть два типа неразрывных пробелов: обычный и фиксированной ширины. В данном случае нужно использовать обычный.
В CS2 был только неразрывный фиксированной ширины и это было действительно проблемное место.
Я всегда сомневался что может есть таки неразрывный обычный пробел, но так в CS2 его не нашел. А в CS3 он на виду.
Наверное кем-то написанный скрипт это прикольно, но пока его не было я делал замену штатными средствами поиска замены. С учетом времени затрачиваемое на верстку книги, 5 мин потыкать замены – это ничто. У меня это даже ритуал такой начала работы над проектом.
Еще я заменял троеточие.
Для меня сомнительно автоматическое приклеивание предлогов. Это конечно по правилам правильно, но это не жесткое правило. У меня это делается вручную на этапе корректуры, только там где это не портит плотность набора.
Про приклеивание предлогов – согласна, это не сложно сделать после скрипта, иногда даже удобно, что скрипт не склеил.
про два типа пробелов не поняла, ведь есть
hair space, sixth space, thin space и другие.
Я говорила про thin space – эмуляцию так называемой тонкой шпации. Это нужно для того, чтобы текст не сильно отрывался от тире, чтобы не было дыр.
Я для себя подправила Ваш скрипт, вместо ^S поставила ^<
и строки скрипта приобрели следующий вид:
// *** Варианты тире со стандартными отбивками ***
mySpaceDashSpace = «^<—^<»; // Тире, обрамленное тонкими шпациями
mySpaceMinusSpace = «^<–^<»; // Минус, обрамленный тонкими шпациями
Очень приятно беседовать с создателем скрипта
basker
Интересное сообщение, спасибо.
Похоже, Вы имели в виду случай, когда надо внести исправления в установочный пакет, чтобы этой проблемы в дальнейшем не было.
Но если программы уже установлены, то файлов info.plist в компьютере много.
Какой из них надо поправить, чтобы меню скрипта выводилось правильно?
Yanka
Описанное Вами предложение замены может стать причиной большой неудачи в верстке, а потом аллергии на это захватывающе интересное дело.
Вы совершенно неправы, заменяя пробел после тире на шпацию. Этим Вы исключили ситуации, когда тире попадает в конец строки. Это недопустимое, ничем необъяснимое ограничение.
Скорее всего, Вы не настроили диапазон изменения межбуквенного и межсловного диапазонов.
Вот тут информация об этих настройках http://www.publish.ru/publish/2006/08/4057820/
Другая причина, которая может быть причиной дыр между тире и буквами — открытие в индизаайне верстки, сделанной в кварке.
Там настройки межсловного пробела 85-110-250, а межбуквенного 0-0-4.
На мой взгляд, тонкая шпация — слишком малая отбивка между буквой и тире. Проблема в том, что после тире должен символ, разрешающий оставлять тире в конце строки, а все шпации ведут себя как неразбиваемые пробелы. Т.е. тире в конце строки никогда не будет. А поставите после тире пробел, то отбивки будут разной ширины, т.к. он заметно шире шпации.
Если у Вас это постоянная проблема, пришлите мне файл, эл.адрес в конце инструкции по пользованию скриптом Do_Text_OK, хочется взглянуть на такой текст.
Может, что-то и придумается.
Что касается предлогов в конце строки, то в последней версии эту установку можно отключить.
Это сделано для узкой газетной колонки, для книжной верстки, на мой взгляд, этот флажок должен быть установлен.
2 iv-mi
Извините, давненько не заглядывал сюда.
info.plist, который нужно отредактировать, мы ищем в уже установленном пакете InDesign через Show Package Contents.
Прошу прощения за неточность.
Пришлось немного подправить. Ну не хотят наши корректора и редактор видеть тире, слишком, дескать длинное, некрасиво. Мотивация конечно потрясающая. Переубеждать женщин, а тем более бывших учителей – сложно. А в остальном, божественный скрипт.
sergeich04 сказал: «Пришлось немного подправить.»
А что именно подправили?
Ведь можно выбирать вид тире — стандартное длинное или короткое, т.е. знак минус — в диалоге.
Или изменили диалог, чтобы которкое тире стало стандартной установкой?
Огромное спасибо!!! Искренняя благодарность…
Еще есть вопрос с типографскими кавычками… (хотя он просто решается через замену).
Последнее время часто просят убрать любые пробелы между инициалами… (правда, после работы Вашего скрипта это тоже просто сделать через замену).
Еще раз спасибо…
Здраствуйте!
Почему не качается по ссылке «Скачать новую версию скрипта»?
Проверено, качается. Думаю, проблема у вас.
podr, спасибо за подсказку!
2 Yanka — у меня скрипт расставляет именно этот, нефиксированной величины, пробел.
На нем висит старый шоткат: CTRL+ALT+X
у меня на CS4 не все работает, только тирешки обрабатываются. Видимо для CS4 надо что-то поправить?
MAO_the_Doom, я ничего не правил и всё работает в CS4 (WinXp)
да,всё действительно работает, извините, я с другим скриптом перепутал.
Уважаемый автор, а как бы сделать так, чтобы сохранялись предыдущие установки при вызове скрипта?
Хорошо, подумаю над тем, как это сделать.
спасибо!
Мне непонятно, почему автор называет короткое тире — минусом, это два разных знака!
«−» минус (в коде называемый автором «странным тире» myStrangeTire)
«–» короткое тире (En dash)
«—» длинное тире (Em dash)
Добрый день!
Скачал архив. Два скрипта работают нормально,
а вот с Do_Text_OK (24.11.2008).jsx возникла проблема.
Запускаю его и ничего не происходит. Ни меню, ни результатов.
Просто пару секуд что-то обрабатывается и всё.
Можете подсказать что и где посмотреть?
Заранее спасибо!
Попытка помочь пользователю Paul_Lee_Green:
если у Вас Виста, то почитайте комментарии к скрипту DoQuotesOK, в частности, мой пост от 29 марта этого года. Возможно, та ссылка на чужой опыт укрощения скриптов поможет и Вам.
Один из пользователей сообщал в письме о похожем избирательном поведении его машины по отношению к этим скриптам. И по его словам, машина вела себя глючно не только со скриптами, и после переустановки системы, там используется XP, проблема исчезла.
Скажите пожалуйста, можно ли в вашем скрипте отключить автозамену табуляции? И если да, то где именно?
В скрипте есть такая строка:
mySimpleChange(»^t»,» «); // заменяем табуляторы на пробелы
Поставьте перед ней две прямых наклонных черты, и она выполняться не будет.
Не исключено, что в этом сообщении, которое появится в окне сайта, двойные прямые кавычки станут полиграфическими. Это не совпадает с тем, что на самом деле есть в коде программы — там используются кавычки, что размещены в русской раскладке на клавише 2 основной клавиатуры.
Поэтому надо искать в программе текст заменяем табуляторы на пробелы, а затем отключать всю строку.
iv-mi, я в общем-то так и подумала, но у меня были сомнения относительно того, не нарушит ли это общую последовательность работы скрипта. В любом случае, спасибо за быстрый ответ
Это нарушит не общую последовательность работы скрипта, но сделает скрипт слабее в том плане, что будут пропущены знаки табуляции, до сих пор вставляемые в начало абзаца машинистками старой школы. Да и как разделители слов я табуляции встречал нередко. Именно для удаления этих подарков набора делается замена знака табуляции на пробел. Если появятся в результате замены лишние пробелы, то на следующем этапе прохождения по тексту они будут убраны.
Да, этот подход убивает таблицы. Но любое решение имеет свои плюсы и минусы – можно или возвращать таблицы в текст, или использовать опцию обрабатывать часть текста — выделять куски текста без таблиц, чтобы не потерять знаки табуляции.
Возможно, кого-то устроит иметь два варианта скрипта – один первоначальный, а второй с отключенной обработкой табуляций.
Leave your response!
You must be logged in to post a comment.
Последние темы
Комментарии
О комментариях
Облако меток
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
Скрипты
Архивы
UserOnline
Скриптопедия
Рубрики
Календарь
Управление
Most Commented