The Cipher music notation is used throughout Indonesia and China for all kinds of music. The font is not intended for general orthographic use, although it is usable for song lyrics in simple Roman writing systems. This solution is primarily intended for fairly straightforward songbooks for singers, not for complex instrumental music. It can handle harmony lines fine, but not a lot of intricacies or subtleties (e.g. no staccato).

If you use this font for developing songbooks and you have suggestions for improvements we would like to hear back from you. Contact information is in the README.txt file in the font package.

Cipher Music Notation Requirements

The main requirements for this font were to support the Indonesian Cipher Music Notation (Kepatihan). However, where it was straightforward to add support for the Chinese jianpu style, we have done so.

Musical note
1-7U+0031..U+0037musical notes (do re mi fa so la ti)
◌̣U+0323 COMBINING DOT BELOWdown one octave (Chinese jianpu: goes below any underlines)
turunkan satu oktaf (Cina: taruh di bawah garis bawah jika ada)
◌̇U+0307 COMBINING DOT ABOVEup one octave (Indonesian kepatihan: goes below any overlines)
naikkan satu oktaf; ditaruh di bawah garis atas jika ada
Note length
.U+002E FULL STOPIndonesian kepatihan: extend duration of the preceding note by an entire quarter note (becomes a half note)
Kepatihan: perpanjang waktu not yang sebelumnya.
-U+002D HYPHEN-MINUSChinese jianpu: extend duration of the preceding note by an entire quarter note (becomes a half note)
Cina: perpanjang waktu not yang sebelumnya.
·U+00B7 MIDDLE DOTChinese jianpu: extend duration of the preceding note by half, two dots extends duration by three quarters
◌̅U+0305 COMBINING OVERLINEIndonesian kepatihan: eighth note
not (nada) kedelapan
◌̿U+033F COMBINING DOUBLE OVERLINEIndonesian kepatihan: sixteenth note
not (nada) keenam belas
◌̲U+0332 COMBINING LOW LINEChinese jianpu: eighth note
Cina: not (nada) kedelapan
◌̳U+0333 COMBINING DOUBLE LOW LINEChinese jianpu: sixteenth note
Cina: not (nada) keenam belas
Musical rest
0U+0030 DIGIT ZEROmusical rest (i.e. don’t sing or play)
istirahat (diam); jangan menyanyi atau mainkan)
Bar lines
batas birama
𝄁U+1D101 MUSICAL SYMBOL DOUBLE BARLINEend of a section of music
akhir dari suatu bagian musik
𝄂U+1D102 MUSICAL SYMBOL FINAL BARLINEvery end of a piece of music
𝄆U+1D106 MUSICAL SYMBOL LEFT REPEAT SIGNthis section will be repeated
bagian ini akan diulangi
𝄇U+1D107 MUSICAL SYMBOL RIGHT REPEAT SIGNgo back to the left repeat sign
kembali ke tanda ulang kiri
𝄈U+1D108 MUSICAL SYMBOL REPEAT DOTSa simpler repeat sign; sometimes used in conjunction with U+1D100
/U+0338 COMBINING LONG SOLIDUS OVERLAYIndonesian kepatihan: sharp (used on numbers 1-6)
1-6: tinggikan (naikkan) nada 1/2 laras
\U+20E5 COMBINING REVERSE SOLIDUS OVERLAYIndonesian kepatihan: sharp (used on number 7)
7: tinggikan (naikkan) nada 1/2 laras
U+266D MUSIC FLAT SIGNChinese jianpu: flat
Cina: turunkan nada 1/2 laras (mol)
U+266F MUSIC SHARP SIGNChinese jianpu: sharp
Cina: tinggikan (naikkan) nada 1/2 laras
U+266E MUSIC NATURAL SIGNChinese jianpu: restore to natural (not sharp/flat)
Cina: kembali ke biasa

In music, this is a slur or a tie (multiple notes are run together smoothly). In lyrics, a slur contracts multiple syllables into one (multiple vowels become one diphthong).
Tanda legato. Dalam musik, satu suku kata memberi jarak semua not (nada). Dalam lirik, ini berarti “vocal rangkap” Huruf-huruf hidup berdekatan diucapkan sebagai satu suku kata.”
Expression marks
◌͒U+0352 COMBINING FERMATA“hold”, or “grand pause”
“tahan”, atau “istirahat untuk seluruh pemusik”
𝄒U+1D112 MUSICAL SYMBOL BREATH MARKsingers, breathe now
para penyanyi tarik nafas
U+1D1B1 MUSICAL SYMBOL GLISSANDO UPThe glissandi symbols tell the singer to swoop through the notes. The angle indicates an upward swoop.
U+1D1B2 MUSICAL SYMBOL GLISSANDO DOWNSwoop down through the notes.

