모듈:UnicodeBlock: 두 판 사이의 차이

잔글 (Cerulean님이 모듈:디버그 문서를 넘겨주기를 만들지 않고 모듈:샌드박스 문서로 이동했습니다: 실험용 모듈)
편집 요약 없음
 
(같은 사용자의 중간 판 29개는 보이지 않습니다)
1번째 줄: 1번째 줄:
local ustring = mw.ustring
local uniBlock = {
local getArgs = require('Module:Arguments').getArgs
{'0000','007F','Basic Latin'},
{'0080','00FF','Latin-1 Supplement'},
{'0100','017F','Latin Extended-A'},
{'0180','024F','Latin Extended-B'},
{'0250','02AF','IPA Extensions'},
{'02B0','02FF','Spacing Modifier Letters'},
{'0300','036F','Combining Diacritical Marks'},
{'0370','03FF','Greek and Coptic'},
{'0400','04FF','Cyrillic'},
{'0500','052F','Cyrillic Supplement'},
{'0530','058F','Armenian'},
{'0590','05FF','Hebrew'},
{'0600','06FF','Arabic'},
{'0700','074F','Syriac'},
{'0750','077F','Arabic Supplement'},
{'0780','07BF','Thaana'},
{'07C0','07FF','NKo'},
{'0800','083F','Samaritan'},
{'0840','085F','Mandaic'},
{'08A0','08FF','Arabic Extended-A'},
{'0900','097F','Devanagari'},
{'0980','09FF','Bengali'},
{'0A00','0A7F','Gurmukhi'},
{'0A80','0AFF','Gujarati'},
{'0B00','0B7F','Oriya'},
{'0B80','0BFF','Tamil'},
{'0C00','0C7F','Telugu'},
{'0C80','0CFF','Kannada'},
{'0D00','0D7F','Malayalam'},
{'0D80','0DFF','Sinhala'},
{'0E00','0E7F','Thai'},
{'0E80','0EFF','Lao'},
{'0F00','0FFF','Tibetan'},
{'1000','109F','Myanmar'},
{'10A0','10FF','Georgian'},
{'1100','11FF','Hangul Jamo'},
{'1200','137F','Ethiopic'},
{'1380','139F','Ethiopic Supplement'},
{'13A0','13FF','Cherokee'},
{'1400','167F','Unified Canadian Aboriginal Syllabics'},
{'1680','169F','Ogham'},
{'16A0','16FF','Runic'},
{'1700','171F','Tagalog'},
{'1720','173F','Hanunoo'},
{'1740','175F','Buhid'},
{'1760','177F','Tagbanwa'},
{'1780','17FF','Khmer'},
{'1800','18AF','Mongolian'},
{'18B0','18FF','Unified Canadian Aboriginal Syllabics Extended'},
{'1900','194F','Limbu'},
{'1950','197F','Tai Le'},
{'1980','19DF','New Tai Lue'},
{'19E0','19FF','Khmer Symbols'},
{'1A00','1A1F','Buginese'},
{'1A20','1AAF','Tai Tham'},
{'1AB0','1AFF','Combining Diacritical Marks Extended'},
{'1B00','1B7F','Balinese'},
{'1B80','1BBF','Sundanese'},
{'1BC0','1BFF','Batak'},
{'1C00','1C4F','Lepcha'},
{'1C50','1C7F','Ol Chiki'},
{'1CC0','1CCF','Sundanese Supplement'},
{'1CD0','1CFF','Vedic Extensions'},
{'1D00','1D7F','Phonetic Extensions'},
{'1D80','1DBF','Phonetic Extensions Supplement'},
{'1DC0','1DFF','Combining Diacritical Marks Supplement'},
{'1E00','1EFF','Latin Extended Additional'},
{'1F00','1FFF','Greek Extended'},
{'2000','206F','General Punctuation'},
{'2070','209F','Superscripts and Subscripts'},
{'20A0','20CF','Currency Symbols'},
{'20D0','20FF','Combining Diacritical Marks for Symbols'},
{'2100','214F','Letterlike Symbols'},
{'2150','218F','Number Forms'},
{'2190','21FF','Arrows'},
{'2200','22FF','Mathematical Operators'},
{'2300','23FF','Miscellaneous Technical'},
{'2400','243F','Control Pictures'},
{'2440','245F','Optical Character Recognition'},
{'2460','24FF','Enclosed Alphanumerics'},
{'2500','257F','Box Drawing'},
{'2580','259F','Block Elements'},
{'25A0','25FF','Geometric Shapes'},
{'2600','26FF','Miscellaneous Symbols'},
{'2700','27BF','Dingbats'},
{'27C0','27EF','Miscellaneous Mathematical Symbols-A'},
{'27F0','27FF','Supplemental Arrows-A'},
{'2800','28FF','Braille Patterns'},
{'2900','297F','Supplemental Arrows-B'},
{'2980','29FF','Miscellaneous Mathematical Symbols-B'},
{'2A00','2AFF','Supplemental Mathematical Operators'},
{'2B00','2BFF','Miscellaneous Symbols and Arrows'},
{'2C00','2C5F','Glagolitic'},
{'2C60','2C7F','Latin Extended-C'},
{'2C80','2CFF','Coptic'},
{'2D00','2D2F','Georgian Supplement'},
{'2D30','2D7F','Tifinagh'},
{'2D80','2DDF','Ethiopic Extended'},
{'2DE0','2DFF','Cyrillic Extended-A'},
{'2E00','2E7F','Supplemental Punctuation'},
{'2E80','2EFF','CJK Radicals Supplement'},
{'2F00','2FDF','Kangxi Radicals'},
{'2FF0','2FFF','Ideographic Description Characters'},
{'3000','303F','CJK Symbols and Punctuation'},
{'3040','309F','Hiragana'},
{'30A0','30FF','Katakana'},
{'3100','312F','Bopomofo'},
{'3130','318F','Hangul Compatibility Jamo'},
{'3190','319F','Kanbun'},
{'31A0','31BF','Bopomofo Extended'},
{'31C0','31EF','CJK Strokes'},
{'31F0','31FF','Katakana Phonetic Extensions'},
{'3200','32FF','Enclosed CJK Letters and Months'},
{'3300','33FF','CJK Compatibility'},
{'3400','4DBF','CJK Unified Ideographs Extension A'},
{'4DC0','4DFF','Yijing Hexagram Symbols'},
{'4E00','9FFF','CJK Unified Ideographs'},
{'A000','A48F','Yi Syllables'},
{'A490','A4CF','Yi Radicals'},
{'A4D0','A4FF','Lisu'},
{'A500','A63F','Vai'},
{'A640','A69F','Cyrillic Extended-B'},
{'A6A0','A6FF','Bamum'},
{'A700','A71F','Modifier Tone Letters'},
{'A720','A7FF','Latin Extended-D'},
{'A800','A82F','Syloti Nagri'},
{'A830','A83F','Common Indic Number Forms'},
{'A840','A87F','Phags-pa'},
{'A880','A8DF','Saurashtra'},
{'A8E0','A8FF','Devanagari Extended'},
{'A900','A92F','Kayah Li'},
{'A930','A95F','Rejang'},
{'A960','A97F','Hangul Jamo Extended-A'},
{'A980','A9DF','Javanese'},
{'A9E0','A9FF','Myanmar Extended-B'},
{'AA00','AA5F','Cham'},
{'AA60','AA7F','Myanmar Extended-A'},
{'AA80','AADF','Tai Viet'},
{'AAE0','AAFF','Meetei Mayek Extensions'},
{'AB00','AB2F','Ethiopic Extended-A'},
{'AB30','AB6F','Latin Extended-E'},
{'AB70','ABBF','Cherokee Supplement'},
{'ABC0','ABFF','Meetei Mayek'},
{'AC00','D7AF','Hangul Syllables'},
{'D7B0','D7FF','Hangul Jamo Extended-B'},
{'D800','DB7F','High Surrogates'},
{'DB80','DBFF','High Private Use Surrogates'},
{'DC00','DFFF','Low Surrogates'},
{'E000','F8FF','Private Use Area'},
{'F900','FAFF','CJK Compatibility Ideographs'},
{'FB00','FB4F','Alphabetic Presentation Forms'},
{'FB50','FDFF','Arabic Presentation Forms-A'},
{'FE00','FE0F','Variation Selectors'},
{'FE10','FE1F','Vertical Forms'},
{'FE20','FE2F','Combining Half Marks'},
{'FE30','FE4F','CJK Compatibility Forms'},
{'FE50','FE6F','Small Form Variants'},
{'FE70','FEFF','Arabic Presentation Forms-B'},
{'FF00','FFEF','Halfwidth and Fullwidth Forms'},
{'FFF0','FFFF','Specials'},
{'10000','1007F','Linear B Syllabary'},
{'10080','100FF','Linear B Ideograms'},
{'10100','1013F','Aegean Numbers'},
{'10140','1018F','Ancient Greek Numbers'},
{'10190','101CF','Ancient Symbols'},
{'101D0','101FF','Phaistos Disc'},
{'10280','1029F','Lycian'},
{'102A0','102DF','Carian'},
{'102E0','102FF','Coptic Epact Numbers'},
{'10300','1032F','Old Italic'},
{'10330','1034F','Gothic'},
{'10350','1037F','Old Permic'},
{'10380','1039F','Ugaritic'},
{'103A0','103DF','Old Persian'},
{'10400','1044F','Deseret'},
{'10450','1047F','Shavian'},
{'10480','104AF','Osmanya'},
{'10500','1052F','Elbasan'},
{'10530','1056F','Caucasian Albanian'},
{'10600','1077F','Linear A'},
{'10800','1083F','Cypriot Syllabary'},
{'10840','1085F','Imperial Aramaic'},
{'10860','1087F','Palmyrene'},
{'10880','108AF','Nabataean'},
{'108E0','108FF','Hatran'},
{'10900','1091F','Phoenician'},
{'10920','1093F','Lydian'},
{'10980','1099F','Meroitic Hieroglyphs'},
{'109A0','109FF','Meroitic Cursive'},
{'10A00','10A5F','Kharoshthi'},
{'10A60','10A7F','Old South Arabian'},
{'10A80','10A9F','Old North Arabian'},
{'10AC0','10AFF','Manichaean'},
{'10B00','10B3F','Avestan'},
{'10B40','10B5F','Inscriptional Parthian'},
{'10B60','10B7F','Inscriptional Pahlavi'},
{'10B80','10BAF','Psalter Pahlavi'},
{'10C00','10C4F','Old Turkic'},
{'10C80','10CFF','Old Hungarian'},
{'10E60','10E7F','Rumi Numeral Symbols'},
{'11000','1107F','Brahmi'},
{'11080','110CF','Kaithi'},
{'110D0','110FF','Sora Sompeng'},
{'11100','1114F','Chakma'},
{'11150','1117F','Mahajani'},
{'11180','111DF','Sharada'},
{'111E0','111FF','Sinhala Archaic Numbers'},
{'11200','1124F','Khojki'},
{'11280','112AF','Multani'},
{'112B0','112FF','Khudawadi'},
{'11300','1137F','Grantha'},
{'11480','114DF','Tirhuta'},
{'11580','115FF','Siddham'},
{'11600','1165F','Modi'},
{'11680','116CF','Takri'},
{'11700','1173F','Ahom'},
{'118A0','118FF','Warang Citi'},
{'11AC0','11AFF','Pau Cin Hau'},
{'12000','123FF','Cuneiform'},
{'12400','1247F','Cuneiform Numbers and Punctuation'},
{'12480','1254F','Early Dynastic Cuneiform'},
{'13000','1342F','Egyptian Hieroglyphs'},
{'14400','1467F','Anatolian Hieroglyphs'},
{'16800','16A3F','Bamum Supplement'},
{'16A40','16A6F','Mro'},
{'16AD0','16AFF','Bassa Vah'},
{'16B00','16B8F','Pahawh Hmong'},
{'16F00','16F9F','Miao'},
{'1B000','1B0FF','Kana Supplement'},
{'1BC00','1BC9F','Duployan'},
{'1BCA0','1BCAF','Shorthand Format Controls'},
{'1D000','1D0FF','Byzantine Musical Symbols'},
{'1D100','1D1FF','Musical Symbols'},
{'1D200','1D24F','Ancient Greek Musical Notation'},
{'1D300','1D35F','Tai Xuan Jing Symbols'},
{'1D360','1D37F','Counting Rod Numerals'},
{'1D400','1D7FF','Mathematical Alphanumeric Symbols'},
{'1D800','1DAAF','Sutton SignWriting'},
{'1E800','1E8DF','Mende Kikakui'},
{'1EE00','1EEFF','Arabic Mathematical Alphabetic Symbols'},
{'1F000','1F02F','Mahjong Tiles'},
{'1F030','1F09F','Domino Tiles'},
{'1F0A0','1F0FF','Playing Cards'},
{'1F100','1F1FF','Enclosed Alphanumeric Supplement'},
{'1F200','1F2FF','Enclosed Ideographic Supplement'},
{'1F300','1F5FF','Miscellaneous Symbols and Pictographs'},
{'1F600','1F64F','Emoticons'},
{'1F650','1F67F','Ornamental Dingbats'},
{'1F680','1F6FF','Transport and Map Symbols'},
{'1F700','1F77F','Alchemical Symbols'},
{'1F780','1F7FF','Geometric Shapes Extended'},
{'1F800','1F8FF','Supplemental Arrows-C'},
{'1F900','1F9FF','Supplemental Symbols and Pictographs'},
{'20000','2A6DF','CJK Unified Ideographs Extension B'},
{'2A700','2B73F','CJK Unified Ideographs Extension C'},
{'2B740','2B81F','CJK Unified Ideographs Extension D'},
{'2B820','2CEAF','CJK Unified Ideographs Extension E'},
{'2F800','2FA1F','CJK Compatibility Ideographs Supplement'},
{'E0000','E007F','Tags'},
{'E0100','E01EF','Variation Selectors Supplement'},
{'F0000','FFFFF','Supplementary Private Use Area-A'},
{'100000','10FFFF','Supplementary Private Use Area-B'}
}
 
 
local p = {}
local p = {}
 
