Javascript Thaana Keyboard version 4.2.1

Here's an update to my Javascript Thaana Keyboard library which provides easy entry of Thaana on web pages without the involvement of OS-based keyboard switching. Hit the demo page to see it in action.

This release is solely a bugfix release addressing an issue with the display of newly entered text in multiline fields where text exceeds the size of the visible area. I originally cut this release in February but decided to hold back on a public release till I had further issues to fix or had new features added, neither of which has come since...

Thanks goes to Ahmed Ali for bringing the bug to my attention.

Changelog

+ Fixed issue with the display of newly entered text in multiline fields where text exceeds the size of the visible area.

Usage

Usage remains same as before. Please refer to my detailed post on the 4.0 release.

Demo

As usual, a demonstration and testing page is available.

Download

- full source version (5.66 KB)
- packed version (2.47 KB) [recommended]

Thaana conversions class for PHP 5 - v0.4

Here is a major update to the Thaana Conversions class for PHP 5 that I have been maintaining. This new version adds two new functions convertLatinToAscii() and its counterpart convertAsciiToLatin(), which transliterates text to and from the latinized/romanized Thaana form. That means you can pass on text bits like "miadhakee reethi dhuvahekeve" and have it converted to "މިއަދަކީ ރީތި ދުވަހެކެވެ".

This feature would facilitate Thaana websites to add cool and interesting new features like, say, offering to display a news article in latinized Thaana if the user does not have the required fonts installed and/or cannot install the Thaana fonts!

Info

The Thaana Conversions class for PHP provides a number of useful functions for the conversion and transliteration of text between various Thaana representation formats.

Functions exposed

- convertUtf8ToUnicodeIntegers()
- convertUtf8ToAscii()
- convertUtf8ToEntities()
- convertEntitiesToUnicodeIntegers()
- convertEntitiesToUtf8
- convertEntitiesToAscii()
- convertUnicodeIntegersToUtf8()
- convertUnicodeIntegersToEntities()
- convertUnicodeIntegersToAscii()
- convertAsciiToUtf8()
- convertAsciiToEntities()
- convertAsciiToUnicodeIntegers()
- convertLatinToAscii()
- convertAsciiToLatin()

Requirements

PHP 5

License

This script is released under the Open Source MIT License, allowing its use in both personal and commercial applications as long as the copyright and license permission notice remains intact.

Usage

<?php
// Load the class
require 'thaana_conversions.obj.php';

// Initialize the Thaana object
$thaana = new Thaana_Conversions();

// Example: Converting latin to ascii
echo $thaana->convertLatinToAscii('miadhakee haadha reethi dhuvahekeve.');

// Example: Converting ascii to latin
echo $thaana->convertAsciiToLatin('miawdwkI hWdw rIti duvwhekeve.');
?>

Download

- Thaana_Conversions.zip (v0.4, 4.8KB)

Enjoy :-)

Thaana Transcoder 1.1

I received two feature requests in the email since I released the Thaana Transcoder late last month and both asked for the same thing; Unicode input text transcoding to Accent compatible ASCII output. It just so happened that the feature requested was something that I had actually programmed in, more or less, but left out in the public 1.0 release because I wasn't sure anyone would need it. So here is a new release with the said feature included and also bundles in a minor bug fix.

Info

Thaana Transcoder is a Windows-based tool that performs the often much needed conversion of Thaana text written in Accent, Faseyha Thaana, MS Word version 97 (and older) to and from the modern Unicode standard used by MS Word XP/2007 and OpenOffice.

Download

- Thaana Transcoder 1.1 Installer/Upgrade (185KB, MS Windows)
- Thaana Transcoder 1.1 Executable only (79.7KB, MS Windows)

ThaanaTranscoder screenshot

Thaana Transcoder 1.0

Thaana Transcoder is a Windows-based tool that performs the often much needed conversion of Thaana text written in Accent, Faseyha Thaana, MS Word version 97 (and older) to and from the modern Unicode standard used by MS Word XP/2007 and OpenOffice. This program hasn't been thoroughly tested and there is bound to be bugs and errors. If you do encounter such a bug or have a feature request, please drop me line.

Quite a few people have asked me for such a program over the years and I used to point people over to an online tool I had made available a few years ago but it is no longer alive. As ever, it wasn't until I had a real necessity for such a program a few days ago that I got around to writing a brand new version.

Download

- Thaana Transcoder 1.0 Installer (184KB, MS Windows)
- Thaana Transcoder 1.0 Executable only (78.8KB, MS Windows)

Enjoy :-)

Javascript Thaana Keyboard version 4.2

Here's a minor update to my Javascript Thaana Keyboard library. This release, version 4.2, amounts to a single bugfix addressing an error in key translation for some keys when operating under the "Phonetic-HH" keyboard mode. Everything else remains as per the earlier v4 series releases.

Thanks goes to Nattu for bringing the bug to my attention.

Changelog:

+ Fixed handling of keys when in Phonetic-HH keyboard mode

Usage:

Usage remains same as before. Please refer to my detailed post on the 4.0 release.

Demo:

Check out the demonstration and testing page here.

Download:

- full source version (5.51 KB)
- packed version (2.46 KB) [recommended]

Update (13-Apr-2009): This version is now superseded by release v4.2.1.

Latin Thaana Converter 2.0

Latin Thaana Converter is a small, simple software for Microsoft Windows that performs transliteration on latinized (i.e. romanized) Thaana to convert it back into the Thaana script. This is a tool I originally released in 2003 under the name "Latin Dhivehi Converter"/"Lat2Dhiv". This new release carries a new name (which I think is a more technically correct name for what it does) and sports a few aesthetic changes but is functionally almost exactly the same as the original - it is basically a recompile of my old code within the .Net framework.

Automated transliteration of Latin Thaana is not an entirely easy task. Look up table based algorithms are simple to implement but are unable to correctly handle cases of sukun, present issues with most other fili and generally have a host of other problems as well. Latin Thaana Converter utilizes a finite state machine and its transliteration mappings are based on a more extensive scheme extracted from an analysis of a body of Latin Thaana-to-Thaana sample data. It maybe worth mentioning that the analysis had revealed that upto 4 characters were being used (and needed) for some Thaana transliterations. However, it must be said that the quality of transliteration from this is limited by the accuracy and diversity of the sample data I had used and hence is by no means perfect.

Since writing this program in 2003, I have experimented with probabilistic FSMs and also put machine learning techniques to the task with better results. I plan to write more extensively on Thaana transliteration algorithms at a later time...

Usage

1. Copy-paste or type the Latin Thaana text into the "Text in Latin Thaana" box.
2. Click "Convert".
3. The converted text appears in the "Text in Thaana" box.

Download

- Latin Thaana Converter 2.0 Installer (126KB, MS Windows)
- Latin Thaana Converter 2.0 Executable only (22.8KB, MS Windows)

Hope someone finds it useful :-)

Javascript Thaana Keyboard version 4.1

I released Javascript Thaana Keyboard v4.0 only 10 days ago but I've since been made aware of a few bugs in the script that had gone unnoticed during testing back then. I decided to cut another release to fix those bugs which, although minor, could potentially be annoying to end-users. This new release also crams in a few tweaks to improve performance.

Changelog:

+ Fixed handling of Delete key and other special keys
+ Added correct handling for Thaana brackets "()"
+ Improved performance

Usage:

Usage remains same as before, so please refer to my post on the 4.0 release.

Demo:

Check out the demonstration and testing page here.

Download:

- full source version (10.6 KB)
- packed version (2.46 KB) [recommended]

Update (19-Dec-2008): This version is now superseded by release v4.2.