Mro Unicode

Open source font for users of the Mro script

Mro Unicode is a font which supports the Mro script of southeast Bangladesh.

While Mro has not yet been officially encoded in Unicode, its proposal is at an advanced stage in the process (as of May 2013). [Main proposal (2009); supplement (2011) (pdfs)] [Unicode Pipeline]

The Mro script might be encoded in Unicode exactly as the proposal describes, but there is a risk that it could be changed. If it is changed, the font will be updated accordingly. This would mean that documents created using the current version of the font would also need to be converted.

The design is based on Adobe’s Source Sans Pro.

Both Mro Unicode and Adobe Source Sans Pro are licensed under SIL’s Open Font License, which means that they are available free of charge, and access is provided to the source files. Details of the license are given on SIL’s OFL page.

The Mro script is used by the Mro (sometimes “Mru”) people of the Chittagong Hill Tracts in southeastern Bangladesh. It was invented by a member of the community in the 1980s, and apparently the majority of the community are now literate in it.

Different figures are given for the number of speakers of the Mro (Mru) language. There are probably between 50 000 and 100 000.

This information is condensed from the following sources:

Comparison of existing scanned images with the equivalent in the Mro Unicode font.

Mro Unicode rendering

Coming soon.

Original image

Coming soon.

Experiment with the Mro Unicode font by copying and pasting from the charts below into this box.

The following charts give a summary of the proposed Mro Unicode block.


𖩀 𖩁 𖩂 𖩃 𖩄 𖩅 𖩆 𖩇 𖩈 𖩉 𖩊 𖩋 𖩌 𖩍 𖩎 𖩏
ta ngi yo mim ba da a phi khai hao dai (‘i’) chu keaae ol maem nin
𖩐 𖩑 𖩒 𖩓 𖩔 𖩕 𖩖 𖩗 𖩘 𖩙 𖩚 𖩛 𖩜 𖩝 𖩞
pa oo o ro shi thea ea wa e ko lan la* hai ri (‘o’) tek

* ‘month’


𖩠 𖩡 𖩢 𖩣 𖩤 𖩥 𖩦 𖩧 𖩨 𖩩
zero one two three four five six seven eight nine


𖩮 𖩯
danda double danda

There is currently no keyboard available for the proposed Unicode encoding of Mro. I intend to create one for Linux-based systems, but not Mac or Windows. (See Road Map.)

Download the font file from the github page. Click ‘view raw’ and save to a location of your choice.

The install procedure varies according to your system. Most modern operating systems have an “install” button on the window that appears when you open the font. Click the install button.

In Windows XP you need to copy the file into the C:\Windows\Fonts directory.

