Odia

Oriya orthography notes

Updated 8 April, 2024

This page brings together basic information about the Odia (Oriya) script and its use for the Odia language. It aims to provide a brief, descriptive summary of the modern, printed orthography and typographic features, and to advise how to write Odia using Unicode.

Referencing this document

Richard Ishida, Odia (Oriya) Orthography Notes, 08-Apr-2024, https://r12a.github.io/scripts/orya/or

Sample

Select part of this sample text to show a list of characters, with links to more details.
Change size:   36px

ଭାରତୀୟ ମହାକାଶ ଗବେଷଣା ସଂସ୍ଥା ବା ଇସ୍ରୋ ହେଉଛି ଭାରତ ସରକାରଙ୍କ ପ୍ରମୁଖ ମହାକାଶ ପ୍ରାଧିକରଣ । ଏହା ପୃଥିବୀର ଛଅଟି ବଡ ସରକାରୀ ମହାକାଶ ପ୍ରାଧିକରଣ ମଧ୍ୟରୁ ଅନ୍ୟତମ ଯଥା ।

Source: Unicode UDHR, article 1

Usage & history

Origins of the Oriya script, 1051 – today.

Phoenician

└ Aramaic

└ Brahmi

└ Gupta

└ Siddham

└ Gaudi

└ Oriya

+ Bengali

+ Tirhuta

+ Nagari

+ Nepalese

The Oriya script is the official orthography used to write the Odia language of the Odisha (Orissa) state in India, as well as minority languages such as Khondi and Santali, and a number of Dravidian and Munda minority languages spoken in that region.u,487 It is also used in Orissa for transcribing Sanskrit texts.

ଓଡ଼ିଆ ଅକ୍ଷର

The Oriya script is a descendant of the Brahmi script, via Siddham. Earliest recorded instances of the script go back to the 11thC. The language was initially written in the Kalinga script, from which the Oriya script developed.

The rounded shapes of the letters, especially the top bar, are ascribed to the practise of writing on palm leaves, where rounded lines are less likely to split the leaf than straight ones.

A cursive version of the script, called Karani (କରଣୀ ଅକ୍ଷର), was used by scribes in the royal courts.

The language and script were previously referrred to in English as Oriya, but in 2011 India changed the spelling to Odia in the constitution.sl11

Sources Scriptsource and Wikipedia.

Basic features

The Odia script is an abugida. Consonants carry an inherent vowel which can be modified by appending vowel signs to the consonant. See the table to the right for a brief overview of features for the modern Odia orthography.

Odia runs left to right in horizontal lines. Words are separated by spaces.

❯ consonantSummary

The 36 consonant letters used for Odia include repertoire extensions for 2 sounds by applying the nukta diacritic to characters. There are 2 additional, newer characters used for w and v.

Consonant clusters are most commonly rendered usingsubjoined forms, usually for the second character, but sometimes for the initial. Certain clusters use fused forms, and a couple are conjoined. A visible virama is used for borrowed words. Initial RA is rendered as a reph over the top right of the following consonant.

Syllable-final consonant sounds may be represented by 2 dedicated combining marks (anusvara & visarga). Velar consonant cluster initials may be written either using a regular character or using anusvara.

❯ basicV

This orthography is an abugida with one inherent vowel, pronounced ɔ. Other post-consonant vowels are written using 9 combining marks (vowel signs). There is 1 pre-base form, and 3 circumgraphs.

In principle, there are no multipart vowels, however the 2 circumgraphs are decomposed into 2 parts each.

Vowels have short lengths only, although there are vestigial orthographic letters for long sounds that now represent alternatives for the short sounds.

Vowels may be nasalised, using the candrabindu diacritic.

Standalone vowels are written using 10 independent vowel letters. Additional symbols are used to express length and nasalisation.

There is a set of 4 vocalics, each with vowel sign and independent forms, but only one vocalic is used in modern Odia.

Odia has native digit shapes, but may also use ASCII digits.

Danda (from the Devanagari block) is used at the end of a sentence, and usually preceded by a space. Otherwise, most of the punctuation is ASCII.

Character index

Letters

Show

Basic consonants

