diff options
-rw-r--r-- | src/fontloader/misc/fontloader-font-dsp.lua | 16 | ||||
-rw-r--r-- | src/fontloader/misc/fontloader-font-otr.lua | 7 | ||||
-rw-r--r-- | 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 |