(If you need more help with the font installation, there are a number of websites which give instructions. See for example Adobe’s page on installing fonts in Windows and Mac.

After installing, check that it’s working by restarting your browser and going to this test page. If all of the characters display — not as boxes or question marks — then the font has probably installed correctly.

I have developed a Mro keyboard layout for Linux systems. I do not intend to create keyboard layouts for Mac or Windows, but I would encourage others to build on my work to do so.

If you do not use Linux but you need to use the keyboard layout, remember that there are various options for installing a Linux operating system alongside your current one (for example, see Ubuntu Windows installer and Ubuntu dual boot).

The Mro layout very roughly corresponds to the sounds of the Latin letters on the qwerty keyboard.

Please contact me (or file an issue on Github) if you have a suggestion for how to improve the keyboard layout.

It has been tested to work on Ubuntu, and the “easy method” installation instructions are specifically for Ubuntu.

The keyboard should work properly on other distributions (e.g. Linux Mint, Fedora, and the Ubuntu derivatives), but the files may need to be placed in different locations.

Easy installation method

Save these two files in your “Downloads” folder:
right-click and choose “save link as”

Open a terminal. You can do this by holding down ‘ctrl’ and ‘alt’ and pressing ‘t’.

In the terminal, copy and paste this line.
Note that in the terminal you have to add ‘shift’ in order to paste: ctrl + shift + v. You can also use the menu to select Edit > Paste.

sudo cp ~/Downloads/mro /usr/share/X11/xkb/symbols/mro

The terminal will now ask for your password. Type it and press enter.
Note that the terminal does not display dots or stars while you type your password, so it might look like it’s not working. Don’t worry, it is working.

When you have typed the password it will now go onto a new line. That means it has successfully copied the file from your Downloads folder to the place where the computer can use it.

You now need to do the same for the second file. Copy this line into the terminal:

sudo cp ~/Downloads/evdev.xml /usr/share/X11/xkb/rules/evdev.xml

This time it should not ask for your password because you just typed it a minute ago.

You must now restart your computer before the keyboard can be used.

When you have restarted, go the “Keyboard Layout” menu. You can find it in the system settings, or on the top panel under the keyboard icon.

Click the ‘+’ button.
If you have four keyboard layouts already then this button will be inactive and you will need to remove one keyboard before you can add another.

You can find the Mro keyboard either by simply typing ‘Mro’, or by typing ‘Bangladesh’ or ‘Myanmar’ as these are the primary countries where it is used.

Click ‘add’. Your keyboard is now ready to use!

The layout

The keyboard layout is as follows:

Mro keyboard layout

Each key has four possible options:

  1. Normal: bottom left hand corner, black
  2. Shift: top left hand corner, grey
  3. Alt (right): bottom right hand corner, blue
  4. Alt (right) and shift: top right hand corner, light blue

Many keys do not have a shift option as the Mro script is compact enough to not require this.

Bengali numerals are given (with alt-right + shift) in addition to Mro and western numerals.

The qwerty keyboard can be accessed by holding the alt (right) key when typing.

Advanced information

Further details about keyboard layouts in Linux can be found at Daniel Paul O’Donnell’s blog and the Ubuntu documentation. The following is a brief summary based on these resources.

If you would like to have more control over the keyboard installation, you need to copy the ‘mro’ file into the layouts folder (in Ubuntu this is /usr/share/x11/xkb/symbols), and then edit the layout list so that the file can be recognized. In Ubuntu this file is evdev.xml, in /usr/share/x11/xkb/rules.

The body of this file is the . You can add the Mro entry anywhere in this section. I added it at the end, just before the end marker.

The code needs to include information about the file name, script code, and the relevant languages and countries, as shown below:


The iso3166 country codes can be found on Wikipedia, and the iso639 language codes can be found at Ethnologue.

If you would like to customize the keyboard in some way, the xkb system makes this very easy.

Here is an example of one line from the keyboard layout:

key <AE04> { [ 0x1016A64,       U09F3,    4,    U09EA ] } ;

This shows the four characters availabed under the key (the number 4): the first one shows normal, the second +shift, the third +alt (right), and the fourth +alt+shift.

If you wanted, for example, to have the dollar sign instead of the Bengali Rupee sign, you could replace U09F3 with “dollar”.

The Mro characters require 0x10 before the Unicode hex value as they are in the Supplementary Multilingual Plane (not the Basic).

There do not seem to be any conventions regarding licensing for keyboard layouts as they are usually packaged with other software. For the sake of clarity, this keyboard layout is licensed under the MIT License so that it can be easily modified and distributed.

While Mro Unicode is fully functional for use, it is still in a phase of testing and development.

These are some of the issues which I am aware of:

  • The spacing could be improved: the side bearings need to be fine-tuned, and kerning pairs/classes need to be added.
  • The outlines of some of the glyphs are less-than-optimally drawn.
  • It is built on a compiled version of Adobe Source Sans Pro, rather than on its source. This does not appear to have any adverse effects (most information, including hinting instructions, is accurately retained), but it is clearly not ideal.
  • For some reason the OpenType style set names are interfering with the copyright field in the font, so that the copyright often displays as “straight l” or “slashed zero” instead of the intended message about the OFL license etc. I have not been able to ascertain why this is happening.

If you are able to offer advice or assistance with any of the above, please get in touch.

Of the points mentioned under “Known Issues”, I will hopefully be able to tackle the following in the coming months:

  • Adjust spacing and kerning.
  • Redraw some glyphs for smoother and more consistent outlines.

There are a few additional features which may be possible to develop in the more distant future:

  • Make a bold version?

Again, I would be happy to hear from you if you are interested in collaborating.

If you come across a problem, or have a question or suggestion, please file it on Github.

If you would like to let me know how you’re using the font, or discuss contributing to the project, you can reach me at