跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
社群首页
帮助
希顶相关网站
希顶社区官网
(原作)希顶翻译器
〇改希顶转写器
希顶模组服务器
搜索
搜索
创建账号
登录
个人工具
创建账号
登录
查看“Module:Oldpuabox”的源代码
模块
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
←
Module:Oldpuabox
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
local p = {} local getArgs = require('Module:Arguments').getArgs function p.str2codelist(strin) --转换字符串到unicode码位构成的数组,仅支持第一平面字符 local listout={} local strk=1 local listk=1 while strk <= #strin do if(math.modf(string.byte(strin,strk)/16)==14)then listout[listk]=(string.byte(strin,strk)-224)*4096+(string.byte(strin,strk+1)-128)*64+(string.byte(strin,strk+2)-128) listk=listk+1 strk=strk+3 elseif(math.modf(string.byte(strin,strk)/32)==6)then listout[listk]=(string.byte(strin,strk)-192)*64+(string.byte(strin,strk+1)-128) listk=listk+1 strk=strk+2 else listout[listk]=string.byte(strin,strk) listk=listk+1 strk=strk+1 end end return listout end function p.code2str(codein) --转换unicode码位到对应字符,仅支持第一平面字符 if(codein>=2048)then return string.char(224+math.modf(codein/4096),128+math.modf((codein%4096)/64),128+codein%64) elseif(codein>=128)then return string.char(192+math.modf(codein/64),128+codein%64) else return string.char(codein) end end function p.addsprite(frame) --转换字符中旧pua的部分为sprite图 local args = getArgs(frame) local list = p.str2codelist(args[1]) local out = "" for k,v in ipairs(list)do if(v>=57344 and v<=60159)then --在sprite支持的范围 out=out.."{{Oldpuasim|"..p.code2str(v).."}}" else out=out..p.code2str(v) end end return frame:preprocess(out) --预处理包含的oldpua模板 end return p
该页面使用的模板:
Module:Oldpuabox/doc
(
查看源代码
)
返回
Module:Oldpuabox
。
开关有限宽度模式