summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2012-04-25 19:00:14 +0300
committerMarius <mariausol@gmail.com>2012-04-25 19:00:14 +0300
commitc7921b422428aa7845f2f88ec5f1b70a676d1e06 (patch)
treeddf909ec0ed91114c0719c32432d8879e5fd807a /tex/context/base
parentb83d7a9ca8e8efc730390d17ee07fec98397cb70 (diff)
downloadcontext-c7921b422428aa7845f2f88ec5f1b70a676d1e06.tar.gz
beta 2012.04.25 17:29
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/colo-ini.mkiv5
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4074 -> 4074 bytes
-rw-r--r--tex/context/base/context-version.pngbin106269 -> 105987 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/core-con.mkiv9
-rw-r--r--tex/context/base/lpdf-col.lua59
-rw-r--r--tex/context/base/lpdf-grp.lua9
-rw-r--r--tex/context/base/lpdf-ini.lua14
-rw-r--r--tex/context/base/mult-de.mkii1
-rw-r--r--tex/context/base/mult-def.lua4
-rw-r--r--tex/context/base/mult-en.mkii1
-rw-r--r--tex/context/base/mult-fr.mkii1
-rw-r--r--tex/context/base/mult-it.mkii1
-rw-r--r--tex/context/base/mult-low.lua2
-rw-r--r--tex/context/base/mult-nl.mkii1
-rw-r--r--tex/context/base/mult-pe.mkii1
-rw-r--r--tex/context/base/mult-ro.mkii1
-rw-r--r--tex/context/base/mult-sys.mkiv2
-rw-r--r--tex/context/base/status-files.pdfbin24299 -> 24309 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin173047 -> 173212 bytes
-rw-r--r--tex/context/base/type-fbk.mkiv78
-rw-r--r--tex/context/base/type-imp-averia.mkiv74
-rw-r--r--tex/context/base/type-set.mkiv2
26 files changed, 204 insertions, 69 deletions
diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv
index 603dcdae2..164b39262 100644
--- a/tex/context/base/colo-ini.mkiv
+++ b/tex/context/base/colo-ini.mkiv
@@ -245,6 +245,10 @@
\ifconditional\c_colo_rgb_supported \colo_helpers_show_message\m!colors9\v!rgb \fi
\ifconditional\c_colo_cmyk_supported\colo_helpers_show_message\m!colors9\v!cmyk\fi
\colo_helpers_set_current_model
+ \ifproductionrun
+ \edef\p_pagecolormodel{\directcolorsparameter\c!pagecolormodel}%
+ \ctxcommand{synchronizecolormodel("\ifx\p_pagecolormodel\v!auto \currentcolormodel \else \p_pagecolormodel \fi")}%
+ \fi
\to \everysetupcolors
\appendtoks
@@ -949,6 +953,7 @@
\c!rgb=\v!yes,
\c!cmyk=\v!yes,
\c!spot=\v!yes,
+ \c!pagecolormodel=\v!none,
\c!expansion=\v!no,
\c!textcolor=,
\c!factor=\v!yes]
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index fc75c1445..ed1570142 100644
--- a/tex/context/base/cont-new.mkii
+++ b/tex/context/base/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2012.04.23 21:34}
+\newcontextversion{2012.04.25 17:29}
%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/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index 24e84ce42..5c0e28728 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{2012.04.23 21:34}
+\newcontextversion{2012.04.25 17:29}
%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-version.pdf b/tex/context/base/context-version.pdf
index fb49ace64..886694098 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index 021aab6a3..6b0c3e583 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index 8321e1f23..92e318a15 100644
--- a/tex/context/base/context.mkii
+++ b/tex/context/base/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2012.04.23 21:34}
+\edef\contextversion{2012.04.25 17:29}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index ebbd3bf29..b40f857b9 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -23,7 +23,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2012.04.23 21:34}
+\edef\contextversion{2012.04.25 17:29}
%D For those who want to use this:
diff --git a/tex/context/base/core-con.mkiv b/tex/context/base/core-con.mkiv
index 1b319d7a6..301b56612 100644
--- a/tex/context/base/core-con.mkiv
+++ b/tex/context/base/core-con.mkiv
@@ -17,8 +17,8 @@
\unprotect
-\ifx\currentlanguage\undefined \let\currentlanguage\empty \fi
-\ifx\labeltext \undefined \let\labeltext\firstofoneargument \fi
+\ifdefined\currentlanguage \else \let\currentlanguage\empty \fi
+\ifdefined\labeltext \else \let\labeltext \firstofoneargument \fi
%D This module deals with all kind of conversions from numbers
%D and dates. I considered splitting this module in a support
@@ -36,7 +36,7 @@
% needed for arab :
-\def\isolateseparators % even works with list separator overloading
+\unexpanded\def\isolateseparators % even works with list separator overloading
{\def\spr##1{{##1}}%
\def\stp##1{{##1}}}
@@ -560,6 +560,9 @@
3\fi\fi
\endcsname{#1}{\number#2}}
+\unexpanded\def\uconvertnumber % unexpandable
+ {\convertnumber}
+
\setvalue{\??conversionarguments1}#1{\csname\??conversion\currentlanguage#1\endcsname}
\setvalue{\??conversionarguments2}#1{\csname\??conversion #1\endcsname}
\letvalue{\??conversionarguments3}\syst_converters_checked_conversion
diff --git a/tex/context/base/lpdf-col.lua b/tex/context/base/lpdf-col.lua
index 85f719c40..227878b5b 100644
--- a/tex/context/base/lpdf-col.lua
+++ b/tex/context/base/lpdf-col.lua
@@ -38,6 +38,56 @@ local colorsvalue = colors.value
local transparenciesvalue = transparencies.value
local forcedmodel = colors.forcedmodel
+-- page groups (might move to lpdf-ini.lua)
+
+local colorspaceconstants = { -- v_none is ignored
+ gray = pdfconstant("DeviceGray"),
+ rgb = pdfconstant("DeviceRGB"),
+ cmyk = pdfconstant("DeviceCMYK"),
+ all = pdfconstant("DeviceRGB"), -- brr
+}
+
+local transparencygroups = { }
+
+lpdf.colorspaceconstants = colorspaceconstants
+lpdf.transparencygroups = transparencygroups
+
+table.setmetatableindex(transparencygroups, function(transparencygroups,colormodel)
+ local cs = colorspaceconstants[colormodel]
+ if cs then
+ local g = pdfreference(pdfflushobject(pdfdictionary {
+ S = pdfconstant("Transparency"),
+ CS = cs,
+ I = true,
+ }))
+ transparencygroups[colormodel] = g
+ return g
+ else
+ transparencygroups[colormodel] = false
+ return false
+ end
+end)
+
+local currentgroupcolormodel
+
+local function addpagegroup()
+ if currentgroupcolormodel then
+ local g = transparencygroups[currentgroupcolormodel]
+ if g then
+ lpdf.addtopageattributes("Group",g)
+ end
+ end
+end
+
+lpdf.registerpagefinalizer(addpagegroup,3,"pagegroup")
+
+local function synchronizecolormodel(model)
+ currentgroupcolormodel = model
+end
+
+backends.codeinjections.synchronizecolormodel = synchronizecolormodel
+commands.synchronizecolormodel = synchronizecolormodel
+
-- injection code (needs a bit reordering)
-- color injection
@@ -363,7 +413,7 @@ local transparencies = { [0] =
local documenttransparencies = { }
local transparencyhash = { } -- share objects
-local done = false
+local done, signaled = false, false
function registrations.transparency(n,a,t)
if not done then
@@ -397,6 +447,13 @@ function registrations.transparency(n,a,t)
end
end
+statistics.register("page group warning", function()
+ if done and not transparencygroups[currentgroupcolormodel] then
+ return format("transparencies are used but no pagecolormodel is set")
+ end
+end)
+
+
-- Literals needed to inject code in the mp stream, we cannot use attributes there
-- since literals may have qQ's, much may go away once we have mplib code in place.
--
diff --git a/tex/context/base/lpdf-grp.lua b/tex/context/base/lpdf-grp.lua
index 20946ca4a..aba5771fd 100644
--- a/tex/context/base/lpdf-grp.lua
+++ b/tex/context/base/lpdf-grp.lua
@@ -90,13 +90,8 @@ function nodeinjections.injectbitmap(t)
colorspace = "cmyk"
end
end
- if colorspace == "gray" then
- colorspace = pdfconstant("DeviceGray")
- elseif colorspace == "rgb" then
- colorspace = pdfconstant("DeviceRGB")
- elseif colorspace == "cmyk" then
- colorspace = pdfconstant("DeviceCMYK")
- else
+ colorspace = lpdf.colorspaceconstants[colorspace]
+ if not colorspace then
return -- fatal error
end
local d = pdfdictionary {
diff --git a/tex/context/base/lpdf-ini.lua b/tex/context/base/lpdf-ini.lua
index 8e54666be..88999358c 100644
--- a/tex/context/base/lpdf-ini.lua
+++ b/tex/context/base/lpdf-ini.lua
@@ -806,17 +806,3 @@ if not pdfreferenceobject then
end
end
-
--- -- Maybe this will be an option (suggested on the mailing list by Peter Rolf):
---
--- function backends.codeinjections.rgbtransparencygroup()
--- local d = lpdf.dictionary {
--- S = lpdf.constant("Transparency"),
--- CS = lpdf.constant("DeviceRGB"),
--- I = true
--- }
--- lpdf.registerpagefinalizer(function()
--- lpdf.addtopageattributes("Group",d) end)
--- end
---
--- backends.codeinjections.rgbtransparencygroup()
diff --git a/tex/context/base/mult-de.mkii b/tex/context/base/mult-de.mkii
index e99d1fade..50090261b 100644
--- a/tex/context/base/mult-de.mkii
+++ b/tex/context/base/mult-de.mkii
@@ -849,6 +849,7 @@
\setinterfaceconstant{page}{seite}
\setinterfaceconstant{pageboundaries}{seitenbegrenzung}
\setinterfaceconstant{pagecolor}{seitenfarbe}
+\setinterfaceconstant{pagecolormodel}{pagecolormodel}
\setinterfaceconstant{pagecommand}{seitenbefehl}
\setinterfaceconstant{pageconversion}{pageconversion}
\setinterfaceconstant{pageconversionset}{pageconversionset}
diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua
index c7793ca81..9be9f1f19 100644
--- a/tex/context/base/mult-def.lua
+++ b/tex/context/base/mult-def.lua
@@ -9279,6 +9279,10 @@ return {
["pe"]="رنگ‌صفحه",
["ro"]="culoarepagina",
},
+ ["pagecolormodel"]={
+ ["en"]="pagecolormodel",
+ ["nl"]="paginakleurmodel",
+ },
["pagecommand"]={
["cs"]="strankovyprikaz",
["de"]="seitenbefehl",
diff --git a/tex/context/base/mult-en.mkii b/tex/context/base/mult-en.mkii
index 9745daad2..78bcc3650 100644
--- a/tex/context/base/mult-en.mkii
+++ b/tex/context/base/mult-en.mkii
@@ -849,6 +849,7 @@
\setinterfaceconstant{page}{page}
\setinterfaceconstant{pageboundaries}{pageboundaries}
\setinterfaceconstant{pagecolor}{pagecolor}
+\setinterfaceconstant{pagecolormodel}{pagecolormodel}
\setinterfaceconstant{pagecommand}{pagecommand}
\setinterfaceconstant{pageconversion}{pageconversion}
\setinterfaceconstant{pageconversionset}{pageconversionset}
diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii
index d1c5091c3..5c7588aa5 100644
--- a/tex/context/base/mult-fr.mkii
+++ b/tex/context/base/mult-fr.mkii
@@ -849,6 +849,7 @@
\setinterfaceconstant{page}{page}
\setinterfaceconstant{pageboundaries}{limitespage}
\setinterfaceconstant{pagecolor}{couleurpage}
+\setinterfaceconstant{pagecolormodel}{pagecolormodel}
\setinterfaceconstant{pagecommand}{commandepage}
\setinterfaceconstant{pageconversion}{pageconversion}
\setinterfaceconstant{pageconversionset}{pageconversionset}
diff --git a/tex/context/base/mult-it.mkii b/tex/context/base/mult-it.mkii
index 26db716e3..5b640cd25 100644
--- a/tex/context/base/mult-it.mkii
+++ b/tex/context/base/mult-it.mkii
@@ -849,6 +849,7 @@
\setinterfaceconstant{page}{pagina}
\setinterfaceconstant{pageboundaries}{limitipagina}
\setinterfaceconstant{pagecolor}{colorepagina}
+\setinterfaceconstant{pagecolormodel}{pagecolormodel}
\setinterfaceconstant{pagecommand}{comandopagina}
\setinterfaceconstant{pageconversion}{pageconversion}
\setinterfaceconstant{pageconversionset}{pageconversionset}
diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua
index 9690f6c47..794a1f6de 100644
--- a/tex/context/base/mult-low.lua
+++ b/tex/context/base/mult-low.lua
@@ -206,7 +206,7 @@ return {
"resetvalue", "undefinevalue", "ignorevalue",
"setuvalue", "setuevalue", "setugvalue", "setuxvalue",
"globallet", "glet",
- "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters",
+ "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters",
--
"processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist",
"processaction", "processallactions", "processfirstactioninset", "processallactionsinset",
diff --git a/tex/context/base/mult-nl.mkii b/tex/context/base/mult-nl.mkii
index b962e8fcf..769f77a96 100644
--- a/tex/context/base/mult-nl.mkii
+++ b/tex/context/base/mult-nl.mkii
@@ -849,6 +849,7 @@
\setinterfaceconstant{page}{pagina}
\setinterfaceconstant{pageboundaries}{paginaovergangen}
\setinterfaceconstant{pagecolor}{paginakleur}
+\setinterfaceconstant{pagecolormodel}{paginakleurmodel}
\setinterfaceconstant{pagecommand}{paginacommando}
\setinterfaceconstant{pageconversion}{pageconversion}
\setinterfaceconstant{pageconversionset}{pageconversionset}
diff --git a/tex/context/base/mult-pe.mkii b/tex/context/base/mult-pe.mkii
index 713b15a47..5bb63d4a0 100644
--- a/tex/context/base/mult-pe.mkii
+++ b/tex/context/base/mult-pe.mkii
@@ -849,6 +849,7 @@
\setinterfaceconstant{page}{صفحه}
\setinterfaceconstant{pageboundaries}{مرزهای‌صفحه}
\setinterfaceconstant{pagecolor}{رنگ‌صفحه}
+\setinterfaceconstant{pagecolormodel}{pagecolormodel}
\setinterfaceconstant{pagecommand}{فرمان‌صفحه}
\setinterfaceconstant{pageconversion}{pageconversion}
\setinterfaceconstant{pageconversionset}{pageconversionset}
diff --git a/tex/context/base/mult-ro.mkii b/tex/context/base/mult-ro.mkii
index 5ff6e0980..a18d2d19d 100644
--- a/tex/context/base/mult-ro.mkii
+++ b/tex/context/base/mult-ro.mkii
@@ -849,6 +849,7 @@
\setinterfaceconstant{page}{pagina}
\setinterfaceconstant{pageboundaries}{marginipagina}
\setinterfaceconstant{pagecolor}{culoarepagina}
+\setinterfaceconstant{pagecolormodel}{pagecolormodel}
\setinterfaceconstant{pagecommand}{comandapagina}
\setinterfaceconstant{pageconversion}{pageconversion}
\setinterfaceconstant{pageconversionset}{pageconversionset}
diff --git a/tex/context/base/mult-sys.mkiv b/tex/context/base/mult-sys.mkiv
index d3823ea57..da1109aef 100644
--- a/tex/context/base/mult-sys.mkiv
+++ b/tex/context/base/mult-sys.mkiv
@@ -131,6 +131,8 @@
% \definesystemconstant {MonoCapsSlanted}
% \definesystemconstant {MonoVariable}
+\definesystemconstant {DefaultFont}
+
\definesystemconstant {MathRoman}
\definesystemconstant {MathRomanBold}
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 86fea9868..7472631b5 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index d16400c6d..e14c390fb 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/type-fbk.mkiv b/tex/context/base/type-fbk.mkiv
index fd91344da..4ac381787 100644
--- a/tex/context/base/type-fbk.mkiv
+++ b/tex/context/base/type-fbk.mkiv
@@ -13,58 +13,58 @@
\unprotect
-\definetypescriptprefix [serif] [Serif]
-\definetypescriptprefix [sans] [Sans]
-\definetypescriptprefix [mono] [Mono]
+\definetypescriptprefix [\s!serif] [\s!Serif]
+\definetypescriptprefix [\s!sans] [\s!Sans]
+\definetypescriptprefix [\s!mono] [\s!Mono]
-\definefontsynonym [DefaultFont] [\s!file:lmmonoproplt10-regular]
+\definefontsynonym [\s!DefaultFont] [\s!file:lmmonoproplt10-regular]
-\startsetups [font:fallback:serif]
- \definefontsynonym [Serif] [DefaultFont]
- \definefontsynonym [SerifBold] [Serif]
- \definefontsynonym [SerifItalic] [Serif]
- \definefontsynonym [SerifSlanted] [SerifItalic]
- \definefontsynonym [SerifBoldItalic] [Serif]
- \definefontsynonym [SerifBoldSlanted] [SerifBoldItalic]
- \definefontsynonym [SerifCaps] [Serif] [\s!features=smallcaps]
+\startsetups [\s!font:\s!fallback:\s!serif]
+ \definefontsynonym[\s!Serif] [\s!DefaultFont]
+ \definefontsynonym[\s!SerifBold] [\s!Serif]
+ \definefontsynonym[\s!SerifItalic] [\s!Serif]
+ \definefontsynonym[\s!SerifSlanted] [\s!SerifItalic]
+ \definefontsynonym[\s!SerifBoldItalic] [\s!Serif]
+ \definefontsynonym[\s!SerifBoldSlanted][\s!SerifBoldItalic]
+ \definefontsynonym[\s!SerifCaps] [\s!Serif] [\s!features=\s!smallcaps]
\stopsetups
-\startsetups [font:fallback:sans]
- \definefontsynonym [Sans] [DefaultFont]
- \definefontsynonym [SansBold] [Sans]
- \definefontsynonym [SansItalic] [Sans]
- \definefontsynonym [SansSlanted] [SansItalic]
- \definefontsynonym [SansBoldItalic] [Sans]
- \definefontsynonym [SansBoldSlanted] [SansBoldItalic]
- \definefontsynonym [SansCaps] [Sans] [\s!features=smallcaps]
+\startsetups [\s!font:\s!fallback:\s!sans]
+ \definefontsynonym[\s!Sans] [\s!DefaultFont]
+ \definefontsynonym[\s!SansBold] [\s!Sans]
+ \definefontsynonym[\s!SansItalic] [\s!Sans]
+ \definefontsynonym[\s!SansSlanted] [\s!SansItalic]
+ \definefontsynonym[\s!SansBoldItalic] [\s!Sans]
+ \definefontsynonym[\s!SansBoldSlanted][\s!SansBoldItalic]
+ \definefontsynonym[\s!SansCaps] [\s!Sans] [\s!features=\s!smallcaps]
\stopsetups
-\startsetups [font:fallback:mono]
- \definefontsynonym [Mono] [DefaultFont]
- \definefontsynonym [MonoBold] [Mono]
- \definefontsynonym [MonoItalic] [Mono]
- \definefontsynonym [MonoSlanted] [MonoItalic]
- \definefontsynonym [MonoBoldItalic] [Mono]
- \definefontsynonym [MonoBoldSlanted] [MonoBoldItalic]
- \definefontsynonym [MonoCaps] [Mono] [\s!features=smallcaps]
+\startsetups [\s!font:\s!fallback:\s!mono]
+ \definefontsynonym[\s!Mono] [\s!DefaultFont]
+ \definefontsynonym[\s!MonoBold] [\s!Mono]
+ \definefontsynonym[\s!MonoItalic] [\s!Mono]
+ \definefontsynonym[\s!MonoSlanted] [\s!MonoItalic]
+ \definefontsynonym[\s!MonoBoldItalic] [\s!Mono]
+ \definefontsynonym[\s!MonoBoldSlanted][\s!MonoBoldItalic]
+ \definefontsynonym[\s!MonoCaps] [\s!Mono] [\s!features=\s!smallcaps]
\stopsetups
-\starttypescript [serif,sans,mono] [fallback]
+\starttypescript [\s!serif,\s!sans,\s!mono] [\s!fallback]
\setups[\s!font:\s!fallback:\typescriptone]
\stoptypescript
-\startsetups [font:allbold:serif]
- \definefontsynonym [Serif] [SerifBold]
- \definefontsynonym [SerifItalic] [SerifBoldItalic]
- \definefontsynonym [SerifSlanted] [SerifBoldSlanted]
- %definefontsynonym [SerifCaps] [SerifBold]
+\startsetups [\s!font:allbold:\s!serif]
+ \definefontsynonym[\s!Serif] [\s!SerifBold]
+ \definefontsynonym[\s!SerifItalic] [\s!SerifBoldItalic]
+ \definefontsynonym[\s!SerifSlanted][\s!SerifBoldSlanted]
+ %definefontsynonym[\s!SerifCaps] [\s!SerifBold]
\stopsetups
-\startsetups [font:allbold:sans]
- \definefontsynonym [Sans] [SansBold]
- \definefontsynonym [SansItalic] [SansBoldItalic]
- \definefontsynonym [SansSlanted] [SansBoldSlanted]
- %definefontsynonym [SansCaps] [SansBold]
+\startsetups [\s!font:allbold:\s!sans]
+ \definefontsynonym[\s!Sans] [\s!SansBold]
+ \definefontsynonym[\s!SansItalic] [\s!SansBoldItalic]
+ \definefontsynonym[\s!SansSlanted][\s!SansBoldSlanted]
+ %definefontsynonym[\s!SansCaps] [\s!SansBold]
\stopsetups
\protect \endinput
diff --git a/tex/context/base/type-imp-averia.mkiv b/tex/context/base/type-imp-averia.mkiv
new file mode 100644
index 000000000..310704378
--- /dev/null
+++ b/tex/context/base/type-imp-averia.mkiv
@@ -0,0 +1,74 @@
+%D \module
+%D [ file=type-imp-averia,
+%D version=2012.04.24,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Averia fonts (iotic.com),
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D The fonts can be downloaded from the (nice looking) page:
+%D
+%D \starttyping
+%D http://iotic.com/averia
+%D \stoptyping
+%D
+%D This link was posted by Aditya on the ConTeXt mailing list.
+%D
+%D There is no monospace font yet.
+
+\starttypescriptcollection[averia]
+
+ \starttypescript [\s!serif] [averia,averiaserif] [\s!name]
+ \setups[\s!font:\s!fallback:\s!serif]
+ \definefontsynonym [\s!Serif] [\s!file:\typescripttwo-regular] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifBold] [\s!file:\typescripttwo-bold] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifItalic] [\s!file:\typescripttwo-italic] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifBoldItalic] [\s!file:\typescripttwo-bolditalic] [\s!features=\s!default]
+ \stoptypescript
+
+ \starttypescript [\s!serif] [averia-light,averiaserif-light] [\s!name]
+ \setups[\s!font:\s!fallback:\s!serif]
+ \definefontsynonym [\s!Serif] [\s!file:\typescripttwo-light] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifBold] [\s!file:\typescripttwo-regular] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifItalic] [\s!file:\typescripttwo-lightitalic] [\s!features=\s!default]
+ \definefontsynonym [\s!SerifBoldItalic] [\s!file:\typescripttwo-italic] [\s!features=\s!default]
+ \stoptypescript
+
+ \starttypescript [\s!sans] [averiasans] [\s!name]
+ \setups[\s!font:\s!fallback:\s!sans]
+ \definefontsynonym [\s!Sans] [\s!file:averiasans-regular] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBold] [\s!file:averiasans-bold] [\s!features=\s!default]
+ \definefontsynonym [\s!SansItalic] [\s!file:averiasans-italic] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBoldItalic] [\s!file:averiasans-bolditalic] [\s!features=\s!default]
+ \stoptypescript
+
+ \starttypescript [\s!sans] [averiasans-light] [\s!name]
+ \setups[\s!font:\s!fallback:\s!sans]
+ \definefontsynonym [\s!Sans] [\s!file:averiasans-light] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBold] [\s!file:averiasans-regular] [\s!features=\s!default]
+ \definefontsynonym [\s!SansItalic] [\s!file:averiasans-lightitalic] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBoldItalic] [\s!file:averiasans-italic] [\s!features=\s!default]
+ \stoptypescript
+
+ % todo: rscale
+
+ \starttypescript[averia]
+ \definetypeface [averia] [\s!rm] [\s!serif] [averiaserif] [\s!default]
+ \definetypeface [averia] [\s!ss] [\s!sans] [averiasans] [\s!default]
+ \definetypeface [averia] [\s!tt] [\s!mono] [dejavu] [\s!default]
+ \definetypeface [averia] [\s!mm] [\s!math] [times] [\s!default]
+ \stoptypescript
+
+ \starttypescript[averia-light]
+ \definetypeface [averia] [\s!rm] [\s!serif] [averiaserif-light] [\s!default]
+ \definetypeface [averia] [\s!ss] [\s!sans] [averiasans-light] [\s!default]
+ \definetypeface [averia] [\s!tt] [\s!mono] [dejavu] [\s!default]
+ \definetypeface [averia] [\s!mm] [\s!math] [times] [\s!default]
+ \stoptypescript
+
+\stoptypescriptcollection
diff --git a/tex/context/base/type-set.mkiv b/tex/context/base/type-set.mkiv
index 731e4e5e3..99c38bc5d 100644
--- a/tex/context/base/type-set.mkiv
+++ b/tex/context/base/type-set.mkiv
@@ -20,6 +20,7 @@
\loadmarkfile{type-def}
\loadmarkfile{type-lua}
\loadmarkfile{type-siz}
+ \loadmarkfile{type-fbk}
% \loadtypescriptfile[def] % meant for local usage only
% \loadtypescriptfile[lua] % meant for local usage only
@@ -36,6 +37,7 @@
\else
\usetypescriptfile[def]
+ \usetypescriptfile[fbk]
\usetypescriptfile[lua]
\usetypescriptfile[siz]
\usetypescriptfile[otf]