All of the characters documented above (not including combining marks) are either of “full” width or “half” width. This allows for the font to use the proper width of the overlines or underlines. In addition, regular orthographic characters are provided for use in lyrics. Lyrics characters have proportional widths. As long as you don’t mix in other characters, you should therefore be able to align harmony lines with the melody line by adding spaces (which are “half” width) appropriately. Because lyrics characters have proportional widths they cannot be precisely aligned unless you use tabs, but this is generally less important.

Semua tanda yang tercantum di atas, lebarnya “lengkap” atau “setengah”. Sepanjang Anda tidak mencampurkan tanda/huruf lain, maka Anda dapat memantapkan baris-baris harmonis dengan baris melodi, dengan menambahkan jarak / spasi (yang adalah “setengah” lebarnya). Huruf-huruf lirik mempunyai lebar yang proporsional dan tidak dapat dengan tepat dipaskan jika Anda tidak menggunakan tabs, namun biasanya ini kurang penting.


The font cannot properly display diacritics that are "out of order". You must input the base followed by an optional centered diacritic, followed by optional below diacritic(s), followed by optional above diacritics. Beginning and ending slurs should be at the outer edge of each run of text. The example below shows the proper order of characters:

Indonesian kepatihan

Chinese jianpu


An InKey keyboard is available for download below that enables cipher music to be typed without blocking the normal behavior of most keys on an English keyboard. It uses a rota system to allow multiple characters to be assigned to their most intuitive keystroke. InKey itself is a new product (it’s free but still has some quirks) available here:  http://inkeysoftware.com/. (Be sure InKey is installed before trying to install the keyboard.)

We are also considering creating a keyboard using MSKLC, which would be free, less quirky, and provided as one installer rather than two. But MSK keyboards are quite dependent on deadkeys (no user-friendly rotas). Another option would be to provide a Keyman keyboard.


This font makes use of Graphite and OpenType smart font technologies. At this time there is no support for the Slurs in OpenType applications.

Font features

This font has a feature for choosing between above (Chinese jianpu) and below (Indonesian kepatihan) slurs. There is also an edit mode which has tiny slur tips rather than the slur. This mode allows for easier editing between the beginning and ending of the slur.

The default position for the slurs is below.

In FieldWorks select your text, then go to Format / Font. Choose “Doulos SIL Cipher”. Select Font Features... and then Above or Below Slurs. Select the option you want. The choices are:

  • Edit Mode (Tiny Tips) (value=0)
  • Indonesian (Below) (value=1)
  • Chinese (Above) (value=2)

You can also use these features in LibreOffice, but the way you select feature behavior is different. To turn on the “Chinese (Above)” feature, select your font “Doulos SIL Cipher”. Then after the font add “:slur=2”. Your font selection should look like this: “Doulos SIL Cipher:slur=2”. The digit “2” is the value for Chinese (Above), shown in the list above.

Slurs will display as slurs for up to 7 base characters. It might be less than that if there are many dots, fermata, and over- or under-lines. Once the slurs “fail” they default to small beginning and ending marks under the base characters.

Application Support


Any Graphite-enabled application will be able to use the Graphite capabilities in the font. Doulos SIL Cipher has been tested on Windows 7 to work with the following applications:

The font was also minimally tested on Ubuntu using LibreOffice and Firefox.


This font has minimal OpenType support. There is no support for the slurs. There is support for the combining marks. However, many Windows applications do not support combining marks on spaces, punctuation or numbers — all of which are used in Cipher Notation! In addition, Windows applications do not support the use of combining marks from the BMP in combination with base characters from the SMP (the breathing mark is in the SMP).

Below is a short list of behavior in some applications:

  • Notepad and Internet Explorer 9 — slurs do not display, combining marks on SMP characters (such as the breathing mark) do not position correctly.
  • MS Word 2010 — slurs display as square boxes. Combining marks do not position correctly on anything except letters (x, X).
  •  Mozilla Thunderbird — slurs display as “tiny tips”. Everything else seems to render correctly.

Supported character ranges

Unicode blockDoulos SIL Cipher support
Codepage 1252 (Western) & MacRoman
Combining Diacritical MarksU+0305, U+0307, U+0323, U+0332..U+0333, U+0338, U+033F, U+034F, U+0352, U+03C0
Superscripts and SubscriptsU+2070, U+2074..U+2079, U+2080..U+2089
Combining Diacritical Marks for SymbolsU+20E5
Miscellaneous SymbolsU+266D..U+266F
Latin Extended-DU+A78B..U+A78C
Musical SymbolsU+1D100..U+1D103, U+1D106..U+1D108, U+1D110, U+1D112, U+1D177..U+1D178



These fonts are licensed under the SIL Open Font License (OFL)


