Visit the official site of Russian Folk Orchestra of Saint-Petersburg University

 

Поддержка русского языка в Adobe FrameMaker

Редакция 1.51 (1 июня 2005 г.)
Автор: Г. И. Благодатов

   

Содержание:

Введение

Проблемы с кириллицей

Проблемы №1-5: базовые
 
Словари
 Копирование заплатки
 Применение заплатки
 Примечания

Проблема №5 (альтернативное решение)

Проблема №6 - алфавитный указатель

Проблема №7 - html/xml/sgml
 
Настройка экспорта
 Конвертация через MIF

Проблема №8 - Word/RTF

Проблема №9 - PDF

Выводы

Благодарности
 

  TEST1
TEST2

В данной статье речь пойдёт о возможностях использования пакета Adobe FrameMaker для ведения русскоязычной (потенциально — на других языках Центральной и Восточной Европы: украинском, чешском, греческом и т. д.) документации и o решении проблем, стоящих на этом пути.

В редакции 1.51 добавлено о Acrobat 7, страница вошла в Frame-User WebRing, плюс мелкие правки.

В редакции 1.5 обновлена информация по версии FrameMaker 7.1 и заплатке к ней, сделан ряд мелких улучшений по всему тексту статьи.

В редакции 1.4 добавлены заплатка для билда №578 для версии FrameMaker 7.0, более подробно о Prologue.PS А. Мальцона, решение проблем индексации PDF (проблема №9), анонс версии 7.1 и новые выводы.

Пакет Adobe FrameMaker является специализированной системой  вёрстки WYSIWYG, специализированной для создания технической документации.

Как известно многим, пытавшимся использовать FrameMaker в России, до версии 5.5 включительно работа с русскоязычными текстами (и текстами других неподдерживаемых кодовых страниц) была практически невозможна. Текст, написанный кириллицей, FrameMaker ранних версий воспринимает как набор недопустимых символов.

Версии, начиная с 5.5.6, более терпимо относятся к языкам иных кодовых страниц. Возможен импорт и экспорт таких текстов, корректно отображаются в тексте специальные символы (отсутствующие в западно-европейской кодовой странице). Автор лично имел опыт создания документации на русском, чешском и польском языках, используя FrameMaker этих версий.

1 декабря 2003 г. корпорация Adobe анонсировала версию FrameMaker 7.1, являющуюся актуальной на момент написания последней редакции данной статьи. Версия 7.1 полностью совместима по формату файлов с версией 7.0, изменения касаются дополнительных возможностей: в комплект входит Acrobat Distiller 6.0, добавлен прямой импорт файлов Adobe Photoshop и некоторых других, улучшена поддержка XML, другие улучшения.

До сих пор оригинальная поставка пакета FrameMaker имеет ряд проблем при редактировании русскоязычных текстов. Adobe официально вообще отказывается от поддержки русского и многих других языков. В результате документация может выглядеть недостаточно профессионально, некоторые возможности программы недоступны, происходят непонятные сбои. Устранению этих проблем и посвящена настоящая статья.

Проблемы с кириллицей

Проблема 1: некорректная работа с некоторыми русскими буквами: "ё", "р", "ч", "э", "ю" (неверно работают Ctrl+стрелки, пропадают при экспорте и т. п.). В других центрально- и восточно-европейских языках аналогичные проблемы с символами, которые имеют те же коды.

Проблема 2: отсутствие средств проверки орфографии (spelling checker).

Проблема 3: отсутствие поддержки переноса слов (hyphenation).

Проблема 4: невозможность вести личный словарь (для коррекции орфографии и переносов — personal dictionary).

Проблема 5: неверная кодовая страница закладок в файлах PDF.

Проблема 6: неверное упорядочивание алфавитного указателя (индекса).

Проблема 7: некорректная работа с HTML & XML (SGML).

Проблема 8: проблемы с форматами Microsoft Word Doc/RTF.

Проблема 9: невозможность индексации файлов PDF (и нек. другие проблемы).

