summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkiv/back-exp.lua4
-rw-r--r--tex/context/base/mkiv/buff-imp-default.mkiv10
-rw-r--r--tex/context/base/mkiv/char-def.lua283
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-cff.lua1
-rw-r--r--tex/context/base/mkiv/font-dsp.lua2
-rw-r--r--tex/context/base/mkiv/font-map.lua5
-rw-r--r--tex/context/base/mkiv/font-mis.lua2
-rw-r--r--tex/context/base/mkiv/font-otl.lua2
-rw-r--r--tex/context/base/mkiv/font-ott.lua4
-rw-r--r--tex/context/base/mkiv/font-oup.lua1
-rw-r--r--tex/context/base/mkiv/java-imp-fld.mkiv19
-rw-r--r--tex/context/base/mkiv/java-ini.lua3
-rw-r--r--tex/context/base/mkiv/lpdf-fld.lua226
-rw-r--r--tex/context/base/mkiv/lpdf-grp.lua11
-rw-r--r--tex/context/base/mkiv/scrn-fld.mkvi91
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin26196 -> 26173 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin269257 -> 269261 bytes
-rw-r--r--tex/context/base/mkiv/strc-tag.lua4
-rw-r--r--tex/context/base/mkiv/strc-tag.mkiv32
-rw-r--r--tex/context/base/mkiv/supp-box.mkiv13
-rw-r--r--tex/context/interface/mkiv/context-en.xml11
-rw-r--r--tex/context/interface/mkiv/i-boxes.xml15
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin856925 -> 857242 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60771 -> 60771 bytes
-rw-r--r--tex/context/modules/mkiv/s-cgj.mkiv714
-rw-r--r--tex/context/modules/mkiv/s-present-dark.mkiv357
-rw-r--r--tex/context/sample/third/aesop-de.tex (renamed from tex/context/sample/common/aesop-de.tex)0
-rw-r--r--tex/context/sample/third/cervantes-es.tex (renamed from tex/context/sample/common/cervantes-es.tex)0
-rw-r--r--tex/context/sample/third/khatt-ar.tex (renamed from tex/context/sample/common/khatt-ar.tex)0
-rw-r--r--tex/context/sample/third/khatt-en.tex (renamed from tex/context/sample/common/khatt-en.tex)0
-rw-r--r--tex/context/sample/third/quevedo-es.tex (renamed from tex/context/sample/common/quevedo-es.tex)0
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua14
36 files changed, 1710 insertions, 122 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 2d0987f26..e9ee9f19d 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2018.09.26 14:26}
+\newcontextversion{2018.09.30 19:32}
%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/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index 42417ac1e..f297b9b39 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2018.09.26 14:26}
+\edef\contextversion{2018.09.30 19:32}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/back-exp.lua b/tex/context/base/mkiv/back-exp.lua
index 9e62314d4..10aca0a46 100644
--- a/tex/context/base/mkiv/back-exp.lua
+++ b/tex/context/base/mkiv/back-exp.lua
@@ -2701,9 +2701,9 @@ local function pop()
currentdepth = currentdepth - 1
if trace_export then
if top then
- report_export("%w</%s>",currentdepth,top)
+ report_export("%w</%s>",currentdepth,tree.tg)
else
- report_export("</%s>",top)
+ report_export("</%s>",tree.tg)
end
end
else
diff --git a/tex/context/base/mkiv/buff-imp-default.mkiv b/tex/context/base/mkiv/buff-imp-default.mkiv
index a4ad788bb..4da4ff0df 100644
--- a/tex/context/base/mkiv/buff-imp-default.mkiv
+++ b/tex/context/base/mkiv/buff-imp-default.mkiv
@@ -15,11 +15,11 @@
\unprotect
-\definestartstop
- [DefaultSnippet]
- [\c!before=\blank,
- \c!after=\blank,
- \c!style=\tt]
+\setupstartstop
+ [DefaultSnippet]
+ [\c!before={\typingparameter\c!before},
+ \c!after={\typingparameter\c!after},
+ \c!style={\typingparameter\c!style}]
% Name
% NamePrimitive
diff --git a/tex/context/base/mkiv/char-def.lua b/tex/context/base/mkiv/char-def.lua
index 669a6b571..c17400a79 100644
--- a/tex/context/base/mkiv/char-def.lua
+++ b/tex/context/base/mkiv/char-def.lua
@@ -31725,6 +31725,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1000,
variants={
@@ -31735,6 +31736,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1001,
},
@@ -31742,6 +31744,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER GA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1002,
variants={
@@ -31752,6 +31755,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER GHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1003,
},
@@ -31759,6 +31763,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER NGA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1004,
variants={
@@ -31769,6 +31774,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER CA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1005,
},
@@ -31776,6 +31782,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER CHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1006,
},
@@ -31783,6 +31790,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER JA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1007,
},
@@ -31790,6 +31798,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER JHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1008,
},
@@ -31797,6 +31806,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER NYA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1009,
},
@@ -31804,6 +31814,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER NNYA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x100A,
},
@@ -31811,6 +31822,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TTA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x100B,
},
@@ -31818,6 +31830,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TTHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x100C,
},
@@ -31825,6 +31838,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER DDA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x100D,
},
@@ -31832,6 +31846,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER DDHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x100E,
},
@@ -31839,6 +31854,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER NNA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x100F,
},
@@ -31846,6 +31862,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1010,
variants={
@@ -31856,6 +31873,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER THA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1011,
variants={
@@ -31866,6 +31884,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER DA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1012,
},
@@ -31873,6 +31892,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER DHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1013,
},
@@ -31880,6 +31900,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER NA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1014,
},
@@ -31887,6 +31908,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER PA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1015,
variants={
@@ -31897,6 +31919,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER PHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1016,
},
@@ -31904,6 +31927,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER BA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1017,
},
@@ -31911,6 +31935,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER BHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1018,
},
@@ -31918,6 +31943,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER MA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1019,
variants={
@@ -31928,6 +31954,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER YA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x101A,
variants={
@@ -31938,6 +31965,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER RA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x101B,
},
@@ -31945,6 +31973,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER LA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x101C,
variants={
@@ -31955,6 +31984,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER WA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x101D,
variants={
@@ -31965,6 +31995,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x101E,
},
@@ -31972,6 +32003,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER HA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x101F,
},
@@ -31979,6 +32011,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER LLA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1020,
},
@@ -31986,6 +32019,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER A",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1021,
},
@@ -31993,6 +32027,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN A",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1022,
variants={
@@ -32003,6 +32038,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER I",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1023,
},
@@ -32010,6 +32046,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER II",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1024,
},
@@ -32017,6 +32054,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER U",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1025,
},
@@ -32024,6 +32062,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER UU",
direction="l",
+ indic="i",
linebreak="sa",
specials={ "char", 0x1025, 0x102E },
unicodeslot=0x1026,
@@ -32032,6 +32071,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER E",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1027,
},
@@ -32039,6 +32079,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER MON E",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1028,
},
@@ -32046,6 +32087,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER O",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1029,
},
@@ -32053,6 +32095,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER AU",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x102A,
},
@@ -32060,6 +32103,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN TALL AA",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x102B,
},
@@ -32067,6 +32112,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN AA",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x102C,
},
@@ -32074,6 +32121,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN I",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x102D,
},
@@ -32081,6 +32130,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN II",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x102E,
},
@@ -32088,6 +32139,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN U",
direction="nsm",
+ indic="d",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x102F,
},
@@ -32095,6 +32148,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN UU",
direction="nsm",
+ indic="d",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x1030,
},
@@ -32102,6 +32157,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN E",
direction="l",
+ indic="d",
+ indicmark="l",
linebreak="sa",
unicodeslot=0x1031,
variants={
@@ -32112,6 +32169,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN AI",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1032,
},
@@ -32119,6 +32178,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN MON II",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1033,
},
@@ -32126,6 +32187,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN MON O",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1034,
},
@@ -32133,6 +32196,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN E ABOVE",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1035,
},
@@ -32140,6 +32205,8 @@ characters.data={
category="mn",
description="MYANMAR SIGN ANUSVARA",
direction="nsm",
+ indic="m",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1036,
},
@@ -32148,6 +32215,8 @@ characters.data={
combining=0x7,
description="MYANMAR SIGN DOT BELOW",
direction="nsm",
+ indic="s",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x1037,
},
@@ -32155,6 +32224,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN VISARGA",
direction="l",
+ indic="m",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1038,
},
@@ -32163,6 +32234,8 @@ characters.data={
combining=0x9,
description="MYANMAR SIGN VIRAMA",
direction="nsm",
+ indic="m",
+ indicmark="b",
linebreak="sa",
synonyms={ "myanmar killer" },
unicodeslot=0x1039,
@@ -32172,6 +32245,8 @@ characters.data={
combining=0x9,
description="MYANMAR SIGN ASAT",
direction="nsm",
+ indic="m",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x103A,
},
@@ -32179,6 +32254,8 @@ characters.data={
category="mc",
description="MYANMAR CONSONANT SIGN MEDIAL YA",
direction="l",
+ indic="c",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x103B,
},
@@ -32186,6 +32263,7 @@ characters.data={
category="mc",
description="MYANMAR CONSONANT SIGN MEDIAL RA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x103C,
},
@@ -32193,6 +32271,8 @@ characters.data={
category="mn",
description="MYANMAR CONSONANT SIGN MEDIAL WA",
direction="nsm",
+ indic="c",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x103D,
},
@@ -32200,6 +32280,8 @@ characters.data={
category="mn",
description="MYANMAR CONSONANT SIGN MEDIAL HA",
direction="nsm",
+ indic="c",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x103E,
},
@@ -32207,6 +32289,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER GREAT SA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x103F,
},
@@ -32214,6 +32297,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT ZERO",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1040,
},
@@ -32221,6 +32305,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT ONE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1041,
},
@@ -32228,6 +32313,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT TWO",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1042,
},
@@ -32235,6 +32321,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT THREE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1043,
},
@@ -32242,6 +32329,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT FOUR",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1044,
},
@@ -32249,6 +32337,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT FIVE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1045,
},
@@ -32256,6 +32345,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT SIX",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1046,
},
@@ -32263,6 +32353,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT SEVEN",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1047,
},
@@ -32270,6 +32361,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT EIGHT",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1048,
},
@@ -32277,6 +32369,7 @@ characters.data={
category="nd",
description="MYANMAR DIGIT NINE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1049,
},
@@ -32284,6 +32377,7 @@ characters.data={
category="po",
description="MYANMAR SIGN LITTLE SECTION",
direction="l",
+ indic="o",
linebreak="ba",
unicodeslot=0x104A,
},
@@ -32291,6 +32385,7 @@ characters.data={
category="po",
description="MYANMAR SIGN SECTION",
direction="l",
+ indic="o",
linebreak="ba",
unicodeslot=0x104B,
},
@@ -32298,6 +32393,7 @@ characters.data={
category="po",
description="MYANMAR SYMBOL LOCATIVE",
direction="l",
+ indic="o",
linebreak="al",
unicodeslot=0x104C,
},
@@ -32305,6 +32401,7 @@ characters.data={
category="po",
description="MYANMAR SYMBOL COMPLETED",
direction="l",
+ indic="o",
linebreak="al",
unicodeslot=0x104D,
},
@@ -32312,6 +32409,7 @@ characters.data={
category="po",
description="MYANMAR SYMBOL AFOREMENTIONED",
direction="l",
+ indic="o",
linebreak="al",
unicodeslot=0x104E,
},
@@ -32319,6 +32417,7 @@ characters.data={
category="po",
description="MYANMAR SYMBOL GENITIVE",
direction="l",
+ indic="o",
linebreak="al",
unicodeslot=0x104F,
},
@@ -32326,6 +32425,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1050,
},
@@ -32333,6 +32433,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SSA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1051,
},
@@ -32340,6 +32441,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER VOCALIC R",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1052,
},
@@ -32347,6 +32449,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER VOCALIC RR",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1053,
},
@@ -32354,6 +32457,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER VOCALIC L",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1054,
},
@@ -32361,6 +32465,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER VOCALIC LL",
direction="l",
+ indic="i",
linebreak="sa",
unicodeslot=0x1055,
},
@@ -32368,6 +32473,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN VOCALIC R",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1056,
},
@@ -32375,6 +32482,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN VOCALIC RR",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1057,
},
@@ -32382,6 +32491,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN VOCALIC L",
direction="nsm",
+ indic="d",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x1058,
},
@@ -32389,6 +32500,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN VOCALIC LL",
direction="nsm",
+ indic="d",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x1059,
},
@@ -32396,6 +32509,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER MON NGA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x105A,
},
@@ -32403,6 +32517,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER MON JHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x105B,
},
@@ -32410,6 +32525,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER MON BBA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x105C,
},
@@ -32417,6 +32533,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER MON BBE",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x105D,
},
@@ -32424,6 +32541,8 @@ characters.data={
category="mn",
description="MYANMAR CONSONANT SIGN MON MEDIAL NA",
direction="nsm",
+ indic="c",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x105E,
},
@@ -32431,6 +32550,8 @@ characters.data={
category="mn",
description="MYANMAR CONSONANT SIGN MON MEDIAL MA",
direction="nsm",
+ indic="c",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x105F,
},
@@ -32438,6 +32559,8 @@ characters.data={
category="mn",
description="MYANMAR CONSONANT SIGN MON MEDIAL LA",
direction="nsm",
+ indic="c",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x1060,
},
@@ -32445,6 +32568,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SGAW KAREN SHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1061,
},
@@ -32452,6 +32576,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN SGAW KAREN EU",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1062,
},
@@ -32459,6 +32585,8 @@ characters.data={
category="mc",
description="MYANMAR TONE MARK SGAW KAREN HATHI",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1063,
},
@@ -32466,6 +32594,8 @@ characters.data={
category="mc",
description="MYANMAR TONE MARK SGAW KAREN KE PHO",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1064,
},
@@ -32473,6 +32603,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER WESTERN PWO KAREN THA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1065,
},
@@ -32480,6 +32611,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER WESTERN PWO KAREN PWA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1066,
},
@@ -32487,6 +32619,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN WESTERN PWO KAREN EU",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1067,
},
@@ -32494,6 +32628,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN WESTERN PWO KAREN UE",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1068,
},
@@ -32501,6 +32637,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN WESTERN PWO KAREN TONE-1",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1069,
},
@@ -32508,6 +32646,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN WESTERN PWO KAREN TONE-2",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x106A,
},
@@ -32515,6 +32655,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN WESTERN PWO KAREN TONE-3",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x106B,
},
@@ -32522,6 +32664,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN WESTERN PWO KAREN TONE-4",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x106C,
},
@@ -32529,6 +32673,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN WESTERN PWO KAREN TONE-5",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x106D,
},
@@ -32536,6 +32682,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER EASTERN PWO KAREN NNA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x106E,
},
@@ -32543,6 +32690,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER EASTERN PWO KAREN YWA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x106F,
},
@@ -32550,6 +32698,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER EASTERN PWO KAREN GHWA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1070,
},
@@ -32557,6 +32706,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN GEBA KAREN I",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1071,
},
@@ -32564,6 +32715,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN KAYAH OE",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1072,
},
@@ -32571,6 +32724,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN KAYAH U",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1073,
},
@@ -32578,6 +32733,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN KAYAH EE",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1074,
},
@@ -32585,6 +32742,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN KA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1075,
variants={
@@ -32595,6 +32753,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN KHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1076,
},
@@ -32602,6 +32761,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN GA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1077,
},
@@ -32609,6 +32769,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN CA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1078,
variants={
@@ -32619,6 +32780,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN ZA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1079,
},
@@ -32626,6 +32788,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN NYA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x107A,
variants={
@@ -32636,6 +32799,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN DA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x107B,
},
@@ -32643,6 +32807,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN NA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x107C,
},
@@ -32650,6 +32815,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN PHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x107D,
},
@@ -32657,6 +32823,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN FA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x107E,
},
@@ -32664,6 +32831,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN BA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x107F,
},
@@ -32671,6 +32839,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN THA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1080,
variants={
@@ -32681,6 +32850,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN HA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x1081,
},
@@ -32688,6 +32858,8 @@ characters.data={
category="mn",
description="MYANMAR CONSONANT SIGN SHAN MEDIAL WA",
direction="nsm",
+ indic="c",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x1082,
},
@@ -32695,6 +32867,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN SHAN AA",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1083,
},
@@ -32702,6 +32876,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN SHAN E",
direction="l",
+ indic="d",
+ indicmark="l",
linebreak="sa",
unicodeslot=0x1084,
},
@@ -32709,6 +32885,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN SHAN E ABOVE",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1085,
},
@@ -32716,6 +32894,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN SHAN FINAL Y",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x1086,
},
@@ -32723,6 +32903,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN SHAN TONE-2",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1087,
},
@@ -32730,6 +32912,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN SHAN TONE-3",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1088,
},
@@ -32737,6 +32921,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN SHAN TONE-5",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x1089,
},
@@ -32744,6 +32930,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN SHAN TONE-6",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x108A,
},
@@ -32751,6 +32939,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN SHAN COUNCIL TONE-2",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x108B,
},
@@ -32758,6 +32948,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN SHAN COUNCIL TONE-3",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x108C,
},
@@ -32766,6 +32958,8 @@ characters.data={
combining=0xDC,
description="MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE",
direction="nsm",
+ indic="s",
+ indicmark="b",
linebreak="sa",
unicodeslot=0x108D,
},
@@ -32773,6 +32967,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER RUMAI PALAUNG FA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0x108E,
},
@@ -32780,6 +32975,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN RUMAI PALAUNG TONE-5",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x108F,
},
@@ -32787,6 +32984,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT ZERO",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1090,
},
@@ -32794,6 +32992,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT ONE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1091,
},
@@ -32801,6 +33000,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT TWO",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1092,
},
@@ -32808,6 +33008,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT THREE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1093,
},
@@ -32815,6 +33016,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT FOUR",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1094,
},
@@ -32822,6 +33024,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT FIVE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1095,
},
@@ -32829,6 +33032,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT SIX",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1096,
},
@@ -32836,6 +33040,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT SEVEN",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1097,
},
@@ -32843,6 +33048,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT EIGHT",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1098,
},
@@ -32850,6 +33056,7 @@ characters.data={
category="nd",
description="MYANMAR SHAN DIGIT NINE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0x1099,
},
@@ -32857,6 +33064,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN KHAMTI TONE-1",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x109A,
},
@@ -32864,6 +33073,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN KHAMTI TONE-3",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x109B,
},
@@ -32871,6 +33082,8 @@ characters.data={
category="mc",
description="MYANMAR VOWEL SIGN AITON A",
direction="l",
+ indic="d",
+ indicmark="r",
linebreak="sa",
unicodeslot=0x109C,
},
@@ -32878,6 +33091,8 @@ characters.data={
category="mn",
description="MYANMAR VOWEL SIGN AITON AI",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0x109D,
},
@@ -32885,6 +33100,7 @@ characters.data={
category="so",
description="MYANMAR SYMBOL SHAN ONE",
direction="l",
+ indic="o",
linebreak="sa",
unicodeslot=0x109E,
},
@@ -32892,6 +33108,7 @@ characters.data={
category="so",
description="MYANMAR SYMBOL SHAN EXCLAMATION",
direction="l",
+ indic="o",
linebreak="sa",
unicodeslot=0x109F,
},
@@ -121296,6 +121513,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN GHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9E0,
},
@@ -121303,6 +121521,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN CHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9E1,
},
@@ -121310,6 +121529,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN JHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9E2,
},
@@ -121317,6 +121537,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN NNA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9E3,
},
@@ -121324,6 +121545,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHAN BHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9E4,
},
@@ -121331,6 +121553,8 @@ characters.data={
category="mn",
description="MYANMAR SIGN SHAN SAW",
direction="nsm",
+ indic="d",
+ indicmark="t",
linebreak="sa",
unicodeslot=0xA9E5,
},
@@ -121338,6 +121562,7 @@ characters.data={
category="lm",
description="MYANMAR MODIFIER LETTER SHAN REDUPLICATION",
direction="l",
+ indic="o",
linebreak="sa",
unicodeslot=0xA9E6,
},
@@ -121345,6 +121570,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING NYA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9E7,
},
@@ -121352,6 +121578,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING FA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9E8,
},
@@ -121359,6 +121586,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING GA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9E9,
},
@@ -121366,6 +121594,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING GHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9EA,
},
@@ -121373,6 +121602,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING JA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9EB,
},
@@ -121380,6 +121610,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING JHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9EC,
},
@@ -121387,6 +121618,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING DDA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9ED,
},
@@ -121394,6 +121626,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING DDHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9EE,
},
@@ -121401,6 +121634,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING NNA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9EF,
},
@@ -121408,6 +121642,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT ZERO",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F0,
},
@@ -121415,6 +121650,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT ONE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F1,
},
@@ -121422,6 +121658,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT TWO",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F2,
},
@@ -121429,6 +121666,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT THREE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F3,
},
@@ -121436,6 +121674,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT FOUR",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F4,
},
@@ -121443,6 +121682,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT FIVE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F5,
},
@@ -121450,6 +121690,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT SIX",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F6,
},
@@ -121457,6 +121698,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT SEVEN",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F7,
},
@@ -121464,6 +121706,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT EIGHT",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F8,
},
@@ -121471,6 +121714,7 @@ characters.data={
category="nd",
description="MYANMAR TAI LAING DIGIT NINE",
direction="l",
+ indic="o",
linebreak="nu",
unicodeslot=0xA9F9,
},
@@ -121478,6 +121722,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING LLA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9FA,
},
@@ -121485,6 +121730,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING DA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9FB,
},
@@ -121492,6 +121738,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING DHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9FC,
},
@@ -121499,6 +121746,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING BA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9FD,
},
@@ -121506,6 +121754,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER TAI LAING BHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xA9FE,
},
@@ -122094,6 +122343,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI GA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA60,
variants={
@@ -122104,6 +122354,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI CA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA61,
variants={
@@ -122114,6 +122365,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI CHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA62,
variants={
@@ -122124,6 +122376,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI JA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA63,
variants={
@@ -122134,6 +122387,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI JHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA64,
variants={
@@ -122144,6 +122398,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI NYA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA65,
variants={
@@ -122154,6 +122409,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI TTA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA66,
variants={
@@ -122164,6 +122420,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI TTHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA67,
},
@@ -122171,6 +122428,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI DDA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA68,
},
@@ -122178,6 +122436,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI DDHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA69,
},
@@ -122185,6 +122444,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI DHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA6A,
},
@@ -122202,6 +122462,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI SA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA6C,
variants={
@@ -122212,6 +122473,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI HA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA6D,
},
@@ -122219,6 +122481,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI HHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA6E,
},
@@ -122226,6 +122489,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI FA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA6F,
variants={
@@ -122236,6 +122500,7 @@ characters.data={
category="lm",
description="MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION",
direction="l",
+ indic="o",
linebreak="sa",
unicodeslot=0xAA70,
},
@@ -122243,6 +122508,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI XA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA71,
},
@@ -122250,6 +122516,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI ZA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA72,
},
@@ -122257,6 +122524,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER KHAMTI RA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA73,
},
@@ -122264,6 +122532,7 @@ characters.data={
category="lo",
description="MYANMAR LOGOGRAM KHAMTI OAY",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA74,
},
@@ -122271,6 +122540,7 @@ characters.data={
category="lo",
description="MYANMAR LOGOGRAM KHAMTI QN",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA75,
},
@@ -122278,6 +122548,7 @@ characters.data={
category="lo",
description="MYANMAR LOGOGRAM KHAMTI HM",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA76,
},
@@ -122285,6 +122556,7 @@ characters.data={
category="so",
description="MYANMAR SYMBOL AITON EXCLAMATION",
direction="l",
+ indic="o",
linebreak="sa",
unicodeslot=0xAA77,
},
@@ -122292,6 +122564,7 @@ characters.data={
category="so",
description="MYANMAR SYMBOL AITON ONE",
direction="l",
+ indic="o",
linebreak="sa",
unicodeslot=0xAA78,
},
@@ -122299,6 +122572,7 @@ characters.data={
category="so",
description="MYANMAR SYMBOL AITON TWO",
direction="l",
+ indic="o",
linebreak="sa",
unicodeslot=0xAA79,
},
@@ -122306,6 +122580,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER AITON RA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA7A,
variants={
@@ -122316,6 +122591,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN PAO KAREN TONE",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0xAA7B,
},
@@ -122323,6 +122600,8 @@ characters.data={
category="mn",
description="MYANMAR SIGN TAI LAING TONE-2",
direction="nsm",
+ indic="s",
+ indicmark="t",
linebreak="sa",
unicodeslot=0xAA7C,
},
@@ -122330,6 +122609,8 @@ characters.data={
category="mc",
description="MYANMAR SIGN TAI LAING TONE-5",
direction="l",
+ indic="s",
+ indicmark="r",
linebreak="sa",
unicodeslot=0xAA7D,
},
@@ -122337,6 +122618,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHWE PALAUNG CHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA7E,
},
@@ -122344,6 +122626,7 @@ characters.data={
category="lo",
description="MYANMAR LETTER SHWE PALAUNG SHA",
direction="l",
+ indic="c",
linebreak="sa",
unicodeslot=0xAA7F,
},
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 3d6861ab4..01f33231d 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2018.09.26 14:26}
+\newcontextversion{2018.09.30 19:32}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 21b83b486..d50c05923 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -42,7 +42,7 @@
%D has to match \type {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2018.09.26 14:26}
+\edef\contextversion{2018.09.30 19:32}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/font-cff.lua b/tex/context/base/mkiv/font-cff.lua
index 87234dd46..ecd49fa3a 100644
--- a/tex/context/base/mkiv/font-cff.lua
+++ b/tex/context/base/mkiv/font-cff.lua
@@ -1567,6 +1567,7 @@ do
end
local function blend()
+ -- leaves n values on stack
local n = stack[top]
top = top - 1
if not axis then
diff --git a/tex/context/base/mkiv/font-dsp.lua b/tex/context/base/mkiv/font-dsp.lua
index 1fe4289b2..ba92c62be 100644
--- a/tex/context/base/mkiv/font-dsp.lua
+++ b/tex/context/base/mkiv/font-dsp.lua
@@ -1215,7 +1215,7 @@ function gsubhandlers.single(f,fontdata,lookupid,lookupoffset,offset,glyphs,nofg
local delta = readshort(f) -- can be negative
local coverage = readcoverage(f,tableoffset+coverage) -- not simple as we need to set key/value anyway
for index in next, coverage do
- local newindex = index + delta
+ local newindex = (index + delta) % 65536 -- modulo is new in 1.8.3
if index > nofglyphs or newindex > nofglyphs then
report("invalid index in %s format %i: %i -> %i (max %i)","single",subtype,index,newindex,nofglyphs)
coverage[index] = nil
diff --git a/tex/context/base/mkiv/font-map.lua b/tex/context/base/mkiv/font-map.lua
index a7fbfe49e..712b1584c 100644
--- a/tex/context/base/mkiv/font-map.lua
+++ b/tex/context/base/mkiv/font-map.lua
@@ -550,12 +550,17 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
missing[du] = true
nofmissing = nofmissing + 1
end
+ else
+ -- maybe a message or so
end
end
else
local overload = overloads[du]
if overload then
glyph.unicode = overload.unicode
+ elseif not glyph.unicode then
+ missing[du] = true
+ nofmissing = nofmissing + 1
end
end
end
diff --git a/tex/context/base/mkiv/font-mis.lua b/tex/context/base/mkiv/font-mis.lua
index ac697295d..62353f3c6 100644
--- a/tex/context/base/mkiv/font-mis.lua
+++ b/tex/context/base/mkiv/font-mis.lua
@@ -21,7 +21,7 @@ local readers = otf.readers
if readers then
- otf.version = otf.version or 3.104
+ otf.version = otf.version or 3.105
otf.cache = otf.cache or containers.define("fonts", "otl", otf.version, true)
function fonts.helpers.getfeatures(name,save)
diff --git a/tex/context/base/mkiv/font-otl.lua b/tex/context/base/mkiv/font-otl.lua
index abb0ebd14..e2013720b 100644
--- a/tex/context/base/mkiv/font-otl.lua
+++ b/tex/context/base/mkiv/font-otl.lua
@@ -52,7 +52,7 @@ local report_otf = logs.reporter("fonts","otf loading")
local fonts = fonts
local otf = fonts.handlers.otf
-otf.version = 3.104 -- beware: also sync font-mis.lua and in mtx-fonts
+otf.version = 3.105 -- beware: also sync font-mis.lua and in mtx-fonts
otf.cache = containers.define("fonts", "otl", otf.version, true)
otf.svgcache = containers.define("fonts", "svg", otf.version, true)
otf.sbixcache = containers.define("fonts", "sbix", otf.version, true)
diff --git a/tex/context/base/mkiv/font-ott.lua b/tex/context/base/mkiv/font-ott.lua
index 88da136ac..6f8b85446 100644
--- a/tex/context/base/mkiv/font-ott.lua
+++ b/tex/context/base/mkiv/font-ott.lua
@@ -390,6 +390,7 @@ local languages = allocate {
["kiu" ] = "kirmanjki",
["kjd" ] = "southern kiwai",
["kjp" ] = "eastern pwo karen",
+ ["kjz" ] = "bumthangkha",
["kkn" ] = "kokni",
["klm" ] = "kalmyk",
["kmb" ] = "kamba",
@@ -478,6 +479,7 @@ local languages = allocate {
["mdr" ] = "mandar",
["men" ] = "me'en",
["mer" ] = "meru",
+ ["mfa" ] = "pattani malay",
["mfe" ] = "morisyen",
["min" ] = "minangkabau",
["miz" ] = "mizo",
@@ -675,6 +677,7 @@ local languages = allocate {
["tpi" ] = "tok pisin",
["trk" ] = "turkish",
["tsg" ] = "tsonga",
+ ["tsj" ] = "tshangla",
["tua" ] = "turoyo aramaic",
["tul" ] = "tulu",
["tuv" ] = "tuvin",
@@ -705,6 +708,7 @@ local languages = allocate {
["xbd" ] = "lü",
["xhs" ] = "xhosa",
["xjb" ] = "minjangbal",
+ ["xkf" ] = "khengkha",
["xog" ] = "soga",
["xpe" ] = "kpelle (liberia)",
["yak" ] = "sakha",
diff --git a/tex/context/base/mkiv/font-oup.lua b/tex/context/base/mkiv/font-oup.lua
index 562d7561d..70d1ef4ab 100644
--- a/tex/context/base/mkiv/font-oup.lua
+++ b/tex/context/base/mkiv/font-oup.lua
@@ -457,7 +457,6 @@ local function checklookups(fontdata,missing,nofmissing)
end
end
end
-
local function collectthem(sequences)
if not sequences then
return
diff --git a/tex/context/base/mkiv/java-imp-fld.mkiv b/tex/context/base/mkiv/java-imp-fld.mkiv
index cbd53fffb..6e51681b0 100644
--- a/tex/context/base/mkiv/java-imp-fld.mkiv
+++ b/tex/context/base/mkiv/java-imp-fld.mkiv
@@ -262,9 +262,28 @@ function Forget_Changes() {
function ForgetChanges() {
this.dirty = false ;
}
+
+function Step_Fields (Name, First, Last) {
+ for (var i = Number(First) ; i <= Number(Last) ; i++) {
+ var s = Name + ":" + i ;
+ var v = this.getField(s) ;
+ if (v) {
+ ++visible_fields ;
+ visible_field[visible_fields] = s ;
+ if (v.hidden) {
+ v.hidden = false ;
+ this.dirty = false ;
+ return ;
+ }
+ }
+ }
+}
\stopJSpreamble
+\definereference[VideFields] [JS(Vide_Fields)]
+\definereference[HideFields] [JS(Hide_Fields)]
\definereference[ForgetChanges][JS(Forget_Changes)]
+\definereference[StepFields] [JS(Step_Fields)]
% This can be done more efficient, by keeping track of the
% current top of the stack.
diff --git a/tex/context/base/mkiv/java-ini.lua b/tex/context/base/mkiv/java-ini.lua
index 61ab15e7a..a8868da60 100644
--- a/tex/context/base/mkiv/java-ini.lua
+++ b/tex/context/base/mkiv/java-ini.lua
@@ -8,7 +8,7 @@ if not modules then modules = { } end modules ['java-ini'] = {
-- todo: don't flush scripts if no JS key
-local format = string.format
+local format, gsub, find = string.format, string.gsub, string.find
local concat = table.concat
local lpegmatch, P, S, C, Carg, Cc = lpeg.match, lpeg.P, lpeg.S, lpeg.C, lpeg.Carg, lpeg.Cc
@@ -69,6 +69,7 @@ local parsefunctions = (fname + any)^0
function javascripts.storecode(str)
local name, uses, script = lpegmatch(parsecode,str)
if name and name ~= "" then
+ script = gsub(script,"%s*([^\n\r]+)%s*[\n\r]+$","%1")
codes[name] = { uses, script }
end
end
diff --git a/tex/context/base/mkiv/lpdf-fld.lua b/tex/context/base/mkiv/lpdf-fld.lua
index 1c39b8876..dea5c16d7 100644
--- a/tex/context/base/mkiv/lpdf-fld.lua
+++ b/tex/context/base/mkiv/lpdf-fld.lua
@@ -103,7 +103,7 @@ local pdf_tx = pdfconstant("Tx")
local pdf_sig = pdfconstant("Sig")
local pdf_ch = pdfconstant("Ch")
local pdf_btn = pdfconstant("Btn")
------ pdf_yes = pdfconstant("Yes")
+local pdf_yes = pdfconstant("Yes")
local pdf_off = pdfconstant("Off")
local pdf_p = pdfconstant("P") -- None Invert Outline Push
local pdf_n = pdfconstant("N") -- None Invert Outline Push
@@ -341,10 +341,10 @@ local function fieldsurrounding(specification)
alternative, a = "tf", s.tf
end
local tag = fontstyle .. fontalternative
- fontsize = todimen(fontsize)
- fontsize = fontsize and (bpfactor * fontsize) or 12
+ fontsize = todimen(fontsize)
+ fontsize = fontsize and (bpfactor * fontsize) or 12
fontraise = 0.1 * fontsize -- todo: figure out what the natural one is and compensate for strutdp
- local fontcode = formatters["%0.4f Tf %0.4f Ts"](fontsize,fontraise)
+ local fontcode = formatters["%0.4F Tf %0.4F Ts"](fontsize,fontraise)
-- we could test for colorvalue being 1 (black) and omit it then
local colorcode = pdfcolor(3,colorvalue) -- we force an rgb color space
if trace_fields then
@@ -367,9 +367,9 @@ codeinjections.fieldsurrounding = fieldsurrounding
local function registerfonts()
if next(usedfonts) then
checkpdfdocencoding() -- already done
- local d = pdfdictionary()
- local pdffonttype, pdffontsubtype = pdfconstant("Font"), pdfconstant("Type1")
- -- for tag, name in next, usedfonts do
+ local pdffontlist = pdfdictionary()
+ local pdffonttype = pdfconstant("Font")
+ local pdffontsubtype = pdfconstant("Type1")
for tag, name in sortedhash(usedfonts) do
local f = pdfdictionary {
Type = pdffonttype,
@@ -378,9 +378,9 @@ local function registerfonts()
BaseFont = pdfconstant(name),
Encoding = pdfdocencodingvector,
}
- d[tag] = pdfreference(pdfflushobject(f))
+ pdffontlist[tag] = pdfreference(pdfflushobject(f))
end
- return d
+ return pdffontlist
end
end
@@ -388,7 +388,7 @@ end
local function fieldappearances(specification)
-- todo: caching
- local values = specification.values
+ local values = specification.values
local default = specification.default -- todo
if not values then
-- error
@@ -404,22 +404,117 @@ local function fieldappearances(specification)
n, r, d = v[1], v[2], v[3]
end
local appearance = pdfdictionary {
- N = registeredsymbol(n), R = registeredsymbol(r), D = registeredsymbol(d),
+ N = registeredsymbol(n),
+ R = registeredsymbol(r),
+ D = registeredsymbol(d),
}
return pdfshareobjectreference(appearance)
-- return pdfreference(pdfflushobject(appearance))
end
-local YesorOn = "Yes" -- somehow On is not always working out well any longer (why o why this change)
+-- local YesorOn = "Yes" -- somehow On is not always working out well any longer (why o why this change)
-- beware ... maybe we should have unique /Yes1 ... we will probably
-- change this one too.
--
-- TODO: the same as radio .. play safe and use different names.
+-- local function fieldstates_check(specification,forceyes,values,default,yesdefault)
+-- -- we don't use Opt here (too messy for radio buttons)
+-- local values, default = values or specification.values, default or specification.default
+-- if not values or values == "" then
+-- -- error
+-- return
+-- end
+-- local v = settings_to_array(values)
+-- local yes, off, yesn, yesr, yesd, offn, offr, offd
+-- if #v == 1 then
+-- yes, off = v[1], v[1]
+-- else
+-- yes, off = v[1], v[2]
+-- end
+-- local yesshown, yesvalue = lpegmatch(splitter,yes)
+-- if not (yesshown and yesvalue) then
+-- yesshown = yes, yes
+-- end
+-- yes = settings_to_array(yesshown)
+-- local offshown, offvalue = lpegmatch(splitter,off)
+-- if not (offshown and offvalue) then
+-- offshown = off, off
+-- end
+-- off = settings_to_array(offshown)
+-- if #yes == 1 then
+-- yesn, yesr, yesd = yes[1], yes[1], yes[1]
+-- elseif #yes == 2 then
+-- yesn, yesr, yesd = yes[1], yes[1], yes[2]
+-- else
+-- yesn, yesr, yesd = yes[1], yes[2], yes[3]
+-- end
+-- if #off == 1 then
+-- offn, offr, offd = off[1], off[1], off[1]
+-- elseif #off == 2 then
+-- offn, offr, offd = off[1], off[1], off[2]
+-- else
+-- offn, offr, offd = off[1], off[2], off[3]
+-- end
+-- if forceyes == true then
+-- forceyes = YesorOn -- spec likes Yes more but we've used On for ages now
+-- else
+-- -- false or string
+-- end
+-- if not yesvalue then
+-- yesvalue = yesdefault or yesn
+-- end
+-- if not offvalue then
+-- offvalue = offn
+-- end
+-- if default == yesn then
+-- default = pdfconstant(forceyes or yesn)
+-- else
+-- default = pdf_off
+-- end
+-- local appearance
+-- if false then -- needs testing
+-- appearance = pdfdictionary { -- maybe also cache components
+-- N = pdfshareobjectreference(pdfdictionary { [forceyes or yesn] = registeredsymbol(yesn), Off = registeredsymbol(offn) }),
+-- R = pdfshareobjectreference(pdfdictionary { [forceyes or yesr] = registeredsymbol(yesr), Off = registeredsymbol(offr) }),
+-- D = pdfshareobjectreference(pdfdictionary { [forceyes or yesd] = registeredsymbol(yesd), Off = registeredsymbol(offd) }),
+-- }
+-- else
+-- appearance = pdfdictionary { -- maybe also cache components
+-- N = pdfdictionary { [forceyes or yesn] = registeredsymbol(yesn), Off = registeredsymbol(offn) },
+-- R = pdfdictionary { [forceyes or yesr] = registeredsymbol(yesr), Off = registeredsymbol(offr) },
+-- D = pdfdictionary { [forceyes or yesd] = registeredsymbol(yesd), Off = registeredsymbol(offd) }
+-- }
+-- end
+-- local appearanceref = pdfshareobjectreference(appearance)
+-- -- local appearanceref = pdfreference(pdfflushobject(appearance))
+-- return appearanceref, default, yesvalue
+-- end
+
+-- The rendering part of form support has always been crappy and didn't really
+-- improve over time. Did bugs become features? Who knows. Why provide for instance
+-- control over appearance and then ignore it when the mouse clicks someplace else.
+-- Strangely enough a lot of effort went into JavaScript support while basic
+-- appearance control of checkboxes stayed poor. I found this link when googling for
+-- conformation after the n^th time looking into this behaviour:
+--
+-- https://stackoverflow.com/questions/15479855/pdf-appearance-streams-checkbox-not-shown-correctly-after-focus-lost
+--
+-- ... "In particular check boxes, therefore, whenever not interacting with the user, shall
+-- be displayed using their normal captions, not their appearances."
+--
+-- So: don't use check boxes. In fact, even radio buttons can have these funny "flash some
+-- funny symbol" side effect when clocking on them. I tried all combinations if /H and /AP
+-- and /AS and ... Because (afaiks) the acrobat interface assumes that one uses dingbats no
+-- one really cared about getting custom appeances done well. This erratic behaviour might
+-- as well be the reason why no open source viewer ever bothered implementing forms. It's
+-- probably also why most forms out there look kind of bad.
+
local function fieldstates_check(specification,forceyes,values,default,yesdefault)
-- we don't use Opt here (too messy for radio buttons)
- local values, default = values or specification.values, default or specification.default
+ local values = values or specification.values
+ local default = default or specification.default
if not values or values == "" then
-- error
return
@@ -461,28 +556,28 @@ local function fieldstates_check(specification,forceyes,values,default,yesdefaul
if not offvalue then
offvalue = offn
end
- if forceyes == true then
- forceyes = YesorOn -- spec likes Yes more but we've used On for ages now
- else
- -- false or string
- end
if default == yesn then
- default = pdfconstant(forceyes or yesn)
+ default = pdf_yes
else
default = pdf_off
end
+ if yesvalue == yesn then
+ yesvalue = "Yes"
+ else
+ yesvalue = "Off"
+ end
local appearance
if false then -- needs testing
appearance = pdfdictionary { -- maybe also cache components
- N = pdfshareobjectreference(pdfdictionary { [forceyes or yesn] = registeredsymbol(yesn), Off = registeredsymbol(offn) }),
- R = pdfshareobjectreference(pdfdictionary { [forceyes or yesr] = registeredsymbol(yesr), Off = registeredsymbol(offr) }),
- D = pdfshareobjectreference(pdfdictionary { [forceyes or yesd] = registeredsymbol(yesd), Off = registeredsymbol(offd) }),
+ N = pdfshareobjectreference(pdfdictionary { Yes = registeredsymbol(yesn), Off = registeredsymbol(offn) }),
+ R = pdfshareobjectreference(pdfdictionary { Yes = registeredsymbol(yesr), Off = registeredsymbol(offr) }),
+ D = pdfshareobjectreference(pdfdictionary { Yes = registeredsymbol(yesd), Off = registeredsymbol(offd) }),
}
else
appearance = pdfdictionary { -- maybe also cache components
- N = pdfdictionary { [forceyes or yesn] = registeredsymbol(yesn), Off = registeredsymbol(offn) },
- R = pdfdictionary { [forceyes or yesr] = registeredsymbol(yesr), Off = registeredsymbol(offr) },
- D = pdfdictionary { [forceyes or yesd] = registeredsymbol(yesd), Off = registeredsymbol(offd) }
+ N = pdfdictionary { Yes = registeredsymbol(yesn), Off = registeredsymbol(offn) },
+ R = pdfdictionary { Yes = registeredsymbol(yesr), Off = registeredsymbol(offr) },
+ D = pdfdictionary { Yes = registeredsymbol(yesd), Off = registeredsymbol(offd) }
}
end
local appearanceref = pdfshareobjectreference(appearance)
@@ -490,12 +585,11 @@ local function fieldstates_check(specification,forceyes,values,default,yesdefaul
return appearanceref, default, yesvalue
end
--- It looks like there is always a (MK related) symbol used and that
--- the appearances are only used as ornaments behind a symbol. So,
--- contrary to what we did when widgets showed up, we now limit
--- ourself to more dumb definitions. Especially when highlighting is
--- enabled weird interferences happen. So, we play safe (some nice code
--- has been removed that worked well till recently).
+-- It looks like there is always a (MK related) symbol used and that the appearances
+-- are only used as ornaments behind a symbol. So, contrary to what we did when
+-- widgets showed up, we now limit ourself to more dumb definitions. Especially when
+-- highlighting is enabled weird interferences happen. So, we play safe (some nice
+-- code has been removed that worked well till recently).
local function fieldstates_radio(specification,name,parent)
local values = values or specification.values
@@ -574,7 +668,7 @@ local function fieldstates_radio(specification,name,parent)
return appearanceref, default, yesvalue
end
-local function fielddefault(field)
+local function fielddefault(field,pdf_yes)
local default = field.default
if not default or default == "" then
local values = settings_to_array(field.values)
@@ -583,12 +677,12 @@ local function fielddefault(field)
if not default or default == "" then
return pdf_off
else
- return pdfconstant(default)
+ return pdf_yes or pdfconstant(default)
end
end
local function fieldoptions(specification)
- local values = specification.values
+ local values = specification.values
local default = specification.default
if values then
local v = settings_to_array(values)
@@ -792,7 +886,9 @@ function codeinjections.definefield(specification)
end
function codeinjections.clonefield(specification) -- obsolete
- local p, c, v = specification.parent, specification.children, specification.alternative
+ local p = specification.parent
+ local c = specification.children
+ local v = specification.alternative
if not p or not c then
if trace_fields then
report_fields("invalid clone, children %a, parent %a, alternative %a",c,p,v)
@@ -876,7 +972,8 @@ local function enhance(specification,option)
return specification
end
--- finish
+-- finish (if we also collect parents we can inline the kids which is
+-- more efficient ... but hardly anyone used widgets so ...)
local collected = pdfarray()
local forceencoding = false
@@ -951,14 +1048,14 @@ end
local function save_parent(field,specification,d,hasopt)
local kidsnum = pdfreserveobject()
- d.Kids = pdfreference(kidsnum)
+ d.Kids = pdfreference(kidsnum)
field.kidsnum = kidsnum
- field.kids = pdfarray()
+ field.kids = pdfarray()
if hasopt then
local optnum = pdfreserveobject()
- d.Opt = pdfreference(optnum)
+ d.Opt = pdfreference(optnum)
field.optnum = optnum
- field.opt = pdfarray()
+ field.opt = pdfarray()
end
local pnum = pdfflushobject(d)
field.pobj = pnum
@@ -974,16 +1071,21 @@ local function save_kid(field,specification,d,optname)
opt[#opt+1] = optname
end
end
- local width, height, depth = specification.width or 0, specification.height or 0, specification.depth
+ local width = specification.width or 0
+ local height = specification.height or 0
+ local depth = specification.depth or 0
local box = hpack_node(nodeinjections.annotation(width,height,depth,d(),kn))
- box.width, box.height, box.depth = width, height, depth -- redundant
+ -- redundant
+ box.width = width
+ box.height = height
+ box.depth = depth
return box
end
local function makelineparent(field,specification)
- local text = pdfunicode(field.default)
+ local text = pdfunicode(field.default)
local length = tonumber(specification.length or 0) or 0
- local d = pdfdictionary {
+ local d = pdfdictionary {
Subtype = pdf_widget,
T = pdfunicode(specification.title),
F = fieldplus(specification),
@@ -1001,7 +1103,8 @@ local function makelineparent(field,specification)
end
local function makelinechild(name,specification)
- local field, parent = clones[name], nil
+ local field = clones[name]
+ local parent = nil
if field then
parent = fields[field.parent]
if not parent.pobj then
@@ -1012,7 +1115,7 @@ local function makelinechild(name,specification)
end
else
parent = fields[name]
- field = parent
+ field = parent
if not parent.pobj then
if trace_fields then
report_fields("using parent text %a",name)
@@ -1049,9 +1152,9 @@ end
-- copy of line ... probably also needs a /Lock
local function makesignatureparent(field,specification)
- local text = pdfunicode(field.default)
+ local text = pdfunicode(field.default)
local length = tonumber(specification.length or 0) or 0
- local d = pdfdictionary {
+ local d = pdfdictionary {
Subtype = pdf_widget,
T = pdfunicode(specification.title),
F = fieldplus(specification),
@@ -1069,7 +1172,8 @@ local function makesignatureparent(field,specification)
end
local function makesignaturechild(name,specification)
- local field, parent = clones[name], nil
+ local field = clones[name]
+ local parent = nil
if field then
parent = fields[field.parent]
if not parent.pobj then
@@ -1080,7 +1184,7 @@ local function makesignaturechild(name,specification)
end
else
parent = fields[name]
- field = parent
+ field = parent
if not parent.pobj then
if trace_fields then
report_fields("using parent text %a",name)
@@ -1126,7 +1230,8 @@ local function makechoiceparent(field,specification)
end
local function makechoicechild(name,specification)
- local field, parent = clones[name], nil
+ local field = clones[name]
+ local parent = nil
if field then
parent = fields[field.parent]
if not parent.pobj then
@@ -1137,7 +1242,7 @@ local function makechoicechild(name,specification)
end
else
parent = fields[name]
- field = parent
+ field = parent
if not parent.pobj then
if trace_fields then
report_fields("using parent choice %a",name)
@@ -1176,15 +1281,16 @@ local function makecheckparent(field,specification)
F = fieldplus(specification),
Ff = fieldflag(specification),
OC = fieldlayer(specification),
- AA = fieldactions(specification),
+ AA = fieldactions(specification), -- can be shared
FT = pdf_btn,
- V = fielddefault(field),
+ V = fielddefault(field,pdf_yes),
}
save_parent(field,specification,d,true)
end
local function makecheckchild(name,specification)
- local field, parent = clones[name], nil
+ local field = clones[name]
+ local parent = nil
if field then
parent = fields[field.parent]
if not parent.pobj then
@@ -1195,7 +1301,7 @@ local function makecheckchild(name,specification)
end
else
parent = fields[name]
- field = parent
+ field = parent
if not parent.pobj then
if trace_fields then
report_fields("using parent check %a",name)
@@ -1211,7 +1317,7 @@ local function makecheckchild(name,specification)
Parent = pdfreference(parent.pobj),
F = fieldplus(specification),
OC = fieldlayer(specification),
- AA = fieldactions(specification),
+ AA = fieldactions(specification), -- can be shared
H = pdf_n,
}
local fontsymbol = specification.fontsymbol
@@ -1241,7 +1347,7 @@ local function makepushparent(field,specification) -- check if we can share with
F = fieldplus(specification),
Ff = fieldflag(specification),
OC = fieldlayer(specification),
- AA = fieldactions(specification),
+ AA = fieldactions(specification), -- can be shared
FT = pdf_btn,
AP = fieldappearances(field),
H = pdf_p,
@@ -1278,7 +1384,7 @@ local function makepushchild(name,specification)
Parent = pdfreference(field.pobj),
F = fieldplus(specification),
OC = fieldlayer(specification),
- AA = fieldactions(specification),
+ AA = fieldactions(specification), -- can be shared
H = pdf_p,
}
if fontsymbol and fontsymbol ~= "" then
@@ -1313,7 +1419,7 @@ end
local function makeradiochild(name,specification)
local field, parent = clones[name], nil
if field then
- field = radios[field.parent]
+ field = radios[field.parent]
parent = fields[field.parent]
if not parent.pobj then
if trace_fields then
diff --git a/tex/context/base/mkiv/lpdf-grp.lua b/tex/context/base/mkiv/lpdf-grp.lua
index 34925fddd..ee6aa5d84 100644
--- a/tex/context/base/mkiv/lpdf-grp.lua
+++ b/tex/context/base/mkiv/lpdf-grp.lua
@@ -252,6 +252,14 @@ end
-- temp hack
+local f_image = formatters["%.6F 0 0 %.6F 0 0 cm /%s Do"]
+local f_pattern = formatters["q /Pattern cs /%s scn 0 0 %.6F %.6F re f Q"] -- q Q is not really needed
+
+directives.register("pdf.stripzeros",function()
+ f_image = formatters["%.6N 0 0 %.6N 0 0 cm /%s Do"]
+ f_pattern = formatters["q /Pattern cs /%s scn 0 0 %.6N %.6N re f Q"]
+end)
+
function img.package(image) -- see lpdf-u3d **
local boundingbox = image.bbox
local imagetag = "Im" .. image.index
@@ -270,7 +278,7 @@ function img.package(image) -- see lpdf-u3d **
local height = boundingbox[4]
local xform = img.scan {
attr = resources(),
- stream = formatters["%.6F 0 0 %.6F 0 0 cm /%s Do"](width,height,imagetag),
+ stream = f_image(width,height,imagetag),
bbox = { 0, 0, width/basepoints, height/basepoints },
}
img.immediatewrite(xform)
@@ -280,7 +288,6 @@ end
-- experimental
local nofpatterns = 0
-local f_pattern = formatters["q /Pattern cs /%s scn 0 0 %.6F %.6F re f Q"] -- q Q is not really needed
local texsavebox = tex.saveboxresource
diff --git a/tex/context/base/mkiv/scrn-fld.mkvi b/tex/context/base/mkiv/scrn-fld.mkvi
index dec334209..7327f7c14 100644
--- a/tex/context/base/mkiv/scrn-fld.mkvi
+++ b/tex/context/base/mkiv/scrn-fld.mkvi
@@ -627,11 +627,13 @@
%D Common stuff (obsolete)
+
\newcount\c_scrn_field_system_n
-\def\nextsystemfield
- {\global\advance\c_scrn_field_system_n\plusone
- \def\currentsystemfield{sys::\number\c_scrn_field_system_n}}
+\def\currentsystemfield{sys::\number\c_scrn_field_system_n}
+
+\unexpanded\def\nextsystemfield
+ {\global\advance\c_scrn_field_system_n\plusone}
%D \CONTEXT\ had tooltips right from the moment that it
%D supported fields. Due to the at that moment somewhat
@@ -822,21 +824,56 @@
\unexpanded\def\overlayrollbutton
{\dodoubleargument\scrn_rollbutton_overlay}
-\def\scrn_rollbutton_overlay[#regionin][#regionout]%
+\unexpanded\def\scrn_rollbutton_overlay[#regionin][#regionout]%
+ {\iffirstargument
+ \scrn_rollbutton_overlay_indeed[#regionin][#regionout]%
+ \else
+ \expandafter\scrn_rollbutton_overlay_indeed
+ \fi}
+
+% \def\scrn_rollbutton_overlay_indeed#regionin#regionout%
+% {\iflocation
+% \bgroup
+% \global\advance\c_scrn_rollbutton_n\plusone
+% \definesymbol
+% [rollbutton:\number\c_scrn_rollbutton_n]
+% [{\framed[\c!frame=\v!off,\c!width=\overlaywidth,\c!height=\overlayheight]{}}]%
+% \definefieldbody
+% [rollbutton:\number\c_scrn_rollbutton_n]
+% [\c!type=push,
+% \c!regionin={#regionin},
+% \c!regionout={#regionout},
+% \c!values=\currentsystemfield,
+% \c!default=\currentsystemfield]%
+% \fitfield[\currentsystemfield]%
+% \egroup
+% \fi}
+
+\def\scrn_rollbutton_overlay_indeed#regionin#regionout%
{\iflocation
\bgroup
- \global\advance\c_scrn_rollbutton_n\plusone
+ \global\advance\c_scrn_rollbutton_n_button\plusone
+ \global\advance\c_scrn_rollbutton_n_symbol\plusone
\definesymbol
- [rollbutton:\number\c_scrn_rollbutton_n]
+ [rollsymbol:\number\c_scrn_rollbutton_n_symbol]
[{\framed[\c!frame=\v!off,\c!width=\overlaywidth,\c!height=\overlayheight]{}}]%
- \definefieldbody
- [rollbutton:\number\c_scrn_rollbutton_n]
- [\c!type=push,
- \c!regionin={#regionin},
- \c!regionout={#regionout},
- \c!values=\currentsystemfield,
- \c!default=\currentsystemfield]%
- \fitfield[\currentsystemfield]%
+ % \definefieldbody
+ % [rollbutton:\number\c_scrn_rollbutton_n_button]
+ % [\c!type=push,
+ % \c!values=rollsymbol:\number\c_scrn_rollbutton_n_symbol,
+ % \c!default=rollsymbol:\number\c_scrn_rollbutton_n_symbol]%
+ % \fitfield
+ % [rollbutton:\number\c_scrn_rollbutton_n_button]%
+ % [\c!regionin={#regionin},
+ % \c!regionout={#regionout}]%
+ %
+ \definefield
+ [rollbutton:\number\c_scrn_rollbutton_n_button][push][rollbutton]
+ [rollsymbol:\number\c_scrn_rollbutton_n_symbol]%
+ \fitfield
+ [rollbutton:\number\c_scrn_rollbutton_n_button]%
+ [\c!regionin={#regionin},\c!regionout={#regionout}]%
+ %
\egroup
\fi}
@@ -914,7 +951,7 @@
%D We plug into the menu system
\unexpanded\def\scrn_menu_psh_start[#reference]#text\stoppsh
- {\starttxt\pushbutton[\currentmenu][#reference]\stoptxt}
+ {\starttxt\pushbutton[\currentinteractionmenu][#reference]\stoptxt}
\unexpanded\def\scrn_menu_psh_direct[#reference]#text\\
{\scrn_menu_psh_start[#reference]\stoprob}
@@ -956,6 +993,8 @@
\newcount\c_scrn_rollbutton_n_button
\newcount\c_scrn_rollbutton_n_symbol
+\def\lastrollbuttonindex{\the\c_scrn_rollbutton_n_button}
+
\unexpanded\def\rollbutton
{\dodoubleempty\scrn_rollbutton}
@@ -973,11 +1012,16 @@
\setbuttonparameter
\usebuttonstyleandcolor}
+\setupfield
+ [rollbutton]
+ [\c!frame=\v!off,
+ \c!offset=\v!overlay]
+
\def\scrn_rollbutton[#tag][#settings]#text[#reference]%
{\dontleavehmode
\bgroup
- \advance\c_scrn_rollbutton_n_button\plusone
- \advance\c_scrn_rollbutton_n_symbol\plusone
+ \global\advance\c_scrn_rollbutton_n_button\plusone
+ \global\advance\c_scrn_rollbutton_n_symbol\plusone
\iffirstargument
\ifsecondargument
\edef\currentinteractionmenu{#tag}%
@@ -994,21 +1038,18 @@
\else
\let\scrn_rollbutton_symbol\scrn_rollbutton_symbol_b
\fi
- % todo: share symbols, tricky since different dimensions
+ % todo: share symbols, tricky since different dimensions (maybe \unique...)
\definesymbol[rollsymbol:\number\c_scrn_rollbutton_n_symbol:n][\scrn_rollbutton_symbol{n}{#text}]%
\definesymbol[rollsymbol:\number\c_scrn_rollbutton_n_symbol:r][\scrn_rollbutton_symbol{r}{#text}]%
\definesymbol[rollsymbol:\number\c_scrn_rollbutton_n_symbol:d][\scrn_rollbutton_symbol{d}{#text}]%
- \setupfield
- [rollbutton]
- [\c!frame=\v!off,
- \c!offset=\v!overlay,
- \c!clickout={#reference}]%
\definefield
[rollbutton:\number\c_scrn_rollbutton_n_button][push][rollbutton]
[rollsymbol:\number\c_scrn_rollbutton_n_symbol:n,%
rollsymbol:\number\c_scrn_rollbutton_n_symbol:r,%
rollsymbol:\number\c_scrn_rollbutton_n_symbol:d]%
- \fitfield[rollbutton:\number\c_scrn_rollbutton_n_button]%
+ \fitfield
+ [rollbutton:\number\c_scrn_rollbutton_n_button]%
+ [\c!clickout={#reference}]%
\egroup}
\unexpanded\def\scrn_rollbutton_symbol_indeed#getparameter#inheritedframed#setparameter#usestyleandcolor#what#text%
@@ -1023,7 +1064,7 @@
%D We plug into the menu system
\unexpanded\def\scrn_menu_rob_start[#reference]#text\stoprob
- {\starttxt\rollbutton[\currentmenu]{\ignorespaces#text\unskip}[#reference]\stoptxt}
+ {\starttxt\rollbutton[\currentinteractionmenu]{\ignorespaces#text\unskip}[#reference]\stoptxt}
\unexpanded\def\scrn_menu_rob_direct[#reference]#text\\
{\scrn_menu_rob_start[#reference]#text\stoprob}
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 5d0bf9406..b95443a9a 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index c7ffdbd8b..0e8d79426 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-tag.lua b/tex/context/base/mkiv/strc-tag.lua
index f77f766a9..0453640ca 100644
--- a/tex/context/base/mkiv/strc-tag.lua
+++ b/tex/context/base/mkiv/strc-tag.lua
@@ -408,9 +408,9 @@ function tags.stop()
end
local t = stack[stacksize]
if not t then
- -- if trace_tags then
+ if trace_tags then
report_tags("ignoring end tag, previous chain: %s",stacksize > 0 and concat(chain," ",1,stacksize) or "none")
- -- end
+ end
t = unsetvalue
end
texsetattribute(a_tagged,t)
diff --git a/tex/context/base/mkiv/strc-tag.mkiv b/tex/context/base/mkiv/strc-tag.mkiv
index 8530431ed..84e11a632 100644
--- a/tex/context/base/mkiv/strc-tag.mkiv
+++ b/tex/context/base/mkiv/strc-tag.mkiv
@@ -197,38 +197,44 @@
\installsetuponlycommandhandler \??tagging {tagging}
+% it makes no sense to have labels ... maybe some day as a last 'replace' in the export
+% which might be more efficient then ... okay, we now cannot overload but who cares
+
\unexpanded\def\strc_tags_element_start_yes{\dodoubleempty\strc_tags_element_start_yes_indeed}
\unexpanded\def\strc_tags_element_start_nop{\dodoubleempty\strc_tags_element_start_nop_indeed}
\unexpanded\def\strc_tags_element_start_yes_indeed
{\iftrialtypesetting
- \expandafter\strc_tags_element_start_nop_indeed
+ \expandafter\strc_tags_element_start_yes_indeed_nop
\else
\expandafter\strc_tags_element_start_yes_indeed_yes
\fi}
-\unexpanded\def\strc_tags_element_stop
- {\iftrialtypesetting
- \expandafter\strc_tags_element_stop_nop
- \else
- \expandafter\strc_tags_element_stop_yes
- \fi}
-
-% it makes no sense to have labels ... maybe some day as a last 'replace' in the export
-% which might be more efficient then ... okay, we now cannot overload but who cares
+\unexpanded\def\strc_tags_element_start_yes_indeed_nop[#1][#2]%
+ {}
\unexpanded\def\strc_tags_element_start_yes_indeed_yes[#1][#2]%
{\clf_starttag_u{#1}{#2}}
\unexpanded\def\strc_tags_element_stop_yes
- {\clf_stoptag}
+ {\iftrialtypesetting
+ \expandafter\strc_tags_element_stop_yes_indeed_nop
+ \else
+ \expandafter\strc_tags_element_stop_yes_indeed_yes
+ \fi}
-\unexpanded\def\strc_tags_element_start_nop_indeed[#1][#2]%
+\unexpanded\def\strc_tags_element_stop_nop
{}
-\unexpanded\def\strc_tags_element_stop_nop
+\unexpanded\def\strc_tags_element_stop_yes_indeed_nop
{}
+\unexpanded\def\strc_tags_element_stop_yes_indeed_yes
+ {\clf_stoptag}
+
+\let\strc_tags_element_start_nop_indeed\strc_tags_element_start_yes_indeed_nop
+\let\strc_tags_element_stop_nop_indeed \strc_tags_element_stop_yes_indeed_nop
+
\def\strc_tags_report_hyphen#1%
{\writestatus\m!languages{setting #1 to U+00AD}}
diff --git a/tex/context/base/mkiv/supp-box.mkiv b/tex/context/base/mkiv/supp-box.mkiv
index 1ac51f7cc..311b8a520 100644
--- a/tex/context/base/mkiv/supp-box.mkiv
+++ b/tex/context/base/mkiv/supp-box.mkiv
@@ -3002,6 +3002,19 @@
\unexpanded\def\shiftbox{\clf_shiftbox}
+%D This one has been moved from a 2 decade old file. It makes something boxed
+%D sit on the baseline.
+
+\unexpanded\def\linebox
+ {\hpack\bgroup\dowithnextbox
+ {\scratchdimen\dimexpr\dimexpr\htdp\nextbox-\lineheight\relax/2+\dp\strutbox\relax
+ \setbox\nextbox\hpack{\lower\scratchdimen\box\nextbox}%
+ \ht\nextbox\ht\strutbox
+ \dp\nextbox\dp\strutbox
+ \box\nextbox
+ \egroup}
+ \hbox}
+
\protect \endinput
% a bit of test code:
diff --git a/tex/context/interface/mkiv/context-en.xml b/tex/context/interface/mkiv/context-en.xml
index bf442c134..d53aebac3 100644
--- a/tex/context/interface/mkiv/context-en.xml
+++ b/tex/context/interface/mkiv/context-en.xml
@@ -1909,6 +1909,17 @@
<cd:content/>
</cd:arguments>
</cd:command>
+ <cd:command file="supp-box.mkiv" level="system" name="linebox">
+ <cd:arguments>
+ <cd:content/>
+ </cd:arguments>
+ </cd:command>
+ <cd:command file="supp-box.mkiv" level="system" name="shiftbox">
+ <cd:arguments>
+ <cd:dimension/>
+ <cd:content/>
+ </cd:arguments>
+ </cd:command>
<cd:command file="supp-box.mkiv" level="system" name="inlinedbox">
<cd:arguments>
<cd:content/>
diff --git a/tex/context/interface/mkiv/i-boxes.xml b/tex/context/interface/mkiv/i-boxes.xml
index dd5c30529..e89be4fd0 100644
--- a/tex/context/interface/mkiv/i-boxes.xml
+++ b/tex/context/interface/mkiv/i-boxes.xml
@@ -246,6 +246,19 @@
</cd:arguments>
</cd:command>
+ <cd:command name="linebox" level="system" file="supp-box.mkiv">
+ <cd:arguments>
+ <cd:content/>
+ </cd:arguments>
+ </cd:command>
+
+ <cd:command name="shiftbox" level="system" file="supp-box.mkiv">
+ <cd:arguments>
+ <cd:dimension/>
+ <cd:content/>
+ </cd:arguments>
+ </cd:command>
+
<cd:command name="inlinedbox" level="system" file="supp-box.mkiv">
<cd:arguments>
<cd:content/>
@@ -1128,4 +1141,4 @@
</cd:arguments>
</cd:command>
-</cd:interface> \ No newline at end of file
+</cd:interface>
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 9c45d463f..ddec39373 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index c7a9f2005..a45f8b996 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/context/modules/mkiv/s-cgj.mkiv b/tex/context/modules/mkiv/s-cgj.mkiv
new file mode 100644
index 000000000..2950a799d
--- /dev/null
+++ b/tex/context/modules/mkiv/s-cgj.mkiv
@@ -0,0 +1,714 @@
+%D \module
+%D [file=s-cgj.mkiv,
+%D version=2018.09.28,
+%D title=Context group style file,
+%D subtitle=CG-journal base style,
+%D author={Adrian Egger, W. Egger, Taco Hoekwater},
+%D date=\currentdate,
+%D copyright={Context Group}]
+
+%D \type {\enablemode[draft]} has to come before loading the style. Maybe some
+%D day I'll make something more official and then some \type {everydraft} or so.
+
+% Fixme and todo ...
+
+\startmodule[cgj]
+
+\definecolor[NoteColor][g=1,r=.25,b=.25]
+\definecolor[WarnColor][r=1,g=.25,b=.25]
+
+\unexpanded\def\todo#1%
+ {\startframedtext[background=color,backgroundcolor=NoteColor]
+ \dontleavehmode\start\bf TODO:\stop~~#1\par
+ \stopframedtext}
+
+\unexpanded\def\fixme#1%
+ {\startframedtext[background=color,backgroundcolor=WarnColor]
+ \dontleavehmode\start\bf FIXME:\stop~~#1\par
+ \stopframedtext }
+
+%D Base set of variables. The actual values are set in the file
+%D CG-journal.
+
+\setvariables
+ [CG-Journal]
+ [Title={Journal},
+ RunningTitle={Journal},
+ SubTitle={From the base set of variables},
+ Version=1.0,
+ NOFColumns=2]
+
+\startmode[onecolumn,fullwidth]
+ \setvariables
+ [CG-Journal]
+ [NOFColumns=1]
+\stopmode
+
+% Fonts setup.
+
+\usetypescriptfile[plex]
+
+\starttypescript [cgj]
+ \definetypeface [cgj] [rm] [serif][ibmplex-light] [default]
+ \definetypeface [cgj] [ss] [sans] [ibmplex-light] [default]
+ \definetypeface [cgj] [mm] [math] [palatino] [default]
+ \definetypeface [cgj] [tt] [mono] [ibmplex] [default][rscale=0.9]
+\stoptypescript
+
+\starttypescript [cgj-light]
+ \definetypeface [cgj-light] [rm] [serif][ibmplex-extralight] [default]
+ \definetypeface [cgj-light] [ss] [sans] [ibmplex-extralight] [default]
+ \definetypeface [cgj-light] [mm] [math] [palatino] [default]
+ \definetypeface [cgj-light] [tt] [mono] [ibmplex-extralight] [default][rscale=0.9]
+\stoptypescript
+
+\starttypescript [cgj-extralight]
+ \definetypeface [cgj-extralight] [rm] [serif][ibmplex-thin] [default]
+ \definetypeface [cgj-extralight] [ss] [sans] [ibmplex-thin] [default]
+ \definetypeface [cgj-extralight] [mm] [math] [palatino] [default]
+ \definetypeface [cgj-extralight] [tt] [mono] [ibmplex-thin] [default][rscale=0.9]
+\stoptypescript
+
+\usebodyfont
+ [cgj-light,cgj-extralight]
+
+\setupbodyfont
+ [cgj,ss,10pt]
+
+\definebodyfontenvironment[10pt][interlinespace=13pt]
+\definebodyfontenvironment[12pt][interlinespace=16pt]
+\definebodyfontenvironment[16pt][interlinespace=20pt]
+
+\setupinterlinespace
+ [line=13pt]
+
+\let\sl\it
+
+%D Path to the logos
+
+\setupexternalfigures
+ [directory=./Logos,
+ location={global,local,default}]
+
+%D Logos: black logo only.
+
+\useexternalfigure
+ [Logo]
+ [cg_corp_logo_loop_black_cmyk]
+ [width=30mm,
+ height=19mm]
+
+%D Black logo with text
+
+\useexternalfigure
+ [LogoText]
+ [cg_corp_logo_text_black_cmyk]
+ [width=50mm,
+ height=35.2mm]
+
+%D Colors
+
+\definecolor[CGlightblue][c=1,m=.15,y=0,k=0]
+\definecolor[CGdeepblue] [c=1,m=.8,y=0,k=.3]
+\definecolor[CGgray] [c=0,m=0,y=0,k=.1]
+
+%D Article styles
+
+\definealternativestyle
+ [Articleheading]
+ [{\switchtobodyfont[16pt,ss]\bf}]
+
+\definealternativestyle
+ [Articlesubheading]
+ [{\switchtobodyfont[16pt,ss]\tf}]
+
+\definealternativestyle
+ [Authorname]
+ [{\switchtobodyfont[12pt,ss]\it}]
+
+\definealternativestyle
+ [Sectionheading]
+ [{\switchtobodyfont[12pt,ss]\bf\setupinterlinespace[line=12pt]}]
+
+\definealternativestyle
+ [Subsectionheading]
+ [{\switchtobodyfont[cgj-light,10pt,ss]\bf\setupinterlinespace[line=10pt]}]
+
+\definealternativestyle
+ [IntroCopy]
+ [{\switchtobodyfont[12pt,ss]\tf}]
+
+\definealternativestyle
+ [PagenumberStyle]
+ [{\switchtobodyfont[cgj-light,10pt,ss]\bf}]
+
+%D Headerstyles:Breadcrumbs
+
+\definealternativestyle
+ [BreadcrumbMd]
+ [{\switchtobodyfont[cgj-light,10pt,ss]\bf}]
+
+\definealternativestyle
+ [BreadcrumbRg]
+ [{\switchtobodyfont[cgj,10pt,ss]}]
+
+\definealternativestyle
+ [BreadcrumbLt]
+ [{\switchtobodyfont[10pt,ss]\tf}]
+
+\definealternativestyle
+ [BreadcrumbTh]
+ [{\switchtobodyfont[cgj-light,10pt,ss]\tf}]
+
+%D Captionstyles
+
+\definealternativestyle
+ [Captionheading]
+ [{\switchtobodyfont[8pt,ss]\bf\setupinterlinespace[line=8pt]}]
+
+\definealternativestyle
+ [Captiontext]
+ [{\switchtobodyfont[8pt,ss]\tf\setupinterlinespace[line=8pt]}]
+
+%D Article signature
+
+\definealternativestyle
+ [Signaturestyle]
+ [{\switchtobodyfont[10pt,ss]\it}]
+
+%D Article footnotes
+
+\definealternativestyle
+ [Articlefootnotes]
+ [{\switchtobodyfont[8pt,ss]\tf}]
+
+%D Index and TOC styles
+
+\definealternativestyle
+ [IndexContents]
+ [{\switchtobodyfont[16pt,ss]\bf\setupinterlinespace[line=18pt]}]
+
+\definealternativestyle
+ [IndexArticleTitle]
+ [{\switchtobodyfont[12pt,ss]\tf\setupinterlinespace[line=20pt]}]
+
+\definealternativestyle
+ [IndexNumber]
+ [{\switchtobodyfont[12pt,ss]\bf\setupinterlinespace[line=20pt]}]
+
+\definealternativestyle
+ [IndexAuthor]
+ [{\switchtobodyfont[12pt,ss]\it\setupinterlinespace[line=20pt]}]
+
+%D Math: still missing.
+
+%D Verbatim
+
+\definealternativestyle
+ [DisplayMonospaced]
+ [\tt]
+
+\definealternativestyle
+ [DisplayMonospacedX]
+ [{\switchtobodyfont[8pt,tt]}]
+
+\definealternativestyle
+ [DisplayMonospacedS]
+ [{\switchtobodyfont[9pt,tt]\setupinterlinespace[line=10pt]}]
+
+%D Blank adjustment
+
+\defineblank[CGblank] [6pt]
+\defineblank[BigCGblank] [24pt]
+\defineblank[MediumCGblank][12pt]
+
+%D Paper definition
+
+\definepapersize
+ [Journal]
+ [width=210mm,
+ height=266mm]
+
+\setuppapersize
+ [Journal]
+ [Journal]
+
+%D General layout
+
+\definelayout
+ [General]
+ [topspace=18mm,
+ backspace=28mm,
+ header=5mm,
+ headerdistance=7mm,
+ footer=5mm,
+ footerdistance=5mm,
+ width=157mm,
+ height=224mm,
+ marking=on]
+
+\definelayout
+ [Content]
+ [topspace=18mm,
+ backspace=28mm,
+ header=5mm,
+ headerdistance=7mm,
+ footer=0mm,
+ footerdistance=0mm,
+ width=157mm,
+ height=224mm,
+ margindistance=4mm,
+ rightmargin=21mm,
+ leftmargin=21mm,
+ marking=on]
+
+\definelayout
+ [Imprint]
+ [topspace=18mm,
+ backspace=28mm,
+ header=5mm,
+ headerdistance=7mm,
+ footer=5mm,
+ footerdistance=5mm,
+ width=107mm,
+ height=224mm,
+ margindistance=4mm,
+ rightmargin=45.3mm,
+ leftmargin=21mm,
+ marking=on]
+
+\definelayout
+ [SingleColumn]
+ [topspace=18mm,
+ backspace=55mm,
+ header=5mm,
+ headerdistance=7mm,
+ footer=5mm,
+ footerdistance=5mm,
+ width=130mm,
+ height=224mm,
+ margindistance=4mm,
+ leftmargin=48mm,
+ rightmargin=21mm,
+ marking=on]
+
+%D Pagenumbering: Pagenumber is set in the footer
+
+\setuppagenumbering
+ [location=,
+ alternative=doublesided]
+
+%D Head-definitions
+
+\setuphead
+ [title]
+ [style=Articleheading,
+ after={\blank[BigCGblank]},
+ page=yes]
+
+\setuphead
+ [part]
+ [placehead=no,
+ after=,
+ before=,
+ page=no,
+ numbercommand=,
+ expansion=yes]
+
+\setuphead
+ [section]
+ [style=Sectionheading,
+ before={\blank[BigCGblank]},
+ after={\blank[CGblank]},
+ sectionstopper={.},
+ distance=4pt,
+ align={flushleft,nothyphenated},
+ resetnumber=yes,
+ continue=yes]
+
+\setuphead
+ [subsection]
+ [style=Subsectionheading,
+ before={\blank[CGblank]},
+ after={\blank[CGblank]},
+ sectionstopper=,
+ distance=4pt,
+ align={flushleft,nothyphenated},
+ resetnumber=yes,
+ continue=yes]
+
+\setuphead
+ [subject]
+ [style=Sectionheading,
+ before={\blank[BigCGblank]},
+ after=]
+
+\setuphead
+ [subsubject]
+ [style=Subsectionheading,
+ before={\blank[CGblank]},
+ after={\blank[CGblank]},
+ sectionstopper=]
+
+%D A special head for the footnote section in multicolumn mode excuse the low-level
+%D rule, I wanted it to look like the start of footnotes in single column mode. (TH)
+
+\definehead
+ [footnotesubject]
+ [subject]
+
+\setuphead
+ [footnotesubject]
+ [style=Sectionheading,
+ before={\kern -13pt},
+ after={\smash{\lower 13pt\hbox{\vrule width 2.5cm height 1pt depth 0pt}}}]
+
+
+%D The setup of the columns is done at the moment columns are started (see end
+%D of file)
+
+%D Index/TOC page setups
+
+\definelistalternative
+ [CGJ:Index]
+ [renderingsetup=CGJ:Indexheading]
+
+\definelistalternative
+ [CGJ:Index:Chapter]
+ [renderingsetup=CGJ:Indexheading:Chapter]
+
+\startsetups[CGJ:Indexheading:Chapter]
+ \listparameter{before}
+ \vbox \listboxproperties{all} {
+ \forgetall
+ \dontleavehmode
+ \listrenderingsynchronize
+ \hbox to 15mm{
+ \bgroup
+ \useliststyleandcolor{numberstyle}{numbercolor}
+ \currentlistentrypagenumber
+ \egroup}
+ \bgroup
+ \useliststyleandcolor{textstyle}{textcolor}
+ \smash{\currentlistentrytitle}%
+ \egroup
+ }
+ \par
+ \listparameter{after}
+\stopsetups
+
+\startsetups[CGJ:Indexheading]
+ \listparameter{before}
+ \vbox \listboxproperties{all} {
+ \forgetall
+ \dontleavehmode
+ \listrenderingsynchronize
+ \hbox to 15mm{
+ \bgroup
+ \useliststyleandcolor{numberstyle}{numbercolor}
+ \currentlistentrypagenumber
+ \egroup}
+ \bgroup
+ \useliststyleandcolor{textstyle}{textcolor}
+ \currentlistentrytitle
+ \egroup
+ \par
+ }
+ \par
+ \listparameter{after}
+\stopsetups
+
+\setuplist
+ [part]
+ [before={\blank[CGblank]},
+ after=,
+ style=IndexContents,
+ numberstyle=\IndexNumber,
+ textstyle=\IndexArticleTitle,
+ prefix=no,
+ alternative=CGJ:Index:Chapter]
+
+%D Captions
+
+\setupcaptions
+ [suffix={.},
+ headstyle=\Captionheading,
+ style=\Captiontext,
+ distance=6pt]
+
+\setupcaption[figure][way=bypart]
+\setupcaption[table] [way=bypart]
+
+%D Datacollection: article parameters (other fields and defaults)
+
+\unexpanded\def\CGJBibData[#1]%
+ {\getparameters
+ [CGJ]
+ [SubTitle=,
+ RunningAuthor=,
+ RunningTitle=Example,
+ Email=,
+ Address=,
+ Page=1,
+ Title={My Article},
+ Author={Example Author},
+ Period=,
+ Number=,
+ Year=,
+ TocAuthor=,
+ TocTitle=,
+ #1]%
+ \doifnothing
+ {\CGJRunningTitle}
+ {\let\CGJRunningTitle\CGJTitle}%
+ \doifnothing
+ {\CGJRunningAuthor}
+ {\let\CGJRunningAuthor\CGJAuthor}%
+ \doifnothing
+ {\CGJTocAuthor}
+ {\let\CGJTocAuthor\CGJAuthor}%
+ \doifnothing
+ {\CGJTocTitle}
+ {\let\CGJTocTitle\CGJTitle}%
+ \setvariables
+ [CGJToc]
+ [Author=\CGJTocAuthor,
+ Title=\CGJTocTitle]% for TOC
+ }
+
+\unexpanded\def\dostartArticle[#1]
+ {\CGJBibData[#1]
+ \doifelse
+ {\getvariable{CG-Journal}{NOFColumns}}
+ {1}
+ {\doifmodeelse{fullwidth}
+ {\setuplayout[General]}
+ {\setuplayout[SingleColumn]}}
+ {\setupnotes[location=none]
+ \setuplayout[General]}%
+ \bgroup
+ {\switchtobodyfont[16pt]\Articleheading\CGJTitle\par}
+ {\doifsomething{\CGJSubTitle}
+ {\switchtobodyfont[16pt]\Articlesubheading\CGJSubTitle\par}}
+ {\doifsomething{\CGJAuthor}
+ {\switchtobodyfont[12pt]\Authorname \CGJAuthor}\par}
+ \part
+ {\getvariable{CGJToc}{Title}%
+ \doifsomething{\getvariable{CGJToc}{Author}}{ \emdash\ }%
+ \IndexAuthor\getvariable{CGJToc}{Author}}
+ \godown[13pt]%
+ \egroup
+ \par
+ \hyphenpenalty1000\relax}
+
+\unexpanded\def\startArticle
+ {\dosingleempty\dostartArticle}
+
+\def\signArticle
+ {}
+
+%D In multicolumn mode, footnotes come are at the end of the article:
+
+\startsetups article:after
+ \startfootnotesubject[title=]
+ \placefootnotes
+ \stopfootnotesubject
+\stopsetups
+
+\unexpanded\def\stopArticle
+ {\doifelse{\getvariable{CG-Journal}{NOFColumns}}{1}
+ {\par
+ \signArticle}
+ {\setups{article:after}
+ \par
+ \signArticle
+ \stoppagecolumns}
+ \page}
+
+\unexpanded\def\startAbstract
+ {\bgroup
+ \switchtobodyfont[12pt]
+ \IntroCopy}
+
+\unexpanded\def\stopAbstract
+ {\par
+ \egroup
+ \finishAbstract}
+
+\unexpanded\def\finishAbstract
+ {\doifelse {\getvariable{CG-Journal}{NOFColumns}} {1}
+ {\blank[BigCGblank]}
+ {\vbox{\blank[BigCGblank]}%
+ \par
+ \startpagecolumns[balance=yes,distance=12pt,page=no,n=\getvariable{CG-Journal}{NOFColumns}]
+ \setupitemgroup[itemize][packed]
+ \setuplayout[grid=yes]} % grid mode only in columns
+ }
+
+
+\unexpanded\def\noAbstract
+ {\kern -24pt
+ \finishAbstract}
+
+%D Headertexts
+
+\startsetups[Header:texts]
+ \setupheadertexts
+ [] [{{\BreadcrumbLt\CGJRunningTitle}{\BreadcrumbTh\doifsomething{\CGJRunningAuthor}{\ > }\CGJRunningAuthor}}] %odd
+ [{\BreadcrumbMd contextgroup}{\BreadcrumbRg\ > \getvariable{CG-Journal}{RunningTitle}}] [] %even
+\stopsetups
+
+%D Footertexts
+
+\startsetups[Footer:texts]
+ \setupfootertexts
+ [] [\PagenumberStyle\pagenumber]
+ [\PagenumberStyle\pagenumber] []
+\stopsetups
+
+%D Setup tolerance, stretch.
+
+\setuptolerance
+ [tolerant,stretch]
+
+%D Setting up footnotes.
+
+\setupnotation
+ [footnote]
+ [way=bypart,
+ rule=on]
+
+%D Adjustments to the container containing the footnotes.
+
+\setupnote
+ [footnote]
+ [frame=off,
+ topframe=off ,
+ framecolor=black,
+ background=,
+ rulecolor=black, %% the line above the inserts
+ rulethickness=1pt,
+ next={ },
+ split=verystrict,
+ scope=page,
+ style=Articlefootnotes]
+
+\doifmodeelse {draft} {\setupnote[footnote][frame=on]}
+
+% Setup typing.
+
+\setupnarrower
+ [middle=3mm,
+ left=5mm]
+
+\definetextbackground
+ [verbatim]
+ [frame=off,
+ background=color,
+ backgroundcolor=CGgray,
+ leftoffset=2mm,rightoffset=2mm,
+ topoffset=2mm,bottomoffset=2mm,
+ location=paragraph,
+ align=flushleft]
+
+\doifmodeelse {draft} {\definetextbackground[verbatim][frame=on]}
+
+\definetextbackground
+ [verbatimitem]
+ [verbatim]
+
+\setuptextbackground
+ [verbatimitem]
+ [before=,
+ after=,
+ width=\the\dimexpr\hsize-10.5mm\relax]
+
+\startsetups typing:before
+ \blank[MediumCGblank]
+ \starttextbackground[verbatim]
+\stopsetups
+
+\startsetups typing:before:small
+ \blank[MediumCGblank]
+ \starttextbackground[verbatim]
+\stopsetups
+
+\startsetups typing:after
+ \stoptextbackground
+ \blank[MediumCGblank]
+\stopsetups
+
+\startsetups typing:before:item
+ \starttextbackground[verbatimitem]
+\stopsetups
+
+\startsetups typing:after:item
+ \stoptextbackground
+\stopsetups
+
+\setuptyping
+ [typing]
+ [style=DisplayMonospaced,
+ before=\setups{typing:before},
+ after=\setups{typing:after}]
+
+\setuptype
+ [style=DisplayMonospaced]
+
+%D When verbatim becomes too large:
+
+\definetyping
+ [smalltyping]
+
+\setuptyping
+ [smalltyping]
+ [style=DisplayMonospacedX,
+ before=\setups{typing:before:small},
+ after=\setups{typing:after}]
+
+\unexpanded\def\smalltypefile{\typefile[smalltyping][]}
+
+%D Bullet lists.
+
+\setupitemgroup
+ [itemize]
+ [each]
+ []
+ [symbol=1,
+ indentnext=no,
+ align=right,
+ before={\blank[MediumCGblank]\startnarrower[left]},
+ after={\stopnarrower\blank[MediumCGblank]},
+ inbetween={\blank[CGblank]}]
+
+\definedescription
+ [description]
+ [location=hanging,
+ width=broad,
+ before={\blank},
+ after={\blank}]
+
+\setupformula
+ [align=flushleft,
+ margin=5mm]
+
+\setupquotation
+ [before={\blank[CGblank]\switchtobodyfont[10pt]},
+ after={\blank[CGblank]}]
+
+\setupwhitespace
+ [medium]
+
+\usemodule[abr-02,abr-03,abr-04]
+
+\unexpanded\def\Href#1{\underbar{\hyphenatedurl{#1}}}
+\unexpanded\def\CG {\ConTeXt\ group}
+
+\setnewconstant\kindofpagetextareas\plusone % partial page. HH: low level, no high level switch (yet)
+
+%D There is a draft mode, which enables all frames:
+
+\doifmode {draft} {\showframe}
+
+\stopmodule
+
diff --git a/tex/context/modules/mkiv/s-present-dark.mkiv b/tex/context/modules/mkiv/s-present-dark.mkiv
new file mode 100644
index 000000000..a3b6f6e14
--- /dev/null
+++ b/tex/context/modules/mkiv/s-present-dark.mkiv
@@ -0,0 +1,357 @@
+%D \module
+%D [ file=s-present-dark, % tug-2001
+%D version=2018.09.25, % 2000.*.*
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment Dark,
+%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.
+
+\startmodule[present-dark]
+
+%D The original document dates from 2000 and was meant for a presentation at \TUG\
+%D 2001. It used widgets and in particular check fields and push buttons.
+%D \JAVASCRIPT\ was used to show or hide them when rolling over, and appearances
+%D changed in a subtle way. It actually worked quite well at that time.
+%D
+%D However, over time these widgets proved to be sort of unstable. For instance we
+%D used the parent|-|child model of which (inheritance and appearance) behaviour
+%D changed over time. We're talking of a few decades ago when \TEX\ was one of the
+%D few (maybe only) tools that could actually support everything that the manual
+%D introduced: the \quote {standard} seemed to be ahead of the viewer. Anyway, we
+%D adapted but it meant that old document in principle were not always future proof.
+%D
+%D We used in this document a push button in the background of the menu so that it
+%D could become visible when rolled over. There were no layers in \PDF\ at that
+%D time! Nowadays such a trick doesn't work well because of the way a viewer
+%D intercepts regions. One gets kind of erratic behaviour when applying \JAVASCRIPT.
+%D
+%D I spent quite some time to test if we could still do the same without side
+%D effects and in the process also noticed that some functionality in \JAVASCRIPT\
+%D seems broken (or changed due to maybe security issues). So, in the end I decided
+%D to simplify the approach and use layers to pop up the menu when the mouse goes
+%D over it but no longer hide it when the mouse leaves that area. It just doesn't
+%D work too well otherwise.
+
+%D We start with the layout. We basically have three areas: edge, margin and text.
+%D Each are more or less the same width.
+
+\setuppapersize
+ [S6][S6]
+
+\setuplayout
+ [backspace=380pt,
+ topspace=20pt,
+ leftedge=100pt,
+ leftedgedistance=10pt,
+ leftmargin=230pt,
+ leftmargindistance=20pt,
+ header=0pt,
+ footer=0pt,
+ width=200pt,
+ backspace=360pt,
+ width=220pt,
+ leftmargin=210pt,
+ height=middle]
+
+%D The bodyfont is the Latin Modern Variable (of course at that time we used
+%D the Computer Modern predecessors). We still apply protrusion and expansion.
+%D The new \quotation {Modern Latin} look also works ok on screen.
+
+\definefontfeature
+ [default]
+ [default]
+ [expansion=pure,
+ protrusion=pure]
+
+\setupalign
+ [verytolerant,stretch,hanging] % space
+
+\setupbodyfont
+ [modernvariable,11pt]
+
+% \setupbodyfont
+% [modernlatin,11pt]
+
+\setupinmargin
+ [style=,
+ color=]
+
+%D We use some predefined \JAVASCRIPT\ functions. These are rather old helpers.
+%D Normally only the libraries (sets of functions) that are used will be
+%D embedded.
+
+\useJSscripts[fld]
+\useJSscripts[nav]
+
+%D The remarks that will pop up. By default they are not visible. Clicking
+%D on the page (or menu item) will show them step by step.
+
+\newcounter\bofremarks
+\newcounter\nofremarks
+
+\setupfield
+ [remark]
+ [offset=overlay,
+ option={readonly,hidden},
+ color=,
+ style=,
+ frame=off]
+
+\defineframed
+ [remarkable]
+ [frame=off,
+ backgroundcolor=white,
+ background=RollBackground]
+
+\starttexdefinition unexpanded remark #1#2
+
+ \doglobal\increment\nofremarks
+
+ \definesymbol
+ [remark:x:\nofremarks]
+ [\remarkable{#1}]
+
+ \definesymbol
+ [remark:y:\nofremarks]
+ [\remarkable{#2}]
+
+ \definefield
+ [remark:x:\nofremarks][check][remark]
+ [remark:x:\nofremarks]
+ [remark:x:\nofremarks]
+
+ \definefield
+ [remark:y:\nofremarks][check][remark]
+ [remark:y:\nofremarks]
+ [remark:y:\nofremarks]
+
+ \inleft
+ [scope=local]
+ {
+ \hpack to \hsize {
+ \hss
+ \linebox {
+ \fitfield[remark:y:\nofremarks]
+ }
+ }
+ }
+
+ \bgroup
+
+ \setbox\scratchbox\hbox {
+ #1
+ }
+
+ \hpack to \wd\scratchbox {
+ \wd\scratchbox\zeropoint
+ \box\scratchbox
+ \hss
+ \linebox {
+ \fitfield[remark:x:\nofremarks]
+ }
+ \hss
+ }
+
+ \egroup
+
+\stoptexdefinition
+
+%D We use lots of backgrounds. The \METAPOST\ graphics are a bit overkill
+%D but we keep them.
+
+\setupbackgrounds
+ [text]
+ [background=StepFields]
+
+\defineoverlay
+ [StepFields]
+ [\directsetup{syncrefs}\overlaybutton{ShowRemark}]
+
+\setupbackgrounds
+ [page]
+ [background=PageBackground]
+
+%D Just look in \type {java-imp-fld.mkiv} how \type {HideFields} and
+%D alike are defined. They are defined references to \JAVASCRIPT\ calls.
+
+\setupinteraction
+ [state=start,
+ click=no,
+ menu=on,
+ style=,
+ color=,
+ frame=off,
+ contrastcolor=]
+
+\setupinteractionscreen
+ [option=max]
+
+\setupbackgrounds
+ [paper]
+ [background=color,
+ backgroundcolor=black]
+
+\defineoverlay
+ [PageBackground]
+ [\useMPgraphic{PageBackground}]
+
+\startuseMPgraphic{PageBackground}
+ StartPage ;
+ numeric w ; w := 1.25 * PaperWidth ;
+ numeric n ; n := 2.50 * PageNumber ;
+ numeric d ; d := (1 + (PageNumber-1)/5) * 5pt ;
+ fill Page
+ withcolor black ;
+ for i=1 upto 500 :
+ draw
+ center Page
+ randomized w
+ rotatedaround(center Page,n)
+ withpen pencircle
+ scaled (uniformdeviate d)
+ withcolor
+ (yellow randomized (.3,.8))
+ ;
+ endfor ;
+ StopPage ;
+\stopuseMPgraphic
+
+\defineoverlay
+ [TextBackground]
+ [\uniqueMPgraphic{TextBackground}]
+
+\startuniqueMPgraphic{TextBackground}
+ fill
+ OverlayBox
+ withcolor black ;
+ draw
+ OverlayBox
+ withpen pencircle scaled 1pt
+ withcolor OverlayColor ;
+\stopuniqueMPgraphic
+
+\defineoverlay
+ [RollBackground]
+ [\uniqueMPgraphic{RollBackground}]
+
+\startuniqueMPgraphic{RollBackground}
+ fill
+ OverlayBox
+ withcolor black ;
+ draw
+ OverlayBox
+ withpen pencircle scaled 1pt
+ withcolor OverlayColor ;
+\stopuniqueMPgraphic
+
+\setupinteractionmenu
+ [left]
+ [state=start,
+ width=\leftedgewidth,
+ frame=on,
+ framecolor=white,
+ rulethickness=1pt,
+ foregroundcolor=white,
+ background=RollBackground]
+
+\startsetups syncrefs
+ \normalexpanded {
+ \definereference
+ [ShowRemark]
+ [StepFields{remark:x,\bofremarks,\nofremarks},
+ StepFields{remark:y,\bofremarks,\nofremarks}]
+ }
+\stopsetups
+
+%D The menu buttons used to be rollover buttons but are now normal simple
+%D ones (more predictable).
+
+\defineviewerlayer
+ [buttons]
+
+\startinteractionmenu[left]
+ \vfill
+ \directsetup{syncrefs}
+ \startviewerlayer[buttons]
+ \startbut [previouspage,HideFields] Previous \stopbut
+ \startbut [nextpage,HideFields] Next \stopbut
+ \startbut [ShowRemark] Remark \stopbut
+ \startbut [HideFields] Reset \stopbut
+ \startbut [CloseDocument,HideFields] Quit \stopbut
+ \stopviewerlayer
+\stopinteractionmenu
+
+\setupinteraction
+ [closeaction=ForgetChanges,
+ openpageaction={HideFields,HideLayer{buttons}},
+ closepageaction={HideFields,HideLayer{buttons}}]
+
+\defineoverlay
+ [ShowMenu]
+ [\overlayrollbutton{VideLayer{buttons}}{}]
+
+\setupbackgrounds
+ [text][leftedge]
+ [backgroundoffset=10pt,
+ background=ShowMenu]
+
+%D The environment has been adapted a bit. Instead of taking two
+%D arguments we now use a key|-|value approach. The remark is shown
+%D when one rolls over the title (author).
+
+\defineframedtext
+ [MainText]
+ [frame=off,
+ offset=10pt,
+ width=\textwidth,
+ before=,
+ after=,
+ color=,
+ foregroundcolor=white,
+ background=TextBackground,
+ backgroundcolor=white]
+
+\starttexdefinition unexpanded StartIdea
+ \dosingleempty{\texdefinition{StartIdeaIndeed}}
+\stoptexdefinition
+
+\starttexdefinition StartIdeaIndeed [#1]
+ \let\bofremarks\nofremarks
+ \increment\bofremarks
+ \startstandardmakeup
+ \setvariables[Idea][#1]
+ \startMainText
+ \setupalign[verytolerant,stretch,hanging]
+\stoptexdefinition
+
+\starttexdefinition unexpanded StopIdea
+ \doifvariable {Idea} {text} {
+ \blank
+ \rightaligned {
+ \doifelsevariable {Idea} {remark} {
+ \tooltip
+ [left]
+ {\getvariable{Idea}{title}}
+ {\getvariable{Idea}{remark}}
+ } {
+ \getvariable{Idea}{title}
+ }
+ }
+ }
+ \stopMainText
+ \vfill
+ \stopstandardmakeup
+\stoptexdefinition
+
+\stopmodule
+
+\continueifinputfile{s-present-dark.mkiv}
+
+\usemodule[present-common]
+
+\inputpresentationfile{tug/2001/tug-2001-ideas.tex}
diff --git a/tex/context/sample/common/aesop-de.tex b/tex/context/sample/third/aesop-de.tex
index 80a41f295..80a41f295 100644
--- a/tex/context/sample/common/aesop-de.tex
+++ b/tex/context/sample/third/aesop-de.tex
diff --git a/tex/context/sample/common/cervantes-es.tex b/tex/context/sample/third/cervantes-es.tex
index 153797023..153797023 100644
--- a/tex/context/sample/common/cervantes-es.tex
+++ b/tex/context/sample/third/cervantes-es.tex
diff --git a/tex/context/sample/common/khatt-ar.tex b/tex/context/sample/third/khatt-ar.tex
index c91426411..c91426411 100644
--- a/tex/context/sample/common/khatt-ar.tex
+++ b/tex/context/sample/third/khatt-ar.tex
diff --git a/tex/context/sample/common/khatt-en.tex b/tex/context/sample/third/khatt-en.tex
index 52891af25..52891af25 100644
--- a/tex/context/sample/common/khatt-en.tex
+++ b/tex/context/sample/third/khatt-en.tex
diff --git a/tex/context/sample/common/quevedo-es.tex b/tex/context/sample/third/quevedo-es.tex
index 166b0328f..166b0328f 100644
--- a/tex/context/sample/common/quevedo-es.tex
+++ b/tex/context/sample/third/quevedo-es.tex
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 45caa3ee4..ba46a517f 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 : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 09/26/18 14:26:41
+-- merge date : 09/30/18 19:32:19
do -- begin closure to overcome local limits and interference
@@ -10968,12 +10968,16 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
missing[du]=true
nofmissing=nofmissing+1
end
+ else
end
end
else
local overload=overloads[du]
if overload then
glyph.unicode=overload.unicode
+ elseif not glyph.unicode then
+ missing[du]=true
+ nofmissing=nofmissing+1
end
end
end
@@ -13522,6 +13526,7 @@ local languages=allocate {
["kiu" ]="kirmanjki",
["kjd" ]="southern kiwai",
["kjp" ]="eastern pwo karen",
+ ["kjz" ]="bumthangkha",
["kkn" ]="kokni",
["klm" ]="kalmyk",
["kmb" ]="kamba",
@@ -13610,6 +13615,7 @@ local languages=allocate {
["mdr" ]="mandar",
["men" ]="me'en",
["mer" ]="meru",
+ ["mfa" ]="pattani malay",
["mfe" ]="morisyen",
["min" ]="minangkabau",
["miz" ]="mizo",
@@ -13807,6 +13813,7 @@ local languages=allocate {
["tpi" ]="tok pisin",
["trk" ]="turkish",
["tsg" ]="tsonga",
+ ["tsj" ]="tshangla",
["tua" ]="turoyo aramaic",
["tul" ]="tulu",
["tuv" ]="tuvin",
@@ -13837,6 +13844,7 @@ local languages=allocate {
["xbd" ]="lü",
["xhs" ]="xhosa",
["xjb" ]="minjangbal",
+ ["xkf" ]="khengkha",
["xog" ]="soga",
["xpe" ]="kpelle (liberia)",
["yak" ]="sakha",
@@ -18131,7 +18139,7 @@ function gsubhandlers.single(f,fontdata,lookupid,lookupoffset,offset,glyphs,nofg
local delta=readshort(f)
local coverage=readcoverage(f,tableoffset+coverage)
for index in next,coverage do
- local newindex=index+delta
+ local newindex=(index+delta)%65536
if index>nofglyphs or newindex>nofglyphs then
report("invalid index in %s format %i: %i -> %i (max %i)","single",subtype,index,newindex,nofglyphs)
coverage[index]=nil
@@ -22592,7 +22600,7 @@ local trace_defining=false registertracker("fonts.defining",function(v) trace_de
local report_otf=logs.reporter("fonts","otf loading")
local fonts=fonts
local otf=fonts.handlers.otf
-otf.version=3.104
+otf.version=3.105
otf.cache=containers.define("fonts","otl",otf.version,true)
otf.svgcache=containers.define("fonts","svg",otf.version,true)
otf.sbixcache=containers.define("fonts","sbix",otf.version,true)