ପ␣ବ␣ଫ␣ଭ␣ତ␣ଦ␣ଥ␣ଧ␣ଟ␣ଡ␣ଠ␣ଢ␣କ␣ଗ␣ଖ␣ଘ␣ଚ␣ଜ␣ଛ␣ଝ␣ଯ␣ସ␣ଷ␣ଶ␣ହ␣ମ␣ନ␣ଞ␣ଣ␣ଙ␣ର␣ଲ␣ଳ␣ୟ␣ୱ␣ଵ

Extended consonants

ଡ଼␣ଢ଼␣କ୍ଷ
ଡ଼␣ଢ଼

Vowels

ଇ␣ଈ␣ଉ␣ଊ␣ଏ␣ଓ␣ଅ␣ଆ␣ଐ␣ଔ

Vocalics

ଋ␣ୠ␣ଌ␣ୡ

Avagraha

Combining marks

Show

Vowels

ି␣ୀ␣ୁ␣ୂ␣େ␣ୋ␣ା␣ୈ␣ୌ
ୖ␣ୗ

Vocalics

ୄ␣ୢ␣ୣ

Bindu

ଂ␣ଁ

Nukta

Visarga

Virama

Numbers

Show
୦␣୧␣୨␣୩␣୪␣୫␣୬␣୭␣୮␣୯
୲␣୳␣୴␣୵␣୶␣୷

Punctuation

Show
।␣॥␣…␣‘␣’␣“␣”

ASCII

,␣;␣:␣.␣?␣!␣(␣)

Symbols

Show
ଓଁ

Other

Show
‌␣‍

To be investigated

%␣-␣[␣]␣§␣ʼ␣͏␣‑␣–␣—␣†␣‡␣′␣″
Items to show in lists

Phonology

The following represents the repertoire of the Odia language.

Click on the sounds to reveal locations in this document where they are mentioned.

Phones in a lighter colour are non-native or allophones. Source Wikipedia.

Vowel sounds

Plain vowels

i u e o ɔ a

Complex vowels

ɔi ɔu

Consonant sounds

labial dental alveolar post-
alveolar
retroflex palatal velar glottal
stops p b t d     ʈ ɖ   k ɡ  
aspirated     ʈʰ ɖʰ   ɡʰ  
affricates       t͡ʃ d͡ʒ        
aspirated       t͡ʃʰ d͡ʒʰ        
fricatives v   s         ɦ
nasals m   n   ɳ ɲ ŋ
approximants w   l   ɭ j  
trills/flaps     ɾ   ɽ
aspirated         ɽʰ

Alphabet

Click on the characters to find where they are mentioned in this page.

Descriptions of the Oriya alphabet vary. CLDR§ lists the following 'index' characters. Note the multipart letter at the end of the list.

ଅ␣ଆ␣ଇ␣ଈ␣ଉ␣ଊ␣ଋ␣ଏ␣ଐ␣ଓ␣ଔ␣ ␣କ␣ଖ␣ଗ␣ଘ␣ଙ␣ଚ␣ଛ␣ଜ␣ଝ␣ଞ␣ଟ␣ଠ␣ଡ␣ଢ␣ଣ␣ତ␣ଥ␣ଦ␣ଧ␣ନ␣ପ␣ଫ␣ବ␣ଭ␣ମ␣ଯ␣ର␣ଲ␣ଳ␣ଶ␣ଷ␣ସ␣ହ␣କ୍ଷ

Vowels

Vowel summary table

The following table summarises the main vowel to character assigments.

ⓘ represents the inherent vowel. Diacritics are added to the vowels to indicate nasalisation (not shown here).

Plain:
ି␣ୀ␣ୁ␣ୂ
ଇ␣ଈ␣ଉ␣ଊ
େ␣ୋ
ଏ␣ଓ
Dipthongs:
ୈ␣ୌ
ଐ␣ଔ

For additional details see vowel_mappings.

This is the full set of characters needed to represent the vowels of the Odia language.

ଅ␣ଆ␣ଇ␣ଈ␣ଉ␣ଊ␣ଏ␣ଐ␣ଓ␣ଔ
ଁ␣ା␣ି␣ୀ␣ୁ␣ୂ␣େ␣ୈ␣ୋ␣ୌ