Doulos SIL Cipher 1.020for all platforms FONT | 233.0 KB | 22 Oct 2014

Release notes

The only change in version 1.020 is to adjust the position of lines (U+0305 and U+033F) above the fullstop.


InKey Cipher Music Keyboard 1.0.0for all platforms KEYBOARD | 186.6 KB | 4 Apr 2013

This is an InKey keyboard. Be sure you have InKey installed first or the keyboard will not work.

Once InKey is installed, you can install this keyboard (or upgrade to it) by extracting the file, CipherMusicUnicode.inkey, and double-clicking it. (There is no need to restart InKey or your word processor, if they are already running.)

If your language uses the glottal stop character (saltillo), the accented a, or the accented o, then you should install the alternate version of CipherMusicUnicode.inkey, found in the alternate folder.

Keyboard (papan tuts) ini adalah keyboard khusus untuk program InKey. Tidak akan berfungsi tanpa InKey.

Setelah InKey terinstal, Anda dapat menginstal keyboard ini dengan langkah berikut:

  • file CipherMusicUnicode.inkey perlu diekstraksi / dicabut dari arsip zipnya.

  • file CipherMusicUnicode.inkey ditindis dua kali cepat.
    (Tidak usah tutup dan jalankan kembali InKey ataupun Writer.)

Jika bahasa Anda memakai huruf glotal (yaitu “saltillo”), vokal ‘a’ dengan tanda aksen, atau vokal ‘o’ dengan tanda aksen, maka Anda perlu menginstal keyboard alternatif, yaitu file CipherMusicUnicode.inkey yang terdapat dalam folder “alternate”.

LibreOffice Cipher Songs Template

LibreOffice Cipher Songs Template 1.100for all platforms DOC | 26.7 KB | 27 Mar 2013

To use this template, type your songs using the provided “song” styles. At first, it’s easiest to start by copying the sample song text into a blank page, since all of the styles are set up already. Delete the instructions in this document once you don’t need them anymore. You may not want to delete the “Special Symbols” part until you’re ready to publish.

Untuk memakai “template” ini, ketiklah lagu-lagu dengan memakai style-style “song” yang tersediah. Untuk pemula, cara yang paling mudah adalah: kopi lagu contoh ke halaman kosong, sebab semua style telah disetel dalam contohnya. Silahkan hapus petunjuk-petunjuk seperti ini kalau tidak diperlukan lagi.

Cipher template changes:

  • Changed the page size to 12.5cm x 17.5cm (but in inches: 4.92″ x 6.89″), with 0.5″ margins all around
  • TOC settings: added a space before each song title.
  • Formatted numbering for song titles to use a space rather than a tab. This helps with longer song numbers.
  • “song lyrics only”: switched away from fixed height (back to “single”) since slurs were getting cut off. Added more slurs to the initial example for better awareness in the future.
  • “song verse lyrics”, “song verse lyrics indented”: added 0.08″ line spacing after each paragraph, so notes will seem closer to their own lyrics.
  • Added a tip: “Or, you can edit the song title style to toggle page breaks before songs for the whole file.”
  • Renamed “song verse indented” to “song verse notes indented”, for consistency.
  • Enabled “Keep with next paragraph” for these styles (the two lyrics styles inherited that, so I then turned it off for them):
    • song title
    • song info
    • song verse notes
    • song verse notes indented

Previous versions

Doulos SIL Cipher 1.000for all platforms PREV FONT | 141.5 KB | 4 Apr 2013
Doulos SIL Cipher 0.240for all platforms PREV FONT | 138.9 KB | 30 Mar 2012
Doulos SIL Cipher 0.220for all platforms PREV FONT | 138.7 KB | 20 Mar 2012


As these fonts and utilities are distributed at no cost, we are unable to provide a commercial level of personal technical support. We will, however, try to resolve problems that are reported to us.

We do hope that you will report problems so they can be addressed in future releases. Even if you are not having any specific problems, but have an idea on how this system could be improved, we want to hear your ideas and suggestions.

Please note that these fonts are intended for use by experienced computer users. Installing and using these fonts is not a trivial matter. The most effective technical support is usually provided by an experienced computer user who can personally sit down with you at your computer to troubleshoot the problem.


General troubleshooting information, including frequently asked questions, can be found in the documentation. Additional information is also available on the general Font FAQ page. If that fails to answer your question, send an email via this contact form.

Before requesting technical support, please:

  • Carefully read all the documentation provided with the font and on this site.
  • Try the Support and Troubleshooting path on scripts.sil.org.

Language Software Community

Support from other software users may be available through the SIL Language Software Community. This community will be growing to become the major source of software support.

If that fails to answer your question, or you have a bug report, feature suggestion, or need help using the software, please contact us using the form below.

Your Name (required)

Your Email (required)



Your Message