Перед тем, как приступить непосредственно к редактированию содержимого CHM-файла, подытожим выполненные заранее подготовительные работы. Определившись с бесплатными программами, которые будут использоваться для редактирования CHM, мы декомпилировали оригинальный CHM-файл. Далее мы создали новый исходник (полученные файлы + файл проекта HTML Help Workshop) и научились собирать обновленный CHM-файл с аналогичным функционалом. Во время редактирования мы будем регулярно выполнять сборку обновленного CHM, чтобы оперативно находить и исправлять ошибки.
Приступим непосредственно к редактированию CHM-справки. Начнем с самого простого: добавим текст на английском языке и заменим рисунок.
Замена рисунков в CHM
Чтобы поставить новый рисунок в справку, достаточно просто заменить файл рисунка в папке decompiled на одноименный файл с тем же расширением. В данном случае это файл viewer.gif. Чтобы поставить рисунок с другим именем в другом формате, потребуется отредактировать код .htm-файла. Действуем по принципу: внесли изменения, собрали справку, проверили. Должен получиться следующий результат.
Добавление в CHM текста на английском языке
Чтобы добавить текст на английском языке в раздел About pop-up Windows, сначала необходимо найти файл .htm, соответствующий данному разделу. Для этого:
- В окне HTML Help Workshop перейдите на вкладку Contents.
- Выделите раздел About pop-up Windows и выберите команду Edit selection слева на панели инструментов. Будет открыто окно Table of Contents Entry. Имя файла будет указано в поле Files/URLs and their information types. В данном случае это файл wintypes_popup.htm.
- Найдите файл wintypes_popup.htm в Проводнике и откройте его в Notepad++.
Данный файл можно также открыть в редакторе, встроенном в HTML Help Workshop, воспользовавшись командой View HTML source. Работать с текстом здесь будет менее удобно (как в Блокноте).
- В окне Notepad++ отредактируйте существующий текст или добавьте новый. На данном этапе потребуются базовые знания HTML. В Notepad++ весь код (теги, атрибуты и их значения) выделен цветом, что значительно упрощает работу. Вот несколько примеров вставки текста:
- Сохраните внесенные изменения.
- Пересоберите справку и проверьте результат.
Добавление в CHM текста на русском языке
Перед вставкой в справку текста на русском языке необходимо проверить кодировку страниц. Если вы работаете с переведенным CHM-файлом, в разделах которого уже есть корректно отображающийся русский текст, кодировка страниц должна быть правильной — Windows-1251. В этом случае английский текст можно просто поменять на русский, либо добавить русский текст, как было описано выше.
В примере с файлом api.chm перед вставкой текста на русском языке потребуется выполнить несколько дополнительных действий. Если вы обратили внимание, на приведенных выше скриншотах в правом нижнем углу окна Notepad++ указана кодировка Windows-1252. Она предназначена для большинства западноевропейских языков. Если вы вставите русский текст на страницу с такой кодировкой, то получится следующий результат.
Чтобы русский текст корректно отображался, необходимо подправить кодировку в мета-теге блока <head>, а затем выбрать кодировку Windows-1251 для ввода кириллических символов. Если все сделать правильно, русский текст будет корректно отображаться как в английских, так и в русифицированных версиях ОС Windows, от Windows XP до Windows 10. Латиница будет корректно отображаться в любом случае.
Чтобы поменять кодировку:
- Откройте файл, в который необходимо вставить текст на русском языке, в Notepad++.
- Подправьте кодировку в разделе head (в данном случае в строке 4).
- В строке меню выберите Кодировки / Кодировки / Кириллица / Windows-1251. После этого в правом нижнем углу окна будет отображаться кодировка Windows-1251.
- Сохраните внесенные изменения.
После этого в данный файл можно добавить текст на русском языке, сохранить изменения и собрать справку. Работать с другими HTM-файлами нужно в аналогичном порядке.
Редактирование раздела в CHM справке
Теперь несколько слов о редактировании раздела About the HTML Help Viewer (в Overview / Window Types). Весь текст, который выводится на экран, есть в коде .htm-страницы, файл wintypes_viewer.htm. Текст всплывающих подсказок задан в атрибуте alt тега img, в атрибутах title тегов area, а также в JavaScript в нижней части страницы. Другие .htm-страницы организованы аналогичным образом. Открывающие и закрывающие теги абзаца иногда опущены.
Редактируя тексты в html-коде, важно соблюдать принятые синтаксические правила. Если вы не сильны в HTML и JavaScript, просто не трогайте символы слева и справа от текстов. В данном примере — это двойные кавычки и теги. На рисунках ниже текст, который нужно заменить при переводе на русский, выделен цветом.
Порядок работы аналогичен описанному выше:
- с латиницей работаем в текущей кодировке;
- перед вставкой кириллицы проверяем кодировку, при необходимости меняем ее на Windows-1251, подправляем кодировку в head и вставляем кириллицу.
- Сохраняем изменения, собираем справку и проверяем полученный результат.
На данном этапе работы должно получиться примерно следующее.
Редактирование содержания CHM-справки
Из задач, обозначенных в первом материале Как отредактировать CHM-файл, осталось перевести название раздела About the HTML Help Viewer в содержании справки. Содержание CHM-документа находится в файле с расширением HHC, в данном случае, api.hhc. Это обычный текстовый файл, размеченный тегами HTML. В нем в иерархическом порядке приведены названия разделов в содержании и имена соответствующих им HTM-файлов. Если данный файл открыть в Notepad++, он будет выглядеть следующим образом.
В нашем случае кодировка файла распознается как ANSI. Строго говоря, это набор кодовых страниц, в который среди прочих входят Windows-1252 и Windows-1251. Если бы мы открыли содержание русифицированного, либо созданного на русском языке CHM-файла, кодировка бы распозналась как Windows-1251.
Если следовать логике редактирования раздела, описанной выше, для перевода названия раздела в содержании следовало бы сначала изменить кодировку файла HHC на Windows-1251, затем заменить название раздела на «О средстве просмотра HTML Help», сохранить изменения и собрать CHM для проверки. Если данная операция выполняется один раз, все будет работать.
Но до первого сохранения файла HHC программой HTML Help Workshop. Даже если вы редактировали название другого раздела в содержании, после сохранения файла все кириллические символы будут перекодированы в специальные символы HTML (мнемоники). Преобразовать их обратно в кириллицу без старого доброго Штирлица сможет только HTML Help Workshop. После такого преобразования работать с содержанием в Notepad++ будет, мягко говоря, сложно.
Поэтому я расскажу, как отредактировать содержание CHM-справки в HTML Help Workshop.
Редактирование содержания CHM в HTML Help Workshop
- Запустите HTML Help Workshop.
- Откройте файл проекта new_prj.hhp.
- Проверьте, чтобы в свойствах проекта был выбран русский язык.
- Перейдите на вкладку Contents.
- В структуре выделите название раздела, которое необходимо отредактировать.
- Слева на панели инструментов выберите команду Edit Selection.
- В поле Entry Title введите новое название раздела на английском или русском языке.
- Нажмите на кнопку ОК. Название в структуре содержания изменится на новое.
- Сохраните внесенные изменения.
- Соберите справку и проверьте ее. Должны получиться следующие результаты.
На этом все задачи, поставленные в материале Как отредактировать CHM-файл, можно считать выполненными. Проверьте получившийся CHM-файл: все ли разделы открываются, все ли ссылки работают, все ли рисунки соответствуют оригиналу.
Выводы
Ознакомившись на практике с бесплатными программами, которые были использованы для редактирования CHM-файла, каждый сделает выводы. И у каждого они будут индивидуальными. Поделюсь своими. Из достоинств представленного метода (редактирование CHM при помощи бесплатного ПО) неоспоримо только одно: бесплатность. Основные недостатки, на мой взгляд, следующие:
- Не дружественный интерфейс пользователя. Во время работы с HTML Help Workshop приходится продираться сквозь дебри пользовательского интерфейса, созданного за 20 лет до того, как UI и UX дизайну стало уделяться больше внимания. С другой стороны, со временем к интерфейсу можно привыкнуть.
- Высокая трудоемкость разработки справки. Все работы по разработке справки выполнить только в HTML Help Workshop невозможно (например, проработать исключительно структуру). Отсюда необходимость использования дополнительных программ. Следовательно, одну и ту же работу приходится делать по 2-3 раза (например: создать структуру в FreeMind, создать вручную HTM-файлы разделов, создать вручную содержание в HTML Help Workshop, привязать вручную HTM-файлы к названиям разделов и т.д.).
- Очень высокая трудоемкость редактирования справки. Обновить серьезный проект (от 1000 разделов, от 700 рисунков) в HTML Help Workshop просто не реально. Трудоемкость редактирования будет превышать трудоемкость разработки первой версии.
- Большое количество тонкостей. Нюансы работы, о которых я рассказал в данной серии статей, это только вершина айсберга. Например: в созданных из HTML Help Workshop HTM-файлах не прописывается кодировка, что важно при работе с русским языком. Значит нужно либо каждый раз прописывать кодировку руками, либо использовать еще одну программу или шаблон. Продолжать можно до бесконечности… С другой стороны, нюансов много в любой сфере.
- Неэффективная разработка контента. Писать текст с иллюстрациями, ключевыми словами и перекрестными ссылками в HTML-разметке не только неудобно, но и нерационально. Для этого эффективнее использовать визуальный редактор с системой проверки правописания. Это подтверждается рядом научных работ. Так, по результатам исследования, проведенного под эгидой Университета Гиссена (Германия), опубликованного в 2014 году, эксперты по использованию LaTeX показали меньшую производительность, чем неопытные пользователи MS Word. Пользователи LaTeX набирали текст медленнее, делали больше опечаток, орфографических и грамматических ошибок, а также ошибок форматирования. Данный пункт неплохо бы взять на заметку менеджерам, принимающим решение в пользу выбора того или иного платного или бесплатного инструмента для технического писателя.
В следующем материале рассмотрим, как отредактировать CHM при помощи Help+Manual 7 Pro.
Комментарии
Что-ж все так растянуто. Очень помогла статья, спасибо. Но очень многое приходится пропускать.