summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-21 23:05:09 +0000
committerKarl Berry <karl@freefriends.org>2013-05-21 23:05:09 +0000
commit3bc62343398c79b4222c8e853f58bf28def508df (patch)
tree400a2807c937ee9c0e8f2d3356bb1848e41dba80 /Master/texmf-dist/tex/latex
parentd543e9db99b507da1878899c0efc4586ed6edb14 (diff)
fontspec (21may13)
git-svn-id: svn://tug.org/texlive/trunk@30618 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty20
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec-patches.sty2
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty16
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec.lua137
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec.sty4
5 files changed, 23 insertions, 156 deletions
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
index 8fba89c97e5..4758f213f0c 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
@@ -14,7 +14,7 @@
%%
%%
\ProvidesPackage{fontspec-luatex}
- [2013/05/12 v2.3b Font selection for XeLaTeX and LuaLaTeX]
+ [2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX]
\ExplSyntaxOn
@@ -903,8 +903,7 @@
{
\bool_set_false:N \l_fontspec_icu_bool
\bool_set_true:N \l_fontspec_firsttime_bool
- \cs_set:Npn \fontspec_namewrap:n ##1
- { name:##1 }
+ \cs_set:Npn \fontspec_namewrap:n ##1 { ##1 }
\tl_clear:N \l_fontspec_optical_size_tl
\tl_clear:N \l_fontspec_renderer_tl
\tl_clear:N \l_fontspec_defined_shapes_tl
@@ -964,7 +963,7 @@
\fontspec_check_ot_feat:nTF {#1}
{
\fontspec_update_fontid:n {#1=#2}
- \fontspec_update_featstr:n { #1 = \int_eval:n {#2+1} }
+ \fontspec_update_featstr:n { #1 = #2 }
}
{ \fontspec_warning:nx {icu-feature-not-exist-in-font} {#1} }
}
@@ -1078,8 +1077,7 @@
\bool_set_true:N \l_fontspec_nobf_bool
\bool_set_true:N \l_fontspec_noit_bool
\bool_set_true:N \l_fontspec_external_bool
- \cs_gset:Npn \fontspec_namewrap:n ##1
- { file: #1 ##1 }
+ \cs_gset:Npn \fontspec_namewrap:n ##1 { [ #1 ##1 ] }
}
\aliasfontfeature{ExternalLocation}{Path}
\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {Extension}
@@ -1603,8 +1601,7 @@
{ \fontspec_make_feature:nnx {17}{##1} { \fontspec_salt:n {##1} } }
}
}
-\cs_set:Nn \fontspec_salt:n
- { +salt = \int_eval:n {#1+1} }
+\cs_set:Nn \fontspec_salt:n { +salt = #1 }
\fontspec_define_font_feature:n {Variant}
\keys_define:nn {fontspec}
{
@@ -1641,12 +1638,12 @@
{
ScriptStyle .code:n =
{
- \fontspec_update_fontid:n {+ssty=1}
+ \fontspec_update_fontid:n {+ssty=0}
\fontspec_update_featstr:n{+sstyle}
},
ScriptScriptStyle .code:n =
{
- \fontspec_update_fontid:n {+ssty=2}
+ \fontspec_update_fontid:n {+ssty=1}
\fontspec_update_featstr:n{+ssstyle}
}
}
@@ -1699,8 +1696,7 @@
Annotation .default:n = {0} ,
Annotation / unknown .code:n =
{
- \fontspec_make_feature:nnx {}{}
- { +nalt= \int_eval:n {#1+1} }
+ \fontspec_make_feature:nnx {}{}{ +nalt=#1 }
}
}
\keys_define:nn {fontspec}
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-patches.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-patches.sty
index 49c24813be7..98b152f2117 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-patches.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-patches.sty
@@ -14,7 +14,7 @@
%%
%%
\ProvidesPackage{fontspec-patches}
- [2013/05/12 v2.3b Font selection for XeLaTeX and LuaLaTeX]
+ [2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX]
\RequirePackage{fixltx2e}[2006/03/24]
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
index ea1d1d2a609..c392b552f6c 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
@@ -14,7 +14,7 @@
%%
%%
\ProvidesPackage{fontspec-xetex}
- [2013/05/12 v2.3b Font selection for XeLaTeX and LuaLaTeX]
+ [2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX]
\ExplSyntaxOn
@@ -924,8 +924,7 @@
{
\bool_set_false:N \l_fontspec_icu_bool
\bool_set_true:N \l_fontspec_firsttime_bool
- \cs_set:Npn \fontspec_namewrap:n ##1
- { ##1 }
+ \cs_set:Npn \fontspec_namewrap:n ##1 { ##1 }
\tl_clear:N \l_fontspec_optical_size_tl
\tl_clear:N \l_fontspec_renderer_tl
\tl_clear:N \l_fontspec_defined_shapes_tl
@@ -995,7 +994,7 @@
\fontspec_check_ot_feat:nTF {#1}
{
\fontspec_update_fontid:n {#1=#2}
- \fontspec_update_featstr:n { #1 = #2 }
+ \fontspec_update_featstr:n { #1 = #2 }
}
{ \fontspec_warning:nx {icu-feature-not-exist-in-font} {#1} }
}
@@ -1143,8 +1142,7 @@
\bool_set_true:N \l_fontspec_nobf_bool
\bool_set_true:N \l_fontspec_noit_bool
\bool_set_true:N \l_fontspec_external_bool
- \cs_gset:Npn \fontspec_namewrap:n ##1
- { [ #1 ##1 ] }
+ \cs_gset:Npn \fontspec_namewrap:n ##1 { [ #1 ##1 ] }
\keys_set:nn {fontspec-renderer} {Renderer=ICU}
}
\aliasfontfeature{ExternalLocation}{Path}
@@ -1682,8 +1680,7 @@
{ \fontspec_make_feature:nnx {17}{##1} { \fontspec_salt:n {##1} } }
}
}
-\cs_set:Nn \fontspec_salt:n
- { +salt = #1 }
+\cs_set:Nn \fontspec_salt:n { +salt = #1 }
\fontspec_define_font_feature:n {Variant}
\keys_define:nn {fontspec}
{
@@ -1778,8 +1775,7 @@
Annotation .default:n = {0} ,
Annotation / unknown .code:n =
{
- \fontspec_make_feature:nnx {}{}
- { +nalt=#1 }
+ \fontspec_make_feature:nnx {}{}{ +nalt=#1 }
}
}
\keys_define:nn {fontspec}
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.lua b/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
index 9bbb1c78260..94a9479d4e7 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
@@ -19,8 +19,8 @@ fontspec = fontspec or {}
local fontspec = fontspec
fontspec.module = {
name = "fontspec",
- version = 2.4,
- date = "2013/05/12",
+ version = "2.3c",
+ date = "2013/05/20",
description = "Advanced font selection for LuaLaTeX.",
author = "Khaled Hosny, Philipp Gesang",
copyright = "Khaled Hosny, Philipp Gesang",
@@ -36,79 +36,9 @@ fontspec.error = err
function fontspec.sprint (...)
tex.sprint(luatexbase.catcodetables['latex-package'], ...)
end
-local luaotfload_aux
-if luaotfload and luaotfload.aux and luaotfload.aux.slot_of_name then
- luaotfload_aux = true
-else
- luaotfload_aux = false
-end
-
-local check_script, check_language, check_feature, ids
-
-if luaotfload_aux then
- check_script = luaotfload.aux.provides_script
- check_language = luaotfload.aux.provides_language
- check_feature = luaotfload.aux.provides_feature
-else
- ids = fonts.identifiers or fonts.ids or fonts.hashes.identifiers -- first two are for backward compatibility
- function check_script(id, script)
- local s = string.lower(script)
- if id and id > 0 then
- local otfdata = ids[id].shared.rawdata
- if otfdata then
- local features = otfdata.resources.features
- for i,_ in pairs(features) do
- for j,_ in pairs(features[i]) do
- if features[i][j][s] then
- fontspec.log("script '%s' exists in font '%s'",
- script, ids[id].fullname)
- return true
- end
- end
- end
- end
- end
- end
- function check_language(id, script, language)
- local s = string.lower(script)
- local l = string.lower(language)
- if id and id > 0 then
- local otfdata = ids[id].shared.rawdata
- if otfdata then
- local features = otfdata.resources.features
- for i,_ in pairs(features) do
- for j,_ in pairs(features[i]) do
- if features[i][j][s] and features[i][j][s][l] then
- fontspec.log("language '%s' for script '%s' exists in font '%s'",
- language, script, ids[id].fullname)
- return true
- end
- end
- end
- end
- end
- end
- function check_feature(id, script, language, feature)
- local s = string.lower(script)
- local l = string.lower(language)
- local f = string.lower(feature:gsub("^[+-]", ""):gsub("=.*$", ""))
- if id and id > 0 then
- local otfdata = ids[id].shared.rawdata
- if otfdata then
- local features = otfdata.resources.features
- for i,_ in pairs(features) do
- if features[i][f] and features[i][f][s] then
- if features[i][f][s][l] == true then
- fontspec.log("feature '%s' for language '%s' and script '%s' exists in font '%s'",
- feature, language, script, ids[id].fullname)
- return true
- end
- end
- end
- end
- end
- end
-end
+local check_script = luaotfload.aux.provides_script
+local check_language = luaotfload.aux.provides_language
+local check_feature = luaotfload.aux.provides_feature
local function tempswatrue() fontspec.sprint([[\@tempswatrue]]) end
local function tempswafalse() fontspec.sprint([[\@tempswafalse]]) end
function fontspec.check_ot_script(fnt, script)
@@ -138,19 +68,7 @@ function fontspec.check_ot_feat(fnt, feat, lang, script)
tempswafalse()
end
end
-local get_math_dimension
-if luaotfload_aux then
- get_math_dimension = luaotfload.aux.get_math_dimension
-else
- get_math_dimension = function(fnt, str)
- local mathdimens = ids[font.id(fnt)].MathConstants
- if mathdimens then
- return mathdimens[str]
- else
- return nil
- end
- end
-end
+local get_math_dimension = luaotfload.aux.get_math_dimension
function fontspec.mathfontdimen(fnt, str)
local mathdimens = get_math_dimension(fnt, str)
if mathdimens then
@@ -160,49 +78,6 @@ function fontspec.mathfontdimen(fnt, str)
fontspec.sprint("0pt")
end
end
-if not luaotfload_aux then
- local function set_capheight(fontdata)
- local capheight
- local shared = fontdata.shared
- if shared then
- local metadata
- local units_per_em
- local os2_capheight
- local size = fontdata.size or fontdata.parameters.size
-
- if shared.rawdata then --- new otfl
- metadata = shared.rawdata.metadata
- units_per_em = shared.rawdata.metadata.units_per_em
- os2_capheight = metadata.pfminfo.os2_capheight
- else --- legacy
- metadata = shared.otfdata.metadata
- units_per_em = fontdata.units_per_em or fontdata.units
- or fontdata.parameters.units
- os2_capheight = shared.otfdata.pfminfo.os2_capheight
- end
-
- if os2_capheight > 0 then
- capheight = os2_capheight / units_per_em * size
- else
- local X8 = string.byte"X"
- if fontdata.characters[X8] then
- capheight = fontdata.characters[X8].height
- else
- capheight = metadata.ascent / units_per_em * size
- end
- end
- else
- local X8 = string.byte"X"
- if fontdata.characters[X8] then
- capheight = fontdata.characters[X8].height
- end
- end
- if capheight then
- fontdata.parameters[8] = capheight
- end
- end
- luatexbase.add_to_callback("luaotfload.patch_font", set_capheight, "fontspec.set_capheight")
-end
--
-- Copyright 2004--2013 Will Robertson <wspr81@gmail.com>
-- Copyright 2009--2013 Khaled Hosny <khaledhosny@eglug.org>
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty
index 88392e43ba9..e8a7d357965 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty
@@ -14,7 +14,7 @@
%%
%%
\ProvidesPackage{fontspec}
- [2013/05/12 v2.3b Font selection for XeLaTeX and LuaLaTeX]
+ [2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX]
\RequirePackage{expl3}[2011/09/05]
@@ -32,7 +32,7 @@
{
\luatex_if_engine:TF
{
- \RequirePackage{luaotfload}[2011/10/06]
+ \RequirePackage{luaotfload}[2013/05/20]
\RequireLuaModule{fontspec}
}
{