diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2014-09-18 18:38:18 +0200 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2014-09-18 18:39:08 +0200 |
commit | f48e304b01274ba41faf59572b605c0f554a04d9 (patch) | |
tree | 882287ee361662d02b86ec4aef7f2cbf061152e2 | |
parent | 54a4ff05122bf940f997ed73810afd47b9d7712f (diff) | |
download | luaotfload-f48e304b01274ba41faf59572b605c0f554a04d9.tar.gz |
[fontloader] sync with Context as of 2014-09-18
-rw-r--r-- | src/luaotfload-fontloader.lua | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/luaotfload-fontloader.lua b/src/luaotfload-fontloader.lua index 660524e..d58fa5f 100644 --- a/src/luaotfload-fontloader.lua +++ b/src/luaotfload-fontloader.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 07/29/14 00:30:11 +-- merge date : 09/18/14 11:17:09 do -- begin closure to overcome local limits and interference @@ -2581,11 +2581,11 @@ function string.booleanstring(str) return str=="yes" or str=="on" or str=="t" end end -function string.is_boolean(str,default) +function string.is_boolean(str,default,strict) if type(str)=="string" then - if str=="true" or str=="yes" or str=="on" or str=="t" or str=="1" then + if str=="true" or str=="yes" or str=="on" or str=="t" or (not strict and str=="1") then return true - elseif str=="false" or str=="no" or str=="off" or str=="f" or str=="0" then + elseif str=="false" or str=="no" or str=="off" or str=="f" or (not strict and str=="0") then return false end end @@ -2940,7 +2940,7 @@ local format_f=function(f) n=n+1 return format("format('%%%sf',a%s)",f,n) end -local format_F=function() +local format_F=function(f) n=n+1 if not f or f=="" then return format("(((a%s > -0.0000000005 and a%s < 0.0000000005) and '0') or format((a%s %% 1 == 0) and '%%i' or '%%.9f',a%s))",n,n,n,n) @@ -3173,7 +3173,6 @@ local builder=Cs { "start", +V("j")+V("J") +V("m")+V("M") +V("z") -+V("*") )+V("*") )*(P(-1)+Carg(1)) )^0, @@ -3217,6 +3216,7 @@ local builder=Cs { "start", ["a"]=(prefix_any*P("a"))/format_a, ["A"]=(prefix_any*P("A"))/format_A, ["*"]=Cs(((1-P("%"))^1+P("%%")/"%%")^1)/format_rest, + ["?"]=Cs(((1-P("%"))^1 )^1)/format_rest, ["!"]=Carg(2)*prefix_any*P("!")*C((1-P("!"))^1)*P("!")/format_extension, } local direct=Cs ( |