Я создал инструмент управления контентом, который позволяет команде разработчиков создавать и управлять продуктом, который экспортируется на веб-сайт, а другой группе дизайнеров создавать печатную рекламу для газет, отображающую те же данные о продукте.
Моя проблема связана с графическими дизайнерами InDesign и макросами, которые они используют в InDesign. Макросы могут копировать/вставлять текст/данные и автоматически форматировать текст внутри InDesign в зависимости от наличия определенных символов. В частности, команда дизайнеров использует в своих макросах табуляцию, «мягкий разрыв строки» (возврат со сдвигом) и обычный разрыв строки (жесткий возврат).
Прямо сейчас я генерирую блок текста с записями и нужными символами форматирования в классе java, а затем отправляю его через DWR на сторону клиента. Когда требуется символ табуляции, который я отправляю \t, возвращается \r, и я надеялся, что мягкий разрыв строки будет \n, однако InDesign, похоже, рассматривает как \r, так и \n как обычный разрыв строки.
Я отказался от возможности передать мягкий возврат до вчерашнего дня, когда я наткнулся на Unicode (мягкий разрыв строки) и (обычный разрыв строки). Я пробовал выводить оба этих символа вместо \r и \n в надежде, что InDesign может воспринимать эти символы по-другому. В боксе, который дизайнеры копируют вывод из него, похоже, что никакого персонажа там нет. В тех местах, где я специально указал , нет разрыва строки. Когда я копирую/вставляю вывод в текстовый редактор, он показывает мне, что там есть нераспознанный символ (он отображается в виде прямоугольника с вопросительным знаком вокруг него).
Платформа — Java/MySQL, работающая на Tomcat.
На сегодняшний день мне не приходилось слишком много иметь дело с кодировкой символов в этом приложении. В заголовке установлено <meta charset="utf-8" />
, но пока это все. Я попытался установить это на utf-16, но это не меняет вывод. Для всех таблиц в базе данных MySQL установлено значение utf8/utf8_general_ci.
Мысли? Как заставить InDesign копировать/вставлять текст и распознавать все его символы, поддерживающие макросы? На самом деле, это просто мягкие разрывы строк, которые он не распознает. ПОМОЩЬ! :)
Спасибо. Извините, что так долго!
Райан В.
\n
как мягкий разрыв строки в скопированном тексте. Можете ли вы подтвердить, что ваш код все еще содержит этот символ? Возможно, он уже потерян в вашей процедуре копирования/вставки. - person Jongware   schedule 12.11.2013