มอดูล:Hani-sortkey/data/serializer
หน้าตา
- This มอดูล lacks a documentation subpage. Please create it.
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
local insert = table.insert
local export = {}
local byte_lookup = {
[0x07] = "\\a",
[0x08] = "\\b",
[0x09] = "\\t",
[0x0A] = "\\n",
[0x0B] = "\\v",
[0x0C] = "\\f",
[0x0D] = "\\r",
[0x22] = "\\\"",
[0x5C] = "\\\\",
}
local _char = string.char
local function char(ch)
return byte_lookup[ch] or
(ch < 0x20 or ch >= 0x7F) and "\\" .. ("%03d"):format(ch) or
_char(ch)
end
function export.main(checker)
local keys = require("Module:Hani-sortkey/data")
local radicals = require("Module:Hani-sortkey/data/core").radicals
local ret, val = {}
for i = 1, 0x323AF do
if keys[i] then
for r, as in keys[i]:gmatch("(%d+)%.(.*)") do
insert(ret, char(tonumber(r)))
-- Negative additional stroke counts are subtractive (i.e. -1 becomes -9, -2 becomes -8 etc.), so that lower values sort before higher ones (i.e. -3, -2, -1 ...).
as = tonumber(as)
insert(ret, char(as < 0 and 0 - as or as + 10))
end
end
end
-- Compress the result.
for i = 1, #ret do
local ch = ret[i]
if ch:match("^\\%d%d%d$") then
local nxt = ret[i + 1]
if not (nxt and nxt:sub(1, 1):match("%d")) then
ret[i] = ("\\%d"):format(ch:sub(2))
end
end
end
return table.concat(ret)
end
return export
หมวดหมู่:
- มอดูลSortkey-generatingแบ่งตามอักษร
- มอดูลอักษรจีน
- มอดูลSortkey-generating
- มอดูลภาษาChinese Pidgin English
- มอดูลภาษาโยนางูนิ
- มอดูลภาษาDaur
- มอดูลภาษาผิงใต้
- มอดูลภาษาJie
- มอดูลภาษาDatian Min
- มอดูลภาษาCentral Bai
- มอดูลภาษาร่วม
- มอดูลภาษาTuoba
- มอดูลภาษาAi-Cham
- มอดูลภาษาShaozhou Tuhua
- มอดูลภาษาจ้วง
- มอดูลภาษาGaya
- มอดูลภาษาเสฉวน
- มอดูลภาษาผิงเหนือ
- มอดูลภาษาGoguryeo
- มอดูลภาษาKikai
- มอดูลภาษาเวียดนาม
- มอดูลภาษาโยรง
- มอดูลภาษาห่อยซัน
- มอดูลภาษาHuizhou
- มอดูลภาษาKyakala
- มอดูลภาษาSanxiang Min
- มอดูลภาษานุง
- มอดูลภาษาจีนวรรณกรรม
- มอดูลภาษาZakhring
- มอดูลภาษากั้น
- มอดูลภาษาBaekje
- มอดูลภาษาจีนเก่า
- มอดูลภาษาWuhuan
- มอดูลภาษาLama Bai
- มอดูลภาษาแคะ
- มอดูลภาษาZhenan Min
- มอดูลภาษาPuxian Min
- มอดูลภาษาYemaek
- มอดูลภาษาจิ้น
- มอดูลภาษาMacau Pidgin Portuguese
- มอดูลภาษาโอกิโนเอราบุ
- มอดูลภาษาจีน
- มอดูลภาษาBala
- มอดูลภาษาหมิ่นเหนือ
- มอดูลภาษาญี่ปุ่น
- มอดูลภาษาคูนิงามิ
- มอดูลภาษาหล่อยแอว๋
- มอดูลภาษายาเอยามะ
- มอดูลภาษาดุงกาน
- มอดูลภาษาHachijō
- มอดูลภาษามิยาโกะ
- มอดูลภาษาCaolan
- มอดูลภาษาE
- มอดูลภาษาอู๋
- มอดูลภาษาแต้จิ๋ว
- มอดูลภาษาไหหลำ
- มอดูลภาษาทิเบตคลาสสิก
- มอดูลภาษาTuyuhun
- มอดูลภาษาXianbei
- มอดูลภาษาหมิ่นใต้
- มอดูลภาษาเซียง
- มอดูลภาษาปู้อี
- มอดูลภาษาโทกูโนชิมะ
- มอดูลภาษาจีนยุคกลาง
- มอดูลภาษาญี่ปุ่นเก่า
- มอดูลภาษาหมิ่นตอนกลาง
- มอดูลภาษาLongyan Min
- มอดูลภาษามองโกเลียกลาง
- มอดูลภาษากวางตุ้ง
- มอดูลภาษาหมิ่นตะวันออก
- มอดูลภาษาWaxiang
- มอดูลภาษาอามามิโอชิมะใต้
- มอดูลภาษาอามามิโอชิมะเหนือ
- มอดูลภาษาสุ่ย
- มอดูลภาษาตั่ย
- มอดูลภาษาเวียดนามกลาง
- มอดูลภาษาAlchuka
- มอดูลภาษาจีนกลาง
- มอดูลภาษาBailang
- มอดูลภาษาBiao-Jiao Mien
- มอดูลภาษาโอกินาวะ
- มอดูลภาษาPanyi Bai
- มอดูลภาษาอุยกูร์เก่า
- มอดูลภาษาคีตัน
- มอดูลภาษาHailufeng Min
- มอดูลภาษาBiyo
- มอดูลภาษาBuyeo
- มอดูลภาษาฮกเกี้ยน
- มอดูลภาษาZauzou
- มอดูลภาษาSouthern Bai
- มอดูลภาษาRouran
- มอดูลDataแบ่งตามอักษร
- มอดูลData
- แม่แบบและมอดูลที่ต้องการเอกสารการใช้งาน