From 1c7bea4f00308b0c7c4af302e3f9a877876253e0 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Tue, 9 Mar 2010 10:39:00 +0100 Subject: beta 2010.03.09 10:39 --- tex/context/base/char-tex.lua | 2 +- tex/context/base/cont-new.tex | 2 +- tex/context/base/context.tex | 2 +- tex/context/base/data-res.lua | 11 ++- tex/context/base/font-syn.lua | 2 +- tex/context/base/grph-inc.lua | 10 +-- tex/context/base/l-dir.lua | 2 +- tex/context/base/l-file.lua | 4 +- tex/context/base/l-lpeg.lua | 4 +- tex/context/base/mlib-run.lua | 2 +- tex/context/base/node-tra.lua | 19 ++++- tex/context/base/s-fnt-25.tex | 7 +- tex/context/base/spec-fdf.mkii | 12 ++- tex/context/base/strc-itm.mkiv | 113 ++++++++-------------------- tex/context/base/strc-num.mkiv | 2 +- tex/context/base/trac-tra.lua | 4 +- tex/context/interface/cont-cs.xml | 7 ++ tex/context/interface/cont-de.xml | 7 ++ tex/context/interface/cont-en.xml | 7 ++ tex/context/interface/cont-fr.xml | 7 ++ tex/context/interface/cont-it.xml | 7 ++ tex/context/interface/cont-nl.xml | 7 ++ tex/context/interface/cont-pe.xml | 7 ++ tex/context/interface/cont-ro.xml | 7 ++ tex/generic/context/luatex-fonts-merged.lua | 10 +-- 25 files changed, 149 insertions(+), 115 deletions(-) (limited to 'tex') diff --git a/tex/context/base/char-tex.lua b/tex/context/base/char-tex.lua index f3af91f79..3e726703a 100644 --- a/tex/context/base/char-tex.lua +++ b/tex/context/base/char-tex.lua @@ -58,7 +58,7 @@ local function remap_commands(c) end local P, C, R, S, Cs, Cc = lpeg.P, lpeg.C, lpeg.R, lpeg.S, lpeg.Cs, lpeg.Cc -local U, lpegmatch = lpeg.utf8, lpeg.match +local U, lpegmatch = lpeg.patterns.utf8, lpeg.match local accents = (P('\\') * C(S(accents)) * (P("{") * C(U) * P("}" * Cc(true)) + C(U) * Cc(false))) / remap_accents local commands = (P('\\') * C(R("az","AZ")^1)) / remap_commands diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index aada1b888..a80de62a0 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2010.03.02 12:34} +\newcontextversion{2010.03.09 10:39} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 6a89f4cfe..328f3f683 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2010.03.02 12:34} +\edef\contextversion{2010.03.09 10:39} %D For those who want to use this: diff --git a/tex/context/base/data-res.lua b/tex/context/base/data-res.lua index 40cd3eb1a..47c29fda9 100644 --- a/tex/context/base/data-res.lua +++ b/tex/context/base/data-res.lua @@ -645,7 +645,7 @@ function resolvers.load_cnf() else instance.rootpath = instance.cnffiles[1] for k,fname in ipairs(instance.cnffiles) do - instance.cnffiles[k] = file.collapse_path(gsub(fname,"\\",'/')) + instance.cnffiles[k] = file.collapse_path(fname) end for i=1,3 do instance.rootpath = file.dirname(instance.rootpath) @@ -674,7 +674,7 @@ function resolvers.load_lua() else instance.rootpath = instance.luafiles[1] for k,fname in ipairs(instance.luafiles) do - instance.luafiles[k] = file.collapse_path(gsub(fname,"\\",'/')) + instance.luafiles[k] = file.collapse_path(fname) end for i=1,3 do instance.rootpath = file.dirname(instance.rootpath) @@ -799,7 +799,7 @@ local weird = lpeg.P(".")^1 + lpeg.anywhere(lpeg.S("~`!#$%^&*()={}[]:;\"\'||<>,? --~ local l_forbidden = lpeg.S("~`!#$%^&*()={}[]:;\"\'||\\/<>,?\n\r\t") --~ local l_confusing = lpeg.P(" ") ---~ local l_character = lpeg.utf8 +--~ local l_character = lpeg.patterns.utf8 --~ local l_dangerous = lpeg.P(".") --~ local l_normal = (l_character - l_forbidden - l_confusing - l_dangerous) * (l_character - l_forbidden - l_confusing^2)^0 * lpeg.P(-1) @@ -1539,8 +1539,7 @@ end local function collect_instance_files(filename,collected) -- todo : plugin (scanners, checkers etc) local result = collected or { } local stamp = nil - filename = file.collapse_path(filename) -- elsewhere - filename = file.collapse_path(gsub(filename,"\\","/")) -- elsewhere + filename = file.collapse_path(filename) -- speed up / beware: format problem if instance.remember then stamp = filename .. "--" .. instance.engine .. "--" .. instance.progname .. "--" .. instance.format @@ -2021,7 +2020,7 @@ end function table.sequenced(t,sep) -- temp here local s = { } for k, v in pairs(t) do -- pairs? - s[#s+1] = k .. "=" .. v + s[#s+1] = k .. "=" .. tostring(v) end return concat(s, sep or " | ") end diff --git a/tex/context/base/font-syn.lua b/tex/context/base/font-syn.lua index 4b892ed8c..1d9bc64f5 100644 --- a/tex/context/base/font-syn.lua +++ b/tex/context/base/font-syn.lua @@ -671,7 +671,7 @@ local function analysefiles() end end if not trace_warnings then - logs.report("fontnames", "warnings are disables (tracker 'fonts.warnings')") + logs.report("fontnames", "warnings are disabled (tracker 'fonts.warnings')") end traverse("tree", function(suffix) -- TEXTREE only resolvers.with_files(".*%." .. suffix .. "$", function(method,root,path,name) diff --git a/tex/context/base/grph-inc.lua b/tex/context/base/grph-inc.lua index 7f786248e..574bece89 100644 --- a/tex/context/base/grph-inc.lua +++ b/tex/context/base/grph-inc.lua @@ -377,8 +377,8 @@ local function register(askedname,specification) end local newname = file.join(newpath,newbase) dir.makedirs(newpath) - oldname = dir.expand_name(oldname) - newname = dir.expand_name(newname) + oldname = file.collapse_path(oldname) + newname = file.collapse_path(newname) local oldtime = lfs.attributes(oldname,'modification') or 0 local newtime = lfs.attributes(newname,'modification') or 0 if oldtime > newtime then @@ -428,7 +428,7 @@ local function register(askedname,specification) return specification end -local resolve_too = true +local resolve_too = true -- urls local function locate(request) -- name, format, cache local askedname = resolvers.clean_path(request.name) @@ -544,7 +544,7 @@ local function locate(request) -- name, format, cache for _, format in ipairs(figures.order) do local list = figures.formats[format].list or { format } for _, suffix in ipairs(list) do ---~ local name = file.replacesuffix(askedbase,suffix) + -- local name = file.replacesuffix(askedbase,suffix) local name = file.replacesuffix(askedname,suffix) for _, path in ipairs(figures.paths) do local check = path .. "/" .. name @@ -553,7 +553,7 @@ local function locate(request) -- name, format, cache if trace_figures then commands.writestatus("figures","warning: skipping path %s",path) end - elseif figures.exists(check,format,resolve_too) then + elseif figures.exists(check,format,true) then return register(askedname, { askedname = askedname, fullname = check, diff --git a/tex/context/base/l-dir.lua b/tex/context/base/l-dir.lua index 3760db2c1..369895c43 100644 --- a/tex/context/base/l-dir.lua +++ b/tex/context/base/l-dir.lua @@ -323,7 +323,7 @@ else --~ print(dir.mkdirs("///a/b/c")) --~ print(dir.mkdirs("a/bbb//ccc/")) - function dir.expand_name(str) + function dir.expand_name(str) -- will be merged with cleanpath and collapsepath if not find(str,"^/") then str = lfs.currentdir() .. "/" .. str end diff --git a/tex/context/base/l-file.lua b/tex/context/base/l-file.lua index 2064fcdd1..0b2c96d8f 100644 --- a/tex/context/base/l-file.lua +++ b/tex/context/base/l-file.lua @@ -139,7 +139,9 @@ end -- we can hash them weakly function file.collapse_path(str) + str = gsub(str,"\\","/") if find(str,"/") then + str = gsub(str,"^%./",(gsub(lfs.currentdir(),"\\","/")) .. "/") -- ./xx in qualified str = gsub(str,"/%./","/") local n, m = 1, 1 while n > 0 or m > 0 do @@ -147,7 +149,7 @@ function file.collapse_path(str) str, m = gsub(str,"[^/%.]+/%.%./","") end str = gsub(str,"([^/])/$","%1") - str = gsub(str,"^%./","") + -- str = gsub(str,"^%./","") -- ./xx in qualified str = gsub(str,"/%.$","") end if str == "" then str = "." end diff --git a/tex/context/base/l-lpeg.lua b/tex/context/base/l-lpeg.lua index e7b319874..227b193da 100644 --- a/tex/context/base/l-lpeg.lua +++ b/tex/context/base/l-lpeg.lua @@ -160,8 +160,6 @@ end --~ --~ local decode_pattern = lpeg.Ct(utf8^0) * -1 - local cont = R("\128\191") -- continuation byte -lpeg.utf8 = R("\0\127") + R("\194\223") * cont + R("\224\239") * cont * cont + R("\240\244") * cont * cont * cont - +lpeg.patterns.utf8 = R("\0\127") + R("\194\223") * cont + R("\224\239") * cont * cont + R("\240\244") * cont * cont * cont diff --git a/tex/context/base/mlib-run.lua b/tex/context/base/mlib-run.lua index 73ce51c89..212b7b7f3 100644 --- a/tex/context/base/mlib-run.lua +++ b/tex/context/base/mlib-run.lua @@ -58,7 +58,7 @@ metapost.finder = finder metapost.parameters = { hash_size = 100000, - main_memory = 2500000, + main_memory = 4000000, max_in_open = 50, param_size = 100000, } diff --git a/tex/context/base/node-tra.lua b/tex/context/base/node-tra.lua index 3534e9719..39ff32209 100644 --- a/tex/context/base/node-tra.lua +++ b/tex/context/base/node-tra.lua @@ -8,7 +8,7 @@ if not modules then modules = { } end modules ['node-tra'] = { --[[ldx--

This is rather experimental. We need more control and some of this -might become a runtime module instead.

+might become a runtime module instead. This module will be cleaned up!

--ldx]]-- local utf = unicode.utf8 @@ -445,3 +445,20 @@ end --~ \stopluacode nodes.show_simple_list = function(h,depth) show_simple_list(h,depth,0) end + +function nodes.list_to_utf(h,joiner) + local joiner = (joiner ==true and utfchar(0x200C)) or joiner -- zwnj + local w = { } + while h do + if h.id == glyph then -- always true + w[#w+1] = utfchar(h.char) + if joiner then + w[#w+1] = joiner + end + else + w[#w+1] = "[-]" + end + h = h.next + end + return concat(w) +end diff --git a/tex/context/base/s-fnt-25.tex b/tex/context/base/s-fnt-25.tex index a71aaa330..a8b398716 100644 --- a/tex/context/base/s-fnt-25.tex +++ b/tex/context/base/s-fnt-25.tex @@ -44,7 +44,7 @@ \blank} \def\mathfontlistentryhexdectit#1#2#3% - {#1: \ruledhbox{\char#2}\enspace#3\par + {#1: \char#2\enspace\ruledhbox{\char#2}\enspace#3\par \advance\leftskip 1em\relax} \def\mathfontlistentrywdhtdpic#1#2#3#4% @@ -90,7 +90,8 @@ function document.showmathfont(id,slot) names[k] = (name and file.basename(name)) or v.id end end - print(table.serialize(names)) + local round = math.round +-- print(table.serialize(names)) for _, s in next, sorted do local char = characters[s] if char then @@ -98,7 +99,7 @@ function document.showmathfont(id,slot) local cnext, cvert_variants, choriz_variants = char.next, char.vert_variants, char.horiz_variants report("\\startmathfontlistentry") report("\\mathfontlistentryhexdectit{U+%05X}{%s}{%s}",s,s,string.lower(info.description or "no description, private to font")) - report("\\mathfontlistentrywdhtdpic{%s}{%s}{%s}{%s}",char.width or 0,char.height or 0,char.depth or 0,char.italic or 0) + report("\\mathfontlistentrywdhtdpic{%s}{%s}{%s}{%s}",round(char.width or 0),round(char.height or 0),round(char.depth or 0),round(char.italic or 0)) if virtual then local commands = char.commands if commands then diff --git a/tex/context/base/spec-fdf.mkii b/tex/context/base/spec-fdf.mkii index 5d180b38c..4bf4115c6 100644 --- a/tex/context/base/spec-fdf.mkii +++ b/tex/context/base/spec-fdf.mkii @@ -321,7 +321,17 @@ \addPDFdocumentinfo \to \everyfirstshipout -\def\PDFversion{1.\the\pdfminorversion} +\ifx\pdfminorversion\undefined + \ifx\pdfoptionpdfminorversion\undefined + \newcount\pdfminorversion + \else + \let\pdfminorversion\pdfoptionpdfminorversion + \fi +\fi + +\pdfminorversion=5 + +\def\PDFversion{1.\number\pdfminorversion} \appendtoksonce \def\PDFversion{1.\the\pdfminorversion}% diff --git a/tex/context/base/strc-itm.mkiv b/tex/context/base/strc-itm.mkiv index 423508930..6f3f5bb77 100644 --- a/tex/context/base/strc-itm.mkiv +++ b/tex/context/base/strc-itm.mkiv @@ -985,83 +985,6 @@ \fi \fi\fi} -% \def\dodolapitem -% {% todo: align+marge binnen de hbox -% \llap{\hbox to \itemgrouplistwidth{\ifconditional\sublistitem\llap{+\enspace}\fi -% \symalignleft -% \box\itemgroupitembox\hfil -% \hskip\getitemparameter\currentitemlevel\c!distance% T h -% }}} - -% \def\dolistitem % evt aantal items opslaan per niveau, scheelt zoeken -% {\ifconditional\textlistitem -% % begin of item -% \else -% \par -% \fi -% \advance\noflistelements\plusone -% \optimizelistitemsbreak -% \noindent -% \setbox\itemgroupitembox\hbox -% {\ifconditional\headlistitem -% \ifconditional\symbollistitem -% \dosetitemattributes\currentitemlevel\c!symstyle\c!symcolor{\symsymbol}% -% \else -% \dosetitemattributes\currentitemlevel\c!headstyle\c!headcolor{\listitem}% -% \fi -% \else -% \ifconditional\symbollistitem -% \dosetitemattributes\currentitemlevel\c!symstyle\c!symcolor{\symsymbol}% -% \else -% \dosetitemattributes\currentitemlevel\c!style\c!color{\listitem}% -% \fi -% \fi}% -% \ifconditional\fittinglistitems -% \ifdim\wd\itemgroupitembox>\getitemparameter\currentitemlevel\c!maxwidth sp\relax -% \xsetitemparameter\currentitemlevel\c!maxwidth{\number\wd\itemgroupitembox}% -% \fi -% \ifdim\currentitemmaxwidth>\zeropoint -% \setbox\itemgroupitembox\simplealignedbox{\getitemparameter\currentitemlevel\c!itemalign}{\currentitemmaxwidth}{\box\itemgroupitembox}% -% \fi -% \fi -% \doifsomething\doitemdestination -% {\setbox\itemgroupitembox\hbox{\directgotobox{\box\itemgroupitembox}[\doitemdestination]}}% -% \globallet\doitemdestination\empty -% \itemgroupaskedwidth\getitemparameter\currentitemlevel\c!width\relax -% % new, prevents loops when symbol is (not yet found) graphic -% \ht\itemgroupitembox\strutheight -% \dp\itemgroupitembox\strutdepth -% % so that content differs per run (esp mp graphics afterwards) -% \checkforrepeatedlistitem -% \ifdim\itemgroupaskedwidth<\zeropoint\relax -% \llap{\ifconditional\sublistitem\llap{+\enspace}\fi\box\itemgroupitembox\hskip\leftmargindistance}% -% \else -% \ifdim\itemgroupaskedwidth=\zeropoint\relax -% \calculatelistwidth1% -% \else -% \calculatelistwidth\currentitemlevel -% \fi -% \ifconditional\textlistitem -% \hbox{\ifconditional\sublistitem+\enspace\fi\box\itemgroupitembox\hskip\interwordspace}\nobreak -% \else\ifconditional\inlinelistitem -% \hbox to \itemgrouplistwidth{\ifconditional\sublistitem\llap{+\enspace}\fi\box\itemgroupitembox\hss}% was: \hfill -% \else\ifconditional\txtlistitem -% \dodotxtitem -% \else -% \dodolapitem -% \fi\fi\fi -% \fi -% \forceunexpanded % needed for m conversion (\os) / i need to look into this -% \setevalue{\@@currentitemsymbol\currentitemlevel}% -% {\getvalue{\@@localitemsymbol\currentitemlevel}}% still problems with \uchar ? -% %{\noexpand\getvalue{\@@localitemsymbol\currentitemlevel}}% no, spoils subrefs -% \resetunexpanded -% \setfalse\headlistitem -% \setfalse\sublistitem -% \setfalse\symbollistitem -% \EveryPar{\ignorespaces}% needed ? -% \ignorespaces} - \def\dodosubitem {\ifconditional\sublistitem\llap{+\enspace}\fi} @@ -1074,7 +997,7 @@ \hfil \hskip\getitemparameter\currentitemlevel\c!distance}}} -\def\dolistitem % evt aantal items opslaan per niveau, scheelt zoeken +\unprotected\def\dolistitem % evt aantal items opslaan per niveau, scheelt zoeken {\ifconditional\textlistitem % begin of item \else @@ -1082,7 +1005,8 @@ \fi \advance\noflistelements\plusone \optimizelistitemsbreak - \noindent + %\noindent %% WS: don't apply \noindent when the user sets 'first' in the indenting key + \checkindentation\ifindentfirstparagraph\indent\else\noindent\fi \setbox\itemgroupitembox\hbox {\ifconditional\headlistitem \ifconditional\symbollistitem @@ -1204,7 +1128,7 @@ \chardef\autoitemgroupspacing=2 % 0 = voor/na, 1=tussen als geen voor 2=(prev)tussen=old/normal -\def\complexdoitemgroupitem[#1]% +\unprotected\def\complexdoitemgroupitem[#1]% {\def\currentitemreference{#1}% \ifconditional\textlistitem % begin of item @@ -1239,7 +1163,11 @@ \fi \else \ifconditional\textlistitem % was bugged: \inlinelistitem - \removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax % new per 2006/10/20 + \ifhmode + % WS: make the distance between items customizable, think about better default values -> see itemize-1.tex + \normalexpanded{\doassigntextitemdistance{\getitemparameter\currentitemlevel\c!textdistance}}% HH: moved out and made configurable (sort of) + \removeunwantedspaces\hskip\textitemdistance\relax + \fi \else \iteminbetweencommand \fi @@ -1262,6 +1190,28 @@ \hskip\itemsignal % new, concat \getitemparameter\currentitemlevel\c!command} % \defaultitemcommand +% \startitemize[text][space=medium] +% \item one \item two \item three +% \stopitemize + +\setvalue{\??op:\??op:\c!textdistance:\v!none}% + {\let\textitemdistance\zeropoint} + +\def\doassigngiventextitemdistance#1% + {\assignvalue + {#1}% + \textitemdistance + {.5\interwordspace\!!plus.5\emwidth}% + {\interwordspace \!!plus \emwidth}% + {\emwidth \!!plus \interwordstretch\!!minus\interwordshrink}} + +\unexpanded\def\doassigntextitemdistance#1% + {\ifcsname\??op:\??op:\c!textdistance:#1\endcsname + \csname\??op:\??op:\c!textdistance:#1\endcsname + \else + \doassigngiventextitemdistance{#1}% + \fi} + \def\defaultitemcommand {\EveryPar{\ignorespaces}% needed ? \ignorespaces} @@ -1369,6 +1319,7 @@ \c!start=1, \c!criterium=\v!all, % permits 0 and negative numbers %\c!option=, + \c!textdistance=\v!big, \c!command=\defaultitemcommand, \c!symbol=\currentitemlevel] diff --git a/tex/context/base/strc-num.mkiv b/tex/context/base/strc-num.mkiv index 42f59c9e7..c5bad7224 100644 --- a/tex/context/base/strc-num.mkiv +++ b/tex/context/base/strc-num.mkiv @@ -203,7 +203,7 @@ \ctxlua{structure.counters.add("\@@thestructurecounter{#1}",1,1)}} \def\doincrementsubstructurecounter[#1][#2]% - {\docheckstructurecounterbypage{#1} + {\docheckstructurecounterbypage{#1}% \ctxlua{structure.counters.add("\@@thestructurecounter{#1}",#2,1)}} \def\convertedstructurecounter diff --git a/tex/context/base/trac-tra.lua b/tex/context/base/trac-tra.lua index 4c578fcee..5d15d5ad8 100644 --- a/tex/context/base/trac-tra.lua +++ b/tex/context/base/trac-tra.lua @@ -236,14 +236,14 @@ end function setters.enable(t,what) local e = t.enable t.enable, t.done = enable, { } - enable(t,string.simpleesc(what)) + enable(t,string.simpleesc(tostring(what))) t.enable, t.done = e, { } end function setters.disable(t,what) local e = t.disable t.disable, t.done = disable, { } - disable(t,string.simpleesc(what)) + disable(t,string.simpleesc(tostring(what))) t.disable, t.done = e, { } end diff --git a/tex/context/interface/cont-cs.xml b/tex/context/interface/cont-cs.xml index 106f50197..079606e99 100644 --- a/tex/context/interface/cont-cs.xml +++ b/tex/context/interface/cont-cs.xml @@ -6235,6 +6235,13 @@ + + + + + + + diff --git a/tex/context/interface/cont-de.xml b/tex/context/interface/cont-de.xml index f2ce1cfe5..bb011ddbc 100644 --- a/tex/context/interface/cont-de.xml +++ b/tex/context/interface/cont-de.xml @@ -6235,6 +6235,13 @@ + + + + + + + diff --git a/tex/context/interface/cont-en.xml b/tex/context/interface/cont-en.xml index 9d2319722..4c6ef7c7d 100644 --- a/tex/context/interface/cont-en.xml +++ b/tex/context/interface/cont-en.xml @@ -6235,6 +6235,13 @@ + + + + + + + diff --git a/tex/context/interface/cont-fr.xml b/tex/context/interface/cont-fr.xml index 2e38c3667..b07e97936 100644 --- a/tex/context/interface/cont-fr.xml +++ b/tex/context/interface/cont-fr.xml @@ -6235,6 +6235,13 @@ + + + + + + + diff --git a/tex/context/interface/cont-it.xml b/tex/context/interface/cont-it.xml index 94e61e619..fa86d2159 100644 --- a/tex/context/interface/cont-it.xml +++ b/tex/context/interface/cont-it.xml @@ -6235,6 +6235,13 @@ + + + + + + + diff --git a/tex/context/interface/cont-nl.xml b/tex/context/interface/cont-nl.xml index a337bbb6e..a4bd85c61 100644 --- a/tex/context/interface/cont-nl.xml +++ b/tex/context/interface/cont-nl.xml @@ -6235,6 +6235,13 @@ + + + + + + + diff --git a/tex/context/interface/cont-pe.xml b/tex/context/interface/cont-pe.xml index 9bcda97f7..cf6a91683 100644 --- a/tex/context/interface/cont-pe.xml +++ b/tex/context/interface/cont-pe.xml @@ -6235,6 +6235,13 @@ + + + + + + + diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml index 0e83841d3..44d72a866 100644 --- a/tex/context/interface/cont-ro.xml +++ b/tex/context/interface/cont-ro.xml @@ -6235,6 +6235,13 @@ + + + + + + + diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index 77600a7bd..3d4bf05e8 100644 --- a/tex/generic/context/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/texmf/tex/generic/context/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/texmf/tex/generic/context/luatex-fonts.lua --- merge date : 03/02/10 12:39:47 +-- merge date : 03/09/10 10:46:16 do -- begin closure to overcome local limits and interference @@ -456,11 +456,9 @@ end --~ --~ local decode_pattern = lpeg.Ct(utf8^0) * -1 - local cont = R("\128\191") -- continuation byte -lpeg.utf8 = R("\0\127") + R("\194\223") * cont + R("\224\239") * cont * cont + R("\240\244") * cont * cont * cont - +lpeg.patterns.utf8 = R("\0\127") + R("\194\223") * cont + R("\224\239") * cont * cont + R("\240\244") * cont * cont * cont end -- closure @@ -1577,7 +1575,9 @@ end -- we can hash them weakly function file.collapse_path(str) + str = gsub(str,"\\","/") if find(str,"/") then + str = gsub(str,"^%./",(gsub(lfs.currentdir(),"\\","/")) .. "/") -- ./xx in qualified str = gsub(str,"/%./","/") local n, m = 1, 1 while n > 0 or m > 0 do @@ -1585,7 +1585,7 @@ function file.collapse_path(str) str, m = gsub(str,"[^/%.]+/%.%./","") end str = gsub(str,"([^/])/$","%1") - str = gsub(str,"^%./","") + -- str = gsub(str,"^%./","") -- ./xx in qualified str = gsub(str,"/%.$","") end if str == "" then str = "." end -- cgit v1.2.3