LHelp (браузер справки)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

LHelp (браузер справки)

Сообщение serbod » 19.09.2017 12:34:30

В свободное время потихоньку улучшаю lhelp, чтобы он был хотя бы таким же быстрым и удобным как виндовый. И заодно улучшаю пакет chm, довольно хитрая и сложная штука. CHM - это не просто архив, а целая файловая система со встроенным сжатием, индексацией по заголовкам и ключевым словам, древовидным индексом полнотекстового поиска, поддержкой различных кодировок, объединением нескольких файлов в общую библиотеку, настройку внешнего вида браузера, панелей кнопок и действий. По возможностям этот формат значительно превосходит fb2 и ePub.

https://github.com/serbod/lazhelp

По сравнению со стандартным, улучшено быстродействие, исправлено удаленное управление (из Lazarus, вызов контекстной справки), исправлены ошибки с вылетами.

Чего не хватает в браузере справки? Там есть встроенная возможность просматривать веб-страницы, как в нормальном браузере (без javascript и почти без css). Можно подключать разные форматы справочных файлов. Cейчас только html и chm.
Аватара пользователя
serbod
постоялец
 
Сообщения: 215
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

Re: LHelp (браузер справки)

Сообщение brick08 » 20.09.2017 14:34:06

serbod писал(а):Чего не хватает в браузере справки?

Русского языка
У вас нет необходимых прав для просмотра вложений в этом сообщении.
brick08
незнакомец
 
Сообщения: 7
Зарегистрирован: 05.09.2016 15:39:08

Re: LHelp (браузер справки)

Сообщение serbod » 20.09.2017 17:05:21

С этим есть ощутимый геморрой, поскольку в свойствах CHM указывается LCID (MS Locale ID), которое указывает на страну, а не на кодировку. В винде есть функция получения номера/названия кодировки по коду страны, но это в винде.

Добавлено спустя 1 час 57 минут 26 секунд:
Все еще интереснее, поскольку на каждой HTML странице может быть свой 'charset='. Пока сделал, что utf-8 и локаль 1033 (en-us) не конвертится.

Добавлено спустя 57 секунд:
Можете попробовать, посмотреть.
Аватара пользователя
serbod
постоялец
 
Сообщения: 215
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

Re: LHelp (браузер справки)

Сообщение serbod » 24.09.2017 15:40:11

Добавил определение и поддержку всех основных виндовых кодировок (1250..1258), как в целом так и по заголовку HTML для каждой страницы. Возможно, где-то в полнотекстовом поиске используется виндовая кодировка вместо UTF-8, не проверял. Кстати, HTML в Delphi Russian Knowledge Base ужасен, мусора процентов 70 на каждой странице.
Аватара пользователя
serbod
постоялец
 
Сообщения: 215
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

Re: LHelp (браузер справки)

Сообщение serbod » 23.11.2017 11:13:05

Доработал утилиту для создания справки chmmaker. Исправлены ошибки, добавлен выбор кодировки, новые опции, журнал ошибок. Но самое главное - добавлен импорт проекта из готового CHM. Распаковывает все файлы, позволяет внести изменения и заново скомпилировать справку. Пока только основное оглавление и список ключевых слов. Без номеров контекстов и настроек отображения форм.
Аватара пользователя
serbod
постоялец
 
Сообщения: 215
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 7

Рейтинг@Mail.ru