<?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%3Aur-translit</id>
	<title>Module:ur-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%3Aur-translit"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:ur-translit&amp;action=history"/>
	<updated>2026-05-19T07:29:44Z</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:ur-translit&amp;diff=495801&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:ur-translit&amp;diff=495801&amp;oldid=prev"/>
		<updated>2026-04-21T12:44:54Z</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:44, 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:ur-translit&amp;diff=495800&amp;oldid=prev</id>
		<title>wikt&gt;SurjectionBot: (bot) slight optimization to 5.2 compat: prefer unpack to table.unpack</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:ur-translit&amp;diff=495800&amp;oldid=prev"/>
		<updated>2025-04-24T12:27:03Z</updated>

		<summary type="html">&lt;p&gt;(bot) slight optimization to 5.2 compat: prefer unpack to table.unpack&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[=[&lt;br /&gt;
&lt;br /&gt;
FIXME:&lt;br /&gt;
&lt;br /&gt;
1. support for Arabic al- (copy from fa-cls-translit)&lt;br /&gt;
&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;
local unpack = unpack or table.unpack -- Lua 5.2 compatibility&lt;br /&gt;
local export = {}&lt;br /&gt;
&lt;br /&gt;
local fatHataan = U(0x64B)&lt;br /&gt;
local zabar = U(0x64E)&lt;br /&gt;
local zer = U(0x650)&lt;br /&gt;
local pesh = U(0x64F)&lt;br /&gt;
local zwnj = U(0x200C) -- Is this even used in Urdu? Why was it included in the previous version?&lt;br /&gt;
local highhmz = U(0x654)&lt;br /&gt;
local tashdid = U(0x651) -- also called tashdid&lt;br /&gt;
local jazm = &amp;quot;ْ&amp;quot;&lt;br /&gt;
local he = &amp;quot;ہ&amp;quot;&lt;br /&gt;
local ghunna = U(0x658)&lt;br /&gt;
local dagger_alif = U(0x670)&lt;br /&gt;
&lt;br /&gt;
local consonants = &amp;quot;ببپتثجچحخدذرزژسشصضطظعغفقکگلࣇمنݨؤڷہئھٹڈڑ&amp;quot;&lt;br /&gt;
local consonantS = &amp;quot;ببپتثجچحخدذرزژسشصضطظعغفقکگڷلࣇمنݨہھٹڈڑ&amp;quot;&lt;br /&gt;
local consonantS2 = &amp;quot;یببپتثجچحخدذرزژسشصضطظعغفقکگلࣇڷمنݨوؤہھئٹڈڑ&amp;quot; &lt;br /&gt;
local semivowel = &amp;quot;یو&amp;quot;&lt;br /&gt;
local vowels = &amp;quot;āایئےۓوؤ&amp;quot;&lt;br /&gt;
local indvowels = &amp;quot;آایےوؤ&amp;quot;&lt;br /&gt;
local hes = &amp;quot;ہح&amp;quot;&lt;br /&gt;
local diacritics = &amp;quot;َُِّْٰ&amp;quot;&lt;br /&gt;
local ZZP = &amp;quot;َُِ&amp;quot;&lt;br /&gt;
local lrm = U(0x200e) -- left-to-right mark&lt;br /&gt;
local rlm = U(0x200f) -- right-to-left mark&lt;br /&gt;
&lt;br /&gt;
local consonants_needing_vowels = &amp;quot;ببپتثجچحخدذرزژسشصضطظعغفقکڷگلࣇمنںݨہئٹڈڑءﷲ&amp;quot;&lt;br /&gt;
-- consonants on the right side; includes alif madda&lt;br /&gt;
local rconsonants = consonants_needing_vowels .. &amp;quot;ویآ&amp;quot;&lt;br /&gt;
-- consonants on the left side; does not include alif madda&lt;br /&gt;
local lconsonants = consonants_needing_vowels&lt;br /&gt;
local space_like = &amp;quot;%s&amp;#039;&amp;quot; .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
local space_like_class = &amp;quot;[&amp;quot; .. space_like .. &amp;quot;]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- not all letters here are used by urdu&lt;br /&gt;
local mapping = {&lt;br /&gt;
	[&amp;quot;آ&amp;quot;] = &amp;#039;ā&amp;#039;, [&amp;quot;ب&amp;quot;] = &amp;#039;b&amp;#039;, [&amp;quot;پ&amp;quot;] = &amp;#039;p&amp;#039;, [&amp;quot;ت&amp;quot;] = &amp;#039;t&amp;#039;, [&amp;quot;ٹ&amp;quot;] = &amp;#039;ṭ&amp;#039;, [&amp;quot;ث&amp;quot;] = &amp;#039;s&amp;#039;,&lt;br /&gt;
	[&amp;quot;ج&amp;quot;] = &amp;#039;j&amp;#039;, [&amp;quot;چ&amp;quot;] = &amp;#039;c&amp;#039;, [&amp;quot;ح&amp;quot;] = &amp;#039;h&amp;#039;, [&amp;quot;خ&amp;quot;] = &amp;#039;x&amp;#039;, &lt;br /&gt;
	[&amp;quot;د&amp;quot;] = &amp;#039;d&amp;#039;, [&amp;quot;ڈ&amp;quot;] = &amp;#039;ḍ&amp;#039;, [&amp;quot;ذ&amp;quot;] = &amp;#039;z&amp;#039;, [&amp;quot;ر&amp;quot;] = &amp;#039;r&amp;#039;, [&amp;#039;ڑ&amp;#039;] = &amp;quot;ṛ&amp;quot;, [&amp;quot;ز&amp;quot;] = &amp;#039;z&amp;#039;, [&amp;quot;ژ&amp;quot;] = &amp;#039;ź&amp;#039;,&lt;br /&gt;
	[&amp;quot;س&amp;quot;] = &amp;#039;s&amp;#039;, [&amp;quot;ش&amp;quot;] = &amp;#039;ś&amp;#039;, [&amp;quot;ص&amp;quot;] = &amp;#039;s&amp;#039;, [&amp;quot;ض&amp;quot;] = &amp;#039;z&amp;#039;, &lt;br /&gt;
	[&amp;quot;ط&amp;quot;] = &amp;#039;t&amp;#039;, [&amp;quot;ظ&amp;quot;] = &amp;#039;z&amp;#039;, [&amp;quot;غ&amp;quot;] = &amp;#039;ġ&amp;#039;, [&amp;quot;ف&amp;quot;] = &amp;#039;f&amp;#039;, [&amp;quot;ق&amp;quot;] = &amp;#039;q&amp;#039;,&lt;br /&gt;
	[&amp;quot;ک&amp;quot;] = &amp;#039;k&amp;#039;, [&amp;quot;گ&amp;quot;] = &amp;#039;g&amp;#039;, [&amp;quot;ݨ&amp;quot;] = &amp;#039;ṇ&amp;#039;, [&amp;quot;ࣇ&amp;quot;] = &amp;#039;ḷ&amp;#039;, [&amp;quot;ڷ&amp;quot;] = &amp;#039;ł&amp;#039;,&lt;br /&gt;
	[&amp;quot;ل&amp;quot;] = &amp;#039;l&amp;#039;, [&amp;quot;م&amp;quot;] = &amp;#039;m&amp;#039;, [&amp;quot;ن&amp;quot;] = &amp;#039;n&amp;#039;, [&amp;quot;و&amp;quot;] = &amp;#039;o&amp;#039;, [&amp;quot;ہ&amp;quot;] = &amp;#039;h&amp;#039;, [&amp;quot;ی&amp;quot;] = &amp;#039;e&amp;#039;, [&amp;quot;ے&amp;quot;] = &amp;#039;e&amp;#039;, [&amp;quot;۔&amp;quot;] = &amp;quot;.&amp;quot;, [&amp;quot;ں&amp;quot;] = &amp;#039;̃&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;ھ&amp;quot;] = &amp;quot;h&amp;quot;,&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;ع&amp;quot;] = &amp;#039;\&amp;#039;&amp;#039;,&lt;br /&gt;
	[&amp;quot;ء&amp;quot;] = &amp;#039;\&amp;#039;&amp;#039;,&lt;br /&gt;
	[&amp;quot;أ&amp;quot;] = &amp;#039;&amp;#039;,&lt;br /&gt;
	&lt;br /&gt;
	-- diacritics&lt;br /&gt;
	[zabar] = &amp;quot;a&amp;quot;,&lt;br /&gt;
	[zer] = &amp;quot;i&amp;quot;,&lt;br /&gt;
	[pesh] = &amp;quot;u&amp;quot;,&lt;br /&gt;
	[jazm] = &amp;quot;&amp;quot;, -- also sukun - no vowel&lt;br /&gt;
	[zwnj] = &amp;quot;-&amp;quot;, -- ZWNJ (zero-width non-joiner)&lt;br /&gt;
	&lt;br /&gt;
	-- ligatures&lt;br /&gt;
	[&amp;quot;ﻻ&amp;quot;] = &amp;quot;lā&amp;quot;,&lt;br /&gt;
	[&amp;quot;ﷲ&amp;quot;] = &amp;quot;allāh&amp;quot;,&lt;br /&gt;
	&lt;br /&gt;
	-- kashida&lt;br /&gt;
	[&amp;quot;ـ&amp;quot;] = &amp;quot;-&amp;quot;, -- kashida, no sound&lt;br /&gt;
	&lt;br /&gt;
	-- numerals&lt;br /&gt;
	[&amp;quot;۱&amp;quot;] = &amp;quot;1&amp;quot;, [&amp;quot;۲&amp;quot;] = &amp;quot;2&amp;quot;, [&amp;quot;۳&amp;quot;] = &amp;quot;3&amp;quot;, [&amp;quot;۴&amp;quot;] = &amp;quot;4&amp;quot;, [&amp;quot;۵&amp;quot;] = &amp;quot;5&amp;quot;,&lt;br /&gt;
	[&amp;quot;۶&amp;quot;] = &amp;quot;6&amp;quot;, [&amp;quot;۷&amp;quot;] = &amp;quot;7&amp;quot;, [&amp;quot;۸&amp;quot;] = &amp;quot;8&amp;quot;, [&amp;quot;۹&amp;quot;] = &amp;quot;9&amp;quot;, [&amp;quot;۰&amp;quot;] = &amp;quot;0&amp;quot;,&lt;br /&gt;
	&lt;br /&gt;
	-- punctuation (leave on separate lines)&lt;br /&gt;
	[&amp;quot;؟&amp;quot;] = &amp;quot;?&amp;quot;, -- question mark&lt;br /&gt;
	[&amp;quot;۔&amp;quot;] = &amp;quot;.&amp;quot;, -- period&lt;br /&gt;
	[&amp;quot;،&amp;quot;] = &amp;quot;,&amp;quot;, -- comma&lt;br /&gt;
	[&amp;quot;؛&amp;quot;] = &amp;quot;;&amp;quot;, -- semicolon&lt;br /&gt;
	[&amp;quot;«&amp;quot;] = &amp;#039;“&amp;#039;, -- quotation mark&lt;br /&gt;
	[&amp;quot;»&amp;quot;] = &amp;#039;”&amp;#039;, -- quotation mark&lt;br /&gt;
	[&amp;quot;٪&amp;quot;] = &amp;quot;%&amp;quot;, -- percent&lt;br /&gt;
	[&amp;quot;؉&amp;quot;] = &amp;quot;‰&amp;quot;, -- per mille&lt;br /&gt;
	[&amp;quot;٫&amp;quot;] = &amp;quot;.&amp;quot;, -- decimals&lt;br /&gt;
	[&amp;quot;٬&amp;quot;] = &amp;quot;,&amp;quot;, -- thousand&lt;br /&gt;
	[&amp;quot;ۓ&amp;quot;] = &amp;quot;-ye&amp;quot;, &lt;br /&gt;
	[highhmz] = &amp;quot;-yi&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local punctuation = &amp;quot;%-:%(%)%[%]*&amp;amp;٫؛؟،ـ«\&amp;quot;.\&amp;#039;!»٪؉۔&amp;quot;&lt;br /&gt;
local numbers = &amp;quot;۱۲۳۴۵۶۷۸۹۰&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local ain = &amp;#039;ع&amp;#039;&lt;br /&gt;
local alif = &amp;#039;ا&amp;#039;&lt;br /&gt;
local ye = &amp;#039;ی&amp;#039;&lt;br /&gt;
local ye2 = &amp;#039;ئ&amp;#039;&lt;br /&gt;
local ye3 = &amp;quot;ے&amp;quot;&lt;br /&gt;
local vao = &amp;quot;و&amp;quot;&lt;br /&gt;
local aspirate = &amp;#039;ھ&amp;#039;&lt;br /&gt;
local highhmz = U(0x654)&lt;br /&gt;
local aiu = &amp;quot;āīūآ&amp;quot;&lt;br /&gt;
local n_exceptions = &amp;quot;[^&amp;quot; .. aiu .. &amp;quot;]&amp;quot; -- for nasalization exceptions&lt;br /&gt;
&lt;br /&gt;
local before_diacritic_checking_subs = {&lt;br /&gt;
	------------ transformations prior to checking for diacritics --------------&lt;br /&gt;
	{U(0x06E5), &amp;quot;و&amp;quot;},&lt;br /&gt;
	{U(0x06E6), &amp;quot;ی&amp;quot;},&lt;br /&gt;
	-- ignore dagger alif placed over regular alif or alif maqṣūra&lt;br /&gt;
	{&amp;quot;([&amp;quot; .. alif .. ye .. &amp;quot;])&amp;quot; .. dagger_alif, alif},&lt;br /&gt;
	{&amp;quot;([^&amp;quot; .. alif .. ye .. &amp;quot;])&amp;quot; .. fatHataan, alif .. fatHataan},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local has_diacritics_subs = {&lt;br /&gt;
	-- remove arabic ye (ruins conversions)&lt;br /&gt;
	{&amp;quot;لل&amp;quot; ..  he , &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;لل&amp;quot; .. tashdid ..  he , &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;لل&amp;quot; .. tashdid .. dagger_alif ..  he , &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;ۃ&amp;quot; , &amp;quot;&amp;quot;},&lt;br /&gt;
	-- aspirated consonants should cound as 1 consonant not two&lt;br /&gt;
	{&amp;quot;([&amp;quot; .. consonants .. &amp;quot;][&amp;quot;.. ZZP .. diacritics .. &amp;quot;?])&amp;quot; ..  aspirate , &amp;quot;%1&amp;quot;},&lt;br /&gt;
	{&amp;quot;([&amp;quot; .. consonants .. &amp;quot;])&amp;quot; ..  aspirate , &amp;quot;%1&amp;quot;},&lt;br /&gt;
	{ aspirate , &amp;quot;&amp;quot;},&lt;br /&gt;
	-- remove punctuation and tashdid&lt;br /&gt;
	{&amp;quot;[&amp;quot; .. punctuation .. tashdid .. highhmz .. zwnj .. numbers .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	-- noon gunna and silent consonants can be removed&lt;br /&gt;
	{ &amp;quot;.. [&amp;quot;.. ZZP .. indvowels .. diacritics .. &amp;quot;?] .. ([&amp;quot; .. consonantS2 .. &amp;quot;])&amp;quot; .. &amp;quot;([&amp;quot;.. ghunna .. jazm ..&amp;quot;])&amp;quot; .. &amp;quot;([&amp;quot; .. consonantS2 .. &amp;quot;])&amp;quot;  , &amp;quot;&amp;quot;},&lt;br /&gt;
	{ &amp;quot;([&amp;quot; .. consonants .. &amp;quot;])&amp;quot; .. ghunna , &amp;quot;&amp;quot;},&lt;br /&gt;
	{ &amp;quot;([&amp;quot; .. consonantS2 .. &amp;quot;])&amp;quot; .. jazm , &amp;quot;&amp;quot;},&lt;br /&gt;
	{ &amp;quot;([&amp;quot; .. consonantS2 .. &amp;quot;])&amp;quot; .. &amp;quot;یٰ&amp;quot; , &amp;quot;&amp;quot;},&lt;br /&gt;
	-- must go before removing final consonants&lt;br /&gt;
	{&amp;quot;[&amp;quot;.. ZZP .. diacritics .. &amp;quot;]&amp;quot; .. alif , alif },&lt;br /&gt;
	{fatHataan , &amp;quot;&amp;quot; },&lt;br /&gt;
	{ &amp;quot;([&amp;quot; .. consonantS2 .. &amp;quot;])&amp;quot; .. &amp;quot;[&amp;quot; .. ZZP .. diacritics .. indvowels .. &amp;quot;?]&amp;quot; .. &amp;quot;([ںۓۂۂ])&amp;quot;, &amp;quot;&amp;quot; },&lt;br /&gt;
	{ &amp;quot;([ںۓۂۂ])&amp;quot;, &amp;quot;&amp;quot; },&lt;br /&gt;
	{ &amp;quot;([&amp;quot; .. ye .. alif .. &amp;quot;])&amp;quot; .. dagger_alif, alif},&lt;br /&gt;
	{ dagger_alif .. ye , alif},&lt;br /&gt;
	{ alif .. &amp;quot;[&amp;quot;.. ZZP .. diacritics .. &amp;quot;]&amp;quot; , &amp;quot;&amp;quot;},&lt;br /&gt;
	{ &amp;quot;[&amp;quot;.. ZZP .. diacritics .. &amp;quot;]&amp;quot; .. alif , alif},&lt;br /&gt;
	{ dagger_alif .. &amp;quot;([&amp;quot; .. ye .. alif .. &amp;quot;])&amp;quot;, alif},&lt;br /&gt;
	-- Remove consonants at end of word or utterance, so that we&amp;#039;re OK with&lt;br /&gt;
	-- words lacking iʿrāb (must go before removing other consonants).&lt;br /&gt;
	-- If you want to catch places without iʿrāb, comment out the next two lines.&lt;br /&gt;
	{&amp;quot;[&amp;quot; .. lconsonants .. &amp;quot;]$&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	-- closed consonants&lt;br /&gt;
	{&amp;quot;([&amp;quot; .. consonantS2 .. &amp;quot;])[&amp;quot; .. indvowels .. ZZP .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	-- remove consonants (or alif) when followed by diacritics&lt;br /&gt;
	-- must go after removing tashdid&lt;br /&gt;
	-- do not remove the diacritics yet because we need them to handle&lt;br /&gt;
	-- long-vowel sequences of diacritic + pseudo-consonant&lt;br /&gt;
	{&amp;quot;[&amp;quot; .. lconsonants .. alif .. &amp;quot;]([&amp;quot; .. fatHataan .. zabar .. pesh .. zer .. jazm .. dagger_alif .. &amp;quot;])&amp;quot;, &amp;quot;%1&amp;quot;},&lt;br /&gt;
	-- the following two must go after removing consonants w/diacritics because&lt;br /&gt;
	{&amp;quot;([&amp;quot; .. rconsonants .. &amp;quot;])([&amp;quot;.. ZZP .. diacritics .. &amp;quot;?][&amp;quot; .. indvowels .. &amp;quot;?])([&amp;quot; .. consonantS2 .. &amp;quot;])&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;[&amp;quot; .. indvowels .. &amp;quot;]([&amp;quot; .. rconsonants .. &amp;quot;])&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;[&amp;quot;.. ZZP .. diacritics .. &amp;quot;]([&amp;quot; .. lconsonants .. &amp;quot;])&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;([&amp;quot; .. consonants .. &amp;quot;])[&amp;quot; .. indvowels .. ZZP .. diacritics .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;([&amp;quot; .. rconsonants .. &amp;quot;])(&amp;quot; .. space_like_class .. &amp;quot;)&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;[&amp;quot; .. lconsonants .. &amp;quot;]&amp;quot; .. zabar .. &amp;quot;[&amp;quot;.. ye .. ye3 .. vao .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	-- we only want to treat vocalic wāw/yā&amp;#039; in them (we want to have removed&lt;br /&gt;
	-- remove vaw&lt;br /&gt;
	{ &amp;quot;[&amp;quot; .. lconsonants .. &amp;quot;]&amp;quot; .. vao, &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;ؤ&amp;quot; .. pesh , &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;ؤ&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	-- remove ye&lt;br /&gt;
	{ &amp;quot;[&amp;quot; .. lconsonants .. &amp;quot;]&amp;quot; .. ye, &amp;quot;&amp;quot;},&lt;br /&gt;
	{ye3, &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;([&amp;quot; .. consonants .. &amp;quot;][&amp;quot; .. ZZP .. &amp;quot;])&amp;quot; .. he,&amp;quot;&amp;quot;},&lt;br /&gt;
	-- remove fatḥa/fatḥatan + alif/alif-maqṣūra&lt;br /&gt;
	{&amp;quot;[&amp;quot; .. fatHataan .. zabar .. &amp;quot;][&amp;quot; .. alif .. ye .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	-- remove diacritics and independant vowels&lt;br /&gt;
	{&amp;quot;[&amp;quot; .. fatHataan .. zabar .. pesh .. zer .. jazm .. dagger_alif .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	{ &amp;quot;[&amp;quot; .. indvowels .. &amp;quot;]&amp;quot; , &amp;quot;&amp;quot;},&lt;br /&gt;
	{ &amp;quot;[&amp;quot;.. semivowel ..&amp;quot;]&amp;quot; .. &amp;quot;[&amp;quot; .. indvowels .. &amp;quot;]&amp;quot; , &amp;quot;&amp;quot;},&lt;br /&gt;
	-- remove numbers, hamzatu l-waṣl, alif madda&lt;br /&gt;
	{&amp;quot;[&amp;quot; .. numbers .. &amp;quot;ٱ&amp;quot; .. &amp;quot;آ&amp;quot; .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
	{&amp;quot;%s&amp;quot;, &amp;quot;&amp;quot;},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- declared as local above&lt;br /&gt;
local function has_diacritics(text)&lt;br /&gt;
	local count&lt;br /&gt;
	text, count = gsub(text, &amp;quot;[&amp;quot; .. lrm .. rlm .. &amp;quot;]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	if count &amp;gt; 0 then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;ur-translit/lrm or rlm&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	for _, sub in ipairs(has_diacritics_subs) do&lt;br /&gt;
		text = gsub(text, unpack(sub))&lt;br /&gt;
	end&lt;br /&gt;
	return #text == 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.tr(text, lang, sc)&lt;br /&gt;
	if type(text) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		local function f(x) return (x ~= &amp;quot;&amp;quot;) and x or nil end&lt;br /&gt;
		text, lang, sc, omit_i3raab, force_translit =&lt;br /&gt;
			f(text.args[1]), f(text.args[2]), f(text.args[3]), f(text.args[4]), f(text.args[5])&lt;br /&gt;
	end&lt;br /&gt;
	for _, sub in ipairs(before_diacritic_checking_subs) do&lt;br /&gt;
		text = gsub(text, sub[1], sub[2])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not force_translit and not has_diacritics(text) then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;ur-translit/lacking diacritics&amp;quot;)&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--define the &amp;quot;end&amp;quot; of a word&lt;br /&gt;
	text = gsub(text, &amp;quot;#&amp;quot;, &amp;quot;HASHTAG&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot; | &amp;quot;, &amp;quot;# | #&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;\n&amp;quot; , &amp;quot;#&amp;quot;..&amp;quot;\n&amp;quot; .. &amp;quot;#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;([&amp;quot;..punctuation..&amp;quot;])&amp;quot; , &amp;quot;#&amp;quot;..&amp;quot;%1&amp;quot; .. &amp;quot;#&amp;quot;)&lt;br /&gt;
	text = &amp;quot;##&amp;quot; .. gsub(text, &amp;quot; &amp;quot;, &amp;quot;# #&amp;quot;) .. &amp;quot;##&amp;quot;&lt;br /&gt;
	text = gsub(text, zwnj, &amp;quot;#&amp;quot;..zwnj..&amp;quot;#&amp;quot;)&lt;br /&gt;
	-- hastags now mark the beginning and end of a word&lt;br /&gt;
	&lt;br /&gt;
	--exceptions&lt;br /&gt;
	text = gsub(text, &amp;quot;#&amp;quot; .. vao .. he .. &amp;quot;#&amp;quot;, &amp;quot;#vo#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;#&amp;quot; .. vao .. pesh .. he .. &amp;quot;#&amp;quot;, &amp;quot;#vo#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;#&amp;quot; .. &amp;quot;پ&amp;quot; .. he .. &amp;quot;#&amp;quot;, &amp;quot;#pe#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;#&amp;quot; .. &amp;quot;پ&amp;quot; .. zer .. he .. &amp;quot;#&amp;quot;, &amp;quot;#pe#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;#&amp;quot; .. ye .. he .. &amp;quot;#&amp;quot;, &amp;quot;#ye#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;#&amp;quot; .. ye .. zer .. he .. &amp;quot;#&amp;quot;, &amp;quot;#ye#&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	--character reformatting&lt;br /&gt;
	--to make an exceptions for a word, put hashtags on both sides&lt;br /&gt;
	text = gsub(text, &amp;quot;ۂ&amp;quot;, he .. highhmz)&lt;br /&gt;
	text = gsub(text, highhmz, &amp;quot;#&amp;quot;..highhmz..&amp;quot;#&amp;quot;)&lt;br /&gt;
	--text = gsub(text, &amp;#039;ىٰ&amp;#039;, &amp;quot;ā&amp;quot;) -- the first letter is U+0649 (Arabic alif maqṣūra), it doesn&amp;#039;t belong here&lt;br /&gt;
	text = gsub(text, &amp;#039;یٰ&amp;#039;, &amp;quot;ā&amp;quot;) -- the first letter is U+06CC&lt;br /&gt;
	text = gsub(text, &amp;#039;ٰ&amp;#039;, &amp;quot;ā&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;#039;ا&amp;#039; .. fatHataan, &amp;quot;an&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;#039;لا&amp;#039;, &amp;quot;ﻻ&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ة&amp;quot; 	, &amp;quot;ۃ&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ۃ&amp;quot; .. &amp;quot;([&amp;quot; .. ZZP .. jazm .. &amp;quot;])&amp;quot;, &amp;quot;ت%1&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ۃ&amp;quot; , he)&lt;br /&gt;
	&lt;br /&gt;
	-- Tashdeed&lt;br /&gt;
	text = gsub(text, &amp;#039;([&amp;#039; .. consonantS2 .. &amp;#039;])&amp;#039; .. tashdid, &amp;quot;%1%1&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;#039;([&amp;#039; .. consonantS2 .. &amp;#039;])&amp;#039; .. tashdid .. &amp;#039;([&amp;#039; .. ZZP .. &amp;#039;])&amp;#039;, &amp;quot;%1%1%2&amp;quot;)&lt;br /&gt;
	-- For some reason the tashdeed gets pushed after the other diacritics, so this line is necessary for tashdeed to work with other diacritics&lt;br /&gt;
	text = gsub(text, &amp;#039;([&amp;#039; .. consonants .. &amp;#039;])&amp;#039; .. &amp;#039;([&amp;#039; .. ZZP .. &amp;#039;])&amp;#039; .. tashdid, &amp;quot;%1%1%2&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;#039;([&amp;#039; .. ZZP .. &amp;#039;])&amp;#039; .. aspirate, aspirate..&amp;quot;%1&amp;quot;) &lt;br /&gt;
	text = gsub(text, dagger_alif .. aspirate, aspirate..&amp;quot;%1&amp;quot;)&lt;br /&gt;
	text = gsub(text, ye .. &amp;#039;([&amp;#039; .. ZZP .. &amp;#039;])&amp;#039; .. tashdid, &amp;quot;yy%1&amp;quot;)&lt;br /&gt;
	text = gsub(text,  vao .. &amp;#039;([&amp;#039; .. ZZP .. &amp;#039;])&amp;#039; .. tashdid, &amp;quot;vv%1&amp;quot;)&lt;br /&gt;
	text = gsub(text, ye .. tashdid .. &amp;#039;([&amp;#039; .. ZZP .. &amp;#039;])&amp;#039;, &amp;quot;yy%1&amp;quot;)&lt;br /&gt;
	text = gsub(text, vao .. tashdid .. &amp;#039;([&amp;#039; .. ZZP .. &amp;#039;])&amp;#039;, &amp;quot;vv%1&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
    --initial alif&lt;br /&gt;
    text = gsub(text, pesh .. vao .. alif, &amp;quot;uā&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot;..consonantS2..&amp;quot;])&amp;quot; .. alif, &amp;quot;%1ā&amp;quot;) &lt;br /&gt;
    --alifs paired to a consonant are a vowel&lt;br /&gt;
    text = gsub(text, jazm .. alif, &amp;quot;-&amp;quot;) -- invisible ZWNJ&lt;br /&gt;
    text = gsub(text, jazm .. &amp;quot;آ&amp;quot;, &amp;quot;-ā&amp;quot;) -- invisible ZWNJ&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot;..consonantS2..&amp;quot;])&amp;quot; .. &amp;quot;آ&amp;quot;, &amp;quot;%1&amp;#039;ā&amp;quot;) &lt;br /&gt;
    	text = gsub(text, pesh .. vao .. zabar .. alif , &amp;quot;ūā&amp;quot; )&lt;br /&gt;
    text = gsub(text, zabar .. alif, &amp;quot;ā&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;(&amp;quot; .. ghunna .. &amp;quot;)&amp;quot; .. alif, &amp;quot;%1ā&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot;..diacritics..&amp;quot;])&amp;quot; .. alif, &amp;quot;%1&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot;..ZZP..&amp;quot;])&amp;quot; .. alif, &amp;quot;%1&amp;quot;)&lt;br /&gt;
    --alifs not paired to a consonant are a glottal stop (not shown currently)&lt;br /&gt;
    text = gsub(text, alif..&amp;quot;([&amp;quot;..diacritics..&amp;quot;])&amp;quot;.. &amp;quot;([&amp;quot;..consonantS2..&amp;quot;])&amp;quot;, &amp;quot;%1%2&amp;quot;)&lt;br /&gt;
    text = gsub(text, alif..ye..&amp;quot;#&amp;quot;, &amp;quot;ī&amp;quot;)&lt;br /&gt;
    text = gsub(text, alif..ye, &amp;quot;e&amp;quot;)&lt;br /&gt;
    text = gsub(text, alif..ye3, &amp;quot;e&amp;quot;)&lt;br /&gt;
    text = gsub(text, alif..zabar..ye3, &amp;quot;ai&amp;quot;)&lt;br /&gt;
    text = gsub(text, alif..vao, &amp;quot;o&amp;quot;)&lt;br /&gt;
    text = gsub(text, alif..zer..ye, &amp;quot;ī&amp;quot;)&lt;br /&gt;
    text = gsub(text, alif..pesh..vao, &amp;quot;ū&amp;quot;)&lt;br /&gt;
    text = gsub(text, alif..&amp;quot;([&amp;quot;..diacritics..&amp;quot;])&amp;quot;, &amp;quot;%1&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    -- convert semi vowels&lt;br /&gt;
    text = gsub(text, vao.. &amp;quot;([&amp;quot;..diacritics..ZZP..&amp;quot;])&amp;quot;, &amp;quot;v%1&amp;quot;)&lt;br /&gt;
    text = gsub(text, ye.. &amp;quot;([&amp;quot;..diacritics..ZZP..&amp;quot;])&amp;quot;, &amp;quot;y%1&amp;quot;)&lt;br /&gt;
    text = gsub(text, ye .. &amp;quot;ā&amp;quot;, &amp;quot;yā&amp;quot;)&lt;br /&gt;
    text = gsub(text, vao.. &amp;quot;ā&amp;quot;, &amp;quot;vā&amp;quot;)&lt;br /&gt;
    text = gsub(text, ye .. &amp;quot;([&amp;quot;..zabar..&amp;quot;]?)&amp;quot; .. ye3, &amp;quot;y%1&amp;quot;..ye3..&amp;quot;&amp;quot;)&lt;br /&gt;
    text = gsub(text, vao .. &amp;quot;([&amp;quot;..zabar..&amp;quot;]?)&amp;quot; .. ye3, &amp;quot;v%1&amp;quot;..ye3..&amp;quot;&amp;quot;)&lt;br /&gt;
    text = gsub(text, ye .. &amp;quot;([&amp;quot;..semivowel..&amp;quot;])([&amp;quot;..semivowel..&amp;quot;])&amp;quot;, &amp;quot;e%1%2&amp;quot;)&lt;br /&gt;
    text = gsub(text, vao .. &amp;quot;([&amp;quot;..semivowel..&amp;quot;])([&amp;quot;..semivowel..&amp;quot;])&amp;quot;, &amp;quot;o%1%2&amp;quot;)&lt;br /&gt;
    text = gsub(text, ye .. &amp;quot;([&amp;quot;..semivowel..&amp;quot;])&amp;quot;, &amp;quot;y%1&amp;quot;)&lt;br /&gt;
    text = gsub(text, vao .. &amp;quot;([&amp;quot;..semivowel..&amp;quot;])&amp;quot;, &amp;quot;v%1&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    -- conversions for vaav/vaw/vao&lt;br /&gt;
    text = gsub(text, pesh.. vao, &amp;quot;ū&amp;quot;)&lt;br /&gt;
    text = gsub(text, zabar .. vao, &amp;quot;au&amp;quot;)&lt;br /&gt;
    text = gsub(text, vao.. &amp;quot;([&amp;quot;..diacritics..ZZP..&amp;quot;])&amp;quot;, &amp;quot;v%1&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot;..diacritics..ZZP..&amp;quot;])&amp;quot; .. vao, &amp;quot;%1v&amp;quot;)&lt;br /&gt;
    -- conversions for ye&lt;br /&gt;
    text = gsub(text, zer.. ye, &amp;quot;ī&amp;quot;)&lt;br /&gt;
    text = gsub(text, ye .. &amp;quot;#&amp;quot;, &amp;quot;ī#&amp;quot;)&lt;br /&gt;
    text = gsub(text, zabar.. ye, &amp;quot;ai&amp;quot;)&lt;br /&gt;
    text = gsub(text, zabar.. ye3, &amp;quot;ai&amp;quot;)&lt;br /&gt;
    text = gsub(text, ye .. &amp;quot;([&amp;quot;..diacritics..ZZP..&amp;quot;])&amp;quot;, &amp;quot;y%1&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot;..diacritics..ZZP..&amp;quot;])&amp;quot; .. ye , &amp;quot;%1y&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    -- final he and izafa/ezafe&lt;br /&gt;
    text = gsub(text, &amp;quot;e&amp;quot; .. zer .. &amp;quot;#&amp;quot;, &amp;quot;e-yi#&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;ī&amp;quot; .. zer .. &amp;quot;#&amp;quot;, &amp;quot;ī-yi#&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;y&amp;quot; .. zer .. &amp;quot;#&amp;quot;, &amp;quot;-yi#&amp;quot;)&lt;br /&gt;
    text = gsub(text, zer .. &amp;quot;#&amp;quot;, &amp;quot;-i#&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot;..ZZP..&amp;quot;])&amp;quot; .. he .. &amp;quot;#&amp;quot; .. zwnj, &amp;quot;%1-&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;([&amp;quot;..ZZP..&amp;quot;])&amp;quot; .. he .. &amp;quot;#&amp;quot;, &amp;quot;%1#&amp;quot;)&lt;br /&gt;
    text = gsub(text, zabar .. he .. &amp;quot;#&amp;quot;, &amp;quot;a#&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    -- noon ghunna assimilation/nasalization&lt;br /&gt;
    --remove impossible nasal vowels&lt;br /&gt;
    text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;([ب])&amp;quot;, &amp;quot;m%1&amp;quot;) -- nasal vowels are impossible before b&lt;br /&gt;
    text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;ت&amp;quot; .. aspirate, &amp;quot;nth&amp;quot;) &lt;br /&gt;
    text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;([قگ])&amp;quot;,	&amp;quot;ṅ%1&amp;quot;) -- impossible before q and g&lt;br /&gt;
    text = gsub(text, &amp;quot;(&amp;quot; .. n_exceptions .. &amp;quot;)&amp;quot; .. &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;ٹ&amp;quot;	.. aspirate	, &amp;quot;%1ṇṭh&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;(&amp;quot; .. n_exceptions .. &amp;quot;)&amp;quot; .. &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;پ&amp;quot; .. aspirate, &amp;quot;%1mph&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;(&amp;quot; .. n_exceptions .. &amp;quot;)&amp;quot; .. &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;ک&amp;quot; .. aspirate, &amp;quot;%1ṅkh&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;([ج])&amp;quot;, &amp;quot;ñ%1&amp;quot;) -- impossible before j&lt;br /&gt;
    text = gsub(text, &amp;quot;ن&amp;quot;.. ghunna .. &amp;quot;ڈ&amp;quot; .. aspirate, &amp;quot;ṇḍh&amp;quot;) -- aspirated d/D cant be nasalized&lt;br /&gt;
    text = gsub(text, &amp;quot;ن&amp;quot;.. ghunna .. &amp;quot;د&amp;quot; .. aspirate, &amp;quot;ndh&amp;quot;) -- aspirated d/D cant be nasalized&lt;br /&gt;
    --other nasals&lt;br /&gt;
    text = gsub(text, &amp;quot;ن&amp;quot; .. jazm .. &amp;quot;([کگق])&amp;quot; .. &amp;quot;#&amp;quot;,	&amp;quot;ṅ%1#&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;([کگق])&amp;quot; .. jazm .. &amp;quot;#&amp;quot;,	&amp;quot;ṅ%1#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ن&amp;quot; .. jazm .. &amp;quot;([دتر])&amp;quot;, &amp;quot;n%1&amp;quot;) -- dental&lt;br /&gt;
	text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;([ٹڈ])&amp;quot; .. jazm .. &amp;quot;#&amp;quot;, &amp;quot;ṇ%1#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;([چج])&amp;quot; .. jazm .. &amp;quot;#&amp;quot;, &amp;quot;ñ%1#&amp;quot;) -- postalveolar&lt;br /&gt;
	text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna .. &amp;quot;([چج]&amp;quot;.. aspirate ..&amp;quot;)&amp;quot; .. jazm .. &amp;quot;#&amp;quot;, &amp;quot;ñ%1#&amp;quot;) &lt;br /&gt;
	-- if noon ghunna cannot assimilate, it becomes a nasal vowel.&lt;br /&gt;
	text = gsub(text, &amp;quot;ن&amp;quot; .. ghunna, &amp;quot;ں&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ؤ&amp;quot; .. pesh .. &amp;quot;ں&amp;quot; .. &amp;quot;#&amp;quot;, ye2 .. &amp;quot;ū&amp;quot; .. &amp;quot;ں&amp;quot; .. &amp;quot;#&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    -- get rid of hashtags (not needed)&lt;br /&gt;
    text = gsub(text, &amp;quot;#&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
    text = gsub(text, &amp;quot;HASHTAG&amp;quot;, &amp;quot;#&amp;quot;)&lt;br /&gt;
    text = string.gsub(text, lrm, &amp;quot;&amp;quot;)&lt;br /&gt;
	text = string.gsub(text, rlm, &amp;quot;&amp;quot;)&lt;br /&gt;
    -- convert all characters&lt;br /&gt;
    text = gsub(text, &amp;#039;.&amp;#039;, mapping)&lt;br /&gt;
    &lt;br /&gt;
    -- vowel fixes&lt;br /&gt;
    -- nasalized dipthongs&lt;br /&gt;
    text = gsub(text, &amp;#039;a([iu])̃&amp;#039;, &amp;#039;a͠%1&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- alif&lt;br /&gt;
	-- Final corrections&lt;br /&gt;
	text = gsub(text, &amp;quot;lll&amp;quot;, &amp;quot;ll&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;āa&amp;quot;, &amp;quot;ā&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;aaa&amp;quot;, &amp;quot;ā&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;āā&amp;quot;, &amp;quot;ā&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;aa&amp;quot;, &amp;quot;ā&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	--now get rid of the zero consonants&lt;br /&gt;
	text = gsub(text, &amp;quot;ئ&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;u&amp;quot; .. &amp;quot;ؤ&amp;quot; , &amp;quot;u&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ؤ&amp;quot; .. &amp;quot;u&amp;quot; .. &amp;quot;$&amp;quot;, &amp;quot;ū&amp;quot;)  -- ؤُ is rendered &amp;#039;ū&amp;#039; word-finally, short &amp;#039;u&amp;#039; otherwise&lt;br /&gt;
	text = gsub(text, &amp;quot;ؤ&amp;quot; .. &amp;quot;u&amp;quot; .. &amp;quot;([ ,.;?!-])&amp;quot;, &amp;quot;ū%1&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ؤ&amp;quot; .. &amp;quot;u&amp;quot; , &amp;quot;u&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;ؤ&amp;quot;, &amp;quot;o&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	text = mw.ustring.toNFC(text)&lt;br /&gt;
	&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>wikt&gt;SurjectionBot</name></author>
	</entry>
</feed>