Jump to content

Module:Ko-utils: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
No edit summary
Line 15: Line 15:
-- Returns boolean on whether input contains any Hanja text at all
-- Returns boolean on whether input contains any Hanja text at all
function p.contains_hanja(frame)
function p.contains_hanja(frame)
local hanja_ranges = "[〇㐀-䶿一-鿿﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧-﨩𠀀-𪛟𪜀-𮹟𰀀-𲎯]"
local get_args = require('Module:Arguments').getArgs
local get_args = require('Module:Arguments').getArgs
local args = get_args(frame)
local args = get_args(frame)
local text = args[1]
local text = args[1]
if text == nil or text == "" or find(text, "[〇㐀-䶿一-鿿﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧-﨩𠀀-𪛟𪜀-𮹟𰀀-𲎯]") == nil then
if text == nil or text == "" or find(text, hanja_ranges) == nil then
return false
return false
else
else

Revision as of 07:04, 20 April 2025

local p = {}
local find = mw.ustring.find

-- Decomposes Hangul into jamo
function p.decompose_hangul(text)
	return mw.ustring.gsub(text, "[가-힣]", mw.ustring.toNFD)
end

-- Returns boolean on whether input contains any Hangul text at all
function p.contains_hangul(text)
	local hangul_ranges = "[ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-꥿가-힣ힰ-퟿]"
	return text ~= nil and text ~= "" and find(text, hangul_ranges)
end

-- Returns boolean on whether input contains any Hanja text at all
function p.contains_hanja(frame)
	local hanja_ranges = "[〇㐀-䶿一-鿿﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧-﨩𠀀-𪛟𪜀-𮹟𰀀-𲎯]"
	local get_args = require('Module:Arguments').getArgs
	local args = get_args(frame)
	local text = args[1]
	if text == nil or text == "" or find(text, hanja_ranges) == nil then
		return false
	else
		return true
	end
end


-- Returns boolean on whether input directly contains a Wikipedia reference
function p.contains_reference(text)
	return find(text, "'\"`UNIQ--") or find(text, "-QINU`\"'")
end

return p