function p.unicodeBlock(data)
-------------------------  codepoint  ------------------------------------------
local char
function p.code( data )
if data == nil then
if type(data) == 'table' then
return ' '
data = getArgs(frame)[1] or nil
elseif type(data) == 'table' then
elseif type(data) == 'string' then
char = data.args[1]
return p.code_(char)
else
else
return '입력값이 없습니다.'
char = data
end
end
end
local codepoint = mw.ustring.codepoint(char)
function p.code_( char, base, offset )
local endN = #uniBlock
if type(char) == 'string' then
for n= 1, endN do
if offset == nil then offset = 0 end
--local end_ = tonumber(uniBlock[n][2], 16)
local baseformat, head
if codepoint <= tonumber(uniBlock[n][2], 16) then
if base == '10' then
--local start_ = tonumber(uniBlock[n][1], 16)
baseformat = '%d'; head = 'U+'
--if start_ <= codepoint then
elseif base == 'x16' then
return uniBlock[n][3]
baseformat = '%x'; head = 0
--end
return ustring.codepoint(char) + offset
else
baseformat = '%x'; head = 'U+'
end
end
return head..ustring.upper(ustring.format(baseformat, ustring.codepoint(char) + offset))
else
return 0
end
end
end
end
----------------------  next codepoint  ---------------------------------------
-- 함수 호출 축약형
function p.nextcode( data )
p._ = p.unicodeBlock
if type(data) == 'table' then char = getArgs(data)[1] or nil
else char = data or nil end if char then
return p.code_(char, '16', 1)
else
return '입력값이 없습니다.'
end
end
----------------------  prev codepoint  ---------------------------------------
function p.prevcode( data )
if type(data) == 'table' then char = getArgs(data)[1] or nil
else char = data or nil end
if char then
return p.code_(char, '16', -1)
else
return '입력값이 없습니다.'
end
end
----------------------  next char  ---------------------------------------
function p.nextchar( data )
local char
if type(data) == 'table' then char = getArgs(data)[1] or nil
else char = data or nil end
if char then
return ustring.char(p.code_(char, 'x16', 1))
else
return '입력값이 없습니다.'
end
end
----------------------  prev char  ---------------------------------------
function p.prevchar( data )
local char
if type(data) == 'table' then char = getArgs(data)[1] or nil
else char = data or nil end
if char then
return ustring.char(p.code_(char, 'x16', -1))
else
return '입력값이 없습니다.'
end
end
----------------------  {틀:유니코드문자}  ---------------------------------------
function p.unicodechar( frame )
local args = getArgs(frame)
local charname
if args['이름'] == nil then charname = mw.title.getCurrentTitle().prefixedText
else charname = args['이름'] end
local eng = args['영어이름'] or ''
local root = mw.html.create('table'):addClass('infobox'):cssText('margin:  ;max-width:  ;width:  ;float: right; text-align: center; clear:right')
local tr, td
 