Inherent vowel

U+0B15 ORIYA LETTER KA

ɔ following a consonant is not written, but is seen as an inherent part of the consonant letter, so is written by simply using the consonant letter. This vowel sound is transcribed as a.d

Vowels after consonants

Post-consonant vowels are written using 9 combining marks (vowel signs). There is 1 pre-base form, and 3 circumgraphs.

In principle, there are no multipart vowels, however the 2 circumgraphs are decomposed into 2 parts each.

Vowels have short lengths only, although there are vestigial orthographic letters for long sounds that now represent alternatives for the short sounds.

Vowels may be nasalised, using the candrabindu diacritic.

Vowel signs

କି ki U+0B15 ORIYA LETTER KA + U+0B3F ORIYA VOWEL SIGN I

Odia uses the following dedicated combining marks for vowels.

ି␣ୀ␣ୁ␣ୂ␣େ␣ୋ␣ା␣ ␣ୈ␣ୌ

The 'primary' vowels have 'short' and 'long' written forms that hark back to the earlier Indic script origins, but modern Odia phonetics don't distinguish between long and short vowel sounds.

Six vowel signs are spacing marks, meaning that they consume horizontal space when added to a base consonant.

All vowel signs are stored after the base consonant, and the rendering process puts them in the correct place for display. This also applies for the pre-base vowel sign, and the 3 circumgraphs (where a single code point produces glyphs on more than one side of the consonant base).

An orthography that uses vowel signs is different from one that uses simple diacritics or letters for vowels in that the vowel signs are generally attached to the orthographic syllable, rather than just applied to the letter of the immediately preceding consonant. This means that pre-base vowel signs and the left glyph of circumgraphs appear before a whole consonant cluster if the cluster is rendered as a conjunct (see prebase_vowels).

See also the 2 lengthening marks, which may occur in decomposed text.

Other symbols used for vowels

The following 'lengthening marks' may be used to create vowel sounds as part of a decomposed circumgraph, although the Unicode Standard recommends the use of the precomposed forms.

ୖ␣ୗ

See vs_encoding for more details.

In Sanskrit, 0B3D can be used to show vowel elongation,ws

Multipart vowels

The only multipart vowels occur when the circumgraphs are encoded as pairs of characters (see otherV and vs_encoding).

Pre-base vowel sign

କେ ke U+0B15 ORIYA LETTER KA + U+0B47: ORIYA VOWEL SIGN E

The sound e is written using 0B47, which appears to the left of the base consonant letter or cluster.

This is a combining mark that is always stored after the base consonant. The rendering process places the glyph before the base consonant.

The combination କେ [U+0B15 ORIYA LETTER KA + U+0B47 ORIYA VOWEL SIGN E] produces a pre-base positioned glyph.

When an orthographic syllable begins with a consonant cluster that is rendered as a conjunct, the vowel sign is rendered before the start of the cluster, eg. fig_prebase shows 3 sets of consonant clusters, each followed by e when spoken, but the vowel sign appears to the left of each cluster.

ଜ୍ଲେ ଛ୍ଯେ ଜ୍ଞେ
Three examples of a prebase vowel, pronounced after a consonant cluster, but rendered to the left of the conjunct.

Circumgraphs

କୋ ke U+0B15 ORIYA LETTER KA + U+0B4B: ORIYA VOWEL SIGN O

ୋ␣ ␣ୈ␣ୌ

Three vowels are produced by a single combining character with visually separate parts, that appear on different sides of the consonant onset.

ସ୍ତ୍ରୈଣ
A circumgraph vowel: a single code point with glyphs on two sides of the consonant cluster after which it is pronounced.
show composition

ସ୍ତ୍ରୈଣ

All 3 of these circumgraphs can be written as a single character, or as two. See vs_encoding.

Vowel length

Oriya doesn't mark vowel length.

Nasalisation

Vowels may be nasalised using or .

ମୁଁହ
used to nasalise the u sound.
show composition

ମୁଁହ

Where 2 vowels appear together, the nasalisation sign is rendered above the second, eg. ଜ୍ୱାଇଁ

Standalone vowels

Odia represents standalone vowels using a set of independent vowel letters. The set includes a character to represent the inherent vowel sound, ɔ.

