From ba744a4bce3ed03eefbf2b4746fa24e6d388d9ff Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Tue, 14 Jun 2016 23:09:47 +0200 Subject: [fontloader] sync with Context as of 2016-06-14 --- src/fontloader/misc/fontloader-font-dsp.lua | 16 +++++++++------- src/fontloader/misc/fontloader-font-otr.lua | 7 ++++--- src/fontloader/runtime/fontloader-reference.lua | 25 ++++++++++++++----------- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/fontloader/misc/fontloader-font-dsp.lua b/src/fontloader/misc/fontloader-font-dsp.lua index 9726c51..a1ae17f 100644 --- a/src/fontloader/misc/fontloader-font-dsp.lua +++ b/src/fontloader/misc/fontloader-font-dsp.lua @@ -2214,9 +2214,9 @@ function readers.math(f,fontdata,specification) end function readers.colr(f,fontdata,specification) - if specification.details then - local datatable = fontdata.tables.colr - if datatable then + local datatable = fontdata.tables.colr + if datatable then + if specification.glyphs then local tableoffset = datatable.offset setposition(f,tableoffset) local version = readushort(f) @@ -2266,11 +2266,12 @@ function readers.colr(f,fontdata,specification) glyphs[glyphindex].colors = t end end + fontdata.hascolor = true end end function readers.cpal(f,fontdata,specification) - if specification.details then + if specification.glyphs then local datatable = fontdata.tables.cpal if datatable then local tableoffset = datatable.offset @@ -2316,9 +2317,9 @@ function readers.cpal(f,fontdata,specification) end function readers.svg(f,fontdata,specification) - if specification.details then - local datatable = fontdata.tables.svg - if datatable then + local datatable = fontdata.tables.svg + if datatable then + if specification.glyphs then local tableoffset = datatable.offset setposition(f,tableoffset) local version = readushort(f) @@ -2351,5 +2352,6 @@ function readers.svg(f,fontdata,specification) end fontdata.svgshapes = entries end + fontdata.hascolor = true end end diff --git a/src/fontloader/misc/fontloader-font-otr.lua b/src/fontloader/misc/fontloader-font-otr.lua index e09e87d..7d0bf04 100644 --- a/src/fontloader/misc/fontloader-font-otr.lua +++ b/src/fontloader/misc/fontloader-font-otr.lua @@ -1659,19 +1659,19 @@ end -- Experimental (we need fonts). function readers.colr(f,fontdata,specification) - if specification.details then + if specification.glyphs then reportskippedtable("colr") end end function readers.cpal(f,fontdata,specification) - if specification.details then + if specification.glyphs then reportskippedtable("cpal") end end function readers.svg(f,fontdata,specification) - if specification.details then + if specification.glyphs then reportskippedtable("svg") end end @@ -2189,6 +2189,7 @@ function readers.loadfont(filename,n) properties = { hasitalics = fontdata.hasitalics or false, maxcolorclass = fontdata.maxcolorclass, + hascolor = fontdata.hascolor or false, }, resources = { -- filename = fontdata.filename, diff --git a/src/fontloader/runtime/fontloader-reference.lua b/src/fontloader/runtime/fontloader-reference.lua index 350d3cf..6f96d97 100644 --- a/src/fontloader/runtime/fontloader-reference.lua +++ b/src/fontloader/runtime/fontloader-reference.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 06/10/16 23:51:36 +-- merge date : 06/13/16 17:00:29 do -- begin closure to overcome local limits and interference @@ -8802,17 +8802,17 @@ function readers.glyf(f,fontdata,specification) end end function readers.colr(f,fontdata,specification) - if specification.details then + if specification.glyphs then reportskippedtable("colr") end end function readers.cpal(f,fontdata,specification) - if specification.details then + if specification.glyphs then reportskippedtable("cpal") end end function readers.svg(f,fontdata,specification) - if specification.details then + if specification.glyphs then reportskippedtable("svg") end end @@ -9283,6 +9283,7 @@ function readers.loadfont(filename,n) properties={ hasitalics=fontdata.hasitalics or false, maxcolorclass=fontdata.maxcolorclass, + hascolor=fontdata.hascolor or false, }, resources={ filename=filename, @@ -13169,9 +13170,9 @@ function readers.math(f,fontdata,specification) end end function readers.colr(f,fontdata,specification) - if specification.details then - local datatable=fontdata.tables.colr - if datatable then + local datatable=fontdata.tables.colr + if datatable then + if specification.glyphs then local tableoffset=datatable.offset setposition(f,tableoffset) local version=readushort(f) @@ -13218,10 +13219,11 @@ function readers.colr(f,fontdata,specification) glyphs[glyphindex].colors=t end end + fontdata.hascolor=true end end function readers.cpal(f,fontdata,specification) - if specification.details then + if specification.glyphs then local datatable=fontdata.tables.cpal if datatable then local tableoffset=datatable.offset @@ -13265,9 +13267,9 @@ function readers.cpal(f,fontdata,specification) end end function readers.svg(f,fontdata,specification) - if specification.details then - local datatable=fontdata.tables.svg - if datatable then + local datatable=fontdata.tables.svg + if datatable then + if specification.glyphs then local tableoffset=datatable.offset setposition(f,tableoffset) local version=readushort(f) @@ -13300,6 +13302,7 @@ function readers.svg(f,fontdata,specification) end fontdata.svgshapes=entries end + fontdata.hascolor=true end end -- cgit v1.2.3