# Emoticons-Spezifikation

Version 0.1
2005-01-07
Olivier
Goffart

     ogoffart@tiscalinet.be

# Emoticons

## Einführung

In diesem vorläufigen Dokument wird definiert, wie ein typisches Design mit Emoticons für Instant-Messaging-Programme erstellt wird.

Das grundlegende Schema ist sehr einfach. Ein Design besteht aus einem Unterordner, der alle Bilder und eine &XML;-Datei mit ASCII-Symbolen für jedes Bild. Eine Datei mit der Erweiterung „.directory“ kann verwendet werden.

### Speicherorte der Dateien

Die Dateien dieser Spezifikation werden entsprechend dem Standard von www.freedesktop.org gespeichert.

Alle Dateien eines Designs müssen in einem Unterordner von `$XDG_DATA_DIRS/emoticons/` gespeichert werden. Dieser Ordner muss den gleichen Namen wie das Design haben. Dieser Ordner muss einen Datei mit dem Namen `emoticons.xml` enthalten. Das Format dieser Datei wird im folgenden beschrieben.

Der Designordner kann auch eine Datei „.desktop“ mit Übersetzungen des Designnamens oder einem Symbol für das Design enthalten.

### Format der Datei emoticons.xml

Emoticon-Dateien dürfen nur wohlgeformtes XML enthalten. Implementierungen sollten unbekannte Tags und Attribute ignorieren.

#### Elemente

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

  Das Basiselement ist <messaging-emoticon-map>, alle anderen Elemente sind darin enthalten.

<emoticon file="...">

  Diese Element repräsentiert ein Emoticon, Die Attributdatei ist der Name der Bilddatei, die sich im selben Ordner befinden muss. Die Erweiterung kann ausgelassen werden. In disem Fall wird in diesem Ordner nach einer Datei mit dem gleichen Namen in einem unterstützten Format gesucht.

  Es gibt keine Reihenfolge für die Emoticons in der Datei. Aber das erste Symbol wird benutzt, um das Design grafisch zu identifizieren.

<string>

  Dieses Element darf nur nach dem Element <emoticon> eingefügt werden. Es repräsentiert die ASCII-Zeichenkette, mit dem der Text übereinstimmt. Es wird durch das Bild ersetzt, das durch das Dateiattribut des Emoticons ersetzt.

  Es dürfen mehrere Zeichenketten je Emoticon vorhanden sein.

  Es gibt keine Reihenfolge für Zeichenketten in einem Emoticon. Der erste Eintag sollte als Standard verwendet, wenn eine Auswahl in einer grafischen Bedienungsoberfläche möglich ist.

### Format der Bilder.

Alle Bilder sollten in einem der unterstützten Formate PNG, GIF oder MNG vorliegen.

### Hinweise zur Implementierung

#### Einlesen einer Emoticon-Datei

Es gibt keine Empfehlung, wie Emoticons eingelesen werden sollen. Jedoch sollte ein Emoticon mit einer längeren Zeichenkette Priorität vor einem Emoticon mit einer kürzeren Zeichenkette haben. Wenn es zum Beispiel „:-()“ und „:-(“ in einem Design gibt, sollte das Bild für das erste Element verwendet werden, wenn „:-()“ eingelesen wird.

### Beispiel

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