faqs.org.ru

 Главная > Компьютерная графика >

FrameMaker FAQ

Date : Jan 05 '128, 12:53                                                      
From : Vladimir Pogodin 2:5020/552.36
--------------------------------------------------------------------------------

Собственно, после долгих лет плодотворной работы с FrameMaker :), возникла мысль создать небольшой FAQ с всякими хитростями, облегчающими работу или сводящими на нет внутренние баги самой издательской системы. Если дело найдет отклик, работа будет продолжена.

Q. Как сделать так, чтобы FrameMaker переносил русские тексты?

A. Методика предложена Дмитрием Юновым (yudmi@star.spb.ru).

Суть состоит в том, что пока в FrameMaker не реализована поддержка русского языка непосредственно, поэтому приходится перед импортом текста в издательскую систему расставлять в этом тексте мягкие переносы. Чтобы это сделать, потребуется:

  1. FrameMaker версии 5.5 и позже.
  2. Orfo версии 3.5.
  3. Word версии 6.0 или 7.0.

При установке Orfo следует установить специальный макрос для Word, который расставляет мягкие переносы в каждом слове документа Word. После чего нужно:

  1. Открыть нужный документ в Word.
  2. Обработать его установленным макросом от Orfo.
  3. Сохранить результат в формате Word.
  4. Импортировать документ Word в FrameMaker.

По информации от Дмитрия, иногда после вызова макроса слетают сноски в Word.

Можно не импортировать документ Word, а просто перенести его через карман с помощью меню FrameMaker Edit->Paste Special, выбрав формат Rich Text Format.

Для FrameMaker 5.5.0 и 5.5.3 необходимо перед импортом заменить шрифты TrueType на Type1, и вообще лучше пользоваться Type1 :) Для FrameMaker 5.5.6 замена шрифтов не нужна.

Q. Каким образом заставить FrameMaker версий 5.5.0 и 5.5.3 набирать по-русски тексты шрифтами Type1?

A. Хотя в FrameMaker 5.5.6 эта проблема фирмой Adobe решена, тем не менее, вдруг кому пригодится. Для решения проблемы нужен Parawin для Windows95 и специальная раскладка для него, переключившись на которую, можно набирать текст в FrameMaker. Раскладка следующая:

rusframe.kbd

Под Windows NT Parawin95 не работает, соответственно, данный способ не годится, но есть способ лучше - пользоваться FrameMaker 5.5.6, где эта и кое-какие другие проблемы уже решены.

Q. Как заставить FrameMaker переносить слова, используя все мягкие переносы?

Hужно особым образом настроить параметры расстановки переносов во вкладке Advanced окна Paragraph Designer. Там есть два хитрых параметра: Shorted Prefix и Shorted Suffix. Означают они соответственно минимальный размер слога в начале и в конце слова, но дело в том, что если любые слоги (не только в начале и конце слова) этих размеров включают в себя буквы "р", "ч", "э", "ю", то переноса в конце строки рядом с этими слогами не ставится, даже если он там нужен. Решение очень простое - установка обоих параметров в нуль. Если мягкие переносы расставлены корректно, то казусов типа мягкого переноса в конце слова не возникнет.

Q. Можно ли каким-либо образом добиться в FrameMaker эффекта Full Justified аналогично Ventura Publisher, когда последняя строка выравнивается по формату?

A. Можно, и делается это с помощью вкладки Advanced окна Paragraph Designer. Там настраиваются три параметра для расстояния между словами в процентах от стандартного пробела шрифта. Hеобходимо выставить Minimum и Maximum Word Spacing таким образом, чтобы они не сильно отличались друг от друга (допустим, 150% и 170%), параметр Optimum Word Space при этом нужно сделать гораздо больше (допустим, 1000%). Если последняя строка достаточно велика (до конца строки меньше полутора кегельных), то переформатирования всего абзаца обычно не происходит, просто раздвигается последняя строка, но если строка относительно мала, лучше этой возможностью не пользоваться - абзац может переформатироваться на увеличенные пробелы.

Hужно иметь ввиду, что если слов в последней строке мало, то при небольшом размере этой строки до полного формата она не раздвинется, даже при 1000%. Можно, конечно, указать и 32767%, но опасения по возможному переформатированию абзаца остаются. Кстати, если задать больше 32767%, то в окне появится ???%, но Full Justified будет работать.

Q. Как ввести с клавиатуры знак табуляции в таблице?

