Hard space
# Hard space

In informatica il termine hard space ("spazio non collassabile") ha molti significati, tutti correlati a modi particolari di rappresentare lo spazio presente tra i caratteri.

## Spazio unificatore

Lo spazio unificatore è un carattere di spazio speciale usato dagli elaboratori di testo che impedisce di mandare a capo automaticamente le linee di testo nella posizione dove è presente. Su un PC viene comunemente inserito tenendo premuto ALT e digitando 0160 sul tastierino numerico. L'utilizzo principale è per evitare che il programma "spezzi" una riga dove non è desiderabile che accada: ciò è particolarmente utile con certe sequenze di caratteri come per esempio 15 °C (dato che 15/°C sarebbe molto brutto esteticamente e per di più non conforme alle direttive del Sistema internazionale di unità di misura).

## Altri spazi speciali

* Sono presenti molti altri hard spaces nell'Universal Character Set (ISO 10646) e in Unicode:
   * il Non-breaking thin space (spazio sottile non spezzabile), in Unicode denominato “NARROW NO-BREAK SPACE” (U+202F)
   * Zero-width non-breaking space (spazio di larghezza zero non spezzabile), in Unicode denominato "ZERO WIDTH NO-BREAK SPACE" (U+FEFF). Da notare che questo carattere viene anche usato come il UCS BOM (Byte Order Mark). Per questa doppia presenza la RFC 3629 dice che l'“Unicode 3.2 aggiunge un nuovo carattere, U+2060 «WORD JOINER», che ha esattamente la stessa semantica ed uso del U+FEFF eccetto la funzione di identificazione, raccomanda fortemente il suo uso esclusivo per esprimere la semantica di unione delle parole”.
* Nei primi giorni dei compositori di testo che funzionavano solo in modalità testuale su schermi CRT, quando un paragrafo doveva venir giustificato, ciò veniva ottenuto tramite l'inserimento di soft spaces extra come spazi. Il soft space veniva così chiamato perché poteva venir “compresso” durante le revisioni successive. Per contrasto lo spazio ordinario veniva denominato spazio hard o incomprimibile.
* Inoltre, in alcuni vecchi text editor, gli hard spaces erano non-espandibili — ad esempio nessun soft space poteva venir aggiunto loro — e allo stesso tempo non “spezzavano” gli altri.
