summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2018-09-30 20:33:04 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2018-09-30 20:33:04 +0200
commite3ad6b783e6162de6dad5531299e69c3d3079b9c (patch)
tree5b78f96f02bd8eb4b784484aa720930959afa404 /tex/context/base
parentd6c24a529d922ac67d2a30595c52b6b9547dce77 (diff)
downloadcontext-e3ad6b783e6162de6dad5531299e69c3d3079b9c.tar.gz
2018-09-30 19:42:00
Diffstat (limited to 'tex/context/base')
-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
24 files changed, 603 insertions, 118 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: