模組:Hani-sortkey/data/serializer
< Module:Hani-sortkey | data
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
分类:
- 各文字排序鍵生成模塊
- 漢字模塊
- 排序鍵生成模塊
- 洋涇浜英語模塊
- 與那國語模塊
- 雷州話模塊
- 南部平話模塊
- 中古蒙古語模塊
- 中部白語模塊
- 跨語言模塊
- 錦語模塊
- 韶州土話模塊
- 壯語模塊
- 閩東語模塊
- 四川話模塊
- 北部平話模塊
- 高句麗語模塊
- 喜界語模塊
- 官話模塊
- 與論語模塊
- 台山話模塊
- 柔若語模塊
- 恰喀拉語模塊
- 布依語模塊
- 儂語模塊
- 泉漳話模塊
- 扎話模塊
- 贛語模塊
- 百濟語模塊
- 上古漢語模塊
- 粵語模塊
- 拉瑪白語模塊
- 客家語模塊
- 晉語模塊
- 澳門皮欽葡萄牙語模塊
- 漢語模塊
- 閩北語模塊
- 日語模塊
- 國頭語模塊
- 水語模塊
- 沖永良部語模塊
- 碧約語模塊
- 鮮卑語模塊
- 宮古語模塊
- 高欄語模塊
- 誒話模塊
- 吳語模塊
- 潮州話模塊
- 文言文模塊
- 八重山語模塊
- 烏桓語模塊
- 八丈語模塊
- 閩南語模塊
- 湘語模塊
- 吐谷渾語模塊
- 德之島語模塊
- 徽語模塊
- 閩中語模塊
- 沖繩語模塊
- 莆仙語模塊
- 中古漢語模塊
- 東干語模塊
- 海南話模塊
- 瓦鄉話模塊
- 南奄美大島語模塊
- 古典藏語模塊
- 達斡爾語模塊
- 岱依語模塊
- 中古越南語模塊
- 阿勒楚喀語模塊
- 柔然語模塊
- 白狼語模塊
- 標敏語模塊
- 羯語模塊
- 北部白語模塊
- 古回鶻語模塊
- 契丹語模塊
- 越南語模塊
- 巴拉語模塊
- 扶餘語模塊
- 古典日語模塊
- 北奄美大島語模塊
- 南部白語模塊
- 拓跋語模塊
- 各文字資料模塊
- 資料模塊
- 漢字資料模塊
- 洋涇浜英語資料模塊
- 與那國語資料模塊
- 雷州話資料模塊
- 南部平話資料模塊
- 中古蒙古語資料模塊
- 中部白語資料模塊
- 跨語言資料模塊
- 錦語資料模塊
- 韶州土話資料模塊
- 壯語資料模塊
- 閩東語資料模塊
- 四川話資料模塊
- 北部平話資料模塊
- 高句麗語資料模塊
- 喜界語資料模塊
- 官話資料模塊
- 與論語資料模塊
- 台山話資料模塊
- 柔若語資料模塊
- 恰喀拉語資料模塊
- 布依語資料模塊
- 儂語資料模塊
- 泉漳話資料模塊
- 扎話資料模塊
- 贛語資料模塊
- 百濟語資料模塊
- 上古漢語資料模塊
- 粵語資料模塊
- 拉瑪白語資料模塊
- 客家語資料模塊
- 晉語資料模塊
- 澳門皮欽葡萄牙語資料模塊
- 漢語資料模塊
- 閩北語資料模塊
- 日語資料模塊
- 國頭語資料模塊
- 水語資料模塊
- 沖永良部語資料模塊
- 碧約語資料模塊
- 鮮卑語資料模塊
- 宮古語資料模塊
- 高欄語資料模塊
- 誒話資料模塊
- 吳語資料模塊
- 潮州話資料模塊
- 文言文資料模塊
- 八重山語資料模塊
- 烏桓語資料模塊
- 八丈語資料模塊
- 閩南語資料模塊
- 湘語資料模塊
- 吐谷渾語資料模塊
- 德之島語資料模塊
- 徽語資料模塊
- 閩中語資料模塊
- 沖繩語資料模塊
- 莆仙語資料模塊
- 中古漢語資料模塊
- 東干語資料模塊
- 海南話資料模塊
- 瓦鄉話資料模塊
- 南奄美大島語資料模塊
- 古典藏語資料模塊
- 達斡爾語資料模塊
- 岱依語資料模塊
- 中古越南語資料模塊
- 阿勒楚喀語資料模塊
- 柔然語資料模塊
- 白狼語資料模塊
- 標敏語資料模塊
- 羯語資料模塊
- 北部白語資料模塊
- 古回鶻語資料模塊
- 契丹語資料模塊
- 越南語資料模塊
- 巴拉語資料模塊
- 扶餘語資料模塊
- 古典日語資料模塊
- 北奄美大島語資料模塊
- 南部白語資料模塊
- 拓跋語資料模塊
- 需要說明文檔的模板和模組