Punta de Choros

27 декември 2009

На 2009г й оставаха 120ч съществуване. От календара падна поредния лист с дата 27 декември и към 10.30ч сутринта ме събуди звън от телефона.

Инсталация на Microsoft шрифтове в Ubuntu 16.04

14 януари 2017

нсталация на Microsoft шрифтове в Ubuntu се поражда от идеята браузърите в различните системи, да показват еднакво текстовото съдържанието на интернет страниците.

Ubuntu 16.04 инсталация на USB disk on Key

19 ноември 2016

Арсеналът ми от мобилни компютри съдържа Fujitsu Lifebook AH530. Това е бюджетна машина от 2011г на Intel Core i5-480M процесор и 4GB DDR3 RAM памет.

gparted

Paragon ExtFS for Windows

30 юли 2016

ExtFS for Windows е утилита на Paragon Software разработена през 2013г. Тя представлява решение, предоставящо пълен достъп на четене и на запис до раздели ...

msvcr100.dll is missing Windows 10

04 октомври 2016

Майк Патерсън от Plixer, компания по компютърната сигурност, публикува доклад , че Windows 10 изпраща данни в криптиран вид от вашата машина на всеки пет минути. Той е направил максимума, за да спре изтичането, но системата продължавала да изпраща информация.


HTMLHelp (Microsoft Compressed HTML Help, Microsoft Compiled HTML Help, .CHM) e проприетарен формат на файл за контекстна справка, дело на корпорация Microsoft. Този формат е създаден през 1997г, за да замести формат WinHelp. На практика е компресиран комплект по алгоритмом LZX, съдържащ HTML страници. Възможно е да се добавят хиперлинкове, адреси към вътрешни страници, предметен указател, търсачка.

В операционна система Windows има вградено средство за преглед на CHM файлове още от времето на Windows 98 и Windows NT.

Тези системи са мъртви, а аз отдавна съм дал предпочитание на Ubuntu. Има много електронни книги в този формат и миграцията към Ubuntu не трябва да ги поставя под въпрос, а той е как да отворя CHM файл под Ubuntu?
Ubuntu с лекота се справя с поставената задача. Тук обаче изгря един малък нюанс между двете системи и най-вече причина се оказа firefox.

Броузър Moziila Firefox се обнови на моята система до версия 7. С новото обаче спря да работи старото. Firefox предлага add-on за преглед на CHM файлове - ACHM Reader. Този add-on към дата на публикация отказа да работи. Намирах го най-удачен за целта. Какво правим тогава?
Питаме Ubuntu Software Center за CHM. Предложенията не са много, даже малко.
Отпада KchmViewer. Той е за KDE, а аз на Gnome. Инсталацията му ще натресе хиляди найлонови чували с барабонки.

E-book reader. Това чудо се оказа някакъв бъзик. Аха да тръгне и се скрие. На всичко отгоре с интерфейс, изискващ IQ > 100. Я Айнщайн да си го ръчка в междучасието.

ChmViewer. Това при опит за инсталация ме наплю, че съм нямал дрън-дрън библиотеки и питона ми се дави. Пратих го да маха на магистралата.

И нещата се свиха до две оскъдни предложения:
  • xCHM
  • ChmSee
Програмите работят коректно. Те обаче не могат да остраняват грешки на създателите на CHM файлове писани на кирилица. Кирилицата е виновна, а това се дължи на Windows. И за да стане ясно привеждам следните примери с няколко електронни книги. Нека ги наречем CSS.chm и PHP.chm. Не намирам такива на български, за това се позовавам на руската кирилица.
xCHM
При преглед с xCHM гърми кирилицата в главния прозорец (снимката горе). Същото под ChmSee - гърми кирилицата в съдържанието. Както и да го приемеш все криво стои.
ChmSee
Нека си припомним от анонса какво е CHM файл. Защо тогава не го декомпресираме и погледнем от близо каква е причината.

За целта инсталираме archmage. След което стартираме конзолата и пишем семпла команда

archmage <chm.file> <outputdir>

Ясно, че chm.file е същинското име на CHM файла, а след него е произволно име на каталога, в когото ще се извлече съдържанието му.
декомпресия на CHM файл
В резултат получавам очаквана структура на статичен сайт.

index.html e приветствен екран.
arch_contents.html се оказва iframe.

Този фрейм организира съдържанието. Погледнат отвътре index.html имат мета таг <meta charset="utf-8" />, докато arch_contents.html няма.

Ubuntu работи с модерна кодировка UTF-8, докато Windows не. Под руска локализация Windows работи с cp1251. Авторът на CSS.chm не се е усетил и на лице идват кривите му ръце.
spoiler :
<html>
<head>
<title>css.chm</title>
<LINK rel="Stylesheet" type="text/css" href="arch_css.css">
</head>

<body onload="setInterval('getLoc()', 500);">
<script>
var lastDoc;
var contents =
[
["Êàê ïîëüçîâàòüñÿ ñïðàâî÷íèêîì", "index.html", "1"],
["Ñåëåêòîðû", "", "1",
["Óíèâåðñàëüíûé ñåëåêòîð", "selector/universal.html", "1"],
["Ñåëåêòîðû òåãîâ", "selector/tag.html", "1"],
["Êîíòåêñòíûå ñåëåêòîðû", "selector/context.html", "1"],
["Êëàññû", "selector/class.html", "1"],
["Ìóëüòèêëàññû", "selector/multiclass.html", "1"],
["Èäåíòèôèêàòîðû", "selector/id.html", "1"],
["Äî÷åðíèå ñåëåêòîðû", "selector/child.html", "1"],
["Ñîñåäíèå ñåëåêòîðû", "selector/ajacent.html", "1"],
["Ñåëåêòîðû àòðèáóòîâ", "selector/attribute.html", "1"]],
["Çíà÷åíèÿ", "", "1",
["Ñòðîêè", "value/string.html", "1"],
["×èñëà", "value/number.html", "1"],
["Ïðîöåíòû", "value/percent.html", "1"],
["Đàçìåð", "value/size.html", "1"],
["Àäðåñ", "value/url.html", "1"],
["Öâåò", "value/color.html", "1"],
["inherit", "value/inherit.html", "1"],
["initial", "value/initial.html", "1"]],
["Ïî àëôàâèòó", "", "1",
["!", "", "1",
["!important", "css/!important.html", "1"]],
["@", "", "1",
["@charset", "css/@charset.html", "1"],
["@font-face", "css/@font-face.html", "1"],
["@import", "css/@import.html", "1"],
["@media", "css/@media.html", "1"],
["@page", "css/@page.html", "1"]],
["A", "", "1",
[":active", "css/ac
Не бързайте с заключенията. Авторът на PHP.chm е ползвал редактор с изключен BOM по всяка вероятност и грижливо е добавил на всяка страница:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

В резултат четима кирилица в главен прозорец и съдържание.
xCHM







до нови срещи   ^.^
02.09.2011 profruit 


1 Response to "CHM файл под Ubuntu"

  1. #/bin/bash Said,

    Calibre е отговора за електронна библиотека на компютър. Подъържа почти всичко (да не казвам всичко) - включително и тоя формат. А и се оправя отлично с объркани кодировки. :)

     

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: Ubuntu, WEB, Photoshop, Фотография, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога