View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001013 | context | bug report | public | 2019-09-08 07:17 | 2020-01-29 09:08 |
Reporter | emojifreak | Assigned To | Hans Hagen | ||
Priority | none | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Summary | 0001013: Color SVG in OpenType font does not appear in PDF | ||||
Description | According to https://meeting.contextgarden.net/2017/talks/2017-09-12-hans-color-fonts/picture-fonts.pdf Color SVG in OpenType font format seems supported. After downloading Abelone font from https://www.fontself.com/colorfontweek/2018#abelone to current directory and use "context" to the below file, PDF does not contain letters in Abelone font. \definefont[colorsvgfont][file:./Abelone-FREE.otf*color:svg] \starttext ABCD efgh\\ \colorsvgfont ABCD efgh \stoptext A part of the log shows fonts > svg conversion > executing runner 'otfsvg': inkscape --shell > temp-otf-svg-shape.log fonts > svg conversion > processing 96 svg containers fonts > svg conversion > processing 96 pdf results fonts > svg conversion > svg conversion time 2.197 seconds So the SVG-to-PDF conversion by inkscape was executed by context, but glyphs did not appear in PDF. The related generated files are attached below. ConTeXt version is $ context --version mtx-context | ConTeXt Process Management 1.02 mtx-context | mtx-context | main context file: /usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/context.mkiv mtx-context | current version: 2019.03.21 21:39 | ||||
Tags | No tags attached. | ||||
|
temp-otf-svg-shape.log (183 bytes)
Inkscape 0.92.4 (5da689c313, 2019-01-14) interactive shell mode. Type 'quit' to quit. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> colorsvg.tuc (5,360 bytes)
local utilitydata = { } utilitydata.comment={ ["escape"]="[===[ ... ]===]", ["file"]="colorsvg", ["format"]="cont-en", ["stamp"]="2019.03.21 21:39", ["version"]=1.31, } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.variables then utilitydata.job.variables = { } end utilitydata.job.variables.checksums={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.variables then utilitydata.job.variables = { } end utilitydata.job.variables.collected={ ["macros"]={}, ["randomseed"]=0.93082936154678, ["sectionblockorder"]={}, } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.structure then utilitydata.job.structure = { } end utilitydata.job.structure.collected={ ["branches"]={}, ["name"]="", ["type"]="text", } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.positions then utilitydata.job.positions = { } end utilitydata.job.positions.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.passes then utilitydata.job.passes = { } end utilitydata.job.passes.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.datasets then utilitydata.job.datasets = { } end utilitydata.job.datasets.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.pagestates then utilitydata.job.pagestates = { } end utilitydata.job.pagestates.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.specials then utilitydata.structures.specials = { } end utilitydata.structures.specials.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.sections then utilitydata.structures.sections = { } end utilitydata.structures.sections.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.counters then utilitydata.structures.counters = { } end utilitydata.structures.counters.collected={ ["chemical"]={ { 0 }, }, ["combination"]={ { 0 }, }, ["endnote"]={ { 0 }, }, ["figure"]={ { 0 }, }, ["footnote"]={ { 0 }, }, ["formula"]={ { 0 }, }, ["graphic"]={ { 0 }, }, ["intermezzo"]={ { 0 }, }, ["itemgroup:itemize"]={ { 0 }, }, ["linenote"]={ { 0 }, }, ["paragraph"]={ { 0 }, }, ["realpage"]={ { 1 }, }, ["subpage"]={ { 1 }, }, ["table"]={ { 0 }, }, ["userpage"]={ { 1 }, }, } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.lists then utilitydata.structures.lists = { } end utilitydata.structures.lists.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.pages then utilitydata.structures.pages = { } end utilitydata.structures.pages.collected={ { ["block"]="bodypart", ["number"]=1, ["numberdata"]=1, ["prefixdata"]=2, ["state"]="start", }, } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.references then utilitydata.structures.references = { } end utilitydata.structures.references.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.references then utilitydata.structures.references = { } end utilitydata.structures.references.referred={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.objects then utilitydata.job.objects = { } end utilitydata.job.objects.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.synonyms then utilitydata.structures.synonyms = { } end utilitydata.structures.synonyms.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.registers then utilitydata.structures.registers = { } end utilitydata.structures.registers.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.blocks then utilitydata.structures.blocks = { } end utilitydata.structures.blocks.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.files then utilitydata.job.files = { } end utilitydata.job.files.collected={ } if not utilitydata.publications then utilitydata.publications = { } end utilitydata.publications.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.fileobjreferences then utilitydata.job.fileobjreferences = { } end utilitydata.job.fileobjreferences.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.embedded then utilitydata.job.embedded = { } end utilitydata.job.embedded.collected={ } utilitydata.job.packed={ ["index"]={ { ["conversionset"]="pagenumber", }, { ["connector"]="–", ["prefix"]="no", ["set"]="part", }, }, ["keys"]={ ["directives"]=true, ["metadata"]=true, ["numberdata"]=true, ["numbers"]=true, ["ownnumbers"]=true, ["pagedata"]=true, ["prefixdata"]=true, ["processors"]=true, ["sectiondata"]=true, ["specification"]=true, }, ["skip"]={ ["datasets"]=true, ["positions"]=true, ["userdata"]=true, }, ["version"]=1.02, } return utilitydata colorsvg.log (11,710 bytes)
open source > level 1, order 1, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv' system > system > ConTeXt ver: 2019.03.21 21:39 MKIV beta fmt: 2019.9.8 int: english/english system > system > 'cont-new.mkiv' loaded open source > level 2, order 2, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv' system > beware: some patches loaded from cont-new.mkiv close source > level 2, order 2, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv' system > files > jobname 'colorsvg', input './colorsvg', result 'colorsvg' fonts > latin modern fonts are not preloaded languages > language 'en' is active open source > level 2, order 3, name '/home/ryutaroh/context/colorsvg.tex' fonts > preloading latin modern fonts (second stage) fonts > otf loading > loading '/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf', hash 'lmroman12-regular' fonts > otf loading > loading done fonts > otf loading > saving '/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf' in cache system > lua > compiling '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/lmroman12-regular.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/lmroman12-regular.tmc' system > lua > dumping '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/lmroman12-regular.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/lmroman12-regular.tmc' stripped fonts > otf loading > loading, optimizing, packing and caching time 0.073 fonts > otf loading > loading '/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf', hash 'latinmodern-math' fonts > otf loading > loading done fonts > otf loading > saving '/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf' in cache system > lua > compiling '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/latinmodern-math.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/latinmodern-math.tmc' system > lua > dumping '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/latinmodern-math.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/latinmodern-math.tmc' stripped fonts > otf loading > loading, optimizing, packing and caching time 0.274 fonts > 'fallback modern-designsize rm 12pt' is loaded fonts > otf loading > loading '/home/ryutaroh/context/Abelone-FREE.otf', hash 'abelone-free' system > lua > compiling '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/svg/abelone-free.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/svg/abelone-free.tmc' system > lua > dumping '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/svg/abelone-free.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/svg/abelone-free.tmc' stripped fonts > otf loading > loading done fonts > otf loading > saving '/home/ryutaroh/context/Abelone-FREE.otf' in cache system > lua > compiling '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/abelone-free.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/abelone-free.tmc' system > lua > dumping '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/abelone-free.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/abelone-free.tmc' stripped fonts > otf loading > loading, optimizing, packing and caching time 0.077 fonts > svg conversion > executing runner 'otfsvg': inkscape --shell > temp-otf-svg-shape.log fonts > svg conversion > processing 96 svg containers fonts > svg conversion > processing 96 pdf results fonts > svg conversion > svg conversion time 2.197 seconds system > lua > compiling '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/pdf/abelone-free.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/pdf/abelone-free.tmc' system > lua > dumping '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/pdf/abelone-free.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/pdf/abelone-free.tmc' stripped backend > xmp > using file '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml' pages > flushing realpage 1, userpage 1, subpage 1 close source > level 2, order 3, name '/home/ryutaroh/context/colorsvg.tex' close source > level 1, order 3, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv' system > start used files system > text: colorsvg system > stop used files system > start used files system > 1: filename=char-prv.lua filetype=tex format=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/char-prv.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/char-prv.lua usedmethod=database system > 2: filename=cont-yes.mkiv filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv usedmethod=database system > 3: filename=publ-imp-default.lua filetype=lua foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/publ-imp-default.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/publ-imp-default.lua usedmethod=database system > 4: filename=cont-new.mkiv filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv usedmethod=database system > 5: filename=lang-exc.lua filetype=lua foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lang-exc.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lang-exc.lua usedmethod=database system > 6: filename=lang-us.lua filetype=lua foundname=/usr/local/texlive/2019/texmf-dist/tex/context/patterns/mkiv/lang-us.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/patterns/mkiv/lang-us.lua usedmethod=database system > 7: filename=/home/ryutaroh/context/colorsvg.tex foundname=/home/ryutaroh/context/colorsvg.tex fullname=/home/ryutaroh/context/colorsvg.tex usedmethod=direct system > 8: filename=lm.lfg filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/fonts/mkiv/lm.lfg fullname=/usr/local/texlive/2019/texmf-dist/tex/context/fonts/mkiv/lm.lfg usedmethod=database system > 9: filename=lmroman12-regular filetype=otf format=otf foundname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf fullname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf usedmethod=database system > 10: filename=latinmodern-math.otf filetype=opentypefonts foundname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf fullname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf usedmethod=database system > 11: filename=/home/ryutaroh/context/Abelone-FREE.otf format=otf foundname=/home/ryutaroh/context/Abelone-FREE.otf fullname=/home/ryutaroh/context/Abelone-FREE.otf usedmethod=direct system > 12: filename=pdftex.map filetype=map format=map foundname=/usr/local/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map fullname=/usr/local/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map usedmethod=database system > 13: filename=lpdf-pdx.xml filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml usedmethod=database system > stop used files system > start commandline options system > currentrun="1" system > fulljobname="./colorsvg.tex" system > input="./colorsvg.tex" system > kindofrun="1" system > maxnofruns="9" system > texmfbinpath="/usr/local/texlive/2019/bin/x86_64-linux" system > stop commandline options system > start commandline files system > 1: ./colorsvg.tex system > stop commandline files modules > start used modules modules > stop used modules mkiv lua stats > used config file: selfautoparent:/texmfcnf.lua;selfautoparent:/texmf-dist/web2c/texmfcnf.lua mkiv lua stats > used cache path: readable+writable: '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9' mkiv lua stats > resource resolver: loadtime 0.091 seconds, 0 scans with scantime 0.000 seconds, 0 shared scans, 13 found files, scanned paths: <none> mkiv lua stats > stored bytecode data: 443 modules (0.269 sec), 93 tables (0.010 sec), 536 chunks (0.279 sec) mkiv lua stats > traced context: maxstack: 1369, freed: 0, unreachable: 1369 mkiv lua stats > cleaned up reserved nodes: 53 nodes, 9 lists of 440 mkiv lua stats > node memory usage: 1 glue, 3 kern, 2 penalty, 11 attribute, 50 glue_spec, 4 attribute_list, 2 temp, 2 user_defined mkiv lua stats > node list callback tasks: 8 unique task lists, 7 instances (re)created, 39 calls mkiv lua stats > driver time: 0.066 seconds mkiv lua stats > used backend: pdf (backend for directly generating pdf output) mkiv lua stats > jobdata time: 0.001 seconds saving, 0.000 seconds loading mkiv lua stats > callbacks: internal: 159, file: 142, direct: 2, late: 0, function 503, total: 806 mkiv lua stats > randomizer: resumed with value 0.93082936154678 mkiv lua stats > result saved in file: colorsvg.pdf, compresslevel 3, objectcompresslevel 1 mkiv lua stats > loaded patterns: en::1, load time: 0.000 mkiv lua stats > loaded fonts: 3 files: abelone-free.otf, latinmodern-math.otf, lmroman12-regular.otf mkiv lua stats > font engine: otf 3.107, afm 1.513, tfm 1.000, 8 instances, 3 shared in backend, 3 common vectors, 0 common hashes, load time 2.772 seconds mkiv lua stats > used platform: linux-64, type: unix, binary subtree: bin mkiv lua stats > used engine: luatex version 1.1 with functionality level 7127, banner: this is luatex, version 1.10.0 (tex live 2019) mkiv lua stats > control sequences: 45230 of 65536 + 100000 mkiv lua stats > lua properties: engine: lua 5.3, used memory: 175 MB (ctx: 175 MB), hash chars: min(64,40), symbol mask: utf (τεχ) mkiv lua stats > runtime: 3.143 seconds, 1 processed pages, 1 shipped pages, 0.318 pages/second colorsvg.tex (118 bytes)
\definefont[colorsvgfont][file:./Abelone-FREE.otf*color:svg] \starttext ABCD efgh\\ \colorsvgfont ABCD efgh \stoptext |
|
the font is not ok, the shapes are out of the viewbox so nothing ends up in the pdf blobs |
|
Hans, thank you for your attention and investigation. I am sorry for bothering you by a bogus font. I tested two other fonts Playbox from https://www.fontself.com/colorfontweek/2018 (middle of the page) and Gilbert from https://github.com/Fontself/TypeWithPride/releases/download/1.005/Gilbert_1.005_alpha.zip in place of the Abelone font. The none of the above two fonts generated reasonable results. Should I consider that Playbox and Gilbert are also bogus fonts...? Related source files and generated files are attached below. I really hope NOT bothering you by bogus fonts. If all the fonts I tested so far are bogus, I would appreciate it if you could tell a Color SVG-in-OpenType font for testing ConTeXt. colorsvg3.tuc (5,361 bytes)
local utilitydata = { } utilitydata.comment={ ["escape"]="[===[ ... ]===]", ["file"]="colorsvg3", ["format"]="cont-en", ["stamp"]="2019.03.21 21:39", ["version"]=1.31, } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.variables then utilitydata.job.variables = { } end utilitydata.job.variables.checksums={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.variables then utilitydata.job.variables = { } end utilitydata.job.variables.collected={ ["macros"]={}, ["randomseed"]=0.76781524298713, ["sectionblockorder"]={}, } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.structure then utilitydata.job.structure = { } end utilitydata.job.structure.collected={ ["branches"]={}, ["name"]="", ["type"]="text", } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.positions then utilitydata.job.positions = { } end utilitydata.job.positions.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.passes then utilitydata.job.passes = { } end utilitydata.job.passes.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.datasets then utilitydata.job.datasets = { } end utilitydata.job.datasets.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.pagestates then utilitydata.job.pagestates = { } end utilitydata.job.pagestates.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.specials then utilitydata.structures.specials = { } end utilitydata.structures.specials.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.sections then utilitydata.structures.sections = { } end utilitydata.structures.sections.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.counters then utilitydata.structures.counters = { } end utilitydata.structures.counters.collected={ ["chemical"]={ { 0 }, }, ["combination"]={ { 0 }, }, ["endnote"]={ { 0 }, }, ["figure"]={ { 0 }, }, ["footnote"]={ { 0 }, }, ["formula"]={ { 0 }, }, ["graphic"]={ { 0 }, }, ["intermezzo"]={ { 0 }, }, ["itemgroup:itemize"]={ { 0 }, }, ["linenote"]={ { 0 }, }, ["paragraph"]={ { 0 }, }, ["realpage"]={ { 1 }, }, ["subpage"]={ { 1 }, }, ["table"]={ { 0 }, }, ["userpage"]={ { 1 }, }, } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.lists then utilitydata.structures.lists = { } end utilitydata.structures.lists.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.pages then utilitydata.structures.pages = { } end utilitydata.structures.pages.collected={ { ["block"]="bodypart", ["number"]=1, ["numberdata"]=1, ["prefixdata"]=2, ["state"]="start", }, } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.references then utilitydata.structures.references = { } end utilitydata.structures.references.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.references then utilitydata.structures.references = { } end utilitydata.structures.references.referred={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.objects then utilitydata.job.objects = { } end utilitydata.job.objects.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.synonyms then utilitydata.structures.synonyms = { } end utilitydata.structures.synonyms.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.registers then utilitydata.structures.registers = { } end utilitydata.structures.registers.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.blocks then utilitydata.structures.blocks = { } end utilitydata.structures.blocks.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.files then utilitydata.job.files = { } end utilitydata.job.files.collected={ } if not utilitydata.publications then utilitydata.publications = { } end utilitydata.publications.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.fileobjreferences then utilitydata.job.fileobjreferences = { } end utilitydata.job.fileobjreferences.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.embedded then utilitydata.job.embedded = { } end utilitydata.job.embedded.collected={ } utilitydata.job.packed={ ["index"]={ { ["conversionset"]="pagenumber", }, { ["connector"]="–", ["prefix"]="no", ["set"]="part", }, }, ["keys"]={ ["directives"]=true, ["metadata"]=true, ["numberdata"]=true, ["numbers"]=true, ["ownnumbers"]=true, ["pagedata"]=true, ["prefixdata"]=true, ["processors"]=true, ["sectiondata"]=true, ["specification"]=true, }, ["skip"]={ ["datasets"]=true, ["positions"]=true, ["userdata"]=true, }, ["version"]=1.02, } return utilitydata colorsvg3.log (10,231 bytes)
open source > level 1, order 1, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv' system > system > ConTeXt ver: 2019.03.21 21:39 MKIV beta fmt: 2019.9.10 int: english/english system > system > 'cont-new.mkiv' loaded open source > level 2, order 2, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv' system > beware: some patches loaded from cont-new.mkiv close source > level 2, order 2, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv' system > files > jobname 'colorsvg3', input './colorsvg3', result 'colorsvg3' fonts > latin modern fonts are not preloaded languages > language 'en' is active open source > level 2, order 3, name '/home/ryutaroh/context/colorsvg3.tex' fonts > preloading latin modern fonts (second stage) fonts > 'fallback modern-designsize rm 12pt' is loaded fonts > otf loading > loading '/home/ryutaroh/context/Gilbert-Color Bold Preview5.otf', hash 'gilbert-color-bold-preview5' system > lua > compiling '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/svg/gilbert-color-bold-preview5.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/svg/gilbert-color-bold-preview5.tmc' system > lua > dumping '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/svg/gilbert-color-bold-preview5.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/svg/gilbert-color-bold-preview5.tmc' stripped fonts > otf loading > loading done fonts > otf loading > saving '/home/ryutaroh/context/Gilbert-Color Bold Preview5.otf' in cache system > lua > compiling '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/gilbert-color-bold-preview5.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/gilbert-color-bold-preview5.tmc' system > lua > dumping '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/gilbert-color-bold-preview5.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/otl/gilbert-color-bold-preview5.tmc' stripped fonts > otf loading > loading, optimizing, packing and caching time 0.048 fonts > svg conversion > executing runner 'otfsvg': inkscape --shell > temp-otf-svg-shape.log fonts > svg conversion > processing 449 svg containers fonts > svg conversion > 100 shapes processed fonts > svg conversion > 200 shapes processed fonts > svg conversion > 300 shapes processed fonts > svg conversion > 400 shapes processed fonts > svg conversion > processing 449 pdf results fonts > svg conversion > svg conversion time 0.941 seconds system > lua > compiling '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/pdf/gilbert-color-bold-preview5.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/pdf/gilbert-color-bold-preview5.tmc' system > lua > dumping '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/pdf/gilbert-color-bold-preview5.tma' into '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/fonts/pdf/gilbert-color-bold-preview5.tmc' stripped backend > xmp > using file '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml' pages > flushing realpage 1, userpage 1, subpage 1 close source > level 2, order 3, name '/home/ryutaroh/context/colorsvg3.tex' close source > level 1, order 3, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv' system > start used files system > text: colorsvg3 system > stop used files system > start used files system > 1: filename=char-prv.lua filetype=tex format=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/char-prv.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/char-prv.lua usedmethod=database system > 2: filename=cont-yes.mkiv filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv usedmethod=database system > 3: filename=publ-imp-default.lua filetype=scripts foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/publ-imp-default.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/publ-imp-default.lua usedmethod=database system > 4: filename=cont-new.mkiv filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv usedmethod=database system > 5: filename=lang-exc.lua filetype=scripts foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lang-exc.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lang-exc.lua usedmethod=database system > 6: filename=lang-us.lua filetype=scripts foundname=/usr/local/texlive/2019/texmf-dist/tex/context/patterns/mkiv/lang-us.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/patterns/mkiv/lang-us.lua usedmethod=database system > 7: filename=/home/ryutaroh/context/colorsvg3 foundname=/home/ryutaroh/context/colorsvg3.tex fullname=/home/ryutaroh/context/colorsvg3.tex usedmethod=qualified system > 8: filename=lm.lfg filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/fonts/mkiv/lm.lfg fullname=/usr/local/texlive/2019/texmf-dist/tex/context/fonts/mkiv/lm.lfg usedmethod=database system > 9: filename=lmroman12-regular filetype=otf format=otf foundname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf fullname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf usedmethod=database system > 10: filename=latinmodern-math.otf filetype=opentypefonts foundname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf fullname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf usedmethod=database system > 11: filename=/home/ryutaroh/context/Gilbert-Color Bold Preview5.otf format=otf foundname=/home/ryutaroh/context/Gilbert-Color Bold Preview5.otf fullname=/home/ryutaroh/context/Gilbert-Color Bold Preview5.otf usedmethod=direct system > 12: filename=pdftex.map filetype=map format=map foundname=/usr/local/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map fullname=/usr/local/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map usedmethod=database system > 13: filename=lpdf-pdx.xml filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml usedmethod=database system > stop used files system > start commandline options system > currentrun="1" system > fulljobname="./colorsvg3" system > input="./colorsvg3" system > kindofrun="1" system > maxnofruns="9" system > texmfbinpath="/usr/local/texlive/2019/bin/x86_64-linux" system > stop commandline options system > start commandline files system > 1: ./colorsvg3 system > stop commandline files modules > start used modules modules > stop used modules mkiv lua stats > used config file: selfautoparent:/texmfcnf.lua;selfautoparent:/texmf-dist/web2c/texmfcnf.lua mkiv lua stats > used cache path: readable+writable: '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9' mkiv lua stats > resource resolver: loadtime 0.089 seconds, 0 scans with scantime 0.000 seconds, 0 shared scans, 13 found files, scanned paths: <none> mkiv lua stats > stored bytecode data: 443 modules (0.271 sec), 93 tables (0.010 sec), 536 chunks (0.281 sec) mkiv lua stats > traced context: maxstack: 1369, freed: 0, unreachable: 1369 mkiv lua stats > cleaned up reserved nodes: 53 nodes, 9 lists of 440 mkiv lua stats > node memory usage: 1 glue, 3 kern, 2 penalty, 11 attribute, 50 glue_spec, 4 attribute_list, 2 temp, 2 user_defined mkiv lua stats > node list callback tasks: 8 unique task lists, 7 instances (re)created, 39 calls mkiv lua stats > driver time: 0.060 seconds mkiv lua stats > used backend: pdf (backend for directly generating pdf output) mkiv lua stats > jobdata time: 0.000 seconds saving, 0.000 seconds loading mkiv lua stats > callbacks: internal: 159, file: 142, direct: 2, late: 0, function 503, total: 806 mkiv lua stats > randomizer: resumed with value 0.76781524298713 mkiv lua stats > result saved in file: colorsvg3.pdf, compresslevel 3, objectcompresslevel 1 mkiv lua stats > loaded patterns: en::1, load time: 0.000 mkiv lua stats > loaded fonts: 3 files: gilbert-color bold preview5.otf, latinmodern-math.otf, lmroman12-regular.otf mkiv lua stats > font engine: otf 3.107, afm 1.513, tfm 1.000, 8 instances, 3 shared in backend, 3 common vectors, 0 common hashes, load time 1.152 seconds mkiv lua stats > used platform: linux-64, type: unix, binary subtree: bin mkiv lua stats > used engine: luatex version 1.1 with functionality level 7127, banner: this is luatex, version 1.10.0 (tex live 2019) mkiv lua stats > control sequences: 45230 of 65536 + 100000 mkiv lua stats > lua properties: engine: lua 5.3, used memory: 160 MB (ctx: 160 MB), hash chars: min(64,40), symbol mask: utf (τεχ) mkiv lua stats > runtime: 1.522 seconds, 1 processed pages, 1 shipped pages, 0.657 pages/second colorsvg3.tex (135 bytes)
\definefont[colorsvgfont][file:{./Gilbert-Color Bold Preview5.otf}*color:svg] \starttext ABCD efgh\\ \colorsvgfont ABCD efgh \stoptext colorsvg2.tuc (5,361 bytes)
local utilitydata = { } utilitydata.comment={ ["escape"]="[===[ ... ]===]", ["file"]="colorsvg2", ["format"]="cont-en", ["stamp"]="2019.03.21 21:39", ["version"]=1.31, } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.variables then utilitydata.job.variables = { } end utilitydata.job.variables.checksums={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.variables then utilitydata.job.variables = { } end utilitydata.job.variables.collected={ ["macros"]={}, ["randomseed"]=0.59000460756943, ["sectionblockorder"]={}, } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.structure then utilitydata.job.structure = { } end utilitydata.job.structure.collected={ ["branches"]={}, ["name"]="", ["type"]="text", } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.positions then utilitydata.job.positions = { } end utilitydata.job.positions.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.passes then utilitydata.job.passes = { } end utilitydata.job.passes.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.datasets then utilitydata.job.datasets = { } end utilitydata.job.datasets.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.pagestates then utilitydata.job.pagestates = { } end utilitydata.job.pagestates.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.specials then utilitydata.structures.specials = { } end utilitydata.structures.specials.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.sections then utilitydata.structures.sections = { } end utilitydata.structures.sections.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.counters then utilitydata.structures.counters = { } end utilitydata.structures.counters.collected={ ["chemical"]={ { 0 }, }, ["combination"]={ { 0 }, }, ["endnote"]={ { 0 }, }, ["figure"]={ { 0 }, }, ["footnote"]={ { 0 }, }, ["formula"]={ { 0 }, }, ["graphic"]={ { 0 }, }, ["intermezzo"]={ { 0 }, }, ["itemgroup:itemize"]={ { 0 }, }, ["linenote"]={ { 0 }, }, ["paragraph"]={ { 0 }, }, ["realpage"]={ { 1 }, }, ["subpage"]={ { 1 }, }, ["table"]={ { 0 }, }, ["userpage"]={ { 1 }, }, } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.lists then utilitydata.structures.lists = { } end utilitydata.structures.lists.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.pages then utilitydata.structures.pages = { } end utilitydata.structures.pages.collected={ { ["block"]="bodypart", ["number"]=1, ["numberdata"]=1, ["prefixdata"]=2, ["state"]="start", }, } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.references then utilitydata.structures.references = { } end utilitydata.structures.references.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.references then utilitydata.structures.references = { } end utilitydata.structures.references.referred={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.objects then utilitydata.job.objects = { } end utilitydata.job.objects.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.synonyms then utilitydata.structures.synonyms = { } end utilitydata.structures.synonyms.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.registers then utilitydata.structures.registers = { } end utilitydata.structures.registers.collected={ } if not utilitydata.structures then utilitydata.structures = { } end if not utilitydata.structures.blocks then utilitydata.structures.blocks = { } end utilitydata.structures.blocks.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.files then utilitydata.job.files = { } end utilitydata.job.files.collected={ } if not utilitydata.publications then utilitydata.publications = { } end utilitydata.publications.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.fileobjreferences then utilitydata.job.fileobjreferences = { } end utilitydata.job.fileobjreferences.collected={ } if not utilitydata.job then utilitydata.job = { } end if not utilitydata.job.embedded then utilitydata.job.embedded = { } end utilitydata.job.embedded.collected={ } utilitydata.job.packed={ ["index"]={ { ["conversionset"]="pagenumber", }, { ["connector"]="–", ["prefix"]="no", ["set"]="part", }, }, ["keys"]={ ["directives"]=true, ["metadata"]=true, ["numberdata"]=true, ["numbers"]=true, ["ownnumbers"]=true, ["pagedata"]=true, ["prefixdata"]=true, ["processors"]=true, ["sectiondata"]=true, ["specification"]=true, }, ["skip"]={ ["datasets"]=true, ["positions"]=true, ["userdata"]=true, }, ["version"]=1.02, } return utilitydata colorsvg2.log (7,405 bytes)
open source > level 1, order 1, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv' system > system > ConTeXt ver: 2019.03.21 21:39 MKIV beta fmt: 2019.9.10 int: english/english system > system > 'cont-new.mkiv' loaded open source > level 2, order 2, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv' system > beware: some patches loaded from cont-new.mkiv close source > level 2, order 2, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv' system > files > jobname 'colorsvg2', input './colorsvg2', result 'colorsvg2' fonts > latin modern fonts are not preloaded languages > language 'en' is active open source > level 2, order 3, name '/home/ryutaroh/context/colorsvg2.tex' fonts > preloading latin modern fonts (second stage) fonts > 'fallback modern-designsize rm 12pt' is loaded backend > xmp > using file '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml' pages > flushing realpage 1, userpage 1, subpage 1 close source > level 2, order 3, name '/home/ryutaroh/context/colorsvg2.tex' close source > level 1, order 3, name '/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv' system > start used files system > text: colorsvg2 system > stop used files system > start used files system > 1: filename=char-prv.lua filetype=tex format=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/char-prv.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/char-prv.lua usedmethod=database system > 2: filename=cont-yes.mkiv filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv usedmethod=database system > 3: filename=publ-imp-default.lua filetype=scripts foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/publ-imp-default.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/publ-imp-default.lua usedmethod=database system > 4: filename=cont-new.mkiv filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/cont-new.mkiv usedmethod=database system > 5: filename=lang-exc.lua filetype=scripts foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lang-exc.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lang-exc.lua usedmethod=database system > 6: filename=lang-us.lua filetype=scripts foundname=/usr/local/texlive/2019/texmf-dist/tex/context/patterns/mkiv/lang-us.lua fullname=/usr/local/texlive/2019/texmf-dist/tex/context/patterns/mkiv/lang-us.lua usedmethod=database system > 7: filename=/home/ryutaroh/context/colorsvg2.tex foundname=/home/ryutaroh/context/colorsvg2.tex fullname=/home/ryutaroh/context/colorsvg2.tex usedmethod=direct system > 8: filename=lm.lfg filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/fonts/mkiv/lm.lfg fullname=/usr/local/texlive/2019/texmf-dist/tex/context/fonts/mkiv/lm.lfg usedmethod=database system > 9: filename=lmroman12-regular filetype=otf format=otf foundname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf fullname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf usedmethod=database system > 10: filename=latinmodern-math.otf filetype=opentypefonts foundname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf fullname=/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf usedmethod=database system > 11: filename=/home/ryutaroh/context/Playbox-FREE.otf format=otf foundname=/home/ryutaroh/context/Playbox-FREE.otf fullname=/home/ryutaroh/context/Playbox-FREE.otf usedmethod=direct system > 12: filename=pdftex.map filetype=map format=map foundname=/usr/local/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map fullname=/usr/local/texlive/2019/texmf-var/fonts/map/pdftex/updmap/pdftex.map usedmethod=database system > 13: filename=lpdf-pdx.xml filetype=tex foundname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml fullname=/usr/local/texlive/2019/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml usedmethod=database system > stop used files system > start commandline options system > currentrun="3" system > fulljobname="./colorsvg2.tex" system > input="./colorsvg2.tex" system > kindofrun="2" system > maxnofruns="9" system > texmfbinpath="/usr/local/texlive/2019/bin/x86_64-linux" system > stop commandline options system > start commandline files system > 1: ./colorsvg2.tex system > stop commandline files modules > start used modules modules > stop used modules mkiv lua stats > used config file: selfautoparent:/texmfcnf.lua;selfautoparent:/texmf-dist/web2c/texmfcnf.lua mkiv lua stats > used cache path: readable+writable: '/home/ryutaroh/.texlive2019/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9' mkiv lua stats > resource resolver: loadtime 0.088 seconds, 0 scans with scantime 0.000 seconds, 0 shared scans, 13 found files, scanned paths: <none> mkiv lua stats > stored bytecode data: 443 modules (0.270 sec), 93 tables (0.010 sec), 536 chunks (0.280 sec) mkiv lua stats > traced context: maxstack: 1369, freed: 0, unreachable: 1369 mkiv lua stats > cleaned up reserved nodes: 53 nodes, 9 lists of 440 mkiv lua stats > node memory usage: 1 glue, 3 kern, 2 penalty, 11 attribute, 50 glue_spec, 4 attribute_list, 2 temp, 2 user_defined mkiv lua stats > node list callback tasks: 8 unique task lists, 7 instances (re)created, 39 calls mkiv lua stats > driver time: 0.063 seconds mkiv lua stats > used backend: pdf (backend for directly generating pdf output) mkiv lua stats > jobdata time: 0.000 seconds saving, 0.000 seconds loading mkiv lua stats > callbacks: internal: 159, file: 142, direct: 2, late: 0, function 503, total: 806 mkiv lua stats > randomizer: resumed with value 0.59000460756943 mkiv lua stats > result saved in file: colorsvg2.pdf, compresslevel 3, objectcompresslevel 1 mkiv lua stats > loaded patterns: en::1, load time: 0.000 mkiv lua stats > loaded fonts: 3 files: playbox-free.otf, latinmodern-math.otf, lmroman12-regular.otf mkiv lua stats > font engine: otf 3.107, afm 1.513, tfm 1.000, 8 instances, 3 shared in backend, 3 common vectors, 0 common hashes, load time 0.151 seconds mkiv lua stats > used platform: linux-64, type: unix, binary subtree: bin mkiv lua stats > used engine: luatex version 1.1 with functionality level 7127, banner: this is luatex, version 1.10.0 (tex live 2019) mkiv lua stats > control sequences: 45229 of 65536 + 100000 mkiv lua stats > lua properties: engine: lua 5.3, used memory: 138 MB (ctx: 138 MB), hash chars: min(64,40), symbol mask: utf (τεχ) mkiv lua stats > runtime: 0.522 seconds, 1 processed pages, 1 shipped pages, 1.916 pages/second colorsvg2.tex (118 bytes)
\definefont[colorsvgfont][file:./Playbox-FREE.otf*color:svg] \starttext ABCD efgh\\ \colorsvgfont ABCD efgh \stoptext |
|
the problem with these fonts is that they specify a viewbox of 0 1000 0 1000 while their shapes are someplace else so it's sloppy svg (maybe the same application is used to produce them) ... now, of course one can deal with that (thereby turning a bug into a feature as usual) but ... anyway, what you can try is this: on font-ocl.lua replace --shell by --export-area-drawing --shell then remake the context format and wipe the bad behaving fonts from the texmf-cache subpaths (or just wipe the cache) i then see Abelone-FREE.otf show up as well as Gilbert-ColorBoldPreview5 although the later has issues (for instance a 'g' has bad dimensions) maybe there is a better inkscape option i can try to tweak the boundingbox in the svg and see if that improves matters |
|
this kind of works ... but these fonts seem to have pretty bad kerning so one needs additional intercharacter kerns |
|
Thank you very much! I use Linux and making file /usr/local/texlive/2019/bin/x86_64-linux/inkscape as #!/bin/bash exec /usr/bin/inkscape --export-area-drawing "$@" forced glyphs to appear in PDFs in all the fonts I tested. As another example, I tested Twitter Emoji font in SVG-OT format from https://github.com/eosrei/twemoji-color-font/releases Without --export-area-drawing no glyph appeared and with it a glyph appeared. The Twitter SVG-OT font seems also having improper bounding boxes. |
|
> the problem with these fonts is that they specify a viewbox of 0 1000 0 1000 while their shapes are someplace else so it's sloppy svg (maybe the same application is used to produce them) ... now, of course one can deal with that (thereby turning a bug into a feature as usual) but ... The problem isn't with the fonts, the fonts just do what the specification mandates. The ViewBox isn't used as a bounding box of sorts, it only gives the origin and a scaling factor: (from https://docs.microsoft.com/en-us/typography/opentype/spec/svg) > The default SVG coordinate system is vertically mirrored in comparison to the TrueType/CFF design grid: the positive y-axis points downward, rather than usual convention for OpenType of the positive y-axis pointing upward. In other respects, the default coordinate system of an SVG document corresponds to the TrueType/CFF design grid: the default units for the SVG document are equivalent to font design units; the SVG origin (0,0) is aligned with the origin in the TrueType/CFF design grid; and y = 0 is the default horizontal baseline used for text layout. > The size of the initial viewport for the SVG document is the em square: height and width both equal to head.unitsPerEm. If a viewBox attribute is specified on the <svg> element with width or height values different from the unitsPerEm value, this will have the effect of a scale transformation on the SVG “user” coordinate system. Similarly, if height or width attributes are specified on the <svg> element, this will also have the effect of a scale transformation on the coordinate system. > Although the initial viewport size is the em square, the viewport must not be clipped. The <svg> element is assumed to have a clip property value of auto, and an overflow property value of visible. A font should not specify clip or overflow properties on the <svg> element. If clip or overflow properties are specified on the <svg> element with any other values, they must be ignored. > Note: Because SVG uses a y-down coordinate system, then by default, glyphs will often be drawn in the +x -y quadrant of the SVG coordinate system. (See Example 2.) In many other environments, however, graphic elements may need to be in the +x +y quadrant to be visible. Font development tools should provide an appropriate transfer between a design environment and the representation within the font’s SVG table. In Example 3, a viewBox attribute is used to shift the viewport up. In Example 4, a translate transform is used on container elements to shift the graphic elements that comprise the glyph descriptions. |
|
otfsvg.topdf function in tex/context/base/mkiv/font-ocl.lua calls `getindices` function, which seems defined in font-aux.lua. On the other hand, luaotfload's fontloader-YYYY-MM-DD.lua does not (cannot?) incorporate font-aux.lua, and use of SVG-in-OT font in LuaTeX causes runtime error "texmf-dist/tex/luatex/luaotfload/fontloader-2019-10-29.lua:27743: attempt to call a nil value (field 'getindices')" with luaotfload 3.1 released this month as reported at https://github.com/latex3/luaotfload/issues/96#issuecomment-552716005 Ulrike Fischer advised me to report it here as it is an upstream (ConTeXt) issue. Could you have a look at this issue? |
|
i'll comment that line as it's not needed (only when later code is uncommented) you can probably ask the maintainer to comment the line in luaotfload -- local indices = fonts.getindices(tfmdata) |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-09-08 07:17 | emojifreak | New Issue | |
2019-09-08 07:17 | emojifreak | File Added: temp-otf-svg-shape.log | |
2019-09-08 07:17 | emojifreak | File Added: colorsvg.tuc | |
2019-09-08 07:17 | emojifreak | File Added: colorsvg.pdf | |
2019-09-08 07:17 | emojifreak | File Added: colorsvg.log | |
2019-09-08 07:17 | emojifreak | File Added: colorsvg.tex | |
2019-09-09 11:43 | Hans Hagen | Note Added: 0001717 | |
2019-09-09 22:47 | emojifreak | File Added: colorsvg3.tuc | |
2019-09-09 22:47 | emojifreak | File Added: colorsvg3.pdf | |
2019-09-09 22:47 | emojifreak | File Added: colorsvg3.log | |
2019-09-09 22:47 | emojifreak | File Added: colorsvg3.tex | |
2019-09-09 22:47 | emojifreak | File Added: colorsvg2.tuc | |
2019-09-09 22:47 | emojifreak | File Added: colorsvg2.pdf | |
2019-09-09 22:47 | emojifreak | File Added: colorsvg2.log | |
2019-09-09 22:47 | emojifreak | File Added: colorsvg2.tex | |
2019-09-09 22:47 | emojifreak | Note Added: 0001718 | |
2019-09-10 08:00 | Hans Hagen | File Added: oeps.pdf | |
2019-09-10 08:00 | Hans Hagen | Note Added: 0001719 | |
2019-09-10 10:46 | Hans Hagen | File Added: oeps-2.pdf | |
2019-09-10 10:46 | Hans Hagen | Note Added: 0001720 | |
2019-09-10 17:33 | emojifreak | Note Added: 0001721 | |
2019-09-11 09:40 | mkrueger | Note Added: 0001722 | |
2019-11-12 12:54 | emojifreak | Note Added: 0001724 | |
2019-11-12 13:31 | Hans Hagen | Note Added: 0001725 | |
2020-01-29 09:08 | Hans Hagen | Assigned To | => Hans Hagen |
2020-01-29 09:08 | Hans Hagen | Status | new => closed |
2020-01-29 09:08 | Hans Hagen | Resolution | open => fixed |