summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2013-11-25 20:09:00 +0100
committerHans Hagen <pragma@wxs.nl>2013-11-25 20:09:00 +0100
commit5e8bf69c911f752a3b2f691549e378915c53a360 (patch)
tree1573c92336dc9c85ff1372d5f8742dc407c553de /tex
parent277b7556b6fe2fea89be61774a36b56e8f9a6e84 (diff)
downloadcontext-5e8bf69c911f752a3b2f691549e378915c53a360.tar.gz
beta 2013.11.25 20:09
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4128 -> 4128 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/data-res.lua3
-rw-r--r--tex/context/base/font-otf.lua3
-rw-r--r--tex/context/base/font-otn.lua15
-rw-r--r--tex/context/base/font-sel.lua10
-rw-r--r--tex/context/base/l-os.lua3
-rw-r--r--tex/context/base/spac-ali.mkiv7
-rw-r--r--tex/context/base/status-files.pdfbin24724 -> 24679 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin227331 -> 227449 bytes
-rw-r--r--tex/context/base/util-lib.lua3
-rw-r--r--tex/context/base/util-sql-imp-swiglib.lua4
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua15
14 files changed, 49 insertions, 18 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index db204d665..1f720a526 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.22 22:29}
+\newcontextversion{2013.11.25 20:09}
%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 4df980db9..cd0e34fc4 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 2f74afd60..69ef0a112 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.22 22:29}
+\edef\contextversion{2013.11.25 20:09}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/data-res.lua b/tex/context/base/data-res.lua
index f1ddb62aa..64c38f82c 100644
--- a/tex/context/base/data-res.lua
+++ b/tex/context/base/data-res.lua
@@ -1526,10 +1526,11 @@ local function findwildcardfiles(filename,allresults,result) -- todo: remap: and
end
else
local hashes = instance.hashes
+-- inspect(hashes)
for k=1,#hashes do
local hash = hashes[k]
local hashname, hashtype = hash.name, hash.type
- if doit(path,files[hashname][bname],bname,hashname,hashtype,result,allresults) then done = true end
+ if doit(path,files[hashname][base],base,hashname,hashtype,result,allresults) then done = true end
if done and not allresults then break end
end
end
diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua
index e2fd845a0..b2ca54615 100644
--- a/tex/context/base/font-otf.lua
+++ b/tex/context/base/font-otf.lua
@@ -2025,6 +2025,9 @@ local function copytotfm(data,cache_id)
properties.space = spacer
properties.encodingbytes = 2
properties.format = data.format or otf_format(filename) or formats.otf
+-- if units ~= 1000 and format ~= "truetype" then
+-- properties.format = "truetype"
+-- end
properties.noglyphnames = true
properties.filename = filename
properties.fontname = fontname
diff --git a/tex/context/base/font-otn.lua b/tex/context/base/font-otn.lua
index 3733d51c2..d9e4b9b64 100644
--- a/tex/context/base/font-otn.lua
+++ b/tex/context/base/font-otn.lua
@@ -624,9 +624,9 @@ function handlers.gsub_ligature(head,start,kind,lookupname,ligature,sequence)
break
end
end
- if stop then
- local lig = ligature.ligature
- if lig then
+ local lig = ligature.ligature
+ if lig then
+ if stop then
if trace_ligatures then
local stopchar = stop.char
head, start = toligature(kind,lookupname,head,start,stop,lig,skipmark,discfound)
@@ -636,8 +636,15 @@ function handlers.gsub_ligature(head,start,kind,lookupname,ligature,sequence)
end
return head, start, true
else
- -- ok, goto next lookup
+ -- weird but happens (in some arabic font)
+ start.char = lig
+ if trace_ligatures then
+ logprocess("%s: replacing %s by (no real) ligature %s case 3",pref(kind,lookupname),gref(startchar),gref(lig))
+ end
+ return head, start, true
end
+ else
+ -- weird but happens
end
end
return head, start, false
diff --git a/tex/context/base/font-sel.lua b/tex/context/base/font-sel.lua
index fff425fa1..7926d8dd3 100644
--- a/tex/context/base/font-sel.lua
+++ b/tex/context/base/font-sel.lua
@@ -10,6 +10,7 @@ local context = context
local cleanname = fonts.names.cleanname
local gsub, splitup, find = string.gsub, string.splitup, string.find
local splitbase, removesuffix = file.splitbase, file.removesuffix
+local splitat, lpegmatch = lpeg.splitat, lpeg.match
local formatters = string.formatters
local settings_to_array = utilities.parsers.settings_to_array
@@ -286,21 +287,23 @@ local function savefont(data,alternative,entries)
end
local function savefeatures(data,alternative,entries)
+ local e = gsub(entries,"{(.*)}","%1")
local f = data.features
if not f then
f = { }
data.features = f
end
- f[alternative] = entries
+ f[alternative] = e
end
local function savegoodies(data,alternative,entries)
+ local e = gsub(entries,"{(.*)}","%1")
local g = data.goodies
if not f then
g = { }
data.goodies = g
end
- g[alternative] = entries
+ g[alternative] = e
end
methods[v_simplefonts] = function(data,alternative,style)
@@ -446,10 +449,11 @@ end
function selectfont.filterinput(index)
local data = data[index]
+ local p = splitat(":",true)
for alternative, _ in next, alternatives do
local list = settings_to_array(data.alternatives[alternative])
for _, entry in next, list do
- method, entries = splitup(entry,":")
+ method, entries = lpegmatch(p,entry)
if not entries then
entries = method
method = "name"
diff --git a/tex/context/base/l-os.lua b/tex/context/base/l-os.lua
index 44e0f53e1..57edc3915 100644
--- a/tex/context/base/l-os.lua
+++ b/tex/context/base/l-os.lua
@@ -238,7 +238,8 @@ elseif os.type == "windows" then
function os.resolvers.platform(t,k)
local platform, architecture = "", os.getenv("PROCESSOR_ARCHITECTURE") or ""
if find(architecture,"AMD64") then
- platform = "mswin-64"
+ -- platform = "mswin-64"
+ platform = "win64"
else
platform = "mswin"
end
diff --git a/tex/context/base/spac-ali.mkiv b/tex/context/base/spac-ali.mkiv
index 6f1ba7f4a..9c7e81379 100644
--- a/tex/context/base/spac-ali.mkiv
+++ b/tex/context/base/spac-ali.mkiv
@@ -20,6 +20,13 @@
%D merged into one and caching has been added, which makes switching
%D twice as fast.
+% Todo: find a way to force last lines to have some distance from the right
+% edge (problem: keywords or presets), maybe a plugin
+%
+% \setupalign[...,myoption] % last
+%
+% but that also means myoption gets frozen due to caching.
+
\registerctxluafile{spac-ali}{1.001}
\definesystemattribute[realign] [public] % might be combined with the next one
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 62dd8403d..7258c8591 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 79d1197ec..ae56770be 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/util-lib.lua b/tex/context/base/util-lib.lua
index 6498d2661..301ef4e9b 100644
--- a/tex/context/base/util-lib.lua
+++ b/tex/context/base/util-lib.lua
@@ -93,6 +93,9 @@ local function requireswiglib(required,version)
local trace_swiglib = trace_swiglib or package.helpers.trace
local library = loaded[required]
if library == nil then
+ if trace_swiglib then
+ report_swiglib("requiring library %a with version %a",required,version or "any")
+ end
-- initialize a few variables
local required_full = gsub(required,"%.","/") -- package.helpers.lualibfile
local required_path = pathpart(required_full)
diff --git a/tex/context/base/util-sql-imp-swiglib.lua b/tex/context/base/util-sql-imp-swiglib.lua
index 1d64ac115..af7012392 100644
--- a/tex/context/base/util-sql-imp-swiglib.lua
+++ b/tex/context/base/util-sql-imp-swiglib.lua
@@ -23,8 +23,8 @@ local report_state = logs.reporter("sql","swiglib")
local helpers = require("swiglib.helpers.core")
local sql = utilities.sql
-local mysql = require("swiglib.mysql.core") -- "5.6"
------ mysql = swiglib("mysql.core") -- "5.6"
+local mysql = require("swiglib.mysql.core") -- "5.6.14"
+----- mysql = swiglib("mysql.core") -- "5.6.14"
local new_u_char_array = helpers.new_u_char_array or helpers.new_ucharArray
local ucharArray_setitem = helpers.u_char_array_setitem or helpers.ucharArray_setitem
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 9bb358c97..6d1450d58 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/22/13 22:29:17
+-- merge date : 11/25/13 20:09:50
do -- begin closure to overcome local limits and interference
@@ -10075,9 +10075,9 @@ function handlers.gsub_ligature(head,start,kind,lookupname,ligature,sequence)
break
end
end
- if stop then
- local lig=ligature.ligature
- if lig then
+ local lig=ligature.ligature
+ if lig then
+ if stop then
if trace_ligatures then
local stopchar=getchar(stop)
head,start=toligature(kind,lookupname,head,start,stop,lig,skipmark,discfound)
@@ -10085,9 +10085,14 @@ function handlers.gsub_ligature(head,start,kind,lookupname,ligature,sequence)
else
head,start=toligature(kind,lookupname,head,start,stop,lig,skipmark,discfound)
end
- return head,start,true
else
+ setfield(start,"char",lig)
+ if trace_ligatures then
+ logprocess("%s: replacing %s by (no real) ligature %s case 3",pref(kind,lookupname),gref(startchar),gref(lig))
+ end
end
+ return head,start,true
+ else
end
end
return head,start,false