diff options
Diffstat (limited to 'tex')
29 files changed, 419 insertions, 277 deletions
| diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdfBinary files differ index ad9e2f68e..fb8f7e3eb 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/mkiv/colo-imp-ral.mkiv b/tex/context/base/mkiv/colo-imp-ral.mkiv new file mode 100644 index 000000000..e7b1a2408 --- /dev/null +++ b/tex/context/base/mkiv/colo-imp-ral.mkiv @@ -0,0 +1,239 @@ +%D \module +%D   [       file=colo-imp-ral, +%D        version=2009.11.13, +%D          title=\CONTEXT\ Color Macros, +%D       subtitle=RAL, +%D         author=Alan Braslau] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D RAL color system (Deutsches Institut für Gütesicherung und Kennzeichnung) +%D approximate RGB colors (from \goto {ralcolor.com} [url(http://www.ralcolor.com)]; +%D see also \goto {ralcolors.com} [url(http://www.ralcolors.com)]). These could be +%D good candidates for use as spot colors. + +\startprotectedcolors + +                                  % Deutsch                  English                  Français                 Español                  Italiano                 Nederlands + +\definecolor [RAL1000] [h=BEBD7F] % Grünbeige                Green beige              Beige vert               Beige verdoso            Beige verdastro          Groenbeige +\definecolor [RAL1001] [h=C2B078] % Beige                    Beige                    Beige                    Beige                    Beige                    Beige +\definecolor [RAL1002] [h=C6A664] % Sandgelb                 Sand yellow              Jaune sable              Amarillo arena           Giallo sabbia            Zandgeel +\definecolor [RAL1003] [h=E5BE01] % Signalgelb               Signal yellow            Jaune de sécurité        Amarillo señales         Giallo segnale           Signaalgeel +\definecolor [RAL1004] [h=CDA434] % Goldgelb                 Golden yellow            Jaune or                 Amarillo oro             Giallo oro               Goudgeel +\definecolor [RAL1005] [h=A98307] % Honiggelb                Honey yellow             Jaune miel               Amarillo miel            Giallo miele             Honinggeel +\definecolor [RAL1006] [h=E4A010] % Maisgelb                 Maize yellow             Jaune maïs               Amarillo maiz            Giallo polenta           Maisgeel +\definecolor [RAL1007] [h=DC9D00] % Narzissengelb            Daffodil yellow          Jaune narcisse           Amarillo narciso         Giallo narciso           Narcissengeel +\definecolor [RAL1011] [h=8A6642] % Braunbeige               Brown beige              Beige brun               Beige pardo              Beige marrone            Bruinbeige +\definecolor [RAL1012] [h=C7B446] % Zitronengelb             Lemon yellow             Jaune citron             Amarillo limón           Giallo limone            Citroengeel +\definecolor [RAL1013] [h=EAE6CA] % Perlweiß                 Oyster white             Blanc perlé              Blanco perla             Bianco perla             Parelwit +\definecolor [RAL1014] [h=E1CC4F] % Elfenbein                Ivory                    Ivoire                   Marfil                   Avorio                   Ivoorkleurig +\definecolor [RAL1015] [h=E6D690] % Hellelfenbein            Light ivory              Ivoire clair             Marfil claro             Avorio chiaro            Licht ivoorkleurig +\definecolor [RAL1016] [h=EDFF21] % Schwefelgelb             Sulfur yellow            Jaune soufre             Amarillo azufre          Giallo zolfo             Zwavelgeel +\definecolor [RAL1017] [h=F5D033] % Safrangelb               Saffron yellow           Jaune safran             Amarillo azafrán         Giallo zafferano         Saffraangeel +\definecolor [RAL1018] [h=F8F32B] % Zinkgelb                 Zinc yellow              Jaune zinc               Amarillo de zinc         Giallo zinco             Zinkgeel +\definecolor [RAL1019] [h=9E9764] % Graubeige                Grey beige               Beige gris               Beige agrisado           Beige grigiastro         Grijsbeige +\definecolor [RAL1020] [h=999950] % Olivgelb                 Olive yellow             Jaune olive              Amarillo oliva           Giallo olivastro         Olijfgeel +\definecolor [RAL1021] [h=F3DA0B] % Rapsgelb                 Rape yellow              Jaune colza              Amarillo colza           Giallo navone            Koolzaadgeel +\definecolor [RAL1023] [h=FAD201] % Verkehrsgelb             Traffic yellow           Jaune signalisation      Amarillo tráfico         Giallo traffico          Verkeersgeel +\definecolor [RAL1024] [h=AEA04B] % Ockergelb                Ochre yellow             Jaune ocre               Amarillo ocre            Giallo ocra              Okergeel +\definecolor [RAL1026] [h=FFFF00] % Leuchtgelb               Luminous yellow          Jaune brillant           Amarillo brillante       Giallo brillante         Briljantgeel +\definecolor [RAL1027] [h=9D9101] % Currygelb                Curry                    Jaune curry              Amarillo curry           Giallo curry             Kerriegeel +\definecolor [RAL1028] [h=F4A900] % Melonengelb              Melon yellow             Jaune melon              Amarillo melón           Giallo melone            Meloengeel +\definecolor [RAL1032] [h=D6AE01] % Ginstergelb              Broom yellow             Jaune genêt              Amarillo retama          Giallo scopa             Bremgeel +\definecolor [RAL1033] [h=F3A505] % Dahliengelb              Dahlia yellow            Jaune dahlia             Amarillo dalia           Giallo dahlien           Dahliageel +\definecolor [RAL1034] [h=EFA94A] % Pastellgelb              Pastel yellow            Jaune pastel             Amarillo pastel          Giallo pastello          Pastelgeel +\definecolor [RAL1035] [h=6A5D4D] % Perlbeige                Pearl beige              Beige nacré              Beige perlado            Beige perlato            Parelmoergrijs +\definecolor [RAL1036] [h=705335] % Perlgold                 Pearl gold               Or nacré                 Oro perlado              Oro perlato              Parelmoergoud +\definecolor [RAL1037] [h=F39F18] % Sonnengelb               Sun yellow               Jaune soleil             Amarillo sol             Giallo sole              Zonnegeel +\definecolor [RAL2000] [h=ED760E] % Gelborange               Yellow orange            Orangé jaune             Amarillo naranja         Arancio giallastro       Geeloranje +\definecolor [RAL2001] [h=C93C20] % Rotorange                Red orange               Orangé rouge             Rojo anaranjado          Arancio rossastro        Roodoranje +\definecolor [RAL2002] [h=CB2821] % Blutorange               Vermilion                Orangé sang              Naranja sanguineo        Arancio sanguigno        Vermiljoen +\definecolor [RAL2003] [h=FF7514] % Pastellorange            Pastel orange            Orangé pastel            Naranja pálido           Arancio pastello         Pasteloranje +\definecolor [RAL2004] [h=F44611] % Reinorange               Pure orange              Orangé pur               Naranja puro             Arancio puro             Zuiver oranje +\definecolor [RAL2005] [h=FF2301] % Leuchtorange             Luminous orange          Orangé brillant          Naranja brillante        Arancio brillante        Briljant oranje +\definecolor [RAL2007] [h=FFA420] % Leuchthellorange         Luminous bright orange   Orangé clair rillant     Naranja claro brillante  Arancio chiaro brillante Briljant lichtoranje +\definecolor [RAL2008] [h=F75E25] % Hellrotorange            Bright red orange        Orangé rouge clair       Rojo claro anaranjado    Rosso arancio chiaro     Licht roodoranje +\definecolor [RAL2009] [h=F54021] % Verkehrsorange           Traffic orange           Orangé signalisation     Naranja tráfico          Arancio traffico         Verkeersoranje +\definecolor [RAL2010] [h=D84B20] % Signalorange             Signal orange            Orangé de sécurité       Naranja señales          Arancio segnale          Signaaloranje +\definecolor [RAL2011] [h=EC7C26] % Tieforange               Deep orange              Orangé foncé             Naranja intenso          Arancio profondo         Dieporanje +\definecolor [RAL2012] [h=E55137] % Lachsorange              Salmon range             Orangé saumon            Naranja salmón           Arancio salmone          Zalmoranje +\definecolor [RAL2013] [h=C35831] % Perlorange               Pearl orange             Orangé nacré             Naranja perlado          Arancio perlato          Parelmoeroranje +\definecolor [RAL3000] [h=AF2B1E] % Feuerrot                 Flame red                Rouge feu                Rojo vivo                Rosso fuoco              Vuurrood +\definecolor [RAL3001] [h=A52019] % Signalrot                Signal red               Rouge de sécurité        Rojo señales             Rosso  segnale           Signaalrood +\definecolor [RAL3002] [h=A2231D] % Karminrot                Carmine red              Rouge carmin             Rojo carmin              Rosso carminio           Karmijnrood +\definecolor [RAL3003] [h=9B111E] % Rubinrot                 Ruby red                 Rouge rubis              Rojo rubí                Rosso rubino             Robijnrood +\definecolor [RAL3004] [h=75151E] % Purpurrot                Purple red               Rouge pourpre            Rojo purpura             Rosso porpora            Purperrood +\definecolor [RAL3005] [h=5E2129] % Weinrot                  Wine red                 Rouge vin                Rojo vino                Rosso vino               Wijnrood +\definecolor [RAL3007] [h=412227] % Schwarzrot               Black red                Rouge noir               Rojo negruzco            Rosso nerastro           Zwartrood +\definecolor [RAL3009] [h=642424] % Oxidrot                  Oxide red                Rouge oxyde              Rojo óxido               Rosso  ossido            Oxyderood +\definecolor [RAL3011] [h=781F19] % Braunrot                 Brown red                Rouge brun               Rojo pardo               Rosso marrone            Bruinrood +\definecolor [RAL3012] [h=C1876B] % Beigerot                 Beige red                Rouge beige              Rojo beige               Rosso beige              Beigerood +\definecolor [RAL3013] [h=A12312] % Tomatenrot               Tomato red               Rouge tomate             Rojo tomate              Rosso pomodoro           Tomaatrood +\definecolor [RAL3014] [h=D36E70] % Altrosa                  Antique pink             Vieux rose               Rojo viejo               Rosa antico              Oudroze +\definecolor [RAL3015] [h=EA899A] % Hellrosa                 Light pink               Rose clair               Rosa claro               Rosa chiaro              Lichtroze +\definecolor [RAL3016] [h=B32821] % Korallenrot              Coral red                Rouge corail             Rojo coral               Rosso corallo            Koraalrood +\definecolor [RAL3017] [h=E63244] % Rosé                     Rose                     Rosé                     Rosa                     Rosato                   Bleekrood +\definecolor [RAL3018] [h=D53032] % Erdbeerrot               Strawberry red           Rouge fraise             Rojo fresa               Rosso fragola            Aardbeirood +\definecolor [RAL3020] [h=CC0605] % Verkehrsrot              Traffic red              Rouge signalisation      Rojo tráfico             Rosso traffico           Verkeersrood +\definecolor [RAL3022] [h=D95030] % Lachsrot                 Salmon pink              Rouge saumon             Rojo salmón              Rosso salmone            Zalmrood +\definecolor [RAL3024] [h=F80000] % Leuchtrot                Luminous red             Rouge brillant           Rojo brillante           Rosso brillante          Briljantrood +\definecolor [RAL3026] [h=FE0000] % Leuchthellrot            Luminous                 bright red               Rouge clair brillant     Rojo claro brillante     Rosso chiaro brillante +\definecolor [RAL3027] [h=C51D34] % Himbeerrot               Raspberry red            Rouge framboise          Rojo frambuesa           Rosso lampone            Framboosrood +\definecolor [RAL3028] [h=CB3234] % Reinrot                  Pure  red                Rouge puro               Rojo puro                Rosso puro               Zuiverrood +\definecolor [RAL3031] [h=B32428] % Orientrot                Orient red               Rouge oriental           Rojo oriente             Rosso oriente            Oriëntrood +\definecolor [RAL3032] [h=721422] % Perlrubinrot             Pearl ruby red           Rouge rubis nacré        Rojo rubí perlado        Rosso rubino perlato     Parelmoer donkerrood +\definecolor [RAL3033] [h=B44C43] % Perlrosa                 Pearl pink               Rose nacré               Rosa perlado             Rosa perlato             Parelmoer lichtrood +\definecolor [RAL4001] [h=6D3F5B] % Rotlila                  Red lilac                Lilas rouge              Rojo lila                Lilla rossastro          Roodlila +\definecolor [RAL4002] [h=922B3E] % Rotviolett               Red violet               Violet rouge             Rojo violeta             Viola rossastro          Roodpaars +\definecolor [RAL4003] [h=DE4C8A] % Erikaviolett             Heather violet           Violet bruyère           Violeta érica            Viola erica              Heidepaars +\definecolor [RAL4004] [h=641C34] % Bordeauxviolett          Claret violet            Violet bordeaux          Burdeos                  Viola bordeaux           Bordeauxpaars +\definecolor [RAL4005] [h=6C4675] % Blaulila                 Blue lilac               Lilas bleu               Lila azulado             Lilla bluastro           Blauwlila +\definecolor [RAL4006] [h=A03472] % Verkehrspurpur           Traffic purple           Pourpre signalisation    Púrpurá tráfico          Porpora traffico         Verkeerspurper +\definecolor [RAL4007] [h=4A192C] % Purpurviolett            Purple violet            Violet pourpre           Violeta púrpura          Porpora violetto         Purperviolet +\definecolor [RAL4008] [h=924E7D] % Signalviolett            Signal violet            Violet de sécurité       Violeta señales          Violetto segnale         Signaalviolet +\definecolor [RAL4009] [h=A18594] % Pastellviolett           Pastel violet            Violet pastel            Violeta pastel           Violetto pastello        Pastelviolet +\definecolor [RAL4010] [h=CF3476] % Telemagenta              Telemagenta              Telemagenta              Magenta tele             Tele Magenta             Telemagenta +\definecolor [RAL4011] [h=8673A1] % Perlviolett              Pearl violet             Violet nacré             Violeta perlado          Violetto perlato         Parelmoer donkerviolet +\definecolor [RAL4012] [h=6C6874] % Perlbrombeer             Pearl black berry        Mûre nacré               Morado perlado           Mora perlato             Parelmoer lichtviolet +\definecolor [RAL5000] [h=354D73] % Violettblau              Violet blue              Bleu violet              Azul violeta             Blu violaceo             Paarsblauw +\definecolor [RAL5001] [h=1F3438] % Grünblau                 Green blue               Bleu vert                Azul verdoso             Blu verdastro            Groenblauw +\definecolor [RAL5002] [h=20214F] % Ultramarinblau           Ultramarine blue         Bleu outremer            Azul ultramar            Blu oltremare            Ultramarijnblauw +\definecolor [RAL5003] [h=1D1E33] % Saphirblau               Saphire blue             Bleu saphir              Azul zafiro              Blu zaffiro              Saffierblauw +\definecolor [RAL5004] [h=18171C] % Schwarzblau              Black blue               Bleu noir                Azul negruzco            Blu nerastro             Zwartblauw +\definecolor [RAL5005] [h=1E2460] % Signalblau               Signal blue              Bleu de sécurité         Azul señales             Blu segnale              Signaalblauw +\definecolor [RAL5007] [h=3E5F8A] % Brillantblau             Brillant blue            Bleu brillant            Azul brillante           Blu brillante            Briljantblauw +\definecolor [RAL5008] [h=26252D] % Graublau                 Grey blue                Bleu gris                Azul grisáceo            Blu grigiastro           Grijsblauw +\definecolor [RAL5009] [h=025669] % Azurblau                 Azure blue               Bleu azur                Azul azur                Blu  azzurro             Azuurblauw +\definecolor [RAL5010] [h=0E294B] % Enzianblau               Gentian blue             Bleu gentiane            Azul genciana            Blu  genziana            Gentiaanblauw +\definecolor [RAL5011] [h=231A24] % Stahlblau                Steel blue               Bleu acier               Azul acero               Blu acciaio              Staalblauw +\definecolor [RAL5012] [h=3B83BD] % Lichtblau                Light blue               Bleu clair               Azul luminoso            Blu luce                 Lichtblauw +\definecolor [RAL5013] [h=1E213D] % Kobaltblau               Cobalt blue              Bleu cobalt              Azul cobalto             Blu cobalto              Kobaltblauw +\definecolor [RAL5014] [h=606E8C] % Taubenblau               Pigeon blue              Bleu pigeon              Azul olombino            Blu colomba              Duifblauw +\definecolor [RAL5015] [h=2271B3] % Himmelblau               Sky blue                 Bleu ciel                Azul celeste             Blu cielo                Hemelsblauw +\definecolor [RAL5017] [h=063971] % Verkehrsblau             Traffic blue             Bleu signalisation       Azul tráfico             Blu traffico             Verkeersblauw +\definecolor [RAL5018] [h=3F888F] % Türkisblau               Turquoise blue           Bleu turquoise           Azul turquesa            Blu turchese             Turkooisblauw +\definecolor [RAL5019] [h=1B5583] % Capriblau                Capri blue               Bleu capri               Azul capri               Blu capri                Capriblauw +\definecolor [RAL5020] [h=1D334A] % Ozeanblau                Ocean blue               Bleu océan               Azul oceano              Blu oceano               Oceaanblauw +\definecolor [RAL5021] [h=256D7B] % Wasserblau               Water blue               Bleu d’eau               Azul agua                Blu acqua                Waterblauw +\definecolor [RAL5022] [h=252850] % Nachtblau                Night blue               Bleu nocturne            Azul noche               Blu notte                Nachtblauw +\definecolor [RAL5023] [h=49678D] % Fernblau                 Distant blue             Bleu distant             Azul lejanía             Blu distante             Verblauw +\definecolor [RAL5024] [h=5D9B9B] % Pastellblau              Pastel blue              Bleu pastel              Azul pastel              Blu pastello             Pastelblauw +\definecolor [RAL5025] [h=2A6478] % Perlenzian               Pearl gentian blue       Gentiane nacré           Gencian perlado          Blu genziana perlato     Parelmoerblauw +\definecolor [RAL5026] [h=102C54] % Perlnachtblau            Pearl night blue         Bleu nuit nacré          Azul noche perlado       Blu notte perlato        Parelmoer nachtblauw +\definecolor [RAL6000] [h=316650] % Patinagrün               Patina green             Vert patine              Verde patina             Verde patina             Patinagroen +\definecolor [RAL6001] [h=287233] % Smaragdgrün              Emerald green            Vert émeraude            Verde esmeralda          Verde smeraldo           Smaragdgroen +\definecolor [RAL6002] [h=2D572C] % Laubgrün                 Leaf green               Vert feuillage           Verde hoja               Verde foglia             Loofgroen +\definecolor [RAL6003] [h=424632] % Olivgrün                 Olive green              Vert olive               Verde oliva              Verde oliva              Olijfgroen +\definecolor [RAL6004] [h=1F3A3D] % Blaugrün                 Blue green               Vert bleu                Verde azulado            Verde bluastro           Blauwgroen +\definecolor [RAL6005] [h=2F4538] % Moosgrün                 Moss green               Vert mousse              Verde musgo              Verde muschio            Mosgroen +\definecolor [RAL6006] [h=3E3B32] % Grauoliv                 Grey olive               Olive gris               Oliva grisáceo           Oliva grigiastro         Grijs olijfgroen +\definecolor [RAL6007] [h=343B29] % Flaschengrün             Bottle green             Vert bouteille           Verde botella            Verde bottiglia          Flessegroen +\definecolor [RAL6008] [h=39352A] % Braungrün                Brown green              Vert brun                Verde parduzco           Verde brunastro          Bruingroen +\definecolor [RAL6009] [h=31372B] % Tannengrün               Fir green                Vert sapin               Verde abeto              Verde abete              Dennegroen +\definecolor [RAL6010] [h=35682D] % Grasgrün                 Grass green              Vert herbe               Verde hierba             Verde erba               Grasgroen +\definecolor [RAL6011] [h=587246] % Resedagrün               Reseda green             Vert réséda              Verde reseda             Verde reseda             Resedagroen +\definecolor [RAL6012] [h=343E40] % Schwarzgrün              Black green              Vert noir                Verde negruzco           Verde nerastro           Zwartgroen +\definecolor [RAL6013] [h=6C7156] % Schilfgrün               Reed green               Vert jonc                Verde caña               Verde canna              Rietgroen +\definecolor [RAL6014] [h=47402E] % Gelboliv                 Yellow olive             Olive jaune              Amarillo oliva           Oliva giallastro         Geel olijfgroen +\definecolor [RAL6015] [h=3B3C36] % Schwarzoliv              Black olive              Olive noir               Oliva negruzco           Oliva nerastro           Zwart olijfgroen +\definecolor [RAL6016] [h=1E5945] % Türkisgrün               Turquoise green          Vert turquoise           Verde turquesa           Verde turchese           Turkooisgroen +\definecolor [RAL6017] [h=4C9141] % Maigrün                  May green                Vert mai                 Verde mayo               Verde maggio             Meigroen +\definecolor [RAL6018] [h=57A639] % Gelbgrün                 Yellow green             Vert jaune               Verde amarillento        Verde giallastro         Geelgroen +\definecolor [RAL6019] [h=BDECB6] % Weißgrün                 Pastel green             Vert blanc               Verde lanquecino         Verde biancastro         Witgroen +\definecolor [RAL6020] [h=2E3A23] % Chromoxidgrün            Chrome green             Vert oxyde chromique     Verde cromo              Verde cromo              Chroomoxyde groen +\definecolor [RAL6021] [h=89AC76] % Blassgrün                Pale green               Vert pâle                Verde pálido             Verde pallido            Bleekgroen +\definecolor [RAL6022] [h=25221B] % Braunoliv                Olive drab               Olive brun               Oliva parduzco           Oliva brunastro          Bruin olijfgroen +\definecolor [RAL6024] [h=308446] % Verkehrsgrün             Traffic green            Vert signalisation       Verde tráfico            Verde traffico           Verkeersgroen +\definecolor [RAL6025] [h=3D642D] % Farngrün                 Fern green               Vert fougère             Verde helecho            Verde felce              Varengroen +\definecolor [RAL6026] [h=015D52] % Opalgrün                 Opal green               Vert opale               Verde opalo              Verde opale              Opaalgroen +\definecolor [RAL6027] [h=84C3BE] % Lichtgrün                Light green              Vert clair               Verde luminoso           Verde chiaro             Lichtgroen +\definecolor [RAL6028] [h=2C5545] % Kieferngrün              Pine green               Vert pin                 Verde pino               Verde pino               Pijnboomgroen +\definecolor [RAL6029] [h=20603D] % Minzgrün                 Mint green               Vert menthe              Verde menta              Verde menta              Mintgroen +\definecolor [RAL6032] [h=317F43] % Signalgrün               Signal green             Vert de sécurité         Verde señales            Verde segnale            Signaalgroen +\definecolor [RAL6033] [h=497E76] % Minttürkis               Mint turquoise           Turquoise menthe         Turquesa menta           Turchese menta           Mintturquoise +\definecolor [RAL6034] [h=7FB5B5] % Pastelltürkis            Pastel turquoise         Turquoise pastel         Turquesa pastel          Turchese pastello        Pastelturquoise +\definecolor [RAL6035] [h=1C542D] % Perlgrün                 Pearl green              Vert nacré               Verde perlado            Verde perlato            Parelmoer donkergroen +\definecolor [RAL6036] [h=193737] % Perlopalgrün             Pearl opal green         Vert opal nacré          Verde ópalo perlado      Verde opalo perlato      Parelmoer lichtgroen +\definecolor [RAL6037] [h=008F39] % Reingrün                 Pure green               Vert pur                 Verde puro               Verde puro               Zuivergroen +\definecolor [RAL6038] [h=00BB2D] % Leuchtgrün               Luminous green           Vert brillant            Verde brillante          Verde brillante          Briljantgroen +\definecolor [RAL7000] [h=78858B] % Fehgrau                  Squirrel grey            Gris petit-gris          Gris ardilla             Grigio vaio              Pelsgrijs +\definecolor [RAL7001] [h=8A9597] % Silbergrau               Silver grey              Gris argent              Gris plata               Grigio argento           Zilvergrijs +\definecolor [RAL7002] [h=7E7B52] % Olivgrau                 Olive grey               Gris olive               Gris oliva               Grigio olivastro         Olijfgrijs +\definecolor [RAL7003] [h=6C7059] % Moosgrau                 Moss grey                Gris mousse              Gris musgo               Grigio muschio           Mosgrijs +\definecolor [RAL7004] [h=969992] % Signalgrau               Signal grey              Gris de sécurité         Gris señales             Grigio segnale           Signaalgrijs +\definecolor [RAL7005] [h=646B63] % Mausgrau                 Mouse grey               Gris souris              Gris ratón               Grigio topo              Muisgrijs +\definecolor [RAL7006] [h=6D6552] % Beigegrau                Beige grey               Gris beige               Gris beige               Grigio beige             Beigegrijs +\definecolor [RAL7008] [h=6A5F31] % Khakigrau                Khaki grey               Gris kaki                Gris caqui               Grigio kaki              Kakigrijs +\definecolor [RAL7009] [h=4D5645] % Grüngrau                 Green grey               Gris vert                Gris verdoso             Grigio verdastro         Groengrijs +\definecolor [RAL7010] [h=4C514A] % Zeltgrau                 Tarpaulin grey           Gris tente               Gris lona                Grigio tenda             Zeildoekgrijs +\definecolor [RAL7011] [h=434B4D] % Eisengrau                Iron grey                Gris fer                 Gris hierro              Grigio ferro             IJzergrijs +\definecolor [RAL7012] [h=4E5754] % Basaltgrau               Basalt grey              Gris basalte             Gris basalto             Grigio basalto           Bazaltgrijs +\definecolor [RAL7013] [h=464531] % Braungrau                Brown grey               Gris brun                Gris parduzco            Grigio brunastro         Bruingrijs +\definecolor [RAL7015] [h=434750] % Schiefergrau             Slate grey               Gris ardoise             Gris pizarra             Grigio ardesia           Leigrijs +\definecolor [RAL7016] [h=293133] % Anthrazitgrau            Anthracite grey          Gris anthracite          Gris antracita           Grigio antracite         Antracietgrijs +\definecolor [RAL7021] [h=23282B] % Schwarzgrau              Black grey               Gris noir                Gris negruzco            Grigio nerastro          Zwartgrijs +\definecolor [RAL7022] [h=332F2C] % Umbragrau                Umbra grey               Gris terre d’ombre       Gris sombra              Grigio ombra             Ombergrijs +\definecolor [RAL7023] [h=686C5E] % Betongrau                Concrete grey            Gris béton               Gris hormigón            Grigio calcestruzzo      Betongrijs +\definecolor [RAL7024] [h=474A51] % Graphitgrau              Graphite grey            Gris graphite            Gris grafita             Grigio grafite           Grafietgrijs +\definecolor [RAL7026] [h=2F353B] % Granitgrau               Granite grey             Gris granit              Gris granito             Grigio granito           Granietgrijs +\definecolor [RAL7030] [h=8B8C7A] % Steingrau                Stone grey               Gris pierre              Gris piedra              Grigio pietra            Steengrijs +\definecolor [RAL7031] [h=474B4E] % Blaugrau                 Blue grey                Gris bleu                Gris azulado             Grigio bluastro          Blauwgrijs +\definecolor [RAL7032] [h=B8B799] % Kieselgrau               Pebble grey              Gris silex               Gris guijarro            Grigio ghiaia            Kiezelgrijs +\definecolor [RAL7033] [h=7D8471] % Zementgrau               Cement grey              Gris ciment              Gris cemento             Grigio cemento           Cementgrijs +\definecolor [RAL7034] [h=8F8B66] % Gelbgrau                 Yellow grey              Gris jaune               Gris amarillento         Grigio giallastro        Geelgrijs +\definecolor [RAL7035] [h=D7D7D7] % Lichtgrau                Light grey               Gris clair               Gris luminoso            Grigio luce              Lichtgrijs +\definecolor [RAL7036] [h=7F7679] % Platingrau               Platinum grey            Gris platine             Gris platino             Grigio platino           Platinagrijs +\definecolor [RAL7037] [h=7D7F7D] % Staubgrau                Dusty grey               Gris poussière           Gris polvo               Grigio polvere           Stofgrijs +\definecolor [RAL7038] [h=B5B8B1] % Achatgrau                Agate grey               Gris agate               Gris ágata               Grigio agata             Agaatgrijs +\definecolor [RAL7039] [h=6C6960] % Quarzgrau                Quartz grey              Gris quartz              Gris cuarzo              Grigio quarzo            Kwartsgrijs +\definecolor [RAL7040] [h=9DA1AA] % Fenstergrau              Window grey              Gris fenêtre             Gris ventana             Grigio finestra          Venstergrijs +\definecolor [RAL7042] [h=8D948D] % Verkehrsgrau A           Traffic grey A           Gris signalisation A     Gris tráfico A           Grigio traffico A        Verkeesgrijs A +\definecolor [RAL7043] [h=4E5452] % Verkehrsgrau B           Traffic grey B           Gris signalisation B     Gris tráfico B           Grigio traffico B        Verkeersgrijs B +\definecolor [RAL7044] [h=CAC4B0] % Seidengrau               Silk grey                Gris soie                Gris seda                Grigio seta              Zijdegrijs +\definecolor [RAL7045] [h=909090] % Telegrau 1               Telegrey 1               Telegris 1               Gris tele 1              Tele grigio 1            Telegrijs 1 +\definecolor [RAL7046] [h=82898F] % Telegrau 2               Telegrey 2               Telegris 2               Gris tele 2              Tele grigio 2            Telegrijs 2 +\definecolor [RAL7047] [h=D0D0D0] % Telegrau 4               Telegrey 4               Telegris 4               Gris tele 4              Tele grigio 4            Telegrijs 4 +\definecolor [RAL7048] [h=898176] % Perlmausgrau             Pearl mouse grey         Gris souris nacré        Gris musgo perlado       Grigio topo perlato      Parelmoer-muisgrijs +\definecolor [RAL8000] [h=826C34] % Grünbraun                Green brown              Brun vert                Pardo verdoso            Marrone verdastro        Groenbruin +\definecolor [RAL8001] [h=955F20] % Ockerbraun               Ochre brown              Brun terre de Sienne     Pardo ocre               Marrone ocra             Okerbruin +\definecolor [RAL8002] [h=6C3B2A] % Signalbraun              Signal brown             Brun de sécurité         Marrón señales           Marrone segnale          Signaalbruin +\definecolor [RAL8003] [h=734222] % Lehmbraun                Clay brown               Brun argile              Pardo arcilla            Marrone fango            Leembruin +\definecolor [RAL8004] [h=8E402A] % Kupferbraun              Copper brown             Brun cuivré              Pardo cobre              Marrone rame             Koperbruin +\definecolor [RAL8007] [h=59351F] % Rehbraun                 Fawn brown               Brun fauve               Pardo corzo              Marrone capriolo         Reebruin +\definecolor [RAL8008] [h=6F4F28] % Olivbraun                Olive brown              Brun olive               Pardo oliva              Marrone oliva            Olijfbruin +\definecolor [RAL8011] [h=5B3A29] % Nussbraun                Nut brown                Brun noisette            Pardo nuez               Marrone noce             Notebruin +\definecolor [RAL8012] [h=592321] % Rotbraun                 Red brown                Brun rouge               Pardo rojo               Marrone rossiccio        Roodbruin +\definecolor [RAL8014] [h=382C1E] % Sepiabraun               Sepia brown              Brun sépia               Sepia                    Marrone seppia           Sepiabruin +\definecolor [RAL8015] [h=633A34] % Kastanienbraun           Chestnut brown           Marron                   Castaño                  Marrone castagna         Kastanjebruin +\definecolor [RAL8016] [h=4C2F27] % Mahagonibraun            Mahogany brown           Brun acajou              Caoba                    Marrone mogano           Mahoniebruin +\definecolor [RAL8017] [h=45322E] % Schokoladenbraun         Chocolate brown          Brun chocolat            Chocolate                Marrone cioccolata       Chocoladebruin +\definecolor [RAL8019] [h=403A3A] % Graubraun                Grey brown               Brun gris                Pardo grisáceo           Marrone grigiastro       Grijsbruin +\definecolor [RAL8022] [h=212121] % Schwarzbraun             Black brown              Brun noir                Pardo negruzco           Marrone nerastro         Zwartbruin +\definecolor [RAL8023] [h=A65E2E] % Orangebraun              Orange brown             Brun orangé              Pardo anaranjado         Marrone arancio          Oranjebruin +\definecolor [RAL8024] [h=79553D] % Beigebraun               Beige brown              Brun beige               Pardo beige              Marrone beige            Beigebruin +\definecolor [RAL8025] [h=755C48] % Blassbraun               Pale brown               Brun pâle                Pardo pálido             Marrone pallido          Bleekbruin +\definecolor [RAL8028] [h=4E3B31] % Terrabraun               Terra brown              Brun terre               Marrón tierra            Marrone terra            Terrabruin +\definecolor [RAL8029] [h=763C28] % Perlkupfer               Pearl copper             Cuivre nacré             Cobre perlado            Rame perlato             Parelmoerkoper +\definecolor [RAL9001] [h=FDF4E3] % Cremeweiß                Cream                    Blanc crème              Blanco crema             Bianco crema             Crèmewit +\definecolor [RAL9002] [h=E7EBDA] % Grauweiß                 Grey white               Blanc gris               Blanco grisáceo          Bianco grigiastro        Grijswit +\definecolor [RAL9003] [h=F4F4F4] % Signalweiß               Signal white             Blanc de sécurité        Blanco señales           Bianco segnale           Signaalwit +\definecolor [RAL9004] [h=282828] % Signalschwarz            Signal black             Noir de sécurité         Negro señales            Nero segnale             Signaalzwart +\definecolor [RAL9005] [h=0A0A0A] % Tiefschwarz              Jet black                Noir foncé               Negro intenso            Nero intenso             Gitzwart +\definecolor [RAL9006] [h=A5A5A5] % Weißaluminium            White aluminium          Aluminium blanc          Aluminio blanco          Aluminio brillante       Blank aluminiumkleurig +\definecolor [RAL9007] [h=8F8F8F] % Graualuminium            Grey aluminium           Aluminium gris           Aluminio gris            Aluminio grigiastro      Grijs aluminiumkleurig +\definecolor [RAL9010] [h=FFFFFF] % Reinweiß                 Pure white               Blanc pur                Blanco puro              Bianco puro              Zuiverwit +\definecolor [RAL9011] [h=1C1C1C] % Graphitschwarz           Graphite black           Noir graphite            Negro grafito            Nero grafite             Grafietzwart +\definecolor [RAL9016] [h=F6F6F6] % Verkehrsweiß             Traffic white            Blanc signalisation      Blanco tráfico           Bianco traffico          Verkeerswit +\definecolor [RAL9017] [h=1E1E1E] % Verkehrsschwarz          Traffic black            Noir signalisation       Negro tráfico            Nero traffico            Verkeerszwart +\definecolor [RAL9018] [h=D7D7D7] % Papyrusweiß              Papyrus white            Blanc papyrus            Blanco papiro            Bianco papiro            Papyruswit +\definecolor [RAL9022] [h=9C9C9C] % Perlhellgrau             Pearl light grey         Gris clair nacré         Gris claro perlado       Grigio chiaro perlato    Parelmoer lichtgrijs +\definecolor [RAL9023] [h=828282] % Perldunkelgrau           Pearl dark grey          Gris fonçé nacré         Gris oscuro perlado      Grigio scuro perlato     Parelmoer donkergrijs + +\stopprotectedcolors + +\endinput + + diff --git a/tex/context/base/mkiv/colo-imp-x11.mkiv b/tex/context/base/mkiv/colo-imp-x11.mkiv index a83466e8d..98a71354d 100644 --- a/tex/context/base/mkiv/colo-imp-x11.mkiv +++ b/tex/context/base/mkiv/colo-imp-x11.mkiv @@ -9,7 +9,8 @@  %C therefore copyrighted by \PRAGMA. See mreadme.pdf for  %C details. -%D Standard X11 rgb colors (from \type {/usr/share/X11/rgb.txt}): +%D Standard X11 rgb colors (from, e.g. \type {/usr/share/X11/rgb.txt}). +%D Note that we have dropped the \quote{grey} spelling variants.  \startprotectedcolors @@ -45,7 +46,7 @@  \definecolor [slategray]            [h=708090]  \definecolor [lightslategray]       [h=778899]  \definecolor [gray]                 [s=0.75] -\definecolor [lightgrey]            [s=0.83] +\definecolor [lightgray]            [s=0.83]  \definecolor [midnightblue]         [h=191970]  \definecolor [navy]                 [h=000080]  \definecolor [navyblue]             [h=000080] @@ -457,13 +458,15 @@  \definecolor [thistle3]             [h=cdb5cd]  \definecolor [thistle4]             [h=8b7b8b] -% A lot of useless grays: +% A lot of useless grays (since one can always specify \color[s=.XX]: -\dorecurse{100}{ +\dostepwiserecurse{0}{100}{1}{      \definecolor [gray#1] [s=\cldcontext{#1/100}]  } -\definecolor [darkgrey]             [s=0.66] +% These were missing in the original specification, but were added later: + +\definecolor [darkgray]             [s=0.66]  \definecolor [darkblue]             [h=00008b]  \definecolor [darkcyan]             [h=008b8b]  \definecolor [darkmagenta]          [h=8b008b] diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 8135b5c92..8fe6401f1 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{2016.03.26 13:51} +\newcontextversion{2016.03.30 11:59}  %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 0920795ee..50f23ec32 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@  %D up and the dependencies are more consistent.  \edef\contextformat {\jobname} -\edef\contextversion{2016.03.26 13:51} +\edef\contextversion{2016.03.30 11:59}  \edef\contextkind   {beta}  %D For those who want to use this: diff --git a/tex/context/base/mkiv/font-ini.mkvi b/tex/context/base/mkiv/font-ini.mkvi index ee146c1a5..9ed4a0efc 100644 --- a/tex/context/base/mkiv/font-ini.mkvi +++ b/tex/context/base/mkiv/font-ini.mkvi @@ -1650,9 +1650,15 @@       \fi     \fi} +% \def\font_helpers_define_unknown_check_sizes#body#relativesize% +%   {\ifcsname\??fontenvironments\s!default#relativesize\endcsname % fontclass ? +%      % how \lastnamedcs here +%      \expandafter\normalizebodyfontsize\csname\??fontenvironments#body#relativesize\endcsname{\csname\??fontenvironments\s!default#relativesize\endcsname\dimexpr#body\relax}% +%      \settrue\c_font_defining_state +%    \fi} +  \def\font_helpers_define_unknown_check_sizes#body#relativesize%    {\ifcsname\??fontenvironments\s!default#relativesize\endcsname % fontclass ? -     % how \lastnamedcs here       \expandafter\normalizebodyfontsize\csname\??fontenvironments#body#relativesize\endcsname{\csname\??fontenvironments\s!default#relativesize\endcsname\dimexpr#body\relax}%       \settrue\c_font_defining_state     \fi} @@ -1665,9 +1671,15 @@       \settrue\c_font_defining_state     \fi} +% \def\font_helpers_define_unknown_check_relatives#body#relativesize% +%   {\ifcsname\??fontbodyknown\csname\??fontenvironments#body#relativesize\endcsname\endcsname \else +%      % how \lastnamedcs here +%      \expandafter\font_helpers_define_unknown_font\csname\??fontenvironments#body#relativesize\endcsname +%      \settrue\c_font_defining_state +%    \fi} +  \def\font_helpers_define_unknown_check_relatives#body#relativesize%    {\ifcsname\??fontbodyknown\csname\??fontenvironments#body#relativesize\endcsname\endcsname \else -     % how \lastnamedcs here       \expandafter\font_helpers_define_unknown_font\csname\??fontenvironments#body#relativesize\endcsname       \settrue\c_font_defining_state     \fi} @@ -1683,6 +1695,20 @@  %D These macros show that quite some definitions take place. Fonts are not loaded  %D yet! This means that at format generation time, no font files are present. +% \unexpanded\def\font_basics_switch_points#body% +%   {\ifcsname\??fontbodyknown#body\endcsname \else +%      % we need to check the relative sizes for this body +%      \font_helpers_define_unknown_font{#body}% +%    \fi% +%    \ifcsname\??fontbodyknown#body\endcsname % always true now +%      \font_basics_complete_switch{#body}% +%      \localbodyfontsize#body\relax +%      \normalizebodyfontsize\normalizedbodyfontsize\localbodyfontsize +%      \font_helpers_check_bodyfont_environment\normalizedbodyfontsize\normalizedbodyfontsize % !! +%    \else +%      \showmessage\m!fonts4{#body}% +%    \fi} +  \unexpanded\def\font_basics_switch_points#body%    {\ifcsname\??fontbodyknown#body\endcsname \else       % we need to check the relative sizes for this body diff --git a/tex/context/base/mkiv/font-mps.lua b/tex/context/base/mkiv/font-mps.lua index 7529f2c5f..7b7c859df 100644 --- a/tex/context/base/mkiv/font-mps.lua +++ b/tex/context/base/mkiv/font-mps.lua @@ -339,17 +339,16 @@ function fonts.metapost.boxtomp(n,kind)                  end                  advance = advance + kern              elseif id == glue_code then -                local spec  = current.spec -                local width = spec.width +                local width = current.width                  if glue_sign == 1 then -                    if spec.stretch_order == glue_order then -                        width = (width + spec.stretch * glue_set) * fc +                    if current.stretch_order == glue_order then +                        width = (width + current.stretch * glue_set) * fc                      else                          width = width * fc                      end                  elseif glue_sign == 2 then -                    if spec.shrink_order == glue_order then -                        width = (width - spec.shrink * glue_set) * fc +                    if current.shrink_order == glue_order then +                        width = (width - current.shrink * glue_set) * fc                      else                          width = width * fc                      end @@ -404,7 +403,7 @@ function fonts.metapost.boxtomp(n,kind)                  distance = distance - current.kern                  advance  = 0              elseif id == glue_code then -                distance = distance - current.spec.width +                distance = distance - current.width                  advance  = 0              elseif id == rule_code then                  local wd = current.width diff --git a/tex/context/base/mkiv/lpdf-tag.lua b/tex/context/base/mkiv/lpdf-tag.lua index f20e4bfe8..79b8ac368 100644 --- a/tex/context/base/mkiv/lpdf-tag.lua +++ b/tex/context/base/mkiv/lpdf-tag.lua @@ -70,7 +70,6 @@ local setlist             = nuts.setlist  local traverse_nodes      = nuts.traverse  local tosequence          = nuts.tosequence -local copy_node           = nuts.copy  local slide_nodelist      = nuts.slide  local insert_before       = nuts.insert_before  local insert_after        = nuts.insert_after diff --git a/tex/context/base/mkiv/node-acc.lua b/tex/context/base/mkiv/node-acc.lua index 31359d936..ed34dbec9 100644 --- a/tex/context/base/mkiv/node-acc.lua +++ b/tex/context/base/mkiv/node-acc.lua @@ -34,8 +34,6 @@ local copy_node      = nuts.copy  local free_nodelist  = nuts.flush_list  local insert_after   = nuts.insert_after -local new_gluespec   = nuts.pool.gluespec -- temp hack -  local glue_code      = nodecodes.glue  local kern_code      = nodecodes.kern  local glyph_code     = nodecodes.glyph diff --git a/tex/context/base/mkiv/node-ltp.lua b/tex/context/base/mkiv/node-ltp.lua index 95efbcb9c..380b94e64 100644 --- a/tex/context/base/mkiv/node-ltp.lua +++ b/tex/context/base/mkiv/node-ltp.lua @@ -785,11 +785,10 @@ local function compute_break_width(par,break_type,p) -- split in two          if id == glyph_code then              return -- happens often          elseif id == glue_code then -            local spec = getfield(p,"spec") -            local order = stretch_orders[getfield(spec,"stretch_order")] -            break_width.size   = break_width.size   - getfield(spec,"width") -            break_width[order] = break_width[order] - getfield(spec,"stretch") -            break_width.shrink = break_width.shrink - getfield(spec,"shrink") +            local order = stretch_orders[getfield(p,"stretch_order")] +            break_width.size   = break_width.size   - getfield(p,"width") +            break_width[order] = break_width[order] - getfield(p,"stretch") +            break_width.shrink = break_width.shrink - getfield(p,"shrink")          elseif id == penalty_code then              -- do nothing          elseif id == kern_code then @@ -815,13 +814,6 @@ local function append_to_vlist(par, b)          if getid(b) == hlist_code then              local d = getfield(par.baseline_skip,"width") - prev_depth - getfield(b,"height") -- deficiency of space between baselines              local s = d < par.line_skip_limit and new_lineskip(par.lineskip) or new_baselineskip(d) -         -- local s = d < par.line_skip_limit -         -- if s then -         --     s = new_lineskip() -         --     setfield(s,"spec",tex.lineskip) -         -- else -         --     s = new_baselineskip(d) -         -- end              local head_field = par.head_field              if head_field then                  local n = slide_nodelist(head_field) -- todo: find_tail @@ -1464,11 +1456,8 @@ local function wrap_up(par)              par.do_last_line_fit = false          else              local glue = par.final_par_glue -            local spec = copy_node(getfield(glue,"spec")) -            setfield(spec,"width",getfield(spec,"width") + active_short - active_glue) -            setfield(spec,"stretch",0) -        --  flush_node(getfield(glue,"spec")) -- brrr, when we do this we can get an "invalid id stretch message", maybe dec refcount -            setfield(glue,"spec",spec) +            setfield(glue,"width",getfield(glue,"width") + active_short - active_glue) +            setfield(glue,"stretch",0)              if trace_lastlinefit then                  report_parbuilders("applying last line fit, short %a, glue %p",active_short,active_glue)              end @@ -2231,12 +2220,11 @@ function constructors.methods.basic(head,d)                          end                      end                  end -                local spec = check_shrinkage(par,getfield(current,"spec")) -                local order = stretch_orders[getfield(spec,"stretch_order")] -                setfield(current,"spec",spec) -                active_width.size   = active_width.size   + getfield(spec,"width") -                active_width[order] = active_width[order] + getfield(spec,"stretch") -                active_width.shrink = active_width.shrink + getfield(spec,"shrink") +                check_shrinkage(par,current) +                local order = stretch_orders[getfield(current,"stretch_order")] +                active_width.size   = active_width.size   + getfield(current,"width") +                active_width[order] = active_width[order] + getfield(current,"stretch") +                active_width.shrink = active_width.shrink + getfield(current,"shrink")              elseif id == disc_code then                  local subtype = getsubtype(current)                  if subtype ~= second_disc_code then @@ -2481,9 +2469,7 @@ local function short_display(target,a,font_in_short_display)          elseif id == rule_code then              write(target,"|")          elseif id == glue_code then -            if getfield(getfield(a,"spec"),"writable") then -                write(target," ") -            end +            write(target," ")          elseif id == kern_code then              local s = getsubtype(a)              if s == userkern_code or s == italickern_code or getattr(a,a_fontkern) then @@ -2883,12 +2869,11 @@ local function hpack(head,width,method,direction,firstline,line) -- fast version                      end                  end              elseif id == glue_code then -                local spec = getfield(current,"spec") -                natural = natural + getfield(spec,"width") -                local op = getfield(spec,"stretch_order") -                local om = getfield(spec,"shrink_order") -                total_stretch[op] = total_stretch[op] + getfield(spec,"stretch") -                total_shrink [om] = total_shrink [om] + getfield(spec,"shrink") +                natural = natural + getfield(current,"width") +                local op = getfield(current,"stretch_order") +                local om = getfield(current,"shrink_order") +                total_stretch[op] = total_stretch[op] + getfield(current,"stretch") +                total_shrink [om] = total_shrink [om] + getfield(current,"shrink")                  if getsubtype(current) >= leaders_code then                      local leader = getleader(current)                      local ht = getfield(leader,"height") diff --git a/tex/context/base/mkiv/node-met.lua b/tex/context/base/mkiv/node-met.lua index a5ad15c80..a2398da90 100644 --- a/tex/context/base/mkiv/node-met.lua +++ b/tex/context/base/mkiv/node-met.lua @@ -338,60 +338,10 @@ and hide it for the user. And yes, LuaTeX now gives a warning as  well.</p>  ]]-- --- writable will go away - -function nodes.writable_spec(n) -- not pool -    local spec = n_getfield(n,"spec") -    if not spec then -        spec = n_copy_node(glue_spec) -        n_setfield(n,"spec",spec) -    elseif not n_getfield(spec,"writable") then -        spec = n_copy_node(spec) -        n_setfield(n,"spec",spec) -    end -    return spec -end - -function nodes.copy_spec(old,free) -- also frees -    if not old then -        return n_new_node("glue_spec") -    else -        local new = n_copy_node(old) -        if free and old.writable then -            free_node(old) -        end -        return new -    end -end - -function nodes.free_spec(old) -    if not old then -        -- skip -    elseif old.writable then -        free_node(old) -    else -        -- skip -    end -end - --- if gonuts then -  function nodes.reference(n)      return n and tonut(n) or "<none>"  end --- else --- ---     local left, space = lpeg.P("<"), lpeg.P(" ") --- ---     local reference = left * (1-left)^0 * left * space^0 * lpeg.C((1-space)^0) --- ---     function nodes.reference(n) ---         return n and lpegmatch(reference,tostring(n)) or "<none>" ---     end --- --- end -  -- Here starts an experiment with metatables. Of course this only works with nodes  -- wrapped in userdata with a metatable.  -- diff --git a/tex/context/base/mkiv/node-nut.lua b/tex/context/base/mkiv/node-nut.lua index 200cbce5b..6fe2e0f33 100644 --- a/tex/context/base/mkiv/node-nut.lua +++ b/tex/context/base/mkiv/node-nut.lua @@ -200,30 +200,6 @@ nuts.ligaturing           = direct.ligaturing  nuts.kerning              = direct.kerning  nuts.effective_glue       = direct.effective_glue -if not nuts.effective_glue then - -    local getfield = nuts.getfield - -    function nuts.effective_glue(glue,parent) -        local spec  = getfield(glue,"spec") -        local width = getfield(spec,"width") -        if parent then -            local sign  = getfield(parent,"glue_sign") -            if sign == 1 then -                if getfield(spec,"stretch_order") == getfield(parent,"glue_order") then -                    return width + getfield(spec,"stretch") * getfield(parent,"glue_set") -                end -            elseif sign == 2 then -                if getfield(spec,"shrink_order") == getfield(parent,"glue_order") then -                    return width - getfield(spec,"shrink") * getfield(parent,"glue_set") -                end -            end -        end -        return width -    end - -end -  -- placeholders  if not nuts.kerning then @@ -347,7 +323,7 @@ local d_find_tail       = direct.tail  local d_insert_after    = direct.insert_after  local d_insert_before   = direct.insert_before  local d_slide           = direct.slide -local d_copy_node       = direct.copy +----- d_copy_node       = direct.copy  local d_traverse        = direct.traverse  local d_setlink         = direct.setlink  local d_setboth         = direct.setboth @@ -464,18 +440,6 @@ function nuts.concat(list) -- consider tail instead of slide      return head, tail  end -function nuts.writable_spec(n) -- not pool -    local spec = d_getfield(n,"spec") -    if not spec then -        spec = d_copy_node(glue_spec) -        d_setfield(n,"spec",spec) -    elseif not d_getfield(spec,"writable") then -        spec = d_copy_node(spec) -        d_setfield(n,"spec",spec) -    end -    return spec -end -  function nuts.reference(n)      return n or "<none>"  end diff --git a/tex/context/base/mkiv/node-res.lua b/tex/context/base/mkiv/node-res.lua index 5bc414b68..b74929a81 100644 --- a/tex/context/base/mkiv/node-res.lua +++ b/tex/context/base/mkiv/node-res.lua @@ -59,28 +59,45 @@ setmetatable(userids, {  -- nuts overload -local nuts      = nodes.nuts -local nutpool   = { } -nuts.pool       = nutpool +local nuts       = nodes.nuts +local nutpool    = { } +nuts.pool        = nutpool -local tonut     = nuts.tonut -local tonode    = nuts.tonode +local tonut      = nuts.tonut +local tonode     = nuts.tonode -local getbox    = nuts.getbox -local getfield  = nuts.getfield -local getid     = nuts.getid -local getlist   = nuts.getlist +local getbox     = nuts.getbox +local getfield   = nuts.getfield +local getid      = nuts.getid +local getlist    = nuts.getlist -local setfield  = nuts.setfield -local setchar   = nuts.setchar -local setlist   = nuts.setlist +local setfield   = nuts.setfield +local setchar    = nuts.setchar +local setlist    = nuts.setlist -local copy_nut  = nuts.copy -local new_nut   = nuts.new -local free_nut  = nuts.free +local copy_nut   = nuts.copy +local new_nut    = nuts.new +local free_nut   = nuts.free -local copy_node = nodes.copy -local new_node  = nodes.new +local copy_node  = nodes.copy +local new_node   = nodes.new + +local reset_glue = nuts.reset_glue + +if not reset_glue then +    reset_glue = function(n,width,stretch,shrink,stretch_order,shrink_order) +        setfield(n,"width",width or 0) +        setfield(n,"stretch",stretch or 0) +        setfield(n,"shrink",shrink or 0) +        setfield(n,"stretch_order",stretch_order or 0) +        setfield(n,"shrink_order",shrink_order or 0) +    end +    nuts.reset_glue = reset_glue +end + +nuts.resetglue = reset_glue + +-- todo: nodes.reset_glue  -- at some point we could have a dual set (the overhead of tonut is not much larger than  -- metatable associations at the lua/c end esp if we also take assignments into account @@ -237,58 +254,45 @@ end  local function someskip(skip,width,stretch,shrink,stretch_order,shrink_order)      local n = copy_nut(skip) -    if not width then -        -- no spec -    elseif width == false or tonumber(width) then -        local s = copy_nut(glue_spec) -        if width and width ~= 0 then -            setfield(s,"width",width) -        end -        if stretch and stretch ~= 0 then -            setfield(s,"stretch",stretch) -        end -        if shrink and shrink ~= 0 then -            setfield(s,"shrink",shrink) -        end -        if stretch_order and stretch_order ~= 0 then -            setfield(s,"stretch_order",stretch_order) -        end -        if shrink_order and shrink_order ~= 0 then -            setfield(s,"shrink_order",shrink_order) -        end -        setfield(n,"spec",s) -    else -        -- shared -        setfield(n,"spec",copy_nut(width)) +    if width and width ~= 0 then +        setfield(n,"width",width) +    end +    if stretch and stretch ~= 0 then +        setfield(n,"stretch",stretch) +    end +    if shrink and shrink ~= 0 then +        setfield(n,"shrink",shrink) +    end +    if stretch_order and stretch_order ~= 0 then +        setfield(n,"stretch_order",stretch_order) +    end +    if shrink_order and shrink_order ~= 0 then +        setfield(n,"shrink_order",shrink_order)      end      return n  end  function nutpool.stretch(a,b)      local n = copy_nut(glue) -    local s = copy_nut(glue_spec)      if b then -        setfield(s,"stretch",a) -        setfield(s,"stretch_order",b) +        setfield(n,"stretch",a) +        setfield(n,"stretch_order",b)      else -        setfield(s,"stretch",1) -        setfield(s,"stretch_order",a or 1) +        setfield(n,"stretch",1) +        setfield(n,"stretch_order",a or 1)      end -    setfield(n,"spec",s)      return n  end  function nutpool.shrink(a,b)      local n = copy_nut(glue) -    local s = copy_nut(glue_spec)      if b then -        setfield(s,"shrink",a) -        setfield(s,"shrink_order",b) +        setfield(n,"shrink",a) +        setfield(n,"shrink_order",b)      else -        setfield(s,"shrink",1) -        setfield(s,"shrink_order",a or 1) +        setfield(n,"shrink",1) +        setfield(n,"shrink_order",a or 1)      end -    setfield(n,"spec",s)      return n  end @@ -298,20 +302,18 @@ end  function nutpool.negatedglue(glue)      local n = copy_nut(glue) -    local s = copy_nut(getfield(n,"spec")) -    local width   = getfield(s,"width") -    local stretch = getfield(s,"stretch") -    local shrink  = getfield(s,"shrink") +    local width   = getfield(n,"width") +    local stretch = getfield(n,"stretch") +    local shrink  = getfield(n,"shrink")      if width and width ~= 0 then -        setfield(s,"width",  -width) +        setfield(n,"width",  -width)      end      if stretch and stretch ~= 0 then -        setfield(s,"stretch",-stretch) +        setfield(n,"stretch",-stretch)      end      if shrink and shrink ~= 0 then -        setfield(s,"shrink", -shrink) +        setfield(n,"shrink", -shrink)      end -    setfield(n,"spec",s)      return n  end diff --git a/tex/context/base/mkiv/node-ser.lua b/tex/context/base/mkiv/node-ser.lua index 99d26b63b..2ad1242c5 100644 --- a/tex/context/base/mkiv/node-ser.lua +++ b/tex/context/base/mkiv/node-ser.lua @@ -43,7 +43,6 @@ local expand = allocate ( tohash {      "list",         -- list_ptr & ins_ptr & adjust_ptr      "pre",          --      "post",         -- -    "spec",         -- glue_ptr      "top_skip",     --      "attr",         --      "replace",      -- nobreak diff --git a/tex/context/base/mkiv/node-tra.lua b/tex/context/base/mkiv/node-tra.lua index eb1832947..d184620ef 100644 --- a/tex/context/base/mkiv/node-tra.lua +++ b/tex/context/base/mkiv/node-tra.lua @@ -382,11 +382,7 @@ local function nodetodimen(n)          else              return f_z_z(width)          end -    end -    if id == glue_code then -        n = getfield(n,"spec") -    end -    if not n or not getid(n) == gluespec_code then +    elseif id ~= glue_code then          return "0pt"      end      local stretch_order = getfield(n,"stretch_order") diff --git a/tex/context/base/mkiv/page-flt.lua b/tex/context/base/mkiv/page-flt.lua index c57715fd9..caa8d490d 100644 --- a/tex/context/base/mkiv/page-flt.lua +++ b/tex/context/base/mkiv/page-flt.lua @@ -21,9 +21,7 @@ local C, S, P, lpegmatch = lpeg.C, lpeg.S, lpeg.P, lpeg.match  -- we use floatbox, floatwidth, floatheight  -- text page leftpage rightpage (todo: top, bottom, margin, order) -local copy_node_list   = node.copy_list  local flush_node_list  = node.flush_list -local copy_node        = node.copy  local setdimen         = tex.setdimen  local setcount         = tex.setcount diff --git a/tex/context/base/mkiv/scrn-ref.mkvi b/tex/context/base/mkiv/scrn-ref.mkvi index a52133306..c165e9131 100644 --- a/tex/context/base/mkiv/scrn-ref.mkvi +++ b/tex/context/base/mkiv/scrn-ref.mkvi @@ -36,7 +36,8 @@     \c!click=\v!yes,     \c!display=\v!normal,     \c!focus=\v!fit, -   \c!focusoffset=\zeropoint, % when tested with al views it will become 5\points +  %\c!focusoffset=\zeropoint, % when tested with al views it will become 5\points +   \c!focusoffset=5\points,     \c!calculate=,     % rendering:     \c!width=\emwidth, diff --git a/tex/context/base/mkiv/scrp-ini.lua b/tex/context/base/mkiv/scrp-ini.lua index c35f99038..02b289137 100644 --- a/tex/context/base/mkiv/scrp-ini.lua +++ b/tex/context/base/mkiv/scrp-ini.lua @@ -69,7 +69,6 @@ local nodepool          = nuts.pool  local new_glue          = nodepool.glue  local new_rule          = nodepool.rule  local new_penalty       = nodepool.penalty ------ new_gluespec      = nodepool.gluespec  scripts                 = scripts or { }  local scripts           = scripts @@ -823,20 +822,6 @@ local function marker(head,current,font,color) -- could become: nodes.tracers.ma      return head, current  end --- local function process(handler,head,first,last) ---     dataset = numbertodataset[first[a_scriptsplitting]] ---     stretch = emwidths[first.font]*dataset.inter_word_stretch_factor ---     return insert_node_after(head,last,new_glue(0,stretch)) --- end --- --- local cache = { }  table.setmetatableindex(cache,function(t,k) ---     local v = new_gluespec(0,k) ---     nodepool.register(v) ---     t[k] = v ---     return v --- end) --- return insert_node_after(head,last,new_glue(cache[last_s])) -  local last_a, last_f, last_s, last_q  function splitters.insertafter(handler,head,first,last,detail) diff --git a/tex/context/base/mkiv/spac-prf.lua b/tex/context/base/mkiv/spac-prf.lua index fd4ddea61..3bfd89f2e 100644 --- a/tex/context/base/mkiv/spac-prf.lua +++ b/tex/context/base/mkiv/spac-prf.lua @@ -71,6 +71,7 @@ local new_kern          = nuts.pool.kern  local hpack_nodes       = nuts.hpack  local link_nodes        = nuts.link  local find_node_tail    = nuts.tail +local reset_glue        = nuts.reset_glue  local properties        = nodes.properties.data @@ -719,7 +720,7 @@ local function profilelist(line,mvl)                              if action then                                  local ok = action(top,bot,t_profile,b_profile,specification)                                  if ok and lastglue and distance ~= 0 then -                                    setfield(lastglue,"spec",nil) +                                    resetglue(lastglue)                                  end                              end                              t_profile.done = true @@ -825,7 +826,7 @@ function profiling.profilebox(specification)                          if action then                              local ok = action(top,bot,t_profile,b_profile,specification)                              if ok and lastglue and distance ~= 0 then -                                setfield(lastglue,"spec",nil) +                                reset_glue(lastglue)                              end                          end                          t_profile.done = true diff --git a/tex/context/base/mkiv/spac-ver.lua b/tex/context/base/mkiv/spac-ver.lua index 5d040db6f..637e469f3 100644 --- a/tex/context/base/mkiv/spac-ver.lua +++ b/tex/context/base/mkiv/spac-ver.lua @@ -101,7 +101,6 @@ local getbox              = nuts.getbox  local find_node_tail      = nuts.tail  local free_node           = nuts.free  local free_node_list      = nuts.flush_list -local copy_node           = nuts.copy  local traverse_nodes      = nuts.traverse  local traverse_nodes_id   = nuts.traverse_id  local insert_node_before  = nuts.insert_before @@ -123,7 +122,6 @@ local nodepool            = nuts.pool  local new_penalty         = nodepool.penalty  local new_kern            = nodepool.kern  local new_rule            = nodepool.rule -local new_gluespec        = nodepool.gluespec  local nodecodes           = nodes.nodecodes  local skipcodes           = nodes.skipcodes @@ -594,17 +592,6 @@ local function snap_hlist(where,current,method,height,depth) -- method.strut is      return h, d, ch, cd, lines  end --- local function snap_topskip(current,method) ---     local spec = getfield(current,"spec") ---     local w = w and getfield(spec,"width") or 0 ---     local wd = w ---     if getfield(spec,"writable") then ---         setfield(spec,"width",0) ---         wd = 0 ---     end ---     return w, wd --- end -  local function snap_topskip(current,method)      local w = getfield(current,"width") or 0      setfield(current,"width",0) @@ -1254,6 +1241,8 @@ end  -- topskip  -- splittopskip +local experiment = false directives.register("vspacing.experiment",function(v) experiment = v end) +  local function collapser(head,where,what,trace,snap,a_snapmethod) -- maybe also pass tail      if trace then          reset_tracing(head) @@ -1310,14 +1299,6 @@ local function collapser(head,where,what,trace,snap,a_snapmethod) -- maybe also                  head = forced_skip(head,current,getfield(glue_data,"width") or 0,"before",trace)                  free_node(glue_data)              else -             -- -             -- local spec = getfield(glue_data,"spec") -             -- if getfield(spec,"writable") then -             --   if trace then trace_done("flushed due to " .. why,glue_data) end -             --   head = insert_node_before(head,current,glue_data) -             -- else -             --   free_node(glue_data) -             -- end                  local w = getfield(glue_data,"width")                  if w ~= 0 then                      if trace then trace_done("flushed due to non zero " .. why,glue_data) end @@ -1507,16 +1488,31 @@ local function collapser(head,where,what,trace,snap,a_snapmethod) -- maybe also                      end                      glue_order, glue_data = 0, nil                  elseif sc == disable then +local next = getnext(current) +if not experiment or next then                      ignore_following = true                      if trace then trace_skip("disable",sc,so,sp,current) end                      head, current = remove_node(head, current, true) +else +    current = next +end                  elseif sc == together then +local next = getnext(current) +if not experiment or next then                      keep_together = true                      if trace then trace_skip("together",sc,so,sp,current) end                      head, current = remove_node(head, current, true) +else +    current = next +end                  elseif sc == nowhite then +local next = getnext(current) +if not experiment or next then                      ignore_whitespace = true                      head, current = remove_node(head, current, true) +else +    current = next +end                  elseif sc == discard then                      if trace then trace_skip("discard",sc,so,sp,current) end                      head, current = remove_node(head, current, true) @@ -1728,6 +1724,7 @@ local function collapser(head,where,what,trace,snap,a_snapmethod) -- maybe also          if force_glue then              head, tail = forced_skip(head,tail,getfield(glue_data,"width") or 0,"after",trace)              free_node(glue_data) +            glue_data = nil          else              head, tail = insert_node_after(head,tail,glue_data)          end @@ -1764,8 +1761,12 @@ end  local stackhead, stacktail, stackhack = nil, nil, false -local function report(message,lst) -    report_vspacing(message,count_nodes(lst,true),nodeidstostring(lst)) +local function report(message,where,lst) +    if lst and where then +        report_vspacing(message,where,count_nodes(lst,true),nodeidstostring(lst)) +    else +        report_vspacing(message,count_nodes(lst,true),nodeidstostring(lst)) +    end  end  -- ugly code: we get partial lists (check if this stack is still okay) ... and we run @@ -1795,27 +1796,27 @@ function vspacing.pagehandler(newhead,where)          end          if flush then              if stackhead then -                if trace_collect_vspacing then report("appending %s nodes to stack (final): %s",newhead) end +                if trace_collect_vspacing then report("%s > appending %s nodes to stack (final): %s",where,newhead) end                  setlink(stacktail,newhead)                  newhead = stackhead                  stackhead, stacktail = nil, nil              end              if stackhack then                  stackhack = false -                if trace_collect_vspacing then report("processing %s nodes: %s",newhead) end +                if trace_collect_vspacing then report("%s > processing %s nodes: %s",where,newhead) end               -- texlists.contrib_head = collapser(newhead,"page",where,trace_page_vspacing,true,a_snapmethod)                  newhead = collapser(newhead,"page",where,trace_page_vspacing,true,a_snapmethod)              else -                if trace_collect_vspacing then report("flushing %s nodes: %s",newhead) end +                if trace_collect_vspacing then report("%s > flushing %s nodes: %s",where,newhead) end               -- texlists.contrib_head = newhead              end              return tonode(newhead)          else              if stackhead then -                if trace_collect_vspacing then report("appending %s nodes to stack (intermediate): %s",newhead) end +                if trace_collect_vspacing then report("%s > appending %s nodes to stack (intermediate): %s",where,newhead) end                  setlink(stacktail,newhead)              else -                if trace_collect_vspacing then report("storing %s nodes in stack (initial): %s",newhead) end +                if trace_collect_vspacing then report("%s > storing %s nodes in stack (initial): %s",where,newhead) end                  stackhead = newhead              end              stacktail = newtail diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdfBinary files differ index c6983c64a..0af031181 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.pdfBinary files differ index ae503f08a..11167c0ca 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/typo-cap.lua b/tex/context/base/mkiv/typo-cap.lua index ec6326042..62b90b8ab 100644 --- a/tex/context/base/mkiv/typo-cap.lua +++ b/tex/context/base/mkiv/typo-cap.lua @@ -10,8 +10,8 @@ local next, type = next, type  local format, insert = string.format, table.insert  local div, randomnumber = math.div, math.random -local trace_casing = false  trackers.register("typesetters.casing", function(v) trace_casing = v end) -local check_kerns  = false  directives.register("typesetters.casing.checkkerns", function(v) check_kerns = v end) +local trace_casing = false  trackers  .register("typesetters.casing",            function(v) trace_casing = v end) +local check_kerns  = true   directives.register("typesetters.casing.checkkerns", function(v) check_kerns  = v end)  local report_casing = logs.reporter("typesetting","casing") diff --git a/tex/context/base/mkiv/typo-dua.lua b/tex/context/base/mkiv/typo-dua.lua index 867d7f04c..ec2777919 100644 --- a/tex/context/base/mkiv/typo-dua.lua +++ b/tex/context/base/mkiv/typo-dua.lua @@ -84,7 +84,6 @@ local setprop             = nuts.setprop  local setchar             = nuts.setchar  local remove_node         = nuts.remove -local copy_node           = nuts.copy  local insert_node_after   = nuts.insert_after  local insert_node_before  = nuts.insert_before diff --git a/tex/context/base/mkiv/typo-dub.lua b/tex/context/base/mkiv/typo-dub.lua index e6a092568..d5188f535 100644 --- a/tex/context/base/mkiv/typo-dub.lua +++ b/tex/context/base/mkiv/typo-dub.lua @@ -73,7 +73,6 @@ local setprop             = nuts.setprop  local setchar             = nuts.setchar  local remove_node         = nuts.remove -local copy_node           = nuts.copy  local insert_node_after   = nuts.insert_after  local insert_node_before  = nuts.insert_before diff --git a/tex/context/base/mkiv/typo-krn.lua b/tex/context/base/mkiv/typo-krn.lua index a245fec41..bb9061c56 100644 --- a/tex/context/base/mkiv/typo-krn.lua +++ b/tex/context/base/mkiv/typo-krn.lua @@ -50,7 +50,8 @@ local setsubtype         = nuts.setsubtype  local texsetattribute    = tex.setattribute  local unsetvalue         = attributes.unsetvalue -local new_gluespec       = nodepool.gluespec +local resetglue          = nuts.resetglue +  local new_kern           = nodepool.kern  local new_glue           = nodepool.glue @@ -209,16 +210,6 @@ local function kern_injector(fillup,kern)      end  end -local function spec_injector(fillup,width,stretch,shrink) -    if fillup then -        local s = new_gluespec(width,2*stretch,2*shrink) -        setfield(s,"stretch_order",1) -        return s -    else -        return new_gluespec(width,stretch,shrink) -    end -end -  -- a simple list injector, no components and such .. just disable ligatures in  -- kern mode .. maybe not even hyphenate ... anyway, the next one is for simple  -- sublists .. beware: we can have char -1 @@ -560,10 +551,19 @@ function kerns.handler(head)                  if subtype == userskip_code or subtype == xspaceskip_code or subtype == spaceskip_code then                      local w = getfield(start,"width")                      if w > 0 then -                        local width   = w+gluefactor*w*krn -                        local stretch = getfield(start,"stretch") -                        local shrink  = getfield(start,"shrink") -                        setfield(start,"spec",spec_injector(fillup,width,stretch*width/w,shrink*width/w)) +                        local width   = w + gluefactor * w * krn +                        local stretch = getfield(start,"stretch") * width / w +                        local shrink  = getfield(start,"shrink")  * width / w +                        setfield(start,"width",width) +                        if fillup then +                            stretch = 2 * stretch +                            shrink  = 2 * shrink +                            setfield(start,"stretch_order",1) +                            -- shrink_order ? +                        end +                        setfield(start,"stretch",stretch) +                        setfield(start,"shrink", shrink) +                        --                          done = true                      end                  end diff --git a/tex/context/base/mkiv/typo-tal.lua b/tex/context/base/mkiv/typo-tal.lua index c7efc0f28..f76a69a26 100644 --- a/tex/context/base/mkiv/typo-tal.lua +++ b/tex/context/base/mkiv/typo-tal.lua @@ -54,10 +54,10 @@ local insert_node_after    = nuts.insert_after  local traverse_list_by_id  = nuts.traverse_id  local dimensions_of_list   = nuts.dimensions  local first_glyph          = nuts.first_glyph +local reset_glue           = nuts.reset_glue  local nodepool             = nuts.pool  local new_kern             = nodepool.kern -local new_gluespec         = nodepool.gluespec  local tracers              = nodes.tracers  local setcolor             = tracers.colors.set @@ -260,7 +260,7 @@ function characteralign.handler(originalhead,where)                  local prev = getprev(current)                  if next and prev and getid(next) == glyph_code and getid(prev) == glyph_code then -- too much checking                      local width = fontcharacters[getfont(b_start)][separator or period].width -                    setfield(current,"spec",new_gluespec(width)) +                    reset_glue(current,width)                      setattr(current,a_character,punctuationspace)                      if a_start then                          a_stop = current diff --git a/tex/context/modules/mkiv/m-nodechart.lua b/tex/context/modules/mkiv/m-nodechart.lua index 4f2740ef4..da80faed9 100644 --- a/tex/context/modules/mkiv/m-nodechart.lua +++ b/tex/context/modules/mkiv/m-nodechart.lua @@ -49,9 +49,7 @@ end  -- subtype width leader spec (stretch shrink ...  function formatters.glue(n,comment) -    local s = n.spec - -- return format("\\doFLOWgluenode{%s}{%s}{%s}{%s}{%s}",comment,gluecodes[n.subtype],points(s.width),points(s.stretch),points(s.shrink)) -    return format("\\doFLOWgluenode{%s}{%s}{%.4f}{%.4f}{%.4f}",comment,gluecodes[n.subtype],s.width*ptfactor,s.stretch*ptfactor,s.shrink*ptfactor) +    return format("\\doFLOWgluenode{%s}{%s}{%.4f}{%.4f}{%.4f}",comment,gluecodes[n.subtype],n.width*ptfactor,n.stretch*ptfactor,n.shrink*ptfactor)  end  -- subtype width leader spec (stretch shrink ... diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index cd7a88469..c1d06ea0e 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@  -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua  -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date  : 03/26/16 13:51:14 +-- merge date  : 03/30/16 11:59:12  do -- begin closure to overcome local limits and interference | 
