diff options
author | Karl Berry <karl@freefriends.org> | 2021-01-16 22:25:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-01-16 22:25:10 +0000 |
commit | 0399b5338a37aca0a26e7dbd5a04bca07d9e2151 (patch) | |
tree | ff5d3d0dadacd9a23c024525ef987ef43ac255ce /Master/texmf-dist/tex | |
parent | 8bb8543ef19641038280016321028f3b2db2e7e5 (diff) |
luaotfload (16jan21)
git-svn-id: svn://tug.org/texlive/trunk@57443 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
39 files changed, 778 insertions, 272 deletions
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-2020-12-30.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-2021-01-07.lua index 835eca6695c..e333584b006 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-2020-12-30.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-2021-01-07.lua @@ -1,9 +1,9 @@ --[[info----------------------------------------------------------------------- Luaotfload fontloader package - build 2020-12-30 17:29:34 + build 2021-01-07 23:19:37 ------------------------------------------------------------------------------- - © 2020 PRAGMA ADE / ConTeXt Development Team + © 2021 PRAGMA ADE / ConTeXt Development Team The code in this file is provided under the GPL v2.0 license. See the file COPYING in the Luaotfload repository for details. @@ -63,7 +63,7 @@ --info]]----------------------------------------------------------------------- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] --- if not modules then modules={} end modules ['data-con']={ version=1.100, @@ -184,10 +184,10 @@ function containers.cleanname(name) return (gsub(lower(name),"[^%w\128-\255]+","-")) end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “data-con”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “data-con”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “basics-nod” 4b5c3c63e19df1b3f37fae7f87c25bda] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “basics-nod” 4b5c3c63e19df1b3f37fae7f87c25bda] --- if not modules then modules={} end modules ['luatex-fonts-nod']={ version=1.001, @@ -450,10 +450,10 @@ do end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “basics-nod”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “basics-nod”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “basics-chr” 64fafe4eaf55d64aead6513c1e74a024] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “basics-chr” 64fafe4eaf55d64aead6513c1e74a024] --- characters=characters or {} @@ -4063,10 +4063,10 @@ characters.indicgroups={ }, } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “basics-chr”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “basics-chr”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] --- if not modules then modules={} end modules ['font-ini']={ version=1.001, @@ -4107,10 +4107,10 @@ if node and not tex.getfontoffamily then tex.getfontoffamily=node.family_font end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ini”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ini”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] --- if not modules then modules={} end modules ['luatex-font-mis']={ version=1.001, @@ -4142,10 +4142,10 @@ function font.each() return table.sortedhash(fonts.hashes.identifiers) end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-mis”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-mis”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-con” a3eb543fa5946fa1faf0e1e50d5b3b91] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-con” 724e5dd14aec2d4d189f8619898004cf] --- if not modules then modules={} end modules ['font-con']={ version=1.001, @@ -4599,6 +4599,9 @@ function constructors.scale(tfmdata,specification) properties.hasmath=true target.nomath=false target.MathConstants=target.mathparameters + local oldmath=properties.oldmath + targetproperties.oldmath=oldmath + target.oldmath=oldmath else properties.hasmath=false target.nomath=true @@ -5510,10 +5513,10 @@ function constructors.addcoreunicodes(unicodes) return unicodes end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-con”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-con”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-enc” 5ff4ca50493d7c4ecea0e15c203099f0] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-enc” 5ff4ca50493d7c4ecea0e15c203099f0] --- if not modules then modules={} end modules ['luatex-font-enc']={ version=1.001, @@ -5582,10 +5585,10 @@ function encodings.load(filename) return containers.write(encodings.cache,name,data) end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-enc”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-enc”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] --- if not modules then modules={} end modules ['font-cid']={ version=1.001, @@ -5736,10 +5739,10 @@ function cid.getmap(specification) return found end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-cid”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-cid”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-map” c4a39db5ad822b348aa61bca5f4a599a] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-map” c4a39db5ad822b348aa61bca5f4a599a] --- if not modules then modules={} end modules ['font-map']={ version=1.001, @@ -6147,10 +6150,10 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-map”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-map”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] --- if not modules then modules={} end modules ['font-vfc']={ version=1.001, @@ -6247,10 +6250,10 @@ helpers.commands=utilities.storage.allocate { dummy=dummy, } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-vfc”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-vfc”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otr” 64dcbbc7107538723990e1119a80a9f8] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otr” 64dcbbc7107538723990e1119a80a9f8] --- if not modules then modules={} end modules ['font-otr']={ version=1.001, @@ -8094,10 +8097,10 @@ function readers.extend(fontdata) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otr”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otr”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] --- if not modules then modules={} end modules ['font-oti']={ version=1.001, @@ -8240,10 +8243,10 @@ function otffeatures.checkeddefaultlanguage(featuretype,autolanguage,languages) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oti”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oti”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ott” 673ed11e1d159997f535bfec5fa73808] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ott” 673ed11e1d159997f535bfec5fa73808] --- if not modules then modules={} end modules ["font-ott"]={ version=1.001, @@ -9359,10 +9362,10 @@ function otffeatures.normalize(features,wrap) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ott”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ott”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-cff” 802a10ad12ac32329f540881f940e3f2] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-cff” 2b677fad52d9999d0685e8525271a8cc] --- if not modules then modules={} end modules ['font-cff']={ version=1.001, @@ -10540,7 +10543,7 @@ do local reginit=false local function updateregions(n) if regions then - local current=regions[n] or regions[1] + local current=regions[n+1] or regions[1] nofregions=#current if axis and n~=reginit then factors={} @@ -11109,7 +11112,11 @@ do popped=3 seacs={} if regions then - regions={ regions } + regions={} + local deltas=data.deltas + for i=1,#deltas do + regions[i]=deltas[i].regions + end axis=data.factors or false end end @@ -11557,10 +11564,10 @@ function readers.cffcheck(filename) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-cff”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-cff”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ttf” ffffc827e1bcddc33a2b615340ecff7f] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ttf” ffffc827e1bcddc33a2b615340ecff7f] --- if not modules then modules={} end modules ['font-ttf']={ version=1.001, @@ -12731,10 +12738,10 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ttf”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ttf”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-dsp” 18c85a4857f45c31a3555bf1faac434a] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-dsp” 174ce11f3ba0bddf270f48d8d2addd56] --- if not modules then modules={} end modules ['font-dsp']={ version=1.001, @@ -13096,7 +13103,6 @@ local function readvariationdata(f,storeoffset,factors) end regions[i]=t end - if factors then for i=1,nofdeltadata do setposition(f,storeoffset+deltadata[i]) local nofdeltasets=readushort(f) @@ -13120,7 +13126,6 @@ local function readvariationdata(f,storeoffset,factors) scales=factors and getscales(usedregions,factors) or nil, } end - end setposition(f,position) return regions,deltadata end @@ -16012,10 +16017,10 @@ function readers.mvar(f,fontdata,specification) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-dsp”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-dsp”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oup” 6f46aa00ae1c20c43f8ffaf329dc8695] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oup” 6f46aa00ae1c20c43f8ffaf329dc8695] --- if not modules then modules={} end modules ['font-oup']={ version=1.001, @@ -18656,10 +18661,10 @@ function readers.expand(data) expandlookups(sublookups) end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oup”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oup”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otl” 6c4b718ceacfb0cbeb2c03c423f97aec] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otl” f4e6652a191003493389de230b14cfb3] --- if not modules then modules={} end modules ['font-otl']={ version=1.001, @@ -18687,7 +18692,7 @@ local trace_defining=false registertracker("fonts.defining",function(v) trace_d local report_otf=logs.reporter("fonts","otf loading") local fonts=fonts local otf=fonts.handlers.otf -otf.version=3.112 +otf.version=3.113 otf.cache=containers.define("fonts","otl",otf.version,true) otf.svgcache=containers.define("fonts","svg",otf.version,true) otf.pngcache=containers.define("fonts","png",otf.version,true) @@ -19365,10 +19370,10 @@ otf.coverup={ end } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otl”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otl”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oto” 2b1d6bc63b2ebf8f2655a15e1cda6541] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oto” 2b1d6bc63b2ebf8f2655a15e1cda6541] --- if not modules then modules={} end modules ['font-oto']={ version=1.001, @@ -19826,10 +19831,10 @@ registerotffeature { } otf.basemodeinitializer=featuresinitializer -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-oto”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-oto”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otj” 8de59cb9b043e5f73c6b9f7cc8f6978e] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otj” 8de59cb9b043e5f73c6b9f7cc8f6978e] --- if not modules then modules={} end modules ['font-otj']={ version=1.001, @@ -21324,10 +21329,10 @@ function injections.handler(head,where) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otj”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otj”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ota” ad1d5de06400f88829509e1f3ff2b473] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ota” ad1d5de06400f88829509e1f3ff2b473] --- if not modules then modules={} end modules ['font-ota']={ version=1.001, @@ -21821,10 +21826,10 @@ directives.register("otf.analyze.useunicodemarks",function(v) analyzers.useunicodemarks=v end) -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ota”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ota”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ots” 91c79619c386e4a96954f3115f398b94] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ots” c780a471147527f4ddc139e017927ffe] --- if not modules then modules={} end modules ['font-ots']={ version=1.001, @@ -25442,10 +25447,10 @@ registerotffeature { }, } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ots”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ots”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-osd” 73c9531c79df5ada320cb20777f7ed49] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-osd” 73c9531c79df5ada320cb20777f7ed49] --- if not modules then modules={} end modules ['font-osd']={ version=1.001, @@ -27878,10 +27883,10 @@ for i=1,nofscripts do methods[scripts_two[i]]=method_two end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-osd”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-osd”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ocl” 797b5c71bf819c5f4fb314a4d646e9a7] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ocl” 797b5c71bf819c5f4fb314a4d646e9a7] --- if not modules then modules={} end modules ['font-ocl']={ version=1.001, @@ -28424,10 +28429,10 @@ if context then } end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-ocl”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-ocl”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otc” 0f12230ea07b5151f75d52726977e91f] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otc” 0f12230ea07b5151f75d52726977e91f] --- if not modules then modules={} end modules ['font-otc']={ version=1.001, @@ -29184,10 +29189,10 @@ end otf.enhancers.enhance=enhance otf.enhancers.register("check extra features",enhance) -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-otc”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-otc”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] --- if not modules then modules={} end modules ['font-onr']={ version=1.001, @@ -29560,10 +29565,10 @@ function readers.getinfo(filename) end end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-onr”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-onr”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-one” 53cd565030e919da984b50471cc3be37] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-one” 53cd565030e919da984b50471cc3be37] --- if not modules then modules={} end modules ['font-one']={ version=1.001, @@ -30277,10 +30282,10 @@ registerafmenhancer("normalize features",enhance_normalize_features) registerafmenhancer("check extra features",otfenhancers.enhance) registerafmenhancer("fix names",enhance_fix_names) -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-one”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-one”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] --- if not modules then modules={} end modules ['font-afk']={ version=1.001, @@ -30447,10 +30452,10 @@ fonts.handlers.afm.helpdata={ } } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-afk”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-afk”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] --- if not modules then modules={} end modules ['luatex-fonts-tfm']={ version=1.001, @@ -30965,10 +30970,10 @@ registertfmfeature { } } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-tfm”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-tfm”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] --- if not modules then modules={} end modules ['font-lua']={ version=1.001, @@ -31008,10 +31013,10 @@ function readers.lua(specification) return check_lua(specification,fullname) end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-lua”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-lua”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] --- if not modules then modules={} end modules ['font-def']={ version=1.001, @@ -31411,10 +31416,10 @@ if not context then callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)") end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-def”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-def”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-shp” 5ff497c993112d4fef4c148348d964eb] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-shp” 5ff497c993112d4fef4c148348d964eb] --- if not modules then modules={} end modules ['font-shp']={ version=1.001, @@ -31779,10 +31784,10 @@ callback.register("glyph_stream_provider",function(id,index,mode) return "" end) -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-shp”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-shp”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] --- if not modules then modules={} end modules ['luatex-fonts-def']={ version=1.001, @@ -31863,10 +31868,10 @@ function fonts.definers.applypostprocessors(tfmdata) return tfmdata end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-def”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-def”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] --- if not modules then modules={} end modules ['luatex-fonts-ext']={ version=1.001, @@ -32052,10 +32057,10 @@ registerotffeature { } } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-ext”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-ext”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] --- if not modules then modules={} end modules ['font-imp-tex']={ version=1.001, @@ -32154,10 +32159,10 @@ registerotffeature { description="arabic digits", } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-tex”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-tex”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-ligatures” 26ffcf089391445f7af59536c8814364] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-ligatures” 26ffcf089391445f7af59536c8814364] --- if not modules then modules={} end modules ['font-imp-ligatures']={ version=1.001, @@ -32271,10 +32276,10 @@ if context then } end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-ligatures”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-ligatures”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-italics” ae563638fa29a4ff3e8e4d1e81fd35ae] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-italics” defcb415bc1e0a0999b27773902adc18] --- if not modules then modules={} end modules ['font-imp-italics']={ version=1.001, @@ -32378,10 +32383,10 @@ if context then registerafmfeature(dimensions_specification) end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-italics”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-italics”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-effects” a2dde5e071fcb3fc7b90f2bcd5aa4f22] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-effects” a2dde5e071fcb3fc7b90f2bcd5aa4f22] --- if not modules then modules={} end modules ['font-imp-effects']={ version=1.001, @@ -32764,10 +32769,10 @@ local specification={ registerotffeature(specification) registerafmfeature(specification) -end --- [luaotfload, fontloader-2020-12-30.lua scope for “font-imp-effects”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “font-imp-effects”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] --- fonts.handlers.otf.addfeature { @@ -34836,10 +34841,10 @@ fonts.handlers.otf.addfeature { ["type"]="ligature", } -end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-lig”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-lig”] --- -do --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-gbn” 10ecdf01e7c926e5128ad8a9dff4d677] --- +do --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-gbn” 10ecdf01e7c926e5128ad8a9dff4d677] --- if not modules then modules={} end modules ['luatex-fonts-gbn']={ version=1.001, @@ -35104,7 +35109,7 @@ function nodes.simple_font_handler(head,groupcode,size,packtype,direction) return head end -end --- [luaotfload, fontloader-2020-12-30.lua scope for “fonts-gbn”] --- +end --- [luaotfload, fontloader-2021-01-07.lua scope for “fonts-gbn”] --- --- vim:ft=lua:sw=2:ts=8:et:tw=79 diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-cff.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-cff.lua index b7d45392d60..4e2981011ac 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-cff.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-cff.lua @@ -1425,13 +1425,15 @@ do -- to wrap my head around the rather complex variable font specification -- with regions and axis, the following approach kind of works but is more -- some trial and error trick. It's still not clear how much of the complex - -- truetype description applies to cff. + -- truetype description applies to cff. Once there are fonts out there we'll + -- get there. (Marcel and friends did some tests with recent cff2 fonts so + -- the code has been adapted accordingly.) local reginit = false local function updateregions(n) -- n + 1 if regions then - local current = regions[n] or regions[1] + local current = regions[n+1] or regions[1] nofregions = #current if axis and n ~= reginit then factors = { } @@ -2155,7 +2157,14 @@ do popped = 3 seacs = { } if regions then - regions = { regions } -- needs checking + -- this was: + -- regions = { regions } -- needs checking + -- and is now (MFC): + regions = { } + local deltas = data.deltas + for i = 1, #deltas do + regions[i] = deltas[i].regions + end axis = data.factors or false end end diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-con.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-con.lua index 7162338c66e..f650e5b03d6 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-con.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-con.lua @@ -600,13 +600,17 @@ function constructors.scale(tfmdata,specification) -- if hasmath then constructors.assignmathparameters(target,tfmdata) -- does scaling and whatever is needed - properties.hasmath = true - target.nomath = false - target.MathConstants = target.mathparameters + properties.hasmath = true + target.nomath = false + target.MathConstants = target.mathparameters + -- + local oldmath = properties.oldmath + targetproperties.oldmath = oldmath + target.oldmath = oldmath else - properties.hasmath = false - target.nomath = true - target.mathparameters = nil -- nop + properties.hasmath = false + target.nomath = true + target.mathparameters = nil -- nop end -- -- Here we support some context specific trickery (this might move to a plugin). During the diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-dsp.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-dsp.lua index 91ee83b19b2..8d7c3d359d9 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-dsp.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-dsp.lua @@ -503,7 +503,7 @@ local function readvariationdata(f,storeoffset,factors) -- store regions[i] = t end -- deltas - if factors then + -- if factors then for i=1,nofdeltadata do setposition(f,storeoffset+deltadata[i]) local nofdeltasets = readushort(f) @@ -528,7 +528,7 @@ local function readvariationdata(f,storeoffset,factors) -- store scales = factors and getscales(usedregions,factors) or nil, } end - end + -- end setposition(f,position) return regions, deltadata end diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-imp-italics.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-imp-italics.lua index 3e172bedee6..6c432d7cf4a 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-imp-italics.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-imp-italics.lua @@ -79,24 +79,6 @@ if context then registerotffeature(specification) registerafmfeature(specification) - -- no longer used - - -- local function initializemathitalics(tfmdata,value) -- yes no delay - -- tfmdata.properties.mathitalics = toboolean(value) - -- end - -- - -- local specification = { - -- name = "mathitalics", - -- description = "use alternative math italic correction", - -- initializers = { - -- base = initializemathitalics, - -- node = initializemathitalics, - -- } - -- } - -- - -- registerotffeature(specification) - -- registerafmfeature(specification) - -- only used when testing local letter = characters.is_letter diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-otl.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-otl.lua index b8e13f1070b..19de2bb7771 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-otl.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-otl.lua @@ -52,7 +52,7 @@ local report_otf = logs.reporter("fonts","otf loading") local fonts = fonts local otf = fonts.handlers.otf -otf.version = 3.112 -- beware: also sync font-mis.lua and in mtx-fonts +otf.version = 3.113 -- beware: also sync font-mis.lua and in mtx-fonts otf.cache = containers.define("fonts", "otl", otf.version, true) otf.svgcache = containers.define("fonts", "svg", otf.version, true) otf.pngcache = containers.define("fonts", "png", otf.version, true) diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-ots.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-ots.lua index 1f4806ee257..880bcb6d50a 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-ots.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-font-ots.lua @@ -829,6 +829,9 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip -- of{f-}{}{f}e o{f-}{}{f}fe o{-}{}{ff}e (oe and ff ligature) -- we can end up here when we have a start run .. testruns start at a disc but -- so here we have the other case: char + disc + -- + -- Challenge for Kai (latinmodern): \hyphenation{fii-f-f-iif} fiiffiif + -- if discfound then -- don't assume marks in a disc and we don't run over a disc (for now) local pre, post, replace = getdisc(discfound) diff --git a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-reference.lua b/Master/texmf-dist/tex/luatex/luaotfload/fontloader-reference.lua index 0b220327c35..dde25ac75d1 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/fontloader-reference.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/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 : 2020-12-30 16:42 +-- merge date : 2021-01-07 16:56 do -- begin closure to overcome local limits and interference @@ -9268,6 +9268,9 @@ function constructors.scale(tfmdata,specification) properties.hasmath=true target.nomath=false target.MathConstants=target.mathparameters + local oldmath=properties.oldmath + targetproperties.oldmath=oldmath + target.oldmath=oldmath else properties.hasmath=false target.nomath=true @@ -14016,7 +14019,7 @@ do local reginit=false local function updateregions(n) if regions then - local current=regions[n] or regions[1] + local current=regions[n+1] or regions[1] nofregions=#current if axis and n~=reginit then factors={} @@ -14585,7 +14588,11 @@ do popped=3 seacs={} if regions then - regions={ regions } + regions={} + local deltas=data.deltas + for i=1,#deltas do + regions[i]=deltas[i].regions + end axis=data.factors or false end end @@ -16570,7 +16577,6 @@ local function readvariationdata(f,storeoffset,factors) end regions[i]=t end - if factors then for i=1,nofdeltadata do setposition(f,storeoffset+deltadata[i]) local nofdeltasets=readushort(f) @@ -16594,7 +16600,6 @@ local function readvariationdata(f,storeoffset,factors) scales=factors and getscales(usedregions,factors) or nil, } end - end setposition(f,position) return regions,deltadata end @@ -20779,7 +20784,7 @@ local trace_defining=false registertracker("fonts.defining",function(v) trace_d local report_otf=logs.reporter("fonts","otf loading") local fonts=fonts local otf=fonts.handlers.otf -otf.version=3.112 +otf.version=3.113 otf.cache=containers.define("fonts","otl",otf.version,true) otf.svgcache=containers.define("fonts","svg",otf.version,true) otf.pngcache=containers.define("fonts","png",otf.version,true) diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua index 2d4e757bc0c..fcbd644158e 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua @@ -6,8 +6,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-auxiliary", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / auxiliary functions", license = "GPL v2.0" } diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-case-el.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-case-el.lua new file mode 100644 index 00000000000..1b329c4a65b --- /dev/null +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-case-el.lua @@ -0,0 +1,294 @@ +local unicode_data = require'luaotfload-unicode' + +local has_accent = 1 +local has_combining_dialytika = 2 +local has_ypogegrammeni = 4 +local has_other_diacritic = 8 +local has_vowel = 16 +local vowels = { + [0x03B1] = true, + [0x0391] = true, + [0x03B5] = true, + [0x0395] = true, + [0x03B7] = true, + [0x0397] = true, + [0x03B9] = true, + [0x0399] = true, + [0x03BF] = true, + [0x039F] = true, + [0x03C9] = true, + [0x03A9] = true, + [0x03C5] = true, + [0x03A5] = true, + [0x03F5] = true, +} +local diacritic_data = { + [0x0300] = has_accent, + [0x0301] = has_accent, + [0x0302] = has_accent, + [0x0303] = has_accent, + [0x0311] = has_accent, + [0x0342] = has_accent, + [0x0308] = has_combining_dialytika, + [0x0344] = has_accent | has_combining_dialytika, + [0x0345] = has_ypogegrammeni, + [0x0304] = has_other_diacritic, + [0x0306] = has_other_diacritic, + [0x0313] = has_other_diacritic, + [0x0314] = has_other_diacritic, + [0x0343] = has_other_diacritic, +} + +local mapping_tables = unicode_data.casemapping +local soft_dotted = unicode_data.soft_dotted +local ccc = unicode_data.ccc + +local uppercase = mapping_tables.uppercase +local lowercase = mapping_tables.lowercase +local cased = mapping_tables.cased +local case_ignorable = mapping_tables.case_ignorable + +local otfregister = fonts.constructors.features.otf.register + +local direct = node.direct +local is_char = direct.is_char +local has_glyph = direct.has_glyph +local uses_font = direct.uses_font +local getnext = direct.getnext +local setchar = direct.setchar +local setdisc = direct.setdisc +local getdisc = direct.getdisc +local getfield = direct.getfield +local remove = direct.remove +local copy = direct.copy +local insert_after = direct.insert_after +local traverse = direct.traverse + +local disc = node.id'disc' + +local nfd = {} -- FIXME: Data + +local data do + for cp = 1, 0xFF, 1 do -- FIXME: Correct limits + local decomposed = nfd[cp] + local first = decomposed and decomposed[1] or cp + local upper = uppercase[first] + local data = vowels[first] and has_vowel or 0 + if decomposed then + for i=1, #decomposed do + data = data | (diacritic_data[decomposed[i]] or 0) + end + end + end +end + +--[[ We make some implicit assumptions about contexts in SpecialCasing.txt here which happened to be true when I wrote the code: +-- +-- * Before_Dot only appears as Not_Before_Dot +-- * No other context appears with Not_ +-- * Final_Sigma is never language dependent +-- * Other contexts are always language dependent +-- * The only languages with special mappings are Lithuanian (lt/"LTH "/lit), Turkish (tr/"TRK "/tur), and Azeri/Azerbaijani (az/"AZE "/aze) +]] + +local font_lang = setmetatable({}, {__index = function(t, fid) + local f = font.getfont(fid) + local lang = f.specification.features.normal.language + lang = lang == 'lth' and 'lt' or lang == 'trk' and 'tr' or lang == 'aze' and 'az' or false + t[fid] = lang + return lang +end}) + +local function is_Final_Sigma(font, mapping, n, after) + mapping = mapping.Final_Sigma + if not mapping then return false end + mapping = mapping._ + if not mapping then return false end + n = getnext(n) + repeat + while n do + local char, id = is_char(n, font) + if id == disc then + after = getnext(n) + n = getfield(n, 'replace') + char, id = is_char(n, font) + elseif char then + if not case_ignorable[char] then + return not cased[char] and mapping + end + n = getnext(n) + else + return mapping + end + end + n, after = after + until not n + return mapping +end + +local function is_More_Above(font, mapping, n, after) + mapping = mapping.More_Above + if not mapping then return false end + mapping = mapping._ + if not mapping then return false end + n = getnext(n) + repeat + while n do + local char, id = is_char(n, font) + if id == disc then + after = getnext(n) + n = getfield(n, 'replace') + char, id = is_char(n, font) + elseif char then + local char_ccc = ccc[char] + if not char_ccc then + return false + elseif char_ccc == 230 then + return mapping + end + n = getnext(n) + else + return false + end + end + n, after = after + until not n + return false +end + +local function is_Not_Before_Dot(font, mapping, n, after) + mapping = mapping.Not_Before_Dot + if not mapping then return false end + mapping = mapping._ + if not mapping then return false end + n = getnext(n) + repeat + while n do + local char, id = is_char(n, font) + if id == disc then + after = getnext(n) + n = getfield(n, 'replace') + char, id = is_char(n, font) + elseif char then + local char_ccc = ccc[char] + if not char_ccc then + return mapping + elseif char_ccc == 230 then + return char ~= 0x0307 and mapping + end + n = getnext(n) + else + return mapping + end + end + n, after = after + until not n + return mapping +end + +local function is_Language_Mapping(font, mapping, n, after, seen_soft_dotted, seen_I) + if not mapping then return false end + if seen_soft_dotted then + local mapping = mapping.After_Soft_Dotted + mapping = mapping and mapping._ + if mapping then + return mapping + end + end + if seen_I then + local mapping = mapping.After_I + mapping = mapping and mapping._ + if mapping then + return mapping + end + end + return is_More_Above(font, mapping, n, after) or is_Not_Before_Dot(font, mapping, n, after) or mapping._ -- Might be nil +end + +local function process(table) + local function processor(head, font, after, seen_cased, seen_soft_dotted, seen_I) + local lang = font_lang[font] + local n = head + while n do + do + local new = has_glyph(n) + if n ~= new then + seen_cased, seen_soft_dotted, seen_I = nil + end + n = new + end + if not n then break end + local char, id = is_char(n, font) + if char then + local mapping = table[char] + if mapping then + if tonumber(mapping) then + setchar(n, mapping) + else + mapping = seen_cased and is_Final_Sigma(font, mapping, n, after) + or lang and is_Language_Mapping(font, mapping[lang], n, after, seen_soft_dotted, seen_I) + or mapping._ + if #mapping == 0 then + head, n = remove(head, n) + goto continue + else + setchar(n, mapping[1]) + for i=2, #mapping do + head, n = insert_after(head, n, copy(n)) + setchar(n, mapping[i]) + end + end + end + end + if not case_ignorable[char] then + seen_cased = cased[char] or nil + end + local char_ccc = ccc[char] + if not char_ccc or char_ccc == 230 then + seen_I = char == 0x49 or nil + seen_soft_dotted = soft_dotted[char] + end + elseif id == disc and uses_font(n, font) then + local pre, post, rep = getdisc(n) + local after = getnext(n) + pre, post, rep, seen_cased, seen_soft_dotted, seen_I = + processor(pre, font, nil, seen_cased, seen_soft_dotted, seen_I), + processor(post, font, after), + processor(rep, font, after, seen_cased, seen_soft_dotted, seen_I) + setdisc(n, pre, post, rep) + else + seen_cased, seen_soft_dotted, seen_I = nil + end + n = getnext(n) + ::continue:: + end + return head, seen_cased, seen_soft_dotted, seen_I + end + return function(head, font) return (processor(head, font)) end +end + +local upper_process = process(uppercase) +otfregister { + name = 'upper', + description = 'Map to uppercase', + default = false, + processors = { + position = 1, + plug = upper_process, + node = upper_process, + base = upper_process, + }, +} + +local lower_process = process(lowercase) +otfregister { + name = 'lower', + description = 'Map to lowercase', + default = false, + processors = { + position = 1, + plug = lower_process, + node = lower_process, + base = lower_process, + }, +} diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua index c1f8a63a8ed..fb1cbd34877 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-colors", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / color", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang, Dohyun Kim, David Carlisle", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua index e5e1ed24f06..07ac92096dc 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua @@ -7,8 +7,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-configuration", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / config file reader", license = "GPL v2.0" } diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua index da2d9965a31..288f4a21b2c 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua @@ -5,8 +5,8 @@ do -- block to avoid to many local variables error assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-database", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / database", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua index 366c7c98ece..67970dc4c55 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua @@ -7,8 +7,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-diagnostics", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload-tool submodule / diagnostics", license = "GPL v2.0" } diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua index 33083045d48..12ca5d7d562 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua @@ -6,8 +6,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-dvi", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / DVI", license = "GPL v2.0", author = "Marcel Krüger", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua index 73993eead8b..d9f68f4d4d8 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-embolden", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / embolden", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fakesc.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fakesc.lua new file mode 100644 index 00000000000..421f6fd24d2 --- /dev/null +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fakesc.lua @@ -0,0 +1,204 @@ +----------------------------------------------------------------------- +-- FILE: luaotfload-fakesc.lua +-- DESCRIPTION: part of luaotfload / fakesc +----------------------------------------------------------------------- + +assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { + name = "luaotfload-fakesc", + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE + description = "luaotfload submodule / fakesc", + license = "GPL v2.0", + author = "Marcel Krüger" +} + +local nodenew = node.direct.new +local getfont = font.getfont +local setfont = node.direct.setfont +local getwhd = node.direct.getwhd +local insert_after = node.direct.insert_after +local traverse_char = node.direct.traverse_char +local protect_glyph = node.direct.protect_glyph +local otffeatures = fonts.constructors.newfeatures "otf" + +local sep = lpeg.P' '^0 * ';' * lpeg.P' '^0 +local codepoint = lpeg.S'0123456789ABCDEF'^4/function(c)return tonumber(c, 16)end +local codepoint_range = codepoint * ('..' * codepoint + lpeg.Cc(false)) +local function multirawset(table, key1, key2, value) + for key = key1,(key2 or key1) do + rawset(table, key, value) + end + return table +end +local script_extensions do + local entry = lpeg.Cg(codepoint_range * sep * lpeg.Ct((lpeg.C(lpeg.R'AZ' * lpeg.R'az'^1))^1 * ' ') * '#')^-1 * (1-lpeg.P'\n')^0 * '\n' + local file = lpeg.Cf( + lpeg.Ct'' + * entry^0 + , multirawset) + + local f = io.open(kpse.find_file"ScriptExtensions.txt") + script_extensions = file:match(f:read'*a') + f:close() + for cp,t in next, script_extensions do + for i=1,#t do + t[t[i]] = true + end + end +end +local script_mapping do + -- We could extract these from PropertyValueAliases.txt... + local script_aliases = { + Adlam = "Adlm", Caucasian_Albanian = "Aghb", Ahom = "Ahom", Arabic = "Arab", + Imperial_Aramaic = "Armi", Armenian = "Armn", Avestan = "Avst", + Balinese = "Bali", Bamum = "Bamu", Bassa_Vah = "Bass", Batak = "Batk", + Bengali = "Beng", Bhaiksuki = "Bhks", Bopomofo = "Bopo", Brahmi = "Brah", + Braille = "Brai", Buginese = "Bugi", Buhid = "Buhd", Chakma = "Cakm", + Canadian_Aboriginal = "Cans", Carian = "Cari", Cham = "Cham", + Cherokee = "Cher", Coptic = "Copt", Cypriot = "Cprt", Cyrillic = "Cyrl", + Devanagari = "Deva", Dogra = "Dogr", Deseret = "Dsrt", Duployan = "Dupl", + Egyptian_Hieroglyphs = "Egyp", Elbasan = "Elba", Elymaic = "Elym", + Ethiopic = "Ethi", Georgian = "Geor", Glagolitic = "Glag", + Gunjala_Gondi = "Gong", Masaram_Gondi = "Gonm", Gothic = "Goth", + Grantha = "Gran", Greek = "Grek", Gujarati = "Gujr", Gurmukhi = "Guru", + Hangul = "Hang", Han = "Hani", Hanunoo = "Hano", Hatran = "Hatr", + Hebrew = "Hebr", Hiragana = "Hira", Anatolian_Hieroglyphs = "Hluw", + Pahawh_Hmong = "Hmng", Nyiakeng_Puachue_Hmong = "Hmnp", + Katakana_Or_Hiragana = "Hrkt", Old_Hungarian = "Hung", Old_Italic = "Ital", + Javanese = "Java", Kayah_Li = "Kali", Katakana = "Kana", + Kharoshthi = "Khar", Khmer = "Khmr", Khojki = "Khoj", Kannada = "Knda", + Kaithi = "Kthi", Tai_Tham = "Lana", Lao = "Laoo", Latin = "Latn", + Lepcha = "Lepc", Limbu = "Limb", Linear_A = "Lina", Linear_B = "Linb", + Lisu = "Lisu", Lycian = "Lyci", Lydian = "Lydi", Mahajani = "Mahj", + Makasar = "Maka", Mandaic = "Mand", Manichaean = "Mani", Marchen = "Marc", + Medefaidrin = "Medf", Mende_Kikakui = "Mend", Meroitic_Cursive = "Merc", + Meroitic_Hieroglyphs = "Mero", Malayalam = "Mlym", Modi = "Modi", + Mongolian = "Mong", Mro = "Mroo", Meetei_Mayek = "Mtei", Multani = "Mult", + Myanmar = "Mymr", Nandinagari = "Nand", Old_North_Arabian = "Narb", + Nabataean = "Nbat", Newa = "Newa", Nko = "Nkoo", Nushu = "Nshu", + Ogham = "Ogam", Ol_Chiki = "Olck", Old_Turkic = "Orkh", Oriya = "Orya", + Osage = "Osge", Osmanya = "Osma", Palmyrene = "Palm", Pau_Cin_Hau = "Pauc", + Old_Permic = "Perm", Phags_Pa = "Phag", Inscriptional_Pahlavi = "Phli", + Psalter_Pahlavi = "Phlp", Phoenician = "Phnx", Miao = "Plrd", + Inscriptional_Parthian = "Prti", Rejang = "Rjng", Hanifi_Rohingya = "Rohg", + Runic = "Runr", Samaritan = "Samr", Old_South_Arabian = "Sarb", + Saurashtra = "Saur", SignWriting = "Sgnw", Shavian = "Shaw", + Sharada = "Shrd", Siddham = "Sidd", Khudawadi = "Sind", Sinhala = "Sinh", + Sogdian = "Sogd", Old_Sogdian = "Sogo", Sora_Sompeng = "Sora", + Soyombo = "Soyo", Sundanese = "Sund", Syloti_Nagri = "Sylo", + Syriac = "Syrc", Tagbanwa = "Tagb", Takri = "Takr", Tai_Le = "Tale", + New_Tai_Lue = "Talu", Tamil = "Taml", Tangut = "Tang", Tai_Viet = "Tavt", + Telugu = "Telu", Tifinagh = "Tfng", Tagalog = "Tglg", Thaana = "Thaa", + Thai = "Thai", Tibetan = "Tibt", Tirhuta = "Tirh", Ugaritic = "Ugar", + Vai = "Vaii", Warang_Citi = "Wara", Wancho = "Wcho", Old_Persian = "Xpeo", + Cuneiform = "Xsux", Yi = "Yiii", Zanabazar_Square = "Zanb", + Inherited = "Zinh", Common = "Zyyy", Unknown = "Zzzz", + } + local entry = lpeg.Cg(codepoint_range * sep * ((lpeg.R'AZ' + lpeg.R'az' + '_')^1/script_aliases))^-1 * (1-lpeg.P'\n')^0 * '\n' + -- local entry = lpeg.Cg(codepoint_range * sep * lpeg.Cc(true))^-1 * (1-lpeg.P'\n')^0 * '\n' + local file = lpeg.Cf( + lpeg.Ct'' + * entry^0 + , multirawset) + + local f = io.open(kpse.find_file"Scripts.txt") + script_mapping = file:match(f:read'*a') + f:close() +end + +local additional_scripts_tables = { } + +local additional_scripts_fonts = setmetatable({}, { + __index = function(t, fid) + local f = font.getfont(fid) + -- table.tofile('myfont2', f) + local res = f and f.additional_scripts or false + t[fid] = res + return res + end, +}) + +local function makecombifont(tfmdata, _, additional_scripts) + local basescript = tfmdata.properties.script + local scripts = {basescript = false} + additional_scripts = additional_scripts_tables[additional_scripts] + for script, fontname in pairs(additional_scripts) do + if script ~= basescript then + local f = fonts.definers.read(fontname, tfmdata.size) + local fid + if type(f) == 'table' then + fid = font.define(f) + else + error[[FIXME???]] + end + scripts[script] = { + fid = fid, + font = f, + characters = f.characters, + } + end + end + tfmdata.additional_scripts = scripts +end + +local glyph_id = node.id'glyph' +-- TODO: unset last_script, matching parentheses etc +function domultiscript(head, _, _, _, direction) + head = node.direct.todirect(head) + local last_fid, last_fonts, last_script + for cur, cid, fid in traverse_char(head) do + if fid ~= last_fid then + last_fid, last_fonts, last_script = fid, additional_scripts_fonts[fid] + end + if last_fonts then + local mapped_scr = script_mapping[cid] + if mapped_scr == "Zinh" then + mapped_scr = last_script + else + local additional_scr = script_extensions[cid] + if additional_scripts then + if additional_scripts[last_script] then + mapped_scr = last_script + elseif not last_fonts[mapped_scr] then + for i = 1, #additional_scripts do + if last_fonts[additional_scripts[i]] then + mapped_scr = additional_scripts[i] + break + end + end + end + elseif mapped_scr == "Zyyy" then + mapped_scr = last_script + end + end + last_script = mapped_scr + local mapped_font = last_fonts[mapped_scr] + if mapped_font then + setfont(cur, mapped_font.fid) + end + end + end +end + +function luaotfload.add_multiscript(name, fonts) + if fonts == nil then + fonts = name + name = #additional_scripts_fonts + 1 + end + additional_scripts_tables[name] = fonts + return name +end + +otffeatures.register { + name = "multiscript", + description = "Combine fonts for multiple scripts", + manipulators = { + node = makecombifont, + }, + -- processors = { -- processors would be nice, but they are applied + -- -- too late for our purposes + -- node = donotdef, + -- } +} + +--- vim:sw=2:ts=2:expandtab:tw=71 diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua index 17bd7ca404a..0caef93589c 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-fallback", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / fallback", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua index 67c9f93565a..adce910c4e1 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-features", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / features", license = "GPL v2.0", author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua index 69195603ede..10421ee372f 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua @@ -6,8 +6,8 @@ if luaotfload_module then luaotfload_module { name = "luaotfload-filelist", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / filelist", license = "GPL v2.0" } end diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua index aefc8369c6c..7a34f29ca18 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-glyphlist.lua @@ -1,8 +1,8 @@ if luaotfload_module then luaotfload_module { name = "luaotfload-glyphlist", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / autogenerated glyphlist", copyright = "derived from https://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt", original = "Adobe Glyph List, version 2.0, September 20, 2002", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua index 5be4acfa650..f470b13772f 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua @@ -5,8 +5,8 @@ do -- block to avoid to many local variables error assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-harf-define", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / HarfBuzz font loading", license = "GPL v2.0", author = "Khaled Hosny, Marcel Krüger", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua index c40aa3b72e4..bf7028c54de 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua @@ -5,8 +5,8 @@ do -- block to avoid to many local variables error assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-harf-plug", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / HarfBuzz shaping", license = "GPL v2.0", author = "Khaled Hosny, Marcel Krüger", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua index 3b67738fe53..c0ec8cd84b4 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua @@ -7,8 +7,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-init", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / initialization", license = "GPL v2.0" } diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua index c1a3d6f1b7a..bbdaa729e2a 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-letterspace", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / letterspacing", license = "GPL v2.0", copyright = "PRAGMA ADE / ConTeXt Development Team", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua index 84c5555f5db..e58f2429fef 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua @@ -8,8 +8,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-loaders", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / callback handling", license = "GPL v2.0" } diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua index 58fc403e62b..38208241f76 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua @@ -6,8 +6,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-log", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / logging", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua index a632ab4c6a6..7caae3a2221 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-multiscript", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / multiscript", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua index 7b9664fa7e5..aa4ce3076e9 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-notdef", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / notdef", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua index 7810c3a49e6..40973db8824 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua @@ -7,8 +7,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-parsers", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / parsers", license = "GPL v2.0" } diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua index 2ea85de7811..4aa27a513bb 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua @@ -11,8 +11,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-resolvers", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / resolvers", license = "GPL v2.0" } diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua index b6c34b9e3eb..003dda6c07b 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-script", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / Script helpers", license = "CC0 1.0 Universal", author = "Marcel Krüger" diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua index 0ad3c01ead3..ef89e65010b 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua @@ -1,99 +1,99 @@ return { ["hashes"]={ - { "fontloader-2020-12-30.lua", "68ad807e7fdc2161801a16d1d404e1c4" }, - { "fontloader-util-fil.lua", "a617cad49fc028e99f0f30bce8b2b623" }, - { "fontloader-util-str.lua", "a2041dad54b982ad124cbc764f5de43b" }, - { "fontloader-l-unicode.lua", "a4464b61c123f0454bea92c1cf502891" }, - { "fontloader-l-math.lua", "a373be3ed2db0d5f98588fa81abca48f" }, - { "fontloader-l-boolean.lua", "18ed6c4b2c40dd87224ea33229548d20" }, - { "fontloader-l-file.lua", "60ddd3948d9de7bde8b4a0f5c51ff9f5" }, - { "fontloader-l-io.lua", "a4042e9d6bce71c61fdd94e6e17f2bf4" }, - { "fontloader-l-table.lua", "20c03ae1b81e902217f3f76995b9d294" }, - { "fontloader-l-string.lua", "e1347bef0eeeff9f098df83b30b32df9" }, - { "fontloader-l-function.lua", "f771cc91839ebcdfc094083434fbe00f" }, - { "fontloader-l-lpeg.lua", "c3407de16bcedd73652250b000b39e98" }, - { "fontloader-l-lua.lua", "c8dbb33df962e1b945b91b906b3c15c4" }, - { "fontloader-fonts-gbn.lua", "d25472d54c4841db43a745764a63533e" }, - { "fontloader-fonts-lig.lua", "b9dbe77ce747d4c35bb2a20ffbe5aa51" }, - { "fontloader-fonts-ext.lua", "01015ab3758cdc2af29394e6d502a91a" }, - { "fontloader-fonts-def.lua", "5ad79120ebc5e60f4d322fb3ee13bffe" }, - { "fontloader-fonts-tfm.lua", "3bbba3214fd0b8c6f35ad85592fc2917" }, - { "fontloader-fonts-enc.lua", "3e71a54297e8f85a1ac438bb0f20dd79" }, - { "fontloader-fonts-mis.lua", "bc9eb43c27f63ce9d0fff67e104fe1c6" }, - { "fontloader-basics-chr.lua", "58b7ef0c486e06090b362971b9f85e27" }, - { "fontloader-basics-nod.lua", "6549c88db8cf4c6ae005a2e08f223d4b" }, - { "fontloader-font-imp-effects.lua", "231cda056b88f6dc282fab9d7643d380" }, - { "fontloader-font-imp-italics.lua", "058fb834c11c6ac30c280b29e496966e" }, - { "fontloader-font-imp-ligatures.lua", "043daa4fcccf2560868da359d71d3a4a" }, - { "fontloader-font-imp-tex.lua", "77c374b0ef00c2fb12188ec42beb4257" }, - { "fontloader-font-shp.lua", "72de6029980ac796ec6ec76fa3ec8684" }, - { "fontloader-font-def.lua", "226b4d26ede7fa7be8e45b7f0d93e781" }, - { "fontloader-font-lua.lua", "55b281fb98f7bd848fc19928f376f647" }, - { "fontloader-font-afk.lua", "54d554530e75c57c56ee76234724e26d" }, - { "fontloader-font-one.lua", "2e52d1e42764f68b779522bda9569480" }, - { "fontloader-font-onr.lua", "7a9ece7bf3e36b5f0adf295a9a2a2989" }, - { "fontloader-font-ocl.lua", "ab81576f20e2d37bc8707e1dbd3decf2" }, - { "fontloader-font-osd.lua", "61f05fcf91add1aa5dac9bc8b235adc9" }, - { "fontloader-font-otc.lua", "1204a2fdc436e644127c0aa38ab69607" }, - { "fontloader-font-ots.lua", "a83d5992a82b706c0ffdb5c2778534f1" }, - { "fontloader-font-ota.lua", "f31232af3a694ae3d50380a5a92f88d3" }, - { "fontloader-font-oup.lua", "1700a2dac4f8b105c187d4e5b84cecdf" }, - { "fontloader-font-otj.lua", "a37a1007b8a92c9e7d24064180c2a772" }, - { "fontloader-font-oto.lua", "24238a7c600d090a8ee88312321dd9b3" }, - { "fontloader-font-otl.lua", "70237f19b76c4bc75f0c6e89038fb49a" }, - { "fontloader-font-ott.lua", "1249b7018dba80e080fc478a38aa6756" }, - { "fontloader-font-oti.lua", "dbae7722baae24d917a17176553825cf" }, - { "fontloader-font-dsp.lua", "10eb256f4bcb9c5eabd48048e2da5eab" }, - { "fontloader-font-ttf.lua", "ebef049a169c04edd19902fd66ddea44" }, - { "fontloader-font-cff.lua", "aa9038651d9fedd2b76cacd1f69fd742" }, - { "fontloader-font-otr.lua", "7a2f7a9e9627b29158e1822ea3c650ab" }, - { "fontloader-font-vfc.lua", "04fa0ffad5c51198c7c19462949f54ed" }, - { "fontloader-font-map.lua", "a03653ea3c5f042b457d54ed678d6df3" }, - { "fontloader-font-cid.lua", "4d87988efa86020a14708ee03c23415f" }, - { "fontloader-font-con.lua", "cbccccc4a5016196d62332a365aa8b72" }, - { "fontloader-font-ini.lua", "4dee96e1e1474d324dd126bd5d375df8" }, - { "fontloader-data-con.lua", "de6ae0997b0e70a23bcc9afff5d8b072" }, - { "fontloader-reference.lua", "957f358a48ea6fcbc78a8701f947d7e5" }, - { "fontloader-basics-gen.lua", "7bcfb5e4f48a1a34be6ddfcee2b1e49d" }, - { "mktests", "c7cff7025962922944376acc1ffa9c47" }, - { "mkstatus", "f3b00b5999440afce64bdc448f3fda9a" }, - { "mkcharacters", "92c24bb582fc84c0365634f29eb89863" }, - { "mkglyphlist", "95bbf91338214d40b2102114285ccd3f" }, - { "mkimport", "5dacc09f3358ba9b90cf3a804f9a535c" }, - { "luaotfload-glyphlist.lua", "bb6a9912a0944b3b21a61fce247dd728" }, - { "luaotfload-characters.lua", "6a46f4749368e4f56a863da9c61b7bd6" }, - { "luaotfload-dvi.lua", "34e1550905555da63304e07797168c69" }, - { "luaotfload-tounicode.lua", "09fa475eeb7b160d3eb124e9107d4e03" }, - { "luaotfload-unicode.lua", "153f97b086fd38dcb7f4850d95a41016" }, - { "luaotfload-resolvers.lua", "2441b9624775fbcea6617e6cc72b424d" }, - { "luaotfload-parsers.lua", "623d33f43813eda562cbfef5528753de" }, - { "luaotfload-fallback.lua", "ec702c1c9407eba7bfe80b59c36f3f67" }, - { "luaotfload-szss.lua", "ee4c0c070dcacf4d3e43f52948611392" }, - { "luaotfload-scripts.lua", "14a19085cd5288592ebd5e24acf8514a" }, - { "luaotfload-multiscript.lua", "4a283df608be713b0b666515fb6b9789" }, - { "luaotfload-loaders.lua", "f0eeb293d8f448413631b1ffff554e39" }, - { "luaotfload-harf-plug.lua", "34182344e7985d1267dacde37f387433" }, - { "luaotfload-harf-define.lua", "252c36178f4f9ab066bdc15adfe809f1" }, - { "luaotfload-notdef.lua", "06278786a6f2f8ddd3749b5d75f611db" }, - { "luaotfload-embolden.lua", "8bdfebc528d078086c7fd0747815df74" }, - { "luaotfload-letterspace.lua", "57d6026196fa62f9891d7a7a7300f63f" }, - { "luaotfload-features.lua", "2219adcecef7362bbbe46da2e5ed005b" }, - { "luaotfload-database.lua", "e2bea14191641d3a18b04064752d0fd4" }, - { "luaotfload-configuration.lua", "dfa0521ef327c68573ea587ed7b989c8" }, - { "luaotfload-colors.lua", "32bf6714aa19f6c291922cd1be01b629" }, - { "luaotfload-auxiliary.lua", "4c18ffcc0d1cbef3ad4db2b6440a863e" }, - { "luaotfload-filelist.lua", "8bb0a321254e6f04a1fa776d2f67747f" }, - { "luaotfload-tool.lua", "ac7b0adfd9d0096228bed8ae61540a70" }, - { "luaotfload-diagnostics.lua", "21bca70ad0b6f7dd1d9d57c7b1513809" }, - { "luaotfload-log.lua", "d9c45eff233d71c3824f3a579694d737" }, - { "luaotfload-init.lua", "265f1bfe8789fbb0cc3bff3a780f5494" }, - { "luaotfload-main.lua", "f5f771d1cf5c8c4a2519a8d46aed1241" }, + { "fontloader-2021-01-07.lua", "ef54bfa34416e2c85fa48d3195c67fd2" }, + { "fontloader-util-fil.lua", "aae2a2add764144bb58dd8216fd59260" }, + { "fontloader-util-str.lua", "c975ff7bbd178163cf47d9e9296c8b4b" }, + { "fontloader-l-unicode.lua", "f368874f11f3c525de5864fd413e4b24" }, + { "fontloader-l-math.lua", "082add08e0bb79f39191ae9534a79849" }, + { "fontloader-l-boolean.lua", "abe28515dd33e8f6c416c09bca351cf8" }, + { "fontloader-l-file.lua", "352b42b8360ada02ceb26a41f0bd2a76" }, + { "fontloader-l-io.lua", "bbcc4824d0ded30b415d7d2d5763028a" }, + { "fontloader-l-table.lua", "0330da8b3a08d39876def70df8d9c0e5" }, + { "fontloader-l-string.lua", "9457f2af85723e0e6c46d0b5122e9000" }, + { "fontloader-l-function.lua", "a7e68a9703c35238729da41a474e951b" }, + { "fontloader-l-lpeg.lua", "10bdaef44175902917691835010ae5f5" }, + { "fontloader-l-lua.lua", "420bc442e6d81f4624728a6c56fcd175" }, + { "fontloader-fonts-gbn.lua", "10ecdf01e7c926e5128ad8a9dff4d677" }, + { "fontloader-fonts-lig.lua", "fbd251eea3810a43a8d5542319361d68" }, + { "fontloader-fonts-ext.lua", "32013cbc5d5d336be8b1d1e5879d86c4" }, + { "fontloader-fonts-def.lua", "f435e0875f203f343157baeff876ec9c" }, + { "fontloader-fonts-tfm.lua", "f0eb5e2a8068b17ad401bb7efdba1630" }, + { "fontloader-fonts-enc.lua", "5ff4ca50493d7c4ecea0e15c203099f0" }, + { "fontloader-fonts-mis.lua", "17e967c9ec4d001deefd43ddf25e98f7" }, + { "fontloader-basics-chr.lua", "64fafe4eaf55d64aead6513c1e74a024" }, + { "fontloader-basics-nod.lua", "4b5c3c63e19df1b3f37fae7f87c25bda" }, + { "fontloader-font-imp-effects.lua", "a2dde5e071fcb3fc7b90f2bcd5aa4f22" }, + { "fontloader-font-imp-italics.lua", "defcb415bc1e0a0999b27773902adc18" }, + { "fontloader-font-imp-ligatures.lua", "26ffcf089391445f7af59536c8814364" }, + { "fontloader-font-imp-tex.lua", "ceb087ef6fa2f89aed7179f60ddf8f35" }, + { "fontloader-font-shp.lua", "5ff497c993112d4fef4c148348d964eb" }, + { "fontloader-font-def.lua", "b9d908c2338b7dc443ce9d1e9fcb7139" }, + { "fontloader-font-lua.lua", "1fbfdf7b689b2bdfd0e3bb9bf74ce136" }, + { "fontloader-font-afk.lua", "9da14e0fb22129c053acc599d1312544" }, + { "fontloader-font-one.lua", "53cd565030e919da984b50471cc3be37" }, + { "fontloader-font-onr.lua", "6d161533f3437435e12a0ad64866df44" }, + { "fontloader-font-ocl.lua", "797b5c71bf819c5f4fb314a4d646e9a7" }, + { "fontloader-font-osd.lua", "73c9531c79df5ada320cb20777f7ed49" }, + { "fontloader-font-otc.lua", "0f12230ea07b5151f75d52726977e91f" }, + { "fontloader-font-ots.lua", "c780a471147527f4ddc139e017927ffe" }, + { "fontloader-font-ota.lua", "ad1d5de06400f88829509e1f3ff2b473" }, + { "fontloader-font-oup.lua", "6f46aa00ae1c20c43f8ffaf329dc8695" }, + { "fontloader-font-otj.lua", "8de59cb9b043e5f73c6b9f7cc8f6978e" }, + { "fontloader-font-oto.lua", "2b1d6bc63b2ebf8f2655a15e1cda6541" }, + { "fontloader-font-otl.lua", "f4e6652a191003493389de230b14cfb3" }, + { "fontloader-font-ott.lua", "673ed11e1d159997f535bfec5fa73808" }, + { "fontloader-font-oti.lua", "309a75f9c14b77d87e94eba827dc4e71" }, + { "fontloader-font-dsp.lua", "174ce11f3ba0bddf270f48d8d2addd56" }, + { "fontloader-font-ttf.lua", "ffffc827e1bcddc33a2b615340ecff7f" }, + { "fontloader-font-cff.lua", "2b677fad52d9999d0685e8525271a8cc" }, + { "fontloader-font-otr.lua", "64dcbbc7107538723990e1119a80a9f8" }, + { "fontloader-font-vfc.lua", "a81c29eda98cd62cbebdb6c93544b50d" }, + { "fontloader-font-map.lua", "c4a39db5ad822b348aa61bca5f4a599a" }, + { "fontloader-font-cid.lua", "22b0367742fb253deef84ef7ccf5e8de" }, + { "fontloader-font-con.lua", "724e5dd14aec2d4d189f8619898004cf" }, + { "fontloader-font-ini.lua", "5343de60613adb24cdd7a8d2ee1d153c" }, + { "fontloader-data-con.lua", "23a0f5386d46a1c157ae82a373e35fa0" }, + { "fontloader-reference.lua", "4807209e6a35420dd7528e9ec02f11da" }, + { "fontloader-basics-gen.lua", "4bc43036e9796fccb0b8869f4b05bf2e" }, + { "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" }, + { "mkstatus", "d3bc6e7d0f6deb80db4edc6975e2ac5c" }, + { "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" }, + { "mkglyphlist", "7a8a8fdc0eac7fac2f13ec8f4e8e7aa9" }, + { "mkimport", "7d62f1042e548f8b9368f26b9ba4be5c" }, + { "luaotfload-glyphlist.lua", "6097b4fd28b303a3ae7577e94f86610d" }, + { "luaotfload-characters.lua", "76415ca3ede312cad6e09038323489ae" }, + { "luaotfload-dvi.lua", "a0d33e699c250c0e4abd4cfa1b974b6e" }, + { "luaotfload-tounicode.lua", "e07e112222777070250fbc980b2e6b85" }, + { "luaotfload-unicode.lua", "1d7fd6ab63640cb6c8e2091ac5a57915" }, + { "luaotfload-resolvers.lua", "b387d9435738f7ce8cf1e6af86b565a6" }, + { "luaotfload-parsers.lua", "dba42cb2f6bbfa13b9a56d0e4a2b2f44" }, + { "luaotfload-fallback.lua", "a3c8c048b14a304d3352871014ef1343" }, + { "luaotfload-szss.lua", "2413a2be98181fe77f7e110369194769" }, + { "luaotfload-scripts.lua", "2b924be852e17191e651faf5a2097e12" }, + { "luaotfload-multiscript.lua", "db7b6c7791b4b909d12234620ff7973d" }, + { "luaotfload-loaders.lua", "d169564522ac7194e7410d8263cd1b31" }, + { "luaotfload-harf-plug.lua", "8fdc1ba513a6026546b883259e559c7e" }, + { "luaotfload-harf-define.lua", "1c9a663bb7bfa650b93dcf01d5450675" }, + { "luaotfload-notdef.lua", "26fed1a76150718e05c8c56b1983ebdd" }, + { "luaotfload-embolden.lua", "5506419bc583d450f252542b1105d6ce" }, + { "luaotfload-letterspace.lua", "1a518a55f6663ce13866416a5b94d6a4" }, + { "luaotfload-features.lua", "33fdd06674606d043599dc4ea9b2a56b" }, + { "luaotfload-database.lua", "4a0f9f3b500df0d8a8234a0954065e46" }, + { "luaotfload-configuration.lua", "589ca99522479a0929d6824bafa36f63" }, + { "luaotfload-colors.lua", "7c201914c79310d9e79e75dfc7ee982b" }, + { "luaotfload-auxiliary.lua", "8e427ec79ced91d9fc6fbcece159d042" }, + { "luaotfload-filelist.lua", "3cd6b9d12ba2fb48783e393593cd9afd" }, + { "luaotfload-tool.lua", "f4534033397387433601040694b70c6b" }, + { "luaotfload-diagnostics.lua", "473e1a3cd00e4b277b1f7e17b13254da" }, + { "luaotfload-log.lua", "809e4afac4e070b619512461a6fedd90" }, + { "luaotfload-init.lua", "e3b832a9efc91c977044383640835069" }, + { "luaotfload-main.lua", "b19c9cc34cf1d676c39f872cfb41aef6" }, }, ["notes"]={ - ["committer"]="Ulrike Fischer <fischer@troubleshooting-tex.de>", - ["description"]="v3.16/2020-12-31", - ["loader"]="fontloader-2020-12-30.lua", - ["revision"]="d1423b56efe2649e2881657747cee8d54cf64e12", - ["timestamp"]="2020-12-31 12:35:44 +0100", + ["committer"]="Marcel Fabian Krüger <tex@2krueger.de>", + ["description"]="v3.17/2021-01-08", + ["loader"]="fontloader-2021-01-07.lua", + ["revision"]="359a8a50a0d1f778e358cc1507b6f08ec17b6898", + ["timestamp"]="2021-01-08 14:15:42 +0100", }, }
\ No newline at end of file diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua index c4c0c1010e6..d78428ca962 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-suppress", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / suppress", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua index 4c7de4d11bc..88b02350f08 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-szss", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / Special feature handling", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua index f4eeec1125b..5c927850667 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-tounicode", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / tounicode", license = "GPL v2.0", author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua index a05c660a363..5320c48ab2d 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-unicode", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "luaotfload submodule / Unicode helpers", license = "CC0 1.0 Universal", author = "Marcel Krüger" diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua index 843c84a3bf5..4a3cdb78aee 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.lua @@ -20,8 +20,8 @@ local authors = "\z -- version number is used below! local ProvidesLuaModule = { name = "luaotfload", - version = "3.16", --TAGVERSION - date = "2020-12-31", --TAGDATE + version = "3.17", --TAGVERSION + date = "2021-01-08", --TAGDATE description = "Lua based OpenType font support", author = authors, copyright = authors, diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty index d9a3397d142..915b418693a 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty +++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload.sty @@ -1,4 +1,4 @@ -%% Copyright (C) 2009-2020 +%% Copyright (C) 2009-2021 %% %% by Elie Roux <elie.roux@telecom-bretagne.eu> %% and Khaled Hosny <khaledhosny@eglug.org> @@ -39,7 +39,7 @@ \fi \ifdefined\ProvidesPackage \ProvidesPackage{luaotfload}% - [2020/12/31 v3.16 OpenType layout system] + [2021/01/08 v3.17 OpenType layout system] \fi \directlua{ if xpcall(function ()% |