Bước tới nội dung

Mô đun:Unicode data/scripts

Bách khoa toàn thư mở Wikipedia

Đây là một phiên bản cũ của trang này, do Admin (thảo luận | đóng góp) sửa đổi vào lúc 02:23, ngày 7 tháng 8 năm 2026 (Đã nhập 1 phiên bản). Địa chỉ URL hiện tại là một liên kết vĩnh viễn đến phiên bản này của trang, có thể khác biệt rất nhiều so với phiên bản hiện hành.

(khác) ← Phiên bản cũ | Phiên bản mới nhất (khác) | Phiên bản mới → (khác)
-- [[: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()