summaryrefslogtreecommitdiff
path: root/tex/context/base/char-ini.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/char-ini.lua')
-rw-r--r--tex/context/base/char-ini.lua186
1 files changed, 2 insertions, 184 deletions
diff --git a/tex/context/base/char-ini.lua b/tex/context/base/char-ini.lua
index 0f26d8f5b..6b6900ecd 100644
--- a/tex/context/base/char-ini.lua
+++ b/tex/context/base/char-ini.lua
@@ -92,190 +92,8 @@ local private = {
description = "PRIVATE SLOT",
}
--- Hangul Syllable
-
---~ local hangul_syllable_metatable = {
---~ __index = {
---~ category = "lo",
---~ cjkwd = "w",
---~ description = "<Hangul Syllable>",
---~ direction = "l",
---~ linebreak = "h2",
---~ }
---~ }
-
---~ local hangul_syllable_extender = function(k,v)
---~ local fscode = -- firstsplitcode
---~ k < 0xAC00 and k -- original
---~ or k > 0xD7AF and k -- original
---~ or k >= 0xD558 and 0x314E -- 하 => ㅎ
---~ or k >= 0xD30C and 0x314D -- 파 => ㅍ
---~ or k >= 0xD0C0 and 0x314C -- 타 => ㅌ
---~ or k >= 0xCE74 and 0x314B -- 카 => ㅋ
---~ or k >= 0xCC28 and 0x314A -- 차 => ㅊ
---~ or k >= 0xC790 and 0x3148 -- 자 => ㅈ
---~ or k >= 0xC544 and 0x3147 -- 아 => ㅇ
---~ or k >= 0xC0AC and 0x3145 -- 사 => ㅅ
---~ or k >= 0xBC14 and 0x3142 -- 바 => ㅂ
---~ or k >= 0xB9C8 and 0x3141 -- 마 => ㅁ
---~ or k >= 0xB77C and 0x3139 -- 라 => ㄹ
---~ or k >= 0xB2E4 and 0x3137 -- 다 => ㄷ
---~ or k >= 0xB098 and 0x3134 -- 나 => ㄴ
---~ or k >= 0xAC00 and 0x3131 -- 가 => ㄱ -- was 0xAC20
---~ or k -- can't happen
---~ local t = {
---~ fscode = fscode,
---~ unicodeslot = k,
---~ }
---~ setmetatable(t,hangul_syllable_metatable)
---~ return t
---~ end
-
-local hangul_syllable_basetable = {
- category = "lo",
- cjkwd = "w",
- description = "<Hangul Syllable>",
- direction = "l",
- linebreak = "h2",
-}
-
-local hangul_syllable_metatable = {
- __index = function(t,k)
- if k == "fscode" then
- local u = t.unicodeslot
- local fscode = -- firstsplitcode
- u < 0xAC00 and nil -- original
- or u > 0xD7AF and nil -- original
- or u >= 0xD558 and 0x314E -- 하 => ㅎ
- or u >= 0xD30C and 0x314D -- 파 => ㅍ
- or u >= 0xD0C0 and 0x314C -- 타 => ㅌ
- or u >= 0xCE74 and 0x314B -- 카 => ㅋ
- or u >= 0xCC28 and 0x314A -- 차 => ㅊ
- or u >= 0xC790 and 0x3148 -- 자 => ㅈ
- or u >= 0xC544 and 0x3147 -- 아 => ㅇ
- or u >= 0xC0AC and 0x3145 -- 사 => ㅅ
- or u >= 0xBC14 and 0x3142 -- 바 => ㅂ
- or u >= 0xB9C8 and 0x3141 -- 마 => ㅁ
- or u >= 0xB77C and 0x3139 -- 라 => ㄹ
- or u >= 0xB2E4 and 0x3137 -- 다 => ㄷ
- or u >= 0xB098 and 0x3134 -- 나 => ㄴ
- or u >= 0xAC00 and 0x3131 -- 가 => ㄱ -- was 0xAC20
- or nil -- can't happen
- t[k] = fscode
- return fscode
- else
- return hangul_syllable_basetable[k]-- no store
- end
- end
-}
-
-local hangul_syllable_extender = function(k,v)
- local t = {
- unicodeslot = k,
- }
- setmetatable(t,hangul_syllable_metatable)
- return t
-end
-
-local hangul_syllable_range = {
- first = 0xAC00,
- last = 0xD7A3,
- extender = hangul_syllable_extender,
-}
-
-setmetatable(hangul_syllable_range, hangul_syllable_metatable)
-
--- CJK Ideograph
-
-local cjk_ideograph_metatable = {
- __index = {
- category = "lo",
- cjkwd = "w",
- description = "<CJK Ideograph>",
- direction = "l",
- linebreak = "id",
- }
-}
-
-local cjk_ideograph_extender = function(k,v)
- local t = {
- -- shcode = shcode,
- unicodeslot = k,
- }
- setmetatable(t,cjk_ideograph_metatable)
- return t
-end
-
-local cjk_ideograph_range = {
- first = 0x4E00,
- last = 0x9FBB,
- extender = cjk_ideograph_extender,
-}
-
--- CJK Ideograph Extension A
-
-local cjk_ideograph_extension_a_metatable = {
- __index = {
- category = "lo",
- cjkwd = "w",
- description = "<CJK Ideograph Extension A>",
- direction = "l",
- linebreak = "id",
- }
-}
-
-local cjk_ideograph_extension_a_extender = function(k,v)
- local t = {
- -- shcode = shcode,
- unicodeslot = k,
- }
- setmetatable(t,cjk_ideograph_extension_a_metatable)
- return t
-end
-
-local cjk_ideograph_extension_a_range = {
- first = 0x3400,
- last = 0x4DB5,
- extender = cjk_ideograph_extension_a_extender,
-}
-
--- CJK Ideograph Extension B
-
-local cjk_ideograph_extension_b_metatable = {
- __index = {
- category = "lo",
- cjkwd = "w",
- description = "<CJK Ideograph Extension B>",
- direction = "l",
- linebreak = "id",
- }
-}
-
-local cjk_ideograph_extension_b_extender = function(k,v)
- local t = {
- -- shcode = shcode,
- unicodeslot = k,
- }
- setmetatable(t,cjk_ideograph_extension_b_metatable)
- return t
-end
-
-local cjk_ideograph_extension_b_range = {
- first = 0x20000,
- last = 0x2A6D6,
- extender = cjk_ideograph_extension_b_extender,
-}
-
--- Ranges
-
-local ranges = {
- hangul_syllable_range,
- cjk_ideograph_range,
- cjk_ideograph_extension_a_range,
- cjk_ideograph_extension_b_range,
-}
-
---
+local ranges = allocate()
+characters.ranges = ranges
setmetatablekey(data, "__index", function(t,k)
if type(k) == "string" then