# Specifiche delle faccine

Versione 0.1

7/1/2005

## Faccine

## Introduzione

Questa BOZZA del documento definisce come creare un tema di faccine utilizzato tipicamente nelle applicazioni di messaggistica istantanea

Lo schema di base è davvero semplice. Il tema consiste di una sottocartella che contiene tutte le immagini e un file &XML; che fornisce a ogni immagine simboli ASCII. Un file .directory dovrebbe essere utilizzato.

### Percorsi dei file

I file interessati da queste specifiche sono posizionati in base alla «specifica della cartella di base del desktop» che è disponibile su www.freedesktop.org.

Tutti i file del tema devono essere posizionati in una sottocartella di `$XDG_DATA_DIRS`/emoticons/ Il nome della cartella deve essere uguale al nome del tema. La cartella deve contenere un file con nome `emoticons.xml`il formato del file è scritto di seguito.

La cartella del tema potrebbe inoltre contenere un file .directory che include le traduzioni del nome del tema e/o un'icona per quel tema

### Formato del file emoticons.xml

I file della mappa delle faccine devono essere file XML formattati correttamente. Le implementazioni dovrebbero ignorare i tag o gli attributi sconosciuti.

#### Elementi

<messaging-emoticon-map> [version="0.1"]

- L'elemento radice è <messaging-emoticon-map> tutti gli altri elementi sono contenuti in esso

<emoticon file="...">

- Questo elemento rappresenta una faccina. Il file degli attributi ha il nome del file dell'immagine che deve essere nella stessa cartella. L'estensione potrebbe essere omessa. In tal caso, l'implementazione controlla la presenza nella cartella di un file con lo stesso nome in un formato supportato.

  Non esiste alcun ordine per le faccine nella mappa. Ma la prima icona della mappa è generalmente utilizzata per identificare graficamente il tema. Per convenzione, DOVREBBE essere :-)

<stringa>

- Questo elemento potrebbe apparire solo sotto <emoticon>. Rappresenta la stringa ASCII che sarà verificata nel testo, e sostituita dall'immagine specificata dall'attributo file della faccina.

  Potrebbero esserci diverse stringhe per emoticon.

  Non esiste alcun ordine per la stringa nella faccina. Ma la prima DOVREBBE essere la predefinita, e sarà utilizzata se è presente un selettore dell'interfaccia grafica.

### Formato dell'immagine.

Tutte le immagini DOVREBBERO essere in un formato supportato: PNG, GIF o MNG.

### Note di implementazione

#### Analizzatore delle faccine

Non esistono raccomandazioni su come elaborare le faccine. Ma una faccina con una stringa più lunga dovrebbe avere priorità su una con una stringa più corta. (Esempio: se entrambe :--() e :--( sono nello stesso tema, l'immagine per la prima dovrebbe essere utilizzata quando si trova :-())

### Esempio

    <messaging-emoticon-map>
            <emoticon file="smile.png">
                            <string>:-)</string>
                            <string>:)</string>
                            <string>:o)</string>
            </emoticon>

            <emoticon file="wink.png">
                            <string>;-)</string>
                            <string>;)</string>
            </emoticon>

            <emoticon file="unhappy.png">
                            <string>:-(</string>
                            <string>:(</string>
            </emoticon>
    </messaging-emoticon-map>