Потеря текста при импорте файлов — кто виноват и что делать
На нашем сайте уже обсуждалась эта проблема. Но решение использовать надежно работающую версию 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 из этого набора:
Все работает, как из пушки!
Щелчок на кнопке Symbol, и в окне выбираем символ с десятичным кодом 183, это тот самый буллит.
Теперь надо выбрать — на что заменить этот символ.
Можно заменить выбранный символ на другой, или на текст. В этом примере введено в квадратных кавычках слово [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
Михаил Иванюшин
Не проще ли использовать проверенный ЦС3. Какая разница что дополнительно запускать макрос или ЦС3. В макросе еще нужно искать какие символы заменить. В ЦС3 загрузил файл, сохранил, открыл в ЦС4 — все.
Не у всех есть CS3. Да и он не всегда спасает.
Спасает он всегда. Меня по крайней мере. И пользую портавл версию.
После установки последнего обновления, теперь версия 7.0.2, при импорте этих тестовых RTF-файлов сноски не потерялись. С DOC-файлами по-другому: число сносок стало другим, но оно так и не стало 243.
На сайте Ulrich-media (http://blogs.ulrich-media.ch/2010/08/indesign-waschgang-fur-word-files.html) опубликован совет, и если я правильно понял машинный перевод с немецкого, то помогает открытие Word-файла в Open Office и сохранение его в RTF формат с последующим импортом в InDesign. По мнению автора публикации происходит очистка файла от мусора, из-за которого происходит сбой сносок. Буду пробовать.
Михаил, это работает! 243 сноски.
Более того, не обрывает текст на стрелках, («химическая» проблема, помните?).
Химическую проблему помню.
Остается только мечтать, чтобы появилось обновление CS4, исправляющее эту ошибку.
«Химическая» проблема в CS4 этим тоже решается.
А вот сноски, увы, выпадают. (Win7, CS4 6.0)
Тестовый файл rtf с 243 сносками пересохранил через OpenOffice опять же в rtf, поместил в InDesign CS4. Все сноски сохранены, потерь нет.