ଇ␣ଈ␣ଉ␣ଊ␣ଏ␣ଓ␣ଅ␣ଆ␣ ␣ଐ␣ଔ

Consonants with no following vowel

Odia uses  0B4D, called halant, (the Odia equivalent of the Sanskrit virama) to indicate that the inherent vowel is not pronounced after a consonant, eg. the following explicitly represents just the sound k.କ୍

Word-final consonants without a following inherent vowel use the halant, If there is no halant, the vowel is pronounced, eg. compare ଫୁଲ ଇ-ମେଲ୍

Consonant clusters also use this character, but if the cluster forms a conjunct then the virama is not rendered visibly (see clusters).

Vowel sounds to characters

This section maps Odia vowel sounds to common graphemes in the Oriya orthography.

The left column shows dependent vowels, and the right column independent vowel letters.

Click on a grapheme to find other mentions on this page (links appear at the bottom of the page). Click on the character name to see examples and for detailed descriptions of the character(s) shown.

Plain vowels

i
 

0B3F
କିପରି

0B40
ନାରୀ

0B07
ଇଟା

0B08
ଗାଈ

u
 

0B41
କୁହୁଡ଼ି

0B42
ମୂଳ

0B09
ଉଟ

0B0A
ଊତ୍ତୋଳନ

e
 

0B47
ମେଘ

0B0F
ଏଗାର

o
 

0B4B
ପୋଲ

0B13
ଓଡ଼ିଆ

ɔ
 

Inherent vowel.

0B05
ଅଣ୍ଡା

a
 

0B3E
ନାରୀ

0B06
ଆଠ

Diphthongs and other combinations

ɔi
 

0B48
ସ୍ତ୍ରୈଣ

0B10
ଐରାଵତ

ɔu
 

0B4C
ଚୌଦ

0B14
ଔଷଧ

Nasalisation

̃
 

ମୁଁହ

ସିଂହ

Vocalics

Only one vocalic is regularly used, in vowel sign form, in modern Odia.

କୃମି
A vocalic vowel sign.
show composition

କୃମି

Other vocalics exist in the script, in independent and vowel sign forms, but are used for Sanskrit transcriptions.

ଋ␣ୠ␣ୄ␣ଌ␣ୢ␣ୡ␣ୣ

Consonants

Consonant summary table

The following table summarises the main consonant to character assignments.

Onsets
ପ␣ବ␣ତ␣ଦ␣ଟ␣ଡ␣କ␣ଗ
ଫ␣ଭ␣ଥ␣ଧ␣ଠ␣ଢ␣ଖ␣ଘ
ଚ␣ଜ␣ଯ␣ ␣ଛ␣ଝ
ସ␣ଷ␣ଶ␣ହ
ମ␣ନ␣ଞ␣ଣ␣ଙ
ୱ␣ଵ␣ର␣ଡ଼␣ଢ଼␣ଲ␣ଳ␣ୟ
Finals
ଂ␣ଃ

For additional details see vowel_mappings.

Basic consonants

Whereas the table just above takes you from sounds to letters, the following simply lists the basic consonant letters (however, since the orthography is highly phonetic there is little difference in ordering).

ପ␣ବ␣ଫ␣ଭ␣ତ␣ଦ␣ଥ␣ଧ␣ଟ␣ଡ␣ଠ␣ଢ␣କ␣ଗ␣ଖ␣ଘ␣ ␣ଚ␣ଛ␣ଜ␣ଝ␣ଯ␣ ␣ସ␣ଷ␣ଶ␣ହ␣ ␣ମ␣ନ␣ଞ␣ଣ␣ଙ␣ ␣ୱ␣ଵ␣ର␣ଲ␣ଳ␣ୟ

The velar and palatal nasals only occur in homorganic clusters.d,406

କ୍ଷ is regarded as a letter of the alphabet.

wa and va

The letters 0B71 and 0B35 were added to Unicode version 4.

The subjoined forms of 0B71 and 0B2C may look the same. For a discussion of the possible historical relationship between these characters see Everson/Stonee02.

