Home » Работа в InDesign

Потеря текста при импорте файлов — кто виноват и что делать

3 Август 2010 9 Comments

На нашем сайте уже обсуждалась эта проблема. Но решение использовать надежно работающую версию InDesign CS3 не объясняло, в чем причина потери данных. Обсуждение этой проблемы с Игорем Батовым стало стимулом иначе взглянуть на эту проблему, сформулировать иной запрос поиска информации в сети Интернет.
И вот что из этого вышло.

Windows

Суть проблемы

В архиве есть два файла, RUS-EXAMPLE.DOC и RUS-EXAMPLE.RTF, оба имеют 243 сноски, но при импорте первого в верстке обнаруживается 192 сноски, при импорте второго — 41.

Попытка обсудить эту проблему на форуме бета-тестеров InDesign CS5 ни к чему не привела — два известных гуру заявили, что у них на маке и РС все ОК.

Но после выхода версии CS5 обсуждение этой проблемы на forum.rudtp.ru подтвердило, что со сносками всё же не всё ладно.

Сузив поиск до первых 14 сносок, выяснилось, что если в тексте есть буллиты, поставленные как знаки из гарнитуры Symbol, то они гробят сноски в файле RTF. А в тестируемом DOC-файле пропадают сноски, идущие после закрывающей кавычки.

Про пропадание сносок после закрывающей кавычки, встречающееся в DOC-файлах, пока ничего сказать не могу. Будет информация из интернета или посетителей сайта, поделюсь.

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

Что, если заменить эти буллиты на обычные дефисы?

Не тут-то было!!

Символы берутся в буфер, вставляются в поле «Найти» окна «Найти и заменить», но замена не выполняется!

Понять в чем дело, помог поиск в интернете. Ответ был найден на сайте http://word.mvps.org/

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

Word работает с символами таким образом, что, если, например, используется гарнитура Times New Roman, то после вставки буквы из гарнитуры Symbol программа будет показывать, что эта буква принадлежит гарнитуре Times New Roman. А подстановка в текст нужного знака из Symbol выполняется программным анализом глифов неюникодных символов. Но при импорте текста в программах InDesign CS4 и InDesign CS5 эта связка юникодных и неюникодных знаков рушится (хотя InDesign CS3 о ней знает и всё выполняет корректно).

Для желающих в архиве есть страничка с подробным объяснением (FindReplaceSymbols.zip), и набор полезных макросов (Macros9.zip). Возвращаясь к задаче замены буллитов на дефисы, её теперь можно решить макросом Find Symbol из этого набора:

Lost-footnotes01

Все работает, как из пушки!

Щелчок на кнопке Symbol, и в окне выбираем символ с десятичным кодом 183, это тот самый буллит.

Lost-footnotes02

Теперь надо выбрать — на что заменить этот символ.

Lost-footnotes03

Можно заменить выбранный символ на другой, или на текст. В этом примере введено в квадратных кавычках слово [marker].

Этот текст сохранен как +US-EXAMPLE.RTF. После импорта число сносок в верстке стало 243.

Эта проблема будет и с другими символами из гарнитуры Symbol — стрелочками, греческими буквами, пиками, бубнами (танцы с бубнами).  Опыт повторяем, несложно сделать свой перечень, поставить в начале каждой строки буллит из гарнитуры Symbol (Вставка > Символ… > Шрифт Symbol), сохранить файл как RTF, и убедиться, что потеря текста при импорте обусловлена именно появлением в тексте знаков гарнитуры Symbol.

Так что, если у вас рабочий инструмент InDesign CS4 или InDesign CS5, то прежде чем верстать текст, надо убедиться, что число сносок в исходном тексте и импортированном совпало. Лучше сделать это в начале работы, Поэтому надо перед импортом заменить знаки гарнитуры Symbol при помощи описанного ранее макроса.

Инструмент нуждается в совершенствовании

