# Microsoft Compressed HTML Help

Microsoft Compressed HTML Help o CHM è un formato proprietario per file di aiuto in linea, sviluppato da Microsoft e distribuito nel 1997 come successore di Microsoft WinHelp. È stato distribuito per la prima volta con Windows 98 ed è ancora distribuito e supportato su Windows 8.1 e Windows RT.
I file HTML Help sono creati con appositi strumenti. Microsoft distribuisce l'HTML Help Workshop con le versioni supportate di Windows e lo rende disponibile gratuitamente per il download. Ci sono anche diversi strumenti di terze parti.
Il formato .LIT per Microsoft Reader è fondamentalmente una modifica di HTML Help.
Nel 2002 Microsoft ha annunciato alcuni problemi di sicurezza correlati con il formato .CHM, e ha distribuito alcune patch. Il formato CHM non sarà più sviluppato e verrà sostituito da Microsoft Assistance Markup Language in Windows Vista.

## Storia

* Febbraio 1996 - Microsoft ha annunciato il progetto per fermare lo sviluppo di WinHelp ed iniziare quello di HTML Help
* Agosto 1997 - release HTML Help 1.0 (HH 1.0) con Internet Explorer 4.
* Febbraio 1998 - HTML Help 1.1a distribuito con Windows 98.
* Gennaio 2000 - HTML Help 1.3 distribuito con Windows 2000.
* Luglio 2000 - HTML Help 1.32 distribuito con Internet Explorer 5.5 e Windows Me.
* Ottobre 2001 - HTML Help 1.33 distribuito con Internet Explorer 6 e Windows XP.
* Marzo 2001 - Alla conferenza WritersUA (precedentemente WinWriters) Microsoft annuncia una nuova piattaforma Help 2.0, sempre basata su HTML.
* Gennaio 2003 - Microsoft decide di non distribuire Microsoft Help 2.0.

## Formato di file

Un file CHM ha estensione ".chm". Consiste in un insieme di pagine scritte in un subset di HTML e con un indice di hyperlink. Il formato CHM è ottimizzato per la lettura, dato che i file sono pesantemente indicizzati. Tutti i file sono compressi con algoritmo LZX. La maggior parte dei browser CHM possono visualizzare l'indice accanto al testo della pagina.
I file iniziano con i byte ITSF (in ASCII), sigla che sta per "Info-Tech Storge Format". Il formato è stato parzialmente decodificato con ingegneria inversa, e ci sono specifiche disponibili: Archiviato il 2 gennaio 2007 in Internet Archive. e .
Ci sono diversi strumenti Open Source che possono leggere ed esplorare questi file (vedi, per esempio, xCHM, KchmViewer, GnoCHM o Chmox for OS X), ma non hanno tutte le funzioni dei tool ufficiali.

## Vantaggi

* La dimensione dei file è più piccola di quella dell'HTML semplice
* Contiene tutti gli strumenti di formattazione dell'HTML per la presentazione del testo
* Possibilità di cercare in tutto il testo
* Possibilità di unire più file CHM.

## Applicazioni

Questo formato è stato pensato solo per la realizzazione di file di aiuto, ma gli sono stati trovati anche alcuni utilizzi diversi. È molto comodo per mettere insieme pagine HTML in un unico archivio facilmente navigabile e per creare piccoli libri elettronici. Molte persone lo utilizzano per tenere insieme degli appunti, poiché è facile organizzarli gerarchicamente e permettere rapide ricerche. Esiste un'estensione di Mozilla Firefox per leggere i file CHM:.

## Estrarre i file HTML

Su Windows, è possibile estrarre l'HTML contenuto in un file CHM con questo comando:
Al posto di "extracted" bisogna mettere il nome della cartella in cui estrarre i file, e al posto di "filename.chm" bisogna mettere il nome del file originale.
Sui sistemi Unix che utilizzano apt come package tool, un file CHM può essere estratto in questo modo (l'esempio di seguito vale per le distribuzioni basate Debian)
Un altro utile set di strumenti per i file CHM sui sistemi non-Windows è CHM Tools Package Archiviato il 29 giugno 2008 in Internet Archive.. È disponibile come codice sorgente e include un programma, chmdump, che estrae file HTML dai CHM e li mette in una cartella.
È disponibile anche sotto macOS tramite MacPorts.
Se DarwinPorts è installato sul vostro sistema, il comando per installare chmdump è il seguente:
Il comando per estrarre gli HTML è questo: