diff options
Diffstat (limited to 'tex/generic')
| -rw-r--r-- | tex/generic/context/luatex/luatex-fonts-merged.lua | 90 | ||||
| -rw-r--r-- | tex/generic/context/luatex/luatex-languages.lua | 2 | 
2 files changed, 53 insertions, 39 deletions
| diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index a6a0a2e87..a7b4d64ee 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  : 03/29/13 01:03:45 +-- merge date  : 04/01/13 14:16:57  do -- begin closure to overcome local limits and interference @@ -82,6 +82,7 @@ function optionalrequire(...)      return result    end  end +local type=type  local gsub,format=string.gsub,string.format  local package=package  local searchers=package.searchers or package.loaders @@ -113,45 +114,38 @@ local function getclibpaths()  end  package.libpaths=getlibpaths  package.clibpaths=getclibpaths -function package.extralibpath(...) -  libpaths=getlibpaths() +local function addpath(what,paths,extras,hash,...)    local pathlist={... }    local cleanpath=helpers.cleanpath    local trace=helpers.trace    local report=helpers.report -  for p=1,#pathlist do -    local paths=pathlist[p] -    for i=1,#paths do -      local path=cleanpath(paths[i]) -      if not libhash[path] then -        if trace then -          report("! extra lua path: %s",path) -        end -        libextras[#libextras+1]=path -        libpaths [#libpaths+1]=path +  local function add(path) +    local path=cleanpath(path) +    if not hash[path] then +      if trace then +        report("! extra %s path: %s",what,path)        end +      paths [#paths+1]=path +      extras[#extras+1]=path      end    end -end -function package.extraclibpath(...) -  clibpaths=getclibpaths() -  local pathlist={... } -  local cleanpath=helpers.cleanpath -  local trace=helpers.trace -  local report=helpers.report    for p=1,#pathlist do -    local paths=pathlist[p] -    for i=1,#paths do -      local path=cleanpath(paths[i]) -      if not clibhash[path] then -        if trace then -          report("! extra lib path: %s",path) -        end -        clibextras[#clibextras+1]=path -        clibpaths [#clibpaths+1]=path +    local path=pathlist[p] +    if type(path)=="table" then +      for i=1,#path do +        add(path[i])        end +    else +      add(path)      end    end +  return paths,extras +end +function package.extralibpath(...) +   libpaths,libextras=addpath("lua",getlibpaths(),libextras,libhash,...) +end +function package.extraclibpath(...) +  clibpaths,clibextras=addpath("lib",getclibpaths(),clibextras,clibhash,...)  end  if not searchers[-2] then    searchers[-2]=searchers[2] @@ -159,14 +153,19 @@ end  searchers[2]=function(name)    return helpers.loaded(name)  end +searchers[3]=nil   local function loadedaslib(resolved,rawname) -  return package.loadlib(resolved,"luaopen_"..gsub(rawname,"%.","_")) +  local init="luaopen_"..gsub(rawname,"%.","_") +  if helpers.trace then +    helpers.report("! calling loadlib with '%s' with init '%s'",resolved,init) +  end +  return package.loadlib(resolved,init)  end  local function loadedbylua(name)    if helpers.trace then      helpers.report("! locating '%s' using normal loader",name)    end -  return searchers[-2](name) +  return true,searchers[-2](name)   end  local function loadedbypath(name,rawname,paths,islib,what)    local trace=helpers.trace @@ -185,9 +184,9 @@ local function loadedbypath(name,rawname,paths,islib,what)          report("! lib '%s' located on '%s'",name,resolved)        end        if islib then -        return loadedaslib(resolved,rawname) +        return true,loadedaslib(resolved,rawname)        else -        return loadfile(resolved) +        return true,loadfile(resolved)        end      end    end @@ -207,11 +206,23 @@ function helpers.loaded(name)    local libname=addsuffix(thename,os.libsuffix or "so")     local libpaths=getlibpaths()    local clibpaths=getclibpaths() -  return loadedbypath(luaname,name,libpaths,false,"lua") -    or loadedbypath(luaname,name,clibpaths,false,"lua") -    or loadedbypath(libname,name,clibpaths,true,"lib") -    or loadedbylua(name) -    or notloaded(name) +  local done,result=loadedbypath(luaname,name,libpaths,false,"lua") +  if done then +    return result +  end +  local done,result=loadedbypath(luaname,name,clibpaths,false,"lua") +  if done then +    return result +  end +  local done,result=loadedbypath(libname,name,clibpaths,true,"lib") +  if done then +    return result +  end +  local done,result=loadedbylua(name) +  if done then +    return result +  end +  return notloaded(name)  end  end -- closure @@ -10780,6 +10791,9 @@ function definers.read(specification,size,id)    statistics.stoptiming(fonts)    return tfmdata  end +function font.getfont(id) +  return fontdata[id]  +end  callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)")  end -- closure diff --git a/tex/generic/context/luatex/luatex-languages.lua b/tex/generic/context/luatex/luatex-languages.lua index 712118dbc..1ea8c1fd1 100644 --- a/tex/generic/context/luatex/luatex-languages.lua +++ b/tex/generic/context/luatex/luatex-languages.lua @@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['luatex-languages'] = {      license   = "see context related readme files"  } --- We borrow fron ConTeXt. +-- We borrow from ConTeXt.  languages = languages or { } | 
