diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-09-30 20:33:04 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2018-09-30 20:33:04 +0200 |
commit | e3ad6b783e6162de6dad5531299e69c3d3079b9c (patch) | |
tree | 5b78f96f02bd8eb4b784484aa720930959afa404 /tex/context/base | |
parent | d6c24a529d922ac67d2a30595c52b6b9547dce77 (diff) | |
download | context-e3ad6b783e6162de6dad5531299e69c3d3079b9c.tar.gz |
2018-09-30 19:42:00
Diffstat (limited to 'tex/context/base')
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 Binary files differindex 5d0bf9406..b95443a9a 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex c7ffdbd8b..0e8d79426 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf 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: |