From 4a0e1a196924d87dd4b148e20236bff7ee9e4ca2 Mon Sep 17 00:00:00 2001 From: Marius Date: Sun, 12 Jan 2014 01:20:26 +0200 Subject: beta 2014.01.11 23:58 --- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4115 -> 4086 bytes tex/context/base/context.mkiv | 10 +++- tex/context/base/font-otf.lua | 2 + tex/context/base/font-otn.lua | 3 ++ tex/context/base/font-syn.lua | 54 +++++++++++++++++++-- tex/context/base/status-files.pdf | Bin 24593 -> 24538 bytes tex/context/base/status-lua.pdf | Bin 228416 -> 228348 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 9 files changed, 67 insertions(+), 6 deletions(-) diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 2b254fc84..582e3d2bc 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{2014.01.10 19:09} +\newcontextversion{2014.01.11 23:58} %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 fdd74e967..c54d5b971 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 8c6f255e3..ccb237732 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -28,7 +28,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2014.01.10 19:09} +\edef\contextversion{2014.01.11 23:58} \edef\contextkind {beta} %D For those who want to use this: @@ -477,9 +477,17 @@ \loadmarkfile{lang-spa} % will become obsolete +% old bibtex support: (will be m-oldbibtex.mkiv) + \loadmarkfile{bibl-bib} \loadmarkfile{bibl-tra} +% new bibtex support: + +% \loadmarkfile{publ-ini} +% \loadmarkfile{publ-tra} +% \loadmarkfile{publ-xml} + %loadmarkfile{x-xtag} % no longer preloaded \loadmarkfile{meta-xml} diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua index 09078f9ee..d6373cef9 100644 --- a/tex/context/base/font-otf.lua +++ b/tex/context/base/font-otf.lua @@ -106,6 +106,8 @@ function otf.fileformat(filename) return formats.otf, suffix == "otf" elseif leader == "ttcf" then return formats.ttc, suffix == "ttc" + -- elseif leader == "true" then + -- return formats.ttf, suffix == "ttf" elseif suffix == "ttc" then return formats.ttc, true elseif suffix == "dfont" then diff --git a/tex/context/base/font-otn.lua b/tex/context/base/font-otn.lua index 7a5ae1758..38b35c023 100644 --- a/tex/context/base/font-otn.lua +++ b/tex/context/base/font-otn.lua @@ -8,6 +8,9 @@ if not modules then modules = { } end modules ['font-otn'] = { -- preprocessors = { "nodes" } +-- anchor class : mark, mkmk, curs, mklg (todo) +-- anchor type : mark, basechar, baselig, basemark, centry, cexit, max (todo) + -- this is still somewhat preliminary and it will get better in due time; -- much functionality could only be implemented thanks to the husayni font -- of Idris Samawi Hamid to who we dedicate this module. diff --git a/tex/context/base/font-syn.lua b/tex/context/base/font-syn.lua index 5b50ac75f..5126739a7 100644 --- a/tex/context/base/font-syn.lua +++ b/tex/context/base/font-syn.lua @@ -81,7 +81,33 @@ directives.register("fonts.usesystemfonts", function(v) usesystemfonts = toboole local P, C, Cc, Cs = lpeg.P, lpeg.C, lpeg.Cc, lpeg.Cs --- what to do with 'thin' +-- -- what to do with these -- -- +-- +-- thin -> thin +-- +-- regu -> regular -> normal +-- norm -> normal -> normal +-- stan -> standard -> normal +-- medi -> medium +-- ultr -> ultra +-- ligh -> light +-- heav -> heavy +-- blac -> black +-- thin +-- book +-- verylight +-- +-- buch -> book +-- buchschrift -> book +-- halb -> demi +-- halbfett -> demi +-- mitt -> medium +-- mittel -> medium +-- fett -> bold +-- mage -> light +-- mager -> light +-- nord -> normal +-- gras -> normal local weights = Cs ( -- not extra P("demibold") @@ -90,6 +116,7 @@ local weights = Cs ( -- not extra + P("ultrabold") + P("extrabold") + P("ultralight") + + P("extralight") + P("bold") + P("demi") + P("semi") @@ -103,6 +130,17 @@ local weights = Cs ( -- not extra + P("regular") / "normal" ) +-- numeric_weights = { +-- 200 = "extralight", +-- 300 = "light", +-- 400 = "book", +-- 500 = "medium", +-- 600 = "demi", +-- 700 = "bold", +-- 800 = "heavy", +-- 900 = "black", +-- } + local normalized_weights = sparse { regular = "normal", } @@ -116,6 +154,7 @@ local styles = Cs ( + P("roman") / "normal" + P("ital") / "italic" -- might be tricky + P("ita") / "italic" -- might be tricky +--+ P("obli") / "oblique" ) local normalized_styles = sparse { @@ -129,6 +168,7 @@ local widths = Cs( + P("thin") + P("expanded") + P("cond") / "condensed" +--+ P("expa") / "expanded" + P("normal") + P("book") / "normal" ) @@ -268,6 +308,9 @@ filters.dfont = fontloader.info -- glyphs so here we first load and then discard which is a waste. In the past it did -- free memory because a full load was done. One of these things that goes unnoticed. -- +-- missing: names, units_per_em, design_range_bottom, design_range_top, design_size, +-- pfminfo, top_side_bearing + -- function fontloader.fullinfo(...) -- check with taco what we get / could get -- local ff = fontloader.open(...) -- if ff then @@ -283,7 +326,7 @@ filters.dfont = fontloader.info -- Phillip suggested this faster variant but it's still a hack as fontloader.info should -- return these keys/values (and maybe some more) but at least we close the loader which -- might save some memory in the end. --- + -- function fontloader.fullinfo(name) -- local ff = fontloader.open(name) -- if ff then @@ -301,6 +344,7 @@ filters.dfont = fontloader.info -- design_size = fields.design_size and ff.design_size, -- italicangle = fields.italicangle and ff.italicangle, -- pfminfo = fields.pfminfo and ff.pfminfo, +-- top_side_bearing = fields.top_side_bearing and ff.top_side_bearing, -- } -- table.setmetatableindex(d,function(t,k) -- report_names("warning, trying to access field %a in font table of %a",k,name) @@ -313,7 +357,7 @@ filters.dfont = fontloader.info -- end -- As we have lazy loading anyway, this one still is full and with less code than --- the previous one. +-- the previous one. But this depends on the garbage collector to kick in. function fontloader.fullinfo(...) local ff = fontloader.open(...) @@ -326,6 +370,10 @@ function fontloader.fullinfo(...) end end +if tonumber(status.luatex_version) > 78 or (tonumber(status.luatex_version) == 78 and tonumber(status.luatex_revision) > 0) then + fontloader.fullinfo = fontloader.info +end + filters.otf = fontloader.fullinfo filters.ttf = fontloader.fullinfo diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 09764dc29..7061e0103 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 6feb6faea..054b088ad 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index fc9a66a8a..aea0c2e69 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 : 01/10/14 19:09:03 +-- merge date : 01/11/14 23:58:35 do -- begin closure to overcome local limits and interference -- cgit v1.2.3