Conv.dll - табличный перекодировщик текстов 1. Совместимость PocketPC КПК, ARM 2. Назначение Пакет предназначен для табличной перекодировки текстовой информации в соответстви с выбранной таблицей. Пакет реализован в виде подключаемой библиотеки для работы под управлением другой (вызывающей) программы. Собственного графического интерфейса для преобразования текста пакет не имеет. Графический интерфейс есть только у утилиты настройки. На момент выпуска этого описания подтверждена успешная работа пакета в составе словарной оболочки Dict для КПК. 3. Состав пакета conv.dll - модуль, осуществляющий табличную перекодировку convconf.exe - утилита настройки с графическим интерфейсом 4. Установка для работы в составе Dict conv.dll должна располагаться в той же папке, в которой расположен Dict.exe convconf.exe может располагаться в любом месте файловой системы КПК 5. Формат файла перекодировочной таблицы Текстовй файл с расширением *.txt , каждая строка которого задаёт отдельное преобразование. Формат строки: число [число [число ...]] - [число [число ...]] число - десятичный {0, 1, 156, и т.п.} или шестнадцатиричный {0x...} код символа в соответствии с Unicode Слева от знака "-" стоит исходная последовательность символов, справа - заменяющая. Если заменяющая последовательность отсутствует, то такое преобразование будет удалять исходную последовательность. Со стороны пакета ограничения на длину последовательностей не накладывается. К текстовому фрагменту, поданному на вход применяются преобразования, заданные в строках файла перекодировочной таблицы, в порядке следования строк. 6. Настройка 6.А. Осуществляется при помощи утилиты convconf.exe . Настройка заключается в выборе файла с требуемой таблицей преобразования. При необходимости можно временно отключить преобразование при помощи соответствующего флажка. В этом случае входной текст просто копируется на выход. 6.Б. Дополнительный флажок позволяет отображать исходный и преобразованный текст перед возвратом результата в вызывающее приложение. Предполагается, что эту возможность будет использовать программист вызывающего приложения, и объем текстового фрагмента будет невелик, т.к. отображение осуществляется с помощью обычной MessageBox. 7. Прототип функции преобразования (информация для программиста, желающего использовать conv.dll в своем проекте). void Convert(const unsigned short *src, unsigned short *dst, size_t dst_len); 8. Пример В архив включен простой файл таблицы, задающий замену русской "а" на русское "о" и rtf с единственным словом "Драбь", которое при применении указанного преобразования должно превращаться в "Дробь". При работе в составе Dict с их помощью можно проверить как Dict непосредственно, так и взаимодействие Dict и AlReader. 9. ОТСУТСТВИЕ ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ 9.А. ПОСКОЛЬКУ НАСТОЯЩАЯ ПРОГРАММА РАСПРОСТРАНЯЕТСЯ БЕСПЛАТНО, ГАРАНТИИ НА НЕЕ НЕ ПРЕДОСТАВЛЯЮТСЯ В ТОЙ СТЕПЕНИ, В КАКОЙ ЭТО ДОПУСКАЕТСЯ ПРИМЕНИМЫМ ПРАВОМ. НАСТОЯЩАЯ ПРОГРАММА ПОСТАВЛЯЕТСЯ НА УСЛОВИЯХ "КАК ЕСТЬ". ЕСЛИ ИНОЕ НЕ УКАЗАНО В ПИСЬМЕННОЙ ФОРМЕ, АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ НЕ ПРИНИМАЕТ НА СЕБЯ НИКАКИХ ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ, КАК ЯВНО ВЫРАЖЕННЫХ, ТАК И ПОДРАЗУМЕВАЕМЫХ, В ОТНОШЕНИИ ПРОГРАММЫ, В ТОМ ЧИСЛЕ ПОДРАЗУМЕВАЕМУЮ ГАРАНТИЮ ТОВАРНОГО СОСТОЯНИЯ ПРИ ПРОДАЖЕ И ПРИГОДНОСТИ ДЛЯ ИСПОЛЬЗОВАНИЯ В КОНКРЕТНЫХ ЦЕЛЯХ, А ТАКЖЕ ЛЮБЫЕ ИНЫЕ ГАРАНТИИ. ВСЕ РИСКИ, СВЯЗАННЫЕ С КАЧЕСТВОМ И ПРОИЗВОДИТЕЛЬНОСТЬЮ ПРОГРАММЫ, НЕСЕТ ЛИЦЕНЗИАТ. В СЛУЧАЕ ЕСЛИ В ПРОГРАММЕ БУДУТ ОБНАРУЖЕНЫ НЕДОСТАТКИ, ВСЕ РАСХОДЫ, СВЯЗАННЫЕ С ТЕХНИЧЕСКИМ ОБСЛУЖИВАНИЕМ, РЕМОНТОМ ИЛИ ИСПРАВЛЕНИЕМ ПРОГРАММЫ, НЕСЕТ ЛИЦЕНЗИАТ. 9.Б. ЕСЛИ ИНОЕ НЕ ПРЕДУСМОТРЕНО ПРИМЕНЯЕМЫМ ПРАВОМ ИЛИ НЕ СОГЛАСОВАНО СТОРОНАМИ В ДОГОВОРЕ В ПИСЬМЕННОЙ ФОРМЕ, АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ, КОТОРЫЙ МОДИФИЦИРУЕТ И/ИЛИ РАСПРОСТРАНЯЕТ ПРОГРАММУ НА УСЛОВИЯХ НАСТОЯЩЕЙ ЛИЦЕНЗИИ, НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ПЕРЕД ЛИЦЕНЗИАТОМ ЗА УБЫТКИ, ВКЛЮЧАЯ ОБЩИЕ, РЕАЛЬНЫЕ, ПРЕДВИДИМЫЕ И КОСВЕННЫЕ УБЫТКИ (В ТОМ ЧИСЛЕ УТРАТУ ИЛИ ИСКАЖЕНИЕ ИНФОРМАЦИИ, УБЫТКИ, ПОНЕСЕННЫЕ ЛИЦЕНЗИАТОМ ИЛИ ТРЕТЬИМИ ЛИЦАМИ, НЕВОЗМОЖНОСТЬ РАБОТЫ ПРОГРАММЫ С ЛЮБОЙ ДРУГОЙ ПРОГРАММОЙ И ИНЫЕ УБЫТКИ). АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ В СООТВЕТСТВИИ С НАСТОЯЩИМ ПУНКТОМ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ДАЖЕ В ТОМ СЛУЧАЕ, ЕСЛИ ОНИ БЫЛИ ПРЕДУПРЕЖДЕНЫ О ВОЗМОЖНОСТИ ВОЗНИКНОВЕНИЯ ТАКИХ УБЫТКОВ.