Корень зла состоит в том, что FrameMaker не является (до сих пор) Unicode-ным приложением.

Так что, оценив эти проблемы, техническому писателю или его менеджеру следовало либо вздохнуть и закрыть на них глаза, либо отказаться от FrameMaker (например, в пользу программы InterLeaf, ныне выпускаемой компанией BroadVision — этот сложный eContent пакет также является серьёзным средством ведения документации и, по некоторым сведениям, обладает полноценной поддержкой кириллицы).

Однако исследование показало, что есть способы побороть практически все проблемы (исключая некоторые детали, рассмотренные ниже).

<наверх>

Проблемы №№1-5 — базовые

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

Подключение этих словарей и исправление основных ошибок, препятствующих работе с русским языком (т. е. решение проблем №№1-5) производится применением заплатки, обнаруженной в Сети (авторство установить не удалось). Она не является взломом продукта Adobe, а лишь устраняет досадные ошибки и ограничения, поэтому мы публикуем здесь эту заплатку. Работа FrameMaker остается 100% стабильной, если всё сделано правильно.

Очевидно, для поддержки других языков возможно изготовление аналогичных заплаток. Если существует словарь Proximity на нужном языке, то есть возможность подключить эту проверку орфографии к FrameMaker.

Для подключения русских словарей жертвуется норвежским диалектом Nynorsk: он должен быть установлен в системе, после применения заплатки он исчезает, вместо него появляется "Russian" (при выборе языка в Character Designer и Paragraph Designer).

