Updated 11 November, 2023
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.
Richard Ishida, Odia (Oriya) Orthography Notes, 11-Nov-2023, https://r12a.github.io/scripts/orya/or
ଭାରତୀୟ ମହାକାଶ ଗବେଷଣା ସଂସ୍ଥା ବା ଇସ୍ରୋ ହେଉଛି ଭାରତ ସରକାରଙ୍କ ପ୍ରମୁଖ ମହାକାଶ ପ୍ରାଧିକରଣ । ଏହା ପୃଥିବୀର ଛଅଟି ବଡ ସରକାରୀ ମହାକାଶ ପ୍ରାଧିକରଣ ମଧ୍ୟରୁ ଅନ୍ୟତମ ଯଥା ।
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.
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.
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. ❯ consonants
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. ❯ clusters
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. ❯ finals
Odia consonants have an inherent vowel sound. Other, non-inherent vowel sounds following a consonant are written using vowel signs and other symbols.
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. ❯ vowels
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.
Standalone vowels are written using 10 independent vowel letters. Additional symbols are used to express length and nasalisation. ❯ standalone
There is a set of 4 vocalics, each with vowel sign and independent forms, but only one vocalic is used in modern Odia. ❯ vocalics
Vowels may be nasalised, using the candrabindu diacritic. ❯ nasalisation
Odia has native digit shapes, but may also use ASCII digits. ❯ numbers
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. ❯ phrase
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.
|stops||p b||t d||ʈ ɖ||k ɡ|
|aspirated||pʰ bʰ||tʰ dʰ||ʈʰ ɖʰ||kʰ ɡʰ|
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.
Diacritics are added to the vowels to indicate nasalisation (not shown here). ⓘ indicates the inherent vowel.
For additional details see vowel_mappings.
କ kɔ U+0B15 ORIYA LETTER KA
ɔ following a consonant is not written, but is seen as an inherent part of the consonant letter, so kɔ is written by simply using the consonant letter. This vowel sound is transcribed as a.d
କି 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.
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, ଽ [U+0B3D ORIYA SIGN AVAGRAHA] can be used to show vowel elongation,ws
The only multipart vowels occur when the circumgraphs are encoded as pairs of characters (see otherV and vs_encoding).
Odia represents standalone vowels using a set of independent vowel letters. The set includes a character to represent the inherent vowel sound, ɔ.
କେ ke U+0B15 ORIYA LETTER KA + U+0B47: ORIYA VOWEL SIGN E
The sound e is written using େ [U+0B47 ORIYA VOWEL SIGN E], 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.
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.
କୋ 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.
All 3 of these circumgraphs can be written as a single character, or as two. See vs_encoding.
Oriya doesn't mark vowel length.
Vowels may be nasalised using ଁ [U+0B01 ORIYA SIGN CANDRABINDU].
Where 2 vowels appear together, the nasalisation sign is rendered above the second, eg. ଜ୍ୱାଇଁ
Odia is not a tonal language.
This section maps Odia vowel sounds to common graphemes in the Odia orthography, grouped according to whether they appear in a vowel sign (vs) , or as a standalone vowel (s). 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.
Only one vocalic is regularly used, in vowel sign form, in modern Odia.
Other vocalics exist in the script, in independent and vowel sign forms, but are used for Sanskrit transcriptions.
For additional details see vowel_mappings.
The velar and palatal nasals only occur in homorganic clusters.d,406
କ୍ଷ [U+0B15 ORIYA LETTER KA + U+0B4D ORIYA SIGN VIRAMA + U+0B37 ORIYA LETTER SSA] is regarded as a letter of the alphabet.
The letters ୱ [U+0B71 ORIYA LETTER WA] and ଵ [U+0B35 ORIYA LETTER VA] were added to Unicode version 4.
The subjoined forms of ୱ [U+0B71 ORIYA LETTER WA] and ବ [U+0B2C ORIYA LETTER BA] 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.
ଵ [U+0B35 ORIYA LETTER VA] 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".
The sounds ɽ and ɽʰ are written by combining ଼ [U+0B3C ORIYA SIGN NUKTA] 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:
Odia uses ୍ [U+0B4D ORIYA SIGN VIRAMA], 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.କ୍ 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).
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).
A syllable-final nasal sound can be written using ଂ [U+0B02 ORIYA SIGN ANUSVARA], 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
A word-final h consonant can also be written using ଃ [U+0B03 ORIYA SIGN VISARGA].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.
The absence of a vowel sound between two or more consonants is visually indicated in one of the following ways.
See also finals and clength.
In Unicode, conjunct formation is achieved by adding ୍ [U+0B4D ORIYA SIGN VIRAMA] between the consonants. The font hides the virama glyph automatically when a conjunct is formed.
The overwhelming majority of conjuncts in Odia are achieved by subjoining a reduced form of the non-initial consonant below the initial.
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.
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.
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.
However, like many other Indian scripts, ର [U+0B30 ORIYA LETTER RA] at the beginning of a cluster is represented idiosyncratically, and appears as a small, superscript glyph over the top right of 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].
Certain combinations of consonants form conjuncts by producing a merged glyph one or both of the original letters may be unrecognisable.
The following is a list of combinations that produce such an effect. Click on the items to see the component letters.
Three letters in particular tend not to stack, but sit alongside the initial consonant in the cluster.
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.
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 U+200C ZERO WIDTH NON-JOINER]. [
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. ପୂର୍ଣ୍ଣ ତୀକ୍ଷ୍ଣ ଚନ୍ଦ୍ର
Geminated consonants in the middle of a word can be written using ଃ [U+0B03 ORIYA SIGN VISARGA],n,54 eg. ଦୁଃଖ
This section maps Odia consonant sounds to common graphemes in the Odia orthography. 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.
Deceased honorific.୰ [U+0B70 ORIYA ISSHAR] is used before the name of a deceased person.
Om.The symbol for the word Om is produced using ଓଁ [U+0B13 ORIYA LETTER O + U+0B01 ORIYA SIGN CANDRABINDU]. It also occurs as a ligated form. If the font doesn't produce the ligated form automatically, the font may produce it if U+200D ZERO WIDTH JOINER] is inserted between the two characters. [
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.
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.
|ୋ [U+0B4B ORIYA VOWEL SIGN O]||ୋ [U+0B47 ORIYA VOWEL SIGN E + U+0B3E ORIYA VOWEL SIGN AA]|
|ୈ [U+0B48 ORIYA VOWEL SIGN AI]||ୈ [U+0B47 ORIYA VOWEL SIGN E + U+0B56 ORIYA AI LENGTH MARK]|
|ୌ [U+0B4C ORIYA VOWEL SIGN AU]||ୌ [U+0B47 ORIYA VOWEL SIGN E + U+0B57 ORIYA AU LENGTH MARK]|
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.
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|
|ଆ [U+0B06 ORIYA LETTER AA]||ଅା [U+0B05 ORIYA LETTER A + U+0B3E ORIYA VOWEL SIGN AA]|
|ଐ [U+0B10 ORIYA LETTER AI]||ଏୗ [U+0B0F ORIYA LETTER E + U+0B57 ORIYA AU LENGTH MARK]|
|ଔ [U+0B14 ORIYA LETTER AU]||ଓୗ [U+0B13 ORIYA LETTER O + U+0B57 ORIYA AU LENGTH MARK]|
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.
Odia has its own set of native digits.
The CLDR standard-decimal pattern is
#,##,##0.###. The standard-percent pattern is
ASCII digits may also be used.msg
Odia also has a number of pre-decimal characters representing fractions.
These are used additively, with larger values appearing before smaller, eg. ୳୵ [U+0B73 ORIYA FRACTION ONE HALF + U+0B75 ORIYA FRACTION ONE SIXTEENTH] represents the value 5/16.u,490
Odia text runs left to right in horizontal lines.
bidi_class properties for characters in the Odia orthography described here.
This section brings together information about the following topics: writing styles; cursive text; context-based shaping; context-based positioning; baselines, line height, etc.; font styles; case & other character transforms.
You can experiment with examples using the Odia character app.
Odia text is not cursive (ie. joined up like Arabic).
The orthography has no case distinction, and no special transforms are needed to convert between characters.
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.
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.
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.
|ସି||ସ + ି [U+0B38 ORIYA LETTER SA + U+0B3F ORIYA VOWEL SIGN I]||ପ୍ରସିଦ୍ଧି|
|ସ୍ଥି||ସ + ୍ + ଥ + ି [U+0B38 ORIYA LETTER SA + U+0B4D ORIYA SIGN VIRAMA + U+0B25 ORIYA LETTER THA + U+0B3F ORIYA VOWEL SIGN I]||ଅସ୍ଥି|
|ଥି||ଥ + ି [U+0B25 ORIYA LETTER THA + U+0B3F ORIYA VOWEL SIGN I]||ପୃଥିବୀ|
Other glyph variants. Nakanishi lists a number of alternative shapes for glyphs.
U+200C ZERO WIDTH NON-JOINER] ( [ZWNJ) can be used to force the production of a visible virama, rather than a conjunct form.
U+200D ZERO WIDTH JOINER] ( [ZWJ) is used to produce a ligated version of OM (see symbols).
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 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.
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.
Words are separated by spaces.
Hyphens may be used to separate parts of a compound word,msg,40 eg. ଡ୍ରପ୍-ଡାଉନ୍
Odia uses a combination of ASCII and native punctuation.
, [U+002C COMMA]
; [U+003B SEMICOLON]
: [U+003A COLON]
. [U+002E FULL STOP]। [U+0964 DEVANAGARI DANDA]
|section||॥ [U+0965 DEVANAGARI DOUBLE DANDA]|
। [U+0964 DEVANAGARI DANDA] and ॥ [U+0965 DEVANAGARI DOUBLE DANDA] are from the Unicode Devanagari block. Odia uses a space before these punctuation marks, which avoids confusion with ା [U+0B3E ORIYA VOWEL SIGN AA], eg. … ଲୋପ ପାଇଗଲା ।
Odia commonly uses ASCII parentheses to insert parenthetical information into text.
( [U+0028 LEFT PARENTHESIS] and ) [U+0029 RIGHT PARENTHESIS] are used for parentheses.msg
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.
|initial||” [U+201D RIGHT DOUBLE QUOTATION MARK]|
|nested||’ [U+2019 RIGHT SINGLE QUOTATION MARK]|
Single quotation marks are used for quotations within quotations.
Odia abbreviations use a period after the first syllable, but sometimes include more than one syllable,msg,45 eg. ବଶେଷ୍ୟ → ବ. ଉଦାହରଣ → ଉ.ଦା.
Odia uses … [U+2026 HORIZONTAL ELLIPSIS] for ellipsis,msg,40 eg. ଆଇକନ୍ ପରିବର୍ତ୍ତନ କରନ୍ତୁ…
In Sanskrit, ଽ [U+0B3D ORIYA SIGN AVAGRAHA] is used to indicate elision,ws eg. ଦ୍ୱିତୀୟୋଽଧ୍ୟାୟଃ
CLDR lists the following non-ASCII punctuation marks for Odia.
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.
This section looks at ways in which spacing is applied between characters over and above that which is introduced during justification.
Odia uses the so-called 'alphabetic' baseline, which is the same as for Latin and many other scripts.
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
This section is for any features that are specific to Odia and that relate to the following topics: general page layout & progression; grids & tables; notes, footnotes, etc; forms & user interaction; page numbering, running headers, etc.