if args['이름'] ~= '없음' then
tr = ustring.format('<tr><th colspan="3"><div>%s</div><small>%s</small></th></tr>', charname, eng)
else
tr = ustring.format('<tr><th colspan="3"><small>%s</small></th></tr>', eng)
end
root:node(tr)
 
    tr = mw.html.create('tr')
    local curr = args['기호'] or args['문자'] or ' '
    local prev, next
    if curr == ' ' then
return '<span class="warning">기호(문자)를 입력하지 않았습니다. |기호 = (기호)</span>'
else
    if ustring.codepoint(curr) > 65535 then
    prev = args['이전'] or args['전문자'] or '[['..p.prevcode(curr)..'|'..p.prevchar(curr)..']]'
    next = args['이후'] or args['후문자'] or '[['..p.nextcode(curr)..'|'..p.nextchar(curr)..']]'
    else
    prev = args['이전'] or args['전문자'] or '[['..p.prevchar(curr)..']]'
    next = args['이후'] or args['후문자'] or '[['..p.nextchar(curr)..']]'
    end
    end
td = ustring.format('<td style="width: 7em;font-size:1.2em;"><div>%s</div>←</td>', prev)
tr:node(td)
 
td = ustring.format('<td style="width: 4em"><div style="font-size: 1.8em;line-height: 1.2em;"><b>%s</b></div><small><span style="color: gray;">%s</span></small></td>', curr, p.code_(curr))
tr:node(td)
   