И найденный макрос — не панацея, т.к. может быть неучтенный символ, который приведет к частичной потере текста. Поэтому представляется, что если верстальщик в начале работы будет знать, какие в принесенной верстке знаки из гарнитуры Symbol, то он примет меры, чтобы не потерять их при импорте.  Поэтому хотелось бы, чтобы кто-нибудь из знатоков Visual Basic доработал бы этот макрос. Исходный текст доступен. Задача простая — искать знаки гарнитуры Symbol в диапазоне кодов 33 – 255, и окрашивать найденные знаки красным цветом.

А уж потом пользователи решат, как сохранить каждый из окрашенных знаков.

Может, кто возьмется усовершенствовать этот инструмент поиска-замены?

Макинтош

Эксперименты с этими файлами на макинтоше дали такой результат: DOC-файл импортировался без проблем, в вёрстке 243 сноски, как и в исходном файле; RTF-файл — проблемы с импортом; в программе Word буллиты ищутся и заменяются без проблем; а вот макросы не работают. (видимо, они там не нужны)

***

Пока готовилось это сообщение, на RUDTP появилось обсуждение схожей проблемы:

http://forum.rudtp.ru/showthread.php?t=44485

Михаил Иванюшин

Скачать тестовые примеры и макросы

Скачать эту статьюе в формте MS Word

На нашем сайте уже обсуждалась эта проблема: http://adobeindesign.ru/2010/05/05/ms-word-to-indesign-cs4-word-macros/

Но решение использовать надежно работающую версию InDesign CS3 не объясняло, в чем причина потери данных. Обсуждение этой проблемы с Игорем Батовым стало стимулом иначе взглянуть на эту проблему, сформулировать иной запрос поиска информации в сети Интернет.
И вот что из этого вышло.

Windows

Суть проблемы

В архиве есть два файла, RUS-EXAMPLE.DOC и RUS-EXAMPLE.RTF, оба имеют 243 сноски, но при импорте первого в верстке обнаруживается 192 сноски, при импорте второго — 41.

Попытка обсудить эту проблему на форуме бета-тестеров InDesign CS5 ни к чему не привела — два известных гуру заявили, что у них на маке и РС все ОК.

Но после выхода версии CS5 обсуждение этой проблемы http://forum.rudtp.ru/showthread.php?t=41852&page=6 — посты 107-119 подтвердило, что со сносками всё же не всё ладно.

Сузив поиск до первых 14 сносок, выяснилось, что если в тексте есть буллиты, поставленные как знаки из гарнитуры Symbol, то они гробят сноски в файле RTF. А в тестируемом DOC-файле пропадают сноски, идущие после закрывающей кавычки.

Про пропадание сносок после закрывающей кавычки, встречающееся в DOC-файлах, пока ничего сказать не могу. Будет информация из интернета или посетителей сайта, поделюсь.

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

Что, если заменить эти буллиты на обычные дефисы?

Не тут-то было!!

Символы берутся в буфер, вставляются в поле «Найти» окна «Найти и заменить», но замена не выполняется!

Понять в чем дело, помог поиск в интернете. Ответ был найден на сайте http://word.mvps.org/

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

Word работает с символами таким образом, что, если, например, используется гарнитура Times New Roman, то после вставки буквы из гарнитуры Symbol программа будет показывать, что эта буква принадлежит гарнитуре Times New Roman. А подстановка в текст нужного знака из Symbol выполняется программным анализом глифов неюникодных символов. Но при импорте текста в программах InDesign CS4 и InDesign CS5 эта связка юникодных и неюникодных знаков рушится (хотя InDesign CS3 о ней знает и всё выполняет корректно).

Для желающих в архиве есть страничка с подробным объяснением (FindReplaceSymbols.zip), и набор полезных макросов (Macros9.zip). Возвращаясь к задаче замены буллитов на дефисы, её теперь можно решить макросом Find Symbol из этого набора:

Все работает, как из пушки!

Щелчок на кнопке Symbol, и в окне выбираем символ с десятичным кодом 183, это тот самый буллит.

Теперь надо выбрать — на что заменить этот символ.

Можно заменить выбранный символ на другой, или на текст. В этом примере введено в квадратных кавычках слово [marker].

