/* */ var charDetails = { // MAIN BLOCK '\u{201C}': `

Quotation mark.

`, '\u{201D}': `

Quotation mark.

`, '\u{2039}': `

Quotation mark.

`, '\u{203A}': `

Quotation mark.

`, '\u{3001}': `

Used for lists.

Secondary comma.

`, '\u{3002}': `

Full stop.

`, '\u{1E6C0}': `

𞛀

k low class consonant.

๐ž›€๐ž›ฎ

๐ž››๐ž› ๐ž›€

`, '\u{1E6C1}': `

𞛁

ษก high class consonant.

๐ž›๐ž›ข๐ž›

๐ž›

`, '\u{1E6C2}': `

𞛂

kสฐ low class consonant.

๐ž›‚๐ž›ฆ

`, '\u{1E6C3}': `

𞛃

Infrequent.

kสฐ high class consonant.

This is a recent addition to the alphabet, and is quite rare, since it is not used in a religious context.

`, '\u{1E6C4}': `

𞛄

Used for non-native sounds in Vietnamese loan words.

ษฃ consonant.

๐ž›„๐ž›ฅ

๐ž›„๐ž› 

`, '\u{1E6C5}': `

𞛅

ล‹ consonant.

๐ž›…๐ž›ฎ๐ž›ฉ๐ž›

๐ž›‡๐ž›ฌ๐ž›…

`, '\u{1E6C6}': `

𞛆

c consonant.

๐ž›†๐ž›ฉ

`, '\u{1E6C7}': `

𞛇

s low class consonant.

๐ž›‡๐ž›ฌ๐ž›…

`, '\u{1E6C8}': `

𞛈

s high class consonant in Tai words (rare).

๐ž›ˆ๐ž› ๐ž›‰

z in Vietnamese loans.

๐ž›ˆ๐ž›ง๐ž›…

`, '\u{1E6C9}': `

𞛉

ษฒ low class consonant.

๐ž›‰๐ž› 

-j low class consonant.

๐ž›ˆ๐ž› ๐ž›‰

`, '\u{1E6CA}': `

𞛊

ษฒiห nominally a high class consonant, but used, according to Nguyen et al, for a special syllable in the proper name of Taaw Nyi (Khun Cheuang Epic), and for at least one other Sino-Vietnamese word.

`, '\u{1E6CB}': `

𞛋

ษ— consonant.

๐ž›‹๐ž›ฏ

-t consonant.

๐ž›–๐ž› ๐ž›‹

`, '\u{1E6CC}': `

𞛌

t low class consonant.

๐ž›Œ๐ž›ฉ๐ž›

`, '\u{1E6CD}': `

𞛍

t high class consonant. According to Ferlus, the pronunciation varies. He leans towards the voiced sound.mf,98

๐ž›๐ž›ก๐ž›

๐ž›๐ž› ๐ž›…

`, '\u{1E6CE}': `

𞛎

tสฐ consonant.

๐ž›Ž๐ž›จ๐ž›€

`, '\u{1E6CF}': `

𞛏

n consonant.

๐ž›๐ž›ฑ

๐ž›‘๐ž›ข๐ž›

`, '\u{1E6D0}': `

𞛐

ษ“ consonant.

๐ž›๐ž›ฌ๐ž›€

-p consonant.

๐ž›‚๐ž›ง๐ž›

`, '\u{1E6D1}': `

𞛑

p low class consonant.

๐ž›‘๐ž›ฎ

๐ž›†๐ž› ๐ž›‘

`, '\u{1E6D2}': `

𞛒

p~b high class consonant. According to Ferlus, the pronunciation varies. He leans towards the voiced sound.mf,98

๐ž›’

๐ž›’๐ž› 

`, '\u{1E6D3}': `

𞛓

pสฐ consonant.

๐ž›“๐ž›ข๐ž›…

`, '\u{1E6D4}': `

𞛔

f low class consonant.

๐ž›”๐ž›ข๐ž›

`, '\u{1E6D5}': `

𞛕

v or f high class consonant. Ferlusmf,97 is unsure about the pronunciation of this letter when not spelled out as part of the alphabet. It seems to alternate, and may even approach w.

๐ž›•๐ž›ฐ

๐ž›•๐ž›ฏ

`, '\u{1E6D6}': `

𞛖

m consonant.

๐ž›–๐ž› ๐ž›‹

๐ž›๐ž› ๐ž›–

`, '\u{1E6D7}': `

𞛗

j consonant.

๐ž›—๐ž› ๐ž›…

`, '\u{1E6D8}': `

𞛘

l consonant.

๐ž›˜๐ž›ฏ

`, '\u{1E6D9}': `

𞛙

w consonant.

๐ž›™๐ž›ฐ

`, '\u{1E6DA}': `

𞛚

h low class consonant.

๐ž›š๐ž›ฉ

`, '\u{1E6DB}': `

𞛛

h high class consonant.

๐ž››๐ž› ๐ž›€

`, '\u{1E6DC}': `

𞛜

ส” consonant used to carry standalone vowels.

๐ž›œ๐ž›ฌ๐ž›€

๐ž›œ๐ž›ฆ

`, '\u{1E6DD}': `

𞛝

kสท ligature for a labialised low class consonant.

๐ž›๐ž› ๐ž›‰

`, '\u{1E6DE}': `

𞛞

kสท ligature for a labialised high class consonant.

`, '\u{1E6E0}': `

𞛠

aห vowel.

๐ž›™๐ž› 

๐ž››๐ž› ๐ž›€

`, '\u{1E6E1}': `

𞛡

i vowel.

๐ž›™๐ž›ก

๐ž›๐ž›ก๐ž›

๐ž›œ๐ž›ก๐ž›–

`, '\u{1E6E2}': `

𞛢

ษจ vowel, used in closed syllables.

๐ž›“๐ž›ข๐ž›…

๐ž›‘๐ž›ข๐ž›

See also 1E6E3.

`, '\u{1E6E3}': `

𞛣

ษจ vowel sign used in open syllables.

๐ž›†๐ž›ฃ

๐ž›–๐ž›ฃ

See also 1E6E2.

`, '\u{1E6E4}': `

𞛤

u vowel.

๐ž›‘๐ž›ค

`, '\u{1E6E5}': `

𞛥

ษ› vowel.

๐ž›„๐ž›ฅ

`, '\u{1E6E6}': `

𞛦

auฬฏ rhyme.

๐ž›‚๐ž›ฆ

๐ž›œ๐ž›ฆ

`, '\u{1E6E7}': `

𞛧

o vowel.

๐ž›๐ž›ง

๐ž›“๐ž›ง๐ž›–

`, '\u{1E6E8}': `

𞛨

e vowel.

๐ž›Ž๐ž›จ๐ž›€

`, '\u{1E6E9}': `

𞛩

iษ™ฬฏ diphthong.

๐ž›š๐ž›ฉ

๐ž›™๐ž›ฉ๐ž›€

`, '\u{1E6EA}': `

𞛪

ษจษ™ diphthong.

๐ž›“๐ž›ช

`, '\u{1E6EB}': `

𞛫

uษ™ฬฏ diphthong.

๐ž›“๐ž›ซ

`, '\u{1E6EC}': `

𞛬

ษ”ห vowel.

๐ž›๐ž›ฌ๐ž›€

`, '\u{1E6ED}': `

𞛭

ษ™ vowel.

๐ž›๐ž›ญ

๐ž›Œ๐ž›ญ

`, '\u{1E6EE}': `

𞛮

aj rhyme when not followed by a nucleus or coda.

๐ž›€๐ž›ฎ

๐ž›—๐ž›ฎ

-สท- medial when followed by nucleus and coda.

๐ž›‚๐ž›ฎ๐ž›ก

๐ž›˜๐ž›ฎ๐ž› ๐ž›

`, '\u{1E6EF}': `

𞛯

aล‹ rhyme.

๐ž›‹๐ž›ฏ

๐ž›๐ž›ฏ

`, '\u{1E6F0}': `

𞛰

an rhyme.

๐ž›•๐ž›ฐ

๐ž›™๐ž›ฐ

`, '\u{1E6F1}': `

𞛱

am rhyme.

๐ž›๐ž›ฑ

`, '\u{1E6F2}': `

𞛲

ak rhyme.

๐ž››๐ž›ฒ

`, '\u{1E6F3}': `

𞛳

at rhyme.

๐ž›–๐ž›ณ

`, '\u{1E6F4}': `

𞛴

ap rhyme.

๐ž›†๐ž›ด

๐ž›—๐ž›ด

`, '\u{1E6F5}': `

𞛵

om rhyme.

`, '\u{1E6FE}': `

𞛾

mษจษ™ล‹ logogram for village.

๐ž›พ

`, '\u{1E6FF}': `

𞛿

Repetition marker.

`, '\u{FF01}': `

Exclamation mark.

`, '\u{FF08}': `

Parenthesis.

`, '\u{FF09}': `

Parenthesis.

`, '\u{FF0C}': `

Comma.

`, '\u{FF1A}': `

Colon.

`, '\u{FF1F}': `

Question mark.

`, '\u{FF3B}': `

Bracket.

`, '\u{FF3D}': `

Bracket.

`, // COMMON PUNCTUATION // ยง '\u{00A7}': `

§

`, // ยซ '\u{00AB}': `

«

`, // ยป '\u{00BB}': `

»

`, // danda '\u{0964}': `

`, // double danda '\u{0965}': `

`, // โ€“ '\u{2010}': `

`, // โ€“ '\u{2013}': `

`, // โ€” '\u{2014}': `

`, // '.. '\u{2018}': `

`, // ..' '\u{2019}': `

`, // ".. '\u{201C}': `

`, // .." '\u{201D}': `

`, // ! '\u{0021}': `

!

`, // โ€ฆ '\u{2026}': `

`, // ( '\u{0028}': `

(

`, // ) '\u{0029}': `

)

`, // , '\u{002C}': `

,

`, // . '\u{002E}': `

.

`, // : '\u{003A}': `

:

`, // ; '\u{003B}': `

;

`, // ? '\u{003F}': `

?

`, // cgj '\u{034F}': `

͏

Semantically separates characters. Can be used to prevent pairs of characters being treated as digraphs, or to block canonical reordering of combining marks during normalization. The word 'joiner' in the name is a misnomer.

`, // alm '\u{061C}': `

؜

Helps produce the correct ordering for sequences with no strong directional characters by overriding the Unicode Bidirectional Algorithm default rules. Used particularly for text in the Arabic language, and languages using Syriac and Thaana scripts. Not usually needed for Hebrew, N'Ko, or Persian.

`, // FORMATTING CHARACTERS // zwsp '\u{200B}': `

An invisible character, used to signal line-break and word-break opportunities. It was originally provided for use with writing systems such as Thai, Myanmar, Khmer, Japanese, etc. that don't use spaces between words.

Justification may visibly adjust the space between the characters on either side of this character, doing so as if the ZWSP wasn't there, eg. the Thai text เธญเธฑเธเธฉเธฃโ€‹เน„เธ—เธข may look like เธญเธฑ เธ เธฉ เธฃ เน„ เธ— เธข when justified, or when letter-spacing is applied, even though the two words are separated by a ZWSP (click on the word to see the composition).

`, // zwnj '\u{200C}': `

Prevents glyph joining behaviour.

`, // zwj '\u{200D}': `

Creates glyph joining behaviour in the absence of normal joining contexts.

`, // rlm '\u{200F}': `

An invisible character with a strong RTL directional property. Can be used to correct local issues with the Unicode Bidirectional Algorithm.

`, // lrm '\u{200E}': `

An invisible character with a strong LTR directional property. Can be used to correct local issues with the Unicode Bidirectional Algorithm.

`, // โ€˜ '\u{2018}': `

`, // โ€™ '\u{2019}': `

`, // โ€œ '\u{201C}': `

`, // โ€ '\u{201D}': `

`, '\u{2020}': `

Called dagger, but also known as obelisk, obelus, or long cross.b321

A reference mark, used primarily with footnotes. When used for this purpose with other signs, the traditional order is * โ€  โ€ก ยง โ€– ยถ.b68

Also a death sign in European typography, used to mark the year of death or the names of dead persons.b321

In lexicography it marks obsolete forms, and in editing of classical texts flags passages judged to be corrupt.b321

`, '\u{2021}': `

Called dagger, but also known as diesis, or double obelisk.b321

A reference mark used with footnotes. When used for this purpose with other signs, the traditional order is * โ€  โ€ก ยง โ€– ยถ.b68

`, // โ€ฆ '\u{2026}': `

`, // rle '\u{202B}': `

Sets the base direction for the following text to RTL, with no isolation. The Unicode Standard recommends use of RLI, instead.

`, // lre '\u{202A}': `

Sets the base direction for the following text to LTR, with no isolation. The Unicode Standard recommends use of LRI, instead.

`, // pdf '\u{202C}': `

Ends the range of text that started with RLE, or LRE.

`, '\u{2032}': `

Abbreviation for feet (1โ€ฒ = 12โ€ณ).b330

Also used for minutes of arc (eg. 60โ€ฒ=1ยฐ).b330

`, '\u{2033}': `

Abbreviation for inches (1โ€ฒ = 12โ€ณ).b321

Also used for seconds of arc (eg. 360โ€ณ=1ยฐ).b321

`, // word-break '\u{2060}': `

WB

An invisible character, equivalent to a zero-width no-break space, and used to prevent line-breaks, eg. it can be used around the + sign in base⁠+delta⁠ to prevent a line break occuring in that sequence of characters. It has no effect on word segmentation.

It can also be used to bracket other characters to turn them into non-breaking characters, such as U+2009 THIN SPACE or [U+2015 HORIZONTAL BAR].

Not to be confused with U+200D ZERO WIDTH JOINER or U+034F COMBINING GRAPHEME JOINERโ€‹, since it has no effect on shaping.

This functionality is also provided by U+FEFF ZERO WIDTH NO-BREAK SPACE, but since that character also represents the byte-order mark, the use of this word joiner character (added in Unicode 3.2) is strongly preferred over the latter.

`, // rli '\u{2067}': `

Sets the base direction for the following text to RTL, and isolates it (ie. stops the bidirectional algorithm causing interactions across the boundaries of the embedded text).

`, // lri '\u{2066}': `

Sets the base direction for the following text to LTR, and isolates it (ie. stops the bidirectional algorithm causing interactions across the boundaries of the embedded text).

`, //fsi '\u{2068}': `

Sets the base direction for the following text to the direction of the first strong directional character, per Unicode Bidirectional Algorithm rules, and isolates it (ie. stops the bidirectional algorithm causing interactions across the boundaries of the embedded text).

`, // pdi '\u{2069}': `

Ends the range of text that started with RLI, LRI, or FSI.

`, } //