Lindenberg Software

The Aksara Kawi app

The Aksara Kawi app is a prototype implementation of the Kawi script based on the Proposal to encode Kawi by Aditya Bayu Perdana and Ilham Nurwansah. It uses the characters documented in the proposal, except for the character KAWI VOWEL SIGN VOCALIC L, which has been removed. The app includes a version of the font used in the proposal, Tantular Kawi designed by Aditya Bayu Perdana, reengineered based on Apple Advanced Typography, a technology that enables the creation of fonts for complex script that are not part of Unicode yet.

What is this prototype for?

A prototype lets us verify that a proposed encoding for a script actually works in practice, at least for the fundamental building blocks of a script implementation: a font and a keyboard. There have been a number of cases in the past where major issues in the encoding of a script were found long after they were encoded, and such issues are then much harder to correct.

Who can get this prototype?

Anyone who is interested in testing this app and thus the encoding, the font, and the keyboard, is willing to provide feedback, and has access to an iPhone or iPad with iOS/iPadOS 13 or higher. The app is distributed through Apple’s TestFlight program, so you’ll need to get the TestFlight app as well. Please contact us through the form below and provide the email address through which you’d like to get your TestFlight invitation.

Can I use the app to write dissertations, tweets, messages?

Better not. The Kawi script is not part of Unicode yet, and the encoding may change based on feedback at any time before the release of the first Unicode version that includes it (one character has already been removed). If you’d like to publish Kawi text before the release of that Unicode version, you can use the Share feature in the Aksara Kawi app to create an image of your text, or export as a PDF document from the Pages or Keynote apps.

Why is the prototype only available on iPhone and iPad?

The font in the app is based on Apple Advanced Typography, which is only fully supported on Apple platforms. The more commonly used OpenType font technology doesn’t support scripts that are not encoded in Unicode yet. In addition, we happen to have experience in developing font and keyboard apps for iPhone and iPad.

What does the Tantular Kawi font look like?

Here’s a transcription of the Laguna copperplate inscription, written with the Aksara Kawi keyboard in the Pages app on an iPad, and converted to SVG with the GlyphShaper and GlyphPlotter tools.

Laguna copperplate inscription

How does the Tantular Kawi font in this app compare to other existing Kawi fonts?

Other existing Kawi fonts use Balinese or Javanese code points. This means, while they can make text look like Kawi, software will treat the text as Balinese or Javanese, for example in search or text editing. Kawi and its encoding in Unicode differ from its successor scripts in some ways, e.g., in the set of vowels and punctuation characters, in its use of repha, and in the encoding of conjunct forms vs. visible virama.

Is this AAT font compatible with one based on OpenType?

The font is designed to produce rendering results equivalent to one based on the OpenType Universal Shaping Engine. In particular, it requires the same sequence of characters within a cluster as the USE, and inserts dotted circles into clusters that the USE would find invalid. The expected character sequence within a cluster is:

Why is Kawi text sometimes displayed incorrectly in the app?

You may notice that marks are incorrectly attached to bases (e.g., too far to the right), or that below-base conjuncts collide with other glyphs. Most of the time, this is caused by a bug in the iOS text component used, UITextView. To see the text rendered correctly, install the font and the keyboard for other apps, and then use the Pages app.

How is the keyboard organized?

The keyboard has three layers:

keyboard layer 1
Consonants and dependent vowels
keyboard layer 2
Consonant conjunct forms, additional dependent vowels, and other marks
keyboard layer 3
Digits, punctuation, independent vowels, and the one conjunct form of an independent vowel

How does the keyboard work?

The keyboard expects characters in a generalized form of the encoding order. Marks within a cluster are automatically reordered to produce the order that the Universal Shaping Engine expects. For example, if the user types first -u, then -i (to get a cancellation mark), the keyboard reorders to -i-u. Or if the user types first -ng, then -u, the keyboard reorders to -u-ng.

The keys for conjunct forms input the sequence of subjoiner and consonant or independent vowel that represent the conjunct form. There’s no separate key for subjoiner. The delete key removes the complete sequence.

For repha, there are two distinct uses in Kawi. Normally, the character is used as an actual repha, that is the initial vowel-less ra of a cluster is written as a mark above the second consonant. In some late manuscripts, however, the character is used as a final consonant, like its modern cognates Balinese surang, Javanese layar, and Sundanese panglayar. In both cases, the character needs to be entered in the position that corresponds to its use as repha, before the base consonant of the cluster. Here’s the word hañjurniŋ with the key sequences necessary when using the repha character either as a repha in the third cluster or as a final consonant in the second cluster:

Input of repha

When the user types a repha, the keyboard appends a dotted circle as a placeholder. When the user follows up with a consonant, the keyboard replaces the dotted circle with the consonant. If the user types anything else, the dotted circle stays. When the delete key is used after typing the repha, it deletes both the dotted circle and the repha. If the user deletes a consonant that follows a repha, the keyboard re-inserts the dotted circle. If the user deletes a dotted circle that follows a repha, they’re both deleted.

All this magic only works correctly on current input. Once the user has moved to a new line, or moved the insertion point, the keyboard typically can’t see what’s being deleted, so it’s all up to the editor – which of course knows nothing about Kawi.

How do I make the font and the keyboard available to other apps?

To make the Tantular Kawi font available to other apps, go to the Font pane of the Aksara Kawi app, tap the “Tantular Kawi” button, and confirm the installation.

To make the keyboard available to other apps, go to the Keyboard pane of the Aksara Kawi app, and follow the instructions there.

Do all iOS apps work with this font and keyboard?

The Tantular Kawi font only becomes available in apps that let users choose fonts using an OS-provided font menu, including Pages, Keynote, Numbers, Notability, Affinity Designer, Photoshop, Clip Studio Paint. The keyboard can theoretically be used in other apps, but without a Kawi font available that’s not really useful.

The Pages, Keynote, and Notability apps support entering and displaying Kawi text quite well; we haven’t tested other apps yet.

Other questions?