<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Ahy-pronunciation</id>
	<title>Module:hy-pronunciation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Ahy-pronunciation"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:hy-pronunciation&amp;action=history"/>
	<updated>2026-06-20T11:51:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:hy-pronunciation&amp;diff=529123&amp;oldid=prev</id>
		<title>Melinoë: Created page with &quot;local export = {}  local m_str_utils = require(&quot;Module:string utilities&quot;) local lang = require(&quot;Module:languages&quot;).getByCode(&quot;hy&quot;) local m_IPA = require(&quot;Module:IPA&quot;) local yesno_module = &quot;Module:yesno&quot;  local toNFC = mw.ustring.toNFC local trim = m_str_utils.trim local ufind = m_str_utils.find local ugsub = m_str_utils.gsub local ulower = m_str_utils.lower local ufind = m_str_utils.find local unpack = unpack or table.unpack -- Lua 5.2 compatibility local insert = table....&quot;</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:hy-pronunciation&amp;diff=529123&amp;oldid=prev"/>
		<updated>2026-06-12T00:55:20Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local export = {}  local m_str_utils = require(&amp;quot;Module:string utilities&amp;quot;) local lang = require(&amp;quot;Module:languages&amp;quot;).getByCode(&amp;quot;hy&amp;quot;) local m_IPA = require(&amp;quot;Module:IPA&amp;quot;) local yesno_module = &amp;quot;Module:yesno&amp;quot;  local toNFC = mw.ustring.toNFC local trim = m_str_utils.trim local ufind = m_str_utils.find local ugsub = m_str_utils.gsub local ulower = m_str_utils.lower local ufind = m_str_utils.find local unpack = unpack or table.unpack -- Lua 5.2 compatibility local insert = table....&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local export = {}&lt;br /&gt;
&lt;br /&gt;
local m_str_utils = require(&amp;quot;Module:string utilities&amp;quot;)&lt;br /&gt;
local lang = require(&amp;quot;Module:languages&amp;quot;).getByCode(&amp;quot;hy&amp;quot;)&lt;br /&gt;
local m_IPA = require(&amp;quot;Module:IPA&amp;quot;)&lt;br /&gt;
local yesno_module = &amp;quot;Module:yesno&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local toNFC = mw.ustring.toNFC&lt;br /&gt;
local trim = m_str_utils.trim&lt;br /&gt;
local ufind = m_str_utils.find&lt;br /&gt;
local ugsub = m_str_utils.gsub&lt;br /&gt;
local ulower = m_str_utils.lower&lt;br /&gt;
local ufind = m_str_utils.find&lt;br /&gt;
local unpack = unpack or table.unpack -- Lua 5.2 compatibility&lt;br /&gt;
local insert = table.insert&lt;br /&gt;
local concat = table.concat&lt;br /&gt;
&lt;br /&gt;
local trackfn = require(&amp;quot;Module:debug&amp;quot;).track&lt;br /&gt;
&lt;br /&gt;
local function track(page)&lt;br /&gt;
	trackfn(&amp;quot;hy-pronunciation/&amp;quot; .. page)&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- single characters that map to IPA sounds&lt;br /&gt;
