Привет всем! Уважаемые, прошу совета.
Задача.
Данные по людям хранятся в таблице.
Используется текстовый Шаблон с переменными типа: ФИО, ДатаРождения и т.п. в формате RTF.
Программа заменяет переменные шаблона на значения из строки таблицы, затем полученный документ сохраняется с новым именем в формате RTF.
Используется контрол RTFTextControl, в который загружается содержимое RTF-шаблона.
Затем производится замена переменных на значения из строки таблицы, после чего полученное содержимое сохраняется с новым именем.
Проблема:
После открытия полученного таким образом итогового RTF-файла выяснилось, что все шрифты в нем изменились по сравнению с
исходным RTF-шаблоном. К первоначальному имени шрифта добавляется CYR.
Например, если в исходном шаблоне был шрифт "Arial", а в итоговом файле стал шрифт "Arial CYR", а вместо "Times New Roman"
становится "Times New Roman CYR".
При этом изменяется форма символов - они становятся уже и выше, чем были в исходном шрифте.
В результате, если шаблон входил на одну страницу, то итоговый документ уже занимает больше одной страницы.
После экспериментов выяснил, что замены на шрифт не влияют. Если просто загрузить в RTFTextControl RTF-шаблон и, сразу
сохранить с новым именем, то шрифты сразу портятся.
Похоже, что Clarion при открытии шаблона сразу некорректно меняет кодировку шрифта. Потому, что если разместить в окне с заполненным из шаблона RTFTextControl-ом соответствующий ему RTFToolBar, затем вручную на экране выделить весь текст и через RTFToolBar выбрать CHARSET, причем неважно какой - "ЗападныЙ" или "Кириллица", то при сохранении файла все ОК.
CHARSET:Cyrillic был сразу установлен для окна и контролов, причина не в этом.
Вопрос:
Как программно сделать так, чтобы шрифт в итоговом файле был без изменений?
Проблема с кодировкой RTFTextControl
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- morkovin
- Ветеран
- Сообщения: 935
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Re: Проблема с кодировкой RTFTextControl
А если попробовать другой RichControl - от LocusABC? Там есть такой.
WBR, morkovin
Re: Проблема с кодировкой RTFTextControl
Прошу простить новичка за невежество, но LocusABC это шаблоны сторонней разработки или Clarion и для какой версии? У меня С8.
Спасибо за ответ!
Спасибо за ответ!
Re: Проблема с кодировкой RTFTextControl
Уже нашел LocusABC на сайте разработчика, там для С7, не скачивал, пока некогда. Но все же, а как с кларионовским RTFTextControl люди работают ?
Re: Проблема с кодировкой RTFTextControl
Типичная проблема для шаблонов RTF
Идентификатор пишется на ихнем, а заменяется на текст на вел. и мог.
Но в шаблоне зафиксировано, что идентификатор имеет буржуинскую кодировку.
Попробуй в шаблоне текста заменить строку 'fcharset0' на 'fcharset204' - и будет щастье
Идентификатор пишется на ихнем, а заменяется на текст на вел. и мог.
Но в шаблоне зафиксировано, что идентификатор имеет буржуинскую кодировку.
Попробуй в шаблоне текста заменить строку 'fcharset0' на 'fcharset204' - и будет щастье