Этот текст сохранен как +US-EXAMPLE.RTF. После импорта число сносок в верстке стало 243.

Эта проблема будет и с другими символами из гарнитуры Symbol — стрелочками, греческими буквами, пиками, бубнами (танцы с бубнами J).  Опыт повторяем, несложно сделать свой перечень, поставить в начале каждой строки буллит из гарнитуры Symbol (Вставка > Символ… > Шрифт Symbol), сохранить файл как RTF, и убедиться, что потеря текста при импорте обусловлена именно появлением в тексте знаков гарнитуры Symbol.

Так что, если у вас рабочий инструмент InDesign CS4 или InDesign CS5, то прежде чем верстать текст, надо убедиться, что число сносок в исходном тексте и импортированном совпало. Лучше сделать это в начале работы, Поэтому надо перед импортом заменить знаки гарнитуры Symbol при помощи описанного ранее макроса.

Инструмент нуждается в совершенствовании

И найденный макрос — не панацея, т.к. может быть неучтенный символ, который приведет к частичной потере текста. Поэтому представляется, что если верстальщик в начале работы будет знать, какие в принесенной верстке знаки из гарнитуры Symbol, то он примет меры, чтобы не потерять их при импорте.  Поэтому хотелось бы, чтобы кто-нибудь из знатоков Visual Basic доработал бы этот макрос. Исходный текст доступен. Задача простая — искать знаки гарнитуры Symbol в диапазоне кодов 33 – 255, и окрашивать найденные знаки красным цветом.

А уж потом пользователи решат, как сохранить каждый из окрашенных знаков.

Может, кто возьмется усовершенствовать этот инструмент поиска-замены?

Макинтош

Эксперименты с этими файлами на макинтоше дали такой результат: DOC-файл импортировался без проблем, в вёрстке 243 сноски, как и в исходном файле; RTF-файл — проблемы с импортом; в программе Word буллиты ищутся и заменяются без проблем; а вот макросы не работают. (видимо, они там не нужны J )

***

Пока готовилось это сообщение, на RUDTP появилось обсуждение схожей проблемы

http://forum.rudtp.ru/showthread.php?t=44485

Михаил Иванюшин

9 Comments »

  • Dorm said:

    Не проще ли использовать проверенный ЦС3. Какая разница что дополнительно запускать макрос или ЦС3. В макросе еще нужно искать какие символы заменить. В ЦС3 загрузил файл, сохранил, открыл в ЦС4 – все.

  • admin (author) said:

    Не у всех есть CS3. Да и он не всегда спасает.

  • Dorm said:

    Спасает он всегда. Меня по крайней мере. И пользую портавл версию.

  • iv-mi said:

    После установки последнего обновления, теперь версия 7.0.2, при импорте этих тестовых RTF-файлов сноски не потерялись. С DOC-файлами по-другому: число сносок стало другим, но оно так и не стало 243.

  • admin (author) said:

    На сайте Ulrich-media (http://blogs.ulrich-media.ch/2010/08/indesign-waschgang-fur-word-files.html) опубликован совет, и если я правильно понял машинный перевод с немецкого, то помогает открытие Word-файла в Open Office и сохранение его в RTF формат с последующим импортом в InDesign. По мнению автора публикации происходит очистка файла от мусора, из-за которого происходит сбой сносок. Буду пробовать.

  • art® said:

    Михаил, это работает! 243 сноски.
    Более того, не обрывает текст на стрелках, («химическая» проблема, помните?).

  • iv-mi said:

    Химическую проблему помню.
    Остается только мечтать, чтобы появилось обновление CS4, исправляющее эту ошибку.

  • art® said:

    «Химическая» проблема в CS4 этим тоже решается.
    А вот сноски, увы, выпадают. (Win7, CS4 6.0)

  • admin (author) said:

    Тестовый файл rtf с 243 сносками пересохранил через OpenOffice опять же в rtf, поместил в InDesign CS4. Все сноски сохранены, потерь нет.

Leave your response!

You must be logged in to post a comment.