모듈:UnicodeBlock 편집하기

편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
local uniBlock = {
local ustring = mw.ustring
{'0000','007F','Basic Latin'},
local getArgs = require('Module:Arguments').getArgs
{'0080','00FF','Latin-1 Supplement'},
local p = {}
{'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'}
}


 
-------------------------  codepoint  ------------------------------------------
local p = {}
function p.code( data )
function p.unicodeBlock(data)
if type(data) == 'table' then
data = getArgs(frame)[1] or nil
elseif type(data) == 'string' then
return p.code_(char)
else
return '입력값이 없습니다.'
end
end
function p.code_( char, base, offset )
if type(char) == 'string' then
if offset == nil then offset = 0 end
local baseformat, head
if base == '10' then
baseformat = '%d'; head = 'U+'
elseif base == 'x16' then
baseformat = '%x'; head = 0
return ustring.codepoint(char) + offset
else
baseformat = '%x'; head = 'U+'
end
return head..ustring.upper(ustring.format(baseformat, ustring.codepoint(char) + offset))
else
return 0
end
end
----------------------  next codepoint  ---------------------------------------
function p.nextcode( 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
----------------------  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
local char
if data == nil then
if type(data) == 'table' then char = getArgs(data)[1] or nil
return ' '
else char = data or nil end
elseif type(data) == 'table' then
if char then
char = data.args[1]
return ustring.char(p.code_(char, 'x16', -1))
else
else
char = data
return '입력값이 없습니다.'
end
end
local codepoint = mw.ustring.codepoint(char)
end
local endN = #uniBlock
----------------------  {틀:유니코드문자}  ---------------------------------------
for n= 1, endN do
function p.unicodechar( frame )
--local end_ = tonumber(uniBlock[n][2], 16)
local args = getArgs(frame)
if codepoint <= tonumber(uniBlock[n][2], 16) then
local charname
--local start_ = tonumber(uniBlock[n][1], 16)
if args['이름'] == nil then charname = mw.title.getCurrentTitle().prefixedText
--if start_ <= codepoint then
else charname = args['이름'] end
return uniBlock[n][3]
local eng = args['영어이름'] or ''
--end
end
local root = mw.html.create('table'):addClass('wikitable'):cssText('margin: 0 0.4em;max-width:100%;width: 21em;float: right; text-align: center; clear:both')
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
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: 38%%"><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: 38%%"><div>%s</div>→</td>', next)
tr:node(td)
    root:node(tr)
return tostring(root)
end
end
-- 함수 호출 축약형
 
p._ = p.unicodeBlock
return p
return p
리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다.
취소 편집 도움말 (새 창에서 열림)

| () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |}