Много ударений в тексте...

  • Автор темы Автор темы pk025
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

pk025

Участник
Топикстартер
Сообщения
21
Реакции
1
Господа скриптописатели! Если кого-го заинтересует и кто-либо сможет помочь - есть такая проблема (поиск включал, ничего не нашел...): верстаю книжки медицинской тематики, где довольно много слов с ударениями (латынь), причем в разных книгах могут быть разные шрифты. В свое время вышел на такое решение: сделал в одном из шрифтов символ значка ударения, и далее ставил это ударение с помощью такого алгоритма: гласная буква в слове, затем вставляется значок ударения, при необходимости этот значок ударения двигается по вертикали выше или ниже, подстраиваясь под высоту символа, затем у символа межбуквенный интервал загоняется в глубокий минус так, чтобы знак ударения встал над этим символом, затем, при необходимости, межбуквенный интервал уменьшается и знака ударения, чтобы слово смотрелось слитным.
Когда верстал в мейкере, на рабочем поле у меня стоял текстовый блок с уже подготовленными парами ударных гласных (буква + ударение). При необходимости нужный значок копировался и вставлялся туда, где нужен символ с ударением.
Сейчас перешел на ИнДиз, вместо шрифта с символом ударения использую епс-файл, где есть только знак ударения. Алгоритм остается тот же: вставить символ за буквой, если надо, поднять его выше-ниже, межбуквенными пробелами подвинуть знак ударения на место над буквой и при необходимости уменьшить межбуквенный пробел у ударения.
Но сейчас слов с ударениями стало так много, что появилась мысль: а нельзя ли это дело все автоматизировать?
Алгоритм мне видится такой: при наборе или предварительной верстке за буквами, над которыми требуется поставить знак ударения, ставится специальный символ (например, # или &), а затем запускается скрипт, который находит в тексте такую последовательность (гласная + спецзнак) и заменяет ее на последовательность (гласная + епс-файл "ударение").
Причем скрипт очень желательно иметь открытый, текстовый, с выделенным комментариями блоком, в котором можно изменять три плавающих параметра: 1. значение, изменяющее месторасположение знака ударения по вертикали (плюс-минус - вверх-вниз); 2. значение межбуквенного интервала для гласной и значение межбуквенного интервала для знака ударения (поскольку для разных гарнитур эти значения разнятся). А в идеале, для тонкой настройки, чтобы можно было модифицировать каждую гласную отдельно...
Либо нужна пара скриптов: первый, который в диалоговом режиме принимает эти параметры и модифицирует второй скрипт, который будет после этого работать с указанными параметрами до тех пор, пока не будет опять запущен первый скрипт (работаешь с одной гарнитурой - одни параметры, перешел на другую - изменил их...).
Надеюсь, что задача не слишком специфичная, и подобный скрипт (s) понадобится не только мне одному.
А, может, где-то кто-то уже решил подобную задачу? Буду благодарен за ссылку.
Контактный адрес: pk-kontakt(dog)mail.ru
Заранее спасибо, если кого-то эта задача заинтересует и он сможет помочь.
 
Ответ: Много ударений в тексте...

Насколько я знаю, проблема с ударениями правильно решается использованием шрифтов с соответствующими буквами с ударениями. Как автоматизировать замену вы уже сами озвучили.
А вообще, тема не нова: http://forum.rudtp.ru/showthread.php?t=18494
 
Ответ: Много ударений в тексте...

У Паратайпа в OTF шрифтах есть ударная кириллица, работает гораздо проще вышеописанного через лигатуры — набираете А+` и автоматом получаете ударную А.
 
  • Спасибо
Реакции: catpaw
Ответ: Много ударений в тексте...

denisgrim сказал(а):
Насколько я знаю, проблема с ударениями правильно решается использованием шрифтов с соответствующими буквами с ударениями. Как автоматизировать замену вы уже сами озвучили.
А вообще, тема не нова: http://forum.rudtp.ru/showthread.php?t=18494

Если б я еще умел скрипты писать...
 
Ответ: Много ударений в тексте...

suntory сказал(а):
У Паратайпа в OTF шрифтах есть ударная кириллица, работает гораздо проще вышеописанного через лигатуры — набираете А+` и автоматом получаете ударную А.
"За неимением гербовой..." - Ну нет у меня таких шрифтов...
 
Ответ: Много ударений в тексте...

pk025 сказал(а):
Ну нет у меня таких шрифтов...
А вам они и не подходят, у вас "с ударениями (латынь)"
Имелось ввиду сделать также для латыни.
 
Ответ: Много ударений в тексте...

Для латыни может и лигатуры не нужны, вполне возможно что есть место в юникоде.
 
Ответ: Много ударений в тексте...

suntory сказал(а):
Для латыни может и лигатуры не нужны, вполне возможно что есть место в юникоде.
Дык опять же - то же самое, но сбоку... Т.е. РУЧНАЯ замена одного символа на другой... Конкретный пример: дали набощице текст, она его набрала в ворде, распечатала, распечатку просмотрел корректор, хорошо знающий помимо прочего латынь, и расставил вкупе с остальными знаками корректуры ударения в нужных местах над буквами в латинских терминах. После чего этот файл (где нет ни одного ударения) и распечатка с корректурой попадает ко мне. И я, при предварительной заверстке, всюду, где нужны эти ударения, ЗАМЕНЯЮ простую гласную на гласную с ударением. Вы мне предлагаете аналогичные способы - лигатуры или другой юникодный символ... Но опять - ручная ЗАМЕНА. Было бы гораздо проще и, главное, быстрее, при вводе корректуры и предвариетльной заверстке просто ставить рядом с ударной гласной какой-нить значок (никуда не переключаясь, ничего не заменяя, поскольку - время...), а потом, пройдя, например, страниц 20, запустить скрипт, который на автомате сразу в этом куске заменит пары на ударения...
А издательство дало конкретный шрифт, который и надо использовать в верстке...
 
Ответ: Много ударений в тексте...

pk025 сказал(а):
Вы мне предлагаете <...> опять - ручная ЗАМЕНА.
просто ставить рядом с ударной гласной какой-нить значок
Значок вы все равно вручную ставите.
C лигатурами типа паратайповских будете ставить гравис а замена произойдет сама.
 
Ответ: Много ударений в тексте...

suntory сказал(а):
Значок вы все равно вручную ставите.
C лигатурами типа паратайповских будете ставить гравис а замена произойдет сама.
Я же написал чуть выше - шрифт предоставило издательство, т.е. приходится работать с тем, что дали...
 
Ответ: Много ударений в тексте...

pk025 сказал(а):
шрифт предоставило издательство
Его я и предлагаю вам переделать.
IMHO это проще возни с EPS.
 
Ответ: Много ударений в тексте...

Латинские ударения -- нужно всего лишь нормальный буржуйский шрифт без кириллицы даже. Ариал, таймс сойдут.

Потом, по совести в латинском не ударения ставятся, а долгота второй гласной буквы с хвоста: используются загогулины бреве U+02D8 (кратко) и макрон U+02C9 (долго). Если подсовывают Вам верстать шрифтом без этих символов или без объединённых оных с буквами (типа U+0100 0101 0102 и 0103 для букв А) -- намекните, что они неправы или попытайтесь таки понять, что им надо конкретно, и уже от их чётко означенного требования и плясать.

Как делавший толстенный восьмитомник с ударениями на каждом слове основного текста, где оно нужно, коротко опишу как делалось. Филологи расставляли ударения в ворде. Чтобы при этом не спотыкалась спелчекеровщина и, как оказалось в итоге, для облегчения процесса -- вместо ударения на букву ставился атрибут подчёркивания. Потом вордовским макро это слово без атрибутов заменялось на свежеподчёркнутое (в макросе -- выделенное слово вносилось в клипборд, замена слова на содержимое клипборда с учётом регистров и "слово целиком" по всему тексту), а если у слова возможны разные ударения (по смыслу или по "омонимичным" падежам типа "двЕри дверИ"), то вручную, от ручной работы никуда не уйти. Ну а дальше после подписи текста с ударениями -- макро, дело считанных минут: обязательная расстановка мягких переносов, потом замена подчёркнутой буквы на неё же неподчёркнутую плюс символ 0189 или 190 в зависимости от регистра, импорт в верстальную программу и применение шрифта с исправленными паратайповскими ударениями.

Кстати, параллельный вопрос по будущей ветке про веб-дизайн: как переносить многочисленнейшие ударения в тексте в веб? Кто как делал? Ни один проверенный гуманный метод пока не помог.
 
Ответ: Много ударений в тексте...

За все советы, конечно, большое спасибо. После всего прочтения пришел к выводу, как довольно просто, даже не владея умением писать скрипты, поставленную задачу намного облегчить, даже никуда не обращаясь... Просто берется основная гарнитура, с помощью которой верстается текст, открывается в любом генераторе шрифтов, никуда не залезая вглубь всех настроек, просто расставляю над гласными значки ударения, к имени шрифта добавляю префикс "-ud", после чего жизнь намного облегчается. В уже имеющемся тексте при предварительной верстке за ударной буквой ставлю любой значок (# или &). В 99% добавление лишнего знака на 10-11-санитиметровой строке никакого эффекта не произведет. И спокойно двигаюсь дальше, вводя превоначальную корректуру за наборщиком. После 20-30 страниц включаю замену и меняю пару "гласная и спецзначок" на эту же гласную, но модифицированного шрифта с префиксом "-ud". Все! А уж такую простенькую задачу, в принципе, можно и самому попытаться заскриптовать...
 
  • Спасибо
Реакции: Hyperfunk
Ответ: Много ударений в тексте...

А вам не кажется что тут и скриптовать нечего? Поиск и замена вот и все.
 
Ответ: Много ударений в тексте...

Согласен... Но со скриптом быстрее будет, однако...
 
Ответ: Много ударений в тексте...

Это почему? Одна замена, которую, к тому же, можно сохранить.
Ну можно замену в скрипт забить и повесить на него хоткей. Будет вообще одним движением...
 
Ответ: Много ударений в тексте...

Не дурите голову со скриптами. Есть в каждом (почти) шрифте знак ударения. Вставляется через глифы. Никаких кернингов, смещений. А для латыни шрифтов миллион.
 
  • Спасибо
Реакции: Tenebre и Hoar
Ответ: Много ударений в тексте...

Maks_Tsofin сказал(а):
Не дурите голову со скриптами. Есть в каждом (почти) шрифте знак ударения. Вставляется через глифы. Никаких кернингов, смещений. А для латыни шрифтов миллион.
Ну да, конечно... Только чем это ПРИНИЦПИАЛЬНО отличается от моей методики? Когда ударений МНОГО? Сейчас: когда мне надо поставить ударение, я иду на рабочее поле, беру в буфер заранее подготовленную последовательность в виде гласная + символ ударения, надвинутый на гласную, и заменяю в тексте там, где это надо. Предложено: поставить курсор после гласной, открыть таблицу глифов (ну, или, держать ее постоянно открытой где-то сбоку от рабочего поля, минимизировав ее, т.к. - мешает...) , найти знак ударения, двунув на него мышкой, дважды кликнуть по нему, затем повторить это процедуру еще много раз...
И там, и там - ВРЕМЯ!, секунды, складывающиеся в десятки, а затем - в минуты...
А мне бы хотелось, чтобы ужа на этапе набора текст набирался с каким-то признаком, что в этом месте в дальнейшем будет стоять ударение (знак @, $, #... после гласной), либо, если уже получен набор без такого знака, двигаться по тексту, осуществляя первичную заверстку материала и вставляя после нужных гласных тот же самый знак. А потом - скрипт замены, делающий замену пары гласная+признак ударения на гласную+ударение для всех гласных разом...
Экономия времени, однако...
НО, как я уже писал выше, даже отрицательные ответы натолкнули меня на мысль - если в шрифте есть знак ударения, буду просто последовательно делать несколько замен ручками, если нет - сделаю из первого шрифта с обыкновенными гласными шрифт с удАрными гласными на тех же самых местах и буду заменять шрифт на шрифт... И в первом (при наличии удерния в шрифте), и во втором случаях такая методика на 20-30 страницах подряд даст ощутимый (в 10-20 минут!) выигрыш во времени, потому что не надо будет елозить мышкой туда-сюда, осуществляя ручную замену каждой буквы...
На сём - предлагаю считать вопрос исчерпанным и тему закрытой...
 
Ответ: Много ударений в тексте...

Доброго времени суток!
Мне хочется узнать, как справиться с такой проблемой. Верстаю орфографический словарь, ударения в каждом слове. Шрифт Times, OTF, текст был набран уже с особым символом на местах акцентов, заменила их на Combining Acute Accent (0301). Но поскольку гласные-то все разной ширины, естественно, встал он вкривь и вкось... Ставить вручную кернинг - сдвигается влево так же и следующий символ, то есть надо бы еще и у следующего символа делать корректирующий кернинг в обратную сторону. Ручками это точно делать не будешь. Догадываюсь, что скрипт можно написать, но пока нахожусь в стадии изучения скриптинга, боюсь, на доводку того, что я напишу, уйдет времени больше, чем на верстку.
Вариант второй - сделать шрифт-дубль Таймса, где дополнительно где-нить впихнуть гласные с удареним. В принципе, вариант работающий, и лет 7 назад я так для одной книжки (еще в Пейдже верстала) делала отдельный шрифт со всеми буквами с диакритикой (там тогда в одной книжке было 3 или 4 языка, в общем, почти что полный набор диакритики). Правда, тогда еще и OTF не было, да и с Type1 у Пейджа какие-то проблемы были, потому "ковырялся" тогда TTF.
Кто как эту проблему решает? Какой способ самый оптимальный? Повторюсь - ударений ОЧЕНЬ МНОГО, ручные варианты "доводки" не проходят.
 
Статус
Закрыто для дальнейших ответов.