Jump to content

Module:Unicode data/scripts

විකිපීඩියා වෙතින්
16:30, 29 ජූලි 2025 වන විට Dušan Kreheľ (සාකච්ඡාව | දායකත්ව) (Direct from commons (commons:Data:Unicode/data/scripts/singles.tab, commons:Data:Unicode/data/scripts/ranges.tab & commons:Data:Unicode/data/scripts/aliases.tab) and add "data.rtl" implemented as modified code from w:en:Module:Unicode_data/scripts (revision n. 1245243932, lines 1776 – 1182)) විසින් සිදු කර ඇති සංශෝධන
(වෙනස) ← පැරණි සංශෝධනය | වත්මන් සංශෝධනය (වෙනස) | නව සංශෝධනය → (වෙනස)

-- [[:commons:Data:Unicode/data/scripts/singles.tab]]
-- [[:commons:Data:Unicode/data/scripts/ranges.tab]]
-- [[:commons:Data:Unicode/data/scripts/aliases.tab]]

local function get_result()
	local write_index
	local result={}
	
	-- singles
	result.singles={}
	local data=mw.ext.data.get("Unicode/data/scripts/singles.tab")
	for index, cols in ipairs(data.data) do
		if cols[1] and cols[2]  then
				result.singles[tonumber(cols[1], 16)]=cols[2]
		end
	end
	
	-- ranges
	data=mw.ext.data.get("Unicode/data/scripts/ranges.tab")
	write_index=1
	result.ranges={}
	for index, cols in ipairs(data.data) do
		if cols[1] and cols[2] and cols[3] then
				result.ranges[write_index]={tonumber(cols[1], 16), tonumber(cols[2], 16), cols[3]}
				write_index=write_index+1
		end
	end
	result.ranges.length = #result.ranges

	-- aliases
	data=mw.ext.data.get("Unicode/data/scripts/aliases.tab")
	result.aliases={}
	for index, cols in ipairs(data.data) do
		if cols[1] and cols[2] then
			result.aliases[cols[1]]=string.gsub(cols[2], "_", " ")
		end
	end
	
	result.rtl = {}
	for _, script in ipairs(mw.loadData "Module:Lang/data".rtl_scripts) do
		-- [[Module:Lang/data]] has script codes in lowercase;
		-- this module has script codes with the first letter capitalized.
		result.rtl[script:gsub("^%a", string.upper)] = true
	end
	return result

end

return get_result()
"https://si.wikipedia.org/w/index.php?title=Module:Unicode_data/scripts&oldid=758964" වෙතින් සම්ප්‍රවේශනය කෙරිණි