Избранное »

22.09.2014 – 07:27 | 2 комментария | 27 557 views

Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com работает канал «InDesign Мастерская вёрстки». Там уже размещены более 70 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …

Читать полностью »
Работа в InDesign

Хитрости и секреты, приемы работы, уроки

Новая версия!

Особенности новой версии Индизайна

Плагины

Описание плагинов, информация о плагинах для работы с Adobe InDesign

Скрипты

Готовые к использованию скрипты для Adobe InDesign

Скриптинг

Описание языка, приёмов и методов программирования для Adobe InDesign

Home » Работа в InDesign

Создание диагональной дроби

Добавлено на 03.11.2008 – 00:32Без комментариев | 5 133 views

Раньше мы уже рассмотрели способ создания диагональной дроби. Теперь продолжим эту тему.

1. Создание дроби в OpenType шрифтах с поддержкой дробей

Относительно небольшое количество шрифтов, таких, как например Adobe Garamond Pro, имеют хорошую поддержку дробей, и создать дробь в этом случае проще простого.

Создание диагональной дроби

Создание диагональной дроби

Выделите дробь, затем в меню панели Character выберите  команду OpenType > Fractions.

Эту команду также можно найти в Панели Управления и в опциях символьного стиля (вкладка Open Type Features).

Если вы собираетесь часто использовать эту команду, имеет смысл сделать для нее клавиатурное сокращение. Для этого зайдите в меню  Edit > Keyboard Shortcuts, затем из списка Product Area выберите Panel Menus, и ниже выберите команду Character:OpenType:Fractions . В выпадающем списке Context выберите значение Text, и в поле New ShortCut задайте клавиатурное сокращение, например, Command+Shift+F (Mac) или Ctrl+Shift+F (Win).

2. Метод Find/Change

Если в OpenType шрифте присутствует поддержка fractions, то получить дробь можно тоже очень легко при помощи GREP.

Установите  Find what: \d+/ \d+

Change to:
Выберите Found > Found Text $0

Задайте Change Format:
Style Options:
Character Style > fraction.

Grep

Grep

В InDesign CS4 в стиле абзаца можно задать Grep-стиль с вышеуказанным выражением.

fractions99

fractions100

В символьном стиле установите следующие параметры:

fractions101

Необходимо учесть, что даты, записанные в таком формате:

22/09/2009

будут обрабатываться как дроби, что неверно. В таких случаях применяйте следующее Grep-выражение:

(?<!\d)(?<!\d/)\d+/\d+(?!/\d)(?!\d)

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

Первый шаг:

Find what: \d+/

Change to: $0

Change Format:

Для шрифтов типа OpenType с поддержкой Numerator и Denumerator установите Numerator

Задание формата

Задание формата

Для не OpenType шрифтов придется поиграться с установками документа Edit > Preferences > Advanced Type, задав свои параметры superscript Position, subscript Position и Size setting для наилучшего визуального отображения дроби. Желательно  также установить кернинг для текста как оптический. Итак, в этом случае:

Change Format: superscript.

Второй шаг:

Find what:/\d+

Set Change to: $0

Set Change Format: Denumerator или subscript.

Третий шаг:

Заметьте, что после первой процедуры Поиска/Замены косая черта дроби стала типа superscript, а после второй — subscript. Теперь ей надо вернуть нормальную величину.

Set Find what: / (косая черта)

Set Find Format: subscript

Будем менять косую черту на символ Fraction Slash, который имеет юникодовский номер 2044.

Fraction Slash в панели Gliph

Fraction Slash в панели Gliph

Change to: \x{2044}

Change Format:
Style Options: Character Style > [None]. (для удаления subscript style).
Basic Character Formats: Normal

Вот такие шаги надо сделать для получения диагональной дроби.

3. Скрипт FindChangeByList

Эту длинную последовательность шагов можно выполнить при помощи скрипта FindChangeByList, изменив файл FindChangeList.txt на следующее содержание.

grep {findWhat:»\\d+?/»} {appliedCharacterStyle:»superscript»} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} set nominator

grep {findWhat:»/\\d+?»} {appliedCharacterStyle:app.documents.item(0).characterStyles.item(«subscript»)} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} set denominator

grep {findWhat:»/»} {changeTo:»\u2044″, appliedCharacterStyle:»normal»} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} set fraction slash

Конечно, у вас должны быть в документе стили, упомянутые в этих строках. Иначе будет выдаваться ошибка скрипта.

Будет еще удобнее, если вы вместо скрипта FindChangeByList станете использовать его модифицированный вариант, опубликованный на нашем сайте. Тогда в файл FindChangeList.txt надо будет просто добавить эти строки с заголовком ***Fractions.

Источник: http://carijansen.com/2008/08/25/indesign_fractions/

4. Скрипт gotfractions.jsx

При помощи этого скрипта можно обработать весь материал, поставив курсор в текст. Он не имеет диалогового окна. Если шрифт, которым набраны дроби, имеет поддержку дробей, то они примут нужный формат, а если поддержки нет, то ничего и не произойдет.

Строка поиска в скрипте выглядит следующим образом:
var grepPattern = «(?<![0-9])(?<![0-9]/)[0-9]+/[0-9]+(?!/[0-9])(?![0-9])»; 

Скрипт найден на этой странице: http://www.yourscriptdoctor.com/automating-indesign-cs6/got-fractions.
Работоспособность проверялась на InDesign CC2017, MAC. После скачивания скрипт надо поместить в папку пользовательских скриптов.

Скачать скрипт gotfractions.jsx (zip)

Дополнительно о дробях смотрите на нашем сайте:

Как сделать диагональную дробь

 

Как сделать диагональные дроби в вёрстке легко читаемыми

Reblog this post [with Zemanta]

Оставить комментарий!

Вы должны быть в системе чтобы оставить комментарий.