Endlich *richtig* kyrillisch schreiben …

Folgendes Snippet, wenn es als Datei ocs im Verzeichnis /usr/share/X11/xkb/symbols abgelegt ist, erlaubt einfache Eingabe von nicht-alltäglichen Zeichen aus dem kyrillischen Alphabet. Es läßt sich auf folgende Wiese invozieren (um die eigenen Präferenzen und alternativen Groups ergänzen):

setxkbmap -layout de,ocs -variant ,phonetic

Das Layout basiert auf dem standardmäßig mit Xorg gelieferten, phonetischen Layout, welches es um diverse zusätzliche Zeichen auf der dritten Ebene ergänzt; die zugehörigen Majuskeln erreicht man intutiverweise durch die Shifttaste. Außerdem sind die arabischen Ziffern auf die zweite Ebene migriert worden, um mehr Raum für andere Glyphen zu schaffen; allerdings liegen auf der Zahlenreihe die Majuskeln und Minuskeln nebeneinander, wie es das phonetische Layout für „ъ“ und „ё“ vorgesehen hatte.

Wenn sich dieser Entwurf als unhandlich oder unzureichend herausstellen sollte, bin ich für alle produktiven Vorschläge offen. Beim Setzen von altrussischen Texten hat sich dieses Layout bereits in der Praxis bewährt. XKB mag grausam und unflexibel sein, aber konfigurierbar ist es auf traumhaft zuvorkommende Weise …

// $XKeyboardConfig$

