[ID CC-CC2022] Пропажа диакритки в части текста при импорте в ИнДизайн из Ворда

  • Автор темы Автор темы Dmitrij M
  • Дата начала Дата начала
потому что ходило долго поверье, что rtf лучше чем docx. И на это были причины (сноски что ли слетали, али ещё чего).
Но раз умляуты, то видим, что есть новое поверье юзать doc, а не ртф/докикс.
Сноски и в доке слетают, и в ртфе... :( Ручками все 200 штук...
 
в rtf со сносками было получше, но в cs3. последующие версии уже лучше втягивали docx.
 
У нас статистика – около 150 книг за каждый год. Верстальщица выбрала rtf как самый надежный тип текста для верстки.
 
))) а я повторюсь - обманула тебя верстальщица)))
 
Новое ))) а я повторюсь - обманула тебя верстальщица)))
Для нее нет никакого смысла меня обманывать. Рабочий процесс построен таким образом, что вся ответственность за процесс по ее стороне. Я занимаюсь другими делами. А топик завел по своей инициативе, чтобы выяснить причины проблемы. Книжка сдана в корректуру еще ДО создания топика.
 
Андрей, ты не прав, у тебя нет оснований делать такие выводы, но не вижу смысла оправдываться. Собственно, это не важно.
Важно, что пока решения, как свести разные кодировки внутри одного файла к одной не найдено.
 
найдено) использовать doc
 
@George, у пана макросы в ворде.
 
К чёрту doc, даёшь совместную работу в InCopy—InDesign!'))'
Жора, ИнКопи попробовали вчера – фильтры импорта те же самые. А сделать какие-либо изменения в воркфлоу издательства-заказчика для меня невозможны.
 
да Жора просто в задачу не вник)))
 
А сделать какие-либо изменения в воркфлоу издательства-заказчика для меня невозможны.
купи им инкопи помесячно и пусть тебе сразу набирают там. Да тяжело. Да, репрессии.
 
а ты фантазёр, брат
 
Важно, что пока решения, как свести разные кодировки внутри одного файла к одной не найдено.
Можно попробовать прогнать текст таким макросом (здесь замены - для конкретного польского текста, их можно дополнить при необходимости):
Код:
Sub ReplaceSomeUnicodes()

Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting

ActiveDocument.Content.Find.Execute FindText:=ChrW(211), ReplaceWith:=ChrW(211), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(243), ReplaceWith:=ChrW(243), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(260), ReplaceWith:=ChrW(260), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(261), ReplaceWith:=ChrW(261), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(262), ReplaceWith:=ChrW(262), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(263), ReplaceWith:=ChrW(263), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(280), ReplaceWith:=ChrW(280), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(281), ReplaceWith:=ChrW(281), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(321), ReplaceWith:=ChrW(321), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(322), ReplaceWith:=ChrW(322), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(323), ReplaceWith:=ChrW(323), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(324), ReplaceWith:=ChrW(324), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(346), ReplaceWith:=ChrW(346), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(347), ReplaceWith:=ChrW(347), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(379), ReplaceWith:=ChrW(379), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False
ActiveDocument.Content.Find.Execute FindText:=ChrW(380), ReplaceWith:=ChrW(380), Replace:=wdReplaceAll, MatchCase:=True, MatchWildcards:=False

End Sub

Символы с диакритикой будут просто перенабраны заново.
 
  • Спасибо
Реакции: Dmitrij M
Лёнь. тыж сам ранее показывал, что в проблемных местах иная кодировка (абсолютно непонятная)
 
Лёнь. тыж сам ранее показывал, что в проблемных местах иная кодировка (абсолютно непонятная)
Андрей, представляешь, чудо там какое: если просто определять юникод в подсвеченном тексте тыком, то номер не вылазит, на всех тупо "40"! И если пытаться записать макрос замены такого символа, скопированного из подсвеченного жёлтым текста, то в строке поиска - открывающая скобка (та самая "40")! Но вот обычным поиском ищутся и подсвеченные, и неподсвеченные символы! И замена вставляет в подсвеченный текст правильный символ!
Объяснения этому чуду я не нашёл.
Но работает.
 
  • Спасибо
Реакции: andrejK