From 2e9e756378815be869d82c2fb3eeeaa4c23bcc50 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Tue, 27 May 2014 23:36:00 +0200 Subject: beta 2014.05.27 23:36 --- doc/context/manuals/allkind/mkiv-publications.pdf | Bin 320676 -> 289439 bytes tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4289 -> 4283 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/publ-dat.lua | 15 +++-- tex/context/base/publ-imp-apa.mkvi | 70 --------------------- tex/context/base/publ-ini.mkiv | 1 + tex/context/base/publ-tra.lua | 3 +- tex/context/base/s-fonts-coverage.lua | 4 ++ tex/context/base/s-fonts-shapes.lua | 70 ++++++++++----------- tex/context/base/s-fonts-tables.lua | 9 +++ tex/context/base/status-files.pdf | Bin 24625 -> 24640 bytes tex/context/base/status-lua.pdf | Bin 244758 -> 244758 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 14 files changed, 62 insertions(+), 116 deletions(-) diff --git a/doc/context/manuals/allkind/mkiv-publications.pdf b/doc/context/manuals/allkind/mkiv-publications.pdf index a8cb74c57..8a903854c 100644 Binary files a/doc/context/manuals/allkind/mkiv-publications.pdf and b/doc/context/manuals/allkind/mkiv-publications.pdf differ diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index c8dd779c2..eba8395cc 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2014.05.27 13:38} +\newcontextversion{2014.05.27 23:36} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index af63d86c0..014d4164b 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index c58123cb0..680b87b0d 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -28,7 +28,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2014.05.27 13:38} +\edef\contextversion{2014.05.27 23:36} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/publ-dat.lua b/tex/context/base/publ-dat.lua index fc810ed6b..1b9684542 100644 --- a/tex/context/base/publ-dat.lua +++ b/tex/context/base/publ-dat.lua @@ -275,9 +275,15 @@ local equal = P("=") local collapsed = (lpegpatterns.whitespace^1)/ " " ----- balanced = lpegpatterns.balanced + +-- local balanced = P { +-- [1] = ((escape * (left+right)) + (collapsed + 1 - (left+right)) + V(2))^0, +-- [2] = left * V(1) * right, +-- } + local balanced = P { - [1] = ((escape * (left+right)) + (collapsed + 1 - (left+right)) + V(2))^0, - [2] = left * V(1) * right + [1] = left * V(2) * right, + [2] = ((escape * (left+right)) + (collapsed + 1 - (left+right)) + V(1))^0, } local keyword = C((R("az","AZ","09") + S("@_:-"))^1) @@ -293,14 +299,15 @@ local s_value = (single/"") * (b_value + s_quoted) * (single/"") local d_value = (double/"") * (b_value + d_quoted) * (double/"") local r_value = reference * Carg(1) /resolve -local somevalue = s_value + d_value + b_value + r_value +local somevalue = d_value + b_value + s_value + r_value local value = Cs((somevalue * ((spacing * hash * spacing)/"" * somevalue)^0)) +local forget = percent^1 * (1-lineending)^0 +local spacing = spacing * forget^0 * spacing local assignment = spacing * key * spacing * equal * spacing * value * spacing local shortcut = P("@") * (P("string") + P("STRING")) * spacing * left * ((assignment * Carg(1))/do_shortcut * comma^0)^0 * spacing * right local definition = category * spacing * left * spacing * tag * spacing * comma * Ct((assignment * comma^0)^0) * spacing * right * Carg(1) / do_definition local comment = keyword * spacing * left * (1-right)^0 * spacing * right -local forget = percent^1 * (1-lineending)^0 -- todo \% diff --git a/tex/context/base/publ-imp-apa.mkvi b/tex/context/base/publ-imp-apa.mkvi index f7c04e6c7..aa7f6ce6b 100644 --- a/tex/context/base/publ-imp-apa.mkvi +++ b/tex/context/base/publ-imp-apa.mkvi @@ -22,69 +22,6 @@ %D The variables control the shared code for which we use a tex definition with %D one argument, specifying the field name. -% \setupbtxlabeltext -% [en] -% [mastersthesis={Master's thesis}, -% phdthesis={PhD thesis}, -% technicalreport={Technical report}, -% editor=editor, -% editors=editors, -% edition=edition, -% volume=volume, -% Volume=Volume, -% number=number, -% Number=Number, -% in=in, -% of=of, -% In=In, -% p=p, -% pp=pp, -% pages=pages, -% and=and, -% others={et al.}] -% -% \setupbtxlabeltext -% [fr] -% [mastersthesis={Thèse de master (DEA, DESS, master)}, -% phdthesis={Thèse de doctorat}, -% technicalreport={Rapport technique}, -% editor=éditeur, -% editors=éditeurs, -% edition=édition, -% volume=volume, -% Volume=Volume, -% number=numéro, -% Number=Numéro, -% in=dans, -% of=de, -% In=Dans, -% p=p, -% pp=pp, -% pages=pages, -% and=et, -% others={et al.}] -% -% \setupbtxlabeltext -% [de] -% [mastersthesis={Masterarbeit}, -% phdthesis={Dissertation}, -% technicalreport={Technischer Bericht}, -% editor=Herausgeber, -% editors=Herausgeber, -% edition=Auflage, -% volume=Band, -% Volume=Band, -% number=Numer, -% Number=Numer, -% in=in, -% of=von, -% In=In, -% p=S, -% pp=S, -% pages=Seiten, -% and=und, -% others={et al.}] - \setvariables [btx:apa:publisher] [left=\btxspace, @@ -155,13 +92,6 @@ \endgroup \stoptexdefinition -% \starttexdefinition btx:apa:bold #field -% \begingroup -% \bf -% \btxflush{#field} -% \endgroup -% \stoptexdefinition - \starttexdefinition btx:apa:title-and-series \btxdoif {title} { \btxflush{title} diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv index 534cb3dc5..6ffb765fc 100644 --- a/tex/context/base/publ-ini.mkiv +++ b/tex/context/base/publ-ini.mkiv @@ -475,6 +475,7 @@ \let\currentbtxlist\currentbtxrendering \the\everysetupbtxlistplacement \forgetall + % why not pass this with collect .. todo \ctxcommand{btxsetlistmethod("\currentbtxdataset","\btxrenderingparameter\c!method")}% \startpacked[\v!blank]% % here we just collect items diff --git a/tex/context/base/publ-tra.lua b/tex/context/base/publ-tra.lua index 9f9e62dae..1cbbf3383 100644 --- a/tex/context/base/publ-tra.lua +++ b/tex/context/base/publ-tra.lua @@ -243,7 +243,7 @@ function tracers.showdatasetcompleteness(dataset) end ctx_starttabulate(preamble) identified(tag,category,entry.crossref) - ctx_ML() + ctx_FL() local requiredfields = fields.required local optionalfields = fields.optional if requiredfields then @@ -293,6 +293,7 @@ function tracers.showdatasetcompleteness(dataset) end end foundfields.category = nil + foundfields.tag = nil for k, v in sortedhash(foundfields) do extra(k,entry[k]) end diff --git a/tex/context/base/s-fonts-coverage.lua b/tex/context/base/s-fonts-coverage.lua index db47e57c4..f54391fbb 100644 --- a/tex/context/base/s-fonts-coverage.lua +++ b/tex/context/base/s-fonts-coverage.lua @@ -99,7 +99,11 @@ function moduledata.fonts.coverage.showcomparison(specification) NC() for i=1,#names do getvalue(names[i]) +if k < 0x110000 then char(k) +else + logs.report("warning","weird character %U",k) +end NC() end context(description) diff --git a/tex/context/base/s-fonts-shapes.lua b/tex/context/base/s-fonts-shapes.lua index b387c11dd..d0c1e0b05 100644 --- a/tex/context/base/s-fonts-shapes.lua +++ b/tex/context/base/s-fonts-shapes.lua @@ -16,24 +16,32 @@ local NC, NR = context.NC, context.NR local space, dontleavehmode, glyph, getvalue = context.space, context.dontleavehmode, context.glyph, context.getvalue local formatters = string.formatters -function moduledata.fonts.shapes.showlist(specification) -- todo: ranges - specification = interfaces.checkedspecification(specification) - local id, cs = fonts.definers.internal(specification,"") - local chrs = fontdata[id].characters - function char(k) - dontleavehmode() - glyph(id,k) - end - local function special(v) - local specials = v.specials - if specials and #specials > 1 then - context("%s:",specials[1]) +function char(id,k) + dontleavehmode() + glyph(id,k) +end + +local function special(id,specials) + if specials and #specials > 1 then + context("%s:",specials[1]) + if #specials > 5 then + space() char(id,specials[2]) + space() char(id,specials[3]) + space() context("...") + space() char(id,specials[#specials-1]) + space() char(id,specials[#specials]) + else for i=2,#specials do - space() - char(specials[i]) + space() char(id,specials[i]) end end end +end + +function moduledata.fonts.shapes.showlist(specification) -- todo: ranges + specification = interfaces.checkedspecification(specification) + local id, cs = fonts.definers.internal(specification,"") + local chrs = fontdata[id].characters context.begingroup() context.tt() context.starttabulate { "|l|c|c|c|c|l|l|" } @@ -50,11 +58,11 @@ function moduledata.fonts.shapes.showlist(specification) -- todo: ranges for k, v in next, characters.data do if chrs[k] then NC() context("0x%05X",k) - NC() char(k) -- getvalue(cs) context.char(k) - NC() char(v.shcode) - NC() char(v.lccode or k) - NC() char(v.uccode or k) - NC() special(v) + NC() char(id,k) -- getvalue(cs) context.char(k) + NC() char(id,v.shcode) + NC() char(id,v.lccode or k) + NC() char(id,v.uccode or k) + NC() special(id,v.specials) NC() context.tx(v.description) NC() NR() end @@ -67,20 +75,6 @@ function moduledata.fonts.shapes.showlist(specification) -- todo: ranges specification = interfaces.checkedspecification(specification) local id, cs = fonts.definers.internal(specification,"") local chrs = fontdata[id].characters - function char(k) - dontleavehmode() - glyph(id,k) - end - local function special(v) - local specials = v.specials - if specials and #specials > 1 then - context("%s:",specials[1]) - for i=2,#specials do - space() - char(specials[i]) - end - end - end context.begingroup() context.tt() context.starttabulate { "|l|c|c|c|c|l|l|" } @@ -97,11 +91,11 @@ function moduledata.fonts.shapes.showlist(specification) -- todo: ranges for k, v in next, characters.data do if chrs[k] then NC() context("0x%05X",k) - NC() char(k) - NC() char(v.shcode) - NC() char(v.lccode or k) - NC() char(v.uccode or k) - NC() special(v) + NC() char(id,k) + NC() char(id,v.shcode) + NC() char(id,v.lccode or k) + NC() char(id,v.uccode or k) + NC() special(id,v.specials) NC() context.tx(v.description) NC() NR() end diff --git a/tex/context/base/s-fonts-tables.lua b/tex/context/base/s-fonts-tables.lua index 5c91d5ee7..b3dac7d06 100644 --- a/tex/context/base/s-fonts-tables.lua +++ b/tex/context/base/s-fonts-tables.lua @@ -21,6 +21,12 @@ local digits = { dflt = { dflt = "1234567890 1/2", }, + arab = { + dflt = "", + }, + latn = { + dflt = "1234567890 1/2", + } } local punctuation = { @@ -65,6 +71,9 @@ local lowercase = { cyrl= { dflt = "абвгдежзиійклмнопрстуфхцчшщъыьѣэюяѳ" }, + arab = { + dflt = "ابجدهوزحطيكلمنسعفصقرشتثخذضظغ" + }, } local samples = { diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index c558cda00..a2e116705 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 950ef4853..e679ecf59 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index dc75ff5cd..2a135b79b 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 05/27/14 13:38:31 +-- merge date : 05/27/14 23:36:38 do -- begin closure to overcome local limits and interference -- cgit v1.2.3