Jump to content
Wikipedia The Free Encyclopedia

Module:Unicode data/documentation functions

From Wikipedia, the free encyclopedia
Module documentation[create] [purge]
You might want to create a documentation page for this Scribunto module.
Editors can experiment in this module's sandbox (create | mirror) and testcases (create) pages.
Add categories to the /doc subpage. Subpages of this module.
 localp={}

 localoutput_mt={}
 functionoutput_mt:insert(str)
 self.n=self.n+1
 self[self.n]=str
 end

 functionoutput_mt:insert_format(...)
 self:insert(string.format(...))
 end

 output_mt.join=table.concat

 output_mt.__index=output_mt

 localfunctionOutput()
 returnsetmetatable({n=0},output_mt)
 end

 functionp.show_modules()
 localoutput=Output()

 output:insert[[

 {| class="wikitable" style="text-align: center;"'
 |+ Character name data modules,<br>organized by first three digits of codepoint in hexadecimal base]]

 fori=-1,0xFdo
 ifi>=0then
 output:insert_format('\n! %X',i)
 else
 output:insert'\n!'
 end
 end

 output:insert'\n|-'

 localprev=-1
 localrow
 localfound_module=false
 fori=0,0x10Fdo
 localfirst_two_digits=math.floor(i/0x10)
 iffirst_two_digits~=prevthen
 iffound_modulethen
 output:insert(row:join())
 end
 found_module=false

 row=Output{}
 row:insert_format("\n|-\n! %02Xx",first_two_digits)
 prev=first_two_digits
 end

 row:insert'\n| '
 localname_module=('Module:Unicode data/names/%03X'):format(i)
 ifmw.title.new(name_module).existsthen
 localfirst_cp=i*0x1000
 row:insert_format("[[%s|U+%04X&ndash;<br>U+%04X]]",
 name_module,first_cp,first_cp+0xFFF)
 found_module=true
 end
 end
 output:insert"\n|}"

 returnoutput:join()
 end

 returnp

AltStyle によって変換されたページ (->オリジナル) /