Professional Documents
Culture Documents
Aleksandr A. Andreev
December 14, 2014
version 0.1
Contents
1
Introduction
5
5
9
Installation Instructions
4.1 Microso Windows . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Apple OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
11
14
15
17
18
19
19
Anowledgements
20
c ba
Introduction
Church Slavic (also called Church Slavonic, Old Church Slavonic or Old Slavonic;
ISO 639-2 code cu) is a literary language used by the Slavic peoples; presently
it is used as a liturgical language by the Russian Orthodox Church, other local
Orthodox Churches, as well as various Byzantine-Rite Catholic and Old Ritualist
communities. is document describes input methods that may be used to type
Church Slavic text on a computer keyboard in dierent soware and operating
system environments.
Warning: these Church Slavic keyboard input methods provide support for
a number of characters that are not currently available in the Unicode standard
but have been accepted for encoding in a future version at provisional codepoints
specied in the Unicode Pipeline. ese codepoints may change before their nal encoding in Unicode, although such a change is not likely. You are strongly
encouraged to periodically check for updates to the input methods, fonts, and
relevant documentation.
is document is licensed under the Creative Commons Aribution-ShareAlike
4.0 International License. To view a copy of this license, visit the CreativeCommons website.
Much of the Church Slavic text now available electronically has been scanned
and processed via Optical Character Recognition soware, or has been typeset
using a variety of soware packages or add-ons, usually relying on ad hoc solutions. Another alternative is entering Church Slavic text via a Character Map
utility; but this is inecient and may cause improper rendering in some soware. e design of native keyboard entry mechanisms for Church Slavic has
been elusive in the past because of the absence of a coherent model for encoding
the writing system in Unicode and because of the writing systems complexity,
including the use of a variety of graphical variants for characters as well as a
large number of diacritical marks and combining (superscript) leers. Creating
an intuitive method for accessing these marks and leers is challenging. e
challenge is further accentuated by the close historical relationship that Church
Slavic has had with modern Russian and, hence, by the fact that any keyboard
entry mechanism for Church Slavic needs to at least keep in mind the various
e latest information is available from the Slavonic Computing Initiative website.
Russian input methods if not to borrow from them in whole. e input methods
discussed in this documentation distinguish between two types of users: a professional user is someone who needs to typeset a relatively large volume of Church
Slavic text, modern or historical, and is willing to invest some time to learn a
special keyboard input method that would allow typeseing Church Slavic text
in an optimal manner. On the other hand, an occasional user is typeseing text
in Russian for the vast majority of his time and only needs access to Church
Slavic characters on a rare occasion to typeset a small amount of (usually modern liturgical) text. We operate with the basic assumption that a professional user
will be using the touch typing technique and needs an optimized layout for this
ten nger method. A user who relies on hunt and peck typing is by denition
less concerned with keyboard layout optimization, though some intuitive layout
of keys may still be desirable.
e design of an optimal keyboard layout is not a scientic process.
Nonetheless, some general principles of optimizing a layout for the touch typing
technique can be identied:
limit the use of weak ngers (lile nger and ring nger)
limit the use of the boom row of the keyboard
increase the use of the home row
limit the nger travel distance between two keystrokes
balance the use of the le and right hand
Keeping in mind these principles, one can, in fact, aempt to write down a
mathematical model for keyboard entry. ere are, in fact, a number of projects
aempting to do just such a thing, and then to choose a keyboard method that
optimizes the parameters of their mathematical model. One such example is the
Carpalx keyboard optimization algorithm. In mathematical language, one could
write down the keyboard optimization problem as:
min E(|C(x), M (x))
C(x)
(1)
where x is the vector of Church Slavic characters; C(x) is the matrix representWe discuss only the Russian input methods because Russian is by far the most widely used
language recorded with the Cyrillic script and so with high probability both ecclesiastical and
academic users of Church Slavic are accustomed to a Russian input method (although they may be
accustomed to dierent Russian input methods depending on their location and background, as we
discuss below). However, all of the approaches to designing a Church Slavic keyboard layout that
we outline in this documentation could be used to design a keyboard layout based on a Ukrainian,
Bulgarian, Serbian, etc., input method for users of other linguistic and ethnic backgrounds.
See hp://mkweb.bcgsc.ca/carpalx/ for more information.
ing their conguration on the keyboard; M (x) is the corpus of existing Church
Slavic text, which provides information about the rules of the Church Slavic writing system; and the function E() is some measure of typing eort. is minimization problem can be solved in principle given proper specications for E();
but we need not do that here, since, given the relationship between Church Slavic
and Russian, we are not in need of a fully optimized solution. In fact, instead of
solving Problem 1, we are actually looking for the solution to a somewhat more
complex problem:
min E(|L(C(x) C(r)), C(x), M (x)) given
C(x)
L() L
(2)
where L() is the cost of learning a new keyboard layout, C(r) is the matrix of
is some maximal learning cost that the user
the Russian keyboard layout, and L
is willing to tolerate. ough in principle this constrained optimization problem
may also be solved, given that we have no adequate model for the function L(),
is not constant but depends on the users preferences, we
and given the fact the L
will not solve Problem 2, but will only rely on its statement for intuition. In any
case, we cannot use Carpalx since it is designed only for a two-level keyboard
layout (Level 1 and Shi), and our keyboard layouts will use four levels as well
as dead keys (see below).
Given Problem 2, a number of observations are in order. First, generally
P > L
O , in other words the professional user is willing
speaking we have L
to endure a much higher cost of learning a new keyboard layout than an occasional user. Second, we see that the typing eort E() is dependent on the corpus
of Church Slavic text, more specically, on the frequency with which the various characters occur in Church Slavic. It would be a mistake to assume that the
character frequency for Church Slavic words is similar to modern Russian, and,
as the chart in Figure 2 demonstrates, the most widely used Church Slavic character is in fact the acute accent . Observe also that the hard sign () occurs quite
frequently, although it is hardly ever encountered in Russian text, and hence on
the Russian keyboard has been relegated to the \. key. Note also that capital
leers in Church Slavic are quite infrequent, only used at the beginning of a sentence and in titling. On the other hand, Church Slavic uses a variety of graphical
variant characters, and since L() is also a function of (C(x) C(r)) in other
words, the cost of learning is dependent on the dierence between the Russian
and Church Slavic layouts there needs to be an intuitive way to position these
graphical variants on the keyboard. For example, the keyboard positions for
and should somehow be related to the position of and the positions for , ,
4
3
3.1
is keyboard layout is a four-level layout with two dead keys. Level 2 (the Shi
.
Level) is accessed by holding down either Shift
key. Level 3 (the AltGr level)
is accessed by holding down the AltGr key; on most systems, AltGr is the right
Alt.
key (this seems to be the case in Microso Windows), though on some
systems either Alt. key functions as the AltGr key (for example, in IBUS) while
Figure 1: Level 1 (lower row of characters) and Level 2 (upper row of characters)
of the Professional keyboard layout
other systems may be congured to use the Ctrl. key as AltGr. Level 4 (the AltGr
.
Shi level) is accessed by holding down both the AltGr and Shift
keys. e
.
keyboard layout also uses the CapsLk in the traditional manner of providing
access to the capital leers, although since the capital leers have been moved
to Level 3, this is now dened as a Level 3 lock.
Figure 2: Level 3 (lower row of characters) and Level 4 (upper row of characters)
of the Professional keyboard layout
.
(holding down either Shift
key is much easier than holding down the right
key, which is the standard AltGr implementation). e placement of the
Alt.
.
variant forms is intuitive; thus is available as Shift
T.
since the base
form is mapped to the T . key. For some keys, the Level 2 mapping is the
combining (superscript) version of the leer, and in all cases where this combining character occurs with the Pokrytie in modern Church Slavic, the keystroke
produces a sequence of the combining leer followed by the Pokrytie (for ex.
ample, Shift
C.
produces U+2DED COMBINING CYRILLIC LETTER ES
and U+0487 COMBINING CYRILLIC POKRYTIE). If in modern Church Slavic
the combining character occurs without the Pokrytie, then the keystroke only
.
produces the combining character (for example, Shift
L . produces U+2DE3
COMBINING CYRILLIC LETTER DE). e keyboard layout also provides on
.
Level 2 the digraph Onik () as a single keystroke ( Shift
E . ) mapped to
the sequence U+1C82 CYRILLIC SMALL LETTER NARROW O U+0443 CYRILLIC SMALL LETTER U. e leer (used in modern Church Slavic only as a
.
numeral) is also provided as a standalone character at Shift
6 . . Digraphs
are also provided for the commonly used accents iso ( ) and apostrof () and for
the standalone forms of the decimal i () and the Izhitsa ().
Level 3 and Level 4 of the keyboard layout are presented in Figure 2. e uppercase forms of the characters mapped on Level 1 are available on Level 3 and
the uppercase forms of the characters mapped on Level 2 on Level 4. In addition, Level 4 provides access to a number of less frequently used variant forms
such as U+1C80 CYRILLIC LETTER ROUNDED VE (), the leer Yn used for
Moldovan (Romanian) Cyrillic (), the Typicon symbols (such as and ) and
various typographical embellishments commonly encountered in Church Slavic
publications. Note that three characters used for double titli and Cyrillic supralineation are accessible: U+FE2E COMBINING CYRILLIC TITLO LEFT HALF
.
] . ; U+FE2F COMBINING CYRILLIC TITLO RIGHT HALF ( ) at
() at AltGr
.
.
AltGr
Shift
] . ; and U+FE26 COMBINING CONJOINING MACRON ()
.
.
at AltGr
Shift
- . . e layout also provides quick access to Unicode format control characters used to control the appearance of ligatures and diacritical
marks: U+200D ZERO WIDTH JOINER and U+034F COMBINING GRAPHEME
.
.
.
JOINER at AltGr
1. and AltGr
Shift
1. , respectively, although in some
input systems (most notably, in IBUS), the ZWJ may also be accessed with the
mouse.
See the discussion of supralineation in [1].
Note that despite its name, the Combining Grapheme Joiner (CGJ) does not join graphemes;
it is used in Church Slavic typography to control stacking behavior of diacritical marks. Please
.
.
CYRILLIC SMALL LETTER IOTIFIED E (); pressing Shift
` . Shift
P.
produces U+A645 CYRILLIC SMALL LETTER REVERSED DZE. e full list of
characters available via this dead key is given in Table 1.
Finally, we note that three types of spaces are available using this keyboard
.
,
layout. In addition to the usual U+0020 SPACE produced by striking Space
.
.
striking Shift
Space
produces U+00A0 NO-BREAK SPACE and striking
.
.
AltGr
Space
produces U+202F NARROW NO-BREAK SPACE. ese characters are commonly used for spacing around punctuation and proclitic prepositions in Poluustav-era typography (see [1] for more details).
3.2
is keyboard layout is intended for users with only an occasional need to type
Church Slavic. Level 1 and Level 2 (presented in Figure 3) are the same as in
the standard layout used for typing modern Russian, except that the
` . key is mapped as the Superscript dead key (see above) instead of the leer
Yo (). e leer Yo is used rarely in formal Russian typography, and is oen
automatically substituted by spell checking soware in place of the leer Ye ()
at the request of the user. If the Yo is needed, it may still be accessed on Level 3
` . . e Superscript dead key functions in exactly the same
by typing AltGr.
manner as in the Church Slavic standard layout (see above). e key combination
.
Shift
` . is presently unmapped; it is reserved for potential future use as
another dead key.
Level 3 and Level 4 of this keyboard layout (presented in Figure 4) provide
access to the Church Slavic characters. e characters are mapped on these levels either to the same key as their modern Russian analogs or other graphically
similar characters on Level 1 (for example, since the leer O () is mapped to
.
J . , the leer Wide O () is mapped to AltGr
J . ); or in mnemonically intuitive ways (for example, the Narrow O () is mapped to AltGr.
0 . ); or in
the same manner as in the Church Slavic standard layout, which allows users to
interchange between the two layouts more easily.
As in the Church Slavic standard layout, three types of spaces are available:
.
.
the usual U+0020 SPACE at Space
, U+00A0 NO-BREAK SPACE at Shift
.
.
.
Space
and U+202F NARROW NO-BREAK SPACE at AltGr
Space
. Various Typicon symbols and other variants are mapped on Level 4. Generally,
this keyboard layout allows for typeseing modern Russian as well as modern
Church Slavic (the Synodal recension), the Church Slavic of early printed Poluustav editions (the early printed books of the 16 and 17 centuries) and Moldovan
9
U+0491 Shift
` . U.
.
U+0434
U+A663 Shift
`. L.
.
.
U+0454
U+044D Shift
` . Shift
T.
.
U+0435
U+0465 Shift
` . T.
.
.
U+0455
U+A645 Shift
` . Shift
P.
.
U+0437
U+A643 Shift
`. P.
.
U+0436
U+A649 Shift
`. ; .
.
U+0456
U+A647 Shift
` . 8.
.
U+043A
U+051F Shift
` . R.
.
U+043B
U+A665 Shift
` . K.
.
U+043C U+A667 Shift
` . V.
.
U+043D U+04A5 Shift
` . Y.
.
U+0441
U+1C83 Shift
` . C.
.
U+0442
U+1C85 Shift
` . N.
.
.
U+0422
U+1C84 Shift
` . Shift
N.
.
.
.
U+A64B
U+1C88 Shift
`
E
.
.
U+0446
U+A661 Shift
`
W.
.
U+0447
U+045F Shift
` . X.
.
U+044A
U+1C86 Shift
` . 4.
.
U+044B U+A651 Shift
` . S.
.
U+0463
U+1C87 Shift
` . 6.
.
U+044E U+A655 Shift
`. . .
.
U+0467 U+0469 Shift
` . Z.
.
.
U+A657 U+A659 Shift
` . Shift
Z.
.
.
U+046B U+046D Shift
` . Shift
..
.
.
.
.
U+A66F
U+0305 Shift
`
AltGr
5
.
.
.
U+0484
U+02BC Shift
` . AltGr
Shift
.
.
.
.
U+030F
U+030B Shift
`
AltGr
7
.
.
.
U+1DC0 U+1DC1 Shift
` . AltGr
Shift
.
.
.
.
U+002E
U+00B7 Shift
`
/
.
.
.
,
U+002C
U+2E34 Shift
`
Shift
/.
10
5.
7.
Figure 3: Level 1 (lower row of characters) and Level 2 (upper row of characters)
of the Russian Extended keyboard layout
(Romanian) Cyrillic but does not provide access to the characters needed for
work with early Ustav-era manuscripts. In addition, the keyboard layout has not
been optimized for Church Slavic in any way; the goal was to achieve a minimal
of Problem 2 rather than to create an optimal layout. us, typeseing large
L
amounts of Church Slavic text with this layout will be tiring and inconvenient.
Figure 4: Level 3 (lower row of characters) and Level 4 (upper row of characters)
of the Russian Extended keyboard layout
4
4.1
Installation Instructions
Microso Windows
2. Go to the bin directory of the les you extracted, for example: C:\Users\
jblow\Documents\keyboard\bin
3. Run setup.exe.
4. e program will install the keyboard drivers and you should see a message as in Figure 5.
Aer installation, the Language Bar should appear. You can access the Language Bar by clicking on the language code next to the clock in the lower right
hand corner of your screen (if your default language is English, the language
code will be ENG). To switch between dierent keyboard layouts, select the desired keyboard layout in the language bar or type the keyboard layout switching
shortcut on your keyboard. e default shortcut is pressing the Windows key and
.
Space
simultaneously. You can change this shortcut by clicking on Language
preferences in the Language Bar (see Figure 6). Note that because Microso does
not recognize Church Slavic as a valid language, the keyboard layout will be displayed as Russian; in addition, some soware will automatically set the language
of your text to Russian when this keyboard layout is selected. If you nd this
feature annoying, please write to Microso and tell them to add Church Slavic
to the list of valid languages. Please note that the authors cannot provide any
support for Microso products.
e keyboard layout may be uninstalled like any other program by going to
Uninstall a program in the Windows Control Panel. Note that since keyboard
layouts are DLLs, we suggest that you restart your system aer uninstallation
so that Windows can purge any no longer needed DLLs. is is especially necessary if you wish to uninstall the keyboard layout and install a later version or
another layout.
12
13
4.2
Apple OS X
Keyboard layout drivers for Apple OS X are basically simple XML les in a specic format with the .keylayout extension. For some added functionality, the
XML le may be bundled with some additional information metadata describing the keyboard layout and icon les for the ag displayed on the language bar
into an archive with a .bundle extension. ough, in principle, these les can
be created by hand (using a text editor), the simplest way to generate keyboard
layouts is by using the Ukelele app (see the section on editing, below).
To install either the Church Slavic standard or the Russian Extended keyboard under Apple OS X, download the relevant ZIP archive from the Slavonic
Computing Initiative (SCI) website and follow these instructions:
1. Open the ZIP archive
2. Extract the relevant .bundle le (for example, Church Slavic.bundle).
3. To install the keyboard layout for just yourself, copy the .bundle le to the
Keyboard Layouts subfolder of the Library folder of your home folder. (If
the Keyboard Layouts subfolder does not exist, create it.)
4. To install the keyboard layout for all users on the machine, copy the
.bundle le to the Keyboard Layouts subfolder of the Library folder at
the top level of your startup disk.
5. In either case, log out of your session and log back in.
6. Aer logging in, go to System Preferences and open the Language & Text
pane.
7. Click Input Sources.
8. Check the box next to Church Slavic (or Russian - Extended), as seen in
Figure 7. is installs the keyboard layout.
When the keyboard layout is installed, a Russian ag (for the Russian Extended layout) or a green and red Moscow Patriarchate ag (for the Church
Slavic layout) will appear in the upper right hand corner of your screen (next
to the clock and volume control). Clicking on this ag allows switching keyboard layouts and accessing keyboard and language preferences. Note that some
soware (especially soware created by Microso) aempts to match your keyboard input language and font; since some of this soware does not recognize
Church Slavic as a valid input language, this may cause problems. We suggest
disabling this feature. For example, if you are using Microso Word for Mac,
follow these instructions:
1. Open Microso Word.
Support for .keylayout les has been available since version 10.2 (Jaguar).
14
4.3
GNU/Linux
Under GNU/Linux and other Unix-like operating systems, Church Slavic keyboard entry is provided by the Intelligent Input Bus (IBus), a full-featured and
user-friendly input method user interface. Note that it is not possible to provide
keyboard entry for Church Slavic using X keyboard extension (XKB) directly because of limitations in the XKB architecture. So you must install IBus and set it to
be your default input method. e Church Slavic data are provided for IBus via
the m17n database. e m17n library realizes multilingualization for GNU/Linux
and other Unix-based applications. e Slavonic Computing Initiative maintains
15
the package m17n-cu, which provides Church Slavic data for the m17n library.
is library may be downloaded from the Slavonic Computing Initiative website
or from the GitHub repository. Download the m17n-cu package as either a ZIP
archive or Tarball and extract its contents to some directory in your home folder
(for example, /home/user/m17n-cu/). To install the Church Slavic keyboard data,
follow these steps:
1. First, you need to install the ibus-m17n package for your distribution. is
is probably provided by your package manager, for example, on Ubuntu
and other Debian-based systems, you can install this package by typing
sudo apt-get install ibus-m17n in the Terminal shell. Alternatively,
you may download the latest version of ibus-m17n from the IBus project
website.
2. Once you have installed ibus-m17n, you will need to run im-config and set
IBus to be your default intput method. is process is shown in Figure 8.
3. Next, check that the m17n database data were properly installed in your
/usr/share/m17n/ directory (the data should have been installed as part of
the ibus-m17n package, but run ls /usr/share/m17n/ to double check). If
the data are installed to some other location, you will need to edit Makefile
and point it to the correct path for your m17n data. See the INSTALL le
for details.
4. Now install the additional Church Slavic m17n data from our m17n-cu
package. To do this, in the directory where you have downloaded the les
of this package, run: sudo make install. is command copies cu-kbd.mim
and a number of other data les to your m17n data directory.
5. Log out from your X session and log back in.
6. Load the Slavonic input method. From the Terminal shell, run ibus-setup.
is is illustrated in Figure 9.
On the Input Method tab, check Customize active input methods.
Click on Select input method.
Click on Show all input methods.
Scroll down and select Church Slavic; Old Slavonic; Old ... for
the Church Slavic standard keyboard (select the kbd (m17n) variant)
or Russian for the Russian Extended keyboard (select the ext (m17n)
variant)
Click Add
Click Close
Installation should be complete at this point. By default, IBus can be turned
.
on the keyboard. By default, you can
o and on by pressing Ctrl. and Space
16
Figure 8: Seing IBus to be default input method on GNU/Linux and other Unixbased operating systems
.
.
switch between input methods by pressing Ctrl.
Shift
Space
. You can
customize these keyboard shortcuts by running ibus-setup and changing the
options on the General tab. To uninstall the Church Slavic keyboard layouts, the
m17n-cu data, IBus or other components, follow the instructions in the INSTALL
le that comes with m17n-cu.
While the authors do not provide technical support, community-based support for m17n-cu is available on the Slavonic Computing Initiative mailing list
sci-users. To subscribe to this list, visit the SCI website at http://www.ponomar.
net/cu_support.html.
All programs provided by the Slavonic Computing Initiative are free soware
and are always distributed with any relevant source codes. You are allowed to
modify and/or distribute this soware as you see t under the terms of the GNU
General Public License as published by the Free Soware Foundation (either version 3 of the license, or, at your choosing, any later version). A copy of the GNU
General Public License is found in the LICENSE le or may be downloaded from
the Foundations website. SCI makes soware available freely with the purpose
17
of allowing you to make the soware more useful as you see t. ere may be
reasons to change the standard keyboard layouts provided by SCI. For example,
you may be working on typeseing a Church Slavic manuscript in which palatalized characters like occur frequently or which oen use iotated characters like
. Having these frequently occurring characters accessible only via a dead key
may be not be ecient or convenient and you may wish to remap them to Level
3 (or even Level 1) of the keyboard layout. To make changes to the keyboard
layouts, follow the instructions below.
5.1
Microso Windows
e Microso Windows packages provided by SCI are shipped with the source
code les which have a .klc extension. For example, cu-kbd.klc is the source
code le for the Church Slavic standard layout. To edit these les, you need
to install the Microso Keyboard Layout Creator (MKLC) application, which
may be downloaded from the Microso website. Note that to run MKLC, you
will need to install Microso .NET Framework 3.5 (which includes the code for
.NET Framework 2.0); the soware will not work with .NET Framework 4.0 or
later. Once you have installed MKLC, open the cu-kbd.klc source code le with
the program and make any changes you need. You can generate the keyboard
18
layout DLLs by selecting Build DLL and Setup Package from the Project
menu. Note that you will receive an error message Verification failed
Would you like to see the log? Click on No to continue the build process.
e MKLC program will build the DLLs, the Windows installer packages, and
the setup.exe wrapper into the directory you specify. e error message occurs
because the language of the keyboard layout is set to Russian but characters
are mapped on the keyboard layout that are not part of Microsos standard
windows-1251 codepage for Russian. If you nd this error message annoying,
please write to Microso and tell them to add Church Slavic to the list of valid
languages.
5.2
Apple OS X
5.3
GNU/Linux
e keyboard layout les in the m17n-cu package are the les with the .mim
extension. ese les may be edited using any standard GNU/Linux text editing
utility, such as the GNU Text Editor (gedit), emacs or vi. e les describe the
keyboard layout using a syntax that resembles the LISP programming language.
Documentation for this syntax is available on the m17n project website. e basic
key mapping structure is a two-part list where the rst element is a code for the
keystroke and the second element is a code for the character or characters. For
.
example, the syntax ("B" 0xA675) maps the keystroke Shift
B.
to the
character U+A675 ( ). Keystrokes on Level 3 and Level 4 are specied via A-*
.
m.
to
syntax. us, the syntax ((A-m) 0x042C) maps the keystroke AltGr
19
the character U+042C () while the syntax ((A-M) 0xA67F) maps the keystroke
.
.
AltGr
Shift
M . to the character U+A67F (). Since the documentation on
the m17n project website is quite technical, we suggest studying the code for
cu-kbd.mim in some detail as well. ere is no compilation process; to use your
edited keyboard layout, copy the ready .mim le into the m17n library directory
(this is usually /usr/share/m17n/) and restart your X session. en follow the
instructions above to load the data into IBus. If you have questions, write to the
sci-users mailing list (see above).
Anowledgements
A number of individuals contributed to the design of standard Church Slavic input methods, and their work is acknowledged in this section. Daniel Dremachyov
of the Project designed the initial keyboard layout for his program, based on his experience typeseing Acathists in Church Slavic.
is layout was updated and implemented for the m17n library at the Ponomar
Project by Aleksandr Andreev, who also ported the layout to Microso Windows and Apple OS X. Yuri Shardt of the Ponomar Project provided comments
and testing; Nikita Simmons, also of the Ponomar Project and of Synaxis.info,
worked on the design of the Russian Phonetic Extended keyboard (documentation forthcoming).
References
[1] A. Andreev, Y. Shardt, and N. Simmons, ``Roadmap for Church Slavonic
typography in the Unicode standard,'' 2014. Dra. Available online at:
http://www.ponomar.net/files/out.pdf.
20