local phonemic_chars_map = {&lt;br /&gt;
	-- Eastern Armenian&lt;br /&gt;
	east = {&lt;br /&gt;
		[&amp;quot;ա&amp;quot;] = &amp;quot;ɑ&amp;quot;,&lt;br /&gt;
		[&amp;quot;բ&amp;quot;] = &amp;quot;b&amp;quot;,&lt;br /&gt;
		[&amp;quot;գ&amp;quot;] = &amp;quot;ɡ&amp;quot;,&lt;br /&gt;
		[&amp;quot;դ&amp;quot;] = &amp;quot;d&amp;quot;,&lt;br /&gt;
		[&amp;quot;ե&amp;quot;] = &amp;quot;e&amp;quot;,&lt;br /&gt;
		[&amp;quot;զ&amp;quot;] = &amp;quot;z&amp;quot;,&lt;br /&gt;
		[&amp;quot;է&amp;quot;] = &amp;quot;e&amp;quot;,&lt;br /&gt;
		[&amp;quot;ը&amp;quot;] = &amp;quot;ə&amp;quot;,&lt;br /&gt;
		[&amp;quot;թ&amp;quot;] = &amp;quot;tʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ժ&amp;quot;] = &amp;quot;ʒ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ի&amp;quot;] = &amp;quot;i&amp;quot;,&lt;br /&gt;
		[&amp;quot;լ&amp;quot;] = &amp;quot;l&amp;quot;,&lt;br /&gt;
		[&amp;quot;խ&amp;quot;] = &amp;quot;χ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ծ&amp;quot;] = &amp;quot;t͡s&amp;quot;,&lt;br /&gt;
		[&amp;quot;կ&amp;quot;] = &amp;quot;k&amp;quot;,&lt;br /&gt;
		[&amp;quot;հ&amp;quot;] = &amp;quot;h&amp;quot;,&lt;br /&gt;
		[&amp;quot;ձ&amp;quot;] = &amp;quot;d͡z&amp;quot;,&lt;br /&gt;
		[&amp;quot;ղ&amp;quot;] = &amp;quot;ʁ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ճ&amp;quot;] = &amp;quot;t͡ʃ&amp;quot;,&lt;br /&gt;
		[&amp;quot;մ&amp;quot;] = &amp;quot;m&amp;quot;,&lt;br /&gt;
		[&amp;quot;յ&amp;quot;] = &amp;quot;j&amp;quot;,&lt;br /&gt;
		[&amp;quot;ն&amp;quot;] = &amp;quot;n&amp;quot;,&lt;br /&gt;
		[&amp;quot;շ&amp;quot;] = &amp;quot;ʃ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ո&amp;quot;] = &amp;quot;o&amp;quot;,&lt;br /&gt;
		[&amp;quot;չ&amp;quot;] = &amp;quot;t͡ʃʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;պ&amp;quot;] = &amp;quot;p&amp;quot;,&lt;br /&gt;
		[&amp;quot;ջ&amp;quot;] = &amp;quot;d͡ʒ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ռ&amp;quot;] = &amp;quot;r&amp;quot;,&lt;br /&gt;
		[&amp;quot;ս&amp;quot;] = &amp;quot;s&amp;quot;,&lt;br /&gt;
		[&amp;quot;վ&amp;quot;] = &amp;quot;v&amp;quot;,&lt;br /&gt;
		[&amp;quot;տ&amp;quot;] = &amp;quot;t&amp;quot;,&lt;br /&gt;
		[&amp;quot;ր&amp;quot;] = &amp;quot;ɾ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ց&amp;quot;] = &amp;quot;t͡sʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ւ&amp;quot;] = &amp;quot;v&amp;quot;,&lt;br /&gt;
		[&amp;quot;փ&amp;quot;] = &amp;quot;pʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ք&amp;quot;] = &amp;quot;kʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;և&amp;quot;] = &amp;quot;ev&amp;quot;,&lt;br /&gt;
		[&amp;quot;օ&amp;quot;] = &amp;quot;o&amp;quot;,&lt;br /&gt;
		[&amp;quot;ֆ&amp;quot;] = &amp;quot;f&amp;quot;,&lt;br /&gt;
		[&amp;quot;-&amp;quot;] = &amp;quot; &amp;quot;,&lt;br /&gt;
		[&amp;quot;’&amp;quot;] = &amp;quot;&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
	-- Western Armenian&lt;br /&gt;
	west = {&lt;br /&gt;
		[&amp;quot;ա&amp;quot;] = &amp;quot;ɑ&amp;quot;,&lt;br /&gt;
		[&amp;quot;բ&amp;quot;] = &amp;quot;p&amp;quot;,&lt;br /&gt;
		[&amp;quot;գ&amp;quot;] = &amp;quot;k&amp;quot;,&lt;br /&gt;
		[&amp;quot;դ&amp;quot;] = &amp;quot;t&amp;quot;,&lt;br /&gt;
		[&amp;quot;ե&amp;quot;] = &amp;quot;e&amp;quot;,&lt;br /&gt;
		[&amp;quot;զ&amp;quot;] = &amp;quot;z&amp;quot;,&lt;br /&gt;
		[&amp;quot;է&amp;quot;] = &amp;quot;e&amp;quot;,&lt;br /&gt;
		[&amp;quot;ը&amp;quot;] = &amp;quot;ə&amp;quot;,&lt;br /&gt;
		[&amp;quot;թ&amp;quot;] = &amp;quot;t&amp;quot;,&lt;br /&gt;
		[&amp;quot;ժ&amp;quot;] = &amp;quot;ʒ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ի&amp;quot;] = &amp;quot;i&amp;quot;,&lt;br /&gt;
		[&amp;quot;լ&amp;quot;] = &amp;quot;l&amp;quot;,&lt;br /&gt;
		[&amp;quot;խ&amp;quot;] = &amp;quot;χ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ծ&amp;quot;] = &amp;quot;d͡z&amp;quot;,&lt;br /&gt;
		[&amp;quot;կ&amp;quot;] = &amp;quot;ɡ&amp;quot;,&lt;br /&gt;
		[&amp;quot;հ&amp;quot;] = &amp;quot;h&amp;quot;,&lt;br /&gt;
		[&amp;quot;ձ&amp;quot;] = &amp;quot;t͡s&amp;quot;,&lt;br /&gt;
		[&amp;quot;ղ&amp;quot;] = &amp;quot;ʁ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ճ&amp;quot;] = &amp;quot;d͡ʒ&amp;quot;,&lt;br /&gt;
		[&amp;quot;մ&amp;quot;] = &amp;quot;m&amp;quot;,&lt;br /&gt;
		[&amp;quot;յ&amp;quot;] = &amp;quot;j&amp;quot;,&lt;br /&gt;
		[&amp;quot;ն&amp;quot;] = &amp;quot;n&amp;quot;,&lt;br /&gt;
		[&amp;quot;շ&amp;quot;] = &amp;quot;ʃ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ո&amp;quot;] = &amp;quot;o&amp;quot;,&lt;br /&gt;
		[&amp;quot;չ&amp;quot;] = &amp;quot;t͡ʃ&amp;quot;,&lt;br /&gt;
		[&amp;quot;պ&amp;quot;] = &amp;quot;b&amp;quot;,&lt;br /&gt;
		[&amp;quot;ջ&amp;quot;] = &amp;quot;t͡ʃ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ռ&amp;quot;] = &amp;quot;ɾ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ս&amp;quot;] = &amp;quot;s&amp;quot;,&lt;br /&gt;
		[&amp;quot;վ&amp;quot;] = &amp;quot;v&amp;quot;,&lt;br /&gt;
		[&amp;quot;տ&amp;quot;] = &amp;quot;d&amp;quot;,&lt;br /&gt;
		[&amp;quot;ր&amp;quot;] = &amp;quot;ɾ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ց&amp;quot;] = &amp;quot;t͡s&amp;quot;,&lt;br /&gt;
		[&amp;quot;ւ&amp;quot;] = &amp;quot;v&amp;quot;,&lt;br /&gt;
		[&amp;quot;փ&amp;quot;] = &amp;quot;p&amp;quot;,&lt;br /&gt;
		[&amp;quot;ք&amp;quot;] = &amp;quot;k&amp;quot;,&lt;br /&gt;
		[&amp;quot;և&amp;quot;] = &amp;quot;ev&amp;quot;,&lt;br /&gt;
		[&amp;quot;օ&amp;quot;] = &amp;quot;o&amp;quot;,&lt;br /&gt;
		[&amp;quot;ֆ&amp;quot;] = &amp;quot;f&amp;quot;,&lt;br /&gt;
		[&amp;quot;-&amp;quot;] = &amp;quot; &amp;quot;,&lt;br /&gt;
		[&amp;quot;’&amp;quot;] = &amp;quot;&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- character sequences of two that map to IPA sounds&lt;br /&gt;
