ماڈیول:Convert character width
دستاویز [تخلیق]
شاید آپ اس اسکریبنٹو ماڈیول کا دستاویزی صفحہ تخلیق کرنا چاہتے ہیں۔ صارفین ماڈیول کے تختہ مشق (تخلیق | آئینہ) اور ثابتات (تخلیق) میں تجربات کرسکتے ہیں۔ براہ کرم /دستاویز کے ذیلی صفحہ پر زمرہ جات شامل فرمائیں۔ اس ماڈیول کے ذیلی صفحات۔ |
-- This module converts support characters from half-width to full-width, and vice versa.
-- See [[Halfwidth and fullwidth forms]] for an explanation of half- and full-width characters.
-- @todo FIXME: Needs more characters adding, needs support for diacritic marks.
local data = mw.loadData( 'Module:Convert character width/data' )
local p = {}
-- Converts one half-width character to one full-width character.
local function getFull( s )
return data[ s ] or s
end
-- Converts one full-width character to one half-width character.
local function getHalf( s )
for half, full in pairs( data ) do
if s == full then
return half
end
end
return s
end
-- Converts multiple half-width characters to full-width characters.
function p.full( frame )
local s = type( frame ) == 'table' and frame.args and frame.args[ 1 ] or frame
s = type( s ) == 'number' and tostring( s ) or s
if type( s ) ~= 'string' then return end
return ( mw.ustring.gsub( s, '.', getFull ) )
end
-- Converts multiple full-width characters to half-width characters.
function p.half( frame )
local s = type( frame ) == 'table' and frame.args and frame.args[ 1 ] or frame
s = type( s ) == 'number' and tostring( s ) or s
if type( s ) ~= 'string' then return end
return ( mw.ustring.gsub( s, '.', getHalf ) )
end
return p