# Emotikonide spetsifikatsioon

Versioon 0.1

07 . jaanuar 2005

## Emotikonid

## Sissejuhatus

See MUSTANDDOKUMENT defineerib, kuidas luua emotikoniteemat, mida tavaliselt kasutataksae kiirsuhtlusrakendustes.

Põhiskeem on väga lihtne. Teema koosneb ühest alamkataloogist, mis sisaldab kõiki pilte ja &XML;-faili, mis annab igale pildile ASCII-sümbolid. Kasutada võib .directory-faili.

### Failide asukohad

Spetsifikatsiooniga hõlmatud failide asukohad on määratud spetsifikatsiooniga "desktop base directory specification", mille leiab aadressilt www.freedesktop.org.

Kõik teema failid peavad asuma alamkataloogis `$XDG_DATA_DIRS`/emoticons/ Kataloogi nimi peab olema sama teema nimega. Kataloog peab sisaldama faili `emoticons.xml`, mille vormingut kirjeldatakse allpool.

Teemakataloog võib samuti sisaldada .directory-faili, mis sisaldab teema nime tõlkeid ja/või teema ikooni.

### Faili emoticons.xml vorming

Emotikoni määratlusfailid peavad olema korrektses vormingus XML-failid. Teostuses peab vältima tundmatuid silte ja atribuute.

#### Elemendid

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

- Juurelement on <messaging-emoticon-map>, mis hõlmab kõiki teisi elemente.

<emoticon file="...">

- See element esindab üht emotikoni. Atribuut file on pildifaili nimi, mis peab asuma samas kataloogis. Laiendi võib ära jätta. Sel juhul otsib teostus kataloogis sama nimega ja toetatud vormingus faili.

  Emotikonide järjekord ei ole oluline. Kuid üldiselt genereeritakse esimese ikooni põhjal teema graafiline esitus. Tavakohaselt PEAKS see olema :-)

<string>

- See element võib esineda ainult <emoticon> järel. See esindab ASCII stringi, mis sobitatakse tekstiga ning asendatakse pildiga, mille määrab emotikoni failiatribuut.

  Ühel emotikonil võib olla mitu stringi.

  Stringide järjekord emotikonis ei ole oluline. Kuid esimene PEAB olema vaikimisi string, mida kasutatakse juhul, kui pakutakse graafilist valijat.

### Pildi vorming.

Kõik pildid PEAVAD olema toetatud vormingus: PNG, GIF või MNG.

### Märkused teostuse kohta

#### Emotikonide parser

Selle kohta, kuidas parsida emotikone, pole kindlat soovitust. Üldiselt peaks pikema stringiga emotikoni prioriteet olema kõrgem kui lühema stringiga emotikonil. (Näiteks kui teemas on nii :-() kui ka :-(, siis tuleks kasutada esimese pilti juhul, kui esineb :-() ).

### Näide

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