Ru-Board.club
← Вернуться в раздел «Программы»

» htm2chm

Автор: Alatena
Дата сообщения: 17.02.2014 00:28
А подскажите, какая из программ учитывает файл css и может подгрузить шрифт из http://fonts.googleapis.com/css?family=... ?
Может, это возможно через какое-нибудь приложение для браузера?
Автор: regist123
Дата сообщения: 27.02.2014 21:59
regist123 22:09 14-04-2013
Цитата:
После того как скомпилируешь несколько штук, там в поле Название заполняется список всех Названий, которые раньше вводили (те которые потом Title отображаются) не нужные названия можно оттуда удалить ? в каком файлу они там хранятся ?

нашёл ответ на этот вопрос. Оказывается это хранится не в файле, а в реестре. В разделе

Код: HKEY_CURRENT_USER\software\Yaroslav Kirillov\htm2chm\Compile\TitleHistory
Автор: regist123
Дата сообщения: 08.03.2014 17:58
Если компилируемые страницы в UTF-8 то при генерации TOC.hhc (с опцией взять названия файла из <title> то в оглавление получается такое



Сидеть и вписывать каждому файлу нормальное название не вариант, так как страничек много. Можно как-то обойти этот глюк? Или может может можно как-то быстро исправить название файлов в TOC.hhc ?
Автор: Foss
Дата сообщения: 08.03.2014 23:03
regist123
Самый простой способ - создать TOC по набору HTML файлов пакетно перекодированных в win1251, а использовать этот ТОС с набором исходных HTML файлов (в UTF-8).

Другой способ - произвести пакетную замену символов в тексте самого TOC, что можно осуществить с помощью любого текстового процессора, поддерживающего пакетные замены в файле.
Автор: regist123
Дата сообщения: 09.03.2014 22:04
Foss 01:03 09-03-2014
Цитата:
Другой способ - произвести пакетную замену символов в тексте самого TOC, что можно осуществить с помощью любого текстового процессора, поддерживающего пакетные замены в файле.

пожалуйста, поясните что вы имеете ввиду? В частности я предпочитаю Notepad++ как с помощью него мне в TOC файле исправить параметры с названиями?
Автор: Foss
Дата сообщения: 10.03.2014 01:42
regist123
Я точно не знаю, но по-моему Notepad++ и иже с ним не поддерживают пакетных замен в файле.
Вам нужно использовать что-то типа UltraEdit (с пом. макросов), PowerGrep, TextPipe и т.п.
Далее составляется таблица замен, алгоритм их выполнения и вперед.
Проблема в том что в вашем случае происходит двойная перекодировка
UTF-8-> Win1251->html encoding (с пом. Html сущностей)
поэтому невозможно осуществить обратную перекодировку простыми методами (которые имеются во многих текстовых редакторах).
И это еще не все подводные камни. Дело в том, что один и тот же TOC может быть представлен в разных кодировках. Например, данная программа использует html сущности для кодирования, тогда как он может быть и в виндовой кодировке или в UTF-8.
Но данная программа некорректно интерпретирует UTF8 и корректно обрабатывает исходный текст только в виндовой кодировке... В общем это длинный разговор.
Напомню вам, что первый путь, все-таки, может оказаться для вас проще.
Хотя если речь идет об одном-двух-трех проблемных TOC (.hhc), то я могу вам их откорректировать в качестве разовой помощи, если вы их выложите.
Автор: shveicar
Дата сообщения: 10.03.2014 16:53
Привет всем.
Кто знает, есть ли видео плееры, которые работают внутри chm и воспроизводят файлы mp4, flv.
До компиляции в браузере, - видео проигрывается нормально, после пишет что файл не найден, может какой особый формат ссылок нужен для chm?
Автор: regist123
Дата сообщения: 11.03.2014 13:43
Решил свою проблему с кодировками конвертированием в ANSI и потом обратно в UTF-8 с подменой файла TOC.hhc
Спасибо AZJIO за помощь со скриптами AutoIt благодаря которых это делается буквально в два клика. Вот выкладываю их в скомпилированном виде. Там два .exe один как понятно из названия конвертирует все файлы в текущей папке и в подпапках в кодировку ANSI, второй конвертирует в UTF-8. Заголовок (charset) при этом в файлах также меняется на соответсвующую кодировку.
Автор: Foss
Дата сообщения: 11.03.2014 18:53
regist123
То есть, вы выбрали-таки первый вариант из мною предложенных (как я вам это рекомендовал):

Цитата:
Самый простой способ - создать TOC по набору HTML файлов пакетно перекодированных в win1251, а использовать этот ТОС с набором исходных HTML файлов (в UTF-8).

Только реализовали его далеким от оптимальности и безопасности (тыц и тыц) способом, вместо того чтобы спросить, как оптимальнее его осуществить.
А если бы вы спросили, то узнали, что есть уже масса готовых и безопасных программ для пакетной конвертации текстовых файлов (включая html и тп). Например,
ConvertFN
(ваш случай - Режим - Перекодировка содержимого или использовать Помощник)
45 килобайт необъятного безопасного удовольствия, позволяющего решить не только все ваши текущие, но и потенциальные проблемы с перекодировками и не только содержимого, а также и имен файлов, транслитерации и детранслитерации вместо
1500 килобайт куцего сомнительного беспокойства (тыц и тыц), как предлагаете вы.
Автор: regist123
Дата сообщения: 12.03.2014 11:29
Foss 20:53 11-03-2014
Цитата:
Только реализовали его далеким от оптимальности и безопасности (тыц и тыц) способом, вместо того чтобы спросить, как оптимальнее его осуществить.

Foss о подмене TOC файла я думал ещё до того как задал вопрос здесь, утилиты для перекодировки текста тоже гуглил и пробовал. Ни одна из них мне не показалась удобной. Насчёт безопасности вы ошибаетесь. Как написал в своём сообщение в .exe я сам компилировал и исходный код скриптов видел и знаю. Да и по вашим ссылка на VT видно что детектят только те вендоры, которые ругаются практически на все файлы, а никто из нормальных вендоров не детектит.
Я никому не навязываю эти утилиты, но лично для меня это был идеальный вариант - запустил нажал Ок и уже готово и не надо больше ничего делать.
Автор: regist123
Дата сообщения: 17.03.2014 20:30
В итоге вся эта возня с перекодировкой в UTF-8 и т.д. оказалась напрасной. Это делалось, чтобы справку могли нормально смотреть на компах, где язык для программ не поддерживающих юникод стоит англ. А в итоге у них Оглавление отображается нормально, а страницы не открывает. Видно для того чтобы у них нормально работало надо чтобы и Index.hhk, и TOC.hhc в юникоде были.
Автор: regist123
Дата сообщения: 01.04.2014 14:28
anryk 16:17 30-08-2002
Цитата:
Программы аналогичного назначения:

Кто-нибудь знает, есть аналогичная программа с такой же удобной генерации TOC файлов (выбираешь папку и она сама генерирует индексы со всей структурой и названиями), но создающая эти файлы в UTF-8 ?
Автор: Foss
Дата сообщения: 01.04.2014 19:33
regist123

Цитата:
создающая эти файлы в UTF-8

Так вы боритесь с кракозябрами или наоборот желаете, чтобы они были в оглавлении ваших хелпов? Вы как-нибудь определитесь сначала.
Автор: regist123
Дата сообщения: 02.04.2014 17:21
Foss 21:33 01-04-2014
Цитата:
Так вы боритесь с кракозябрами или наоборот желаете, чтобы они были в оглавлении ваших хелпов?

Что плохого будет если вся справка будет в кодировке UTF-8 ? В таком случае как раз на корню исчезает проблема с крякозябрами, которые возникают у пользователей, где русский не является системным языком по умолчанию. А проблема идёт именно из-за этого, что оглавление в кодировке ANSI а у пользователей, где например язык для программа не поддерживающих юникод стоит англ. США этим кодам символам соответсвуют другие буквы. В итоге имеем крякозябры и не рабочую справку.
Автор: Foss
Дата сообщения: 03.04.2014 07:21
regist123

Цитата:
Что плохого будет если вся справка будет в кодировке UTF-8 ?

Вам нужен контент в UTF8 или оглавление/индекс в этой кодировке?
Если контент - то особого смысла нет, поскольку контент показывается движком IE, которому по барабну кодировка, главное, чтобы она была указана корректно в хидере html файла, входящего в состав справки и на компе, на котором читают хелп были шрифты (в частности, русские) - на современных нерусских виндах они есть.
Если оглавление/индекс - то UTF8 не предусмотрена спецификацией chm формата (для нелатинских языков, по крайней мере).

То есть, кракозябры как раз из-за того, что UTF8 не поддерживается.

Если же вам принципиально нужен сплошной UTF8, то переходите с древнего chm на что-нибудь посовременнее или на формат ebook в виде исполняемых файлов (exe) или даже на pdf.
___________________

Пару советов навскидку по созданию справок в chm, чтобы избежать ряда проблем
- старайтесь не использовать папки, а если используете, то используйте их в минимальном количестве и минимальной вложенности (без подпапок).
- используйте в именах файлов и в именах папок только латиницу и цифры. При этом именуйте файлы таким образом, чтобы при сортировке по именам их последовательность совпадала с последовательностью топиков в оглавлении хелпа
- старайтесь использовать короткие имена и без пробелов и проч.
- заполняйте теги <title>...</title> в html файлах содержимым, которое будет идентично названию топика в хелпе.
- ссылки на внешние источники в хелпе снабжайте ключем _blanc
напр, <a href="http://google.com" target="_blank">Ссылка откроется в новом окне</a>
Автор: regist123
Дата сообщения: 03.04.2014 12:04
Foss 09:21 03-04-2014
Цитата:
Если контент - то особого смысла нет, поскольку контент показывается движком IE, которому по барабну кодировка, главное, чтобы она была указана корректно в хидере html файла, входящего в состав справки и на компе, на котором читают хелп были шрифты (в частности, русские) - на современных нерусских виндах они есть.

Смысл есть, так как в моё случае мало правильно отобразить, надо чтобы даже если текст в справке отображается нормально, то чтобы при копирование текста он не превратился в крякозябры или просто просто вопросительные знаки.

Цитата:
Если оглавление/индекс - то UTF8 не предусмотрена спецификацией chm формата (для нелатинских языков, по крайней мере).

А вот насчёт Оглавления мне в принципе не важно в какой кодировке оно будет если оно будет нормально отображаться и нормально работать (будут открываться все страницы из Оглавления).
Автор: Foss
Дата сообщения: 03.04.2014 12:48
regist123
Если вам все равно - то в чем проблема-то - никак не пойму?
Делайте корректно chm и входящие в него html файлы и будет вам счастье. MSDN в помошь.
Автор: regist123
Дата сообщения: 03.04.2014 13:13
Foss 14:48 03-04-2014
Цитата:
Если вам все равно - то в чем проблема-то - никак не пойму?

Проблема в том, что на "не русских" компах страницы не открываются. И дело похоже в кодировке оглавления, так как не отрывается даже страница Index.htm
Так что проблема похоже в этом

Цитата:
СР-437 (Lat-US, ANSI) содержит только символы с кодами 0х00 - 0x7F - латиницу и спецзнаки,
Автор: Foss
Дата сообщения: 03.04.2014 14:29
regist123

Цитата:
Проблема в том, что на "не русских" компах страницы не открываются. И дело похоже в кодировке оглавления, так как не отрывается даже страница Index.htm
Так что проблема похоже в этом

Цитата:СР-437 (Lat-US, ANSI) содержит только символы с кодами 0х00 - 0x7F - латиницу и спецзнаки,

Не стоит придумывать.
Проблема только в тех компах. А именно в настройках безопасности тех компов, на которых не открывается. А русские они или нерусские значения не имеет.
(у меня нерусский комп и все прекрасно открывается).
______________

Для информации. ANSI применительно к Windows = локали системы (в случае русской локали - это кодировка win1251, в случае английской - win1252 и т.д.)
СР-437 - DOS кодировка и в chm файлах не применяется (хотя, конечно, можно извратиться и написать html файлы на ней, но не припомню, чтобы встречал такие; эту кодировку исторически используют хакеры в своих релиаз, а точнее в описаниях к ним, поскольку она содержит символы псевдографики - файлы .nfo и проч.)
http://en.wikipedia.org/wiki/Code_page_437
Автор: regist123
Дата сообщения: 03.04.2014 17:29
Foss 16:29 03-04-2014
Цитата:
(у меня нерусский комп и все прекрасно открывается).


Цитата:
Для информации. ANSI применительно к Windows = локали системы (в случае русской локали - это кодировка win1251, в случае английской - win1252 и т.д.)

У вас никогда не было глюка, что пока не установишь язык для программ не поддерживающих юникод или не применишь твик для замены в реестре кодовой страницы интерфейс некоторых программ отображается крякозябрами? Тогда вам видно очень сильно везёт.
16:29 03-04-2014
Цитата:
СР-437 - DOS кодировка и в chm файлах не применяется

про 437 мне просто проще было описание найти, но сути это не меняет одному коду символа в разных кодировках а в нашем случае 1251 и 1252 соответствует разные символы.

Цитата:
Проблема только в тех компах.

Так в этом и проблема, чтобы сделать чтобы открывалось как и у пользователь у кого в настройках стоит русский, так и у пользователей у кого в настройках англ. США. А не только у одних или только у других.

Цитата:
А именно в настройках безопасности тех компов,

эмм... а каким образом безопасность влияет на проблемы с кодировками? Или с тем, что справка открывается, но не открываются страницы?
Автор: Foss
Дата сообщения: 03.04.2014 21:58
regist123

Цитата:
У вас никогда не было глюка, что пока не установишь язык для программ не поддерживающих юникод или не применишь твик для замены в реестре кодовой страницы интерфейс некоторых программ отображается крякозябрами

Это назывется настройкой локали системы и является не неким твиком через реестр, а стандартной операцией, оcуществляемой через Контрольную панель:

Но к chm файлам это имеет косвенное отношение, поскольку оные работают, как я уже говорил на движке IE, для которого локаль системы имеет малое значение (по крайней мере, в части отображения страниц).

Цитата:
про 437 мне просто проще было описание найти, но сути это не меняет одному коду символа в разных кодировках а в нашем случае 1251 и 1252 соответствует разные символы.

Опять придумываете.
Описание найти для любой из кодировкок - одинаково просто. Достаточно вбить ее название в google.
Но с названиями оных у вас по всем признакам большие проблемы. Поскольку досовскую кодировку вы поставили в ряд с виндовой, думая, что это одно и тоже

Цитата:
СР-437 (Lat-US, ANSI) содержит только символы с кодами 0х00 - 0x7F - латиницу и спецзнаки

И более того, кодировка cp437 русскоязычных юзеров не особо заботит, поскольку их волновала, прежде всего, русская досовская кодировка cp866. Очевидно, что вы где-то что-то случайным образом подсмотрели и ляпнуля невпопад, не задумываясб о смысле написанного. Что и неудивительно поскольку питаетесь перлами тира
http://olezhuk.livejournal.com/4704.html
вместо хелпов.

Цитата:
Так в этом и проблема, чтобы сделать чтобы открывалось как и у пользователь у кого в настройках стоит русский, так и у пользователей у кого в настройках англ. США. А не только у одних или только у других.

Через файл chm даже господь бог не сможет настроить опции безопасности на компах, которые испытывают проблемы с открытием этих файлов. Это тоже самое что пытаться написать doc файл для компа, который перманентно падает в синий экран и надеяться этот doc файл вылечет его проблемы.

Цитата:
эмм... а каким образом безопасность влияет на проблемы с кодировками? Или с тем, что справка открывается, но не открываются страницы?

Откуда вы вообще взяли, что проблема в вашем конкретном случае с кодировками, если не секрет? (я говорю о файлах скомпилированных вами и которые, по вашим словам, не открываются (речь о видимости контента html страниц chm файла)). Вы не задумывались о том что

Цитата:
у меня нерусский комп и все прекрасно открывается

в случае ваших chm файлов и это не навело вас на какие-то мысли, что дело не в кодировках?
Автор: regist123
Дата сообщения: 03.04.2014 22:42
Foss 23:58 03-04-2014
Цитата:
Через файл chm даже господь бог не сможет настроить опции безопасности на компах

вы так и не ответили на вопрос, как настройки безопасности относятся к этому?

Цитата:
Откуда вы вообще взяли, что проблема в вашем конкретном случае с кодировками, если не секрет? (я говорю о файлах скомпилированных вами и которые, по вашим словам, не открываются (речь о видимости контента html страниц chm файла). Вы не задумывались о том что

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

Цитата:
Это назывется настройкой локали системы и является не неким твиком через реестр, а стандартной операцией, оcуществляемой через Контрольную панель:

локаль системы это одно, а твик реестра с помощью которого в реестре если вы про такое не слышали, то вот

Код: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"
Автор: Foss
Дата сообщения: 03.04.2014 23:01
regist123
Настройки безопасности влияют на ограничения накладываемые на данные, которые, в частности, отправляются движку IE.
В случае chm файлов это актуально, поскольку он использует этот движок.
А так как формат chm древний - он имеет ряд дыр, которые таким образом штопают.
Отсюда и проблемы с отображением страниц в некоторых случаях.

Добавлено:

Цитата:
локаль системы это одно, а твик реестра с помощью которого в реестре если вы про такое не слышали, то вот

Код:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"

это совсем другое.

Это называется удалять гланды через задницу автогеном.
Я конечно знаю, откуда растут ноги у этого "твика-костыля" и изобретен он во времена Windows 2000 (то есть примерно в 1999 году), но в современных системах - Windows Vista и позднее - его применяют только совсем дремучие люди, исключительно по незнанию, поскольку на самом деле необходимость в нем отсутствует, а с другой стороны он создает проблемы при отображении символов расширенной латиницы (то есть, для слов на таких языках, как немецкий, французский, португальский, финский и т.д.).
Автор: regist123
Дата сообщения: 04.04.2014 12:15
Насчёт твика я с вами согласен и именно поэтому ищу способ как исправить справку, а не использовать костыли. А так совсем недавно аналогичный совет давали тут в теме по windows 7 и многие до сих пор используют этот способ . Но это офтоп.
Foss 01:01 04-04-2014
Цитата:
Настройки безопасности влияют на ограничения накладываемые на данные, которые, в частности, отправляются движку IE. В случае chm файлов это актуально, поскольку он использует этот движок. А так как формат chm древний - он имеет ряд дыр, которые таким образом штопают. Отсюда и проблемы с отображением страниц в некоторых случаях.

я же говорю не вообще о настройках безопасности, а о конкретном случае. Как выше указал та же справка, сделанная на англ. языке (название пунктов в меню написал латиницей) открывалась на том компе нормально. Как вы это объясните? Если вы уверены, что дело в настройках безопасности и что дело в настройках тех компов, где не работает, то может подскажете что там надо поменять, чтобы работало?
Автор: Foss
Дата сообщения: 04.04.2014 20:02
regist123

Цитата:
я же говорю не вообще о настройках безопасности, а о конкретном случае.

А где я сказал, что говорю об абстрактных настройках безопасности?

Цитата:
Как выше указал та же справка, сделанная на англ. языке (название пунктов в меню написал латиницей) открывалась на том компе нормально. Как вы это объясните?

С этого момента, если хотите получать помощь, мы будем поступать исключительно следующим образом.

Вы выкладываете тут пример .chm файла, говорите о его проблемах, подтверждаете сказанное скриншотами.
Каждый желающий сможет проверить ваши утверждения и подтвердить их или опровергнуть. И, соответственно, любой желающий сможет дать вам совет по решению имеющихся проблем (включая, разумеется, меня).

Если вам непонятно почему так, то намекну - потому что вы путаетесь (возможно, намеренно) в собственных утверждениях. А я уже утомился показывать - где и почему.
Кроме этого, в текущем виде наш диалог понятен далеко не всем, а мне хотелось бы, чтобы он имел пользу не только для вас, а для любого читателя топика, имеющего похожие проблемы.
Автор: regist123
Дата сообщения: 05.04.2014 09:22
Foss 22:02 04-04-2014
Цитата:
Вы выкладываете тут пример .chm файла, говорите о его проблемах, подтверждаете сказанное скриншотами.

и скриншот и CHM файл у вас давно есть в ЛС, а в паблик извините, но я не собираюсь его выкладывать.

Цитата:
А где я сказал, что говорю об абстрактных настройках безопасности?

но ничего конкретного (ни о каких каких конкретных) настройках вы не говорите, только общие слова, что настройки безопасности могут мешать. От ответа на вопрос какие именно настройки и где их менять вы ушли.


Цитата:
Кроме этого, в текущем виде наш диалог понятен далеко не всем, а мне хотелось бы, чтобы он имел пользу не только для вас, а для любого читателя топика, имеющего похожие проблемы.

Весь диалог и так идёт на паблике, в ЛС я вам послал только файл и скрин. Если вы укажите конкретную причину по которой это может не работать, то полезно это будет всем. А если вы не знаете, в чём причина то просто лучше сразу так и скажите.
До этого предлагали помощь в конвертирование в UTF-8 а потом через несколько постов сами пишите, что CHM не поддерживает этот формат, так что кто из нас путается?
Автор: Foss
Дата сообщения: 05.04.2014 20:52
regist123

Цитата:
и скриншот и CHM файл у вас давно есть в ЛС, а в паблик извините, но я не собираюсь его выкладывать.

В таком случае нет смысла продолжать эту тему тут, поскольку для читателей топика она не совсем понятна.
Автор: regist123
Дата сообщения: 06.04.2014 10:23
Foss На вопрос про настройки безопасности, которые по вашему за это отвечают так и не ответили .

Добавлено:
Если у вас есть идеи идеи или конкретные советы в чём может быть проблема, то пишите тут. Интересно это будет всем.
Автор: 358
Дата сообщения: 11.01.2015 08:50
периодически делаю для себя обновленную копию сайта. С недавних пор фон скомпилированного документа поменялся с белого на темно серый. В настройках не вижу где изменить.
Подскажите почему так?
Или на компилируемом сайте что-то могло измениться?
htm2chm (v.3.0.9.3)
Автор: regist123
Дата сообщения: 11.01.2015 13:17
358 09:50 11-01-2015
Цитата:
Или на компилируемом сайте что-то могло измениться?

да.

Цитата:
В настройках не вижу где изменить.  

менять надо не в настройках, а в css.

Страницы: 1234567891011

Предыдущая тема: Фото в ICQ


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.