Observation: The Library of Congress transcription page says that when [U+0B2C ORIYA LETTER BA] occurs as the second consonant of a consonant cluster (except when geminated), it is transliterated vloc. It appears, however, that it also keeps the b sound after the letters m and r.

0B35 is described by Wiktionary as "used sporadically for the phonetic Va/Wa as an alternative for the officially recognised letter ୱ, but has not gained widespread acceptance".

Repertoire extension using nukta

The sounds ɽ and ɽʰ are written by combining 0B3C with an existing consonant.

ଡ଼␣ଢ଼

The nukta should always be typed and stored immediately after the consonant it modifies, and before any combining vowels or diacritics.

Unicode also has precomposed forms of these letters, but they decompose under Unicode Normalisation Form C (NFC). Therefore, the Unicode Standard recommends the use of the decomposed sequence.

ଡ଼␣ଢ଼

The nukta may also be used to produce other non-native sounds. Wiktionary describes the following:

Onsets

Clusters of consonant letters at the beginning of an orthographic syllable occur in Odia, and they are handled as described in the section clusters.

Special behaviours include handling of RA at the beginning of an orthographic syllable (see rconjuncts).

Finals

ଂ␣ଃ

A syllable-final nasal sound can be written using 0B02, eg. ଜଂତୁ ଜଂଗଲ ଏବଂ

It is optional whether the nasal sound is written using anusvara or by using a conjunct. fig_anusvara shows two ways of writing ଅଂକ.u,488

ଅଙ୍କ	ଅଂକ
The sound ɔŋkɔ written using a conjunct (top) and using anusvara followed by KA (bottom).

A word-final h consonant can also be written using 0B03.n,54 (In the middle of a word, it creates a geminated consonant.)

Observation: According to Wikipedia, that sound is a h, but according to Nakanishi it is a glottal stop.

Consonant clusters

The absence of a vowel sound between two or more consonants is visually indicated in one of the following ways.

  1. Create a conjunct. There are a number of possibilities here:
    1. Stacking : Reduce a non-initial consonant in size and shape and position it below the first.
    2. Conjoining : The two consonants sit side by side, but the second consonant has a special shape.
    3. Ligation : Create a fusion of the letter shapes, where it may be difficult to identify one or more of the components.
    4. The letter RA has its own idiosyncratic way of combining with other consonants, whether it precedes or follows them.
  2. Show a visible virama below the non-final consonants in the cluster.
  3. Use the anusvara.

See also finals and clength.

Conjunct formation

See a table of 2-consonant clusters.
The table allows you to test results for various fonts.

In Unicode, conjunct formation is achieved by adding   0B4D between the consonants. The font hides the virama glyph automatically when a conjunct is formed.

Stacking

The overwhelming majority of conjuncts in Odia are achieved by subjoining a reduced form of the non-initial consonant below the initial.

ହନ→ହ୍ନ
ɦnɔ
ଳପ→ଳ୍ପ
ɭpɔ
କକ→କ୍କ
kkɔ
Examples of stacked conjuncts.

In most cases the non-initial consonant is just reduced in size, but in some cases the shape is changed, either by removing the circular top line, or in a more fundamental way.

କତ→କ୍ତ
ktɔ
କଢ→କ୍ଢ
kɖɔ
Stacked conjuncts where the subjoined shape is significantly different from the normal shape.

However, when TA is the initial consonant, it is sometimes the initial that is reduced and subjoined. In other combinations, however, it retains its full form.

ତନ→ତ୍ନ
tkɔ
ତନ→ତ୍ନ
tnɔ
Stacked conjuncts with an initial TA. The TA may be subjoined in some combinations.

RA in clusters

A trailing RA has a fairly regular appearance as a subjoined glyph below the preceding consonant, although that line may join with the preceding letter shape, and therefore cause a slight change to it.

କର→କ୍ର
krɔ
A trailing RA in a cluster is rendered as a subjoined glyph.

However, like many other Indian scripts, 0B30 at the beginning of a cluster is represented idiosyncratically, and appears as a small, superscript glyph over the top right of the following consonant.

ରକ→ର୍କ
rkɔ
An initial RA in a cluster is rendered as a superscript over the following consonant.

Observation: Unlike Devanagari, it appears that the RA doesn't move over a following vowel sign, such as [U+0B3E ORIYA VOWEL SIGN AA].

