Проблема с кодировкой RTFTextControl

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
LuckyAlex
Прохожий
Сообщения: 4
Зарегистрирован: 24 Октябрь 2013, 17:15

Проблема с кодировкой RTFTextControl

Сообщение LuckyAlex »

Привет всем! Уважаемые, прошу совета.

Задача.

Данные по людям хранятся в таблице.
Используется текстовый Шаблон с переменными типа: ФИО, ДатаРождения и т.п. в формате 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 был сразу установлен для окна и контролов, причина не в этом.

Вопрос:
Как программно сделать так, чтобы шрифт в итоговом файле был без изменений?
Аватара пользователя
morkovin
Ветеран
Сообщения: 935
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 9 раз
Поблагодарили: 4 раза
Контактная информация:

Re: Проблема с кодировкой RTFTextControl

Сообщение morkovin »

А если попробовать другой RichControl - от LocusABC? Там есть такой.
WBR, morkovin
LuckyAlex
Прохожий
Сообщения: 4
Зарегистрирован: 24 Октябрь 2013, 17:15

Re: Проблема с кодировкой RTFTextControl

Сообщение LuckyAlex »

Прошу простить новичка за невежество, но LocusABC это шаблоны сторонней разработки или Clarion и для какой версии? У меня С8.

Спасибо за ответ!
LuckyAlex
Прохожий
Сообщения: 4
Зарегистрирован: 24 Октябрь 2013, 17:15

Re: Проблема с кодировкой RTFTextControl

Сообщение LuckyAlex »

Уже нашел LocusABC на сайте разработчика, там для С7, не скачивал, пока некогда. Но все же, а как с кларионовским RTFTextControl люди работают ?
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Проблема с кодировкой RTFTextControl

Сообщение Yufil »

Типичная проблема для шаблонов RTF
Идентификатор пишется на ихнем, а заменяется на текст на вел. и мог.
Но в шаблоне зафиксировано, что идентификатор имеет буржуинскую кодировку.

Попробуй в шаблоне текста заменить строку 'fcharset0' на 'fcharset204' - и будет щастье
LuckyAlex
Прохожий
Сообщения: 4
Зарегистрирован: 24 Октябрь 2013, 17:15

Re: Проблема с кодировкой RTFTextControl

Сообщение LuckyAlex »

Yufil, спасибо за ответ!
Сделал, не помогло.
Ответить