local phonemic_2chars_map = {&lt;br /&gt;
	east = {&lt;br /&gt;
		{ &amp;quot;ու&amp;quot;, &amp;quot;u&amp;quot; },&lt;br /&gt;
	},&lt;br /&gt;
	west = {&lt;br /&gt;
		-- if not in the initial position and if not preceded by [ɑeəoiu]&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;(.?.?)յու&amp;quot;, -- can be overridden by using &amp;quot;.&amp;quot;&lt;br /&gt;
			function(before)&lt;br /&gt;
				if not (before == &amp;quot;&amp;quot; or ufind(before, &amp;quot;[%sաեէիոօ]$&amp;quot;) or before == &amp;quot;ու&amp;quot;) then&lt;br /&gt;
					return before .. &amp;quot;ʏ&amp;quot;&lt;br /&gt;
				end&lt;br /&gt;
			end,&lt;br /&gt;
		},&lt;br /&gt;
		{ &amp;quot;ու&amp;quot;, &amp;quot;u&amp;quot; },&lt;br /&gt;
		{ &amp;quot;էօ&amp;quot;, &amp;quot;œ&amp;quot; },&lt;br /&gt;
		-- Western Armenian inserts ə in the causative&lt;br /&gt;
		{ &amp;quot;ցնել&amp;quot;, &amp;quot;t͡sənel&amp;quot; },&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- single characters that map to IPA sounds&lt;br /&gt;
local phonetic_chars_map = {&lt;br /&gt;
	-- Eastern Armenian&lt;br /&gt;
	east = {&lt;br /&gt;
		[&amp;quot;ա&amp;quot;] = &amp;quot;ɑ&amp;quot;,&lt;br /&gt;
		[&amp;quot;բ&amp;quot;] = &amp;quot;b&amp;quot;,&lt;br /&gt;
		[&amp;quot;գ&amp;quot;] = &amp;quot;ɡ&amp;quot;,&lt;br /&gt;
		[&amp;quot;դ&amp;quot;] = &amp;quot;d&amp;quot;,&lt;br /&gt;
		[&amp;quot;ե&amp;quot;] = &amp;quot;e&amp;quot;,&lt;br /&gt;
		[&amp;quot;զ&amp;quot;] = &amp;quot;z&amp;quot;,&lt;br /&gt;
		[&amp;quot;է&amp;quot;] = &amp;quot;e&amp;quot;,&lt;br /&gt;
		[&amp;quot;ը&amp;quot;] = &amp;quot;ə&amp;quot;,&lt;br /&gt;
		[&amp;quot;թ&amp;quot;] = &amp;quot;tʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ժ&amp;quot;] = &amp;quot;ʒ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ի&amp;quot;] = &amp;quot;i&amp;quot;,&lt;br /&gt;
		[&amp;quot;լ&amp;quot;] = &amp;quot;l&amp;quot;,&lt;br /&gt;
		[&amp;quot;խ&amp;quot;] = &amp;quot;χ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ծ&amp;quot;] = &amp;quot;t͡s&amp;quot;,&lt;br /&gt;
		[&amp;quot;կ&amp;quot;] = &amp;quot;k&amp;quot;,&lt;br /&gt;
		[&amp;quot;հ&amp;quot;] = &amp;quot;h&amp;quot;,&lt;br /&gt;
		[&amp;quot;ձ&amp;quot;] = &amp;quot;d͡z&amp;quot;,&lt;br /&gt;
		[&amp;quot;ղ&amp;quot;] = &amp;quot;ʁ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ճ&amp;quot;] = &amp;quot;t͡ʃ&amp;quot;,&lt;br /&gt;
		[&amp;quot;մ&amp;quot;] = &amp;quot;m&amp;quot;,&lt;br /&gt;
		[&amp;quot;յ&amp;quot;] = &amp;quot;j&amp;quot;,&lt;br /&gt;
		[&amp;quot;ն&amp;quot;] = &amp;quot;n&amp;quot;,&lt;br /&gt;
		[&amp;quot;շ&amp;quot;] = &amp;quot;ʃ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ո&amp;quot;] = &amp;quot;o&amp;quot;,&lt;br /&gt;
		[&amp;quot;չ&amp;quot;] = &amp;quot;t͡ʃʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;պ&amp;quot;] = &amp;quot;p&amp;quot;,&lt;br /&gt;
		[&amp;quot;ջ&amp;quot;] = &amp;quot;d͡ʒ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ռ&amp;quot;] = &amp;quot;r&amp;quot;,&lt;br /&gt;
		[&amp;quot;ս&amp;quot;] = &amp;quot;s&amp;quot;,&lt;br /&gt;
		[&amp;quot;վ&amp;quot;] = &amp;quot;v&amp;quot;,&lt;br /&gt;
		[&amp;quot;տ&amp;quot;] = &amp;quot;t&amp;quot;,&lt;br /&gt;
		[&amp;quot;ր&amp;quot;] = &amp;quot;ɾ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ց&amp;quot;] = &amp;quot;t͡sʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ւ&amp;quot;] = &amp;quot;v&amp;quot;,&lt;br /&gt;
		[&amp;quot;փ&amp;quot;] = &amp;quot;pʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ք&amp;quot;] = &amp;quot;kʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;և&amp;quot;] = &amp;quot;ev&amp;quot;,&lt;br /&gt;
		[&amp;quot;օ&amp;quot;] = &amp;quot;o&amp;quot;,&lt;br /&gt;
		[&amp;quot;ֆ&amp;quot;] = &amp;quot;f&amp;quot;,&lt;br /&gt;
		[&amp;quot;-&amp;quot;] = &amp;quot; &amp;quot;,&lt;br /&gt;
		[&amp;quot;’&amp;quot;] = &amp;quot;&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
	-- note that the default pronunciation of ostensible /ɾ/ is [ɹ]&lt;br /&gt;
	-- Western Armenian&lt;br /&gt;
	west = {&lt;br /&gt;
		[&amp;quot;ա&amp;quot;] = &amp;quot;ɑ&amp;quot;,&lt;br /&gt;
		[&amp;quot;բ&amp;quot;] = &amp;quot;pʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;գ&amp;quot;] = &amp;quot;kʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;դ&amp;quot;] = &amp;quot;tʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ե&amp;quot;] = &amp;quot;e&amp;quot;,&lt;br /&gt;
		[&amp;quot;զ&amp;quot;] = &amp;quot;z&amp;quot;,&lt;br /&gt;
		[&amp;quot;է&amp;quot;] = &amp;quot;e&amp;quot;,&lt;br /&gt;
		[&amp;quot;ը&amp;quot;] = &amp;quot;ə&amp;quot;,&lt;br /&gt;
		[&amp;quot;թ&amp;quot;] = &amp;quot;tʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ժ&amp;quot;] = &amp;quot;ʒ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ի&amp;quot;] = &amp;quot;i&amp;quot;,&lt;br /&gt;
		[&amp;quot;լ&amp;quot;] = &amp;quot;l&amp;quot;,&lt;br /&gt;
		[&amp;quot;խ&amp;quot;] = &amp;quot;χ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ծ&amp;quot;] = &amp;quot;d͡z&amp;quot;,&lt;br /&gt;
		[&amp;quot;կ&amp;quot;] = &amp;quot;ɡ&amp;quot;,&lt;br /&gt;
		[&amp;quot;հ&amp;quot;] = &amp;quot;h&amp;quot;,&lt;br /&gt;
		[&amp;quot;ձ&amp;quot;] = &amp;quot;t͡sʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ղ&amp;quot;] = &amp;quot;ʁ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ճ&amp;quot;] = &amp;quot;d͡ʒ&amp;quot;,&lt;br /&gt;
		[&amp;quot;մ&amp;quot;] = &amp;quot;m&amp;quot;,&lt;br /&gt;
		[&amp;quot;յ&amp;quot;] = &amp;quot;j&amp;quot;,&lt;br /&gt;
		[&amp;quot;ն&amp;quot;] = &amp;quot;n&amp;quot;,&lt;br /&gt;
		[&amp;quot;շ&amp;quot;] = &amp;quot;ʃ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ո&amp;quot;] = &amp;quot;o&amp;quot;,&lt;br /&gt;
		[&amp;quot;չ&amp;quot;] = &amp;quot;t͡ʃʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;պ&amp;quot;] = &amp;quot;b&amp;quot;,&lt;br /&gt;
		[&amp;quot;ջ&amp;quot;] = &amp;quot;t͡ʃʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ռ&amp;quot;] = &amp;quot;ɾ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ս&amp;quot;] = &amp;quot;s&amp;quot;,&lt;br /&gt;
		[&amp;quot;վ&amp;quot;] = &amp;quot;v&amp;quot;,&lt;br /&gt;
		[&amp;quot;տ&amp;quot;] = &amp;quot;d&amp;quot;,&lt;br /&gt;
		[&amp;quot;ր&amp;quot;] = &amp;quot;ɾ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ց&amp;quot;] = &amp;quot;t͡sʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ւ&amp;quot;] = &amp;quot;v&amp;quot;,&lt;br /&gt;
		[&amp;quot;փ&amp;quot;] = &amp;quot;pʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;ք&amp;quot;] = &amp;quot;kʰ&amp;quot;,&lt;br /&gt;
		[&amp;quot;և&amp;quot;] = &amp;quot;ev&amp;quot;,&lt;br /&gt;
		[&amp;quot;օ&amp;quot;] = &amp;quot;o&amp;quot;,&lt;br /&gt;
		[&amp;quot;ֆ&amp;quot;] = &amp;quot;f&amp;quot;,&lt;br /&gt;
		[&amp;quot;-&amp;quot;] = &amp;quot; &amp;quot;,&lt;br /&gt;
		[&amp;quot;’&amp;quot;] = &amp;quot;&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- character sequences of two that map to IPA sounds&lt;br /&gt;
