summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fontloader/misc/fontloader-font-dsp.lua16
-rw-r--r--src/fontloader/misc/fontloader-font-otr.lua7
-rw-r--r--src/fontloader/runtime/fontloader-reference.lua25
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