summaryrefslogtreecommitdiff
path: root/tex/context/base/lpdf-fld.lua
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-02-08 12:00:13 +0200
committerMarius <mariausol@gmail.com>2011-02-08 12:00:13 +0200
commit9c6992a3436a0db6a01790b29d7c0c3c65460f94 (patch)
treec384372b23cfb6a5379641b4857bae07057bb3be /tex/context/base/lpdf-fld.lua
parent801c806a2489c5c96578fe95945bef589329c4e0 (diff)
downloadcontext-9c6992a3436a0db6a01790b29d7c0c3c65460f94.tar.gz
beta 2011.02.08 10:06
Diffstat (limited to 'tex/context/base/lpdf-fld.lua')
-rw-r--r--tex/context/base/lpdf-fld.lua266
1 files changed, 134 insertions, 132 deletions
diff --git a/tex/context/base/lpdf-fld.lua b/tex/context/base/lpdf-fld.lua
index 622b56098..8b2ccaaec 100644
--- a/tex/context/base/lpdf-fld.lua
+++ b/tex/context/base/lpdf-fld.lua
@@ -16,7 +16,7 @@ local bpfactor, todimen = number.dimenfactors.bp, string.todimen
local trace_fields = false trackers.register("widgets.fields", function(v) trace_fields = v end)
-local report_fields = logs.new("fields")
+local report_fields = logs.new("backend","fields")
local backends, lpdf = backends, lpdf
@@ -178,153 +178,154 @@ end
-- fonts and color
-
local pdfdocencodingvector, pdfdocencodingcapsule
local function checkpdfdocencoding()
+ -- not using pdfconstant for all these names saves us quite
+ -- some bytecode
local encoding = pdfdictionary {
Type = pdfconstant("Encoding"),
Differences = pdfarray {
24,
- pdfconstant("breve"),
- pdfconstant("caron"),
- pdfconstant("circumflex"),
- pdfconstant("dotaccent"),
- pdfconstant("hungarumlaut"),
- pdfconstant("ogonek"),
- pdfconstant("ring"),
- pdfconstant("tilde"),
+ "/breve",
+ "/caron",
+ "/circumflex",
+ "/dotaccent",
+ "/hungarumlaut",
+ "/ogonek",
+ "/ring",
+ "/tilde",
39,
- pdfconstant("quotesingle"),
+ "/quotesingle",
96,
- pdfconstant("grave"),
+ "/grave",
128,
- pdfconstant("bullet"),
- pdfconstant("dagger"),
- pdfconstant("daggerdbl"),
- pdfconstant("ellipsis"),
- pdfconstant("emdash"),
- pdfconstant("endash"),
- pdfconstant("florin"),
- pdfconstant("fraction"),
- pdfconstant("guilsinglleft"),
- pdfconstant("guilsinglright"),
- pdfconstant("minus"),
- pdfconstant("perthousand"),
- pdfconstant("quotedblbase"),
- pdfconstant("quotedblleft"),
- pdfconstant("quotedblright"),
- pdfconstant("quoteleft"),
- pdfconstant("quoteright"),
- pdfconstant("quotesinglbase"),
- pdfconstant("trademark"),
- pdfconstant("fi"),
- pdfconstant("fl"),
- pdfconstant("Lslash"),
- pdfconstant("OE"),
- pdfconstant("Scaron"),
- pdfconstant("Ydieresis"),
- pdfconstant("Zcaron"),
- pdfconstant("dotlessi"),
- pdfconstant("lslash"),
- pdfconstant("oe"),
- pdfconstant("scaron"),
- pdfconstant("zcaron"),
+ "/bullet",
+ "/dagger",
+ "/daggerdbl",
+ "/ellipsis",
+ "/emdash",
+ "/endash",
+ "/florin",
+ "/fraction",
+ "/guilsinglleft",
+ "/guilsinglright",
+ "/minus",
+ "/perthousand",
+ "/quotedblbase",
+ "/quotedblleft",
+ "/quotedblright",
+ "/quoteleft",
+ "/quoteright",
+ "/quotesinglbase",
+ "/trademark",
+ "/fi",
+ "/fl",
+ "/Lslash",
+ "/OE",
+ "/Scaron",
+ "/Ydieresis",
+ "/Zcaron",
+ "/dotlessi",
+ "/lslash",
+ "/oe",
+ "/scaron",
+ "/zcaron",
160,
- pdfconstant("Euro"),
+ "/Euro",
164,
- pdfconstant("currency"),
+ "/currency",
166,
- pdfconstant("brokenbar"),
+ "/brokenbar",
168,
- pdfconstant("dieresis"),
- pdfconstant("copyright"),
- pdfconstant("ordfeminine"),
+ "/dieresis",
+ "/copyright",
+ "/ordfeminine",
172,
- pdfconstant("logicalnot"),
- pdfconstant(".notdef"),
- pdfconstant("registered"),
- pdfconstant("macron"),
- pdfconstant("degree"),
- pdfconstant("plusminus"),
- pdfconstant("twosuperior"),
- pdfconstant("threesuperior"),
- pdfconstant("acute"),
- pdfconstant("mu"),
+ "/logicalnot",
+ "/.notdef",
+ "/registered",
+ "/macron",
+ "/degree",
+ "/plusminus",
+ "/twosuperior",
+ "/threesuperior",
+ "/acute",
+ "/mu",
183,
- pdfconstant("periodcentered"),
- pdfconstant("cedilla"),
- pdfconstant("onesuperior"),
- pdfconstant("ordmasculine"),
+ "/periodcentered",
+ "/cedilla",
+ "/onesuperior",
+ "/ordmasculine",
188,
- pdfconstant("onequarter"),
- pdfconstant("onehalf"),
- pdfconstant("threequarters"),
+ "/onequarter",
+ "/onehalf",
+ "/threequarters",
192,
- pdfconstant("Agrave"),
- pdfconstant("Aacute"),
- pdfconstant("Acircumflex"),
- pdfconstant("Atilde"),
- pdfconstant("Adieresis"),
- pdfconstant("Aring"),
- pdfconstant("AE"),
- pdfconstant("Ccedilla"),
- pdfconstant("Egrave"),
- pdfconstant("Eacute"),
- pdfconstant("Ecircumflex"),
- pdfconstant("Edieresis"),
- pdfconstant("Igrave"),
- pdfconstant("Iacute"),
- pdfconstant("Icircumflex"),
- pdfconstant("Idieresis"),
- pdfconstant("Eth"),
- pdfconstant("Ntilde"),
- pdfconstant("Ograve"),
- pdfconstant("Oacute"),
- pdfconstant("Ocircumflex"),
- pdfconstant("Otilde"),
- pdfconstant("Odieresis"),
- pdfconstant("multiply"),
- pdfconstant("Oslash"),
- pdfconstant("Ugrave"),
- pdfconstant("Uacute"),
- pdfconstant("Ucircumflex"),
- pdfconstant("Udieresis"),
- pdfconstant("Yacute"),
- pdfconstant("Thorn"),
- pdfconstant("germandbls"),
- pdfconstant("agrave"),
- pdfconstant("aacute"),
- pdfconstant("acircumflex"),
- pdfconstant("atilde"),
- pdfconstant("adieresis"),
- pdfconstant("aring"),
- pdfconstant("ae"),
- pdfconstant("ccedilla"),
- pdfconstant("egrave"),
- pdfconstant("eacute"),
- pdfconstant("ecircumflex"),
- pdfconstant("edieresis"),
- pdfconstant("igrave"),
- pdfconstant("iacute"),
- pdfconstant("icircumflex"),
- pdfconstant("idieresis"),
- pdfconstant("eth"),
- pdfconstant("ntilde"),
- pdfconstant("ograve"),
- pdfconstant("oacute"),
- pdfconstant("ocircumflex"),
- pdfconstant("otilde"),
- pdfconstant("odieresis"),
- pdfconstant("divide"),
- pdfconstant("oslash"),
- pdfconstant("ugrave"),
- pdfconstant("uacute"),
- pdfconstant("ucircumflex"),
- pdfconstant("udieresis"),
- pdfconstant("yacute"),
- pdfconstant("thorn"),
- pdfconstant("ydieresis"),
+ "/Agrave",
+ "/Aacute",
+ "/Acircumflex",
+ "/Atilde",
+ "/Adieresis",
+ "/Aring",
+ "/AE",
+ "/Ccedilla",
+ "/Egrave",
+ "/Eacute",
+ "/Ecircumflex",
+ "/Edieresis",
+ "/Igrave",
+ "/Iacute",
+ "/Icircumflex",
+ "/Idieresis",
+ "/Eth",
+ "/Ntilde",
+ "/Ograve",
+ "/Oacute",
+ "/Ocircumflex",
+ "/Otilde",
+ "/Odieresis",
+ "/multiply",
+ "/Oslash",
+ "/Ugrave",
+ "/Uacute",
+ "/Ucircumflex",
+ "/Udieresis",
+ "/Yacute",
+ "/Thorn",
+ "/germandbls",
+ "/agrave",
+ "/aacute",
+ "/acircumflex",
+ "/atilde",
+ "/adieresis",
+ "/aring",
+ "/ae",
+ "/ccedilla",
+ "/egrave",
+ "/eacute",
+ "/ecircumflex",
+ "/edieresis",
+ "/igrave",
+ "/iacute",
+ "/icircumflex",
+ "/idieresis",
+ "/eth",
+ "/ntilde",
+ "/ograve",
+ "/oacute",
+ "/ocircumflex",
+ "/otilde",
+ "/odieresis",
+ "/divide",
+ "/oslash",
+ "/ugrave",
+ "/uacute",
+ "/ucircumflex",
+ "/udieresis",
+ "/yacute",
+ "/thorn",
+ "/ydieresis",
},
}
pdfdocencodingvector = pdfreference(pdfflushobject(encoding))
@@ -398,10 +399,11 @@ local function registerfonts()
if next(usedfonts) then
checkpdfdocencoding()
local d = pdfdictionary()
+ local pdffonttype, pdffontsubtype = pdfconstant("Font"), pdfconstant("Type1")
for tag, name in next, usedfonts do
local f = pdfdictionary {
- Type = pdfconstant("Font"),
- Subtype = pdfconstant("Type1"),
+ Type = pdffonttype,
+ Subtype = pdffontsubtype,
Name = pdfconstant(tag),
BaseFont = pdfconstant(name),
Encoding = pdfdocencodingvector,