본문으로 이동

미디어위키 1.45 안정화가 거의 끝났습니다. 다만 Flow 확장 기능 관련 이슈가 있어서 대체하는 작업을 수행할 계획입니다.

  1. 큰숲백과:청사진에서 위키 발전의 대략적인 방향성을 제시했습니다. 의견이 있으신 분은 큰숲백과토론:청사진에서 의견을 남겨주시면 좋겠습니다.
  2. 기능상의 오류로 지원하지 않고 있는 기능에 대해서는 큰숲백과토론:이슈 트래커에 요약했습니다. 참고하시기 바랍니다.
  3. 데이터베이스 덤프 받고싶으신 분은 큰숲백과 가입 후에 사용자토론:Bigforest에 의견 남겨주시면 ftp 주소, 계정, 비밀번호를 특수:EmailUser를 통해서 공개할 예정입니다.

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

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
잔글 Cerulean님이 모듈:디버그 문서를 넘겨주기를 만들지 않고 모듈:샌드박스 문서로 이동했습니다: 실험용 모듈
편집 요약 없음
1번째 줄: 1번째 줄:
local ustring = mw.ustring
local getArgs = require('Module:Arguments').getArgs
local p = {}
local p = {}


-------------------------  codepoint  ------------------------------------------
local ref = {
function p.code( data )
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
if type(data) == 'table' then
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
data = getArgs(frame)[1] or nil
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
elseif type(data) == 'string' then
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
return p.code_(char)
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
else
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
return '입력값이 없습니다.'
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
end
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
end
{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'}
function p.code_( char, base, offset )
}
if type(char) == 'string' then
tonumber('7DE', 16)
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
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
function p.main(frame)
tr = ustring.format('<tr><th colspan="3"><div>%s</div><small>%s</small></th></tr>', charname, eng)
return ref[frame.args[1]]
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
end
return p
return p

2021년 12월 23일 (목) 09:46 판

local p = {}

local ref = {
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'},
	{['start'] = '0000', ['end'] = '007F', ['text'] = 'CJK Unified'}
}
tonumber('7DE', 16)

function p.main(frame)
	return ref[frame.args[1]]
end
return p