local phonetic_2chars_map = {&lt;br /&gt;
	east = {&lt;br /&gt;
		{ &amp;quot;ու&amp;quot;, &amp;quot;u&amp;quot; },&lt;br /&gt;
	},&lt;br /&gt;
	west = {&lt;br /&gt;
		-- if not in the initial position and if not preceded by [ɑeəoiu]&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;(.?.?)յու&amp;quot;, -- can be overridden by using &amp;quot;.&amp;quot;&lt;br /&gt;
			function(before)&lt;br /&gt;
				if not (before == &amp;quot;&amp;quot; or ufind(before, &amp;quot;[%sաեէիոօ]#&amp;quot;) or before == &amp;quot;ու&amp;quot;) then&lt;br /&gt;
					return before .. &amp;quot;ʏ&amp;quot;&lt;br /&gt;
				end&lt;br /&gt;
			end,&lt;br /&gt;
		},&lt;br /&gt;
		{ &amp;quot;ու&amp;quot;, &amp;quot;u&amp;quot; },&lt;br /&gt;
		{ &amp;quot;էօ&amp;quot;, &amp;quot;œ&amp;quot; },&lt;br /&gt;
		-- պ, տ, կ are not voiced after ս and շ&lt;br /&gt;
		{ &amp;quot;սպ&amp;quot;, &amp;quot;sp&amp;quot; },&lt;br /&gt;
		{ &amp;quot;ստ&amp;quot;, &amp;quot;st&amp;quot; },&lt;br /&gt;
		{ &amp;quot;սկ&amp;quot;, &amp;quot;sk&amp;quot; },&lt;br /&gt;
		{ &amp;quot;շպ&amp;quot;, &amp;quot;ʃp&amp;quot; },&lt;br /&gt;
		{ &amp;quot;շտ&amp;quot;, &amp;quot;ʃt&amp;quot; },&lt;br /&gt;
		{ &amp;quot;շկ&amp;quot;, &amp;quot;ʃk&amp;quot; },&lt;br /&gt;
		-- Western Armenian inserts ə in the causative&lt;br /&gt;
		{ &amp;quot;ցնել&amp;quot;, &amp;quot;t͡sʰənel&amp;quot; },&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function export.phonemic_IPA(phonemic, system)&lt;br /&gt;
	if not (phonemic_chars_map[system] and phonemic_2chars_map[system]) then&lt;br /&gt;
		error(&amp;quot;Invalid system &amp;quot; .. tostring(system))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	phonemic = ulower(phonemic)&lt;br /&gt;
&lt;br /&gt;
	-- then long consonants that are orthographically geminated.&lt;br /&gt;
&lt;br /&gt;
	for _, replacement in ipairs(phonemic_2chars_map[system]) do&lt;br /&gt;
		phonemic = ugsub(phonemic, unpack(replacement))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- ոու is pronounced ou&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;ոːւ&amp;quot;, &amp;quot;օու&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- ե and ո are pronounced as je and vo word-initially.&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;^ե&amp;quot;, &amp;quot;յէ&amp;quot;)&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;^ո&amp;quot;, &amp;quot;վօ&amp;quot;)&lt;br /&gt;
	-- except when followed by another վ.&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;^վօվ&amp;quot;, &amp;quot;օվ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	--final ք, from the ancient plural, is extrasyllabic and should be marked.&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;([^ɑeiouəœʏ])ք$&amp;quot;, &amp;quot;%1.ք&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- ոու is pronounced oov&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;ոու&amp;quot;, &amp;quot;օու&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- palatalization in the Eastern Armenian sequence -ությ-, especially in the suffix -ություն [considered non-standard by strict prescriptivists]&lt;br /&gt;
	if system == &amp;quot;east&amp;quot; then&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;ությ&amp;quot;, &amp;quot;ուցյ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;([բդգձջզժց])([փթքցչ])&amp;quot;, &amp;quot;%1%2&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;.&amp;quot;, phonemic_chars_map[system])&lt;br /&gt;