Ligated forms

Certain combinations of consonants form conjuncts by producing a merged glyph one or both of the original letters may be unrecognisable.

ଜଞ→ଜ୍ଞ
d͡ʒɲɔ
ତତ→ତ୍ତ
ttɔ
କଷ→କ୍ଷ
kʰjɔ
Clusters that fuse into forms different from their original component shapes.

The following is a list of combinations that produce such an effect. Click on the items to see the component letters.

କ୍ଷ␣ତ୍ତ␣ଦ୍ଧ␣ଦ୍ଭ␣ଙ୍କ␣ଙ୍ଖ␣ଙ୍ଗ␣ଙ୍ଘ␣ଜ୍ଞ␣ଟ୍ଟ␣ତ୍ତ␣ଦ୍ଭ␣ଦ୍ଦ␣ଦ୍ଧ␣ଧ୍ଯ␣ଧ୍ୟ␣ନ୍ଧ␣ନ୍ଦ␣ବ୍ଦ␣ବ୍ବ␣ମ୍ପ␣ମ୍ଫ␣ମ୍ଭ

Conjoined consonants or a visible halanta

Three letters in particular tend not to stack, but sit alongside the initial consonant in the cluster.

ତଯ→ତ୍ଯ
td͡ʒɔ
ତୟ→ତ୍ୟ
tjɔ
Conjoined letters for the clusters , and tj, respectively (top to bottom).

As can be seen above, the conjoined forms for ʤ and j are identical.

The letter NYA also sits alongside the cluster initial, but the halanta may be shown below the initial letter.

ତଞ→ତ୍ଞ
tɲɔ
A consonant cluster that shows a visible virama, rather than creating a conjunct.

Observation: Noto, Nirmala, and Kangila fonts all show the halanta below the initial consonant in the first example at fig_conjoined, but Oriya MN and Oriya Sangam MN fonts don't show it.

The halanta is also left showing for borrowed words.d,404 The halanta can be made visible by following it with 200C.

Triple-consonant clusters

Oriya has a number of clusters involving 3 consonants. For example, the following words contain triple-consonant clusters. As always, click on the example to see the composition. ପୂର୍ଣ୍ଣ ତୀକ୍ଷ୍ଣ ଚନ୍ଦ୍ର

Consonant length

Geminated consonants in the middle of a word can be written using 0B03,n,54 eg. ଦୁଃଖ

Consonant sounds to characters

This section maps Odia consonant sounds to common graphemes in the Oriya orthography. Sounds listed as 'infrequent' are allophones, or sounds used for foreign words, etc.

Click on a grapheme to find other mentions on this page (links appear at the bottom of the page). Click on the character name to see examples and for detailed descriptions of the character(s) shown.

p
 

ପଦ୍ମ

 

ଫଳ

b
 

ବିଭ୍ରାଟ

 

ଭିଜା

t
 

ତିନି

 

ଥଣ୍ଡା

t͡ʃ
 

ଚଟିଆ

t͡ʃʰ
 

ଛଅ

d
 

ଦୁଇ

 

ଧୂଳି

d͡ʒ
 

ଜହ୍ନ

ଯକୃତ

d͡ʒʰ
 

ଝାଡୁ

ʈ
 

ଟାପୁ

ʈʰ
 

ଠିକ

ɖ
 

ଡାଲମା

ɖʰ
 

ପଢିବା

k
 

କାନ

 

ଖାଇବା

kʰj
 

କ୍ଷ

ଅକ୍ଷର

ɡ
 

ଗାଈ

ɡʰ
 

ଘର

q
 

କ଼ Used for loan words.

s
 

ସାପ

ତୁଷାର

ଶାର୍ଟ

ʒ
 

ଝ଼ Used for loan words.

x
 

ଖ଼ Used for loan words.

h
 

when word-final.

ɦ
 

ହସିବା

m
 

ମହିଳା

n
 

ନଦୀ

ɲ
 

ପାଞ୍ଚ

ɳ
 

କାରଣ

ŋ
 

ରଙ୍ଗ

w
 

ଦ୍ୱାର

ʋ
 

ଵିଷ୍ଣୁ