td = ustring.format('<td style="width: 7em;font-size:1.2em;"><div>%s</div>→</td>', next)
tr:node(td)
 
    root:node(tr)
return tostring(root)
end
 
return p
return p

2021년 12월 24일 (금) 00:55 기준 최신판

설명문서 [편집] [역사] [새로고침]

문자를 입력하면 유니코드 블록 위치가 출력됩니다.

Basic Latin

Basic Latin

Hangul Syllables

Greek and Coptic

{{#invoke:unicodeBlock|unicodeBlock|1}}
{{#invoke:unicodeBlock|unicodeBlock|Z}}
{{#invoke:unicodeBlock|_|한}}
{{#invoke:unicodeBlock|_|Σ}}
연습장이나 사용자 문서에서 틀의 사용이나 수정을 연습할 수 있습니다.
분류는 /설명문서에 넣어주세요.

local uniBlock = {
	{'0000','007F','Basic Latin'},
	{'0080','00FF','Latin-1 Supplement'},
	{'0100','017F','Latin Extended-A'},
	{'0180','024F','Latin Extended-B'},
	{'0250','02AF','IPA Extensions'},
	{'02B0','02FF','Spacing Modifier Letters'},
	{'0300','036F','Combining Diacritical Marks'},
	{'0370','03FF','Greek and Coptic'},
	{'0400','04FF','Cyrillic'},
	{'0500','052F','Cyrillic Supplement'},
	{'0530','058F','Armenian'},
	{'0590','05FF','Hebrew'},
	{'0600','06FF','Arabic'},
	{'0700','074F','Syriac'},
	{'0750','077F','Arabic Supplement'},
	{'0780','07BF','Thaana'},
	{'07C0','07FF','NKo'},
	{'0800','083F','Samaritan'},
	{'0840','085F','Mandaic'},
	{'08A0','08FF','Arabic Extended-A'},
	{'0900','097F','Devanagari'},
	{'0980','09FF','Bengali'},
	{'0A00','0A7F','Gurmukhi'},
	{'0A80','0AFF','Gujarati'},
	{'0B00','0B7F','Oriya'},
	{'0B80','0BFF','Tamil'},
	{'0C00','0C7F','Telugu'},
	{'0C80','0CFF','Kannada'},
	{'0D00','0D7F','Malayalam'},
	{'0D80','0DFF','Sinhala'},
	{'0E00','0E7F','Thai'},
	{'0E80','0EFF','Lao'},
	{'0F00','0FFF','Tibetan'},
	{'1000','109F','Myanmar'},
	{'10A0','10FF','Georgian'},
	{'1100','11FF','Hangul Jamo'},
	{'1200','137F','Ethiopic'},
	{'1380','139F','Ethiopic Supplement'},
	{'13A0','13FF','Cherokee'},
	{'1400','167F','Unified Canadian Aboriginal Syllabics'},
	{'1680','169F','Ogham'},
	{'16A0','16FF','Runic'},
	{'1700','171F','Tagalog'},
	{'1720','173F','Hanunoo'},
	{'1740','175F','Buhid'},
	{'1760','177F','Tagbanwa'},
	{'1780','17FF','Khmer'},
	{'1800','18AF','Mongolian'},
	{'18B0','18FF','Unified Canadian Aboriginal Syllabics Extended'},
	{'1900','194F','Limbu'},
	{'1950','197F','Tai Le'},
	{'1980','19DF','New Tai Lue'},
	{'19E0','19FF','Khmer Symbols'},
	{'1A00','1A1F','Buginese'},
	{'1A20','1AAF','Tai Tham'},
	{'1AB0','1AFF','Combining Diacritical Marks Extended'},
	{'1B00','1B7F','Balinese'},
	{'1B80','1BBF','Sundanese'},
	{'1BC0','1BFF','Batak'},
	{'1C00','1C4F','Lepcha'},
	{'1C50','1C7F','Ol Chiki'},
	{'1CC0','1CCF','Sundanese Supplement'},
	{'1CD0','1CFF','Vedic Extensions'},
	{'1D00','1D7F','Phonetic Extensions'},
	{'1D80','1DBF','Phonetic Extensions Supplement'},
	{'1DC0','1DFF','Combining Diacritical Marks Supplement'},
	{'1E00','1EFF','Latin Extended Additional'},
	{'1F00','1FFF','Greek Extended'},
	{'2000','206F','General Punctuation'},
	{'2070','209F','Superscripts and Subscripts'},
	{'20A0','20CF','Currency Symbols'},
	{'20D0','20FF','Combining Diacritical Marks for Symbols'},
	{'2100','214F','Letterlike Symbols'},
	{'2150','218F','Number Forms'},
	{'2190','21FF','Arrows'},
	{'2200','22FF','Mathematical Operators'},
	{'2300','23FF','Miscellaneous Technical'},
	{'2400','243F','Control Pictures'},
	{'2440','245F','Optical Character Recognition'},
	{'2460','24FF','Enclosed Alphanumerics'},
	{'2500','257F','Box Drawing'},
	{'2580','259F','Block Elements'},
	{'25A0','25FF','Geometric Shapes'},
	{'2600','26FF','Miscellaneous Symbols'},
	{'2700','27BF','Dingbats'},
	{'27C0','27EF','Miscellaneous Mathematical Symbols-A'},
	{'27F0','27FF','Supplemental Arrows-A'},
	{'2800','28FF','Braille Patterns'},
	{'2900','297F','Supplemental Arrows-B'},
	{'2980','29FF','Miscellaneous Mathematical Symbols-B'},
	{'2A00','2AFF','Supplemental Mathematical Operators'},
	{'2B00','2BFF','Miscellaneous Symbols and Arrows'},
	{'2C00','2C5F','Glagolitic'},
	{'2C60','2C7F','Latin Extended-C'},
	{'2C80','2CFF','Coptic'},
	{'2D00','2D2F','Georgian Supplement'},
	{'2D30','2D7F','Tifinagh'},
	{'2D80','2DDF','Ethiopic Extended'},
	{'2DE0','2DFF','Cyrillic Extended-A'},
	{'2E00','2E7F','Supplemental Punctuation'},
	{'2E80','2EFF','CJK Radicals Supplement'},
	{'2F00','2FDF','Kangxi Radicals'},
	{'2FF0','2FFF','Ideographic Description Characters'},
	{'3000','303F','CJK Symbols and Punctuation'},
	{'3040','309F','Hiragana'},
	{'30A0','30FF','Katakana'},
	{'3100','312F','Bopomofo'},
	{'3130','318F','Hangul Compatibility Jamo'},
	{'3190','319F','Kanbun'},
	{'31A0','31BF','Bopomofo Extended'},
	{'31C0','31EF','CJK Strokes'},
	{'31F0','31FF','Katakana Phonetic Extensions'},
	{'3200','32FF','Enclosed CJK Letters and Months'},
	{'3300','33FF','CJK Compatibility'},
	{'3400','4DBF','CJK Unified Ideographs Extension A'},
	{'4DC0','4DFF','Yijing Hexagram Symbols'},
	{'4E00','9FFF','CJK Unified Ideographs'},
	{'A000','A48F','Yi Syllables'},
	{'A490','A4CF','Yi Radicals'},
	{'A4D0','A4FF','Lisu'},
	{'A500','A63F','Vai'},
	{'A640','A69F','Cyrillic Extended-B'},
	{'A6A0','A6FF','Bamum'},
	{'A700','A71F','Modifier Tone Letters'},
	{'A720','A7FF','Latin Extended-D'},
	{'A800','A82F','Syloti Nagri'},
	{'A830','A83F','Common Indic Number Forms'},
	{'A840','A87F','Phags-pa'},
	{'A880','A8DF','Saurashtra'},
	{'A8E0','A8FF','Devanagari Extended'},
	{'A900','A92F','Kayah Li'},
	{'A930','A95F','Rejang'},
	{'A960','A97F','Hangul Jamo Extended-A'},
	{'A980','A9DF','Javanese'},
	{'A9E0','A9FF','Myanmar Extended-B'},
	{'AA00','AA5F','Cham'},
	{'AA60','AA7F','Myanmar Extended-A'},
	{'AA80','AADF','Tai Viet'},
	{'AAE0','AAFF','Meetei Mayek Extensions'},
	{'AB00','AB2F','Ethiopic Extended-A'},
	{'AB30','AB6F','Latin Extended-E'},
	{'AB70','ABBF','Cherokee Supplement'},
	{'ABC0','ABFF','Meetei Mayek'},
	{'AC00','D7AF','Hangul Syllables'},
	{'D7B0','D7FF','Hangul Jamo Extended-B'},
	{'D800','DB7F','High Surrogates'},
	{'DB80','DBFF','High Private Use Surrogates'},
	{'DC00','DFFF','Low Surrogates'},
	{'E000','F8FF','Private Use Area'},
	{'F900','FAFF','CJK Compatibility Ideographs'},
	{'FB00','FB4F','Alphabetic Presentation Forms'},
	{'FB50','FDFF','Arabic Presentation Forms-A'},
	{'FE00','FE0F','Variation Selectors'},
	{'FE10','FE1F','Vertical Forms'},
	{'FE20','FE2F','Combining Half Marks'},
	{'FE30','FE4F','CJK Compatibility Forms'},
	{'FE50','FE6F','Small Form Variants'},
	{'FE70','FEFF','Arabic Presentation Forms-B'},
	{'FF00','FFEF','Halfwidth and Fullwidth Forms'},
	{'FFF0','FFFF','Specials'},
	{'10000','1007F','Linear B Syllabary'},
	{'10080','100FF','Linear B Ideograms'},
	{'10100','1013F','Aegean Numbers'},
	{'10140','1018F','Ancient Greek Numbers'},
	{'10190','101CF','Ancient Symbols'},
	{'101D0','101FF','Phaistos Disc'},
	{'10280','1029F','Lycian'},
	{'102A0','102DF','Carian'},
	{'102E0','102FF','Coptic Epact Numbers'},
	{'10300','1032F','Old Italic'},
	{'10330','1034F','Gothic'},
	{'10350','1037F','Old Permic'},
	{'10380','1039F','Ugaritic'},
	{'103A0','103DF','Old Persian'},
	{'10400','1044F','Deseret'},
	{'10450','1047F','Shavian'},
	{'10480','104AF','Osmanya'},
	{'10500','1052F','Elbasan'},
	{'10530','1056F','Caucasian Albanian'},
	{'10600','1077F','Linear A'},
	{'10800','1083F','Cypriot Syllabary'},
	{'10840','1085F','Imperial Aramaic'},
	{'10860','1087F','Palmyrene'},
	{'10880','108AF','Nabataean'},
	{'108E0','108FF','Hatran'},
	{'10900','1091F','Phoenician'},
	{'10920','1093F','Lydian'},
	{'10980','1099F','Meroitic Hieroglyphs'},
	{'109A0','109FF','Meroitic Cursive'},
	{'10A00','10A5F','Kharoshthi'},
	{'10A60','10A7F','Old South Arabian'},
	{'10A80','10A9F','Old North Arabian'},
	{'10AC0','10AFF','Manichaean'},
	{'10B00','10B3F','Avestan'},
	{'10B40','10B5F','Inscriptional Parthian'},
	{'10B60','10B7F','Inscriptional Pahlavi'},
	{'10B80','10BAF','Psalter Pahlavi'},
	{'10C00','10C4F','Old Turkic'},
	{'10C80','10CFF','Old Hungarian'},
	{'10E60','10E7F','Rumi Numeral Symbols'},
	{'11000','1107F','Brahmi'},
	{'11080','110CF','Kaithi'},
	{'110D0','110FF','Sora Sompeng'},
	{'11100','1114F','Chakma'},
	{'11150','1117F','Mahajani'},
	{'11180','111DF','Sharada'},
	{'111E0','111FF','Sinhala Archaic Numbers'},
	{'11200','1124F','Khojki'},
	{'11280','112AF','Multani'},
	{'112B0','112FF','Khudawadi'},
	{'11300','1137F','Grantha'},
	{'11480','114DF','Tirhuta'},
	{'11580','115FF','Siddham'},
	{'11600','1165F','Modi'},
	{'11680','116CF','Takri'},
	{'11700','1173F','Ahom'},
	{'118A0','118FF','Warang Citi'},
	{'11AC0','11AFF','Pau Cin Hau'},
	{'12000','123FF','Cuneiform'},
	{'12400','1247F','Cuneiform Numbers and Punctuation'},
	{'12480','1254F','Early Dynastic Cuneiform'},
	{'13000','1342F','Egyptian Hieroglyphs'},
	{'14400','1467F','Anatolian Hieroglyphs'},
	{'16800','16A3F','Bamum Supplement'},
	{'16A40','16A6F','Mro'},
	{'16AD0','16AFF','Bassa Vah'},
	{'16B00','16B8F','Pahawh Hmong'},
	{'16F00','16F9F','Miao'},
	{'1B000','1B0FF','Kana Supplement'},
	{'1BC00','1BC9F','Duployan'},
	{'1BCA0','1BCAF','Shorthand Format Controls'},
	{'1D000','1D0FF','Byzantine Musical Symbols'},
	{'1D100','1D1FF','Musical Symbols'},
	{'1D200','1D24F','Ancient Greek Musical Notation'},
	{'1D300','1D35F','Tai Xuan Jing Symbols'},
	{'1D360','1D37F','Counting Rod Numerals'},
	{'1D400','1D7FF','Mathematical Alphanumeric Symbols'},
	{'1D800','1DAAF','Sutton SignWriting'},
	{'1E800','1E8DF','Mende Kikakui'},
	{'1EE00','1EEFF','Arabic Mathematical Alphabetic Symbols'},
	{'1F000','1F02F','Mahjong Tiles'},
	{'1F030','1F09F','Domino Tiles'},
	{'1F0A0','1F0FF','Playing Cards'},
	{'1F100','1F1FF','Enclosed Alphanumeric Supplement'},
	{'1F200','1F2FF','Enclosed Ideographic Supplement'},
	{'1F300','1F5FF','Miscellaneous Symbols and Pictographs'},
	{'1F600','1F64F','Emoticons'},
	{'1F650','1F67F','Ornamental Dingbats'},
	{'1F680','1F6FF','Transport and Map Symbols'},
	{'1F700','1F77F','Alchemical Symbols'},
	{'1F780','1F7FF','Geometric Shapes Extended'},
	{'1F800','1F8FF','Supplemental Arrows-C'},
	{'1F900','1F9FF','Supplemental Symbols and Pictographs'},
	{'20000','2A6DF','CJK Unified Ideographs Extension B'},
	{'2A700','2B73F','CJK Unified Ideographs Extension C'},
	{'2B740','2B81F','CJK Unified Ideographs Extension D'},
	{'2B820','2CEAF','CJK Unified Ideographs Extension E'},
	{'2F800','2FA1F','CJK Compatibility Ideographs Supplement'},
	{'E0000','E007F','Tags'},
	{'E0100','E01EF','Variation Selectors Supplement'},
	{'F0000','FFFFF','Supplementary Private Use Area-A'},
	{'100000','10FFFF','Supplementary Private Use Area-B'}
}


local p = {}
function p.unicodeBlock(data)
	local char
	if data == nil then
		return ' '
	elseif type(data) == 'table' then
		 char = data.args[1]
	else
		char = data
	end
	local codepoint = mw.ustring.codepoint(char)
	local endN = #uniBlock
	for n= 1, endN do
		--local end_ = tonumber(uniBlock[n][2], 16)
		if codepoint <= tonumber(uniBlock[n][2], 16) then
			--local start_ = tonumber(uniBlock[n][1], 16)
			--if start_ <= codepoint then
				return uniBlock[n][3]
			--end
		end
	end
end
-- 함수 호출 축약형
p._ = p.unicodeBlock
return p