Некоторые особенности формата CHM

Формат CHM, благодаря переходу выпуска журналов IZone на этот формат, знают теперь все читатели. Однако не все знают некоторые его особенности, которые необходимо учитывать при изготовлении документов в этом формате.

Известно ли Вам, что номера журналов IZone 505 и 506, в отличие от всех других номеров, прочитало меньшее количество постоянных читателей? Эти номера не прочитали все те, у кого на компьютере стоит пока ещё английская, немецкая, либо какая-либо прочая (кроме русской) версия Windows98 или Me. Число таких "несчастных", вероятно, довольно велико по трём причинам: во-первых, английские версии указанных ОС всегда считались более стабильными; во-вторых, много наших соотечественников живут за рубежом и в третьих, не все ещё перешли на Windows XP. Причиной такого "безобразия" явилось то, что названия папок, в которых лежат файлы журнала, написаны русскими буквами. В этом случае, при попытке открытия статей, выводится та самая страница, которую Вы видете в браузере, когда пытаетесь попасть в интернете на не существующий сайт. Причём причина этого явления связана именно с реальными папками, в которых лежат файлы, и с которыми работает компилирующая программа. А вот названия папок, какие Вы видете в левом окне готового CHM-файла могут ничего общего с реальными папками не иметь и могут быть русскими.

Кстати, с не русскими версиями Windows связана ещё одна проблема. Все русские названия папок и документов в левом окне файла CHM представляют собой нечитаемые кракозябры. И ничего поделать с этим нельзя. Однако существует одна лазейка, которая позволяет всё-таки увидеть в левом окне файла русские буквы. Для этого файл CHM должен быть скомпилирован только с одной левой закладкой оглавления, т.е. без закладок поиска, ключевых слов и избранного. На это следует обратить внимание создателям файлов помощи для своих программ. Если объём такого файла не велик, то нет никакого смысла во всех прочих закладках, кроме закладки оглавления. Результатом явится читаемость этого оглавления в любых версиях Windows. Кстати, закладка избранного в IZ тоже имеет мало смысла, точно так же как и правильно отсутствующая закладка поиска.

В случае большого объёма информации, компилируемой в CHM-файл, важнейшую роль приобретает закладка поиска. Эта закладка может быть простой, в виде всего двух полей - для ввода слов и для вывода результатов, а также сложной - с дополнительными опциями поиска. К сожалению, при наличии этих самых дополнительных опций, увидеть русские буквы в поле вывода результатов в указанных выше не русских версиях Windows становится невозможным. В случае закладки простого вида и при условии установленных параметров русского языка и шрифта в проекте компилирующей программы (HTML Help Workshop), становится возможным увидеть русские буквы как в поле ввода, так и в поле вывода в любой версии Windows.

Всё, что я рассказал выше, для владельцев русских версий Windows и тем более XP не актуально, но разработчики качественных, особенно многоязычных программ и соответственно файлов помощи к ним, должны эти особенности знать.

На самом деле, у меня сейчас есть проблема, о которой я постоянно думаю – это получение оборотных средств. Однако большие суммы, иногда столь необходимые нам, могут быть предоставлены банком только при наличии какого-то имущества, которое будет гарантией возврата средств. Поэтому достаточно распространенной сейчас является практика выдачи кредита под залог квартиры. Разумеется, сумма такого кредита может быть значительно больше, чем под залог автомобиля или вовсе без залога. Поэтому мне предстоит решить, удовлетвориться ли суммой предлагаемой мне под залог машины или же все-таки оформить кредит под залог квартиры… Что-то мы отвлеклись, вернемся к нашей теме.

Напоследок я расскажу Вам как можно упаковать все скачанные Вами журналы в один сборник. Я вероятно не один такой, кому жалко удалить с компьютера любой файл, скачанный с сети. Когда в папке Downloads их скапливается слишком много, приходится их сортировать по тематическим папкам, а затем переписывать на CD, но то, что оказалось на CD, возвращается на компьютер и используется в очень редких случаях. Точно также скапливались у меня скачанные журналы IZone. Поскольку заниматься этим делом я начал очень давно, то папка с никак не используемыми zip-архивами журналов постепенно разрослась до огромных размеров. Вот тогда-то мне и попалась на глаза программа HTML Help Workshop, с помощью которой я упаковал все имевшиеся у меня выпуски в один файл. Получилась своеобразная компьютерная энциклопедия. С тех давних пор я периодически добавлял новые скачанные номера в свою подшивку, используя один лишь HTML Help Workshop. Так всё продолжалось до того момента, пока журнал не перешёл на формат CHM. Если в прежних выпусках был всего лишь единственный индексный файл, то теперь должны были быть проиндексированы все HTML-файлы выпуска. Вручную это делать нереально, поэтому была испробована, с давних пор хранящаяся на CD, программа FAR HTML. Программа отличная, но при индексировании в ней выявились два недостатка, во-первых она не может правильно воспринять файлы, название которых начинается с кавычек, а также те, в названии которых есть какой-нибудь тэг, а во-вторых, статьи в каждой папке расставляются ею по алфавиту, причём сначала по латинскому, а затем по русскому, что не всегда соответствует оригиналу. Другие программы я не стал испытывать, а поступил следующим образом. Поскольку при декомпиляции мы получаем готовые файлы содержания, которые называются Table of Contents.hhc, то оказывается очень просто добавлять содержание этих файлов в конец рабочего файла при помощи любого текстового редактора. Таким образом можно очень легко добавлять к имеющемуся архиву новые номера, пользуясь только HTML Help Workshop и простым текстовым редактором.