Словари Proximity поставляются в составе Adobe Photoshop и Adobe InDesign. Видимо, отсутствие их в FrameMaker объясняется его относительно меньшей распространённостью в России. Остаётся надеяться, что ситуация будет меняться, и мы когда-нибудь увидим версию Adobe FrameMaker CE (см. также http://www.adobeceea.com/).

Дополнительные улучшения русификации, причём не только для FrameMaker, а для создания файла Adobe PDF любыми средствами, достигаются применением Prologue.PS Аркадия Мальцона (см. ниже).

Что нужно сделать, чтобы применить заплатку:

1. Найти словари и скопировать их в нужное место.

2. Поместить в папку FrameMaker файлы заплатки.

3. Применить заплатку.

<наверх>

1. Словари

Лучше взять файлы от InDesign последней версии. Словари от Photoshop  недостаточно совместимы: проверка орфографии с ними работать не будет.

Какие файлы необходимо взять:

  • rus12.clx (обязательно тот, который 32,805 байтов; он может называться rus32.clx — тогда переименовать);
  • rusphon.env
  • rus.hyp
  • rus.lex (это может быть rus101.lex — переименовать; файл от Photoshop 1255209 байтов не подходит, FrameMaker будет падать; надо брать от InDesign 1245184 байтов; если его нет — брать исходный eng.lex FrameMaker'а, переименовывать его в rus.lex, и заменять идентификатор языка в нем по адресу 0x100 на 12 (hex) — это можно сделать, например, с помощью Volkov Commander — тогда орфография работать не будет, но переносы будут);
  • hyphens.rus (этот текстовый файл просто создать с нуля; он потом выбирается как Personal Dictionary. Формат следующий: первая строка содержит только следующий текст: "<MakerDictionary 2.0>", остальные строки - слова-исключения и добавления к словарю, дефис вставляется там, где разрешён перенос, а если это слово переносить нельзя, дефис идёт первым символом. Однако автору так и не удалось заставить FrameMaker корректно добавлять в этот файл и читать из него слова, содержащие кириллические символы (см. ниже).

Все полученные файлы копируются в директорию "C:\Program Files\Adobe\FrameMaker7.0\dict" (или аналогичную).

Если все файлы взяты из InDesign, работает всё, и работа FrameMaker 100% стабильна. Иначе при попытке запуска проверки орфографии FrameMaker закроется по GPF,  в других ситуациях проблем не замечено.

<наверх>

2. Копирование заплатки

Если установлена версия FrameMaker 6.0 (билд b405), то скачайте архив FM60Cyr.zip.

Если установлена изначальная версия FrameMaker 7.0 (билд b492), то скачайте архив FM70Cyr.zip.

Если установлена версия FrameMaker 7.0 и FM7Patch (билд b576), то скачайте архив FM70b576Cyr.zip.

Если установлена версия FrameMaker 7.0 и fm_70p578_updater_all.exe (билд b578), то скачайте архив FM70b578Cyr.zip.

(Применение других обновлений Adobe для версии 7.0 (UKFM7Patch, FM7fltpatch) на ситуацию не влияет.)

Если установлена версия FrameMaker 7.1 (билд b023), то скачайте архив FM71b023Cyr.zip. (Новое!)

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

Оба файла из загруженного архива поместите в папку "C:\Program Files\Adobe\FrameMaker7.0" (или аналогичную).

Список корректируемых файлов ниже — их можно сохранить в исходном виде на всякий случай:

  • filters\w042f32w.dll
  • filters\w042t32w.dll
  • fminit\fmres.dll
  • FrameMaker.exe

<наверх>

3. Применение заплатки

  1. Закройте пакет FrameMaker, если он открыт.
  2. Запустите файл cracker.exe, распакованный из архива. Откроется консольная программа с простым интерфейсом в виде меню из нескольких пунктов. Какие пункты следует выбирать в каких случаях:
    • в большинстве случаев русскоязычных публикаций рекомендуется поставить 1, 2а (Unicode) и 3;
    • для центрально-европейских языков 1, 2b и 3;
    • при использовании prologue.ps Аркадия Мальцона, предлагаемого на российском представительстве Adobe (http://www.adobe.ru/forum/f_acrobat101.html) для исправления также некоторых других проблем с кириллицей, - 1, 2с и 3.
    Вообще, из подпунктов 2 всегда ставится только один. Это разные варианты решения проблемы русских символов в закладках (bookmarks) в экспортируемых файлах формата Adobe PDF.
  3. Запустите FrameMaker. Должная появиться поддержка русского языка.

<наверх>

Примечания

Дополнительные комментарии Андрея Янышевского:
"а) FrameMaker использует символы FD и DA внутренней кодировки для каких-то своих целей. Поэтому символы A0 (160) и 7F (127), которые маппятся на эти символы, не отображаются на экране. б) После применения заплатки разрешен импорт/экспорт всех символов в форматы DOC/RTF за одним исключением: так как модуль импорта/экспорта перекодирует только вторую половину ASCII таблицы, то символ 7F (127) не перекодируется при импорте. Поэтому этот символ при импорте просто игнорируется. В то же время экспортируется он корректно."

Русский тезаурус отсутствует.

Подробнее о проблеме №4:
Единственная функция, которая недоступна даже после заплатки — добавление слов с символами из верхней половины ASCII таблицы в personal dictionary. FrameMaker по-прежнему вставляет вместо них ASCII коды текстом, которые потом невозможно использовать. Похоже, что при записи в словарь он, встречая свои "нелюбимые" символы ("ч", "р" и т. д.), считает их ошибочными. Это выглядит так, что при попытке добавить русское слово FrameMaker либо сообщает об ошибке, либо добавляет слово в словарь, но некорректно, и использовать его уже не может.
Так что этот словарь можно использовать лишь как список, например, английских слов и названий, встречающихся в русском тексте.

<наверх>

Проблема №5 — альтернативное решение

Для решения проблемы №5 существует другое радикальное решение, которое также привносит некоторые дополнительные возможности по оформлению файлов PDF.

Это решение — утилиты Шломо Переца (http://www.microtype.com/). Закладки в Unicode достигаются с помощью утилиты SP Time Saver. Данные утилиты коммерческие, но не слишком дорогие.

Существовало также решение по ручному редактированию закладок, но вряд ли оно интересно при больших объёмах информации.

<наверх>

Проблема №6 — алфавитный указатель

Решение этой проблемы описано в следующей книге: В. И. Головач, В. В. Головач "Adobe FrameMaker 6, Учебный курс. Подготовка кириллических публикаций", глава 25.6.

В двух словах, суть его в том, что на Reference Pages для алфавитного указателя необходимо перечислить буквы русского алфавита.

<наверх>

Проблема №7 — HTML/XML/SGML

Основное отличие седьмой версии FrameMaker - в полной двусторонней поддержке документации в формате markup (XML, SGML) за счет интеграции и развития возможностей, ранее имевшихся только в специализированной версии FrameMaker+SGML.

FrameMaker 7.0 способен экспортировать HTML, импортировать и экспортировать XML (SGML). Версия 7.1 умеет это ещё лучше. Однако XML Schemas не поддерживаются.

Настройка экспорта русского HTML/XML

По умолчанию кириллический текст обрабатывается неправильно (проблема с кодировкой). Проблема эта излечима адаптацией правил экспорта файлов в форматах языков разметки. Вы можете скорректировать их сами или скачать готовый файл CyrHtmlXml.fm и импортировать оттуда Reference Pages (если в Ваших документах уже содержится важная информация в Reference Pages, делать этого, конечно, не следует).

Как настроить экспорт вручную:

1. Откройте Reference Page документа или его шаблона. Найдите страницу "HTML" или "XML", их структура аналогична.

2. В таблице "HTML/XML Options Table" отредактируйте или добавьте строки "Export Encoding = windows-1252" & "CSS Export Encoding = windows-1252".

3. Убедитесь, что макросы для подстановки текста (например, в таблице "Cross-Reference Macros" русифицированы ("See also" > "См. также" и т. д.)

4. В таблице "Character Macros" добавьте строки для всех русских букв в обоих регистрах. Их необходимо заменять на соответствующие коды вида "&#1025;".

<наверх>

Средства кросс-экспорта через формат MIF

Известны средства третьих фирм, поддерживающие выход в форматах HTML, XML, а также HTMLhelp, WinHelp, Microsoft Word Doc/RTF и некоторых других путём промежуточного экспорта из FrameMaker'а через формат MIF. С их помощью можно добиться более адекватного представления документации в перечисленных форматах. Главные средства этого рода:

Первое средство является недорогим и достаточно простым в работе и освоении средством, выполненным в виде plug-in'а к FrameMaker, призванных улучшить качество показа и печати экспортируемых документов. Создание справки также поддерживается.

Второе — дорогая, сложная система, ориентированная на создание справки (online help) различных форматов из документов FrameMaker'а, со встроенным языком сценариев и богатым набором возможностей, требующая, однако, большего времени на освоение и внедрение.

Эти системы поддерживают русскоязычные (и на других языках) публикации и FrameMaker версий 5.5 – 7.x. Для кириллицы может понадобиться донастройка (WWP для версий 7.x впервые имеет встроенную поддержку русской кодовой страницы).

Говоря о формате HTMLhelp, хочется отметить, что существует также способ создания такой справки через экспорт XML из структурированных документов FrameMaker (только начиная с версии 7.0), которые после экспорта обрабатываются специальными XML-процессорами.

<наверх>

Проблема №8

Оставляют желать лучшего импорт и экспорт текстовых форматов Microsoft — Word Doc и RTF (Rich Text Format). Русскоязычные тексты конвертируются ещё хуже, чем другие. Хотя стоит признать, что от версии к версии качество работы и стабильность конверторов возрастает; многие документы можно импортировать с помощью FrameMaker 7.0 и читать без пост-подготовки. Остаётся надеяться, что в один прекрасный день получаемые документы станут совсем адекватными.

Эти проблемы — "блуждающие", в одной конфигурации могут "всплывать" одни из них, в другой — иные.

Существует несколько приёмов борьбы с этими трудностями.

Если при вставки из буфера обмена вместо русского текста формата RTF появляется мусор, можно вставлять его как простой текст (Paste special... | Text). Александр Бороухин боролся с этим написанием plug-in'а на FDK, который эмулирует вставку через импорт.

Если не удаётся импортировать большой файл Word Doc (FrameMaker "виснет", сообщает об ошибке и т. п.), или вместо русских символов появляются неисправимые каракули, можно сохранить и импортировать его через формат RTF (иногда наоборот), либо нарезать на несколько файлов меньшего размера.

Если проблемы возникают при экспорте русского файла в формат Word Doc, можно либо сохранить его как RTF (и наоборот), либо прибегнуть к средствам утилиты Mif2Go или подобной (см. Cредства кросс-экспорта через формат MIF).

Часто портятся кириллические имена стилей (форматов) при импорте. Рекомендуется избегать таких имён.

Часто бывает, что FrameMaker конвертирует русский текст правильно, но расставляет неверные шрифты.

<наверх>

Проблема №9

В версиях Adobe Acrobat ранее 7.0 английская поставка не умеет индексировать файлы Adobe PDF (как созданные FrameMaker, так и любыми иными средствами), содержащие кириллические публикации. Поиск слов или выражений в таких файлах не работает ни с помощью команды Find, ни Search (Index). Для работы с кириллическими текстами необходимо использовать адаптированную для Центральной и Восточной Европы версию Adobe Acrobat CE (выпущены версии CE для всех модификаций Acrobat: Reader, Acrobat (5.x), Pro (6.x), Standard (6.x); версия Adobe Reader 6.0 CE существует и с успехом используется автором, но по неизвестной причине на официальных сайтах Adobe она убрана).

Для поиска по кириллическому тексту в Acrobat 5.05 CE добавлена специальная утилита TextSpy. Её функции и интерфейс схожи с Search Index, скорость работы даже выше.

Начиная с версии Acrobat 6.0 CE утилита TextSpy отсутствует, так как заявлена корректная работа с кириллическими текстами обычного индексатора.

Кроме проблемы с поиском, версии CE решают проблемы ввода русского текста в комментариях, формах и прочих аналогичных местах.

С 2005 года доступна версия Adobe Acrobat 7 Russian, которая позже войдёт в Adobe Creative Suite 2. Версии с суффиксом "CE" более не выпускаются. Эта версия интересна тем, что позволяет переключать язык интерфейса между русским и английским после установки. Поддержка кириллицы при этом остаётся.

<наверх>

Выводы

Моё личное резюме по итогам проведённых исследований таково, что FrameMaker, желательно версии 7.0 или 7.1, можно использовать для крупной системы русскоязычной документации, получая на выходе файлы PDF, HTML, XML профессионального качества.

С пакетом FrameMaker автор статьи профессионально работает c 1997 года, работает и поныне. FrameMaker успешно использовался при подготовке публикаций на многих языках, включая английский, немецкий, русский, чешский и многие другие. До 2002 года применение FrameMaker для публикаций на центрально- и восточноевропейских языках было сопряжено с трудностями, документы не обладали достаточным уровнем качества.

Первая редакция этой статьи вышла в декабре 2002 года.

В течение 2003 года автор создал новую большую систему документации (для компании Монолит-Инфо, http://www.monolit.com/) на основе FrameMaker 7.0 и Adobe Acrobat 5.05 CE. Почти вся эта документация написана на русском языке. Применимость данных средств для создания высококачественных публикаций с использованием кириллицы можно считать доказанной.

<наверх>

Благодарности

Автор благодарит всех, кто помог при подготовке данной статьи:

Ирину Николаеву
Владимира Головача
Игоря Быкова
Андрея Янышевского
Сергея Леонтьева
Александра Бороухина

<наверх>



 
uCoz
 

Ссылки:

Links:

FrameMaker-DITA Group Новое!

Fido7.RU.DTP group

techwriter.rarus.ru

FrameUsers.com

www.rudtp.ru

www.microtype.com

www.omsys.com

www.adobe.ru

www.frame-user.net

framescript.de