See also: Module:IPA/testcases
m.symbols
This table consists of keys that are valid IPA symbols (which may be a single character or a set of characters), each of which has a table containing title
and link
. An XSAMPA
field was formerly included, but X-SAMPA data is now housed in Module:IPA/data/X-SAMPA.
Source: http://en.wikipedia.orghttps://dictious.com/en/X-SAMPA
Substitutions Text in the table is neutered for HTML text or attributes with the following
HTML Latin entity " used for " HTML Latin entity ' used for ' Escaped backslash \\ used for \ HTML Latin entity < used for < HTML Latin entity > used for > HTML Latin entity & used for &
Not represented in the table
"*" undefined escape character, SAMPA's "conjunctor" "/" indeterminacy in French vowels "<" begin nonsegmental notation (e.g., SAMPROSA) ">" end nonsegmental notation "_<" implosive (IPA uses separate symbols for implosives)
Replacement Character (0xFFFD
) is used for unrepresentable characters
local data = {}
--[=[ Valid IPA symbols.
Currently almost all values of "title" and "link" keys
are just the comments that were used in ].
The "link" fields should be checked (those that start with an uppercase letter are checked). ]=]
--[=[
local phones = {}
-- Vowels.
phones = {
close = true,
front = true,
unrounded = true,
vowel = true,
}
phones = {
= true,
front = true,
unrounded = true,
vowel = true,
}
phones = {
= true,
front = true,
unrounded = true,
vowel = true,
}
phones = {
= true,
front = true,
unrounded = true,
vowel = true,
}
phones = {
open = true,
front = true,
unrounded = true,
vowel = true,
}
phones = {
close = true,
front = true,
rounded = true,
vowel = true,
}
phones = {
= true,
front = true,
rounded = true,
vowel = true,
}
phones = {
= true,
front = true,
rounded = true,
vowel = true,
}
phones = {
open = true,
front = true,
rounded = true,
vowel = true,
}
phones = {
= true,
= true,
unrounded = true,
vowel = true,
}
phones = {
= true,
= true,
rounded = true,
vowel = true,
}
phones = {
close = true,
central = true,
unrounded = true,
vowel = true,
}
phones = {
= true,
central = true,
unrounded = true,
vowel = true,
}
phones = {
= true,
central = true,
unrounded = true,
vowel = true,
}
phones = {
= true,
central = true,
unrounded = true,
vowel = true,
}
phones = {
rhotic = true,
= true,
central = true,
unrounded = true,
vowel = true,
}
phones = {
mid = true,
central = true,
vowel = true,
}
phones = {
rhotic = true,
mid = true,
central = true,
vowel = true,
}
phones = {
= true,
central = true,
vowel = true,
}
phones = {
close = true,
central = true,
rounded = true,
vowel = true,
}
phones = {
= true,
central = true,
rounded = true,
vowel = true,
}
phones = {
= true,
central = true,
rounded = true,
vowel = true,
}
phones = {
= true,
central = true,
rounded = true,
vowel = true,
}
phones = {
= true,
= true,
rounded = true,
vowel = true,
}
phones = {
close = true,
back = true,
unrounded = true,
vowel = true,
}
phones = {
= true,
back = true,
unrounded = true,
vowel = true,
}
phones = {
= true,
back = true,
unrounded = true,
vowel = true,
}
phones = {
open = true,
back = true,
unrounded = true,
vowel = true,
}
phones = {
close = true,
back = true,
rounded = true,
vowel = true,
}
phones = {
= true,
back = true,
rounded = true,
vowel = true,
}
phones = {
= true,
back = true,
rounded = true,
vowel = true,
}
phones = {
open = true,
back = true,
rounded = true,
vowel = true,
}
-- Nasals.
phones = {
voiced = true,
bilabial = true,
nasal = true,
}
phones = {
voiced = true,
labiodental = true,
nasal = true,
}
phones = {
voiced = true,
alveolar = true,
nasal = true,
}
phones = {
voiced = true,
retroflex = true,
nasal = true,
}
phones = {
voiced = true,
palatal = true,
nasal = true,
}
phones = {
voiced = true,
velar = true,
nasal = true,
}
phones = {
voiced = true,
velodorsal = true,
nasal = true,
}
phones = {
voiced = true,
uvular = true,
nasal = true,
}
-- Plosives.
phones = {
voiceless = true,
bilabial = true,
plosive = true,
}
phones = {
voiced = true,
bilabial = true,
plosive = true,
}
phones = {
voiceless = true,
alveolar = true,
plosive = true,
}
phones = {
voiced = true,
alveolar = true,
plosive = true,
}
phones = {
voiceless = true,
retroflex = true,
plosive = true,
}
phones = {
voiced = true,
retroflex = true,
plosive = true,
}
phones = {
voiceless = true,
palatal = true,
plosive = true,
}
phones = {
voiced = true,
palatal = true,
plosive = true,
}
phones = {
voiceless = true,
velar = true,
plosive = true,
}
phones = {
voiced = true,
velar = true,
plosive = true,
}
phones = {
voiceless = true,
velodorsal = true,
plosive = true,
}
phones = {
voiced = true,
velodorsal = true,
plosive = true,
}
phones = {
voiceless = true,
uvular = true,
plosive = true,
}
phones = {
voiced = true,
uvular = true,
plosive = true,
}
phones = {
voiceless = true,
= true,
plosive = true,
}
phones = {
voiced = true,
= true,
plosive = true,
}
phones = {
epiglottal = true,
plosive = true,
}
phones = {
glottal = true,
plosive = true,
}
-- Fricatives.
phones = {
voiceless = true,
bilabial = true,
fricative = true,
}
phones = {
voiced = true,
bilabial = true,
fricative = true,
}
phones = {
voiceless = true,
= true,
fricative = true,
}
phones = {
voiceless = true,
labiodental = true,
fricative = true,
}
phones = {
voiced = true,
labiodental = true,
fricative = true,
}
phones = {
voiceless = true,
dental = true,
= true,
fricative = true,
}
phones = {
voiced = true,
dental = true,
= true,
fricative = true,
}
phones = {
voiceless = true,
alveolar = true,
sibilant = true,
fricative = true,
}
phones = {
voiced = true,
alveolar = true,
sibilant = true,
fricative = true,
}
phones = {
voiceless = true,
alveolar = true,
lateral = true,
fricative = true,
}
phones = {
voiced = true,
alveolar = true,
lateral = true,
fricative = true,
}
phones = {
voiceless = true,
postalveolar = true,
sibilant = true,
fricative = true,
}
phones = {
voiced = true,
postalveolar = true,
sibilant = true,
fricative = true,
}
phones = {
voiceless = true,
retroflex = true,
sibilant = true,
fricative = true,
}
phones = {
voiced = true,
retroflex = true,
sibilant = true,
fricative = true,
}
phones = {
voiceless = true,
retroflex = true,
lateral = true,
fricative = true,
}
phones = {
voiced = true,
retroflex = true,
lateral = true,
fricative = true,
}
phones = {
voiceless = true,
= true,
sibilant = true,
fricative = true,
}
phones = {
voiced = true,
= true,
sibilant = true,
fricative = true,
}
phones = {
voiceless = true,
palatal = true,
fricative = true,
}
phones = {
voiced = true,
palatal = true,
fricative = true,
}
phones = {
voiceless = true,
palatal = true,
lateral = true,
fricative = true,
}
phones = {
voiceless = true,
= true,
fricative = true,
}
phones = {
voiceless = true,
velar = true,
fricative = true,
}
phones = {
voiced = true,
velar = true,
fricative = true,
}
phones = {
voiceless = true,
velar = true,
lateral = true,
fricative = true,
}
phones = {
voiceless = true,
velopharyngeal = true,
fricative = true,
}
phones = {
voiceless = true,
uvular = true,
fricative = true,
}
phones = {
voiced = true,
uvular = true,
fricative = true,
}
phones = {
voiceless = true,
pharyngeal = true,
fricative = true,
}
phones = {
voiced = true,
pharyngeal = true,
fricative = true,
}
phones = {
voiceless = true,
epiglottal = true,
fricative = true,
}
phones = {
voiced = true,
epiglottal = true,
fricative = true,
}
phones = {
voiceless = true,
glottal = true,
fricative = true,
}
phones = {
voiced = true,
glottal = true,
fricative = true,
}
-- Approximants.
phones = {
voiced = true,
labiodental = true,
approximant = true,
}
phones = {
voiced = true,
= true,
approximant = true,
}
phones = {
voiced = true,
= true,
approximant = true,
}
phones = {
voiced = true,
alveolar = true,
approximant = true,
}
phones = {
= true,
voiced = true,
alveolar = true,
approximant = true,
}
phones = {
voiced = true,
alveolar = true,
lateral = true,
approximant = true,
}
phones = {
= true,
voiced = true,
alveolar = true,
lateral = true,
approximant = true,
}
phones = {
voiced = true,
retroflex = true,
approximant = true,
}
phones = {
voiced = true,
retroflex = true,
lateral = true,
approximant = true,
}
phones = {
voiced = true,
palatal = true,
approximant = true,
}
phones = {
voiced = true,
palatal = true,
lateral = true,
approximant = true,
}
phones = {
voiced = true,
velar = true,
approximant = true,
}
phones = {
voiced = true,
velar = true,
lateral = true,
approximant = true,
}
-- Flaps.
phones = {
voiced = true,
labiodental = true,
flap = true,
}
phones = {
voiced = true,
alveolar = true,
flap = true,
}
phones = {
voiced = true,
alveolar = true,
lateral = true,
flap = true,
}
phones = {
voiced = true,
retroflex = true,
flap = true,
}
phones = {
voiced = true,
retroflex = true,
lateral = true,
flap = true,
}
-- Trills.
phones = {
voiced = true,
bilabial = true,
trill = true,
}
phones = {
voiced = true,
alveolar = true,
trill = true,
}
phones = {
voiceless = true,
velopharyngeal = true,
trill = true,
}
phones = {
voiced = true,
uvular = true,
trill = true,
}
phones = {
voiced = true,
pharyngeal = true,
trill = true,
}
-- Clicks.
phones = {
bilabial = true,
click = true,
}
phones = {
dental = true,
click = true,
}
phones = {
alveolar = true,
click = true,
}
phones = {
retroflex = true,
click = true,
}
phones = {
palatal = true,
click = true,
}
phones = {
velar = true,
click = true,
}
phones = {
lateral = true,
click = true,
}
-- Implosives.
phones = {
voiced = true,
bilabial = true,
implosive = true,
}
phones = {
voiced = true,
alveolar = true,
implosive = true,
}
phones = {
voiced = true,
retroflex = true,
implosive = true,
}
phones = {
voiced = true,
palatal = true,
implosive = true,
}
phones = {
voiced = true,
velar = true,
implosive = true,
}
phones = {
voiced = true,
uvular = true,
implosive = true,
}
-- Percussives.
phones = {
bilabial = true,
percussive = true,
}
phones = {
bidental = true,
percussive = true,
}
phones = {
sublaminal = true,
= true,
percussive = true,
}
]=]
local U = require("Module:string utilities").char
data = {
-- PULMONIC CONSONANTS
-- nasal
= {
title = "bilabial nasal",
link = "w:Bilabial nasal",
},
= {
title = "labiodental nasal",
link = "w:Labiodental nasal",
},
= {
title = "alveolar nasal",
link = "w:Alveolar nasal",
},
= {
title = "retroflex nasal",
link = "w:Retroflex nasal",
},
= {
title = "palatal nasal",
link = "w:Palatal nasal",
},
= {
title = "velar nasal",
link = "w:Velar nasal",
},
= {
title = "uvular nasal",
link = "w:Uvular nasal",
},
-- plosive
= {
title = "voiceless bilabial plosive",
link = "w:Voiceless bilabial stop",
},
= {
title = "voiced bilabial plosive",
link = "w:Voiced bilabial stop",
},
= {
title = "voiceless alveolar plosive",
link = "w:Voiceless alveolar stop",
},
= {
title = "voiced alveolar plosive",
link = "w:Voiced alveolar stop",
},
= {
title = "voiceless retroflex plosive",
link = "w:Voiceless retroflex stop",
},
= {
title = "voiced retroflex plosive",
link = "w:Voiced retroflex stop",
},
= {
title = "voiceless palatal plosive",
link = "w:Voiceless palatal stop",
},
= {
title = "voiced palatal plosive",
link = "w:Voiced palatal stop",
},
= {
title = "voiceless velar plosive",
link = "w:Voiceless velar stop",
},
= {
title = "voiced velar plosive",
link = "w:Voiced velar stop",
},
= {
title = "voiceless uvular plosive",
link = "w:Voiceless uvular stop",
},
= {
title = "voiced uvular plosive",
link = "w:Voiced uvular stop",
},
= {
title = "epiglottal plosive",
link = "w:Epiglottal stop",
},
= {
title = "glottal stop",
link = "w:Glottal stop",
},
-- fricative
= {
title = "voiceless bilabial fricative",
link = "w:Voiceless bilabial fricative",
},
= {
title = "voiced bilabial fricative",
link = "w:Voiced bilabial fricative",
},
= {
title = "voiceless labiodental fricative",
link = "w:Voiceless labiodental fricative",
},
= {
title = "voiced labiodental fricative",
link = "w:Voiced labiodental fricative",
},
= {
title = "voiceless dental fricative",
link = "w:Voiceless dental fricative",
},
= {
title = "voiced dental fricative",
link = "w:Voiced dental fricative",
},
= {
title = "voiceless alveolar fricative",
link = "w:Voiceless alveolar fricative",
},
= {
title = "voiced alveolar fricative",
link = "w:Voiced alveolar fricative",
},
= {
title = "voiceless postalveolar fricative",
link = "w:Voiceless palato-alveolar sibilant",
},
= {
title = "voiced postalveolar fricative",
link = "w:Voiced palato-alveolar sibilant",
},
= {
title = "voiceless retroflex fricative",
link = "w:Voiceless retroflex sibilant",
},
= {
title = "voiced retroflex fricative",
link = "w:Voiced retroflex sibilant",
},
= {
title = "voiceless alveolo-palatal fricative",
link = "w:Voiceless alveolo-palatal sibilant",
},
= {
title = "voiced alveolo-palatal fricative",
link = "w:Voiced alveolo-palatal sibilant",
},
= {
title = "voiceless palatal fricative",
link = "w:Voiceless palatal fricative",
},
= {
title = "voiced palatal fricative",
link = "w:Voiced palatal fricative",
},
= {
title = "voiceless velar fricative",
link = "w:Voiceless velar fricative",
},
= {
title = "voiced velar fricative",
link = "w:Voiced velar fricative",
},
= {
title = "voiceless uvular fricative",
link = "w:Voiceless uvular fricative",
},
= {
title = "voiced uvular fricative",
link = "w:Voiced uvular fricative",
},
= {
title = "voiceless pharyngeal fricative",
link = "w:Voiceless pharyngeal fricative",
},
= {
title = "voiced pharyngeal fricative",
link = "w:Voiced pharyngeal fricative",
},
= {
title = "voiceless epiglottal fricative",
link = "w:Voiceless epiglottal fricative",
},
= {
title = "voiced epiglottal fricative",
link = "w:Voiced epiglottal fricative",
},
= {
title = "voiceless glottal fricative",
link = "w:Voiceless glottal fricative",
},
= {
title = "voiced glottal fricative",
link = "w:Voiced glottal fricative",
},
-- approximant
= {
title = "labiodental approximant",
link = "w:Labiodental approximant",
},
= {
title = "alveolar approximant",
link = "w:Alveolar approximant",
},
= {
title = "retroflex approximant",
link = "w:Retroflex approximant",
},
= {
title = "palatal approximant",
link = "w:Palatal approximant",
},
= {
title = "velar approximant",
link = "w:Velar approximant",
},
-- tap, flap
= {
title = "labiodental tap",
link = "w:Labiodental flap",
},
= {
title = "alveolar flap",
link = "w:Alveolar flap",
},
= {
title = "retroflex flap",
link = "w:Retroflex flap",
},
-- trill
= {
title = "bilabial trill",
link = "w:Bilabial trill",
},
= {
title = "alveolar trill",
link = "w:Alveolar trill",
},
= {
title = "uvular trill",
link = "w:Uvular trill",
},
= {
title = "epiglottal trill",
link = "w:Epiglottal trill",
},
-- lateral fricative
= {
title = "voiceless alveolar lateral fricative",
link = "w:Voiceless alveolar lateral fricative",
},
= {
title = "voiced alveolar lateral fricative",
link = "w:Voiced alveolar lateral fricative",
},
-- no precomposed Unicode character --TOMOVE
-- = {title = "voiceless retroflex lateral fricative", link = "w:voiceless retroflex lateral fricative"},
-- no precomposed Unicode character --TOMOVE:3
-- = {title = "voiceless palatal lateral fricative", link = "w:voiceless palatal lateral fricative"},
-- no precomposed Unicode character --TOMOVE:3
-- = {title = "voiceless velar lateral fricative", link = "w:voiceless velar lateral fricative"},
-- no precomposed Unicode character --TOMOVE
-- = {title = "voiced velar lateral fricative", link = "w:voiced velar lateral fricative"},
-- lateral approximant
= {
title = "alveolar lateral approximant",
link = "w:Alveolar lateral approximant",
},
= {
title = "retroflex lateral approximant",
link = "w:Retroflex lateral approximant",
},
= {
title = "palatal lateral approximant",
link = "w:Palatal lateral approximant",
},
= {
title = "velar lateral approximant",
link = "w:Velar lateral approximant",
},
-- lateral flap
= {
title = "alveolar lateral flap",
link = "w:Alveolar lateral flap",
},
-- = {title = "retroflex lateral flap", link = "w:retroflex lateral flap"}, -- no precomposed Unicode character --TOMOVE
-- = {title = "retroflex lateral flap", link = "w:retroflex lateral flap"}, -- no precomposed Unicode character --TOMOVE
-- NON-PULMONIC CONSONANTS
-- clicks
= {
title = "bilabial click",
link = "w:Bilabial clicks",
},
= {
title = "dental click",
link = "w:Dental clicks",
},
= {
title = "postalveolar click",
link = "w:Alveolar clicks",
},
= {
title = "subapical retroflex",
link = "w:Retroflex clicks",
}, -- NOT IN X-SAMPA
= {
title = "palatal click",
link = "w:Palatal clicks",
},
= {
title = "alveolar lateral click",
link = "w:Lateral clicks",
},
-- implosives
= {
title = "voiced bilabial implosive",
link = "w:Voiced bilabial implosive",
},
= {
title = "voiced alveolar implosive",
link = "w:Voiced alveolar implosive",
},
-- NOT IN X-SAMPA
= {
title = "retroflex implosive",
link = "w:Voiced retroflex implosive",
},
= {
title = "voiced palatal implosive",
link = "w:Voiced palatal implosive",
},
= {
title = "voiced velar implosive",
link = "w:Voiced velar implosive",
},
= {
title = "voiced uvular implosive",
link = "w:Voiced uvular implosive",
},
-- ejectives
= {
title = "ejective",
link = "w:Ejective consonant",
},
-- CO-ARTICULATED CONSONANTS
= {
title = "voiceless labial-velar fricative",
link = "w:Voiceless labio-velar approximant",
},
= {
title = "labial-velar approximant",
link = "w:Labio-velar approximant",
},
= {
title = "labial-palatal approximant",
link = "w:Labialized palatal approximant",
},
= {
title = "voiceless palatal-velar fricative",
link = "w:Sj-sound",
},
-- should be handled in ] and not through this table
-- BRACKETS
--[[
-- = {
title = "morphophonemic",
link = "w:morphophonemic",
},
= {
title = "phonemic",
link = "w:phonemic",
},
= {
title = "phonetic",
link = "w:phonetic",
},
= {
title = "phonetic",
link = "w:phonetic",
},
= {
title = "orthographic",
link = "w:orthographic",
},
= {
title = "orthographic",
link = "w:orthographic",
},
= {
title = "orthographic",
link = "w:orthographic",
},
= {
title = "orthographic",
link = "w:orthographic",
},
]]
-- VOWELS
-- close
= {
title = "close front unrounded vowel",
link = "w:Close front unrounded vowel",
},
= {
title = "close front rounded vowel",
link = "w:Close front rounded vowel",
},
= {
title = "close central unrounded vowel",
link = "w:Close central unrounded vowel",
},
= {
title = "close central rounded vowel",
link = "w:Close central rounded vowel",
},
= {
title = "close back unrounded vowel",
link = "w:Close back unrounded vowel",
},
= {
title = "close back rounded vowel",
link = "w:Close back rounded vowel",
},
-- near close
= {
title = "near-close near-front unrounded vowel",
link = "w:Near-close near-front unrounded vowel",
},
= {
title = "near-close near-front rounded vowel",
link = "w:Near-close near-front rounded vowel",
},
= {
title = "near-close central unrounded vowel",
link = "w:Near-close central unrounded vowel",
},
-- (alternative) --TOMOVE
--[[
= {
title = "near-close central unrounded vowel",
link = "w:near-close central unrounded vowel",
}, ]]
= {
title = "near-close central rounded vowel",
link = "w:Near-close central rounded vowel",
},
--[[
(alternative) TOMOVE
= {
title = "near-close central rounded vowel",
link = "w:near-close central rounded vowel",
},
]]
= {
title = "near-close near-back rounded vowel",
link = "w:Near-close near-back rounded vowel",
},
--close mid
= {
title = "close-mid front unrounded vowel",
link = "w:Close-mid front unrounded vowel",
},
= {
title = "close-mid front rounded vowel",
link = "w:Close-mid front rounded vowel",
},
= {
title = "close-mid central unrounded vowel",
link = "w:Close-mid central unrounded vowel",
},
= {
title = "close-mid central rounded vowel",
link = "w:Close-mid central rounded vowel",
},
= {
title = "close-mid back unrounded vowel",
link = "w:Close-mid back unrounded vowel",
},
= {
title = "close-mid back rounded vowel",
link = "w:Close-mid back rounded vowel",
},
-- mid
= {
title = "schwa",
link = "w:Schwa",
},
= {
title = "schwa+r",
link = "w:R-colored vowel",
},
-- open mid
= {
title = "open-mid front unrounded vowel",
link = "w:Open-mid front unrounded vowel",
},
= {
title = "open-mid front rounded vowel",
link = "w:Open-mid front rounded vowel",
},
= {
title = "open-mid central unrounded vowel",
link = "w:Open-mid central unrounded vowel",
},
= {
title = "open-mid central unrounded vowel+r",
link = "w:R-colored vowel",
},
= {
title = "open-mid central rounded vowel",
link = "w:Open-mid central rounded vowel",
},
= {
title = "open-mid back unrounded vowel",
link = "w:Open-mid back unrounded vowel",
},
= {
title = "open-mid back rounded vowel",
link = "w:Open-mid back rounded vowel",
},
-- near open
= {
title = "near-open front unrounded vowel",
link = "w:Near-open front unrounded vowel",
},
= {
title = "near-open central vowel",
link = "w:Near-open central vowel",
},
-- open
= {
title = "open front unrounded vowel",
link = "w:Open front unrounded vowel",
},
= {
title = "open front rounded vowel",
link = "w:Open front rounded vowel",
},
= {
title = "open back unrounded vowel",
link = "w:Open back unrounded vowel",
},
= {
title = "open back rounded vowel",
link = "w:Open back rounded vowel",
},
-- SUPRASEGMENTALS
= {title = "primary stress", link = "w:Stress (linguistics)", XSAMPA = "\""},
--[[
= {
title = "extra stress: no Unicode char; double primary stress instead",
link = "w:extra stress: no Unicode char; double primary stress instead",
XSAMPA = ""
}, --TOMOVE:3 ]]
= {
title = "secondary stress",
link = "w:Secondary stress",
},
= {
title = "long",
link = "w:Length (phonetics)",
},
= {
title = "half long",
link = "w:Length (phonetics)",
},
= {
title = "extra-short",
link = "w:Length (phonetics)",
},
--[[
= {
title = "syllable break",
link = "w:syllable break",
},
]]
--TOMOVE
= {
title = "linking mark (absence of a break)",
link = "w:Tie (typography)#International_Phonetic_Alphabet",
},
= {
title = "separator",
link = "w:separator",
},
-- TONE
-- level tones
= {
title = "top",
link = "w:Tone letter",
},
= {
title = "high",
link = "w:Tone letter",
},
= {
title = "mid",
link = "w:Tone letter",
},
= {
title = "low",
link = "w:Tone letter",
},
= {
title = "bottom",
link = "w:Tone letter",
},
= {
title = "extra high tone",
link = "w:Tone letter",
},
= {
title = "high tone",
link = "w:Tone letter",
},
= {
title = "mid tone",
link = "w:Tone letter",
},
= {
title = "low tone",
link = "w:Tone letter",
},
= {
title = "extra low tone",
link = "w:Tone letter",
},
-- tone terracing
= {
title = "upstep",
link = "w:Upstep",
},
= {
title = "downstep",
link = "w:Downstep",
},
-- contour tones
= {
title = "rising tone",
link = "w:Tone (linguistics)",
},
= {
title = "falling tone",
link = "w:Tone (linguistics)",
},
= {
title = "high rising tone",
link = "w:Tone (linguistics)",
},
= {
title = "low rising tone",
link = "w:Tone (linguistics)",
},
= {
title = "high falling tone",
link = "w:Tone (linguistics)",
},
= {
title = "low falling tone",
link = "w:Tone (linguistics)",
},
= {
title = "rising falling tone (peaking)",
link = "w:Tone (linguistics)",
},
= {
title = "dipping",
link = "w:Tone (linguistics)",
}, --
-- intonation
= {
title = "minor (foot) group",
link = "w:Prosodic unit",
},
= {
title = "major (intonation) group",
link = "w:Prosodic unit",
},
= {
title = "global rise",
link = "w:Intonation (linguistics)",
},
= {
title = "global fall",
link = "w:Intonation (linguistics)",
},
-- DIACRITICS
-- syllabicity & releases
= {
title = "syllabi ",
link = "w:Syllabic consonant",
withdescender = "̍"
}, -- (or "_="
= {
title = "non-syllabic",
link = "w:Semivowel",
withdescender = "̑"
},
= {
title = "aspirated",
link = "w:Aspirated consonant",
},
= {
title = "nasal release",
link = "w:Nasal release",
},
= {
title = "lateral release",
link = "w:Lateral release (phonetics)",
},
= {
title = "no audible release",
link = "w:No audible release",
},
-- phonation
= {
title = "voiceless",
link = "w:Voicelessness",
withdescender = "̊"
},
= {
title = "voiced",
link = "w:Voice (phonetics)",
},
= {
title = "breathy voice",
link = "w:Breathy voice",
},
= {
title = "creaky voice",
link = "w:Creaky voice",
},
= {
title = "strident",
link = "w:Strident vowel",
},
-- primary articulation
= {
title = "dental",
link = "w:Dental consonant",
},
= {
title = "apical",
link = "w:Apical consonant",
},
= {
title = "laminal",
link = "w:Laminal consonant",
},
= {
title = "advanced",
link = "w:Relative articulation#Advanced_and_retracted",
withdescender = "˖"
},
= {
title = "retracted",
link = "w:Relative articulation#Retracted",
withdescender = "˗"
},
= {
title = "linguolabial",
link = "w:Linguolabial consonant",
},
= {
title = "centralized",
link = "w:Relative articulation#Centralized_vowels",
XSAMPA = "_\""
},
= {
title = "mid-centralized",
link = "Relative articulation#Mid-centralized_vowel",
},
= {
title = "lowered",
link = "w:Relative articulation#Raised_and_lowered",
withdescender = "˕"
},
= {
title = "raised",
link = "w:Relative articulation#Raised_and_lowered",
withdescender = "˔"
},
= {
title = "coarticulated",
link = "w:Co-articulated consonant",
},
= {
title = "strong articulation",
link = "w:Fortis and lenis",
},
-- secondary articulation
= {
title = "labialized",
link = "w:Labialization",
},
= {
title = "palatalized",
link = "w:Palatalization (phonetics)",
},
= {
title = "velarized",
link = "w:Velarization",
},
= {
title = "pharyngealized",
link = "w:Pharyngealization",
},
-- also see _e
= {
title = "velarized alveolar lateral approximant",
link = "w:Alveolar lateral approximant",
},
= {
title = "velarized or pharyngealized; also see 5",
link = "w:Velarization",
},
= {
title = "more rounded",
link = "w:Roundedness",
},
= {
title = "less rounded",
link = "w:Roundedness",
},
= {
title = "nasalization",
link = "w:Nasalization",
},
= {
title = "rhotacization in vowels, retroflexion in consonants",
link = "w:R-colored vowel",
},
= {
title = "advanced tongue root",
link = "w:Advanced and retracted tongue root",
},
= {
title = "retracted tongue root",
link = "w:Advanced and retracted tongue root",
},
}
data = {
-- TODO
-- = {},
-- = {},
= {
title = "extra long",
link = "w:Length (phonetics)",
},
= {title = "voiceless alveolar trill", link = "w:Voiceless alveolar trill"},
= {title = "alveolar lateral ejective fricative", link = "w:Alveolar lateral ejective fricative"},
}
data = {
= {title = "voiceless alveolar sibilant affricate", link = "w:Voiceless alveolar affricate"},
= {title = "voiced alveolar sibilant affricate", link = "w:Voiced alveolar affricate"},
= {title = "voiceless palato-alveolar affricate", link = "w:Voiceless palato-alveolar affricate", descender = true},
= {title = "voiced palato-alveolar affricate", link = "w:Voiced palato-alveolar affricate"},
= {title = "voiceless retroflex affricate", link = "w:Voiceless retroflex affricate", descender = true},
= {title = "voiced retroflex affricate", link = "w:Voiced retroflex affricate, descender = true"},
= {title = "voiceless alveolo-palatal affricate", link = "w:Voiceless alveolo-palatal affricate"},
= {title = "voiced alveolo-palatal affricate", link = "w:Voiced alveolo-palatal affricate"},
= {title = "voiceless palatal affricate", link = "w:Voiceless palatal affricate, descender = true"},
= {title = "voiced palatal affricate", link = "w:Voiced palatal affricate, descender = true"},
= {title = "voiceless velar affricate", link = "w:Voiceless velar affricate"},
= {title = "voiced velar affricate", link = "w:Voiced velar affricate, descender = true"},
}
data = {
= {title = "alveolar linguo-glottalic stop", link = "w:Ejective-contour clicks, descender = true"},
= {title = "lateral linguo-glottalic affricate (homorganic)", link = "w:Ejective-contour clicks", descender = true},
}
data = {
= {title = "voiceless velar lateral affricate", link = "w:Voiceless velar lateral affricate"},
= {title = "voiced dental linguo-glottalic stop", link = "w:Ejective-contour clicks"},
= {title = "palatal linguo-glottalic affricate (heterorganic)", link = "w:Ejective-contour clicks"},
}
data = {
= {title = "velar lateral ejective affricate", link = "w:Velar lateral ejective affricate"},
= {title = "voiced labial linguo-glottalic affricate", link = "w:Ejective-contour clicks"},
}
-- acute and grave tone marks
data.diacritics = U(
-- grave, acute, circumflex, tilde, macron, breve
0x300, 0x301, 0x302, 0x303, 0x304, 0x306,
-- diaeresis, ring above, double acute, caron, vertical line above, double grave, left tack
0x308, 0x30A, 0x30B, 0x30C, 0x30D, 0x30F, 0x318,
-- right tack, left angle, left half ring below, up tack below, down tack below, plus sign below
0x319, 0x31A, 0x31C, 0x31D, 0x31E, 0x31F,
-- minus sign below, rhotic hook below, dot below, diaeresis below, ring below, vertical line below, bridge below
0x320, 0x322, 0x323, 0x324, 0x325, 0x329, 0x32A,
-- caron below, inverted breve below
0x32C, 0x32F,
-- tilde below, combining tilde overlay, right half ring below, inverted bridge below, square below, seagull below, x above
0x330, 0x334, 0x339, 0x33A, 0x33B, 0x33C, 0x33D,
-- grave tone mark, acute tone mark, bridge above, equals sign below, double vertical line below
0x340, 0x341, 0x346, 0x347, 0x348,
-- left angle below, not tilde above, homothetic above, almost equal above, left right arrow below
0x349, 0x34A, 0x34B, 0x34C, 0x34D,
-- upwards arrow below, left arrowhead below, right arrowhead below
0x34E, 0x354, 0x355,
-- double rightwards arrow below, combining Latin small letter a
0x362, 0x361,
-- macron–acute, grave–macron, macron–grave, acute–macron, grave–acute–grave, acute–grave–acute
0x1DC4, 0x1DC5, 0x1DC6, 0x1DC7, 0x1DC8, 0x1DC9)
data.tones = '˥˦˧˨˩꜒꜓꜔꜕꜖꜈꜉꜊꜋꜌꜍꜎꜏꜐꜑¹²³⁴⁵⁶⁷⁸⁹⁰'
data.vowels = 'iyɨʉɯuɪʏʊeøɘɵɤoəɚɛœɜɝɞʌɔæɐaɶɑɒäëïöüÿ'
data.superscripts = '¹²³⁴⁵⁶⁷⁸⁹⁰ᵝʰʱʲʳʴʵʶʷʸᶣ˞ˠˡˢꟹᵄᵊⁱᵏᵐᶬᵑᶮᶯᶰᵘᶹˀˤⁿᵇᵈᶢᶡᵡ'
data.valid =
U(0xA0) .. ' %(%)%%{%|%}%-~⁓.◌abcdefhijklmnopqrstuvwxyz¡àáâãāăēäæçèéêëĕěħìíîïĩīĭĺḿǹńňðòóôõöōŏőœøŕùúûüũūŭűýÿŷŋ'
.. 'ǀǁǂǃǎǐǒǔřǖǘǚǜǟǣǽǿȁȅȉȍȕȫȭȳɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɪɫɬɭɮɯɰɱɲɳɴɵɶɸɹɺ𝼈ɻɽɾʀʁʂʃʄʈʉʊʋṽʌʍʎ𝼆ʏʐʑʒʔʕʘʞʙʛʜʝʟʡʢ𝼊ʬʭ⁻'
.. 'ʼˈˌːˑˣ˔˕ˬ͗˭ˇ˖β͜θχᴙᶑ᷽ḁḛḭḯṍṏṳṵṹṻạẹẽịọụỳỵỹ‖․‥…‿↑↓↗↘ⱱꜛꜜꟸ𝆏𝆑˗⁽⁾ˋˊ'
.. data.diacritics .. data.tones .. data.superscripts
data.per_lang_valid = {
= "V", -- V for uncertain vowel
}
-- Characters to add VARIATION SELECTOR-15 (U+FE0E) after.
-- These are characters with emoji variants that are used by default by some clients.
-- Adding VS15 after them instructs them to draw the characters as text instead.
data.add_vs15 = "↗↘"
data.invalid = {
= "ǃ",
= "ꜜ",
= "ꜛ",
= "ꜛ",
= "ˈ",
= "ʼ",
= "ː",
-- Confusable Latin letters
= "ʙ",
= "ɡ",
= "ɢ",
= "ʛ",
= "ʜ",
= "ɪ",
= "ɪ",
= "ʟ",
= "ɴ",
= "ɶ",
= "ꞯ",
= "ʀ",
= "ʃ",
= "ǂ", -- due to confusion with obsolete 𝼋 below
= "β",
= "β",
= "ʏ",
= "ə",
= "ə",
= "ʔ",
= "ʔ",
= "ˤ",
-- Confusable Greek letters
= "ɑ",
= "ɣ",
= "ð",
= "ɛ",
= "ʜ",
= "ŋ",
= "ɪ",
= "ʎ",
= "ʋ",
= "𝼊",
= "𝼊",
= "ɸ",
= "ɸ",
= "χ", -- Actually Latin, since IPA uses the Greek letter(!)
-- Confusable Cyrillic letters
= "æ",
= "ə",
= "ə",
= "ʙ",
= "ʙ",
= "e",
= "ɜ",
= "ɜ",
= "s",
= "s",
= "i",
= "j",
= "ʜ",
= "ʜ",
= "o",
= "o",
= "p",
= "c",
= "y",
= "ʏ",
= "ʏ",
= "ɸ",
= "ɸ",
= "x",
= "h",
= "h",
= "ᴙ",
= "ᴙ",
= "𝼊",
= "𝼊",
= "ⱱ",
= "ⱱ",
= "ʕ",
= "ʕ",
-- Palatalization
= "bʲ",
= "cʲ",
= "dʲ",
= "d̠ʲ",
= "d̠ʲ",
= "fʲ",
= "ɡʲ",
= "hʲ",
= "kʲ",
= "lʲ",
= "l̠ʲ",
= "l̠ʲ",
= "ɬʲ",
= "mʲ",
= "nʲ",
= "n̠ʲ",
= "n̠ʲ",
= "ŋʲ",
= "pʲ",
= "rʲ",
= "ɹʲ",
= "ɾʲ",
= "sʲ",
= "ɕ",
= "ᶝ",
= "ʃʲ",
= "ʃʲ",
= "tʲ",
= "t̠ʲ",
= "t̠ʲ",
= "vʲ",
= "xʲ",
= "zʲ",
= "ʒʲ",
= "ʒʲ",
-- Retroflex
= "ʈ͡ʂ",
= "ɖ",
= "ɭ",
= "ɳ",
= "ɽ",
= "ʂ",
= "ʈ",
-- Rhotic vowels
= "a˞",
= "ɑ˞",
= "e˞",
= "ɚ",
= "ɛ˞",
= "ɝ",
= "i˞",
= "ɨ˞",
= "o˞",
= "ɔ˞",
= "u˞",
-- Syllabic fricatives
= "z̩",
= "ʐ̩",
= "z̩ʷ",
= "ʐ̩ʷ",
-- Clicks
= "ǃ",
= "ǂ",
= "ǀ",
= "ǁ",
= "𝼊",
-- Voiceless implosives
= "ʄ̊",
= "ɠ̊",
= "ɓ̥",
= "ʛ̥",
= "ɗ̥",
= "ᶑ̥",
-- Monographs
= "ɸ",
= "ɪ",
= "r̝",
= "ʊ",
= "ʊ",
= "ᶷ",
= "t͡ɬ",
= "d͡z",
= "t͡s",
-- Digraphs
= "b̪",
= "d͡z",
= "d͡ʑ",
= "ɖ͡ʐ",
= "d͡ʒ",
= "d͡ʒʲ",
= "d͡ᶚ",
= "ɬ͡s",
= "ɮ͡z",
= "p̪",
= "t͡s",
= "t͡ɕ",
= "ʈ͡ʂ",
= "t͡ʃ",
= "t͡ʃʲ",
= "t͡ᶘ",
-- Deprecated or confusable diacritics
= "ʷ",
= "̃",
= "ʷ",
= "̚",
}
return data