Так как при этом необходимо выполнять некоторые дополнительные операции, я расскажу пошагово, как всё необходимо делать.

  1. Разумеется начать нужно с инсталляции HTML Help Workshop.
  2. Создайте у себя на диске новую папку для проекта с названием, например izone.
  3. Распакуйте в эту папку все журналы, которые Вы хотите объединить в сборник, причём каждый журнал в папку с названием, соответствующим названию архива. В любом приличном архиваторе сделать это очень просто.
  4. В те папки, в которых оказались файлы CHM, декомпилируйте их содержание при помощи HTML Help Workshop. Для этого в меню File выберите Decompile..., а затем в верхнем окне найдите нужную папку, а в нижнем окне – нужный файл CHM и кликните OK.
  5. Из-за описанной выше проблемы с русскими шрифтами, переименуйте все папки, носящие русские названия в журналах izone505 и izone506 на следующие: Hardware, Internet, Images, Software, System, Other, We recommend и Work with journal.
  6. Обычно считается пользование программой HTML Help Workshop делом сложным из-за необходимости первоначального создания проекта при помощи довольно сложного "английского" ассистента. Однако можно избежать этой процедуры. Создайте, например в блокноте, а затем положите в папку izone файл izone.hhp следующего содержания
    [OPTIONS]
    Compatibility=1.1 or later
    Compiled file=izone.chm
    Contents file=Table of Contents.hhc
    Default Font=,8,204
    Display compile progress=No
    Full-text search=Yes
    Language=0x419 Russisch
  7. Теперь в каждой папке, в которой оказались декомпилированные журналы, откройте при помощи любого текстового редактора, способного производить поиск и замену сразу по всему содержанию (например, я рекомендую Bred), файл Table of Contents.hhc и прозведите следующую замену по всему тексту:
    <PARAM name="Local" value="
    замените на
    <PARAM name="Local" value="izone516/
    Здесь приведён пример для папки izone516, но разумеется для каждой будет своё название.
  8. Переложите из самой первой папки с декомпилированными журналами файл Table of Contents.hhc в общую папку проекта
  9. Теперь по очереди заходите в каждую из папок, открывайте в редакторе файлы Table of Contents.hhc и, копируя их содержание от первого тэга <UL> до последнего тэга </OBJECT> включительно, переносите это содержание по очереди в файл Table of Contents.hhc, находящийся в общей папке. Вставлять необходимо в самый конец, т.е. перед тэгом </BODY>. Когда всё перенесёте, подтвердите изменения.
  10. Запустите файл izone.hhp. Если Вы до сих пор всё делали правильно, то откроется программа HTML Help Workshop, в которой будут две нужные нам закладки: Project и Contents, третью закладку, под названием Index, не трогайте. В закладке Project нажмите вторую сверху кнопку, откроется окно с названием Topic files. В этом окне найдите и выберите все индексные файлы журналов до номера 504 и все HTM-файлы журналов начиная с номера 505 и подтвердите OK.
  11. Перейдите на закладку Contents и создайте для каждого журнала свою общую папку с названием, например izone516 для номера 516. Для этого сначала отмаркируйте верхнюю папку, а затем жмите кнопку с изображением папки, ответьте утвердительно и вводите в следующем окне название папки, нажав OK, получите новую папку. Затем маркируйте каждый последний документ каждого журнала и создавайте всем им соответствующие папки. Когда всё будет готово, приведите структуру папок и документов каждого журнала к виду, соответствующему оригиналу при помощи кнопок со стрелками. Посмотреть, с каким файлом связана каждая запись, можно, отмаркировав её, нажать на изображение карандаша. Там же на закладке Advanced можно поменять изображение символа. Если Вы собираете в сборник также журналы и до 504 номера, то просто создайте для каждого номера свою папку и свяжите её с соответствующим индексным файлом.
  12. Всё готово? Переходите на закладку Project и жмите нижнюю кнопку. Компиляция началась! В ходе компилирования в правом окне могут выводиться обнаруженные ошибки. Если среди них отсутствуют ошибки HHC5003, свидетельствующие об отсутствии файлов, то всё нормально. Через некоторое время Вы получите в папке izone нужный Вам файл. Поздравляю!

Описать это было труднее, чем сделать, на самом деле ничего сложного нет.
 

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Дата публикации:
Автор публикации: