Чего именно «этого»?
С точки зрения FAR’а как приложения и плагин-хоста, нужна функция «показать топик справки по заданным ID плагина, ID темы». В реализации на готовом (X)HTML во внешнем браузере это грубо ShellExecute(sprintf("%s\\%s\\%s.%s.html", fardir, pluginID, topicID, helpLanguage)). Плюс трудозатраты на конвертацию всего существующего контента в (X)HTML.
Если же хотеть уметь отображать разумно достаточное подмножество XHTML, то задача распадается на несколько подзадач, которые можно брать или не брать в разработку:
- Парсер. Берётся любой готовый XML-парсер. Поддерживать совместимость с синтаксисом HTML со всеми его неоднозначностями, опциональными тэгами и т.д. — в морг.
- Layout engine. Тут нужно будет {до,пере}рабатывать то, что уже есть в FAR’е для HLF. В частности, нужно будет поддержать нумерованные и маркированные списки и таблицы.
- Рендерер оставить как есть, может быть, доточить немного.
- Проблема модальности. В идеале должно быть можно открыть хелп из диалога и переключаться между ними, не закрывая ни того, ни другого. Эту задачу я не готов оценивать, там много неясного.
Я, впрочем, не уверен, что хочу писать реализацию половины ещё одного консольного веб-браузера. Если смириться с модальностью для тех трёх гиков, которые гоняют FAR через telnet/ssh, можно просто вызывать lynx или там links или чего.