Додаток E. Специфікація емоційок

Olivier Goffart

версія Версія 0.1 (7 січня 2005 року)

Вступ

Це чернетка, що описує створення теми емоційок, яку типово використовують у програмах для миттєвого обміну повідомленнями.

Базова схема є дуже простою. Тема складається з одного підкаталогу, який містить усі зображення та одного файла XML, у якому з кожним зображенням пов’язується набір символів ASCII. Також може бути використано один файл .directory.

Розташування файлів

Файли, описані у цій специфікації, розташовуються відповідно до «Специфікації базових каталогів стільничного середовища», з якою можна ознайомитися на сайті www.freedesktop.org.

Усі файли теми мають зберігатися у підкаталозі каталогу $XDG_DATA_DIRS/emoticons/. Назва підкаталогу має збігатися з назвою теми. Підкаталог має містити файл з назвою emoticons.xml. Формат цього файла описано нижче.

Каталог теми може також містити файл .directory, у якому зберігатимуться переклади назви теми та/або дані щодо піктограми теми.

Формат файла emoticons.xml

Файли кар емоційок мають бути коректними файлами XML. У реалізаціях обробників мають ігноруватися невідомі теґи та невідомі атрибути.

Елементи

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

Кореневим елементом є <messaging-emoticon-map>. Цей елемент містить усі інші елементи.

<emoticon file="...">

Цей елемент відповідає одній емоційці. Атрибут файла має містити назву файла зображення у тому самому каталозі. Суфікс назви файла можна не вказувати. Якщо суфікс не вказано, реалізація обробника має шукати файл із вказаною назвою у якомусь із підтримуваних форматів.

Емоційки у карті не впорядковано. Втім, першою піктограмою у карті є піктограма, яка ідентифікує тему графічно. Типово, цією піктограмою має бути :-)

<string>

Цей елемент можна вказувати лише під <emoticon>. Від визначає рядок ASCII, який обробник має шукати у тексті для заміни зображенням, вказаним атрибутом file емоційки.

У однієї піктограми може бути декілька елементів string.

Особливого порядку рядків (елементів string) у записі емоційки не передбачено. Втім, першим має бути типовий рядок, його буде використано якщо позначено відповідний пункт у графічному інтерфейсі.

Формат зображення.

Усі зображення має бути збережено у таких форматах: PNG, GIF або MNG.

Зауваження щодо реалізації

Обробник емоційок

Окремих рекомендацій щодо обробки емоційок немає. Втім, емоційки з довшими рядками повинні мати вищий пріоритет за емоційки з короткими рядками. (Приклад: якщо у темі визначено емоційки для :-() і :-(, слід використовувати зображення для першої з них, якщо буде виявлено рядок «:-()»)

Приклад

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