&lt;br /&gt;
	--oov is actually ou&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;oov&amp;quot;, &amp;quot;ou&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if system == &amp;quot;west&amp;quot; then&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;b([ptk])&amp;quot;, &amp;quot;p%1&amp;quot;)&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;d([ptk])&amp;quot;, &amp;quot;t%1&amp;quot;)&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;ɡ([ptk])&amp;quot;, &amp;quot;k%1&amp;quot;)&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;d͡z([ptk])&amp;quot;, &amp;quot;t͡s%1&amp;quot;)&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;d͡ʒ([ptk])&amp;quot;, &amp;quot;t͡ʃ%1&amp;quot;)&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;z([ptk])&amp;quot;, &amp;quot;s%1&amp;quot;)&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;ʒ([ptk])&amp;quot;, &amp;quot;ʃ%1&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;ʁ([ptksʃ])&amp;quot;, &amp;quot;χ%1&amp;quot;)&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;v([ptksʃ])&amp;quot;, &amp;quot;f%1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- generating the stress&lt;br /&gt;
	phonemic = ugsub(phonemic, &amp;quot;%S+&amp;quot;, function(word)&lt;br /&gt;
		-- Do not add a stress mark for monosyllabic words. Check to see if the word contains only a single instance of [ɑeəoiuœʏ]+.&lt;br /&gt;
		local numberOfVowels = select(2, ugsub(word, &amp;quot;[ɑeəoiuœʏ]&amp;quot;, &amp;quot;%0&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
		-- If polysyllabic, add IPA stress mark using the following rules. The stress is always on the last syllable not&lt;br /&gt;
		-- formed by schwa [ə]. In some rare cases the stress is not on the last syllable. In such cases the stressed vowel&lt;br /&gt;
		-- is marked by the Armenian stress character &amp;lt;՛&amp;gt;, e.g. մի՛թե. So:&lt;br /&gt;
		--      1) Find the vowel followed by &amp;lt;՛&amp;gt;․ If none, jump to step 2. Else check if it is the first vowel of the word.&lt;br /&gt;
		--         If true, put the IPA stress at the beginning, else do step 3.&lt;br /&gt;
		--      2) Find the last non-schwa vowel, i.e. [ɑeoiuœʏ],&lt;br /&gt;
		--      3) If the IPA symbol preceding it is [ɑeəoiuœʏ], i.e. a vowel, put the stress symbol between them,&lt;br /&gt;
		--         if it is NOT [ɑeoiuəœʏ], i.e. it is a consonant,&lt;br /&gt;
		--         put the stress before that consonant.&lt;br /&gt;
		if numberOfVowels &amp;gt; 1 then&lt;br /&gt;
			local rcount&lt;br /&gt;
			word, rcount = ugsub(word, &amp;quot;([^ɑeoiuœʏə]*[ɑeoiuœʏə])՛&amp;quot;, &amp;quot;ˈ%1&amp;quot;)&lt;br /&gt;
			if rcount == 0 then&lt;br /&gt;
				word = ugsub(word, &amp;quot;([^ɑeoiuœʏə]*[ɑeoiuœʏ][^ɑeoiuœʏə]*)$&amp;quot;, &amp;quot;ˈ%1&amp;quot;)&lt;br /&gt;
				word = ugsub(&lt;br /&gt;
					word,&lt;br /&gt;
					&amp;quot;([^ɑeoiuœʏə]*[ɑeəoiuœʏ]?[ɑeoiuœʏ][^ɑeoiuœʏə]*ə[^ɑeoiuœʏə]*)#&amp;quot;,&lt;br /&gt;
					&amp;quot;ˈ%1#&amp;quot;&lt;br /&gt;
				)&lt;br /&gt;
			end&lt;br /&gt;
			-- Including () in the second and third sets will only work&lt;br /&gt;
			-- if () never encloses a vowel.&lt;br /&gt;
			word = ugsub(word, &amp;quot;([ɑeəoiuœʏ])ˈ([^ɑeoiuœʏə()]+)([^ɑeoiuœʏəːˈʰ()j])&amp;quot;, &amp;quot;%1%2ˈ%3&amp;quot;)&lt;br /&gt;
			word = ugsub(word, &amp;quot;(.)͡ˈ&amp;quot;, &amp;quot;ˈ%1͡&amp;quot;)&lt;br /&gt;
			return word&lt;br /&gt;
		end&lt;br /&gt;
	end)&lt;br /&gt;