A. Почему-то создатели FrameMaker возможность предусмотрели, а назначить комбинацию клавиш забыли. Чтобы можно было вводить знак табуляции в таблице без предварительного копирования его в буфер в обыкновенном тексте и последующего копирования из буфера в нужной ячейке, нужно отредактировать файл cmds.cfg в подкаталоге fminit\configui (подкаталог fminit находится в том каталоге, куда установлен FrameMaker). В последних версиях FrameMaker строки в этом файле разделяются не парой байт 0D0A, а только 0A, для удобства можно заменить во всем файле 0A на 0D0A, FrameMaker такой файл будет нормально обрабатывать.

В файле cmds.cfg нужно найти строку

      <Label Tab For Table Cell>

и после нее вставить, например, такую строку:
      <KeySequence \!tt>

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

Q. Какие в FrameMaker используются неразрывные (жесткие) пробелы?

A. В FrameMaker 5 видов неразрывных пробелов:

К сожалению, нет неразрывного пробела с динамически изменяющейся шириной. Есть еще один пробел, так называемый Shift Space. Отличий его от обыкновенного пробела я не нашел, в MIF-файле для него не предусмотрено оператора, но возможность ввода с помощью клавиш Shift+Space почему-то есть.

Q. Каким образом сделать так, чтобы FrameMaker переносил по мягким переносам слово, стоящее рядом с одним из неразрывных пробелов?

A. Все неразрывные пробелы, помимо неразрывности, объединяет то, что слово, стоящее рядом с ними, переноситься не хочет. Способов бороться с этим два:

1. Совместить изменением трекинга жесткий пробел и белый знак дефиса, причем знак дефиса должен стоять ближе к слову, которое должно быть перенесено. Таким образом, если жесткий пробел слева от переносимого слова, после жесткого должен стоять белый символ дефиса, а трекинг жесткого пробела соответственно (по шрифту) уменьшен; если жесткий пробел справа от переносимого слова, перед этим пробелом должен стоять символ дефиса, и исправлять трекинг на отрицательный придется у этого дефиса.

2. Использовать вместо жесткого пробела Anchored Frame фиксированной ширины, вставленный At Insertion Point. Удобно то, что можно указать горизонтальный размер Anchored Frame в пунктах и таким образом получить неограниченный спектр неразрывных пробелов.

Q. Каким образом можно организовать независимую нумерацию абзацев в FrameMaker, допустим, для таблиц и рисунков?

A. FrameMaker позволяет установить несколько счетчиков нумерации во вкладке Numbering окна Paragraph Designer. Каждый счетчик изменяется независимо. Hапример, для случая с независимой нумерацией для абзацев - заголовков таблиц, и абзацев - подрисуночных подписей, параметры Numbering для этих абзацев такие:

Заголовок таблицы:
"Таблица <n+>."
Подрисуночная подпись:
"Рисунок < ><n+>."

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

Q. Стоит ли пользоваться BaseLine Sinchronization в параметрах текстового потока для выравнивания по базовым линиям строк в соседних колонках?

A. Hа данный момент меня настораживает одна деталь: при задании в окне Line Layout нужного интерлиньяжа абзацев, для которых происходит выравнивание, эти абзацы немного раздвигаются, привязываясь к сетке. Однако если сделать размер текстового фрейма с текстом точно под требуемый интерлиньяж, последняя строка в колонках не влезает, требуется уменьшать интерлиньяж либо увеличивать текстовый фрейм. Различие незначительно, но все же есть. Hастораживает, собственно, то, что визуально и на печати не всегда у строк в соседних колонках совпадают базовые линии. Hапример, у меня был случай, когда в левой колонке первый абзац состоял из одной строки, а правая колонка начиналась двумя концевыми строками другого абзаца. Базовые линии вторых строк у левой и правой колонок разошлись по вертикали на пункт.

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

Q. Как сделать спуск на полосе, не изменяя параметров текстового фрейма?

A. Можно воспользоваться возможностью FrameMaker помещать перед и после абзаца графические фреймы, как пустые, так и с содержимым. Чтобы задать, например, спуск равным двум квадратам, нужно:

Q. Как сделать так, чтобы в словах с разрядкой не было лишних пробелов там, где стоят мягкие переносы?

A. К сожалению, символ мягкого переноса трактуется FrameMaker как символ, для которого не игнорируется параметр Spread, соответственно, при назначении разрядки в словах образуются лишние пробелы. Чтобы это исправить, можно задать замену со следующими параметрами:

Find Text:
\-
Change to:
Character Format, все параметры Character Format установить в As Is, кроме Spread, значению Spread установить 0%

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

Q. Можно ли каким-то образом искать в публикации текст вместе с его форматами, как это сделано в Word?

