Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CRichEditCtrl и символ тире


Автор: Albor 1.4.2011, 22:25
Столкнулся с тем, что символ тире некорректно отображается при чтении rtf-файла в CRichEditCtrl. Некорректность в том, что символ  тире заменяется на дефис (минус). Сам файл читается корректно. В функцию StreamIn() символ тире попадает в виде ключевого слова \endash (либо \emdash), но, видимо, дешифратор CRichEditCtrl, при расшифровке не ищет нужный символ, а подставляет дефис. Если я меняю ключевое слово на \'97, то есть заменяю на код символа тире, то отображение нормальное. Что интересно, при сохранении в rtf файл, тире нормально шифруется в  \endash (либо \emdash). Получается, что контрол нормально отрабатывает при записи и неправильно при чтении файла. Кто-то может что подсказать по этой теме? Менять в буфере чтения все \endash на \'97 мне кажется не совсем правильным.

Автор: Albor 2.4.2011, 14:59
Вобщем, я решил проблему, написав утилитку, заменяющую во всех нужных мне файлах ключевые слова на соответствующий код. Поскольку эти файлы перезаписываться не будут, утилитка нужна только один раз. Но, всё-же, если есть какие соображения - буду благодарен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)