# Спецификација емотикона

0.1
7. 1. 2005.
Оливје
Гофар

     ogoffart@tiscalinet.be

# Емотикони

## Увод

Овај нацрт дефинише како направити тему емотикона каква се типично користи у брзогласничким програмима.

Основна шема је врло једноставна. Састоји се од једне потфасцикле која садржи све слике и ИксМЛ фајл који наводи аски симбол за сваку слику. Може се употребити .directory фајл.

### Локације фајлова

Фајлови укључени у ову спецификацију налазе се према „спецификацији основних фасцикли површи“, која се може наћи на www.freedesktop.org.

Сви фајлови теме морају да се сместе у потфасциклу фасцикле ``$XDG_DATA_DIRS`/emoticons/`. Име фасцикле мора бити једнако имену теме. Фасцикла мора да садржи фајл по имену `emoticons.xml`. Формат овог фајла описан је у наредном.

Фасцикла теме такође може да се садржи .directory фајл, у коме се налазе преводи имена теме и иконица за тему.

### Формат фајла `emoticons.xml`

Фајл мапе емотикона мора бити добро формиран ИксМЛ фајл. Изведбе треба да игноришу непознате ознаке и атрибуте.

#### Елементи

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

  Корени елемент је `<messaging-emoticon-map>` и садржи све остале елементе.

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

  Овај елемент представља један емотикон. Вредност атрибута је име фајла слике, који мора стајати у истој фасцикли. Наставак фајла може да се изостави, у ком случају изведба тражи у фасцикли неки фајл са датим именом и подржаним форматом.

  Редослед емотикона у мапи није битан. Али се обично прва иконица у мапи користи за графичко идентификовање теме. Зато по конвенцији треба да буде она уз симбол `:-)`.

`<string>`

  Овај елемент може да се јави само под `<emoticon>`. Представља аски ниску која се поклапа у тексту, и смењује сликом задатом у атрибуту `file` емотикона.

  Може бити више ниски по емотикону.

  Редослед ниски унутар емотикона није битан. Али би прва ниска требало да буде подразумевана, и биће преузета у случају ГУИ бирача.

### Формат слике

Све слике треба да буду подржаног формата: ПНГ, ГИФ, или МНГ.

### Белешке за изведбу

#### Рашчлањивач емотикона

Нема никаквих правих препорука како рашчлањивати емотиконе. Али би емотикон са дужом ниском требало да има приоритет над оним са краћом ниском. На пример: ако у теми има и `:-()` и `:-(`, треба узети слику уз први када се наиђе на `:-()`.

### Пример

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