پودمان:فاصله مجازی
ظاهر
این پودمان آمادهٔ استفادهٔ عمومی ارزیابی شدهاست. این پودمان به مرحلهای رسیدهاست که حفره و اشکال در آن وجود ندارد و امکان استفاده از آن هرکجا که لازم است وجود دارد. بهتر است از ویکیپدیا:تمرین و نمونههای آزمایشی الگو جای آزمون و خطا استفاده شود. |
استفاده
[ویرایش]این پودمان توسط الگو:فاصله مجازی به کار گرفته میشود.
local p = {}
local needsZWNJ = {'ت', 'پ', 'ب', 'ئ', 'ث', 'ج', 'چ', 'ح', 'خ', 'س', 'ش', 'ص', 'ض', 'ط', 'ظ', 'ع', 'غ', 'ف', 'ق', 'ک', 'گ', 'ل', 'م', 'ن', 'ه', 'ی'}
function Set (list)
local set = {}
for _, l in ipairs(list) do set[l] = true end
return set
end
local needsZWNJ = Set(needsZWNJ)
function p.zwnj( frame )
if frame.args[1] == nil or frame.args[1] == "" then
return "‌"
else
local lastChar = string.sub(frame.args[1], string.len(frame.args[1]) - 1, string.len(frame.args[1]))
if needsZWNJ[lastChar] then
return frame.args[1] .. "‌"
else
return frame.args[1]
end
end
end
return p