Khmer Tools100% Client-Side
All Tools

Khmer Unicode Sorter & Fixer

Fixes corrupted or misordered Khmer Unicode text sequences caused by old keyboard layouts or PDF extractions. Ensures perfect rendering across all browsers and devices.

Normalized & Corrected Unicode Output

អត្ថបទខ្មែរមួយចំនួន ដែលចម្លងចេញពី PDF ឬប្រព័ន្ធចាស់ តែងតែជួបបញ្ហាស្រៈរត់ខុសកន្លែង ឬជើងខូច។

✓ Text is already compliant with Unicode standardUnicode NFC

About & How It Works

Technical calculation logic, standards, and operational details

The Khmer Unicode Sorter & Fixer is a specialized text normalization tool that resolves one of the most persistent issues in Khmer digital publishing: incorrect Unicode codepoint ordering within syllable clusters. Khmer script is an Abugida — each consonant carries an inherent vowel, and diacritics, subscript consonants (Coeng, U+17D2), and vowel signs must appear in a precise Unicode sequence. When text is typed on legacy NiDA or Limon keyboard layouts, exported from PDF documents, or copied from poorly encoded websites, the codepoint order frequently deviates from the Unicode 3.0 specification for Khmer (U+1780–U+17FF). This produces visible symptoms: floating dotted circles (◌, U+25CC), displaced vowel glyphs, subscripts appearing above baseline, or outright character substitution errors in font rendering engines.

Algorithmic Logic & Calculation

The normalizer applies a rule-based Unicode reordering algorithm modeled on the ICU (International Components for Unicode) Khmer break iterator logic. It identifies syllable boundaries by detecting base consonants (U+1780–U+17A2), then reorders any misplaced dependent vowels (U+17B6–U+17C5), subscript markers (Coeng U+17D2), diacritical marks (U+17C6–U+17D1), and independent vowels (U+17A3–U+17B3) into their canonical positions. The result is a clean NFC-normalized Unicode string that renders identically across Chrome, Firefox, Safari, and all major Khmer-aware font engines including Noto Khmer and Khmer OS.

Technical Standards & Compliance

Follows Unicode Standard 15.0 Khmer Block specification (U+1780–U+17FF), ICU Khmer break iterator rules, and Unicode Normalization Form C (NFC) as defined by Unicode Technical Report #15.

Key Features & Capabilities

Dotted Circle (◌) Eliminator

Automatically detects and corrects syllable clusters that trigger the ◌ placeholder glyph in Unicode-compliant renderers.

PDF & Legacy Keyboard Fix

Repairs text exported from Khmer PDF documents or typed on NiDA/Limon legacy keyboard layouts.

Cross-Browser Font Compatibility

Output renders consistently on Chrome, Firefox, Safari, and Khmer OS/Noto fonts without substitution errors.

NFC Unicode Normalization

Outputs NFC-normalized Khmer text conforming to Unicode Normalization Form C for maximum interoperability.

Practical Real-World Use Cases

Digital Publishing & Journalism

Editors paste PDF-extracted Khmer article text and normalize it before uploading to CMS platforms like WordPress or Kiripost.

Database & Search Engine Indexing

Sanitize Khmer strings before inserting into Elasticsearch, PostgreSQL, or SQL databases to prevent duplicate entries caused by encoding variants.

Font Testing & Typography QA

Type designers test how their Khmer OpenType lookups (pref, blwf, pstf) respond to canonical Unicode sequences after normalization.

How to Use

  1. Paste the text with broken rendering or misplaced Khmer letters.
  2. Click "Normalize & Fix".
  3. Copy the corrected Unicode text.
In-Depth Educational Guide

Complete Guide to Cambodian Riel (KHR) & Khmer Numerals

An in-depth guide exploring the historical origins of Khmer numerals (០-៩), linguistic counting structures, official National Bank of Cambodia formatting rules, and invoice word spelling.

Read Full Guide

Frequently Asked Questions

Dotted circles (◌) occur when vowels or subscript signs (Coeng) are typed out of the official Unicode sequence. This tool fixes the order automatically.

Related Khmer Tools

View all →