&lt;br /&gt;
	-- move stress marker out of opening/closing parentheses&lt;br /&gt;
	if system == &amp;quot;east&amp;quot; or system == &amp;quot;west&amp;quot; then&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;ˈ%)&amp;quot;, &amp;quot;)ˈ&amp;quot;)&lt;br /&gt;
		phonemic = ugsub(phonemic, &amp;quot;%(ˈ&amp;quot;, &amp;quot;ˈ(&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- &amp;quot;.&amp;quot; prevents assimilation and can act as a dummy initial consonant, so must be removed.&lt;br /&gt;
	phonemic = phonemic:gsub(&amp;quot;%.&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	phonemic = trim(phonemic)&lt;br /&gt;
&lt;br /&gt;
	return toNFC(phonemic)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.phonetic_IPA(phonetic, system)&lt;br /&gt;
	if not (phonetic_chars_map[system] and phonetic_2chars_map[system]) then&lt;br /&gt;
		error(&amp;quot;Invalid system &amp;quot; .. tostring(system))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	phonetic = ulower(phonetic)&lt;br /&gt;
&lt;br /&gt;
	-- then long consonants that are orthographically geminated.&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;(.)%1&amp;quot;, &amp;quot;%1ː&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot; | &amp;quot;, &amp;quot;# | #&amp;quot;)&lt;br /&gt;
	phonetic = &amp;quot;##&amp;quot; .. ugsub(phonetic, &amp;quot; &amp;quot;, &amp;quot;# #&amp;quot;) .. &amp;quot;##&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	for _, replacement in ipairs(phonetic_2chars_map[system]) do&lt;br /&gt;
		phonetic = ugsub(phonetic, unpack(replacement))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- ոու is pronounced ou&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ոːւ&amp;quot;, &amp;quot;օու&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- ե and ո are pronounced as je and vo word-initially.&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;#ե&amp;quot;, &amp;quot;#յէ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;#ո&amp;quot;, &amp;quot;#վօ&amp;quot;)&lt;br /&gt;
	-- except when followed by another վ.&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;#վօվ&amp;quot;, &amp;quot;#օվ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- ոու is pronounced oov&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ոու&amp;quot;, &amp;quot;օու&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;.&amp;quot;, phonetic_chars_map[system])&lt;br /&gt;
&lt;br /&gt;
	--oov is actually ou&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;oov&amp;quot;, &amp;quot;ou&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	--իա at the end of words is pronounced ja&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;iɑ#&amp;quot;, &amp;quot;jɑ#&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- insertion of the optional glide&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;iɑ&amp;quot;, &amp;quot;i(j)ɑ&amp;quot;) -- cases like խավիար, Մարիամ where &amp;quot;iɑ&amp;quot; is &amp;quot;jɑ&amp;quot; should be overriden manually: խավյար, Մարյամ. This is done automatically for final -իա&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ie&amp;quot;, &amp;quot;i(j)e&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;io&amp;quot;, &amp;quot;i(j)o&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;iu&amp;quot;, &amp;quot;i(j)u&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ɑi&amp;quot;, &amp;quot;ɑ(j)i&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;eɑ&amp;quot;, &amp;quot;e(j)ɑ&amp;quot;) -- cases like հոգեառ, ափեափ where no glide inserted because of boundaries between morphemes need to be handled manually by inserting a dot: հոքե.առ, ափե.ափ&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ei&amp;quot;, &amp;quot;e(j)i&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;eu&amp;quot;, &amp;quot;e(j)u&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;oe&amp;quot;, &amp;quot;o(j)e&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;oi&amp;quot;, &amp;quot;o(j)i&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ui&amp;quot;, &amp;quot;u(j)i&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if ufind(phonetic, &amp;quot;(j)&amp;quot;, 1, true) then&lt;br /&gt;
		-- [[Wiktionary:Tracking/hy-pronunciation/optional glide]]&lt;br /&gt;
		track(&amp;quot;optional glide&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- assimilation: ppʰ = pʰː; ttʰ = tʰː; ; kkʰ = kʰː&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ppʰ&amp;quot;, &amp;quot;pʰː&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ttʰ&amp;quot;, &amp;quot;tʰː&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;kkʰ &amp;quot;, &amp;quot;kʰː&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- nasal assimilation&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;n([ɡk]+)&amp;quot;, &amp;quot;ŋ%1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- pseudo-palatalization under the influence of Russian [COLLOQUIAL, NOT STANDARD]&lt;br /&gt;
	--phonetic = ugsub(phonetic, &amp;quot;tj&amp;quot;, &amp;quot;t͡sj&amp;quot;)&lt;br /&gt;
	--phonetic = ugsub(phonetic, &amp;quot;tʰj&amp;quot;, &amp;quot;t͡sʰj&amp;quot;)&lt;br /&gt;
	--phonetic = ugsub(phonetic, &amp;quot;dj&amp;quot;, &amp;quot;d͡zj&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- palatalization in the Eastern Armenian sequence -ությ-, especially in the suffix -ություն [considered non-standard by strict prescriptivists]&lt;br /&gt;
	if system == &amp;quot;east&amp;quot; then&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;utʰj&amp;quot;, &amp;quot;ut͡sʰj&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- trilling of ɾ in some positions [COLLOQUIAL, NOT STANDARD]&lt;br /&gt;
	--phonetic = ugsub(phonetic, &amp;quot;ɾt&amp;quot;, &amp;quot;rt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- devoicing of consonants in some positions&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;bpʰ&amp;quot;, &amp;quot;pʰː&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;dpʰ&amp;quot;, &amp;quot;tʰpʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ɡpʰ&amp;quot;, &amp;quot;kʰpʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡zpʰ&amp;quot;, &amp;quot;t͡sʰpʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡ʒpʰ&amp;quot;, &amp;quot;t͡ʃʰpʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vpʰ&amp;quot;, &amp;quot;fpʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʒpʰ&amp;quot;, &amp;quot;ʃpʰ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;btʰ&amp;quot;, &amp;quot;pʰtʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;dtʰ&amp;quot;, &amp;quot;tʰː&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ɡtʰ&amp;quot;, &amp;quot;kʰtʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡ztʰ&amp;quot;, &amp;quot;t͡sʰtʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡ʒtʰ&amp;quot;, &amp;quot;t͡ʃʰtʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vtʰ&amp;quot;, &amp;quot;ftʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʒtʰ&amp;quot;, &amp;quot;ʃtʰ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;bkʰ&amp;quot;, &amp;quot;pʰkʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;dkʰ&amp;quot;, &amp;quot;tkʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ɡkʰ&amp;quot;, &amp;quot;kʰː&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡zkʰ&amp;quot;, &amp;quot;t͡sʰkʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡ʒkʰ&amp;quot;, &amp;quot;t͡ʃʰkʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vkʰ&amp;quot;, &amp;quot;fkʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʒkʰ&amp;quot;, &amp;quot;ʃkʰ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;bt͡ʃʰ&amp;quot;, &amp;quot;pʰt͡ʃʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;dt͡ʃʰ&amp;quot;, &amp;quot;tʰt͡ʃʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ɡt͡ʃʰ&amp;quot;, &amp;quot;kʰt͡ʃʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡zt͡ʃʰ&amp;quot;, &amp;quot;t͡sʰt͡ʃʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡ʒt͡ʃʰ&amp;quot;, &amp;quot;t͡ʃʰː&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vt͡ʃʰ&amp;quot;, &amp;quot;ft͡ʃʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʒt͡ʃʰ&amp;quot;, &amp;quot;ʃt͡ʃʰ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;bt͡sʰ&amp;quot;, &amp;quot;pʰt͡sʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;dt͡sʰ&amp;quot;, &amp;quot;tʰt͡sʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ɡt͡sʰ&amp;quot;, &amp;quot;kʰt͡sʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡zt͡sʰ&amp;quot;, &amp;quot;t͡sʰː&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;d͡ʒt͡sʰ&amp;quot;, &amp;quot;t͡ʃʰt͡sʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vt͡sʰ&amp;quot;, &amp;quot;ft͡sʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʒt͡sʰ&amp;quot;, &amp;quot;ʃt͡sʰ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;zpʰ&amp;quot;, &amp;quot;spʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ztʰ&amp;quot;, &amp;quot;stʰ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;zkʰ&amp;quot;, &amp;quot;skʰ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʁt͡s&amp;quot;, &amp;quot;χt͡s&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʁt͡ʃ&amp;quot;, &amp;quot;χt͡ʃ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʁp&amp;quot;, &amp;quot;χp&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʁt&amp;quot;, &amp;quot;χt&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʁk&amp;quot;, &amp;quot;χk&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʁs&amp;quot;, &amp;quot;χs&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;ʁʃ&amp;quot;, &amp;quot;χʃ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vt͡s&amp;quot;, &amp;quot;ft͡s&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vt͡ʃ&amp;quot;, &amp;quot;ft͡ʃ&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vp&amp;quot;, &amp;quot;fp&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vt&amp;quot;, &amp;quot;ft&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vk&amp;quot;, &amp;quot;fk&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vs&amp;quot;, &amp;quot;fs&amp;quot;)&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;vʃ&amp;quot;, &amp;quot;fʃ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if system == &amp;quot;west&amp;quot; then&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;χd͡z&amp;quot;, &amp;quot;χt͡s&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;χd͡ʒ&amp;quot;, &amp;quot;χt͡ʃ&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;χb&amp;quot;, &amp;quot;χp&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;χd&amp;quot;, &amp;quot;χt&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;χɡ&amp;quot;, &amp;quot;χk&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if system == &amp;quot;west&amp;quot; then&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡ʃʰd͡z&amp;quot;, &amp;quot;t͡ʃʰt͡s&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡sʰd͡z&amp;quot;, &amp;quot;t͡sʰt͡s&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;pʰd͡z&amp;quot;, &amp;quot;pʰt͡s&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;tʰd͡z&amp;quot;, &amp;quot;tʰt͡s&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;kʰd͡z&amp;quot;, &amp;quot;kʰt͡s&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡ʃʰd͡ʒ&amp;quot;, &amp;quot;t͡ʃʰt͡ʃ&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡sʰd͡ʒ&amp;quot;, &amp;quot;t͡sʰt͡ʃ&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;pʰd͡ʒ&amp;quot;, &amp;quot;pʰt͡ʃ&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;tʰd͡ʒ&amp;quot;, &amp;quot;tʰt͡ʃ&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;kʰd͡ʒ&amp;quot;, &amp;quot;kʰt͡ʃ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡ʃʰb&amp;quot;, &amp;quot;t͡ʃʰp&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡sʰb&amp;quot;, &amp;quot;t͡sʰp&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;pʰb&amp;quot;, &amp;quot;pʰp&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;tʰb&amp;quot;, &amp;quot;tʰp&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;kʰb&amp;quot;, &amp;quot;kʰp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡ʃʰd&amp;quot;, &amp;quot;t͡ʃʰt&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡sʰd&amp;quot;, &amp;quot;t͡sʰt&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;pʰd&amp;quot;, &amp;quot;pʰt&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;tʰd&amp;quot;, &amp;quot;tʰt&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;kʰd&amp;quot;, &amp;quot;kʰt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡ʃʰɡ&amp;quot;, &amp;quot;t͡ʃʰk&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;t͡sʰɡ&amp;quot;, &amp;quot;t͡sʰk&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;pʰɡ&amp;quot;, &amp;quot;pʰk&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;tʰɡ&amp;quot;, &amp;quot;tʰk&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;kʰɡ&amp;quot;, &amp;quot;kʰk&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- prothetic ə before {s/ʃ/z}{p/t/k/b/d/g} in Western Armenian; this rule is not the norm in Eastern Armenian anymore&lt;br /&gt;
	if system == &amp;quot;west&amp;quot; then&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;^([sʃz][ptkbdɡ]+)&amp;quot;, &amp;quot;ə%1&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- generating the stress&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;%S+&amp;quot;, function(word)&lt;br /&gt;
		-- Do not add a stress mark for monosyllabic words. Check to see if the word contains only a single instance of [ɑeəoiuœʏ]+.&lt;br /&gt;
		local numberOfVowels = select(2, ugsub(word, &amp;quot;[ɑeəoiuœʏ]&amp;quot;, &amp;quot;%0&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
		-- If polysyllabic, add an acute using the following rules. The stress is always on the last syllable not&lt;br /&gt;
		-- formed by schwa [ə]. In some rare cases the stress is not on the last syllable. In such cases the stressed vowel&lt;br /&gt;
		-- is marked by the Armenian stress character &amp;lt;՛&amp;gt;, e.g. մի՛թե. So:&lt;br /&gt;
		--      1) Find the vowel followed by &amp;lt;՛&amp;gt; and put the acute on it․ If none, go to step 2.&lt;br /&gt;
		--      2) Find the last non-schwa vowel, i.e. [ɑeoiuœʏ], and put the acute on it.&lt;br /&gt;
		if numberOfVowels &amp;gt; 1 then&lt;br /&gt;
			local rcount&lt;br /&gt;
			word, rcount = ugsub(word, &amp;quot;([ɑeoiuœʏə])՛&amp;quot;, &amp;quot;%1́&amp;quot;)&lt;br /&gt;
			if rcount == 0 then&lt;br /&gt;
				word = ugsub(word, &amp;quot;([ɑeoiuœʏ])([^ɑeoiuœʏə]*)(ə?[^ɑeoiuœʏə]?#)&amp;quot;, &amp;quot;%1́%2%3&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
			return word&lt;br /&gt;
		end&lt;br /&gt;
	end)&lt;br /&gt;
&lt;br /&gt;
	if system == &amp;quot;east&amp;quot; or system == &amp;quot;west&amp;quot; then&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;([td])%1͡([sʃzʒ])(ʰ?)&amp;quot;, &amp;quot;%1̚%1͡%2%3&amp;quot;)&lt;br /&gt;
		phonetic = ugsub(phonetic, &amp;quot;([td])͡([sʃzʒ])(ʰ?)ː&amp;quot;, &amp;quot;%1̚%1͡%2%3&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- &amp;quot;.&amp;quot; prevents assimilation and can act as a dummy initial consonant, so must be removed.&lt;br /&gt;
	phonetic = phonetic:gsub(&amp;quot;%.&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	phonetic = ugsub(phonetic, &amp;quot;#&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	phonetic = trim(phonetic)&lt;br /&gt;
&lt;br /&gt;
	return toNFC(phonetic)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.generic_IPA(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {},&lt;br /&gt;
		[&amp;quot;system&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	local parent_args = frame:getParent().args&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(parent_args, params, nil, &amp;quot;hy-pronunciation&amp;quot;, &amp;quot;IPA&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local pagename = mw.loadData(&amp;quot;Module:headword/data&amp;quot;).pagename&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.IPA(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		E = { type = &amp;quot;boolean&amp;quot;, default = &amp;quot;true&amp;quot; },&lt;br /&gt;
		W = { type = &amp;quot;boolean&amp;quot;, default = &amp;quot;true&amp;quot; },&lt;br /&gt;
		[1] = { list = true },&lt;br /&gt;
		e = { list = true, allow_holes = true },&lt;br /&gt;
		colle = true,&lt;br /&gt;
		w = { list = true, allow_holes = true },&lt;br /&gt;
		collw = true,&lt;br /&gt;
		bare = true,&lt;br /&gt;
		pagename = true,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	local parent_args = frame:getParent().args&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(parent_args, params, nil, &amp;quot;hy-pronunciation&amp;quot;, &amp;quot;IPA&amp;quot;)&lt;br /&gt;
	local lines = {}&lt;br /&gt;
&lt;br /&gt;
	local function ins(text)&lt;br /&gt;
		insert(lines, text)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function get_pagename()&lt;br /&gt;
		return args.pagename or mw.loadData(&amp;quot;Module:headword/data&amp;quot;).pagename&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function generate_pron(pron, system)&lt;br /&gt;
		return { pron = (&amp;quot;/%s/ [%s]&amp;quot;):format(export.phonemic_IPA(pron, system), export.phonetic_IPA(pron, system)) }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.bare then&lt;br /&gt;
		local bare = require(yesno_module)(args.bare, args.bare)&lt;br /&gt;
		if bare == true then&lt;br /&gt;
			bare = &amp;quot;east&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		if bare then&lt;br /&gt;
			local items = {}&lt;br /&gt;
			if not args[1][1] then&lt;br /&gt;
				args[1][1] = get_pagename()&lt;br /&gt;
			end&lt;br /&gt;
			for _, pron in ipairs(args[1]) do&lt;br /&gt;
				insert(items, generate_pron(pron, bare))&lt;br /&gt;
			end&lt;br /&gt;
			return m_IPA.format_IPA_full {&lt;br /&gt;
				lang = lang,&lt;br /&gt;
				items = items,&lt;br /&gt;
			}&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function insert_east_or_west(prons, system, standard_accent, coll_pron, coll_qualifier)&lt;br /&gt;
		local items = {}&lt;br /&gt;
		for _, pron in ipairs(prons) do&lt;br /&gt;
			if pron then&lt;br /&gt;
				insert(items, generate_pron(pron, system))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		ins(&amp;quot;* &amp;quot; .. m_IPA.format_IPA_full({&lt;br /&gt;
			lang = lang,&lt;br /&gt;
			items = items,&lt;br /&gt;
			a = { standard_accent },&lt;br /&gt;
		}))&lt;br /&gt;
		if coll_pron then&lt;br /&gt;
			ins(&amp;quot;** &amp;quot; .. m_IPA.format_IPA_full({&lt;br /&gt;
				lang = lang,&lt;br /&gt;
				items = { generate_pron(coll_pron, system) },&lt;br /&gt;
				q = { coll_qualifier, &amp;quot;colloquial&amp;quot; },&lt;br /&gt;
			}))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function is_empty(tbl)&lt;br /&gt;
		return tbl == nil or next(tbl) == nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function first_item_is_nil_in_non_empty_table(tbl)&lt;br /&gt;
		if is_empty(tbl) then return false end&lt;br /&gt;
		return tbl[1] == nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function insert_all_from_table(result, source)&lt;br /&gt;
		for _, value in ipairs(source) do&lt;br /&gt;
			if value then&lt;br /&gt;
				insert(result, value)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if #args[1] == 1 and args[1][1] == get_pagename() then&lt;br /&gt;
		-- [[Wiktionary:Tracking/hy-pronunciation/input equal to pagename]]&lt;br /&gt;
		track(&amp;quot;input equal to pagename&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.E then&lt;br /&gt;
		local eastern = {}&lt;br /&gt;
&lt;br /&gt;
		if not is_empty(args[1]) then&lt;br /&gt;
			insert_all_from_table(eastern, args[1])&lt;br /&gt;
		elseif not is_empty(args.e) then&lt;br /&gt;
			if first_item_is_nil_in_non_empty_table(args.e) then&lt;br /&gt;
				args.e[1] = get_pagename()&lt;br /&gt;
			end&lt;br /&gt;
			insert_all_from_table(eastern, args.e)&lt;br /&gt;
		else&lt;br /&gt;
			insert(eastern, get_pagename())&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		insert_east_or_west(&lt;br /&gt;
			eastern,&lt;br /&gt;
			&amp;quot;east&amp;quot;,&lt;br /&gt;
			&amp;quot;hy-E&amp;quot;,&lt;br /&gt;
			args.colle,&lt;br /&gt;
			&amp;quot;Eastern Armenian&amp;quot;&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
	if args.W then&lt;br /&gt;
		local western = {}&lt;br /&gt;
&lt;br /&gt;
		if not is_empty(args[1]) then&lt;br /&gt;
			insert_all_from_table(western, args[1])&lt;br /&gt;
		elseif not is_empty(args.w) then&lt;br /&gt;
			if first_item_is_nil_in_non_empty_table(args.w) then&lt;br /&gt;
				args.w[1] = get_pagename()&lt;br /&gt;
			end&lt;br /&gt;
			insert_all_from_table(western, args.w)&lt;br /&gt;
		else&lt;br /&gt;
			insert(western, get_pagename())&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		insert_east_or_west(&lt;br /&gt;
			western,&lt;br /&gt;
			&amp;quot;west&amp;quot;,&lt;br /&gt;
			&amp;quot;hy-W&amp;quot;,&lt;br /&gt;
			args.collw,&lt;br /&gt;
			&amp;quot;Western Armenian&amp;quot;&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return concat(lines, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>Melinoë</name></author>
	</entry>
</feed>