A Jawi word that looks right in one screenshot may still be broken data. Digital correctness depends on the stored Unicode characters, their logical order, and bidirectional rendering—not on manually arranging attractive glyphs. A reliable workflow therefore tests typing, copying, searching, and font fallback separately.
Type characters, not pictures or presentation forms
Unicode stores an Arabic-script letter once and lets the shaping engine select its contextual glyph. For example, you type the base character ڤ (U+06A4) and the font shapes it inside ڤاڤن papan. Do not choose isolated, initial, medial, or final glyphs from an “Arabic presentation forms” palette. The joining guide explains why the contextual shapes differ.
| Jawi letter | Code point used here | Unicode name | Malay value |
|---|---|---|---|
| ڤ | U+06A4 | ARABIC LETTER VEH | p / pa |
| ݢ | U+0762 | ARABIC LETTER KEHEH WITH DOT ABOVE | g / ga |
| ڠ | U+06A0 | ARABIC LETTER AIN WITH THREE DOTS ABOVE | ng / nga |
| ڽ | U+06BD | ARABIC LETTER NOON WITH THREE DOTS ABOVE | ny / nya |
| ۏ | U+06CF | ARABIC LETTER WAW WITH DOT ABOVE | v / va |
ساي منوليس دڠن ڤاڤن ککونچي جاوي.
Saya menulis dengan papan kekunci Jawi.
I write with a Jawi keyboard.
جاڠن ݢوناکن ݢمبر اونتوق مڠݢنتي تيکس.
Jangan gunakan gambar untuk mengganti teks.
Do not use an image to replace text.
The Unicode character names are technical labels, not a Malay teaching taxonomy; the apparently surprising name “VEH” does not change the Malaysian use of ڤ as pa. There is also a real interoperability wrinkle around ga: older Malaysian data may use ڬ U+06AC, while the Unicode Standard recommends ݢ U+0762 for Jawi and current DBP dictionary data uses ݢ. They may look alike in some fonts but are not the same code point. This guide therefore uses ݢ in contemporary spellings. A database should preserve an older source faithfully while mapping a known variant only in a documented derived search key.
Keyboard layouts are input maps, not encodings
Operating systems and mobile keyboards place Jawi letters differently. Install a Malay/Jawi-capable layout, open its on-screen keyboard, and learn the positions actually shown on your device. Switching to an “Arabic” layout may omit چ ڠ ڤ ݢ ۏ ڽ, forcing unsafe copy-and-paste from random pages. A layout that offers only legacy ڬ for ga can still read older material, but it does not produce the contemporary ݢ used below.
Whatever layout you use, the output should be ordinary Unicode text. Review the inventory in the Malay-specific letters guide, then try this five-word exercise:
| Required letter | Type | Rumi check |
|---|---|---|
| ڤ | ڤاڤن | papan |
| ݢ | ݢورو | guru |
| ڠ | اورڠ | orang |
| ڽ | ڽاڽي | nyanyi |
| ۏ | ۏيديو | video |
ڤاڤن، ݢورو، اورڠ، ڽاڽي، ۏيديو.
papan, guru, orang, nyanyi, video.
Board, teacher, person, sing, video—the five-character typing check.
After typing, copy the text into a plain-text editor and back. If a letter turns into a box, the underlying character may still be correct—the destination font may lack a glyph. If it turns into another letter, the input or conversion pipeline changed the data.
Logical order and mixed Rumi–Jawi text
Jawi is stored in reading order even though it displays right to left. A word such as جاوي is stored as jim, alif, wau, ya; software performs the visual reordering. Never reverse its code points manually.
Mixed text is harder because filenames, Latin abbreviations, numbers, slashes, parentheses, and punctuation create directional runs. For example, a logical filename might be:
latihan-جاوي-v2.docx
and a label might be:
Fail Jawi: latihan-جاوي-v2.docx
Do not “fix” a strange visual order by moving letters until one application looks good. First isolate the runs in the user interface: HTML offers dir="rtl", dir="ltr", and dir="auto"; application code can use directional isolation. Keep the lexical Jawi itself clean.
سالين تيکس اين تنڤا مڠوبه حروف.
Salin teks ini tanpa mengubah huruf.
Copy this text without changing the letters.
ساي سوده مڽيمڤن فاءيل ايت.
Saya sudah menyimpan fail itu.
I have saved that file.
Modern directional controls are invisible format characters. The most useful to recognize are U+2066 LEFT-TO-RIGHT ISOLATE, U+2067 RIGHT-TO-LEFT ISOLATE, and U+2069 POP DIRECTIONAL ISOLATE. Older marks such as U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK also occur. Put such controls in layout code only when you understand their scope; hidden controls inside dictionary headwords can make equality and search fail.
Joining controls and copy-and-paste hazards
U+200C ZERO WIDTH NON-JOINER (ZWNJ) deliberately blocks joining; U+200D ZERO WIDTH JOINER (ZWJ) encourages a joining form. They are not invisible spaces for ordinary word division. Contemporary orthographic guidance may require a non-joining boundary in a specialized spelling—for example, certain final consonant clusters—but most Jawi words need neither control.
Copy-and-paste can introduce four common contaminants:
- Arabic presentation-form characters such as ﺡ rather than base ح;
- invisible directional marks copied from a richly formatted page;
- ZWNJ or ZWJ inserted merely to force a preferred glyph;
- visually similar Arabic-script characters with different code points.
NFC normalization composes canonically equivalent sequences but does not convert every compatibility presentation form to its base letter. NFKC can fold many compatibility forms, yet applying it blindly to a whole multilingual corpus may change data beyond Jawi. Normalize through a documented, tested import process; never assume one “normalize” button solves every problem.
اوجي تيکس اين دالم دوا فون.
Uji teks ini dalam dua fon.
Test this text in two fonts.
فون اين تيدق ممڤاڤرکن حروف ڽ دڠن بتول.
Fon ini tidak memaparkan huruf nya dengan betul.
This font does not display the letter nya correctly.
Fonts: rendering is not data
Test in at least two fonts with broad Jawi coverage, such as Noto Naskh Arabic and Scheherazade New, plus the production font used by your application. A font may support Arabic but lack a good glyph for ڽ or ۏ. A tofu box indicates missing font support; it does not justify replacing the character with an image.
Pay attention to ڽ in initial and medial position. Unicode explicitly allows its dots to appear below in those contexts so that it remains distinct from ث. A tester unfamiliar with Jawi may incorrectly report this contextual shaping as corruption.
بنتوق حروف اين بروبه مڠيکوت کدودوقن.
Bentuk huruf ini berubah mengikut kedudukan.
The shape of this letter changes according to its position.
Search and comparison
Search usually compares character sequences, not visual glyphs. A query containing U+06AC will not necessarily match a record containing U+0762, even if the current font makes them look similar. Likewise, text with a hidden ZWNJ differs from text without it.
چاري کات مشارکت دالم دوکومن.
Cari kata masyarakat dalam dokumen.
Search for the word masyarakat in the document.
For a production search system, keep the original spelling for display and create a separate indexed form according to an explicit policy. Log transformations; do not silently overwrite source text. Search can optionally map known encoding variants at query time, but exact search should remain available for diagnosis.
Debugging checklist
When Jawi fails digitally, check in this order:
- Code point: Is it the intended base character, not a presentation form or look-alike?
- Logical sequence: Are the characters stored in reading order rather than visually reversed?
- Hidden characters: Are bidi controls, ZWNJ, ZWJ, or non-breaking spaces present?
- Font coverage: Does a second Jawi-capable font render the same data correctly?
- Direction container: Is the surrounding UI using appropriate
dirisolation for mixed scripts? - Normalization: Are compared strings using the same documented normalization policy?
- Search index: Does the index transform a variant that the display string preserves?
- Round trip: Does copy → plain text → paste preserve the same code-point sequence?
Common Mistakes
Pasting a presentation-form glyph
Incorrect
ﺡلال
halal
Incorrect digital data—the first character is an isolated presentation form, not the base letter.
Correct
حلال
halal
Halal; stored with base characters and shaped by the font.
Replacing a missing glyph with an image
Incorrect
ڽ
nya
Incorrect workflow if this visible letter is only a pasted image: users cannot search, select, or voice it.
Correct
ڽ
nya
Correct when stored as U+06BD text; repair the font instead.
Reversing characters manually
Incorrect
يواج
iwaj
Incorrect—this is a reversed character sequence, not Jawi.
Correct
جاوي
Jawi
Jawi, stored in logical reading order.
Hiding layout fixes inside lexical text
Incorrect
جاوي
Jawi
Incorrect workflow—this string contains a trailing U+200F RIGHT-TO-LEFT MARK inserted merely to position nearby punctuation.
Correct
جاوي
Jawi
Clean lexical text; direction is handled by its container.
Key Takeaways
- Store base Unicode characters in logical order and let fonts shape them.
- Treat font support, bidirectional layout, normalization, and search as separate engineering layers.
- Keep hidden controls out of lexical data unless an explicit orthographic or layout policy requires them.
- Verify ڤ ݢ ڠ ڽ ۏ by code point, and test legacy ڬ separately when importing older data; then round-trip the text through multiple fonts and a plain-text editor.
Now practice Malay
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Malay →Related Topics
- The Jawi Alphabet and Letter NamesA1 — Learn the 37 letters used in contemporary Malaysian Jawi, their Unicode identities, names, sound values, and representative spellings.
- Joining and Non-Joining LettersA1 — Learn how Jawi letters connect, where a connection must break, and how connected word shapes speed up reading.
- The Six Malay-Specific Jawi LettersA1 — Learn the six added Jawi letters for c, p, g, ng, ny, and v, including their Unicode identities and joining behaviour.
- Numerals and Punctuation in Right-to-Left JawiA2 — Read and type dates, prices, addresses, phone numbers, and punctuation correctly inside right-to-left Jawi text.
- Converting Between Rumi and JawiB2 — Use vocabulary, syllable structure, morphology, and context to convert Malay accurately between Rumi and modern Malaysian Jawi.