diff options
Diffstat (limited to 'tex/context/base/mkiv')
25 files changed, 411 insertions, 119 deletions
diff --git a/tex/context/base/mkiv/char-ini.lua b/tex/context/base/mkiv/char-ini.lua index 6fe56a062..8f1bc4fb0 100644 --- a/tex/context/base/mkiv/char-ini.lua +++ b/tex/context/base/mkiv/char-ini.lua @@ -817,6 +817,19 @@ local is_symbol = allocate ( tohash { "sm", "sc", "sk", "so", } ) +local can_have_space = allocate ( tohash { + "lu", "ll", "lt", "lm", "lo", -- letters + -- "mn", "mc", "me", -- marks + "nd", "nl", "no", -- numbers + "ps", "pi", -- initial + -- "pe", "pf", -- final + -- "pc", "pd", "po", -- punctuation + "sm", "sc", "sk", "so", -- symbols + -- "zs", "zl", "zp", -- separators + -- "cc", "cf", "cs", "co", "cn", -- others +} ) + + -- to be redone: store checked characters characters.is_character = is_character @@ -827,6 +840,7 @@ characters.is_mark = is_mark characters.is_punctuation = is_punctuation characters.is_hyphenator = is_hyphenator characters.is_symbol = is_symbol +characters.can_have_space = can_have_space local mti = function(t,k) if type(k) == "number" then @@ -837,13 +851,14 @@ local mti = function(t,k) end end -setmetatableindex(characters.is_character, mti) -setmetatableindex(characters.is_letter, mti) -setmetatableindex(characters.is_command, mti) -setmetatableindex(characters.is_spacing, mti) -setmetatableindex(characters.is_punctuation,mti) -setmetatableindex(characters.is_hyphenator, mti) -setmetatableindex(characters.is_symbol, mti) +setmetatableindex(characters.is_character, mti) +setmetatableindex(characters.is_letter, mti) +setmetatableindex(characters.is_command, mti) +setmetatableindex(characters.is_spacing, mti) +setmetatableindex(characters.is_punctuation, mti) +setmetatableindex(characters.is_hyphenator, mti) +setmetatableindex(characters.is_symbol, mti) +setmetatableindex(characters.can_have_space, mti) -- todo: also define callers for the above diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 4c07bceb5..333a3dc54 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2022.10.22 11:20} +\newcontextversion{2022.11.14 22:54} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 86374e2d7..db4a0a66f 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -49,7 +49,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2022.10.22 11:20} +\edef\contextversion{2022.11.14 22:54} %D Kind of special: diff --git a/tex/context/base/mkiv/font-cft.lua b/tex/context/base/mkiv/font-cft.lua index 267c63f7a..d6afc01f7 100644 --- a/tex/context/base/mkiv/font-cft.lua +++ b/tex/context/base/mkiv/font-cft.lua @@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['font-cft'] = { license = "see context related readme files" } --- context font tables (needs updating) +-- context font tables (needs updating, only okay for mkiv) -- -- todo: extra: -- diff --git a/tex/context/base/mkiv/font-con.lua b/tex/context/base/mkiv/font-con.lua index 5c156c2ba..820e45f52 100644 --- a/tex/context/base/mkiv/font-con.lua +++ b/tex/context/base/mkiv/font-con.lua @@ -388,20 +388,20 @@ function constructors.scale(tfmdata,specification) -- local mathsize = tonumber(specification.mathsize) or 0 local textsize = tonumber(specification.textsize) or scaledpoints - local forcedsize = tonumber(parameters.mathsize ) or 0 -- can be set by the feature "mathsize" + -- local forcedsize = tonumber(parameters.mathsize ) or 0 -- can be set by the feature "mathsize" local extrafactor = tonumber(specification.factor ) or 1 - if (mathsize == 2 or forcedsize == 2) and parameters.scriptpercentage then - scaledpoints = parameters.scriptpercentage * textsize / 100 - elseif (mathsize == 3 or forcedsize == 3) and parameters.scriptscriptpercentage then - scaledpoints = parameters.scriptscriptpercentage * textsize / 100 - elseif forcedsize > 1000 then -- safeguard - scaledpoints = forcedsize - else - -- in context x and xx also use mathsize - end + -- if (mathsize == 2 or forcedsize == 2) and parameters.scriptpercentage then + -- scaledpoints = parameters.scriptpercentage * textsize / 100 + -- elseif (mathsize == 3 or forcedsize == 3) and parameters.scriptscriptpercentage then + -- scaledpoints = parameters.scriptscriptpercentage * textsize / 100 + -- elseif forcedsize > 1000 then -- safeguard + -- scaledpoints = forcedsize + -- else + -- -- in context x and xx also use mathsize + -- end targetparameters.mathsize = mathsize -- context specific targetparameters.textsize = textsize -- context specific - targetparameters.forcedsize = forcedsize -- context specific + -- targetparameters.forcedsize = forcedsize -- context specific targetparameters.extrafactor = extrafactor -- context specific -- local addtounicode = constructors.addtounicode diff --git a/tex/context/base/mkiv/font-dsp.lua b/tex/context/base/mkiv/font-dsp.lua index 1735b4cdc..f5e12c0ef 100644 --- a/tex/context/base/mkiv/font-dsp.lua +++ b/tex/context/base/mkiv/font-dsp.lua @@ -2332,12 +2332,11 @@ do local reported = { } - local function report_issue(i,what,sequence,kind) - local name = sequence.name - if not reported[name] then - report("rule %i in %s lookup %a has %s lookups",i,what,name,kind) - reported[name] = true - end + local function report_issue(i,what,step,kind) +-- if not reported[step] then + report("rule %i in step %i of %s has %s lookups",i,step,what,kind) +-- reported[name] = true +-- end end -- for i=lastsequence+1,nofsequences do @@ -2346,18 +2345,18 @@ do -- for i=1,#steps do -- local step = steps[i] - for i=1,#allsteps do -- new per 2022-09-25 - local step = allsteps[i] -- new per 2022-09-25 + for s=1,#allsteps do -- new per 2022-09-25 + local step = allsteps[s] -- new per 2022-09-25 local rules = step.rules if rules then for i=1,#rules do local rule = rules[i] local rlookups = rule.lookups if not rlookups then - report_issue(i,what,sequence,"no") + report_issue(i,what,s,"no") elseif not next(rlookups) then -- can be ok as it aborts a chain sequence - -- report_issue(i,what,sequence,"empty") + -- report_issue(i,what,s,"empty") rule.lookups = nil else -- we can have holes in rlookups flagged false and we can have multiple lookups @@ -2398,12 +2397,12 @@ do sublookupcheck[lookupid] = 1 h = nofsublookups else - report_issue(i,what,sequence,"missing") + report_issue(i,what,s,"missing") rule.lookups = nil break end else - report_issue(i,what,sequence,"bad") + report_issue(i,what,s,"bad") rule.lookups = nil break end @@ -2977,7 +2976,7 @@ local function readmathvariants(f,fontdata,offset) -- advance = readushort(f), -- } - local function get(offset,coverage,nofglyphs,construction,kvariants,kparts,kitalic) + local function get(offset,coverage,nofglyphs,construction,kvariants,kparts,kitalic,korientation,orientation) if coverage ~= 0 and nofglyphs > 0 then local coverage = readcoverage(f,offset+coverage,true) for i=1,nofglyphs do @@ -3042,14 +3041,23 @@ local function readmathvariants(f,fontdata,offset) if italic and italic ~= 0 then math[kitalic] = italic end + if orientation then + math[korientation] = orientation + end end end end end end - get(offset,vcoverage,vnofglyphs,vconstruction,"vvariants","vparts","vitalic") - get(offset,hcoverage,hnofglyphs,hconstruction,"hvariants","hparts","hitalic") + -- if LUATEXENGINE == "luametatex" then + if CONTEXTLMTXMODE and CONTEXTLMTXMODE > 0 then + get(offset,hcoverage,hnofglyphs,hconstruction,"variants","parts","partsitalic","partsorientation","horizontal") + get(offset,vcoverage,vnofglyphs,vconstruction,"variants","parts","partsitalic","partsorientation","vertical") + else + get(offset,vcoverage,vnofglyphs,vconstruction,"vvariants","vparts","vitalic") + get(offset,hcoverage,hnofglyphs,hconstruction,"hvariants","hparts","hitalic") + end end function readers.math(f,fontdata,specification) diff --git a/tex/context/base/mkiv/font-ini.mkvi b/tex/context/base/mkiv/font-ini.mkvi index ccd034106..c51019fdd 100644 --- a/tex/context/base/mkiv/font-ini.mkvi +++ b/tex/context/base/mkiv/font-ini.mkvi @@ -474,15 +474,52 @@ \installcorenamespace{mappedfontsize} +% \unexpanded\def\mapfontsize +% {\dodoubleargument\font_basics_map_fontsize} + +% \def\font_basics_map_fontsize[#from][#to]% +% {\setvalue{\??mappedfontsize\the\dimexpr#from\relax}{#to}} + +% \def\font_basics_set_mapped_fontsize#from% +% {\ifcsname\??mappedfontsize\the\dimexpr#from\relax\endcsname +% \lastnamedcs\else#from% +% \fi} + +%letcsname\??mappedfontsize\s!text \endcsname\!!plusone +\letcsname\??mappedfontsize\s!script \endcsname\!!plustwo +\letcsname\??mappedfontsize\s!scriptscript\endcsname\!!plusthree + \unexpanded\def\mapfontsize - {\dodoubleargument\font_basics_map_fontsize} + {\dotripleargument\font_basics_map_fontsize} + +\def\font_basics_map_fontsize[#class][#from][#to]% + {\setvalue{% + \??mappedfontsize + #class:% + \ifcsname\??mappedfontsize#from\endcsname\lastnamedcs\else1\fi + }{#to}} + +\permanent\tolerant\protected\def\checkedmapfontsize[#class]#spacer[#from]#spacer[#to]% + {\ifcsname\??mappedfontsize#class:\csname\??mappedfontsize#from\endcsname\endcsname + % keep (user) value + \else + \mapfontsize[#class][#from][#to]% + \fi} -\def\font_basics_map_fontsize[#from][#to]% - {\setvalue{\??mappedfontsize\the\dimexpr#from\relax}{#to}} +\permanent\tolerant\def\mappedfontsize#class#from% + {\begincsname + \??mappedfontsize + #class:% + \ifcsname\??mappedfontsize#from\endcsname\lastnamedcs\else1\fi + \endcsname} \def\font_basics_set_mapped_fontsize#from% - {\ifcsname\??mappedfontsize\the\dimexpr#from\relax\endcsname - \lastnamedcs\else#from% + {\ifcsname\??mappedfontsize\fontclass:\fontface\endcsname + %\the\dimexpr\lastnamedcs\dimexpr#from\relax\relax + %\the\dimexpr\lastnamedcs\dimexpr\bodyfontsize\relax\relax + \the\dimexpr\lastnamedcs\dimexpr\normalizedbodyfontsize\relax\relax + \else % we could use default + #from% \fi} \installcorenamespace{fontbodyknown} diff --git a/tex/context/base/mkiv/font-mis.lua b/tex/context/base/mkiv/font-mis.lua index 5ae6659c5..4937dca31 100644 --- a/tex/context/base/mkiv/font-mis.lua +++ b/tex/context/base/mkiv/font-mis.lua @@ -21,7 +21,7 @@ local readers = otf.readers if readers then - otf.version = otf.version or 3.121 + otf.version = otf.version or 3.130 otf.cache = otf.cache or containers.define("fonts", "otl", otf.version, true) function fonts.helpers.getfeatures(name,save) diff --git a/tex/context/base/mkiv/font-otl.lua b/tex/context/base/mkiv/font-otl.lua index 9493bd03c..4199db03f 100644 --- a/tex/context/base/mkiv/font-otl.lua +++ b/tex/context/base/mkiv/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.121 -- beware: also sync font-mis.lua and in mtx-fonts +otf.version = 3.130 -- 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) @@ -643,25 +643,25 @@ local function read_from_otf(specification) return tfmdata end -local function checkmathsize(tfmdata,mathsize) - local mathdata = tfmdata.shared.rawdata.metadata.math - local mathsize = tonumber(mathsize) - if mathdata then -- we cannot use mathparameters as luatex will complain - local parameters = tfmdata.parameters - parameters.scriptpercentage = mathdata.ScriptPercentScaleDown - parameters.scriptscriptpercentage = mathdata.ScriptScriptPercentScaleDown - parameters.mathsize = mathsize -- only when a number ! - end -end - -registerotffeature { - name = "mathsize", - description = "apply mathsize specified in the font", - initializers = { - base = checkmathsize, - node = checkmathsize, - } -} +-- local function checkmathsize(tfmdata,mathsize) +-- local mathdata = tfmdata.shared.rawdata.metadata.math +-- local mathsize = tonumber(mathsize) +-- if mathdata then -- we cannot use mathparameters as luatex will complain +-- local parameters = tfmdata.parameters +-- parameters.scriptpercentage = mathdata.ScriptPercentScaleDown +-- parameters.scriptscriptpercentage = mathdata.ScriptScriptPercentScaleDown +-- parameters.mathsize = mathsize -- only when a number ! +-- end +-- end +-- +-- registerotffeature { +-- name = "mathsize", +-- description = "apply mathsize specified in the font", +-- initializers = { +-- base = checkmathsize, +-- node = checkmathsize, +-- } +-- } -- readers diff --git a/tex/context/base/mkiv/font-oto.lua b/tex/context/base/mkiv/font-oto.lua index 1475fcf67..e8b92c077 100644 --- a/tex/context/base/mkiv/font-oto.lua +++ b/tex/context/base/mkiv/font-oto.lua @@ -504,6 +504,9 @@ local function featuresinitializer(tfmdata,value) local value = features[feature] if value then local validlookups, lookuplist = collectlookups(rawdata,feature,script,language) +-- if not validlookups and not lookuplist and script == "math" then +-- validlookups, lookuplist = collectlookups(rawdata,feature,"dflt","dflt") +-- end if not validlookups then -- skip elseif basesubstitutions and basesubstitutions[feature] then diff --git a/tex/context/base/mkiv/font-oup.lua b/tex/context/base/mkiv/font-oup.lua index 248aad04d..198e62bee 100644 --- a/tex/context/base/mkiv/font-oup.lua +++ b/tex/context/base/mkiv/font-oup.lua @@ -898,26 +898,42 @@ local function unifyglyphs(fontdata,usenames) end end -- - for index=1,nofglyphs do - local math = glyphs[index].math - if math then - local list = math.vparts - if list then - for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end - end - local list = math.hparts - if list then - for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end - end - local list = math.vvariants - if list then - -- for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end - for i=1,#list do list[i] = indices[list[i]] end + if LUATEXENGINE == "luametatex" then + for index=1,nofglyphs do + local math = glyphs[index].math + if math then + local list = math.parts + if list then + for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end + end + local list = math.variants + if list then + for i=1,#list do list[i] = indices[list[i]] end + end end - local list = math.hvariants - if list then - -- for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end - for i=1,#list do list[i] = indices[list[i]] end + end + else + for index=1,nofglyphs do + local math = glyphs[index].math + if math then + local list = math.vparts + if list then + for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end + end + local list = math.hparts + if list then + for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end + end + local list = math.vvariants + if list then + -- for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end + for i=1,#list do list[i] = indices[list[i]] end + end + local list = math.hvariants + if list then + -- for i=1,#list do local l = list[i] l.glyph = indices[l.glyph] end + for i=1,#list do list[i] = indices[list[i]] end + end end end end @@ -947,7 +963,6 @@ end local stripredundant do - local p_hex = R("af","AF","09") local p_digit = R("09") local p_done = S("._-")^0 + P(-1) diff --git a/tex/context/base/mkiv/font-sel.lua b/tex/context/base/mkiv/font-sel.lua index 04dd4379b..ab6297f40 100644 --- a/tex/context/base/mkiv/font-sel.lua +++ b/tex/context/base/mkiv/font-sel.lua @@ -77,19 +77,24 @@ local report_typescript = logs.reporter("selectfont","typescripts") defaults["rm"] = { features = { ["sc"] = "*,f:smallcaps" } } defaults["ss"] = { features = { ["sc"] = "*,f:smallcaps" } } -defaults["asanamath"] = { options = { extras = "asana-math", features = "math\\mathsizesuffix", goodies = "anana-math" } } -defaults["cambriamath"] = { options = { extras = "cambria-math", features = "math\\mathsizesuffix", goodies = "cambria-math" } } -defaults["dejavumath"] = { options = { extras = "dejavu", features = "math\\mathsizesuffix" } } -defaults["neoeuler"] = { options = { extras = "euler-math", features = "math\\mathsizesuffix" } } -defaults["latinmodernmath"] = { options = { extras = "lm,lm-math", features = "math\\mathsizesuffix,lm-math", goodies = "lm" } } -defaults["lucidabrightmathot"] = { options = { extras = "lucida-opentype-math", features = "math\\mathsizesuffix", goodies = "lucida-opentype-math" } } -defaults["minionmath"] = { options = { extras = "minion-math", features = "math\\mathsizesuffix", goodies = "minion-math" } } -defaults["texgyredejavumath"] = { options = { extras = "dejavu", features = "math\\mathsizesuffix" } } -defaults["texgyrepagellamath"] = { options = { extras = "texgyre", features = "math\\mathsizesuffix" } } -defaults["texgyrebonummath"] = { options = { extras = "texgyre", features = "math\\mathsizesuffix" } } -defaults["texgyrescholamath"] = { options = { extras = "texgyre", features = "math\\mathsizesuffix" } } -defaults["texgyretermesmath"] = { options = { extras = "texgyre", features = "math\\mathsizesuffix" } } -defaults["xitsmath"] = { options = { extras = "xits-math", features = "math\\mathsizesuffix", goodies = "xits-math" } } +-- WS: we need to check the extras with the typescripts + +defaults["asanamath"] = { options = { extras = "asana-math", features = "math\\mathsizesuffix,mathextra", goodies = "anana-math" } } +defaults["cambriamath"] = { options = { extras = "cambria-math", features = "math\\mathsizesuffix,mathextra", goodies = "cambria-math" } } +defaults["euler"] = { options = { extras = "euler-math", features = "math\\mathsizesuffix,mathextra", goodies = "euler-math" } } +defaults["latinmodernmath"] = { options = { extras = "lm,lm-math", features = "math\\mathsizesuffix,mathextra,lm-math", goodies = "modern" } } +defaults["lucidabrightmathot"] = { options = { extras = "lucida-opentype-math", features = "math\\mathsizesuffix,mathextra", goodies = "lucida-math" } } +defaults["minionmath"] = { options = { extras = "minion-math", features = "math\\mathsizesuffix,mathextra", goodies = "minion-math" } } +defaults["stixtwomath"] = { options = { extras = "stix-two-math", features = "math\\mathsizesuffix,mathextra", goodies = "stixtwo-math" } } +defaults["texgyredejavumath"] = { options = { extras = "dejavu", features = "math\\mathsizesuffix,mathextra", goodies = "dejavu-math" } } +defaults["texgyrepagellamath"] = { options = { extras = "texgyre", features = "math\\mathsizesuffix,mathextra", goodies = "pagella-math" } } +defaults["texgyrebonummath"] = { options = { extras = "texgyre", features = "math\\mathsizesuffix,mathextra", goodies = "bonum-math" } } +defaults["texgyrescholamath"] = { options = { extras = "texgyre", features = "math\\mathsizesuffix,mathextra", goodies = "schola-math" } } +defaults["texgyretermesmath"] = { options = { extras = "texgyre", features = "math\\mathsizesuffix,mathextra", goodies = "termes-math" } } +defaults["xitsmath"] = { options = { extras = "xits-math", features = "math\\mathsizesuffix,mathextra", goodies = "xits-math" } } + +defaults["neoeuler"] = defaults["euler"] +defaults["dejavumath"] = defaults["texgyredejavumath"] extras["features"] = function(data,alternative,features) local d = data.options.features diff --git a/tex/context/base/mkiv/font-shp.lua b/tex/context/base/mkiv/font-shp.lua index cab4b7540..feae0ba1c 100644 --- a/tex/context/base/mkiv/font-shp.lua +++ b/tex/context/base/mkiv/font-shp.lua @@ -17,7 +17,7 @@ local pfb = fonts.handlers.pfb local hashes = fonts.hashes local identifiers = hashes.identifiers -local version = otf.version or 0.013 +local version = otf.version or 0.014 local shapescache = containers.define("fonts", "shapes", version, true) local streamscache = containers.define("fonts", "streams", version, true) diff --git a/tex/context/base/mkiv/font-ttf.lua b/tex/context/base/mkiv/font-ttf.lua index d1a3972b2..0f3838c88 100644 --- a/tex/context/base/mkiv/font-ttf.lua +++ b/tex/context/base/mkiv/font-ttf.lua @@ -263,20 +263,28 @@ local function applyaxis(glyph,shape,deltas,dowidth) end if found == last then lastindex = currentindex - break; + break elseif found > last then + +-- \definefontfeature[book][default][axis={weight=800}] +-- \definefont[testfont][file:Commissioner-vf-test.ttf*book] +-- \testfont EΘÄΞ +while lastindex > 1 and dpoints[lastindex] > last do + lastindex = lastindex - 1 +end + break end end end - -- print("unicode: ",glyph.unicode or "?") - -- print("contour: ",first,contour,last) - -- print("index : ",firstindex,lastindex,cnt) - -- print("points : ",dpoints[firstindex],dpoints[lastindex]) + -- print("unicode: ",glyph.unicode or "?") + -- print("contour: ",first,contour,last) + -- print("index : ",firstindex,lastindex,cnt) + -- print("points : ",dpoints[firstindex],dpoints[lastindex]) local function find(i) local prv = lastindex for j=firstindex,lastindex do - local nxt = dpoints[j] + local nxt = dpoints[j] -- we could save this lookup when we return it if nxt == i then return false, j, false elseif nxt > i then @@ -980,8 +988,8 @@ local function readglyph(f,nofcontours) -- read deltas here, saves space local x = 0 for i=1,nofpoints do local flag = flags[i] - -- local short = band(flag,0x04) ~= 0 - -- local same = band(flag,0x20) ~= 0 + -- local short = band(flag,0x02) ~= 0 + -- local same = band(flag,0x10) ~= 0 if band(flag,0x02) ~= 0 then if band(flag,0x10) ~= 0 then x = x + readbyte(f) diff --git a/tex/context/base/mkiv/lang-def.mkiv b/tex/context/base/mkiv/lang-def.mkiv index 441d328c8..19f431ebf 100644 --- a/tex/context/base/mkiv/lang-def.mkiv +++ b/tex/context/base/mkiv/lang-def.mkiv @@ -269,6 +269,23 @@ \c!rightquotation=\leftguillemot, \c!date={\v!day,{.},\space,\v!month,\space,\v!year}] +\installlanguage + [\s!hy] + [\c!spacing=\v!packed, + \c!leftsentence=\endash, % *sentences not confirmed + \c!rightsentence=\endash, + \c!leftsubsentence=\endash, + \c!rightsubsentence=\endash, + \c!leftquote=\guilsingleleft, + \c!rightquote=\guilsingleright, + \c!leftquotation=\leftguillemot + \c!rightquotation=\rightguillemot + \c!date={\v!day,\space,\v!month,\space,\v!year}, % word + % \c!date={\v!day,{.},\v!month,{.},\v!year}, % numbers + \s!patterns=\s!hy, + \s!lefthyphenmin=2, + \s!righthyphenmin=2] + \installlanguage [\s!polish] [\s!pl] \installlanguage [\s!czech] [\s!cs] \installlanguage [\s!slovak] [\s!sk] @@ -276,6 +293,10 @@ \installlanguage [\s!slovenian] [\s!sl] \installlanguage [slovene] [\s!sl] % both possible (mojca: still needed?) +\installlanguage [\s!armenian] [\s!hy] +\installlanguage [\s!hye] [\s!hy] % Eastern Armenian +\installlanguage [\s!hyw] [\s!hy] % Western Armenian + % Cyrillic Languages \installlanguage diff --git a/tex/context/base/mkiv/lang-txt.lua b/tex/context/base/mkiv/lang-txt.lua index 834f9ce43..c4f3603ec 100644 --- a/tex/context/base/mkiv/lang-txt.lua +++ b/tex/context/base/mkiv/lang-txt.lua @@ -32,11 +32,13 @@ if not modules then modules = { } end modules ['lang-txt'] = { -- eo Esperanto Alain Delmotte (2021) -- es Spanish Andrés Montoya, ... -- et Estonian Clyde Johnston (2018) --- fi Finish ... +-- fa Persian Mohammad Hossein Bateni (2016) +-- fi Finnish ... -- fr French Daniel Flipo, Arthur Reutenauer -- gr Greek Apostolos Syropoulos, Thomas Schmitz -- hr Croatian Željko Vrba, Richard Gabriel, Vedran Miletić -- hu Hungarian Adam Reviczky +-- hy Armenian Kristina Nazarjanová (2022) -- it Italian Giuseppe Bilotta, Luigi Scarso -- ja Japanese Richard Gabriel -- kr Korean Jeong Dalyoung @@ -46,7 +48,6 @@ if not modules then modules = { } end modules ['lang-txt'] = { -- nb Norwegian Hans Fredrik Nordhaug, ... -- nn Norwegian Hans Fredrik Nordhaug, ... -- nl Dutch Hans Hagen --- pe Persian Mohammad Hossein Bateni (2016) -- pl Polish Grzegorz Sapijaszko (2011) -- pt Portuguese Pedro F. M. Mendonça -- ro Romanian Dan Seracu, ... @@ -88,6 +89,7 @@ data.labels={ ["es"]="En", ["fa"]="در", ["fr"]="Dans", + ["hy"]="Մեջ", ["mk"]="во", ["sr"]="У", ["sr-latn"]="U", @@ -102,6 +104,7 @@ data.labels={ ["eo"]="Nombro", ["fa"]="شماره", ["fr"]="Numéro", + ["hy"]="Համար", ["mk"]="Број", ["nl"]="Nummer", ["sr"]="Број", @@ -117,10 +120,11 @@ data.labels={ ["eo"]="Volumo", ["et"]="Köide", ["fa"]="جلد", + ["hy"]="Ծավալ", ["mk"]="Том", ["nl"]="Deel", - ["sr"]="Том", ["sr-latn"]="Tom", + ["sr"]="Том", }, }, ["and"]={ @@ -134,6 +138,7 @@ data.labels={ ["et"]="ja", ["fa"]="و", ["fr"]="et", + ["hy"]="և", ["it"]="e", ["mk"]="и", ["nl"]="en", @@ -152,6 +157,7 @@ data.labels={ ["et"]="väljaanne", ["fa"]="ویرایش", ["fr"]="édition", + ["hy"]="հրատարակություն", ["it"]="edizione", ["mk"]="издание", ["nl"]="editie", @@ -169,6 +175,7 @@ data.labels={ ["et"]="toimetaja", ["fa"]="ویراستار", ["fr"]="éditeur", + ["hy"]="խմբագիր", ["it"]="a cura di", ["mk"]="уредник", ["sr"]="уредник", @@ -185,6 +192,7 @@ data.labels={ ["es"]="editores", ["et"]="toimetajad", ["fr"]="éditeurs", + ["hy"]="խմբագիրներ", ["it"]="a cura di", ["mk"]="уредници", ["sr"]="уредници", @@ -201,6 +209,7 @@ data.labels={ ["es"]="en", ["fa"]="در", ["fr"]="dans", + ["hy"]="մեջ", ["mk"]="во", ["sr"]="у", ["sr-latn"]="u", @@ -217,6 +226,7 @@ data.labels={ ["et"]="magistritöö", ["fa"]="پایاننامه کارشناسی ارشد", ["fr"]="Thèse de master (DEA, DESS, master)", + ["hy"]="Մագիստրոսական թեզ", ["it"]="Tesi di laurea", ["mk"]="Магистерска дисертација", ["nl"]="Masterproef", @@ -233,6 +243,7 @@ data.labels={ ["eo"]="numero", ["fa"]="شماره", ["fr"]="numéro", + ["hy"]="համար", ["mk"]="број", ["nl"]="nummer", ["sr"]="број", @@ -247,6 +258,7 @@ data.labels={ ["en"]="of", ["eo"]="de", ["fr"]="de", + ["hy"]="-ից", ["mk"]="од", ["nl"]="van", ["sr"]="од", @@ -259,6 +271,7 @@ data.labels={ ["en"]="et al.", ["eo"]="aliaj", ["et"]="jt", + ["hy"]="եւ այլն", ["mk"]="и др.", ["sr"]="и др.", ["sr-latn"]="i dr.", @@ -272,6 +285,7 @@ data.labels={ ["eo"]="p.", ["et"]="lk", ["fa"]="ص", + ["hy"]="էջ", ["mk"]="стр.", ["sr"]="стр.", ["sr-latn"]="str.", @@ -286,6 +300,7 @@ data.labels={ ["eo"]="paĝoj", ["et"]="leheküljed", ["fa"]="صفحات", + ["hy"]="էջեր", ["mk"]="страници", ["nl"]="paginas", ["sr"]="страницa", @@ -302,6 +317,7 @@ data.labels={ ["es"]="Patente", ["et"]="Patent", ["fr"]="Brevet", + ["hy"]="Արտոնագիր", ["it"]="Brevetto", ["mk"]="Патент", ["nl"]="Octrooi", @@ -320,6 +336,7 @@ data.labels={ ["et"]="doktoritöö", ["fa"]="رساله دکتری", ["fr"]="Thèse de doctorat", + ["hy"]="Դոկտորական թեզ", ["it"]="Tesi di dottorato", ["mk"]="Докторска дисертација", ["nl"]="Proefschrift", @@ -334,6 +351,7 @@ data.labels={ ["eo"]="pp.", ["et"]="lk-d", ["fa"]="صص", + ["hy"]="էջ", ["mk"]="стр.", ["sr"]="стр.", ["sr-latn"]="str.", @@ -350,6 +368,7 @@ data.labels={ ["et"]="tehniline raport", ["fa"]="گزارش فنی", ["fr"]="Rapport technique", + ["hy"]="Տեխնիկական հաշվետվություն", ["it"]="Relazione tecnica", ["mk"]="Технички извештај", ["nl"]="Technisch rapport", @@ -366,6 +385,7 @@ data.labels={ ["eo"]="volumo", ["et"]="köide", ["fa"]="جلد", + ["hy"]="ծավալ", ["mk"]="том", ["nl"]="deel", ["sr"]="том", @@ -382,6 +402,7 @@ data.labels={ ["es"]="con", ["et"]="koos", ["fr"]="avec", + ["hy"]="ի հետ", ["it"]="con", ["mk"]="со", ["nl"]="met", @@ -396,6 +417,7 @@ data.labels={ ["cs"]="P", ["en"]="Pr", ["eo"]="P", + ["hy"]="P", ["mk"]="P", ["sk"]="P", ["sr"]="P", @@ -409,6 +431,7 @@ data.labels={ ["eo"]="arccos", ["es"]="arc\\sixperemspace cos", ["hr"]="arc\\sixperemspace cos", + ["hy"]="arccos", ["mk"]="arccos", ["pl"]="arc\\sixperemspace cos", ["sk"]="arccos", @@ -423,6 +446,7 @@ data.labels={ ["eo"]="arccosh", ["es"]="arc\\sixperemspace cosh", ["hr"]="arc\\sixperemspace cosh", + ["hy"]="arccosh", ["mk"]="arccosh", ["pl"]="arc\\sixperemspace cosh", ["sk"]="arccosh", @@ -437,6 +461,7 @@ data.labels={ ["eo"]="arcctan", ["es"]="arc\\sixperemspace cot", ["hr"]="arc\\sixperemspace ctg", + ["hy"]="arcctg", ["mk"]="arccotg", ["pl"]="arc\\sixperemspace ctg", ["sk"]="arccotg", @@ -451,6 +476,7 @@ data.labels={ ["eo"]="arcsin", ["es"]="arc\\sixperemspace sen", ["hr"]="arc\\sixperemspace sin", + ["hy"]="arcsin", ["mk"]="arcsin", ["pl"]="arc\\sixperemspace sin", ["sk"]="arcsin", @@ -465,6 +491,7 @@ data.labels={ ["eo"]="arcsinh", ["es"]="arc\\sixperemspace senh", ["hr"]="arc\\sixperemspace sinh", + ["hy"]="arcsinh", ["mk"]="arcsinh", ["pl"]="arc\\sixperemspace sinh", ["sk"]="arcsinh", @@ -479,6 +506,7 @@ data.labels={ ["eo"]="arctang", ["es"]="arc\\sixperemspace tan", ["hr"]="arc\\sixperemspace tg", + ["hy"]="arctan", ["mk"]="arctg", ["pl"]="arc\\sixperemspace tg", ["sk"]="arctg", @@ -493,6 +521,7 @@ data.labels={ ["eo"]="arctanh", ["es"]="arc\\sixperemspace tanh", ["hr"]="arc\\sixperemspace tgh", + ["hy"]="arctanh", ["mk"]="arctgh", ["pl"]="arc\\sixperemspace tgh", ["sk"]="arctgh", @@ -506,6 +535,7 @@ data.labels={ ["en"]="arg", ["eo"]="arg", ["es"]="arg", + ["hy"]="arg", ["mk"]="arg", ["sk"]="arg", ["sr"]="arg", @@ -518,6 +548,7 @@ data.labels={ ["en"]="cos", ["eo"]="cos", ["es"]="cos", + ["hy"]="cos", ["mk"]="cos", ["sk"]="cos", ["sr"]="cos", @@ -530,6 +561,7 @@ data.labels={ ["en"]="cosh", ["eo"]="cosh", ["es"]="cosh", + ["hy"]="cosh", ["mk"]="cosh", ["sk"]="cosh", ["sr"]="cosh", @@ -543,6 +575,7 @@ data.labels={ ["eo"]="cotan", ["es"]="cot", ["hr"]="ctg", + ["hy"]="cot", ["mk"]="ctg", ["pl"]="ctg", ["sk"]="cotg", @@ -556,6 +589,7 @@ data.labels={ ["en"]="coth", ["eo"]="cotanh", ["es"]="coth", + ["hy"]="coth", ["mk"]="ctgh", ["sk"]="cotgh", ["sr"]="ctgh", @@ -568,6 +602,7 @@ data.labels={ ["en"]="csc", ["eo"]="cosec", ["es"]="csc", + ["hy"]="csc", ["mk"]="cosec", ["sk"]="cosec", ["sr"]="cosec", @@ -581,6 +616,7 @@ data.labels={ ["eo"]="cotan", ["es"]="cot", ["hr"]="ctg", + ["hy"]="cot", ["mk"]="ctg", ["pl"]="ctg", ["sk"]="cotg", @@ -594,6 +630,7 @@ data.labels={ ["en"]="deg", ["eo"]="gr", ["es"]="gr", + ["hy"]="deg", ["mk"]="deg", ["sk"]="deg", ["sr"]="deg", @@ -606,6 +643,7 @@ data.labels={ ["en"]="det", ["eo"]="det", ["es"]="det", + ["hy"]="det", ["sk"]="det", ["sr"]="det", ["sr-latn"]="det", @@ -615,6 +653,7 @@ data.labels={ ["labels"]={ ["en"]="d", ["eo"]="dif", + ["hy"]="diff", }, }, ["dim"]={ @@ -623,6 +662,7 @@ data.labels={ ["en"]="dim", ["eo"]="dim", ["es"]="dim", + ["hy"]="dim", ["mk"]="dim", ["sk"]="dim", ["sr"]="dim", @@ -635,6 +675,7 @@ data.labels={ ["en"]="exp", ["eo"]="eksp", ["es"]="exp", + ["hy"]="exp", ["sk"]="exp", ["sr"]="exp", ["sr-latn"]="exp", @@ -648,6 +689,7 @@ data.labels={ ["eo"]="", ["es"]="mcd", ["hr"]="nzd", + ["hy"]="ԱԸԲ", ["mk"]="НЗД", ["nl"]="ggd", ["sk"]="NSD", @@ -661,6 +703,7 @@ data.labels={ ["en"]="hom", ["eo"]="hom", ["es"]="hom", + ["hy"]="հոմ", ["sk"]="Hom", }, }, @@ -670,6 +713,7 @@ data.labels={ ["en"]="inf", ["eo"]="inf", ["es"]="inf", + ["hy"]="inf", ["mk"]="inf", ["sk"]="inf", ["sr"]="inf", @@ -682,6 +726,7 @@ data.labels={ ["en"]="inv", ["eo"]="inv", ["es"]="inv", + ["hy"]="inv", ["mk"]="inv", ["sk"]="inv", ["sr"]="inv", @@ -694,6 +739,7 @@ data.labels={ ["en"]="inj\\sixperemspace lim", ["eo"]="", ["es"]="lím\\sixperemspace iny", + ["hy"]="inj\\sixperemspace lim", ["sk"]="inj\\sixperemspace lim", ["sr"]="inj\\sixperemspace lim", ["sr-latn"]="inj\\sixperemspace lim", @@ -705,6 +751,7 @@ data.labels={ ["en"]="ker", ["eo"]="", ["es"]="Ker", + ["hy"]="ker", ["sk"]="ker", ["sr"]="ker", ["sr-latn"]="ker", @@ -718,6 +765,7 @@ data.labels={ ["eo"]="", ["es"]="MCM", ["hr"]="nzv", + ["hy"]="աըբ", ["mk"]="НЗС", ["nl"]="kgv", ["sk"]="NSN", @@ -732,6 +780,7 @@ data.labels={ ["en"]="lg", ["eo"]="log", ["es"]="log", + ["hy"]="lg", ["mk"]="lg", ["sk"]="log", ["sr"]="lg", @@ -744,6 +793,7 @@ data.labels={ ["en"]="lim", ["eo"]="lim", ["es"]="lím", + ["hy"]="lim", ["mk"]="lim", ["sk"]="lim", ["sr"]="lim", @@ -756,6 +806,7 @@ data.labels={ ["en"]="lim\\sixperemspace inf", ["eo"]="subinf", ["es"]="lím\\sixperemspace inf", + ["hy"]="lim\\sixperemspace infs", ["mk"]="lim\\sixperemspace inf", ["sk"]="lim\\sixperemspace inf", ["sr"]="lim\\sixperemspace inf", @@ -768,6 +819,7 @@ data.labels={ ["en"]="lim\\sixperemspace sup", ["eo"]="suplim", ["es"]="lím\\sixperemspace sup", + ["hy"]="lim\\sixperemspace sup", ["mk"]="lim\\sixperemspace sup", ["sk"]="lim\\sixperemspace sup", ["sr"]="lim\\sixperemspace sup", @@ -780,6 +832,7 @@ data.labels={ ["en"]="ln", ["eo"]="ln", ["es"]="ln", + ["hy"]="ln", ["mk"]="ln", ["sk"]="ln", ["sr"]="ln", @@ -792,6 +845,7 @@ data.labels={ ["en"]="log", ["eo"]="log", ["es"]="log", + ["hy"]="log", ["mk"]="log", ["sk"]="log", ["sr"]="log", @@ -804,6 +858,7 @@ data.labels={ ["en"]="max", ["eo"]="maks", ["es"]="máx", + ["hy"]="max", ["mk"]="max", ["sk"]="max", ["sr"]="max", @@ -816,6 +871,7 @@ data.labels={ ["en"]="median", ["eo"]="mediano", ["es"]="Mediana", + ["hy"]="միջին", ["sk"]="\\tilde", ["sr"]="median", ["sr-latn"]="median", @@ -827,6 +883,7 @@ data.labels={ ["en"]="min", ["eo"]="min", ["es"]="mín", + ["hy"]="min", ["mk"]="min", ["sk"]="min", ["sr"]="min", @@ -839,6 +896,7 @@ data.labels={ ["en"]="mod", ["eo"]="mod", ["es"]="mod", + ["hy"]="mod", ["mk"]="mod", ["sk"]="mod", ["sr"]="mod", @@ -851,6 +909,7 @@ data.labels={ ["en"]="proj\\sixperemspace lim", ["eo"]="", ["es"]="lím\\sixperemspace proy", + ["hy"]="proj\\sixperemspace lim", ["sk"]="proj\\sixperemspace lim", ["sr"]="proj\\sixperemspace lim", ["sr-latn"]="proj\\sixperemspace lim", @@ -862,6 +921,7 @@ data.labels={ ["en"]="sec", ["eo"]="sek", ["es"]="sec", + ["hy"]="sec", ["mk"]="sec", ["sk"]="sec", ["sr"]="sec", @@ -874,6 +934,7 @@ data.labels={ ["en"]="sin", ["eo"]="sin", ["es"]="sen", + ["hy"]="sin", ["mk"]="sin", ["sk"]="sin", ["sr"]="sin", @@ -886,6 +947,7 @@ data.labels={ ["en"]="sinh", ["eo"]="sinh", ["es"]="senh", + ["hy"]="sinh", ["mk"]="sinh", ["sk"]="sinh", ["sr"]="sinh", @@ -898,6 +960,7 @@ data.labels={ ["en"]="sup", ["eo"]="sup", ["es"]="sup", + ["hy"]="sup", ["mk"]="sup", ["sk"]="sup", ["sr"]="sup", @@ -911,6 +974,7 @@ data.labels={ ["eo"]="tan", ["es"]="tan", ["hr"]="tg", + ["hy"]="tan", ["mk"]="tg", ["pl"]="tg", ["sk"]="tg", @@ -924,6 +988,7 @@ data.labels={ ["en"]="tanh", ["eo"]="tanh", ["es"]="tanh", + ["hy"]="tanh", ["mk"]="tgh", ["sk"]="tgh", ["sr"]="tgh", @@ -949,6 +1014,7 @@ data.labels={ ["gr"]="", ["hr"]=" i ", ["hu"]=" és ", + ["hy"]=" և ", ["it"]="", ["la"]="", ["lt"]="", @@ -991,6 +1057,7 @@ data.labels={ ["gr"]="Παράρτημα ", ["hr"]="Dodatak ", ["hu"]="Melléklet ", + ["hy"]="Հավելված ", ["it"]="", ["ja"]="付録", ["kr"]="부록", @@ -1038,6 +1105,7 @@ data.labels={ ["gr"]="Απρίλιος", ["hr"]="travnja", ["hu"]="április", + ["hy"]="Ապրիլ", ["it"]="aprile", ["ja"]="4", ["kr"]="4", @@ -1066,6 +1134,7 @@ data.labels={ ["labels"]={ ["en"]="Tir", ["fa"]="تیر", + ["hy"]="Տիր", }, }, ["april:mnem"]={ @@ -1085,6 +1154,7 @@ data.labels={ ["gr"]="", ["hr"]="tra", ["hu"]="ápr.", + ["hy"]="Ապր", ["it"]="", ["la"]="", ["lt"]="apr", @@ -1125,6 +1195,7 @@ data.labels={ ["gr"]="", ["hr"]="na stranici ", ["hu"]="oldal ", + ["hy"]="էջում ", ["it"]="a pagina ", ["la"]="", ["lt"]="puslapyje ", @@ -1171,6 +1242,7 @@ data.labels={ ["gr"]="Αύγουστος", ["hr"]="kolovoza", ["hu"]="augusztus", + ["hy"]="Օգոստոս", ["it"]="agosto", ["ja"]="8", ["kr"]="8", @@ -1199,6 +1271,7 @@ data.labels={ ["labels"]={ ["en"]="Aban", ["fa"]="آبان", + ["hy"]="Աբան", }, }, ["august:mnem"]={ @@ -1218,6 +1291,7 @@ data.labels={ ["gr"]="", ["hr"]="kol", ["hu"]="aug.", + ["hy"]="Օգ", ["it"]="", ["la"]="", ["lt"]="aug", @@ -1262,6 +1336,7 @@ data.labels={ ["gr"]="Κεφάλαιο", ["hr"]="Poglavlje ", ["hu"]={ "", " fejezet" }, + ["hy"]="Գլուխ ", ["it"]="", ["ja"]={ "第", "章" }, ["kr"]={ "제", "장" }, @@ -1305,6 +1380,7 @@ data.labels={ ["gr"]="", ["hr"]=" (nastavak)", ["hu"]=" (folytatás)", + ["hy"]=" (շարունակություն)", ["it"]="", ["la"]="", ["lt"]="", @@ -1335,6 +1411,7 @@ data.labels={ ["eo"]="tago", ["et"]="päev", ["fa"]="روز", + ["hy"]="օր", ["kr"]="일", ["mk"]="ден", ["nl"]="dag", @@ -1365,6 +1442,7 @@ data.labels={ ["gr"]="Δεκέμβριος", ["hr"]="prosinca", ["hu"]="december", + ["hy"]="Դեկտեմբեր", ["it"]="dicembre", ["ja"]="12", ["kr"]="12", @@ -1393,6 +1471,7 @@ data.labels={ ["labels"]={ ["en"]="Esfand", ["fa"]="اسفند", + ["hy"]="Էսֆանդ", }, }, ["december:mnem"]={ @@ -1412,6 +1491,7 @@ data.labels={ ["gr"]="", ["hr"]="pro", ["hu"]="dec.", + ["hy"]="Դեկ", ["it"]="", ["la"]="", ["lt"]="dec", @@ -1457,6 +1537,7 @@ data.labels={ ["gr"]="Φεβρουάριος", ["hr"]="veljače", ["hu"]="február", + ["hy"]="Պետրվար", ["it"]="febbraio", ["ja"]="2", ["kr"]="2", @@ -1485,6 +1566,7 @@ data.labels={ ["labels"]={ ["en"]="Ordibehesht", ["fa"]="اردیبهشت", + ["hy"]="Օրդիբեհեշթ", }, }, ["february:mnem"]={ @@ -1504,6 +1586,7 @@ data.labels={ ["gr"]="", ["hr"]="velj", ["hu"]="feb.", + ["hy"]="Փետ", ["it"]="", ["la"]="", ["lt"]="feb", @@ -1547,6 +1630,7 @@ data.labels={ ["gr"]="Σχήμα", ["hr"]="Slika ", ["hu"]={ "", " ábra" }, + ["hy"]="Նկար ", ["it"]="Fig. ", ["ja"]="図", ["kr"]="그림 ", @@ -1577,6 +1661,7 @@ data.labels={ ["en"]="ff.", ["eo"]="sekvv", ["fr"]=hairspace .. "sqq", + ["hy"]="ff.", }, }, ["following:singular"]={ @@ -1585,6 +1670,7 @@ data.labels={ ["en"]="f.", ["eo"]="sekv", ["fr"]=hairspace .. "sq", + ["hy"]="f.", }, }, ["followingpage"]={ @@ -1594,6 +1680,7 @@ data.labels={ ["eo"]="je sekvanta paĝo", ["et"]="järgmisel leheküljel", ["fa"]="در صفحات آینده", + ["hy"]="Հաջորդ էջում", ["mk"]="на следната страница", ["nl"]="op een volgende bladzijde", ["sr"]="на следећој страници", @@ -1621,6 +1708,7 @@ data.labels={ ["gr"]="Παρασκευή", ["hr"]="petak", ["hu"]="péntek", + ["hy"]="ուրբաթ", ["it"]="venerdì", ["ja"]="金曜日", ["kr"]="금요일", @@ -1652,6 +1740,7 @@ data.labels={ ["de"]="Fr.", ["en"]="fri", ["eo"]="ven.", + ["hy"]="Ուրբ", ["sk"]="pi", ["sr"]="пет", ["sr-latn"]="pet", @@ -1678,6 +1767,7 @@ data.labels={ ["gr"]="Γραφικό", ["hr"]="Slika ", ["hu"]={ "", " kép" }, + ["hy"]="Գրաֆ", ["it"]="Grafico ", ["ja"]="イラスト", ["la"]="Typus ", @@ -1721,6 +1811,7 @@ data.labels={ ["gr"]="", ["hr"]="vidi gore", ["hu"]="lásd feljebb", + ["hy"]="ստորև նշված", ["it"]="come mostrato sopra", ["kr"]="그러므로", ["la"]="", @@ -1764,6 +1855,7 @@ data.labels={ ["gr"]="", ["hr"]="vidi ispod", ["hu"]="lásd lejjebb", + ["hy"]="ինչպես ցույց է տրված ստորև", ["it"]="come mostrato sotto", ["kr"]="이후로", ["la"]="", @@ -1807,6 +1899,7 @@ data.labels={ ["gr"]="Παύση", ["hr"]="Intermeco ", ["hu"]={ "", " intermezzo" }, + ["hy"]="Ինտերմեցո", ["it"]="Intermezzo ", ["ja"]="間奏曲", ["kr"]="간주곡", @@ -1854,6 +1947,7 @@ data.labels={ ["gr"]="Ιανουάριος", ["hr"]="siječnja", ["hu"]="január", + ["hy"]="Հունվար", ["it"]="gennaio", ["ja"]="1", ["kr"]="1", @@ -1882,6 +1976,7 @@ data.labels={ ["labels"]={ ["en"]="Farvardin", ["fa"]="فروردین", + ["hy"]="Ֆարվարդին", }, }, ["january:mnem"]={ @@ -1901,6 +1996,7 @@ data.labels={ ["gr"]="", ["hr"]="sij", ["hu"]="jan.", + ["hy"]="Հունվ", ["it"]="", ["la"]="", ["lt"]="jan", @@ -1947,6 +2043,7 @@ data.labels={ ["gr"]="Ιούλιος", ["hr"]="srpnja", ["hu"]="július", + ["hy"]="Հուլիս", ["it"]="luglio", ["ja"]="7", ["kr"]="7", @@ -1975,6 +2072,7 @@ data.labels={ ["labels"]={ ["en"]="Mehr", ["fa"]="مهر", + ["hy"]="Մեհր", }, }, ["july:mnem"]={ @@ -1994,6 +2092,7 @@ data.labels={ ["gr"]="", ["hr"]="srp", ["hu"]="júl.", + ["hy"]="Հուլ", ["it"]="", ["la"]="", ["lt"]="jul", @@ -2039,6 +2138,7 @@ data.labels={ ["gr"]="Ιούνιος", ["hr"]="lipnja", ["hu"]="június", + ["hy"]="Հունիսի", ["it"]="giugno", ["ja"]="6", ["kr"]="6", @@ -2067,6 +2167,7 @@ data.labels={ ["labels"]={ ["en"]="Shahrivar", ["fa"]="شهریور", + ["hy"]="Շահրիվար", }, }, ["june:mnem"]={ @@ -2086,6 +2187,7 @@ data.labels={ ["gr"]="", ["hr"]="lip", ["hu"]="jún.", + ["hy"]="Հուն", ["it"]="", ["la"]="", ["lt"]="jun", @@ -2129,6 +2231,7 @@ data.labels={ ["gr"]="Γραμμή", ["hr"]="redak ", ["hu"]={ "", " sor" }, + ["hy"]="Տող ", ["it"]="riga ", ["ja"]="線", ["kr"]="행", @@ -2174,6 +2277,7 @@ data.labels={ ["gr"]="Γραμμές", ["hr"]="retci ", ["hu"]="sorok ", + ["hy"]="Տողեր ", ["it"]="righe ", ["ja"]="線", ["kr"]="행", @@ -2220,6 +2324,7 @@ data.labels={ ["gr"]="Μάρτιος", ["hr"]="ožujka", ["hu"]="március", + ["hy"]="Մարտ", ["it"]="marzo", ["ja"]="3", ["kr"]="3", @@ -2248,6 +2353,7 @@ data.labels={ ["labels"]={ ["en"]="Khordad", ["fa"]="خرداد", + ["hy"]="Խորդադ", }, }, ["march:mnem"]={ @@ -2267,6 +2373,7 @@ data.labels={ ["gr"]="", ["hr"]="ožu", ["hu"]="már.", + ["hy"]="Մարտ", ["it"]="", ["la"]="", ["lt"]="mar", @@ -2313,6 +2420,7 @@ data.labels={ ["gr"]="Μάιος", ["hr"]="svibnja", ["hu"]="május", + ["hy"]="Մայիս", ["it"]="maggio", ["ja"]="5", ["kr"]="5", @@ -2341,6 +2449,7 @@ data.labels={ ["labels"]={ ["en"]="Mordad", ["fa"]="مرداد", + ["hy"]="Մորդադ", }, }, ["may:mnem"]={ @@ -2360,6 +2469,7 @@ data.labels={ ["gr"]="", ["hr"]="svi", ["hu"]="máj.", + ["hy"]="Մայ", ["it"]="", ["la"]="", ["lt"]="may", @@ -2403,6 +2513,7 @@ data.labels={ ["gr"]="Δευτέρα", ["hr"]="ponedjeljak", ["hu"]="hétfő", + ["hy"]="երկուշաբթի", ["it"]="lunedì", ["ja"]="月曜日", ["kr"]="월요일", @@ -2434,6 +2545,7 @@ data.labels={ ["de"]="Mo.", ["en"]="mon", ["eo"]="lun.", + ["hy"]="Երկ", ["sk"]="po", ["sr"]="пон", ["sr-latn"]="pon", @@ -2448,6 +2560,7 @@ data.labels={ ["eo"]="monato", ["et"]="kuu", ["fa"]="ماه", + ["hy"]="ամիս", ["kr"]="월", ["mk"]="месец", ["nl"]="maand", @@ -2478,6 +2591,7 @@ data.labels={ ["gr"]="Νοέμβριος", ["hr"]="studenog", ["hu"]="november", + ["hy"]="Նոյեմբեր", ["it"]="novembre", ["ja"]="11", ["kr"]="11", @@ -2506,6 +2620,7 @@ data.labels={ ["labels"]={ ["en"]="Bahman", ["fa"]="بهمن", + ["hy"]="Բահման", }, }, ["november:mnem"]={ @@ -2525,6 +2640,7 @@ data.labels={ ["gr"]="", ["hr"]="stu", ["hu"]="nov.", + ["hy"]="Նոյ", ["it"]="", ["la"]="", ["lt"]="nov", @@ -2569,6 +2685,7 @@ data.labels={ ["gr"]="Οκτώβριος", ["hr"]="listopada", ["hu"]="október", + ["hy"]="հոկտեմբեր", ["it"]="ottobre", ["ja"]="10", ["kr"]="10", @@ -2597,6 +2714,7 @@ data.labels={ ["labels"]={ ["en"]="Dey", ["fa"]="دی", + ["hy"]="Դեյ", }, }, ["october:mnem"]={ @@ -2616,6 +2734,7 @@ data.labels={ ["gr"]="", ["hr"]="lis", ["hu"]="okt.", + ["hy"]="Հոկ", ["it"]="", ["la"]="", ["lt"]="oct", @@ -2658,6 +2777,7 @@ data.labels={ ["gr"]="", ["hr"]="stranica ", ["hu"]="oldal ", + ["hy"]="էջ ", ["it"]="pagina ", ["kr"]="쪽", ["la"]="", @@ -2702,6 +2822,7 @@ data.labels={ ["gr"]="Μέρος", ["hr"]="Dio ", ["hu"]={ "", " rész" }, + ["hy"]="Մաս ", ["it"]="Parte ", ["ja"]={ "第", "パート" }, ["kr"]={ "제", "부" }, @@ -2733,6 +2854,7 @@ data.labels={ ["eo"]="sur antaŭa paĝo", ["et"]="eelmisel lehel", ["fa"]="در صفحات گذشته", + ["hy"]="նախորդ էջ", ["mk"]="на претходната страница", ["nl"]="op een voorgaande bladzijde", ["sr"]="на претходној страници", @@ -2760,6 +2882,7 @@ data.labels={ ["gr"]="Σάββατο", ["hr"]="subota", ["hu"]="szombat", + ["hy"]="շաբաթ", ["it"]="sabato", ["ja"]="土曜日", ["kr"]="토요일", @@ -2791,6 +2914,7 @@ data.labels={ ["de"]="Sa.", ["en"]="sat", ["eo"]="sab.", + ["hy"]="Շաբ", ["sk"]="so", ["sr"]="суб", ["sr-latn"]="sub", @@ -2817,6 +2941,7 @@ data.labels={ ["gr"]="Ενότητα", ["hr"]="Odjeljak ", ["hu"]="Fejezet ", + ["hy"]="Բաժին ", ["it"]="", ["ja"]={ "第", "項" }, ["kr"]={ "제", "절" }, @@ -2861,6 +2986,7 @@ data.labels={ ["gr"]="", ["hr"]="vidi ", ["hu"]="lásd ", + ["hy"]="Նայել ", ["it"]="cf. ", ["kr"]="", ["la"]="", @@ -2907,6 +3033,7 @@ data.labels={ ["gr"]="Σεπτέμβριος", ["hr"]="rujna", ["hu"]="szeptember", + ["hy"]="Սեպտեմբեր", ["it"]="settembre", ["ja"]="9", ["kr"]="9", @@ -2935,6 +3062,7 @@ data.labels={ ["labels"]={ ["en"]="Azar", ["fa"]="آذر", + ["hy"]="Ազար", }, }, ["september:mnem"]={ @@ -2954,6 +3082,7 @@ data.labels={ ["gr"]="", ["hr"]="ruj", ["hu"]="szep.", + ["hy"]="Սեպ", ["it"]="", ["la"]="", ["lt"]="sep", @@ -2997,6 +3126,7 @@ data.labels={ ["gr"]="Υπόενότητα", ["hr"]="Pododjeljak ", ["hu"]="Alfejezet ", + ["hy"]=" Ենթաբաժին ", ["it"]="", ["ja"]="", ["la"]="", @@ -3041,6 +3171,7 @@ data.labels={ ["gr"]="", ["hr"]="Podpododjeljak ", ["hu"]="Al-alfejezet ", + ["hy"]="Ենթաենթաբաժին ", ["it"]="", ["ja"]="", ["la"]="", @@ -3085,6 +3216,7 @@ data.labels={ ["gr"]="", ["hr"]="Podpodpododjeljak ", ["hu"]="Al-al-alfejezet ", + ["hy"]="Ենթաենթաենթաբաժին ", ["it"]="", ["ja"]="", ["la"]="", @@ -3129,6 +3261,7 @@ data.labels={ ["gr"]="Κυριακή", ["hr"]="nedjelja", ["hu"]="vasárnap", + ["hy"]="կիրակի", ["it"]="domenica", ["ja"]="日曜日", ["kr"]="일요일", @@ -3160,6 +3293,7 @@ data.labels={ ["de"]="So.", ["en"]="sun", ["eo"]="dim.", + ["hy"]="Կիր", ["sk"]="ne", ["sr"]="нед", ["sr-latn"]="ned", @@ -3186,6 +3320,7 @@ data.labels={ ["gr"]="Πίνακας", ["hr"]="Tablica ", ["hu"]={ "", " táblázat" }, + ["hy"]="Աղյուսակ ", ["it"]="Tabella ", ["ja"]="表", ["kr"]="표 ", @@ -3231,6 +3366,7 @@ data.labels={ ["gr"]="Πέμπτη", ["hr"]="četvrtak", ["hu"]="csütörtök", + ["hy"]="հինգշաբթի", ["it"]="giovedì", ["ja"]="木曜日", ["kr"]="목요일", @@ -3262,6 +3398,7 @@ data.labels={ ["de"]="Do.", ["en"]="thu", ["eo"]="ĵaŭ.", + ["hy"]="Հնգ", ["sk"]="št", ["sr"]="чет", ["sr-latn"]="čet", @@ -3288,6 +3425,7 @@ data.labels={ ["gr"]="Τρίτη", ["hr"]="utorak", ["hu"]="kedd", + ["hy"]="երեքշաբթի", ["it"]="martedì", ["ja"]="火曜日", ["kr"]="화요일", @@ -3319,6 +3457,7 @@ data.labels={ ["de"]="Di.", ["en"]="tue", ["eo"]="mar.", + ["hy"]="Երք", ["sk"]="út", ["sr"]="уто", ["sr-latn"]="uto", @@ -3345,6 +3484,7 @@ data.labels={ ["gr"]="Τετάρτη", ["hr"]="srijeda", ["hu"]="szerda", + ["hy"]="չորեքշաբթի", ["it"]="mercoledì", ["ja"]="水曜日", ["kr"]="수요일", @@ -3376,6 +3516,7 @@ data.labels={ ["de"]="Mi.", ["en"]="wed", ["eo"]="mer.", + ["hy"]="չոր", ["sk"]="st", ["sr"]="сре", ["sr-latn"]="sre", @@ -3389,6 +3530,7 @@ data.labels={ ["eo"]="jaro", ["et"]="aasta", ["fa"]="سال", + ["hy"]="Տարի", ["kr"]="년", ["mk"]="година", ["nl"]="jaar", @@ -3419,6 +3561,7 @@ data.labels={ ["gr"]="Συντομογραφίες", ["hr"]="Kratice", ["hu"]="Rövidítések", + ["hy"]="Հապավումներ", ["it"]="Abbreviazioni", ["ja"]="略語", ["kr"]="약어", @@ -3464,6 +3607,7 @@ data.labels={ ["gr"]="Περιεχόμενα", ["hr"]="Sadržaj", ["hu"]="Tartalom", + ["hy"]="Բովանդակություն", ["it"]="Indice", ["ja"]="目次", ["kr"]="목차", @@ -3508,6 +3652,7 @@ data.labels={ ["gr"]="Σχήματα", ["hr"]="Slike", ["hu"]="Ábrák", + ["hy"]="Նկարազարդումներ", ["it"]="Figure", ["ja"]="図", ["kr"]="그림 ", @@ -3553,6 +3698,7 @@ data.labels={ ["gr"]="Γραφικά", ["hr"]="Slike", ["hu"]="Grafikák", + ["hy"]="Գծապատկեր", ["it"]="Grafici", ["ja"]="グラフ", ["kr"]="그래픽 ", @@ -3598,6 +3744,7 @@ data.labels={ ["gr"]="Ευρετήριο", ["hr"]="Indeks", ["hu"]="Index", + ["hy"]="Այբբենական ցուցիչ", ["it"]="Indice", ["ja"]="目次", ["kr"]="찾아보기", @@ -3642,6 +3789,7 @@ data.labels={ ["gr"]="Παύσεις", ["hr"]="Intermeci", ["hu"]="Intermezzok", + ["hy"]="Ինտերլյուդներ", ["it"]="Intermezzi", ["ja"]="間奏曲", ["kr"]="간주곡", @@ -3687,6 +3835,7 @@ data.labels={ ["gr"]="Λογότυπα", ["hr"]="Logotipi", ["hu"]="Fejlécek", + ["hy"]="Լոգոներ", ["it"]="Logotipi", ["ja"]="理性", ["kr"]="이성", @@ -3728,6 +3877,7 @@ data.labels={ ["gr"]="", ["hr"]="Literatura", ["hu"]="Bibliográfia", + ["hy"]="Գրականութիւն", ["it"]="Bibliografia", ["kr"]="참고문헌", ["la"]="", @@ -3771,6 +3921,7 @@ data.labels={ ["gr"]="Πίνακες", ["hr"]="Tablice", ["hu"]="Táblázatok", + ["hy"]="Աղյուսակներ", ["it"]="Tabelle", ["ja"]="机", ["kr"]="표 ", @@ -3816,6 +3967,7 @@ data.labels={ ["gr"]="Μονάδες", ["hr"]="Jedinice", ["hu"]="Mértékegységek", + ["hy"]="Չափման միավորներ", ["it"]="Unità", ["ja"]="ユニッツ", ["kr"]="측정단위", diff --git a/tex/context/base/mkiv/mtx-context-setters.tex b/tex/context/base/mkiv/mtx-context-setters.tex index 3201ae3ba..c90c385c5 100644 --- a/tex/context/base/mkiv/mtx-context-setters.tex +++ b/tex/context/base/mkiv/mtx-context-setters.tex @@ -24,9 +24,12 @@ \starttext -\doifdocumentargument {trackers} { \ctxlua {trackers .show(environment.arguments.pattern) } } -\doifdocumentargument {directives} { \ctxlua {directives .show(environment.arguments.pattern) } } -\doifdocumentargument {experiments} { \ctxlua {experiments.show(environment.arguments.pattern) } } +\doifdocumentargument {trackers} { \ctxlua {trackers .show(environment.arguments.pattern) } } +\doifdocumentargument {directives} { \ctxlua {directives .show(environment.arguments.pattern) } } +\doifdocumentargument {experiments} { \ctxlua {experiments.show(environment.arguments.pattern) } } +\doifdocumentargument {showtrackers} { \ctxlua {trackers .show(environment.arguments.pattern) } } +\doifdocumentargument {showdirectives} { \ctxlua {directives .show(environment.arguments.pattern) } } +\doifdocumentargument {showexperiments} { \ctxlua {experiments.show(environment.arguments.pattern) } } \stoptext diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua index e4566b7e4..835588e46 100644 --- a/tex/context/base/mkiv/mult-low.lua +++ b/tex/context/base/mkiv/mult-low.lua @@ -112,7 +112,8 @@ return { "applytextitalickernmathcontrolcode", "applyscriptitalickernmathcontrolcode", "checkspaceitalickernmathcontrolcode", "checktextitalickernmathcontrolcode", "analyzescriptnucleuscharmathcontrolcode", "analyzescriptnucleuslistmathcontrolcode", "analyzescriptnucleusboxmathcontrolcode", - "accenttopskewwithoffsetmathcontrolcode", "ignorekerndimensionsmathcontrolcode", + "accenttopskewwithoffsetmathcontrolcode", "ignorekerndimensionsmathcontrolcode", "ignoreflataccentsmathcontrolcode", + "extendaccentsmathcontrolcode", -- "noligaturingglyphoptioncode", "nokerningglyphoptioncode", "noexpansionglyphoptioncode", "noprotrusionglyphoptioncode", "noleftkerningglyphoptioncode", "noleftligaturingglyphoptioncode", "norightkerningglyphoptioncode", "norightligaturingglyphoptioncode", @@ -188,7 +189,7 @@ return { "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", - "optionalspace", "asciispacechar", "softhyphen", + "optionalspace", "asciispacechar", "softhyphen", "autoinsertedspace", -- "Ux", "eUx", "Umathaccents", -- diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua index 60fb704d4..32b8aa440 100644 --- a/tex/context/base/mkiv/mult-prm.lua +++ b/tex/context/base/mkiv/mult-prm.lua @@ -648,6 +648,7 @@ return { "unletprotected", "untraced", "unvpack", + "variablefam", "vpack", "wordboundary", "wrapuppar", diff --git a/tex/context/base/mkiv/mult-sys.mkiv b/tex/context/base/mkiv/mult-sys.mkiv index 149a7ac24..07ec16e2b 100644 --- a/tex/context/base/mkiv/mult-sys.mkiv +++ b/tex/context/base/mkiv/mult-sys.mkiv @@ -44,6 +44,10 @@ % definesystemconstant {vn} \definesystemconstant {afrikaans} \definesystemconstant {af} +\definesystemconstant {albanian} \definesystemconstant {sq} +\definesystemconstant {armenian} \definesystemconstant {hy} + \definesystemconstant {hye} + \definesystemconstant {hyw} \definesystemconstant {ancientgreek} \definesystemconstant {agr} \definesystemconstant {ancientlatin} \definesystemconstant {ala} \definesystemconstant {arabic} \definesystemconstant {ar} diff --git a/tex/context/base/mkiv/spac-chr.lua b/tex/context/base/mkiv/spac-chr.lua index 233552460..f9b4da31a 100644 --- a/tex/context/base/mkiv/spac-chr.lua +++ b/tex/context/base/mkiv/spac-chr.lua @@ -28,7 +28,10 @@ local nodes, node = nodes, node local nuts = nodes.nuts +local getid = nuts.getid local getboth = nuts.getboth +local getsubtype = nuts.getsubtype +local setsubtype = nuts.setsubtype local getnext = nuts.getnext local getprev = nuts.getprev local getattr = nuts.getattr @@ -37,7 +40,6 @@ local getlanguage = nuts.getlanguage local setchar = nuts.setchar local setattrlist = nuts.setattrlist local getfont = nuts.getfont -local setsubtype = nuts.setsubtype local isglyph = nuts.isglyph local setcolor = nodes.tracers.colors.set @@ -60,10 +62,12 @@ local nodecodes = nodes.nodecodes local gluecodes = nodes.gluecodes local glyph_code = nodecodes.glyph +local glue_code = nodecodes.glue local spaceskip_code = gluecodes.spaceskip local chardata = characters.data -local is_punctuation = characters.is_punctuation +local ispunctuation = characters.is_punctuation +local canhavespace = characters.can_have_space local typesetters = typesetters @@ -182,13 +186,27 @@ local methods = { -- maybe also 0x0008 : backspace + [0x001E] = function(head,current) -- kind of special + local next = getnext(current) + head, current = remove_node(head,current,true) + if next and getid(next) == glue_code and getsubtype(next) == spaceskip_code then + local nextnext = getnext(next) + if nextnext then + local char, font = isglyph(nextnext) + if char and not canhavespace[char] then + remove_node(head,next,true) + end + end + end + end, + [0x001F] = function(head,current) -- kind of special local next = getnext(current) if next then local char, font = isglyph(next) if char then head, current = remove_node(head,current,true) - if not is_punctuation[char] then + if not ispunctuation[char] then local p = fontparameters[font] head, current = insertnodebefore(head,current,new_glue(p.space,p.space_stretch,p.space_shrink)) end diff --git a/tex/context/base/mkiv/spac-chr.mkiv b/tex/context/base/mkiv/spac-chr.mkiv index 9113dc6a1..4c7cc9492 100644 --- a/tex/context/base/mkiv/spac-chr.mkiv +++ b/tex/context/base/mkiv/spac-chr.mkiv @@ -95,7 +95,8 @@ \popoverloadmode -\chardef\optionalspace"1F % will be space unless before punctuation +\chardef\optionalspace "1F % will be space unless before punctuation +\chardef\autoinsertedspace"1E % a more clever \autoinsertspace % Shortcuts: diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex c02ca06bf..13b79a990 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 8c4741da4..bd256d4ec 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/type-set.mkiv b/tex/context/base/mkiv/type-set.mkiv index 269d41966..c87129e94 100644 --- a/tex/context/base/mkiv/type-set.mkiv +++ b/tex/context/base/mkiv/type-set.mkiv @@ -62,9 +62,9 @@ \definefilesynonym [type-imp-latin-modern.mkiv] [type-imp-latinmodern.mkiv] \definefilesynonym [type-imp-modern-latin.mkiv] [type-imp-modernlatin.mkiv] -\definefilesynonym [type-imp-lucida.mkiv] [type-imp-lucida-typeone.mkiv] -\definefilesynonym [type-imp-lucidaot.mkiv] [type-imp-lucida-opentype.mkiv] -\definefilesynonym [type-imp-lucidadk.mkiv] [type-imp-lucida-opentype.mkiv] +\definefilesynonym [type-imp-lucida-opentype.mkiv] [type-imp-lucida.mkiv] +\definefilesynonym [type-imp-lucidaot.mkiv] [type-imp-lucida.mkiv] +\definefilesynonym [type-imp-lucidadk.mkiv] [type-imp-lucida.mkiv] \definefilesynonym [type-imp-dejavu-condensed.mkiv] [type-imp-dejavu.mkiv] |