Lisu Unicode

Open source font for users of the Lisu script

Lisu Unicode is an open-source font which supports the Lisu, or ‘Fraser’, script.

Though other unicode fonts exist for Lisu (e.g. Noto and Lisu Tzimu), it seemed worthwhile to create a Lisu equivalent for Miao Unicode given the association between the two scripts.

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

Both Lisu 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 Lisu script was invented around 1914 by a Karen man from Burma called Sara Ba Thaw, who was working as a Christian evangelist among the Lisu people in Yunnan province, China. The Scottish missionary James Fraser subsequently modified the script.

Their design used Latin capital letters, and rotated versions of them for variations (for example ‘zha’ and ‘za’). There are also six symbols based on Latin punctuation marks which represent tones.

The Lisu (Fraser) script was recognized as an official script for the Lisu language by the Chinese government in 1992. The Unicode Standard officially encoded Lisu in version 5.2.0, October 2009.

In addition to “Lisu” and “Fraser”, the script is sometimes also referred to as “Old Lisu”. This is the same script, not an older version.

The Lisu script is used primarily by speakers of the Lisu language — according to the Unicode proposal about 200,000 people are active users of the script, out of a total 630,000 Lisu speakers. (In addition to Yunnan province, Lisu is also spoken in Arunachal Pradesh (NE India), Myanmar, and Thailand.) It appears that the Lipo language was at some point written in the Lisu script, but is not any longer.

This information is condensed from the following sources:

  • Official Unicode description (pdf): brief write-up and discussion of how to implement the Unicode encoding (bottom of p.461)
  • Unicode proposal (2007): description of the script with rationale for Unicode encoding method, history and use, and extended text samples
  • Script Source: description of history and use, with text samples
  • Omniglot: description of history and use, with text samples; includes IPA
  • Wikipedia: description of history and use, with text samples

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

Lisu Unicode rendering

Coming soon.

Original image

Coming soon.

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

These are Graphite features which allow you to select different styles. The following features work for both the Latin and Lisu scripts. (Small capitals for the Lisu script may come in useful, for example, when typing just one Lisu word on an otherwise Latin page in order to make it blend in more harmoniously.)

The only browser which can display these features is Firefox, with Graphite enabled. For further explanation, see the “Graphite in Firefox” and “Graphite features” sections of the Miao Unicode page.

The following charts give a summary of the Lisu Unicode block according to character type. The Unicode transcriptions are given here; for IPA see the Lisu (Fraser) Omniglot page.

Consonants:

ba pa pha da ta tha ga kha ka
ja ca cha dza tsa tsha ma na la
sa zha za nga ha xa hha fa wa
sha zzha nya

Vowels:

a ae e eu i o u ue uh oe

Tones:

top rising high mid high falling mid falling

Modifiers & punctuation:

ˍ ʼ
‘a’ glide nasalized vowel comma full stop

The two modifiers “a glide” and “nasalized vowel” come from other Unicode blocks (see the Unicode Standard, Chapter 12 for details). They were apparently proposed to be included in Lisu, but were rejected (2007 proposal, point five).

See “Keyboard for Linux” for instructions on how to type Lisu using your keyboard (Linux only, not Mac or Windows).

Download the font file from the github page. Click ‘view raw’ and save the file 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 Alan Wood’s test page. This is also a helpful reference resource. If all of the characters display, the font has probably installed correctly.

As Alan Wood suggests, it can be helpful to compare the characters which appear on the test page with the Official Unicode chart (pdf).

I have developed a Lisu 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 Lisu layout corresponds to the visual Latin equivalent 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/lisu /usr/share/X11/xkb/symbols/lisu

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 Lisu keyboard either by simply typing ‘Lisu’, or by typing ‘China’, ‘India’, ‘Myanmar’ or ‘Thailand’ as these are the countries where Lisu is used.

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

The layout

The keyboard layout is as follows:

Lisu 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

The rotated version of the letter is typed using the shift key. If there is no rotated version, the shift key will do nothing.

The Latin qwerty keyboard can be accessed using the alt (right) key.

Some of the tone markers, like look identical to Latin and/or common punctuation marks, but Unicode encodes them separately and so does the keyboard layout. This is important for sorting Lisu words correctly, and making sure to include the tone mark as part of the word (punctuation is not part of the word). On the keyboard layout, the Lisu variant always uses the normal or shift key (in black, on the left), and the punctuation variant uses the alt (right) key (in blue, on the right).

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 ‘lisu’ 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 <layoutList>. You can add the Lisu entry anywhere in this section. I added it at the end, just before the </layoutList> end marker.

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

    <layout>
      <configItem>
        <name>lisu</name>
        <shortDescription>lisu</shortDescription>
        <description>Lisu</description>
        <countryList>
          <iso3166Id>CN</iso3166Id>
          <iso3166Id>IN</iso3166Id>
          <iso3166Id>MM</iso3166Id>
          <iso3166Id>TH</iso3166Id>
        </countryList>
        <languageList>
          <iso639Id>lis</iso639Id>
          <iso639Id>lpo</iso639Id>
        </languageList>
      </configItem>
    </layout>

The iso3166 country codes can be found on Wikipedia, and the iso639 language codes 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> { [      4,     dollar,   onequarter,   yen ]  };

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 Indian Rupee sign ₹ instead of the Yuan/Yen sign ¥, you could replace “yen” with U20B9.

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 Lisu Unicode is fully functional for use, it is still in a phase of testing and development.

(You do not need to worry about future versions breaking compatibility, however. Documents created using this font will always display correctly with future versions of the font as well, as indeed they should display correctly with any font based on the Unicode implementation instructions.)

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

  • The spacing needs to be fine-tuned, and kerning needs to be added.
  • 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.

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 phjamr@gmail.com.