# Specifikacija emotikona

0.1
7. 1. 2005.
Olivje
Gofar

     ogoffart@tiscalinet.be

# Emotikoni

## Uvod

Ovaj nacrt definiše kako napraviti temu emotikona kakva se tipično koristi u brzoglasničkim programima.

Osnovna šema je vrlo jednostavna. Sastoji se od jedne potfascikle koja sadrži sve slike i XML fajl koji navodi ASCII simbol za svaku sliku. Može se upotrebiti .directory fajl.

### Lokacije fajlova

Fajlovi uključeni u ovu specifikaciju nalaze se prema „specifikaciji osnovnih fascikli površi“, koja se može naći na www.freedesktop.org.

Svi fajlovi teme moraju da se smeste u potfasciklu fascikle ``$XDG_DATA_DIRS`/emoticons/`. Ime fascikle mora biti jednako imenu teme. Fascikla mora da sadrži fajl po imenu `emoticons.xml`. Format ovog fajla opisan je u narednom.

Fascikla teme takođe može da se sadrži .directory fajl, u kome se nalaze prevodi imena teme i ikonica za temu.

### Format fajla `emoticons.xml`

Fajl mape emotikona mora biti dobro formiran XML fajl. Izvedbe treba da ignorišu nepoznate oznake i atribute.

#### Elementi

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

  Koreni element je `<messaging-emoticon-map>` i sadrži sve ostale elemente.

`<emoticon file="...">`

  Ovaj element predstavlja jedan emotikon. Vrednost atributa je ime fajla slike, koji mora stajati u istoj fascikli. Nastavak fajla može da se izostavi, u kom slučaju izvedba traži u fascikli neki fajl sa datim imenom i podržanim formatom.

  Redosled emotikona u mapi nije bitan. Ali se obično prva ikonica u mapi koristi za grafičko identifikovanje teme. Zato po konvenciji treba da bude ona uz simbol `:-)`.

`<string>`

  Ovaj element može da se javi samo pod `<emoticon>`. Predstavlja ASCII nisku koja se poklapa u tekstu, i smenjuje slikom zadatom u atributu `file` emotikona.

  Može biti više niski po emotikonu.

  Redosled niski unutar emotikona nije bitan. Ali bi prva niska trebalo da bude podrazumevana, i biće preuzeta u slučaju GUI birača.

### Format slike

Sve slike treba da budu podržanog formata: PNG, GIF, ili MNG.

### Beleške za izvedbu

#### Raščlanjivač emotikona

Nema nikakvih pravih preporuka kako raščlanjivati emotikone. Ali bi emotikon sa dužom niskom trebalo da ima prioritet nad onim sa kraćom niskom. Na primer: ako u temi ima i `:-()` i `:-(`, treba uzeti sliku uz prvi kada se naiđe na `:-()`.

### Primer

    <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>