partial alphanumeric_keys
xkb_symbols "phonetic" {

    name[Group1]= "Russia - Phonetic";

// Number row
// Plain decimal digits are accessed via shift.
    key  {        [             U0467,                  1,        U0469,          exclam ] }; //   small little yus | small iotified little yus
    key  {        [             U0466,                  2,        U0468,              at ] }; //   cap   little yus | cap   iotified little yus
    key  {        [       Cyrillic_io,                  3,        U0465                  ] }; //                  ё | small iotified e
    key  {        [       Cyrillic_IO,                  4,        U0464                  ] }; //                  Ё | cap   iotified e
    key  {        [ Cyrillic_hardsign,                  5,        U0481                  ] }; // small tverdyj znak | small qoppa
    key  {        [ Cyrillic_HARDSIGN,                  6,        U0480                  ] }; // cap   tverdyj znak | cap   qoppa
    key  {        [         ampersand,                  7,        U047F                  ] }; //                    | small ot
    key  {        [          asterisk,                  8,        U047E                  ] }; //                    | cap   ot
    key  {        [             U046b,                  9,        U046d,       parenleft ] }; //      small big yus | small iotified big yus
    key  {        [             U046a,                  0,        U046c,      parenright ] }; //      cap   big yus | cap   iotified big yus
    key  {        [        underscore,              minus                                ] };
// punctuation corresponding to english layout
    key  {        [            period,            greater                                ] };
    key  {        [             slash,           question                                ] };
    key  {        [             comma,               less                                ] };
    key  {        [         semicolon,              colon                                ] };
    key  {        [        apostrophe,           quotedbl                                ] };
    key  {        [               bar,          brokenbar                                ] };
// Latin -> Cyrillic mapping
    key  {        [       Cyrillic_yu,        Cyrillic_YU,        U0479,           U0478 ] }; // small uk      | cap uk
    key  {        [       Cyrillic_ya,        Cyrillic_YA,        UA657,           UA656 ] };
    key  {        [       Cyrillic_ze,        Cyrillic_ZE,        U0455,           U0405 ] }; // small dzelo   | cap dzelo
    key  {        [       Cyrillic_es,        Cyrillic_ES,        UA641,           UA640 ] }; // small zemlja  | cap zemlja
    key  {        [        Cyrillic_a,         Cyrillic_A                                ] };
    key  {        [       Cyrillic_ve,        Cyrillic_VE                                ] };
    key  {        [      Cyrillic_tse,       Cyrillic_TSE                                ] };
    key  {        [ Cyrillic_softsign,  Cyrillic_SOFTSIGN                                ] };
    key  {        [       Cyrillic_de,        Cyrillic_DE                                ] };
    key  {        [       Cyrillic_ie,        Cyrillic_IE,        U0463,           U0462 ] }; // small yat     | cap yat
    key  {        [      Cyrillic_zhe,       Cyrillic_ZHE                                ] };
    key  {        [       Cyrillic_ef,        Cyrillic_EF,        U0473,           U0472 ] }; // small fita    | cap fita
    key  {        [       Cyrillic_te,        Cyrillic_TE                                ] };
    key  {        [       Cyrillic_er,        Cyrillic_ER                                ] };
    key  {        [       Cyrillic_en,        Cyrillic_EN                                ] };
    key  {        [       Cyrillic_be,        Cyrillic_BE                                ] };
    key  {        [       Cyrillic_ha,        Cyrillic_HA                                ] };
    key  {        [      Cyrillic_ghe,       Cyrillic_GHE                                ] };
    key  {        [     Cyrillic_yeru,      Cyrillic_YERU,        U0475,           U0474 ] }; // small ižica   | cap ižica
    key  {        [       Cyrillic_em,        Cyrillic_EM                                ] };
    key  {        [   Cyrillic_shorti,    Cyrillic_SHORTI, Ukrainian_yi,    Ukrainian_YI ] };
    key  {        [        Cyrillic_u,         Cyrillic_U,        UA64B,           UA64A ] }; // small mono uk | cap mono uk
    key  {        [       Cyrillic_ka,        Cyrillic_KA,        U046F,           U046E ] }; // small ksi     | cap ksi
    key  {        [        Cyrillic_i,         Cyrillic_I,  Ukrainian_i,     Ukrainian_I ] };
    key  {        [        Cyrillic_o,         Cyrillic_O,        U0461,           U0460 ] }; // small omega   | cap omega
    key  {        [       Cyrillic_el,        Cyrillic_EL                                ] };
    key  {        [       Cyrillic_pe,        Cyrillic_PE,        U0471,           U0470 ] }; // small psi     | cap psi
// Other Cyrillic characters (could be made obsolete by using third level
// instead, but for now it works as it is).
    key  {        [      Cyrillic_sha,       Cyrillic_SHA                                ] };
    key  {        [      Cyrillic_che,       Cyrillic_CHE                                ] };
    key  {        [    Cyrillic_shcha,     Cyrillic_SHCHA                                ] };
    key  {        [        Cyrillic_e,         Cyrillic_E, Ukrainian_ie, Ukrainian_IE    ] };
};

UPDATE
Wie so oft hat sich bereits jemand um fast dieselbe Sache verdient gemacht und ein Altkirchenslavisch-Layout für Xorg erstellt — einbegreiflich von ein paar weiteren Lettern wie z. B. dem Ѿ. Zeichen zur Wiedergabe des Ukrainischen wie z.~B. das „ї“ fehlen hingegen. Zudem basiert es auf dem russischen Standardlayout, was es für Westeuropäer etwas gewöhnungsbedürftig macht. (Ganz abgesehen von den umständlichen Installationsanweisungen … die Leiden der Ubuntu-User müssen unvorstellbar sein.)

2nd UPDATE
Bin durch eben erwähnte Seite auf die Schriftart Ponomar gestoßen; sieht vielversprechend aus. Ich verspreche hiermit, den uralten und mittlerweile obsoleten Post zu Kyrillisch-Tauglichkeit diverser Schriftarten zu aktualisieren — spätestens jedenfalls nach Einreichen meiner Abschlußarbeit …

3rd UPDATE
Der oben angebotene Aufruf von setxkbmap hätte in der rohen Form fatal sein können.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Log Out / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Log Out / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Log Out / Ändern )

Verbinde mit %s

Follow

Get every new post delivered to your Inbox.