r
 

ରସି

ru
 

କୃମି

ଋତୁ

ɽ
 

ଡ଼

ଓଡ଼ିଆ

ɽʰ
 

ଢ଼

ଦାଢ଼ି

ɻ
 

ଷ଼ Used for loan words.

l
 

ଲାଲ

ɭ
 

ମୂଳ

j
 

ବାୟୁ

Symbols

Deceased honorific.0B70 is used before the name of a deceased person.

Om.The symbol for the word Om is produced using 0B13 0B01. It also occurs as a ligated form. If the font doesn't produce the ligated form automatically, the font may produce it if 200D is inserted between the two characters.

ଓଁ	ଓ‍ଁ
A non-ligated combination of O+CANDRABINDU (left) and a ligated form using ZERO WIDTH JOINER (right)..

Encoding choices

Visually, several of the standalone vowels and some vowel signs look as if they could be composed of smaller parts. This section compares approaches and considers the relevance of Unicode Normalisation Form D (NFD) and Unicode Normalisation Form C (NFC) to give guidance on which approach is best.

Encoding vowel-signs

The three circumgraphs can be written as a single character, or as two characters. In 2 of those cases, the second character is a lengthening mark.

Precomposed Decomposed
0B4B 0B47 0B3E
0B48 0B47 0B56
0B4C 0B47 0B57

The single code point per vowel sign is preferred, however the parts are separated in Unicode Normalisation Form D (NFD), and recomposed in Unicode Normalisation Form C (NFC), so both approaches are canonically equivalent.

Whichever approach is used, the vowel signs must be typed and stored after the consonant characters they surround, and in left to right order.

Independent vowels

The approach listed in the table below is not equivalent when the text is normalised, and therefore only the precomposed approach in the left column should be used.u,487

Use Do not use
0B06 0B05 0B3E
0B10 0B0F 0B57
0B14 0B13 0B57

In addition to the problem previously mentioned, combinations on rows 2 and 3 don't have the joining bar and so won't display correctly.

Numbers

Digits

Odia has its own set of native digits.

୧␣୨␣୩␣୪␣୫␣୬␣୭␣୮␣୯␣୦

The CLDR standard-decimal pattern is #,##,##0.###. The standard-percent pattern is #,##,##0%.c

ASCII digits may also be used.msg

Fractions

Odia also has a number of pre-decimal characters representing fractions.

୲␣୳␣୴␣୵␣୶␣୷

These are used additively, with larger values appearing before smaller, eg. 0B73 0B75 represents the value 5/16.u,490

Text direction

Odia text runs left to right in horizontal lines.

Show default bidi_class properties for characters in the Odia orthography described here.

Glyph shaping & positioning

You can experiment with examples using the Odia character app.

Context-based shaping & positioning

Odia text relies on OpenType rules to correctly position glyphs and shape them according to the surrounding text.

One major area where this applies is in the use of conjunct forms for consonant clusters.

ସୂର୍ଯ୍ୟ
The 3 glyphs highlighted on the right are conjunct forms in the word ସୂର୍ଯ୍ୟ.
show composition

ସୂର୍ଯ୍ୟ

See a table of 2-consonant clusters for Oriya.

The following is a selection of other examples of contextual shaping and positioning.

Positioning u in clusters. When a below-base vowel sign occurs with a cluster with a conjoined form it is attached to the larger glyph, rather than to the consonant it actually follows in memory and speech, eg.

ମୃତ୍ୟୁ
The arrow points from where the sound u is pronounced to the position the vowel sign is displayed in the word ମୃତ୍ୟୁ.
show composition

ମୃତ୍ୟୁ

Position & shape of i. After a certain consonant glyphs, in some fonts, the vowel sign for i appears in a different position and with a different shape. The first example in the table below shows the typical shape.

  Composition Example
ସି 0B38 0B3F ପ୍ରସିଦ୍ଧି
ସ୍ଥି 0B38 0B4D 0B25 0B3F ଅସ୍ଥି
ଥି 0B25 0B3F ପୃଥିବୀ

Other glyph variants. Nakanishi lists a number of alternative shapes for glyphs.

Description of glyph variants from Nakanishi, p54.

Explicit shaping controls

