Realtime Singlish Documentation for version 2.01 and higher


  1. Transliteration Table
  2. How to use Realtime Singlish to enter Sinhala text
  3. Configuring Realtime Singlish
    1. Main Window
    2. Transliteration Schemes(Code Files)
    3. smilies.txt
  4. Known problems
  5. FAQ
    1. I have a laptop and I'm having trouble switching languages, what should I do?
    2. I have put rsinglish on startup, now its not working properlly, what should I do?
    3. The picture if 'සි' on the main window of risnglish doesn't show, what should I do?
    4. An IO error comes up on startup, what should I do?
    5. Is rsinglish portable?
    6. I have MS Windows 7/Vista, and I recieve error messages("Access Denied" ..etc) and rsinglish doesn't load up on startup.

1. Transliteration Table

Realtime singlish uses the following table/scheme(by default) to convert user's singlish input. And this document will only include the instructions needed to use the default scheme(code.txt), for other schemes please reffer to their own schemes.





* ZWJ - Zero width joiner, you can use this charater to enter Sinhala joined letters(බැඳි අකුරු).

2. How to use Realtime Singlish to enter Sinhala text.

First of all you'd have to turn on Realtime Singlish(from here it'll be refered as 'rsinglish'). To do that extract the package to a localtion in your hard drive and run 'rsinglish.exe'.
Shutdown any other IME applications, keyboard hooking applications, before you start rsinglish(some programs will work with rsinglish without errors but it is not recommended).

Turn on the mode for typing Sinhala by pressing SCROLL LOCK key(if you want to assign another key see "Configuring Realtime Singlish").Now you can type Sinhala according to the Transliteration scheme. For those who are not familiar with this type of typing, the following text explains the basics of using rsinglish.

Rsinglish generates the letters that are not listed on the table in a similar way to the way that we generate sinhala letters ourselves. It just combines swara(ස්වර) with ව්‍යඤ්ජනාක්ෂර. For instance,

ක = ක් + අ

so the input to get the above character(ක) is, "k+a". The letters inside the brackets are the keys you need to press.

කැ = ක්(k) + ඇ(ae)

therefore, kae=කැ. That means, when you type "kae" කැ will be printed on the screen.

It'll be easier for the program and to the user when letters are generated in a way like that, you'd be able to memorise less individual characters that represent Sinhala letters. Similarly the program reads a smaller file from the hard drive.

To enter බැඳි අකුරු you should use the ZWJ(Zero Width Joiner) to type a ZWJ character press 'x' while you are typing Sinhala with rsinglish. It'll enter a ZWJ charater where the cursor was at the time of pressing 'x'

For instance, if I want to type ක්‍ෂ I should follow the steps below. The letters inside the brackets are the keys you need to press.

ක්(k) + ZWJ(x) + ෂ(Sha) = ක්‍ෂ

There are more to it though, letters like ක්‍ර, ප්‍ර, ව්‍ර..etc are outputed when you type kra,pra,wra....etc. And ඏ,ඐ do not behave as true ස්වර which means that they are not combined with other letters, they are there for the completeness of the application.

3. Configuring Realtime Singlish.

There are two ways which you can configure rsinglish, one is file based which means you'd have to edit a file that rsinglish uses the other is GUI based configuration. GUI based configuration is discussed here first.

3.1 Main window(GUI based)

