From 5b41cee71daeaa60f4c92246d87f2d4f191d4733 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 4 Nov 2013 14:10:00 +0100 Subject: beta 2013.11.04 14:10 --- scripts/context/lua/mtxrun.lua | 6 +- scripts/context/stubs/mswin/mtxrun.lua | 6 +- scripts/context/stubs/unix/mtxrun | 6 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4104 -> 4107 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/scrp-cjk.lua | 70 ++++++++++++++++++++- tex/context/base/status-files.pdf | Bin 24572 -> 24560 bytes tex/context/base/status-lua.pdf | Bin 225232 -> 225257 bytes tex/context/base/util-str.lua | 2 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 11 files changed, 80 insertions(+), 16 deletions(-) diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index 3db45610f..9243990b4 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -4759,7 +4759,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 26855, stripped down to: 15062 +-- original size: 26857, stripped down to: 15062 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -16624,8 +16624,8 @@ end -- of closure -- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 683188 --- stripped bytes : 241842 +-- original bytes : 683190 +-- stripped bytes : 241844 -- end library merge diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index 3db45610f..9243990b4 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -4759,7 +4759,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 26855, stripped down to: 15062 +-- original size: 26857, stripped down to: 15062 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -16624,8 +16624,8 @@ end -- of closure -- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 683188 --- stripped bytes : 241842 +-- original bytes : 683190 +-- stripped bytes : 241844 -- end library merge diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index 3db45610f..9243990b4 100755 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -4759,7 +4759,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 26855, stripped down to: 15062 +-- original size: 26857, stripped down to: 15062 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -16624,8 +16624,8 @@ end -- of closure -- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 683188 --- stripped bytes : 241842 +-- original bytes : 683190 +-- stripped bytes : 241844 -- end library merge diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 0a084215f..778340da1 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2013.11.04 11:52} +\newcontextversion{2013.11.04 14:10} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index 3d5cd990f..34c46400d 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index c598e9d6c..1318b2ab1 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -25,7 +25,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2013.11.04 11:52} +\edef\contextversion{2013.11.04 14:10} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/scrp-cjk.lua b/tex/context/base/scrp-cjk.lua index f7167b45c..0ceaf4bd2 100644 --- a/tex/context/base/scrp-cjk.lua +++ b/tex/context/base/scrp-cjk.lua @@ -16,9 +16,11 @@ if not modules then modules = { } end modules ['scrp-cjk'] = { local utfchar = utf.char -local insert_node_after = node.insert_after -local insert_node_before = node.insert_before +local insert_node_after = nodes.insert_after +local insert_node_before = nodes.insert_before local remove_node = nodes.remove +local copy_node = nodes.copy +local traverse_id = nodes.traverse_id local nodepool = nodes.pool local new_glue = nodepool.glue @@ -44,6 +46,8 @@ local fontdata = fonthashes.identifiers local quaddata = fonthashes.quads local spacedata = fonthashes.spaces +local decomposed = characters.hangul.decomposed + local trace_details = false trackers.register("scripts.details", function(v) trace_details = v end) local report_details = logs.reporter("scripts","detail") @@ -490,6 +494,67 @@ scripts.installmethod { }, } +-- function scripts.decomposehangul(head) +-- local current = head +-- local done = false +-- while current do +-- local id = current.id +-- if id == glyph_code then -- local index = unicode - 0xAC00 if index >= 0 and index < 19 * 21 * 28 then ... end +-- local lead_consonant, medial_vowel, tail_consonant = decomposed(current.char) +-- if lead_consonant then +-- if not tail_consonant then +-- tail_consonant = 0x11A7 +-- end +-- current.char = lead_consonant +-- local m = copy_node(current) +-- local t = copy_node(current) +-- m.char = medial_vowel +-- t.char = tail_consonant +-- insert_node_after(head,current,m) +-- insert_node_after(head,current,t) +-- done = true +-- current = t +-- end +-- end +-- current = current.next +-- end +-- return head, done +-- end + +function scripts.decomposehangul(head) + local done = false + for current in traverse_id(glyph_code,head) do + local lead_consonant, medial_vowel, tail_consonant = decomposed(current.char) + if lead_consonant then + if not tail_consonant then + tail_consonant = 0x11A7 + end + current.char = tail_consonant + local l = copy_node(current) + local m = copy_node(current) + l.char = lead_consonant + m.char = medial_vowel + head, current = insert_node_before(head,current,m) + head, current = insert_node_before(head,current,l) + done = true + end + end + return head, done +end + +-- nodes.tasks.prependaction("processors","normalizers","scripts.decomposehangul") + +local otffeatures = fonts.constructors.newfeatures("otf") +local registerotffeature = otffeatures.register + +registerotffeature { + name = "decomposehangul", + description = "decompose hangul", + processors = { + -- position = 1, + node = scripts.decomposehangul, + } +} -- Chinese: hanzi local chinese_0 = { @@ -948,4 +1013,3 @@ scripts.installmethod { }, }, } - diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 15ebfb22f..29b73a56e 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 8b7df2357..929760a24 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/util-str.lua b/tex/context/base/util-str.lua index 24a3f6e82..af8b1651e 100644 --- a/tex/context/base/util-str.lua +++ b/tex/context/base/util-str.lua @@ -647,7 +647,7 @@ local format_extension = function(extensions,f,name) end end --- aA b cC d eE f gG hH iI jJ lL mM N o p qQ r sS tT uU wW xX +-- aA b cC d eE f gG hH iI jJ lL mM N o p qQ r sS tT uU wW xX z local builder = Cs { "start", start = ( diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 3e89856fb..7ebdb0666 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 11/04/13 11:52:02 +-- merge date : 11/04/13 14:10:07 do -- begin closure to overcome local limits and interference -- cgit v1.2.3