<?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%3Aks-Arab-translit</id>
	<title>Module:ks-Arab-translit - 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%3Aks-Arab-translit"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:ks-Arab-translit&amp;action=history"/>
	<updated>2026-05-19T03:06:33Z</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:ks-Arab-translit&amp;diff=495877&amp;oldid=prev</id>
		<title>Sware: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:ks-Arab-translit&amp;diff=495877&amp;oldid=prev"/>
		<updated>2026-04-21T12:45:07Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:45, 21 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:ks-Arab-translit&amp;diff=495876&amp;oldid=prev</id>
		<title>wikt&gt;Sinonquoi at 18:39, 13 August 2025</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:ks-Arab-translit&amp;diff=495876&amp;oldid=prev"/>
		<updated>2025-08-13T18:39:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- TODO: long í support&lt;br /&gt;
-- TODO: sort out short e vs palatalisation&lt;br /&gt;
-- TODO: add rule for CẹC = CyaC&lt;br /&gt;
&lt;br /&gt;
local u = require(&amp;quot;Module:string/char&amp;quot;)&lt;br /&gt;
local gsub = mw.ustring.gsub&lt;br /&gt;
&lt;br /&gt;
local export = {}&lt;br /&gt;
&lt;br /&gt;
-- defined below&lt;br /&gt;
local invalid_vowel_combination&lt;br /&gt;
&lt;br /&gt;
local khatma = &amp;#039;۔&amp;#039;&lt;br /&gt;
local question_mark = &amp;#039;؟&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local vav = &amp;#039;و&amp;#039;&lt;br /&gt;
local ye = &amp;#039;ی&amp;#039;&lt;br /&gt;
local alif = &amp;#039;ا&amp;#039;&lt;br /&gt;
local he = &amp;#039;ہ&amp;#039;&lt;br /&gt;
local docheshm = u(0x06BE)&lt;br /&gt;
&lt;br /&gt;
local re = &amp;#039;ر&amp;#039;&lt;br /&gt;
local nun = &amp;#039;ن&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local vw_s_cfu = u(0x0650) -- pesh (i)&lt;br /&gt;
local vw_s_ccu = u(0x0655) -- hamza below&lt;br /&gt;
local vw_s_cbr = u(0x064F) -- zer (u)&lt;br /&gt;
local vw_s_mcu = u(0x0654) -- hamza above&lt;br /&gt;
local vw_s_ocu = u(0x064E) -- zabar (a)&lt;br /&gt;
&lt;br /&gt;
local vw_l_cbr = u(0x0657) -- inverted zer&lt;br /&gt;
local vw_l_cfu = u(0x0656) -- subscript alif&lt;br /&gt;
&lt;br /&gt;
local hat = u(0x065A) -- V&lt;br /&gt;
local inverted_hat = u(0x065B) -- inverted V&lt;br /&gt;
local hats = hat .. inverted_hat&lt;br /&gt;
&lt;br /&gt;
local short_vowels_list = vw_s_cfu .. vw_s_ccu .. vw_s_cbr .. vw_s_mcu .. vw_s_ocu &lt;br /&gt;
&lt;br /&gt;
-- carrier + diacritic combos&lt;br /&gt;
local long_u = vav .. vw_l_cbr&lt;br /&gt;
local short_o = vav .. inverted_hat&lt;br /&gt;
local long_i = ye .. vw_l_cfu&lt;br /&gt;
local short_ye = ye .. inverted_hat&lt;br /&gt;
&lt;br /&gt;
local vocalised_carrier = long_u .. short_o .. long_i .. short_ye .. &amp;#039;ێ&amp;#039; .. &amp;#039;ۆ&amp;#039; .. &amp;#039;اٟ&amp;#039; .. &amp;#039;ۄ&amp;#039;&lt;br /&gt;
local standalone_carrier = long_u .. short_o .. long_i .. short_ye .. &amp;#039;ۆ&amp;#039; .. &amp;#039;ێ&amp;#039; .. &amp;#039;ۆ&amp;#039; .. &amp;#039;اٟ&amp;#039; .. &amp;#039;ۄ&amp;#039;&lt;br /&gt;
local palatalisers = &amp;quot;ۍؠ&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local consonants = &amp;quot;بپتٹجچدڈرڑزژسشفکگلمنهھےثحخذصضطظعغقۍۄیٲآ&amp;quot;&lt;br /&gt;
local consonants_latn = &amp;quot;bptṭsjchxdḍzrċsśzʿġfqkglmnhv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local conv = {&lt;br /&gt;
	-- consonants&lt;br /&gt;
	[&amp;#039;ب&amp;#039;] = &amp;#039;b&amp;#039;, [&amp;#039;پ&amp;#039;] = &amp;#039;p&amp;#039;, [&amp;#039;ت&amp;#039;] = &amp;#039;t&amp;#039;, [&amp;#039;ٹ&amp;#039;] = &amp;#039;ṭ&amp;#039;, [&amp;#039;ث&amp;#039;] = &amp;#039;s&amp;#039;,&lt;br /&gt;
	[&amp;#039;ج&amp;#039;] = &amp;#039;j&amp;#039;, [&amp;#039;چ&amp;#039;] = &amp;#039;c&amp;#039;, [&amp;#039;ح&amp;#039;] = &amp;#039;h&amp;#039;, [&amp;#039;خ&amp;#039;] = &amp;#039;kh&amp;#039;,&lt;br /&gt;
	[&amp;#039;د&amp;#039;] = &amp;#039;d&amp;#039;, [&amp;#039;ڈ&amp;#039;] = &amp;#039;ḍ&amp;#039;, [&amp;#039;ذ&amp;#039;] = &amp;#039;z&amp;#039;,&lt;br /&gt;
	[&amp;#039;ر&amp;#039;] = &amp;#039;r&amp;#039;, [&amp;#039;ڑ&amp;#039;] = &amp;#039;ḍ&amp;#039;, [&amp;#039;ز&amp;#039;] = &amp;#039;z&amp;#039;, [&amp;#039;ژ&amp;#039;] = &amp;#039;ċ&amp;#039;,&lt;br /&gt;
	[&amp;#039;س&amp;#039;] = &amp;#039;s&amp;#039;, [&amp;#039;ش&amp;#039;] = &amp;#039;ś&amp;#039;, [&amp;#039;ص&amp;#039;] = &amp;#039;s&amp;#039;, [&amp;#039;ض&amp;#039;] = &amp;#039;z&amp;#039;,&lt;br /&gt;
	[&amp;#039;ط&amp;#039;] = &amp;#039;t&amp;#039;, [&amp;#039;ظ&amp;#039;] = &amp;#039;z&amp;#039;,&lt;br /&gt;
	[&amp;#039;ع&amp;#039;] = &amp;#039;ʿ&amp;#039;, [&amp;#039;غ&amp;#039;] = &amp;#039;ġ&amp;#039;,&lt;br /&gt;
	[&amp;#039;ف&amp;#039;] = &amp;#039;f&amp;#039;, [&amp;#039;ق&amp;#039;] = &amp;#039;q&amp;#039;,&lt;br /&gt;
	[&amp;#039;ک&amp;#039;] = &amp;#039;k&amp;#039;, [&amp;#039;گ&amp;#039;] = &amp;#039;g&amp;#039;,&lt;br /&gt;
	[&amp;#039;ل&amp;#039;] = &amp;#039;l&amp;#039;, [&amp;#039;م&amp;#039;] = &amp;#039;m&amp;#039;, [&amp;#039;ن&amp;#039;] = &amp;#039;n&amp;#039;,&lt;br /&gt;
	[&amp;#039;ہ&amp;#039;] = &amp;#039;h&amp;#039;, [&amp;#039;ھ&amp;#039;] = &amp;#039;h&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
    -- Why is this separate?&lt;br /&gt;
	[&amp;#039;خ&amp;#039;] = &amp;#039;kh&amp;#039;,&lt;br /&gt;
	&lt;br /&gt;
	-- always word-final&lt;br /&gt;
	[&amp;#039;ے&amp;#039;] = &amp;#039;y&amp;#039;, &lt;br /&gt;
&lt;br /&gt;
    -- short e to be treated separately&lt;br /&gt;
	&lt;br /&gt;
	-- incorrect palatalisation marker&lt;br /&gt;
	[&amp;#039;ۍ&amp;#039;] = &amp;#039;\&amp;#039;&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
	-- broken/open vowels &lt;br /&gt;
    -- confirm if there are other use cases for these two&lt;br /&gt;
	[&amp;#039;ۄ&amp;#039;] = &amp;#039;ọ&amp;#039;, [&amp;#039;ؠ&amp;#039;] = &amp;#039;ẹ&amp;#039;, -- optionally ẹ = ya or used at the end to indicate palatalisation&lt;br /&gt;
	&lt;br /&gt;
	-- a carries long vowels&lt;br /&gt;
	[&amp;#039;ٲ&amp;#039;] = &amp;#039;ạ̄&amp;#039;, [&amp;#039;آ&amp;#039;] = &amp;#039;ā&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
    [&amp;#039;یٖ&amp;#039;] = &amp;#039;ī&amp;#039;, [&amp;#039;اٟ&amp;#039;] = &amp;#039;ụ̄&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
    -- vowels&lt;br /&gt;
    [&amp;#039;ۆ&amp;#039;] = &amp;#039;o&amp;#039;, [&amp;#039;ێ&amp;#039;] = &amp;#039;e&amp;#039;, [&amp;#039;أ&amp;#039;] = &amp;#039;ạ&amp;#039;,&lt;br /&gt;
	&lt;br /&gt;
	-- numerals&lt;br /&gt;
	[&amp;#039;۰&amp;#039;] = &amp;#039;0&amp;#039;, [&amp;#039;۱&amp;#039;] = &amp;#039;1&amp;#039;, [&amp;#039;۲&amp;#039;] = &amp;#039;2&amp;#039;, [&amp;#039;۳&amp;#039;] = &amp;#039;3&amp;#039;, [&amp;#039;۴&amp;#039;] = &amp;#039;4&amp;#039;, [&amp;#039;۵&amp;#039;] = &amp;#039;5&amp;#039;, [&amp;#039;۶&amp;#039;] = &amp;#039;6&amp;#039;, [&amp;#039;۷&amp;#039;] = &amp;#039;7&amp;#039;, [&amp;#039;۸&amp;#039;] = &amp;#039;8&amp;#039;, [&amp;#039;۹&amp;#039;] = &amp;#039;9&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local short_vowels = {&lt;br /&gt;
	-- high vowels&lt;br /&gt;
	[u(0x0650)] = &amp;#039;i&amp;#039;, [u(0x0655)] = &amp;#039;ụ&amp;#039;, [u(0x064F)] = &amp;#039;u&amp;#039;, [u(0x065F)] = &amp;#039;ụ̄&amp;#039;,&lt;br /&gt;
	&lt;br /&gt;
	-- central vowels&lt;br /&gt;
	[u(0x0654)] = &amp;#039;ạ&amp;#039;,&lt;br /&gt;
	&lt;br /&gt;
	-- low vowels&lt;br /&gt;
	[u(0x064E)] = &amp;#039;a&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local hardcoded_conv = {&lt;br /&gt;
    [u(0x0624)] = &amp;#039;vạ&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local alif = &amp;#039;ا&amp;#039;&lt;br /&gt;
local waw = &amp;#039;و&amp;#039;&lt;br /&gt;
local ye = &amp;#039;ی&amp;#039;&lt;br /&gt;
&lt;br /&gt;
function export.tr(text, lang, sc)&lt;br /&gt;
    if invalid_vowel_combination(text) then&lt;br /&gt;
--		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;ks-Arab-translit/invalid vowel combination&amp;quot;)&lt;br /&gt;
		return nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	text = gsub(text, khatma, &amp;#039;.&amp;#039;)&lt;br /&gt;
	text = gsub(text, question_mark, &amp;#039;?&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    text = gsub(text, &amp;#039;([&amp;#039; .. palatalisers .. &amp;#039;]%f[%s%z])&amp;#039;, &amp;#039;\&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    -- short e at the end of words is ē with V sign&lt;br /&gt;
    text = gsub(text, &amp;#039;ے&amp;#039; .. hat, &amp;quot;e&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- ye with inverted hat is /j/&lt;br /&gt;
    -- ? always occurs after a consonant&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot; .. consonants .. &amp;quot;])&amp;quot; .. ye .. inverted_hat .. &amp;quot;([&amp;quot; .. short_vowels_list .. &amp;quot;])&amp;quot;, &amp;quot;%1y%2&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot; .. consonants .. &amp;quot;])&amp;quot; .. short_ye .. alif, &amp;quot;%1yā&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot; .. consonants .. &amp;quot;])&amp;quot; .. short_ye, &amp;quot;%1y&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- nun with hat&lt;br /&gt;
    text = gsub(text, nun .. &amp;quot;[&amp;quot; .. hats.. &amp;quot;]&amp;quot;, nun)&lt;br /&gt;
&lt;br /&gt;
    -- ye with hat = short e &lt;br /&gt;
    -- only when not final?&lt;br /&gt;
    text = gsub(text, ye .. &amp;quot;[&amp;quot; .. hats.. &amp;quot;]&amp;quot;, &amp;quot;e&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- re with inverted hat followed by short vowel is re + short vowel&lt;br /&gt;
--    text = gsub(text, &amp;quot;([&amp;quot; .. consonants .. &amp;quot;])&amp;quot; .. re .. inverted_hat .. &amp;quot;([&amp;quot; .. short_vowels_list .. &amp;quot;])&amp;quot;, &amp;quot;%1r%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- re with inverted hat is re&lt;br /&gt;
    text = gsub(text, re .. inverted_hat, re)&lt;br /&gt;
&lt;br /&gt;
    -- interconsonantal vav is a long ō sound&lt;br /&gt;
    text = gsub(text,&lt;br /&gt;
        &amp;#039;([&amp;#039; .. consonants ..  &amp;#039;]&amp;#039; .. docheshm .. &amp;#039;?)&amp;#039; .. vav .. &amp;#039;([&amp;#039; .. consonants .. &amp;#039;])&amp;#039;,&lt;br /&gt;
        &amp;quot;%1ō%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- intervocalic alif is a long a sound&lt;br /&gt;
	text = gsub(text, &amp;#039;([&amp;#039; .. consonants .. &amp;#039;و &amp;#039; .. &amp;#039;])&amp;#039; .. alif .. &amp;#039;([&amp;#039; .. consonants .. &amp;#039;و&amp;#039; .. &amp;#039;])&amp;#039;, &amp;quot;%1ā%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- consonant + short vowel + he disregards the he and transliterates the vowel&lt;br /&gt;
    text = gsub(text, &amp;#039;([&amp;#039; .. consonants .. &amp;#039;])([&amp;#039; ..  short_vowels_list .. &amp;#039;])&amp;#039; .. he .. &amp;#039;(%s)&amp;#039;, &amp;quot;%1%2%3&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;#039;([&amp;#039; .. consonants .. &amp;#039;])([&amp;#039; ..  short_vowels_list .. &amp;#039;])&amp;#039; .. he .. &amp;#039;^&amp;#039;, &amp;quot;%1%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- final he + short vowel disregards the he and transliterates the vowel&lt;br /&gt;
    -- should return NIL &lt;br /&gt;
    text = gsub(text, he .. &amp;#039;([&amp;#039; ..  short_vowels_list .. &amp;#039;])$&amp;#039;, short_vowels)&lt;br /&gt;
&lt;br /&gt;
    -- word-initial alif + vowelled carrier drops the alif&lt;br /&gt;
    text = gsub(text, &amp;#039;^&amp;#039; .. alif .. &amp;#039;([&amp;#039; .. vocalised_carrier .. &amp;#039;])&amp;#039;, &amp;quot;%1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- word-initial alif + short vowel diacritic drops the alif&lt;br /&gt;
    text = gsub(text, &amp;#039;^&amp;#039; .. alif .. &amp;#039;([&amp;#039; .. short_vowels_list .. &amp;#039;])&amp;#039;, &amp;quot;%1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- word-initial alif + vowelled carrier drops the alif&lt;br /&gt;
    text = gsub(text, &amp;#039;(%s)&amp;#039; .. alif .. &amp;#039;([&amp;#039; .. vocalised_carrier .. &amp;#039;])&amp;#039;, &amp;quot;%1%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- word-initial alif + short vowel diacritic drops the alif&lt;br /&gt;
    text = gsub(text, &amp;#039;(%s)&amp;#039; .. alif .. &amp;#039;([&amp;#039; .. short_vowels_list .. &amp;#039;])&amp;#039;, &amp;quot;%1%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- re with inverted hat is just re&lt;br /&gt;
    text = gsub(text, re .. inverted_hat, re)&lt;br /&gt;
	&lt;br /&gt;
    -- long /u:/ and /i:/&lt;br /&gt;
    text = gsub(text, vav .. vw_s_cbr .. vav .. &amp;quot;([&amp;quot; .. consonants .. &amp;quot;])&amp;quot;, vav .. &amp;quot;ū%1&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot; .. consonants  .. &amp;quot;])&amp;quot; .. vw_s_cfu .. ye .. &amp;quot;([&amp;quot; .. consonants .. &amp;quot;])&amp;quot;, &amp;quot;%1ī%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- vav with hat = short o&lt;br /&gt;
    text = gsub(text, vav .. &amp;quot;[&amp;quot; .. hats .. &amp;quot;]&amp;quot;, &amp;quot;o&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- vav with short vowel&lt;br /&gt;
    text = gsub(text,&lt;br /&gt;
        vav .. &amp;quot;([&amp;quot; .. short_vowels_list .. &amp;quot;])&amp;quot;,&lt;br /&gt;
        function(c)&lt;br /&gt;
            return &amp;quot;v&amp;quot; .. short_vowels[c]&lt;br /&gt;
        end)&lt;br /&gt;
&lt;br /&gt;
    -- vav with inverted pish = long u&lt;br /&gt;
    text = gsub(text, long_u, &amp;quot;ū&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- long i&lt;br /&gt;
    text = gsub(text, ye .. vw_l_cfu, &amp;#039;ī&amp;#039;) &lt;br /&gt;
&lt;br /&gt;
    -- intervocalic ye is a long a sound&lt;br /&gt;
    text = gsub(text, &amp;#039;([&amp;#039; .. consonants .. &amp;#039;])&amp;#039; .. ye .. &amp;#039;([&amp;#039; .. consonants .. &amp;#039;])&amp;#039;, &amp;quot;%1ē%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- word-final alif and ye&lt;br /&gt;
    text = gsub(text, &amp;#039;([&amp;#039; .. consonants .. &amp;#039;])&amp;#039; .. ye .. &amp;#039;$&amp;#039;, &amp;quot;%1ī&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;#039;([&amp;#039; .. consonants .. &amp;#039;])&amp;#039; .. alif .. &amp;#039;$&amp;#039;, &amp;quot;%1ā&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- regard the consonant + short vowel combinations throughout&lt;br /&gt;
	text = gsub(text, &amp;#039;.&amp;#039;, short_vowels)&lt;br /&gt;
&lt;br /&gt;
	text = gsub(text, &amp;#039;[أإبپتٹجچدڈرڑزژسشفکگلمنهھےثحخذصضطظعغقۍۄؠٲآۆۆێ]&amp;#039;, conv)&lt;br /&gt;
	&lt;br /&gt;
	-- normal consonants left over&lt;br /&gt;
	text = gsub(text, vav, &amp;#039;v&amp;#039;)&lt;br /&gt;
	text = gsub(text, &amp;#039;ہ&amp;#039;, &amp;#039;h&amp;#039;)&lt;br /&gt;
    text = gsub(text, &amp;quot;ی&amp;quot;, &amp;quot;y&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    -- hardcoded consonants left over&lt;br /&gt;
    -- Seems to be auto-subbed?&lt;br /&gt;
    text = gsub(text, &amp;#039;[ؤ]&amp;#039;, hardcoded_conv)&lt;br /&gt;
&lt;br /&gt;
	-- CẹC = CyaC&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot; .. consonants_latn .. &amp;quot;])ẹ([&amp;quot; .. consonants_latn .. &amp;quot;])&amp;quot;, &amp;quot;%1ya%2&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function invalid_vowel_combination(text) &lt;br /&gt;
    -- if a vowel carrier or a standalone vowel has another vowel on top it should not&lt;br /&gt;
    local orig_text = text&lt;br /&gt;
    local count&lt;br /&gt;
    text, count = gsub(text, &amp;quot;[&amp;quot; .. standalone_carrier .. short_vowels_list .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
    if count &amp;gt; 0 then&lt;br /&gt;
        return nil&lt;br /&gt;
	end&lt;br /&gt;
    return #text == 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>wikt&gt;Sinonquoi</name></author>
	</entry>
</feed>