The main window offers you most of the options to configure rsinglish. To bring up the main window left click on the rsinglish icon(same as rsinglish.exe's icon) on the system tray.

Fig. 1
This is the window that is shown to you when you left click on the tray icon. To change the configuring frame(as shown in the next picture) use the scroll bar to the right of the window.

Transliteration Scheme files list
    The list box in "Options" frame lists available Transliteration text files in the path of rsinglish.exe(root folder). These files must have "code" as the first 4 characters of their filename and should have the extension "txt". You can make new "code" files and put them in the root folder of rsinglish and select them in the list box to use them as your Transliteration Schemes. By default rsinglish comes with one Transliteration Scheme, which is in "code.txt". If you are planning to make a new Transliteration Scheme for rsinglish please refer to "Customising Transliteration".

Start with සිංහල turned on
    Application will start with the Sinhala input mode on, when ticked.

Start Minimized
    Application will start minimized to the tray area, when ticked.

    Displays a list of matches(letters) that are candidates for what you have typed, this works as you type.

Smart Language Shift
    Remembers the language setting(සිංහල or English) for dialog boxes that you interact with.

Language Shifting key
    Click on the small text box and press any key on the keyboard to assign a new language shifter key(the default key SCROLL LOCK, will always work). Avoid from assigning keys like ALT, CTRL, A-Z, symbol keys others are ok but Fx (x:2 to 12) is recommended.

Output Engine
    SendInput API Engine is the recommended Engine but if it fails to work on any application juat use the Clipboard Engine, it uses the clipboard to paste text into the text field.

3.2 Customising Transliteration(file based)

Every transliteration file for rsinglish has 4 areas, each separated by the text "<end>,<end>". These are,

  1. ස්වර - Unicode numbers of the ස්වර letters and input singlish for the letter plus some glyphs/characters that we need to map directly to some word.
  2. ව්‍යඤ්ජනාක්‍ෂර + special - Unicode numbers for all other letters(only the letter) has above format.
  3. ස්වර modifier- has the format [input combiner for ස්වර],[පිලි ආදී සියලුම ස්වර සදහා වූ characters]
  4. Ignore List - The combinations listed in this area will not be taken as valid letters.

It is not needed to have all 4 areas, you can have 4, 3, 2 or 1 area(s) in a tranliteration file. The only allowed combinations are abcd, abc, ab or a (the letters reffer to the different areas listed above)

a. ස්වර

Below are the default contents of this area and descriptions of them, $ is used because the numbers are in hexadecimal.

# rsinglish default scheme
# This file is in the public domain, anyone can edit these are comment lines, # for the first character makes a line a comment
# and redistribute versions of this file without the
# author's knowledge, how ever do mail the updates to
# me I might bundle them with the rsinglish package.
# - Madura A.
# PS: Read rsinglish Documentation on how to edit this
# file
ex,$0DCA ex is a keyword for the letter creation engine in rsinglish, this is documented below
x,$200D this is a normal ස්වර definition line, x is not a proper ස්වර in සිංහල but the direct
a,$0D85 mapping of English words is used here to define the ZWJ character(0x200D)
ae,$0D87 so in this area you can define proper and non proper ස්වර for your usage, for example
A,$0D88 if you want to create a scheme which has explicit definitions for the characters, meaning
i,$0D89 that the letter database isn't generated by the machine, it'll use only the definitions listed
I,$0D8A on the file; that can be done by only using this area! more infomation is documented below.
<end>,<end> the mark of ending an area

ex,$0DCA : This is nothing but a predefined special character to ease up the generation of letters to explain the reason behind this would take some time and make this more technical than it is meant to be, so in simple terms 'ex' is the predefined keyword(which can't be modified) and $0DCA is the Unicode Hex value for the හල්කිරීම(which is used to generate සිංහල letters, Tamil can be generated the sameway all you have to do is to give the Unicode value of the apporpriate Tamil character instead of $0DCA).

For those who are willing to find out why this was introduced, just think of a way how we are going to define ව්‍යඤ්ජනාක්‍ෂර and හල්කරන ලද ව්‍යඤ්ජනාක්‍ෂර in two ways,


k -> ක
k + [some other character] -> ක්


k -> ක්
k + [some other character] -> ක

Both ways are good to make schemes but 1st one is hard for new people trying to use the scheme and the 2nd on is faster because letters like ක,ට,ප ..etc are widely used in සිංහල and everytime you'll have to type 2 characters(like in a.) instead of one(like in b.). Rsinglish' default scheme uses the b. method and defines [some other character] as 'a' which makes ka - ක, this is what people are used to. By using this method we have a problem at joining, k is representing two characters and ka is representing 1 character it was because of this reason that the ex keyword was introduced so rsinglish can read both types of schemes. For the 1st type(a.) don't use a line with ex instead just use a key or word to define හල්කිරීම in the same area(e.g. w,$0DCA).

b. ව්‍යඤ්ජනාක්‍ෂර + special

These are the consonants each letter in this area is joined with a ස්වර modifier, if there are no ස්වර modifiers then it'll not combine.

k,$0D9A        these are the normal definitions, ක්, ච් ..etc
Y,$200D $0DBA this is a special one it represents යන්සය, its listed under consonants because the part with
y,$0DBA යන්සය is used like ක්‍යැ(kYae), ක්‍යෑ(kYA), ඛ්‍යෛ(kYei) ..etc on these ස්වර modifiers are combined
r,$0DBB with යන්සය not the actual base character
dhr,$0DAF $0DCA $200D $0DBB these are special listings too, there is no රකාරාංශය listed here but there is
dr,$0DA9 $0DCA $200D $0DBB a list of letters that are defined with it, this is only to stop people
tr,$0DA7 $0DCA $200D $0DBB writing invalid සිංහල as an alternative රකාරාංශය can be defined the same
br,$0DB6 $0DCA $200D $0DBB way as යන්සය is defined(on some versions of code.txt you may see this)

c. ස්වර modifier

Above described ස්වර modifiers are listed in this area, these are combined only with the consonants.

d. Ignore list

The combinations listed here(in the format <consonant>,<modifier>) will not be added to the resulting database of letters. A classic example for this is,

in code.txt you'll find entries like kr,u this simply means that 'don't include ක්‍ර +ු' if the letter is written with out + mark, 'ක්‍රු' eventhough a glyph is generated this is utter garbage! We don't need this in our database what we need is k + ru which translates to කෘ which is a proper සිංහල character. Note that both combinations result as 'kru' that's why we need to ignore one.

3.3 Editing smilies.txt

For v2.01 and upper you only need to list the smily symbols in this file. For v2.00 and below, well you can DOWNLOAD the new version, which saves a lot of typing for me and alot of work for you!

4. Known problems

The known problems of v2.00 are fixed as of this writing, you are always invited to drop a mail on my inbox if any issues are raised.

5. FAQ

1. I have a laptop and I'm having trouble switching languages, what should I do?

Reason : Most laptops don't have a separate SCROLL LOCK key, so the virtual key returned when you press the key combination in a laptop is not the same as the virtual key that is returned when the SCROLL LOCK of a standard desktop keyboard is pressed.

Fix : To get around this, just assign some other key that gives the same virtual key as in a desktop keyboard. i.e. Ctrl key or a function key(pick a key that isn't used much in applications such as F12)

2. I have put rsinglish on startup, now its not working properlly, what should I do?

Reason : This happens when rsinglish.exe is drag and droped in to the startup folder, rsinglish needs other files on its application directory to run properly.

Fix : Make a shortcut to rsinglish.exe and put it in startup folder or put a direct link to rsinglish.exe in windows registry.

3. The picture if 'සි' on the main window of risnglish doesn't show, what should I do?

Reason : There have been a startup error, mostly an error that wasn't handled by the developer.

Fix : Recheck the files that are needed to run rsinglish, if they are there still delete the settings.ini and try running rsinglish again. If that doesn't work out, download the package again and erase the previous package(keep the settings file if you need to, but if there was an version update the old settings.ini might not work with the new version)

4. An IO error comes up on startup, what should I do?

Reason : There are many reasons for this to happen, mostly it's because of a file(one or more) is missing.

Fix : Just download the package again and extract it or you can delete the settings.ini and try to run rsinglish.exe, it'll write the default settings file automatically(note that this will only work if the the problem was with the settings file)

5. Is rsinglish portable?

Yes, it's fully portable it just needs the files in it's directory.

6. I have MS Windows 7/Vista, and I recieve error messages("Access Denied" ..etc) and rsinglish doesn't load up on startup.

You can do two things for this, you can disable UAC or you can run the program "As Administrater" everytime. To do the latter, just goto properties of the rsinglish shortcut in the startup folder(this is in your programs menu(all programs in XP)) and check "Run AsAdministrater".

* If you find any more problems other than listed here please mail me, madura[DOT]x86[AT]gmail[DOT]com

* * *

Please do read this documentation thoroughly before mailing me, thank you.

- 2010 madura.x86 -