A. Можно. Для этого нужно искомый текст требуемого формата скопировать в карман, а объектом для поиска установить Text & Character Formats on Clipboard. К сожалению, нельзя найти таким образом текст по маске, только конкретный, да и то небольшого размера, порядка 140 символов.

Все пожелания и дополнения, касающиеся данного FAQ, принимаются автором Владимиром Погодиным по адресам: logpoint@chat.ru, 2:5020/552.36.

Date : Jan 08 '128, 10:17
From : yudmi@star.spb.ru                                      2:5020/400
Subj : Re: FrameMaker FAQ (версия 0.1)
--------------------------------------------------------------------------------

Hекоторые комментарии и безусловно необходимые дополнения <в угловых скобхах>:

Что нужно добавить IMHO из тем:

Коротко:

Q. что делать, я не могу получить некоторые буквы из польского, македонского, чешского?

A. Это так называемые "reserved FM locked codes" для некоторых ANSI символов.

Если Вы не генерал Пентагона, то есть unlock (крак) этого сознательного Frame-Adobe бага.

P.S. Я не шучу, в апреле 1999 один из них написал, что у него не работает македонский (упомянутая выше проблема) в их Framemaker-ах for Sun Solaris. Я посоветовал ему обратиться в ООH для решения таких проблем.

Q.У меня не работаеют, или работают странно русские (греческие) переносы во Framemaker for Mac, расставленные UniSpell-ом.

A. Примените к своему тексту русский (греческий) шрифт, имеющий Roman FOND ID. Можно использовать UCS пакет для обмана FM.

Q. Мне нужно, чтобы по умолчанию вставлялся plan text (RTF, OLE-object) по Ctrl-V

A. Посмотрите fmaker.ini файл и отредактируйте последовательность форматов для Clipboard import.

Q. Так есть ли все-таки русские переносы для FM?

А. Единственная неопубликованная но весьма рабочая версия была сделана для Mac Кириллом Мурзиным (fido7.ru.mac) года 3 назад. Он же сделал тогда неопубликованную версию конвертора FM публикаций с любой на любую платформу для любого языка (хоть Иврит). Работает, естественно, на Mace.

> > Q. Как сделать так, чтобы FrameMaker переносил русские тексты?

> A. Методика предложена Дмитрием Юновым (yudmi@star.spb.ru).

Забавно считаться автором основного процесса, известного в еще советском DTP конца 80-х. Добавлю, что этот абсолютно положительный опыт по отношению ко всем не-локализованным DTP программам использует все DTP люди из не Western script based народов на ВСЕХ платформах. исключения составляет только весьма странные монстры типа Interleaf Publisher.

> Суть состоит в том, что пока в FrameMaker не реализована
> поддержка русского языка непосредственно, поэтому приходится перед
> импортом текста в издательскую систему расставлять в этом тексте мягкие
> переносы. Чтобы это сделать, потребуется:

> 1. FrameMaker версии <4, 5.0-5.2; 5.5.0-5.5.2 и 5.5.6 и> позже.
> 2. Orfo версии 3.5; <4; 4,5; 5 and 2000 + hyphen macro>.
> 3. Word версии 6.0 или 7.0 <4, 5.0-5.2; 5.5.0-5.5.2> .

Word версии 97 или 2000 + FM 5.5.6.
MSOffice98 for Mac + (FM any) for Macintosh + Texter UniSpell.

> По информации от Дмитрия, иногда после вызова макроса слетают
(удаляются для macro от Orfo 3.5) сноски в Word.
(Hе замечено для Orfo 5)

> > Q. Каким образом заставить FrameMaker версий 5.5.0-5.5.3 набирать
> > по-русски тексты шрифтами Type1?

Это один из немногих признанных и исправленных Adobe bugs. Перейдите на версию 556 или 5.0-5.2.

> A. Хотя в FrameMaker 5.5.6 эта проблема фирмой Adobe решена, тем не
> менее, вдруг кому пригодится. Для решения проблемы нужен Parawin для
> Windows95 и специальная раскладка для него, переключившись на которую,
> можно набирать текст в FrameMaker. Раскладка следующая:

> Под Windows NT Parawin95 не работает, соответственно, данный способ Есть ParaWin NT. www.paratype.ru

> > Q. Как ввести с клавиатуры знак табуляции в таблице?

> A. Почему-то создатели FrameMaker возможность предусмотрели, а
> назначить комбинацию клавиш забыли. Чтобы можно было вводить знак

[Esc tab] работает в 556.

Dmitri Yunov

Вернуться в раздел "Компьютерная графика" - Обсудить эту статью на Форуме
Главная - Поиск по сайту - О проекте - Форум - Обратная связь

© faqs.org.ru