200C (ZWNJ) can be used to force the production of a visible virama, rather than a conjunct form.

200D (ZWJ) is used to produce a ligated version of OM (see symbols).

Typographic units

Word boundaries

Words are separated by spaces.

Hyphens may be used to separate parts of a compound word,msg,40 eg. ଡ୍ରପ୍-ଡାଉନ୍

Graphemes

Grapheme clusters

Usually a typographic character unit correlates with the Unicode concept of grapheme clusters, but not in the case of conjuncts (in common with several other Indic scripts).

Conjuncts

Conjuncts and any dependent combining characters should never be split.

This creates a problem when dealing with Unicode grapheme clusters, because they stop after reaching a virama. So conjuncts usually contain multiple grapheme clusters. This produces incorrect segmentation as seen on the right in fig_grapheme_conjunct. Applications need to tailor the grapheme cluster rules to avoid splitting conjuncts.

ସାଙ୍ଗେ   ସାଙ୍‌ଗେ
Segmentation of the word ସାଙ୍ଗେ as it should be (left), and how it would be if grapheme clusters are used as the maximal unit (right).
show composition

ସାଙ୍ଗେ

Unfortunately, this is harder than it seems, because whether a conjunct is formed or not usually depends on the capabilities of the font – it cannot be determined solely by looking at the code points in memory. If a font doesn't contain the glyphs to create a conjunct it will render the consonant cluster with a visible virama. In that case, the grapheme cluster approach is appropriate.

Punctuation & inline features

Phrase & section boundaries

,␣;␣:␣.␣?␣!␣।␣॥

Odia uses a combination of ASCII and native punctuation.

phrase

002C

003B

003A

sentence

002E

003F

0021

0964

section

0965

0964 and 0965 are from the Unicode Devanagari block. Odia uses a space before these punctuation marks, which avoids confusion with 0B3E, eg.

… ଲୋପ ପାଇଗଲା ।

Bracketed text

(␣)

Odia commonly uses ASCII parentheses to insert parenthetical information into text.

  start end
standard

0028

0029

0028 and 0029 are used for parentheses.msg

Quotations & citations

“␣”␣‘␣’

Odia texts typically use quotation marks around quotations. Of course, due to keyboard design, quotations may also be surrounded by ASCII double and single quote marks.

  start end
initial

201C

201D
nested

2018

2019

Single quotation marks are used for quotations within quotations.

Abbreviation, ellipsis & repetition

Abbreviations

Odia abbreviations use a period after the first syllable, but sometimes include more than one syllable,msg,45 eg. ବଶେଷ୍ୟ → ବ. ଉଦାହରଣ → ଉ.ଦା.

Ellipsis

Odia uses 2026 for ellipsis,msg,40 eg. ଆଇକନ୍ ପରିବର୍ତ୍ତନ କରନ୍ତୁ…

In Sanskrit, 0B3D is used to indicate elision,ws eg. ଦ୍ୱିତୀୟୋଽଧ୍ୟାୟଃ

Other inline features

Other punctuation

CLDR lists the following non-ASCII punctuation marks for Odia.

‐␣‑␣–␣—␣†␣‡␣′␣″

Line & paragraph layout

Line breaking & hyphenation

Lines are mostly broken at inter-word spaces.

Like most writing systems, certain characters are expected not to start or end a line. For example, periods and commas shouldn't start a line, and opening parentheses shouldn't end a line.

Show (default) line-breaking properties for characters in the modern Odia orthography.

Baselines, line height, etc.

tbd

Odia uses the so-called 'alphabetic' baseline, which is the same as for Latin and many other scripts.

Counters, lists, etc.

You can experiment with counter styles using the Counter styles converter. Patterns for using these styles in CSS can be found in Ready-made Counter Styles, and we use the names of those patterns here to refer to the various styles.

The oriya numeric style is decimal-based and uses these digits.rmcs

୦␣୧␣୨␣୩␣୪␣୫␣୬␣୭␣୮␣୯

Examples:

୧␣୨␣୩␣୪␣୧୧␣୨୨␣୩୩␣୪୪␣୧୧୧␣୨୨୨␣୩୩୩␣୪୪୪

Page & book layout

References