ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* new upload
@ 2022-01-15 10:54 Hans Hagen via ntg-context
  2022-01-15 11:33 ` hanneder--- via ntg-context
  2022-01-15 18:34 ` undefined control sequence c!symbolcolor in MkIV, was " Rik Kabel via ntg-context
  0 siblings, 2 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-15 10:54 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

I uploaded a new version but best first read this because some is 
experimental and i need to sycn with those involved, so thereofre the 
uplaod (too many files involved):

Indic:

- We added indic language patterns ad well as defined the languages but 
labels are on the todo as are conversions; kauśika is working on this

- We also added a tweak to deal with a certain class of indic fonts; 
there will be a more detailed report about the why and how by kauśika

- So, Indic should work as before but with more dedicated support coming.

Math:

- Mikael and I are stepwise going over the math machinery: constructs, 
spacing etc in the perspective of what luametatex provided.

- We think we can improve spacing (more consistent) but it needs some 
work and testing. Some gets shifted from engine heuristics to 
predictable control.

- There will be a 'traditional swedish' spacing variant, also as an 
exaple of how users can finetune and adapt to the math culture they 
like. (I will likely make one for educational purpose).

- All this is done by some fundamental extensions to the math engine (on 
top of all the already present configurability) but hopefully without 
side effects.

Rest:

- I added a few features discussed on the list (itemize and such) which 
I let others explain (omn the wiki).

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2023-07-09 17:51 Hans Hagen via ntg-context
  2023-07-10  8:43 ` denis.maier
  2023-07-10 15:51 ` Rik Kabel
  0 siblings, 2 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2023-07-09 17:51 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

No functional changes this time:

- some more consistent usage of new primitives instead of helper macros, 
also a bit of a look and feel related effort as well as getting even 
less tracing clutter (the kind of changes for Wolfgang to check -)

- as aside effect there is some performance gain (there is not that much 
more to gain now unless we go ugly); this all depends on usage of course

- at some point some of the more obscure middle level helpers (dating 
from mkii) might move to a module as i don't think anyone uses them in lmtx

There are quite some files affected (all is tripple checked but who 
knows). If there are issues, they should be easy to fix.

We're now moving into page builder (another side effect of math tuneup) 
mode and have some new features coming there.

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2022-12-27 17:04 Hans Hagen via ntg-context
  2022-12-27 17:27 ` Floris van Manen via ntg-context
                   ` (2 more replies)
  0 siblings, 3 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2022-12-27 17:04 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

I uploaded lmtx. There have been some additions to tabulate.

\starttext

% \showboxes
% \showstruts

\starttabulate[|w(top,3cm)|w(top,3cm)|]
\NC test \NC test \par test \NC \NR
\NC test \NC test \par test \NC \NR
\stoptabulate

\starttabulate[|w(top,packed,3cm)|w(top,packed,3cm)|]
\NC test \NC test \par test \NC \NR
\NC test \NC test \par test \NC \NR
\stoptabulate

\starttabulate[interlinespace=no,format={|w(bottom,3cm)|w(bottom,3cm)|}]
\NC test \NC test \par test \NC \NR
\NC test \NC test \par test \NC \NR
\stoptabulate

\starttabulate[format={|w(3cm)|w(3cm)|}]
\NC \vtop{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR
\NC \vtop{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR
\stoptabulate

\starttabulate[interlinespace=no,format={|w(3cm)|w(3cm)|}]
\NC \vtop{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR
\NC \vtop{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR
\stoptabulate

\starttabulate[interlinespace=no,format={|w(3cm)|w(3cm)|}]
\NC \vbox{\strut test} \NC \vbox{\strut test\par \strut test} \NC \NR
\NC \vbox{\strut test} \NC \vbox{\strut test\par \strut test} \NC \NR
\stoptabulate

\starttabulate[interlinespace=no,format={|w(3cm)|w(3cm)|}]
\NC \vtop{\strut test} \NC \vbox{\strut test\par \strut test} \NC \NR
\NC \vbox{\strut test} \NC \vtop{\strut test\par \strut test} \NC \NR
\stoptabulate

\stoptext

This permits top and bottom alignments of text blobs without interrow 
spacing being disturbed.

A bit more weird addition is the new \TM (move) option:

\starttext

\defineorientation[test][orientation=down,vertical=top]

\startbuffer[b]
\definetabulatemove[a][xoffset=40pt]
\definetabulatemove[b][orientation=test,yoffset=depth]

\starttabulate[|c|c|]
\TM[a] \NC \darkred   cell one   \NC \darkgray cell one   \NC \NR
\TM[b] \NC \darkgreen cell one   \NC \darkblue cell one   \NC \NR
\TM[a] \NC \darkred   cell two   \NC \darkgray cell two   \NC \NR
\TM[b] \NC \darkgreen cell two   \NC \darkblue cell two   \NC \NR
\TM[a] \NC \darkred   cell three \NC \darkgray cell three \NC \NR
\TM[b] \NC \darkgreen cell three \NC \darkblue cell three \NC \NR
\TM[a] \NC \darkred   cell four  \NC \darkgray cell four  \NC \NR
\TM[b] \NC \darkgreen cell four  \NC \darkblue cell four  \NC \NR
\stoptabulate
\stopbuffer

\start \showmakeup[line] \showstruts \ruledvbox{\getbuffer[b]} \stop
\start                   \showstruts \ruledvbox{\getbuffer[b]} \stop
\start                               \ruledvbox{\getbuffer[b]} \stop

\startbuffer[b]
\definetabulatemove[a][xoffset=20pt]

\starttabulate[|p|p|]
\TM[a] \NC \darkred   \samplefile{tufte} \NC \darkgray \samplefile{ward} 
\NC \NR
        \NC \darkgreen \samplefile{tufte} \NC \darkblue 
\samplefile{ward} \NC \NR
\TM[a] \NC \darkred   \samplefile{tufte} \NC \darkgray \samplefile{ward} 
\NC \NR
        \NC \darkgreen \samplefile{tufte} \NC \darkblue 
\samplefile{ward} \NC \NR
\stoptabulate
\stopbuffer

\start \small \small \showmakeup[line] \showstruts \getbuffer[b] \stop

\stoptext

This uses some new low level alignment options that operate on rows as a 
whole. As usual, I have no clue what users will come up with but the 
idea is that these 'moves' are independent of the alignment so the in 
this case shifted columns actually keeps their alignment. (It is mostly 
about consistent support luametatex engine features but it might come in 
handy.)

Some other 'new' things are too obscure to mention now,

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2022-11-14 22:02 Hans Hagen via ntg-context
  2022-11-15 14:47 ` Pablo Rodriguez via ntg-context
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2022-11-14 22:02 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

I uploaded a new version. New is that we can apply hz to math, although 
currently we have configured it as experiment.

\setupbodyfont[pagella]

% \startluacode
%     fonts.expansions.vectors.math = {
%         [0x002B] = { 4, 0 }, -- +
%         [0x2212] = { 4, 0 }, -- -
%         [0x003C] = { 8, 0 }, -- <
%         [0x003D] = { 8, 0 }, -- =
%         [0x003E] = { 8, 0 }, -- >
%         [0x002F] = { 2, 0 }, -- /
%         [0x0028] = { 2, 0 }, -- (
%         [0x0029] = { 2, 0 }, -- )
%         [0x005B] = { 2, 0 }, -- [
%         [0x005D] = { 2, 0 }, -- ]
%     }
% \stopluacode

\setupmathematics[hz=yes]

\startbuffer \showglyphs
     \dorecurse{20}{\strut test $x + y/2 - w = 10$ }\unskip
\stopbuffer

\definecolor[tgreen][g=1,t=.5,a=1]
\definecolor[tred]  [r=1,t=.5,a=1]

\startTEXpage[offset=5dk]
     \startoverlay
       {\ruledvbox to 5cm{\setupalign 
[tolerant,stretch]\tgreen\getbuffer\vss}}
       {\ruledvbox to 
5cm{\setupalign[hz,tolerant,stretch]\tred\getbuffer\vss}}
     \stopoverlay
\stopTEXpage

\stoptext

Normally an expansion factor is small and used for both stretch and 
shrink, but we can have them independendent. So, here we stretch rather 
extreme but don't shrink.

\setupmathematics[hz=yes]

only kicks in when we have hz enabled as alignment option. We can of 
course configure more 'stretchable symbols' but first we want to know if 
it makes sense at all. We can also imagine to disable it in specific cases.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2022-10-14  8:21 Hans Hagen via ntg-context
  2022-10-14 14:14 ` Pablo Rodriguez via ntg-context
  2022-10-16 16:07 ` Aditya Mahajan via ntg-context
  0 siblings, 2 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2022-10-14  8:21 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

I uploaded a new version. Apart from a few fixes / extensions already 
mentioned here (or known to those who wanted it) the main changes are in 
the math goodie files (work in progress, we will clean them up later) as 
part of improving the rendering of math.

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2022-04-19 18:23 Hans Hagen via ntg-context
  2022-04-19 19:18 ` Jeong Dal via ntg-context
  2022-04-20  1:47 ` śrīrāma via ntg-context
  0 siblings, 2 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2022-04-19 18:23 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

Hi,

I uploaded a new lmtx. Some more adaptive magic ... I'm not sure how 
usefull it is but users always find ways to apply such things. I 
attached a test file.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------

[-- Attachment #2: adaptive-001.tex --]
[-- Type: text/plain, Size: 3261 bytes --]

\starttext

\setupexternalfigures
  [location={default,global}]

\startMPdefinitions
    def TickTock =
        interim linecap := squared;
        save p ; path p ; p := fullsquare xysized(AdaptiveWidth,.9(AdaptiveHeight+AdaptiveDepth)) ;
        fill p withcolor AdaptiveColor ;
        draw bottomboundary (p enlarged (-AdaptiveThickness) )
            withdashes (3*AdaptiveThickness)
            withpen pencircle scaled AdaptiveThickness
            withcolor white ;
    enddef ;
\stopMPdefinitions

\startsetups adaptive:test
    \setbox\usedadaptivebox\hbox to \usedadaptivewidth yoffset -.9\usedadaptivedepth \bgroup
        \hss
        \startMPcode
            TickTock ;
        \stopMPcode
        \hss
   \egroup
\stopsetups

\definecolor[adaptive:tick][.25(blue,green)]
\definecolor[adaptive:tock][.75(blue,green)]

\defineadaptive
  [tick]
  [setups=adaptive:test,
   color=adaptive:tick,
   foregroundcolor=white,
   foregroundstyle=\infofont,
   strut=yes]

\defineadaptive
  [tock]
  [tick]
  [color=adaptive:tock]

\dorecurse{5}{
    \dostepwiserecurse{1}{150}{1}{%
        this~#1.##1 is~#1.##1 test~#1.##1
        \ifodd##1\relax
            \adaptivebox[tick]{\hss tick #1.##1\hss}
        \else
            \adaptivebox[tock]{\hss tock #1.##1\hss}
        \fi
    }
    \blank
}

\startsetups adaptive:test
    \setbox\usedadaptivebox\hbox to \usedadaptivewidth yoffset -\usedadaptivedepth \bgroup
        \externalfigure
          [cow.pdf]
          [width=\usedadaptivewidth,
           height=\dimexpr\usedadaptiveheight+\usedadaptivedepth\relax]%
   \egroup
\stopsetups

\dorecurse{5}{
    \dostepwiserecurse{1}{150}{1}{%
        this~#1.##1 is~#1.##1 test~#1.##1
        {\adaptivebox[strut=yes,setups=adaptive:test]{}}
    }
    \blank
}

\page

\startsetups adaptive:test
    \setbox\usedadaptivebox\vbox to \usedadaptivetotal \bgroup
        \externalfigure
          [cow.pdf]
          [width=\usedadaptivewidth,
           height=\usedadaptivetotal]%
   \egroup
\stopsetups

\ruledvbox to \textheight {
    \par \begstrut \samplefile{tufte} \endstrut \par
    \adaptivevbox[strut=yes,setups=adaptive:test]{\hsize\textwidth\hss}
    \par \begstrut \samplefile{tufte} \endstrut
}

\page

\startsetups adaptive:test:a
    \setbox\usedadaptivebox\vbox to \usedadaptivetotal \bgroup
        \externalfigure
          [cow.pdf]
          [width=\framedmaxwidth,
           frame=on,
           height=\usedadaptivetotal]%
   \egroup
\stopsetups

\startsetups adaptive:test:b
    \setbox\usedadaptivebox\vbox to \usedadaptivetotal \bgroup
        \externalfigure
          [cow.pdf]
          [width=\usedadaptivewidth,
           frame=on,
           height=\usedadaptivetotal]%
   \egroup
\stopsetups

\showframe

\framed[height=18cm,align=middle,adaptive=yes,top=,bottom=] {%
    \begstrut \samplefile{tufte} \endstrut
    \par
    \adaptivevbox
      [strut=yes,setups=adaptive:test:a]
      {\showstruts\strut\hsize5cm\hss}%
    \par
    \adaptivevbox
      [strut=yes,setups=adaptive:test:b]
      {\showstruts\strut\hsize5cm\hss}%
    \par
    \begstrut \samplefile{tufte} \endstrut
}

\stoptext

[-- Attachment #3: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2022-04-15 18:24 Hans Hagen via ntg-context
  2022-04-16  8:37 ` Pablo Rodriguez via ntg-context
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2022-04-15 18:24 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

I uploaded a new lmtx. Apart from a experimental intersection feature in 
the mp library (and metafun, more will be revealed when MS an I are okay 
with it) there is not that much news.

I decided to turn some test code into a mechanism which is illustrated 
below. Adaptive boxes are hboxes that act a bit like glue which means 
that when we hook in e.g. a graphic it can be made to adapt.

We can add some more methods if needed so maybe you see other usage. The 
interface is rather lightweight and the overhead is quite resonable.

Hans


===================

\starttext

\startMPdefinitions
     def TickTock =
         interim linecap := squared;
         save p ; path p ; p := fullsquare 
xysized(AdaptiveWidth,.9(AdaptiveHeight+AdaptiveDepth)) ;
         fill p withcolor AdaptiveColor ;
         draw bottomboundary (p enlarged (-AdaptiveThickness) )
             withdashes (3*AdaptiveThickness)
             withpen pencircle scaled AdaptiveThickness
             withcolor white ;
     enddef ;
\stopMPdefinitions

\startsetups adaptive:test
     \setbox\usedadaptivebox\hbox to \usedadaptivewidth yoffset 
-.9\usedadaptivedepth \bgroup
         \hss
         \startMPcode
             TickTock ;
         \stopMPcode
         \hss
    \egroup
\stopsetups

\definecolor[adaptive:tick][.25(blue,green)]
\definecolor[adaptive:tock][.75(blue,green)]

\defineadaptive
   [tick]
   [setups=adaptive:test,
    color=adaptive:tick,
    foregroundcolor=white,
    foregroundstyle=\infofont,
    strut=yes]

\defineadaptive
   [tock]
   [tick]
   [color=adaptive:tock]

% with postprocessing

\dorecurse{5}{
     \dostepwiserecurse{1}{150}{1}{%
         this~#1.##1 is~#1.##1 test~#1.##1
         \ifodd##1\relax
             \adaptivebox[tick]{\hss tick #1.##1\hss}
         \else
             \adaptivebox[tock]{\hss tock #1.##1\hss}
         \fi
     }
     \blank
}

\page

% without postprocessing

\dorecurse{5}{
     \dostepwiserecurse{1}{150}{1}{%
         this~#1.##1 is~#1.##1 test~#1.##1
         {\showboxes\adaptivebox[strut=yes,foregroundcolor=darkred]{\hss 
test #1.##1\hss}}
     }
     \blank
}

\page

% with images

% a weird one

\setupexternalfigures
   [location={default,global}]

\startsetups adaptive:test
     \setbox\usedadaptivebox\hbox to \usedadaptivewidth yoffset 
-\usedadaptivedepth \bgroup
         \externalfigure
           [cow.pdf]
           [width=\usedadaptivewidth,
            height=\dimexpr\usedadaptiveheight+\usedadaptivedepth\relax]%
    \egroup
\stopsetups

\dorecurse{5}{
     \dostepwiserecurse{1}{150}{1}{%
         this~#1.##1 is~#1.##1 test~#1.##1
         {\adaptivebox[strut=yes,setups=adaptive:test]{}}
     }
     \blank
}

\stoptext

It actually uses an already present for a while low level engine feature 
that we introduced as part of the math processing update:

\dorecurse
   {1000}
   {test \uleaders\ruledhbox{\hss#1\hss}\hskip2em minus 1em\ }


Next on the todo is to move some experimental graphic trickery related 
to math (matrices) into the core but the interfacing needs some thought.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2022-03-11 23:16 Hans Hagen via ntg-context
  2022-03-12 16:24 ` Henning Hraban Ramm via ntg-context
                   ` (2 more replies)
  0 siblings, 3 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2022-03-11 23:16 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

It has been a while since there was an updaste but there it is. The most 
significant 'changes' are:

- more automatic adaption to double sided page properties in metafun 
(lmtx) ... blame sreeram and me for messing up

- more extensibve support for indic fonts which sreeram has documented 
on the wiki (fonts, translutaration etc)

and

- improved math rendering to be documented by by mikael in an upcoming 
manual ... it tooks a couple of months so it is supposed to have some 
impact.

before we move on the the structural compoments and see what can be done 
beter there, we decided to release the first stage that deals with:

= fixing font properties; we don't expect fonts to be improved so that's 
the route we follow

= extensive inter atom spacing (we have many more math classes, some in 
the engine, some in context) and everything can be controlled (the old 
pairwise spacing primitives have been replaced by a more general 
mechanism, including support for fast setup of categories and inhertance 
from other classes)

= idem for inter class penalties, including granular control over line 
breaks using a system of (in/de)creasing penalties

= auto-fenced inline material across lines and linebreaks in molecules 
(read: complex atoms)

= taking stretch and shrink in encapsulated atoms into account in 
linbreaks (using some new box related mechanism that is also available 
in text and will be explained later)

= spacing at the edges that should not be there but always was there as 
side effect of the engine is now removed; as with other new features 
this can be controlled (we have rulesets for atoms to which we can add 
more in the future)

= more detailed control over (skewed) fractions, (flattened) accents, 
(sized) fences, radicals ... there was already a lot there but it now 
combines with mentioned spacing (when relevant the context macros have 
been adapted to control this which is a bit cleaner)

= we have a new built in muskip (tiny) but as we have an inheritance 
system as well as binding to variables one can set up extensive spacing 
models register and constant binding; the currently set values are based 
on math typesetting references; in the future we might have additional ones

= although we did handle primes already rather transparent in mkiv / 
lmtx, inconsistency in fonts made us decide to make primes first class 
properties of atoms and molecules which means that we now have: pre 
super/subscripts, post super/subscripts and primes; this permits nicer 
anchoring under parameter control

= there are more font parameters to control matters (they are not in 
open type but we sort of assume they are); the options that we had to 
control how the engine deals with fonts are now driving the process 
(without them being set not much is applied) and we basically assume 
open type fonts (where one can enable engine options for those kind of 
fonts but also for traditional); some experimental options for testing 
are gone

= in the process tracing for what is done in math by the engine has been 
extended (mostly for ourselves)

= instead of auto patching math fonts most is now under control of the 
goodie files; user can (as usual) make their own, but also ask Mikael to 
add missing bits and pieces (wrt dimensions)

= most known math fonts are dealt with but there are a few exceptions: 
we no longer consider asana to be useful (it doesn't pass our qa and 
needs too much patching); erewhon is also troublesome (dimensions, 
missing shaped) as is concrete (idem) so we decided not to waste too 
much time on them now

= we probably need to freeze math fonts in the distribution and only 
update when we know what has been changed

= we got rid of quite some artifacts that normally go unnoticed (like 
tiny added spaces that result from always applied spacing even if not 
needed and/or to compensate for glyph features like too much or little 
side bearing): by fixing inconsistencies in fonts we could get rid of 
all and therefore inter atom spacing is what does the job; once you know 
it, you see it and there is no going back

= because we zoom in we notice these things but much went unnoticed (or 
was just accepted) for years; it means that we think some of the things 
we did qualify as math micro typography (like it or not) and it does 
mean that documents can render differently (unlikely for display, 
propably also for inline unless you have plenty of math in a paragraph)

== our objective has been to make it easier for users and to get rid of 
explicit spacing; for that we also introduced commands for differentials 
(that have their own class), imaginary numbers (also have their class) 
and we added exponential as class; fwiw, digits and factorial are 
classes too so again spacing has been optimized for them

= whatever i forgot in the meantime mikael will add to this list

There is a rough description in the 'ontarget' document. We hope you 
enjoy it, at least we did (and so, as we're not finished yet).

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2022-01-21 19:28 Hans Hagen via ntg-context
  2022-01-21 20:11 ` Henning Hraban Ramm via ntg-context
                   ` (2 more replies)
  0 siblings, 3 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-21 19:28 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

Weekend uoload:

- more math parameter magic (plus a real ancient bug no one noticed fix):

\newdimen     \mydimenA  \mydimenA 10pt
\newskip      \myskipA   \myskipA  10pt
\newmuskip    \mymuskipA \mymuskipA10mu
\mugluespecdef\mymuskipB           10mu

\inherited\Umathfracfracspacing\allmathstyles \mydimenA  % dynamic
\inherited\Umathfracfracspacing\allmathstyles \mymuskipA % dynamic
\inherited\Umathfracfracspacing\allmathstyles \myskipA   % dynamic
\Umathfracfracspacing\allmathstyles\mymuskipA            % frozen

% \alltextstyles \allscriptstyles \allmathstyles \allsplitstyles
% \resetmathstyles

\starttext
\startTEXpage[offset=3bp]
     $\displaystyle\mathfrac {x}\mathfrac {x}$\par
     $\textstyle   \mathfrac {x}\mathfrac {x}$\par
     $\scriptstyle \mathfrac {x}\mathfrac {x}$\par
\stopTEXpage
\stoptext

so we can have fixed values too .. will be explained in due time by 
Mikael (in manual) as we're still experimenting with all this

- initial indic transliteration support .. recent indic (font) 
experiences and transliteration tricks will be eplained by kauśika

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-11-30 18:55 Hans Hagen via ntg-context
  2021-12-01  8:49 ` Denis Maier via ntg-context
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2021-11-30 18:55 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

(1) See previous mails on the list (those who requested it have to wikify):

- mixed bars (with limitations)
- horizontal registers (flushing)

(2) As a side effect of reshuffling some code (as well as being complete):

- \boxshift 0 = 10pt
- hbox shift -10pt{...}

These box shifts are what \moveleft, \raise etc use as well as some 
internal constructors like math.

(3) Because there is no reason for a limitation to rules and boxes we 
can now also do:

- x\cleaders \glyph`! \hfill x

where as usual \glyph taking some options.

(4) A few internals that users are unlikely to encounter (unless they 
mess with weird tokens in lua).

Hopefully no bad side effects of all this (and if so, easy to solve).

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-11-13 20:19 Hans Hagen via ntg-context
  2021-11-16 13:29 ` Otared Kavian via ntg-context
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2021-11-13 20:19 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

I uploaded a new lmtx versions. It mostly concerns new math lfg file 
functionality (and control) that Mikael Sundqvist and I are currently 
working on so there might be subtle differences in math, which is, 
unless there are bugs, intentional and for the best. At some point there 
will be additional test files in the distribution and a chapter on fonts 
in the math manual (the deadline is next years ctx meeting).

If you have wishes wrt fonts you can tell us and we'll take them into 
account (if possible) but we need proper (real) minimal examples, and 
not for only one font as we're looking at:

cambria     (the reference font, very little tweaking needed)
modern      (which has some properties different from other gyre fonts)
modernlatin (the boldened aka bachotex version)
dejavu      (a gyre font but different from other gyre fonts)
pagella     (a gyre font, all have subtle differences)
schola      (a gyre font, all have subtle differences)
termes      (a gyre font, all have subtle differences)
bonum       (a gyre font, all have subtle differences)
lucida      (commercial but rather cheap from tug)
xits        (is that one still used?)
libertinus  (a mixed bag)
stix-two    (a mixed bag)
asana       (we might drop it because of quality reasons)
ebgaramond  (this one is quite cambria conforming)
minion      (tricky because commercial and not generally available)

Maybe later the newlatin modern will get a lfg too but it's beta and we 
'modernlatin' anyway which uses our normal lm lgf file as it's A runtime 
derived font and therefore fully compatible.

The bold (heavy) math fonts also are dealt with automagically.

For practical reasons we might freeze fonts in the distribution and only 
update when explicitly checked for changes (and/or I might cook up 
version support in the lfg file assuming version checking is doable as 
often version strings are somewhat messy). We're not that bound to 
conventions (in the perspective of tex usage) and can "fix" them once 
and for all (read: we can divert from how these fonts are currently 
tuned for usage and expectations in e.g. latex and plain tex) so feel 
free to suggest esthetical pleasing options. If needed we can add 
variants (for which we can extend the lfg format). We also have plenty 
of yet unused (detailed) control in the engine. We can for instance have 
specific parameter sets / finetuning defined in the lfg files too but I 
don't know how useful and in demand that is (Mikael is looking into that).

(I'm sure Aditya has some wishes. We'll deal with Euler later as that's 
a virtual mix and virtual opentype might be redone later because we can 
simply matters a bit due to the fact that we have some more and better 
trickery wrt virtual fonts now.)

More in due time (as it's a tedious and somewhat boring job that demands 
lots of testing and investigation),

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-11-05 15:43 Hans Hagen via ntg-context
  0 siblings, 0 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2021-11-05 15:43 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

The latest lmtx upload has this:

\starttext

\dorecurse{10} {
     \dorecurse{20}{test #1 }
     \dorecurse{10}{\insertlinebefore{BEFORE 1/#1}}
     \dorecurse{20}{test #1 }
     \blank
}

\page

\dorecurse{10} {
     \dorecurse{20}{test #1 }
     \insertlinebefore{BEFORE 1a}
     \insertlinebefore{BEFORE 1b}
     \insertlineafter {AFTER  1}
     \dorecurse{20}{test #1 \hbox{\hbox{\hbox{\footnote{!}}}}}
     \dorecurse{20}{test #1 }
     \insertlinebefore{BEFORE 2}
     \insertlineafter {AFTER  2}
     \dorecurse{20}{test #1 }
     \blank
}

\page

\dorecurse{20}{before #1 }
\insertblankbefore[big]%
\insertlinebefore{\bf patch starts here}%
\insertblankbefore[2*big]%
\dorecurse{20}{between #1 }
\insertblankafter[2*big]%
\insertlineafter{\bf and ends here}%
\insertblankafter[big]%
\dorecurse{20}{after #1 }

\stoptext

so, some experimental injection mechanism (using some upgraded low level 
\vadjust related trickery).

(now back to the math font mess with Mikael ... so if math lovers have 
test cases ... it's about time to deal with persistent issues as I don't 
see/expect math fonts being made more consistent than they are now so we 
can add tweaks to the goodie files as we go)

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-11-02  9:43 Hans Hagen via ntg-context
  2021-11-02 16:58 ` Rik Kabel via ntg-context
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2021-11-02  9:43 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

I uploaded a new lmtx. There is a new low level manual 
(lowlevel-localboxes) that describes the extended local boxes interface 
as well as a layer on top. New is that we have classes which makes this 
(engine) mechanism more useable. It definitely is some low level 
mechanism but you can for instance use if for high performance efficient 
maginal notes and line numbering in controlled situations. (There is 
some room fro optimization in the engien but I deal with that later.)

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-10-13 15:34 Hans Hagen via ntg-context
  2021-10-13 20:37 ` jbf via ntg-context
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2021-10-13 15:34 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

This midweek upload has something new. There has been some discussion 
about footnotes and one thing I noticed when playing with some new 
possibilities is that the stretch in topskip (we use a default amount 
that long ago was derived from plain tex and is relative to the body 
font size) influences the pagebreaks in relation to inserts (footnotes) 
in a more significant way than one would expect.

I also noticed that this stretch component is one of the reasons why 
sometimes a side float shape will carry over to a next page in spite of 
there being room. This relates to \brokenpenalty.

At the end of this mail are some tests that demonstrate this. As a 
consequence we now have a "ntop" parameter as well as a shaping related 
penalty primitives (parameters):

   \shapingpenaltiesmode"FF    % set all (future) bits (currently 4)
   \shapingpenalty\plushundred % don't go too high

which is currently not enabled by default but might be in upcoming 
versions; this also depends on user feedback. It's a non intrusive 
extension the LuaMetaTeX engine. I have this setting in my local 
preferences file.

Hans


% test code (for Massimiliano and Hraban to play with)

\starttext

\showframe

% this is the current default behaviour; we have a topskip with
% quite some stretch and that stretch is taken into account
% when tex calculates the badness; watch the next page

\dorecurse{4}{
     \bgroup
         \shapingpenaltiesmode\zerocount
         \showmakeup[penalty]
         \placefigure[left]{}{}
         \input tufte \par
     \egroup
}

\page EMPTY \page

% the ntop is new and when >= 0 it is a multiplier for the number
% of lines stretch, here we have one line; watch the next page

\dorecurse{4}{
     \bgroup
         \shapingpenaltiesmode\zerocount
         \setupinterlinespace[ntop=1]
         \showmakeup[penalty]
         \placefigure[left]{}{}
         \input tufte \par
     \egroup
}

\page EMPTY \page

% these shaping parameters will discourage a linebreak within a
% shape; the placement macro checked available space but that
% doesn't mean that there can be no linebreak

\dorecurse{4}{
     \bgroup
         \showmakeup[penalty]
         \shapingpenaltiesmode"FF\relax
         \shapingpenalty\plushundred
         \placefigure[left]{}{}
         \input tufte \par
     \egroup
}

\page EMPTY \page

% the next pages show the effect of changed topskip on page breaks
% with footnotes

\dorecurse{10}{
     [#1] \input tufte \footnote{\input{tufte}} \par
}

\page EMPTY \page

\setupinterlinespace[ntop=2]

\dorecurse{10}{
     [#1] \input tufte \footnote{\input{tufte}} \par
}

\page EMPTY \page

\setupinterlinespace[ntop=0]

\dorecurse{10}{
     [#1] \input tufte \footnote{\input{tufte}} \par
}

\stoptext


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-08-30 14:30 Hans Hagen via ntg-context
  2021-08-30 16:15 ` mf via ntg-context
  2021-08-30 17:27 ` Rik Kabel via ntg-context
  0 siblings, 2 replies; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2021-08-30 14:30 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

new in this upload are some features in tabulate (not all enabled yet), 
like

\starttabulate[|lG{.}|cG{,}|rG{=}|cG{x}|]
\NC 1.1     \NC 2,2     \NC 3=3     \NC a 0xFF   \NC \NR
\NC 11.11   \NC 22,22   \NC 33=33   \NC b 0xFFF  \NC \NR
\NC 111.111 \NC 222,222 \NC 333=333 \NC c 0xFFFF \NC \NR
\stoptabulate

\starttabulate[|lG{}|lG{}|]
\NC \showglyphs \setalignmentcharacter{.}1.1     \NC 
\setalignmentcharacter{.}1.1     \NC\NR
\NC \showglyphs \setalignmentcharacter{,}11,11   \NC 
\setalignmentcharacter{,}11,11   \NC\NR
\NC \showglyphs \setalignmentcharacter{=}111=111 \NC 
\setalignmentcharacter{=}111=111 \NC\NR
\stoptabulate

\starttabulate[|lG{.}|lG{}|]
\NC 1.1     \NC \setalignmentcharacter{.}1.1     \NC\NR
\NC 11.11   \NC \setalignmentcharacter{.}11.11   \NC\NR
\NC 111.111 \NC \setalignmentcharacter{.}111.111 \NC\NR
\stoptabulate

\starttabulate[|lG{.}|rG{.}|]
\NC foo.bar \NC foo.bar \NC \NR
\NC  oo.ba  \NC  oo.ba  \NC \NR
\NC   o.b   \NC   o.b   \NC \NR
\stoptabulate

\starttabulate[|cG{d}|]
\NC \smallcaps abcdefgh \NC \NR
\NC              xdy    \NC \NR
\NC \sl          xdy    \NC \NR
\NC \tttf        xdy    \NC \NR
\NC \tfd          d     \NC \NR
\stoptabulate

The G option is like g but better so it sort of replaces it.

updated: lowlevel-expansion   (also discusses luametatex)
new    : lowlevel-alignments  (also discusses luametatex)

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
[parent not found: <00DA928D-3C91-469A-B1C8-16C505565C4D@scorecrow.com>]
* new upload
@ 2021-08-07 21:00 Hans Hagen via ntg-context
  2021-08-08  0:50 ` Aditya Mahajan via ntg-context
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen via ntg-context @ 2021-08-07 21:00 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

[-- Attachment #1: Type: text/plain, Size: 553 bytes --]

Hi,

I did a new upload. Attached is a document describing a new cheap (lmtx 
only) feature. It's probably not that useful for most users, because it 
is meant for somewhat extreme situations. but you never know.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------

[-- Attachment #2: workflows-hashed.pdf --]
[-- Type: application/pdf, Size: 23086 bytes --]

[-- Attachment #3: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-06-13 17:31 Hans Hagen
  2021-06-14 15:13 ` Pablo Rodriguez
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen @ 2021-06-13 17:31 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

A few things

(1) Thomas and I picked up the facing floats thread. I will probably 
remove the experimental code from mkiv and only work on the lmtx 
implementation. The same can be true for streams.

(2) The \limits and \nolimist etc commands are actually modifiers and so 
are \Umathadapttoright and \Umathadapttoleft. Because we have a couple 
of 'handy' options in several math constructs in the engine I decided to 
add a few more modifiers to (ab)use those features too. The next 
examples are for 'math detail lovers':

% \displaylimits
% \limits
% \nolimits
% \ordlimits (maybe replace that one now or maybe no longer needed anyway)

% \Umathadapttoleft
% \Umathadapttoright
% \Umathaxis
% \Umathnoaxis
% \Umathphantom
% \Umathvoid
% \Umathopenupheight <dimension>
% \Umathopenupdepth  <dimension>
% \Umathlimits
% \Umathnolimits

\startTEXpage[offset=5mm]
\startformula
     x = \integral^1_2 \mathinner{\vrule height 10mm depth 10mm width 5mm} =
     x = \integral^1_2 \mathinner{\vrule height 20mm depth 20mm width 5mm} =
     x = \integral^1_2 \mathinner{\vrule height 30mm depth 30mm width 5mm} =
     x = \integral^1_2 \mathinner{x} =
     x = \integral^1_2 x
\stopformula
\stopTEXpage

\startTEXpage[offset=5mm]
$
     x = \integral^1_2 \mathinner{\vrule height 10mm depth 10mm width 5mm} =
     x = \integral^1_2 \mathinner{\vrule height 20mm depth 20mm width 5mm} =
     x = \integral^1_2 \mathinner{\vrule height 30mm depth 30mm width 5mm} =
     x = \integral^1_2 x =
$
\stopTEXpage

\def\rab {\Umathchar"1"00"007C }
\def\lrab{\Umathchar"4"00"007C }
\def\rrab{\Umathchar"5"00"007C }

% \Umathmodifier : plus\minus

\definecolor[mtestcolor][a=1,t=.5,s=.5]

\startTEXpage[offset=5mm]
$
     \color[green]{\rab\Umathadapttoright^{\black 1}_{\black 2}^^3__4}
     \color[blue] {\mathinner{\vrule height 30mm depth 30mm width 5mm}}
     \color[red]  {\rab\Umathadapttoleft ^5_6^^{\black 7}__{\black 8}}
$
\quad
$
     \rab\Umathadapttoright^1_2^^3__4
     \mathinner{\vrule height 30mm depth 30mm width 5mm}
     \rab\Umathadapttoleft^5_6^^7__8
$
\quad
$ \showboxes
     \rab\Umathadapttoright\Umathnoaxis^1_2^^3__4
     \mathinner{\vrule height 30mm depth 30mm width 5mm}
     \rab\Umathadapttoleft\Umathnoaxis^5_6^^7__8
$
\quad
$ \showboxes
     \rab\Umathadapttoright\Umathnoaxis\Umathphantom^1_2^^3__4
     \mathinner{\vrule height 30mm depth 30mm width 5mm}
     \rab\Umathadapttoleft\Umathnoaxis\Umathphantom^5_6^^7__8
$
\quad
$ \showboxes
     \rab\Umathadapttoright\Umathnoaxis\Umathvoid^1_2^^3__4
     \mathinner{\vrule height 30mm depth 30mm width 5mm}
     \rab\Umathadapttoleft\Umathnoaxis\Umathvoid^5_6^^7__8
$
\quad
$ \showboxes
 
\rab\Umathadapttoright\Umathnoaxis\Umathvoid\Umathopenupheight5mm^1_2^^3__4
     \mathinner{\vrule height 30mm depth 30mm width 5mm}
     \rab\Umathadapttoleft \Umathnoaxis\Umathvoid\Umathopenupdepth 
5mm^5_6^^7__8
$
\stopTEXpage

\startTEXpage[offset=5mm]
$ \showmakeup[math]
     \rab\Umathadapttoright\Umathnoaxis\Umathopenupheight 5mm^1_2^^3__4
     \mathinner{\mtestcolor\vrule height 10mm depth 10mm width 5mm}
     \rab\Umathadapttoleft \Umathnoaxis\Umathopenupdepth 5mm^5_6^^7__8
$
\quad
$  \showmakeup[math]
     \openinnerspacing \textstyle 5mu
     \innerclosespacing\textstyle 5mu
     \lrab\Umathadapttoright\Umathnoaxis\Umathopenupheight 5mm^1_2^^3__4
     \mathinner{\mtestcolor\vrule height 10mm depth 10mm width 5mm}
     \rrab\Umathadapttoleft \Umathnoaxis\Umathopenupdepth 5mm^5_6^^7__8
$
\quad
$  \showmakeup[math]
     \openinnerspacing \textstyle 5mu
     \innerclosespacing\textstyle 5mu
     \lrab\Umathnolimits\Umathadapttoright\Umathnoaxis\Umathopenupheight 
5mm^1_2^^3__4
     \mathinner{\mtestcolor\vrule height 10mm depth 10mm width 5mm}
     \rrab\Umathlimits  \Umathadapttoleft \Umathnoaxis\Umathopenupdepth 
5mm^5_6^^7__8
$
\stopTEXpage

\startTEXpage[offset=5mm]
$  \showmakeup[math]
     \frozen\openinnerspacing \textstyle 10mu
     \frozen\innerclosespacing\textstyle 10mu
     \lrab\Umathnolimits\Umathadapttoright\Umathnoaxis^1_2^^3__4
     \mathinner{\mtestcolor\vrule height 10mm depth 10mm width 5mm}
     \rrab\Umathlimits  \Umathadapttoleft \Umathnoaxis^5_6^^7__8
     =
     \frozen\openinnerspacing \textstyle 2mu
     \frozen\innerclosespacing\textstyle 2mu
     \lrab\Umathnolimits\Umathadapttoright\Umathnoaxis^1_2^^3__4
     \mathinner{\mtestcolor\vrule height 10mm depth 10mm width 5mm}
     \rrab\Umathlimits  \Umathadapttoleft \Umathnoaxis^5_6^^7__8
$
\stopTEXpage

\stoptext

I'm still wondering about some interfacing but that depends on it being 
used (at all) but at least we can finetune a bit more abstract if we 
want to. It is also fun to play with (come up with new math notations 
and so).

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-06-04 15:46 Hans Hagen
  2021-06-04 16:18 ` Pablo Rodriguez
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen @ 2021-06-04 15:46 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I uploaded a new version of lmtx: a next step in this matrix and such 
graphic part ... (also bTABLE done).

The matrix bit has a high level MP interface, also because it's a nice 
example of implementing one (not much code needed actually).

Support in bTABLE .. eTABLE is kind of interesting as it separates the 
ornamental part from the text part. The sxample only shows some simple 
stuff.  I'll probably also add this to the other table mechanisms. (Not 
hard but I don't want to impact performance when it's not used.)

The

   \startoverlayMPgraphic{mp:whatever-6}

is new and automatically defines the overlay so that saves some code.

   \startMPoverlaydata

is just a collector that can be flushed in-line (which wilkl also reset 
it).

All this is probably mostly useful in an educational setting. We'll see.

Hans

------------------------------------------------------------
examples
------------------------------------------------------------


\starttext

\startoverlayMPgraphic{mp:whatever-6}
     fill OverlayBox withcolor "darkgray" ;
     draw matrixbox (1, 1) (2, 1) enlarged OverlayOffset shifted 
paired(OverlayOffset) withpen pencircle scaled 1pt withcolor "blue" ;
     draw matrixbox (2, 2) (4, 4) enlarged OverlayOffset shifted 
paired(OverlayOffset) withpen pencircle scaled 1pt withcolor "red" ;
\stopoverlayMPgraphic

\framed
   [synchronize=background,
    align=normal,
    frame=off,
    background=mp:whatever-6,
    backgroundoffset=.5ex,
    foregroundcolor=white]
   {\setmathmatrixanchoring[yes]% left|right|both|yes
    \startmathmatrix
       \NC a_1 \NC a   \NC b   \NC c\NR
       \NC a_2 \NC a   \NC b   \NC c\NR
       \NC a_3 \NC a^2 \NC b   \NC c\NR
       \NC a_4 \NC a   \NC b_2 \NC c\NR
       \NC a_5 \NC a   \NC b   \NC c\NR
       \NC a_6 \NC a   \NC b   \NC c\NR
   \stopmathmatrix}

% \blank

% This can also be done by Alans node module.

\startoverlayMPgraphic{mp:whatever-7}
     fill OverlayBox withcolor "darkgray" ;
     draw lmt_matrix [
         from        = (1, 1),
         to          = (5, 4),
         connect     = { "bottom", "left"  },
         color       = "blue",
         linewidth   = 1pt,
         arrowoffset = 2pt,
         label       = [
             text     = "$\white \scriptscriptstyle x =1$",
             offset   = ExHeight/2,
             anchor   = "lft",
             fraction = .25
         ],
     ] ;
     draw lmt_matrix [
         from       = (4, 1),
         to         = (1, 5),
         connect    = { "bottom", "right" }
         colors     = { "green", "magenta" },
         arrowcolor = "white",
         linewidth  = 1pt,
     ] ;
     draw lmt_matrix [
         cell      = (2, 2),
         shape     = "circle"
         color     = "red",
         linewidth = 1pt,
     ] ;
     draw lmt_matrix [
         cell      = (4, 6),
         shape     = "round",
         radius    = ExHeight/2,
         color     = "red",
         linewidth = 1pt,
     ] ;
     draw lmt_matrix [
         cell      = (2, 6),
         shape     = "path",
         path      = fulldiamond xscaled 3EmWidth yscaled 4ExHeight,
         color     = "red",
         linewidth = 1pt,
     ] ;
     draw lmt_matrix [
         cell      = (2, 6),
         shape     = "scaledpath",
         offset    = .5ExHeight,
         path      = fulldiamond,
         color     = "yellow",
         linewidth = 1pt,
     ] ;
\stopoverlayMPgraphic

\blank

\framed
   [synchronize=background,
    align=normal,
    frame=off,
    offset=overlay,
    background=mp:whatever-7,
    foregroundcolor=white]
   {\setmathmatrixanchoring[both]%
    \startmathmatrix
       \NC a \NC   \NC \quad \NC b \NC   \NR
       \NC   \NC c \NC \quad \NC   \NC   \NR
       \NC   \NC   \NC \quad \NC   \NC   \NR
       \NC   \NC   \NC \quad \NC   \NC d \NR
       \NC e \NC   \NC \quad \NC   \NC   \NR
       \NC   \NC f \NC \quad \NC g \NC   \NR
   \stopmathmatrix}

\blank

\startoverlayMPgraphic{whatever-9}
     fill anchorspan (1, 1) (1, 3) withcolor "blue" ;
     fill anchorspan (2, 1) (3, 3) withcolor "yellow" ;
     fill anchorspan (3, 1) (3, 3) withcolor "green" ;
     path p ; p := anchorcell (2, 2) ;
     fill p withcolor "red" ;
     % now some weird stuff:
     picture q ; q := externalfigure "t:/sources/cow.pdf" ;
     q := q xysized (bbwidth(p), bbheight(p)) ;
     draw q shifted - center q shifted center p ;
     % and some even weirder stuff:
     \includeMPoverlaydata
\stopoverlayMPgraphic

\enabletrackers[localanchor]

\bTABLE[frame=off,synchronize=background,background=whatever-9]
     \bTR
         \bTD[foregroundcolor=white]
             \startMPoverlaydata
                 fill anchorcell (\xanchor,\yanchor) enlarged 
-.25ExHeight withcolor "darkgray" ;
             \stopMPoverlaydata
             test
         \eTD
         \bTD
             test test
         \eTD
         \bTD
             test test test
         \eTD
     \eTD
     \bTR
         \bTD[foregroundcolor=white]
             test test
         \eTD
         \bTD[nx=2,align=middle,foregroundstyle=bold,foregroundcolor=white]
             test
         \eTD
     \eTD
     \bTR
         \bTD[foregroundcolor=white]
             test test test
         \eTD
         \bTD
             test test
         \eTD
         \bTD
             test
         \eTD
     \eTD
\eTABLE

\stoptext



-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-05-31 12:30 Hans Hagen
  2021-05-31 16:50 ` Aditya Mahajan
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen @ 2021-05-31 12:30 UTC (permalink / raw)
  To: mailing list for ConTeXt users

[-- Attachment #1: Type: text/plain, Size: 7246 bytes --]

Hi,

I uploaded a new lmtx version. This time a new mechanism.

-----------------------------
 From an upcoming details chapter:
-----------------------------

The mechanism described here is still experimental. Although it could be 
implemented in \MKIV\ it is only available in \LMTX. Already early in 
\MKII\ we had a positioning mechanism available. At that time we had 
\DVI\ output and specials were used to track positions. A script 
calculated the positions that were then fed back into the second run. 
Later Taco wrote \DVIPOS\ which sped up the analysis between runs. When 
\PDFTEX\ showed, an equivalent positioning mechanism was added there. In 
\MKIV\ positioning support was optimized a bit as part of the upgrading 
process but the principles remained the same. The interface to 
positioning comes with a lot of commands and many of them relate to what 
we want to do with \METAFUN. The alternative interface discussed here is 
a bit simpler and has (at least now) less commands and, combined with 
local name spaces, can be easier to use in more local situations. It's 
also integrated in the frequently used \type {\framed} commands and has 
basic support at the \METAFUN\ end. The performance is comparable to the 
regular positioning mechanisms but especially at the \METAPOST\ end has 
less overhead.

-----------------------------
Here are some examples:
-----------------------------

\framed [synchronize=yes,align=normal] {%
   test test test 1      \sync{one}{1}test test 2      \crlf
   test test 1           \sync{one}{1}test test test 2 \crlf
   test 1                \sync{one}{1}test 2           \crlf
   test test test test 1 \sync{one}{1}test test 2
}

\framed [synchronize=yes,align=normal] {%
     one one     \sync{a}{1}two     \sync{a}{2}three \crlf
     one one     \sync{a}{1}two two \sync{a}{2}three \crlf
     one         \sync{a}{1}two     \sync{a}{2}three \crlf
     one one one \sync{a}{1}two     \sync{a}{2}three
}

\framed [synchronize=yes,align=normal] {%
     \syncanchor{one}{1}{1}A
     \syncanchor{one}{2}{1}BBB
     \syncanchor{one}{3}{1}C \crlf
     \syncanchor{one}{1}{2}AA
     \syncanchor{one}{3}{2}C \crlf
     \syncanchor{one}{1}{3}AAA
     \syncanchor{one}{2}{3}BB
     \syncanchor{one}{3}{3}C
}

\framed [synchronize=yes,align=normal] {%
     \alignanchor{one}{1}{1}{l}A
     \alignanchor{one}{1}{2}{m}AA
     \alignanchor{one}{1}{3}{r}AAA
     \syncanchor {one}{1}{4}\crlf
     \alignanchor{one}{2}{1}{right}B
     \alignanchor{one}{2}{2}{middle}BB
     \alignanchor{one}{2}{3}{left}BBB
     \syncanchor {one}{2}{4}
}

\startuseMPgraphic{whatever-1}
     fill OverlayBox withcolor "lightgray" ;
     drawdot anchorxy("one", 0, 1)
         withpen pencircle scaled 1mm
         withcolor "red" ;
     drawdot anchorxy("one", 0, 2)
         withpen pencircle scaled 1mm
         withcolor "red" ;
     drawdot anchorxy("two", 0, 1)
         withpen pencircle scaled 1mm
         withcolor "red" ;
     drawdot anchorxy("two", 0, 2)
         withpen pencircle scaled 1mm
         withcolor "red" ;
     drawdot anchorxy("three", 0, 1)
         withpen pencircle scaled 1mm
         withcolor "red" ;
     setbounds currentpicture to OverlayBox ;
\stopuseMPgraphic

\startuseMPgraphic{whatever-2}
     pair a ; a := anchorxy("one", 0, 1) ;
     pair b ; b := anchorxy("one", 0, 2) ;
     drawarrow
         anchorxy("one", 0, 1) { right } ..
         anchorxy("one", 0, 2)
         withcolor "blue" withtransparency (1,.75) ;
     drawarrow
         anchorxy("two", 0, 1) { down } ..
         anchorxy("two", 0, 2)
         withcolor "blue" withtransparency (1,.75) ;
     drawarrow
         anchorxy("two", 0, 1) { dir 30 } ..
         anchorxy("three", 0, 1)
         withcolor "blue" withtransparency (1,.75) ;
     setbounds currentpicture to OverlayBox ;
\stopuseMPgraphic

\defineoverlay[whatever-1][\useMPgraphic{whatever-1}]
\defineoverlay[whatever-2][\useMPgraphic{whatever-2}]

\framed
   [synchronize=yes,
    align=normal,
    offset=10pt,
    frame=off,
    background={whatever-1,foreground,whatever-2}]
   {%
     \markanchor{two}{0}{1}{\red\bf foo}%
     \markanchor{one}{0}{1} bar rab oof\crlf
     foo bar rab oof\crlf
     oof rab bar foo\crlf
     oof rab \markanchor{two}{0}{2}{\red\bf bar}%
     \markanchor{one}{0}{2} foo%
     \markanchor{three}{0}{1}%
   }

\framed
   [synchronize=yes,
    align=normal,
    offset=10pt,
    frame=off,
    background={whatever-1,foreground,whatever-2}]
   {%
     one one one \syncanchor{a}{1}{1}two two two
                 \syncanchor{a}{2}{1}three three\par
     one         \syncanchor{a}{1}{2}two
                 \syncanchor{a}{2}{2}three\par
     one         \syncanchor{a}{1}{3}two
                 \syncanchor{a}{2}{3}three\par
     \blank
     \markanchor{two}{0}{1}{\red\bf foo}%
     \markanchor{one}{0}{1} bar rab oof\crlf
     foo bar rab oof\crlf
     oof rab bar foo\crlf
     oof rab \markanchor{two}{0}{2}{\red\bf bar}%
     \markanchor{one}{0}{2} foo%
     \markanchor{three}{0}{1}%
     \blank
     one one \syncanchor{a}{1}{4}two two
             \syncanchor{a}{2}{4}three\par
     one one \syncanchor{a}{1}{5}two two
             \syncanchor{a}{2}{5}three three%
     \markanchor{three}{0}{1}%
   }

\framed[synchronize=yes,align=normal]{%
     one one \sync{a}{1}two     \sync{a}{2}three\par
     one one \sync{a}{1}two two \sync{a}{2}three\par
     \blank
     tst tst \sync{b}{1}tst     \sync{b}{2}tst\par
     tst     \sync{b}{1}tst tst \sync{b}{2}tst\par
     \blank
     one     \sync{a}{1}two     \sync{a}{2}three
}

\page

\startpacked
     $a = b + c $\par
     $b = c + d $\par
     $c = e + f $\par
\stoppacked

\startpacked
\startsynchronizing
     $a \syncanchor{one}{1}{1}= b \syncanchor{one}{2}{1}+ c$\par
     $b \syncanchor{one}{1}{2}= c \syncanchor{one}{2}{2}+ d$\par
     $c \syncanchor{one}{1}{3}= e \syncanchor{one}{2}{3}+ f$\par
\stopsynchronizing
\stoppacked

\startpacked
\startsynchronizing
     $a \sync{one}{1}= b \sync{one}{2}+ c$\par
     $b \sync{one}{1}= c \sync{one}{2}+ d$\par
     $c \sync{one}{1}= e \sync{one}{2}+ f$\par
\stopsynchronizing
\stoppacked

\startpacked
\startsynchronizing
     $a \mathsync{1}= b \mathsync{2}+ c$\par
     $b \mathsync{1}= c \mathsync{2}+ d$\par
     $  \mordsync{1}= e \mathsync{2}+ f$\par
\stopsynchronizing
\stoppacked

-----------------------------
remark
-----------------------------

So, it's a varaant on the positioning mechanism. It also works in framed 
when the synchronization option is enabled. Don't enable that when not 
used (as there is some overhead involved).

I have no clue how useful it is but users always find a way to use 
mechanisms. One can do really freaky things with it. Who knows what gets 
added over time.

Also, it doesn't replace the existing positioning mechanism which served 
us well for decades; it's just a lightweight variant with different pros 
and cons.

Hans



-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------

[-- Attachment #2: todo-localanchors.pdf --]
[-- Type: application/pdf, Size: 44819 bytes --]

[-- Attachment #3: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-05-25 16:20 Hans Hagen
  2021-05-26 17:17 ` Pablo Rodriguez
  2021-05-27 10:17 ` mf
  0 siblings, 2 replies; 210+ messages in thread
From: Hans Hagen @ 2021-05-25 16:20 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I uploaded a new version of lmtx. Apart from some small fixes, the 
configuration file is hopefully okay too. I'm sure MF will check it.

However, the biggest change is hidden. In traditional tex, inserts (used 
for footnotes) are implemented using a quadruple of registers. In 
context these come from the range 132-254 which is not used by normal 
allocations. The number is basically a sort of index.

However, this box/dimen/count/skip memory model doesn't work well for 
(possible) extensions nor does the wrapped final (per page) box fit into 
the more extended regular box model (not that anyone will notice or 
abuse that, it's just that some features of boxes don't make sense in 
the perspective of inserts).

Inserts are somewhat complex (and interwoven) and are also somewhat 
fuzzy when one wants to do checking when making progress on a page.  We 
already deal with that in context in a reasonable way but I get the 
feeling that we can do better. This and the above are reasons to come up 
with a variant memory model that permits playing with additional 
features more easily. The existing storage model is stil there (after 
all it's tex) but for those willing to check the alternative, in 
page-ins.mkxl one can uncomment

    % \insertmode\plustwo

and remake the format. I rejected a mixed mode model because it makes 
the code ugly. Related mem grows on demand as with other mechanisms so 
there is no extra overhead involved.

As a consequence I had to abstract some of the insert interface in 
context a bit more (because we use accessors instead of boxes) and 
hopefully I didn't forget one. We'll see. Once I'm confident with the 
new approach we'll switch to that (low level) interface model and can 
progress. Because users don't use inserts directly themselves not much 
harm can be done.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-05-05 17:43 Hans Hagen
  0 siblings, 0 replies; 210+ messages in thread
From: Hans Hagen @ 2021-05-05 17:43 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I uploaded a new lmtx version. The update mostly concerns part of the 
low level mp-tex interface, a side effect of updating some mechanisms 
(one of which MF currently is extending).

Hopefully it won't break users code that uses low level mp-tex interface 
features but anyway, if needed, adapting is not hard and gives nicer 
code, as in:

   \startuseMPgraphic{foo1}
       fill fullcircle scaled \MPvar{size} withcolor \MPvar{color} ;
   \stopuseMPgraphic

which now becomes:

   \startuseMPgraphic{foo2}
       fill fullcircle scaled mpvard("size") withcolor mpvars "color" ;
   \stopuseMPgraphic

or even can be:

   \startuseMPgraphic{foo3}
       fill fullcircle scaled mpvar "size" withcolor mpvar "color" ;
   \stopuseMPgraphic

where numerics, dimensions and strings are figured out automatically:

   \newdimen\mydimen \mydimen=1cm

   \useMPgraphic{foo1}{size=\mydimen,color=red}

   \useMPgraphic{foo2}{size=2\mydimen,color=green}

   \useMPgraphic{foo3}{size=3cm,color=blue}

So it (still) works (even better) with registers and such.

The fundamental difference is that \MPvar pushes the value of a variable 
from tex to mp (after some analysis) and that mpvar pulls the value from 
the mp end (with some help of the lua interface).

New is that we have inheritance

   \setupMPvariables[foo3][size=1cm,color=yellow]

   \useMPgraphic{foo3}

   \setupMPvariables[foo1][foo3][size=2cm]

   \useMPgraphic{foo1}

Another experiment, already active on my machine for a while, is this:

   \enabledirectives[metapost.text.fasttrack]

which can be a bit more efficient wrt texts.

Another pending change is getting rid of colorhack, which you can try with:

   \enableexperiments[disablecolorhack]

Yet another (already mentioned) experiment users can (should) play with is

   \enableexperiments[simplegroups]

And of course there are:

   \enableexperiments[fonts.compact]

and the less fundamental (and more experimental too):

   \enabledirectives[fonts.injections.method=advance]

At some point compact mode can become the default which then can trigger 
some low level code removal ... of course some sentimental issue because 
throwing away code that has been around for a long time, has evolved to 
be efficient and work well, can hurt but in the end nicer new code wins.

Finally I want to remember overload protection:

   \enabledirectives[overloadmode=warning]

or even

   \enabledirectives[overloadmode=error]

just in case you want to check if your own macros clash or harm the system.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-04-09 18:19 Hans Hagen
  0 siblings, 0 replies; 210+ messages in thread
From: Hans Hagen @ 2021-04-09 18:19 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I uploaded a new version of lmtx.

(1) The only additions are in the language arena (discussed here 
before). For those working on that, the trackers

   hyphenation.applied
   hyphenation.applied.console
   hyphenation.applied.visualize[=ligatures]
   languages.patterns
   languages.goodies
   languages.applied

have been updated. Also, exceptions can be stored in the goodies files 
(and then follow a slightly different route). There's also (at the 
engine level):

   \tracinghyphenation

which is 1 by default (report bad patterns, as before); a value of 2 
reports hyphenation and exceptions states, while 3 also adds detail if 
it has been applied.

(2) A second aspect of the upload concerns windows. Till now we use 
binaries that are crosscompiled on linux. These perform somewhat better 
than native msvc compiled binaries ... until last week. The native 
windows binaries now are some 5+ % faster than the cross compiled ones. 
However, because it is still somewhat experimental, the installation 
uses the ming ones. (Running the test suite went down from 1350 sec 
cross compiled to 1200 seconds native.)

If you want to check this out, fetch the binaries from the build server:

   https://dl.contextgarden.net/build/luametatex/win64/

make sure you replace/link luametatex.exe, mtxrun.exe and context.exe so 
that all then use the replacement. Mojca also configured the setup for 
native 32 bit binaries in case you need those. (The clang variants are 
compiled because want to keep an eye on that but they are definitely 
slower.)

If this experiment works out ok I might also investigate it for other 
platforms. The gain is mostly in the lua department, less in metapost 
and tex but still a valid reason to use my laptop for another few years. 
  (It is anyway cheaper and more environment friendly to make luametatex 
faster than to buy a new machine.)

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-03-31 16:15 Hans Hagen
  0 siblings, 0 replies; 210+ messages in thread
From: Hans Hagen @ 2021-03-31 16:15 UTC (permalink / raw)
  To: mailing list for ConTeXt users, denis.maier

Hi,

I uploaded a new version. However, because of some new feature there can 
be (unwanted) side effects wrt hyphenation (should not be but who knows).

As a follow up on Denis mails about ligature prevention, we now have a 
mechanism called language 'goodies' analogue to 'font goodies'. For 
practical reasons this permits (high performance) plugs into the 
mechanism that also deals with hyphenation. Basically we can have some 
feedback loop but more about that later (Denis, Wolfgang and I need to 
play with all this and settle on the interface).

Although all can be done in pure lua (and i might add that at some 
point) this particular mechanism plugs into the hyphenator so that we 
get no real performance hit (I can proabbly improve it if really needed 
but let's first see if users complain.)

Here is an exmaple (to be default or not?)

\setuplanguage
   [de]
   [goodies={lang-de.llg}]

that has to come before a lkanguage gets activated (for now). In 
addition to exceptions one can do

\startlanguageoptions[de]
     Zapf|innovation
\stoplanguageoptions

to prevent a ligature between f and i and

\startlanguageoptions[de]
     Zapf=innovation
\stoplanguageoptions

to make it into a compound word (use both to prevent ligatures too). 
There's more to come once we get the full picture.

I leave it to Denis to organize the collection of words and definitions 
that go into a goodie file.

Hans


ps. Sometimes I wonder if for every new feature added we should drop an 
old maybe useless one, like some of the obsolete pdf stuff or features 
that seem to be persistently broken or weird or unpredictable in 
viewers. After all evolution also takes care of removal.

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-02-12 17:56 Hans Hagen
  0 siblings, 0 replies; 210+ messages in thread
From: Hans Hagen @ 2021-02-12 17:56 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I uploaded a new version. I'v enow tagged all public macros (not that 
anyone will notice) as a step in the overload protection effort. If you 
want to get an idea about what we're talking of you can process

   s-system-macros.mkxl

This file is mostly for Wolfgang and me when we update to lmtx, but it's 
used to identify 'todo's. We're talking tex as well as metapost here. In 
the process some orphan (mkii) stuff has been removed and a few small 
fixes applied (in code that probably no one ever encounters anyway).

In lmtx I also updated the stixtwo fonts (new names again) and added 
libertinus (for Tomas Hala to test).

Up to the next step,

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2021-01-08 11:00 Hans Hagen
  0 siblings, 0 replies; 210+ messages in thread
From: Hans Hagen @ 2021-01-08 11:00 UTC (permalink / raw)
  To: mailing list for ConTeXt users


Hi,

A new upload ... I'm playing abit with font tweaks ...

\enableexperiments[fonts.compact] % for the definitions

\starttext

     \definefont[FooA][Serif*default @ 12pt 1800 500]
     \definefont[FooB][Serif*default @ 12pt 0.85 0.50]
     \definefont[FooC][Serif*default @ 12pt]

     \definetweakedfont[runwider] [xscale=1.5]
     \definetweakedfont[runtaller][yscale=2.5,xscale=.8,yoffset=-.2ex]

     {\FooA test test \runwider test test \runtaller test test}\par
     {\FooB test test \runwider test test \runtaller test test}\par
     {\FooC test test \runwider test test \runtaller test test}\par

     \blank {\input tufte }

     \blank {\glyphxscale 1070 \input tufte }

     \definetweakedfont[squeezed] [xscale=0.9]

     \blank $a = mb^2 + \sqrt{123}$
     \blank {\squeezed $a = mb^2 + \sqrt{123}$}

\stoptext

Just run these examplex in lmtx to get an idea. It might come in handy 
for special cases, like making sure something fits in some area or make 
for instance last lines look a bit better (posters or so).

For the moment I decided for two additional (optional) scale directives 
in the font definition (hopefully i didn't mess up the ctx parser for 
that). Scales are either fractions or integers (the traditional tex 
scaling in permilles).

Hans

(also, odd in mp and ligs in some cases fixed)


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2020-12-01 17:13 Hans Hagen
  0 siblings, 0 replies; 210+ messages in thread
From: Hans Hagen @ 2020-12-01 17:13 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I uploaded a new version. This time some cleanup of the backend, so 
let's see where I messed up this time.

The installer has been adapted so that an apple m1 machine is 
recognized. No native arm bins, that has to wait till we have some 
hardware available.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2020-11-24 19:07 Hans Hagen
  2020-11-25  9:12 ` Giulio Bertellini
  2020-11-26 15:26 ` Keith McKay
  0 siblings, 2 replies; 210+ messages in thread
From: Hans Hagen @ 2020-11-24 19:07 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

A new upload. Mojca upgraded the build manager and we also updated some 
machines so all binaries (platforms) should be in sync now. (No binaries 
for apples M1 and microsofts SQ2 as we don't have these machines, so 
just good old intel and arm it is.)

On my rusty laptop the luametatex manual takes between 10 and 10.5 sec 
(depending on load). On the raspberry pi 64 bit it takes 32.5 sec 
(ubuntu, ssd on usb 3). The Windows Linux Subsystem (version 1) takes 
some 11.5 seconds and the domotica fitlet with a low power AMD A10 needs 
27.5 sec.) The ratios match measurements of a while ago. In the meantime 
the format file got smaller, memory more dynamic and the mem footprint 
also smaller. I expect a modern intel laptop cpu to need some 5 seconds 
and a decent desktop less but who knows. It's not easy to squeeze out 
more (the bottleneck is in the lua code as the (con)tex(t) code is 
pretty efficient so we pay a price for flexibility).

(In the process I saw that I bugged the xetex logo but that has to wait 
for a next upload. Hardly critital I suspect.)

Hans



-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* Re: new upload
@ 2020-11-19 17:58 Damien Thiriet
  0 siblings, 0 replies; 210+ messages in thread
From: Damien Thiriet @ 2020-11-19 17:58 UTC (permalink / raw)
  To: ntg-context

Hi,


Problem also fixed on OpenBSD 6.8 amd64.
New binaries installed and working like a charm.

Makes my workflow much easier, so many thanks to 
Pablo for finding the bug and to Hans for fixing it.

Best regards,


Damien Thiriet 
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2020-11-19 10:35 Hans Hagen
  2020-11-19 11:00 ` mf
                   ` (2 more replies)
  0 siblings, 3 replies; 210+ messages in thread
From: Hans Hagen @ 2020-11-19 10:35 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

A new upload. Hopefully with the linux install fixed.

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2020-11-18 18:42 Hans Hagen
  2020-11-18 21:05 ` Pablo Rodriguez
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen @ 2020-11-18 18:42 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

A new upload ... still some 150 tex files to go (from mkiv to lmtx 
speak) ... after that the lua ones ... some fixes applied, maybe some 
new temp issues introduced ... thanks for testing.

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
[parent not found: <mailman.506.1604696616.1206.ntg-context@ntg.nl>]
* new upload
@ 2020-11-06 19:42 Hans Hagen
  2020-11-06 21:03 ` Pablo Rodriguez
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen @ 2020-11-06 19:42 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

Again a new lmtx upload. As these days are all about counting and 
numbers ... of the 19K visible macros some 14K are now flagged.

Question: do we really need all these 'named characters'  or can we at 
some point ditch many .. I assume that users who key in greek and 
cyrillic use unicode nowdays (no hurry, just wondering).

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2020-08-31 20:21 Hans Hagen
  2020-09-01  0:50 ` Jairo A. del Rio
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen @ 2020-08-31 20:21 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

In order to keep the 'context is good for toy math' reputation up to 
date, in lmtx we can now have proper discretionaries in math and math in 
discretionaries. The kind of things no one asks for but they might be 
useful in educational settings.

Here are some examples ():

\starttext

\showframe

\enabletrackers[math.toysymbol]

\definemathtoysymbol[Plus] [bin][+]
\definemathtoysymbol[Minus][bin][-]
\definemathtoysymbol[Equal][rel][=]

$\dorecurse{199} {
     x_{#1} \ifodd#1\relax\Plus\else\Minus\fi
} x_{200} \Equal n$

\blank

\dorecurse{10} {
     test \discretionary
         {\darkred   hel  $\sqrt{y}$ lo}
         {\darkgreen good $\sqrt{z}$ bye}
         {\darkblue  wel  $\sqrt{x}$ come} test
}

\blank

\dorecurse{10} {test me #1
     $x + 2x \discretionary class 2
         {$+ \, \cdots $}
         {$     \cdots \, +$}
         {$+ \, \cdots \, +$} nx$ test
}

\stoptext

You might be able to guess from this code what is supposed to happen. 
I'll play a bit more with this later (assuming that it's somehow 
useful). We could predefine a bunch. As usual there might be issues but 
I'll sort them out when we run into them (it's a non critical feature 
with not much impact).

Hans

(who must not forget to document it somewhere)


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2020-08-09 18:08 Hans Hagen
  2020-08-09 18:36 ` Pablo Rodriguez
  0 siblings, 1 reply; 210+ messages in thread
From: Hans Hagen @ 2020-08-09 18:08 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I uploaded a new lmtx ... not much done due to the heat (entered reading 
mode instead) but ... apart from some work in progress ... we now have 
some basic bitwise operations (maybe we need some more). So far we have:

\startlines
\meaning\bitwiseset
\meaning\bitwisenot
\meaning\bitwisenil
\meaning\bitwiseand
\meaning\bitwiseor
\meaning\bitwisexor
\meaning\ifbitwiseand
\stoplines

used as:

\scratchcounter = \bitwiseand "01      "02 
\uchexnumbers{\scratchcounter} \quad
\scratchcounter = \bitwiseand "01 with "02 
\uchexnumbers{\scratchcounter} \quad
\scratchcounter = \bitwiseand "03      "02 
\uchexnumbers{\scratchcounter} \par

\scratchcounter = \bitwiseor  "01      "02 
\uchexnumbers{\scratchcounter} \quad
\scratchcounter = \bitwiseor  "01 with "02 
\uchexnumbers{\scratchcounter} \quad
\scratchcounter = \bitwiseor  "03      "02 
\uchexnumbers{\scratchcounter} \par

\scratchcounter = \bitwisexor "01      "02 
\uchexnumbers{\scratchcounter} \quad
\scratchcounter = \bitwisexor "01 with "02 
\uchexnumbers{\scratchcounter} \quad
\scratchcounter = \bitwisexor "03      "02 
\uchexnumbers{\scratchcounter} \par

\scratchcounter = \bitwisenil \bitwisenil "0F "02 "01 
\uchexnumbers{\scratchcounter} \par
\scratchcounter = \bitwisenil \bitwisenil "0F with "02 with "01 
\uchexnumbers{\scratchcounter} \par

\scratchcounterone\zerocount

\scratchcounterone \bitwiseset "FFFFFFF
\ifbitwiseand      \scratchcounterone "8000000 YES \else NOP \fi
\ifbitwiseand      \scratchcounterone "F000000 YES \else NOP \fi
\ifbitwiseand      \scratchcounterone "1000000 YES \else NOP \fi
\scratchcounterone \bitwisenot \scratchcounterone
\ifbitwiseand      \scratchcounterone "8000000 YES \else NOP \fi
\ifbitwiseand      \scratchcounterone "F000000 YES \else NOP \fi
\ifbitwiseand      \scratchcounterone "1000000 YES \else NOP \fi

\scratchcounter \bitwiseand "01 "02
\scratchcounter \numexpr    "01+"02\relax

\ifcase      \bitwiseand \scratchcounterone \plusone \else \fi
\ifbitwiseand            \scratchcounterone \plusone \else \fi
\ifnum                   \scratchcounterone=\plusone \else \fi

A while ago I played with bitwise operator sin \numexpr but in the end 
removed that because it's messy with the symbols to be used, but I will 
look at that agaon if needed.

Hans



-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* Re: new upload
@ 2007-08-26 19:58 Hans Hagen
  0 siblings, 0 replies; 210+ messages in thread
From: Hans Hagen @ 2007-08-26 19:58 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Mojca Miklavec wrote:
 > Hello Hans,
 >
 > On 8/24/07, Hans Hagen wrote:
 >> Hi,
 >>
 >> I uploaded a new version of mkiv (regular zip).
 >
 > Thanks a lot!
 >
 >> - case changing using attributes and node processing
 >>
 >> simple test file for spacing and casing:
 >
 > I'm attaching a not-so-trivial test file for "casing", just to see how
 > well it works for Croatian.
 >
 > A few observations:
 >
 > - LM doesn't have any lj, nj, dz, dž, ... (probably another request
 > for the Polish guys)

hm, just write a small proposal ...

however, dealing with non present chars is to be dealt with anyway

 > - It would be great if MK IV did the trasformation from digraphs to
 > normal letters in case those digraphs are not present in the font
 > itself (for ij, lj, nj, dz, dž, ... just as it would be great if
 > ccaron was automatically composed out of c and caron if the letter
 > wasn't present in that font).

\definefontfeature 
[test][mode=node,language=dflt,script=latn,complement=yes]

{\font\test = lmtypewriter8-regular*test at 12.3pt \test ljubljana 
Ljubljana  LJUBLJANA }

currently the complement only replaces LATIN/compat combinations (see 
char-def.lua)

 > Visually there is probably no difference in plain text, except in
 > exactly the cases for which you're sending the tests (that's casing
 > and spacing). See http://en.wikipedia.org/wiki/Gaj's_Latin_alphabet
 > how the word "MJENJACNICA" is split into letters.
 > Normal people still type n+j in text, not the digraph "?" (nj), but in
 > case you get some text with those digraphs which are valid Unicode
 > letters, it would be nice if they were processed ...

dealing with n+j in text is too dangerous to catch, unless we start 
implementing complex language depenent replacements, and even then it's 
messy (what to do when one really wants a nj (two char)) ... so, thos 
old docs can best be converted to proper utf then

 >> \starttext
 >>
 >> test: oeps {\setcharacterspacing[frenchpunctuation] x: xx \bfd x: xx}
 >> oeps: test
 >>
 >> test \WORD{test TEST \TeX} test
 >>
 >> test \word{test TEST \TeX} test
 >>
 >> test \Word{test TEST \TeX} test
 >
 > Another few observations:
 > - \word doesn't work in XeTeX

no, neither in pdftex i think; new

 > - What exactly is \Words supposed to do (with non-first letters in a 
word)?

make first chars uppercase but only when the next is a char; (i changed 
it a bit, defs were not seen (overloaded later by macros)

 > - ConTeXt with XeTeX outputs dozens of empty lines to the console.

indeed, has to do with the fact that i need to test if a font is present 
on the system (file vs name stuff) and the empty lines are a side effect
of entering/exiting batchmode

 > An extra challenge would be to get this work (but unless some Croats
 > ask you for that or unless you have too much time left, don't bother
 > about that - it needs slightly more than only lccode and uccode of a
 > letter since there are three forms: one for lowercase [ljubljana ->
 > lj], one for all-uppercase words [LJUBLJANA -> LJ] and one for the
 > first letter of a word starting with an uppercase [Ljubljana -> Lj]):
 >
 > In Unicode:
 >
 > \word{?ub?ana} -> ?ub?ana
 > \Word{?ub?ana} -> ?ub?ana
 > \WORD{?ub?ana} -> ?UB?ANA
 >
 > \word{?ub?ana} -> ?ub?ana
 > \Word{?ub?ana} -> ?ub?ana
 > \WORD{?ub?ana} -> ?UB?ANA
 >
 > \word{?UB?ANA} -> ?ub?ana
 > \Word{?UB?ANA} -> ?ub?ana
 > \WORD{?UB?ANA} -> ?UB?ANA

as long as we have utf it's already taken care of

 > In Latin transcript (in case you have problems seing some Unicode 
letters):
 >
 > \word{ljubljana} -> ljubljana
 > \Word{ljubljana} -> Ljubljana
 > \WORD{ljubljana} -> LJUBLJANA
 >
 > \word{Ljubljana} -> ljubljana
 > \Word{Ljubljana} -> Ljubljana
 > \WORD{Ljubljana} -> LJUBLJANA
 >
 > \word{LJUBLJANA} -> ljubljana
 > \Word{LJUBLJANA} -> Ljubljana
 > \WORD{LJUBLJANA} -> LJUBLJANA
 >
 > See also:
 >
 > http://unicode.org/cldr/data/common/collation/hr.xml
 > http://en.wikipedia.org/wiki/Gaj's_Latin_alphabet
 >
 >> {\setcharacterkerning[extrakerning]\input zapf\endgraf }
 >
 > (That could be "backported" to XeTeX. I think it enables a similar
 > feature now, but I should check.)

hm, i'm not going to backport everything; keep in mind that i these 
features are not font related; actually future mkiv versions will also 
do dynamic feature change so ...

anyhow, ... new upload to play with


Hans


-- 

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 210+ messages in thread
* new upload
@ 2007-08-24 12:27 Hans Hagen
  2007-08-24 16:18 ` Aditya Mahajan
                   ` (2 more replies)
  0 siblings, 3 replies; 210+ messages in thread
From: Hans Hagen @ 2007-08-24 12:27 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I uploaded a new version of mkiv (regular zip).

- attribute based color support, thanks to peter rolf for extensive 
testing of metapost related issues (colo-new.* files, original colo-ini 
still present do deleting the new ones brings you the old mechanism)

- intercharacter spacing based on attributes and node processing

- pre/post character spacing (for french) using similar mechanism

- case changing using attributes and node processing

simple test file for spacing and casing:

\starttext

test: oeps {\setcharacterspacing[frenchpunctuation] x: xx \bfd x: xx} 
oeps: test

test \WORD{test TEST \TeX} test

test \word{test TEST \TeX} test

test \Word{test TEST \TeX} test

{\setcharacterkerning[extrakerning]\input zapf\endgraf }

{\setcharacterkerning[extrakerning]bla bla||bla bla effe fietsen}

\hbox{\setcharacterkerning[extrakerning]fietsen}

\hbox{\setcharacterkerning[extrakerning]fiet\-sen}

\hbox{\setcharacterkerning[extrakerning]}
\hbox{\setcharacterkerning[extrakerning]f}
\hbox{\setcharacterkerning[extrakerning]fi}

\stoptext




Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 210+ messages in thread

end of thread, other threads:[~2023-07-10 16:13 UTC | newest]

Thread overview: 210+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-15 10:54 new upload Hans Hagen via ntg-context
2022-01-15 11:33 ` hanneder--- via ntg-context
2022-01-15 12:30   ` Hans Hagen via ntg-context
2022-01-15 14:52     ` Alexandre Christe via ntg-context
2022-01-15 15:14       ` Hans Hagen via ntg-context
2022-01-15 15:16         ` Fabrice Couvreur via ntg-context
2022-01-15 16:26           ` Hans Hagen via ntg-context
2022-01-15 16:45       ` Hans Hagen via ntg-context
2022-01-15 18:34 ` undefined control sequence c!symbolcolor in MkIV, was " Rik Kabel via ntg-context
2022-01-15 19:29   ` Hans Hagen via ntg-context
2022-01-19 17:29     ` Rik Kabel via ntg-context
2022-01-19 17:46       ` Adam Reviczky via ntg-context
2022-01-19 19:07       ` Hans Hagen via ntg-context
  -- strict thread matches above, loose matches on Subject: below --
2023-07-09 17:51 Hans Hagen via ntg-context
2023-07-10  8:43 ` denis.maier
2023-07-10  9:53   ` Hans Hagen
2023-07-10 15:51 ` Rik Kabel
2023-07-10 16:13   ` Hans Hagen
2022-12-27 17:04 Hans Hagen via ntg-context
2022-12-27 17:27 ` Floris van Manen via ntg-context
2022-12-27 17:34 ` Floris van Manen via ntg-context
2022-12-27 17:44 ` Pablo Rodriguez via ntg-context
2022-12-27 20:13   ` Hans Hagen via ntg-context
2022-12-27 22:00     ` Pablo Rodriguez via ntg-context
2022-12-27 22:32       ` Hans Hagen via ntg-context
2022-12-27 23:06         ` Floris van Manen via ntg-context
2022-11-14 22:02 Hans Hagen via ntg-context
2022-11-15 14:47 ` Pablo Rodriguez via ntg-context
2022-10-14  8:21 Hans Hagen via ntg-context
2022-10-14 14:14 ` Pablo Rodriguez via ntg-context
2022-10-14 14:29   ` Alan Braslau via ntg-context
2022-10-15  7:41   ` Hans Hagen via ntg-context
2022-10-15  8:48     ` Pablo Rodriguez via ntg-context
2022-10-15  9:28       ` Hans Hagen via ntg-context
2022-10-17 17:12         ` Pablo Rodriguez via ntg-context
2022-10-17 20:40           ` Hans Hagen via ntg-context
2022-10-18 15:40             ` Pablo Rodriguez via ntg-context
2022-10-19  1:39               ` Alan Braslau via ntg-context
2022-10-16 16:07 ` Aditya Mahajan via ntg-context
2022-10-16 17:03   ` Mikael Sundqvist via ntg-context
2022-10-17  1:38     ` Aditya Mahajan via ntg-context
2022-10-17  8:03       ` Hans Hagen via ntg-context
2022-10-17 16:41         ` Aditya Mahajan via ntg-context
2022-10-17  6:43     ` Otared Kavian via ntg-context
2022-10-17  7:36       ` Mikael Sundqvist via ntg-context
2022-10-17  7:46       ` Hans Hagen via ntg-context
2022-04-19 18:23 Hans Hagen via ntg-context
2022-04-19 19:18 ` Jeong Dal via ntg-context
2022-04-19 22:24   ` Jeong Dal via ntg-context
2022-04-20  1:47 ` śrīrāma via ntg-context
2022-04-20  8:49   ` Hans Hagen via ntg-context
2022-04-21 14:54     ` Alexandre Christe via ntg-context
2022-04-23 11:46       ` śrīrāma via ntg-context
2022-04-15 18:24 Hans Hagen via ntg-context
2022-04-16  8:37 ` Pablo Rodriguez via ntg-context
2022-03-11 23:16 Hans Hagen via ntg-context
2022-03-12 16:24 ` Henning Hraban Ramm via ntg-context
2022-03-13 18:58 ` Rik Kabel via ntg-context
2022-03-14  8:01   ` Hans Hagen via ntg-context
2022-03-14 10:34     ` Mikael Sundqvist via ntg-context
2022-03-14 14:05     ` Rik Kabel via ntg-context
2022-03-14 15:02       ` Hans Hagen via ntg-context
2022-03-15  8:53 ` śrīrāma via ntg-context
2022-03-15  9:53   ` Hans Hagen via ntg-context
2022-01-21 19:28 Hans Hagen via ntg-context
2022-01-21 20:11 ` Henning Hraban Ramm via ntg-context
2022-01-22 10:28   ` Hans Hagen via ntg-context
2022-01-22  6:06 ` Aditya Mahajan via ntg-context
2022-01-22  7:21   ` kauśika via ntg-context
2022-01-22  7:37     ` Richard Mahoney via ntg-context
2022-01-22  7:59       ` kauśika via ntg-context
2022-01-22 10:21     ` Hans Hagen via ntg-context
2022-01-22 10:25   ` Hans Hagen via ntg-context
2022-01-22 10:38     ` kauśika via ntg-context
2022-01-23  7:58       ` hanneder--- via ntg-context
2022-01-23  8:26         ` kauśika via ntg-context
2022-01-22 12:31 ` kauśika via ntg-context
2022-01-22 20:04   ` Richard Mahoney via ntg-context
2022-01-27 18:09     ` hanneder--- via ntg-context
2022-01-27 18:29       ` Hans Hagen via ntg-context
2022-01-27 18:35       ` Aditya Mahajan via ntg-context
2022-01-27 18:45         ` Hans Hagen via ntg-context
2022-01-28 12:56           ` Aditya Mahajan via ntg-context
2022-01-28 12:28         ` hanneder--- via ntg-context
2022-01-28 12:58           ` Aditya Mahajan via ntg-context
2022-01-23 22:25   ` Arthur Rosendahl via ntg-context
2022-01-24  3:42     ` śrīrāma via ntg-context
2022-01-24 21:33       ` Arthur Rosendahl via ntg-context
2021-11-30 18:55 Hans Hagen via ntg-context
2021-12-01  8:49 ` Denis Maier via ntg-context
2021-12-01  9:07   ` Hans Hagen via ntg-context
2021-11-13 20:19 Hans Hagen via ntg-context
2021-11-16 13:29 ` Otared Kavian via ntg-context
2021-11-05 15:43 Hans Hagen via ntg-context
2021-11-02  9:43 Hans Hagen via ntg-context
2021-11-02 16:58 ` Rik Kabel via ntg-context
2021-11-02 17:56   ` Hans Hagen via ntg-context
2021-11-02 18:02   ` Luis Montgomery via ntg-context
2021-11-02 18:33     ` Hans Hagen via ntg-context
2021-10-13 15:34 Hans Hagen via ntg-context
2021-10-13 20:37 ` jbf via ntg-context
2021-10-14  6:50   ` Hans Hagen via ntg-context
2021-08-30 14:30 Hans Hagen via ntg-context
2021-08-30 16:15 ` mf via ntg-context
2021-08-30 16:41   ` Pablo Rodriguez via ntg-context
2021-08-30 17:27 ` Rik Kabel via ntg-context
2021-08-30 18:01   ` Hans Hagen via ntg-context
2021-08-31  9:19     ` mf via ntg-context
     [not found] <00DA928D-3C91-469A-B1C8-16C505565C4D@scorecrow.com>
     [not found] ` <aef36bc1-e6e3-cf0e-5f4a-ff0fe5fa4fc3@xs4all.nl>
     [not found]   ` <F4B07195-C31B-4C15-8578-81CE628F152E@scorecrow.com>
2021-08-24 21:12     ` Hans Hagen via ntg-context
2021-08-07 21:00 Hans Hagen via ntg-context
2021-08-08  0:50 ` Aditya Mahajan via ntg-context
2021-08-08  7:22   ` Hans Hagen via ntg-context
2021-06-13 17:31 Hans Hagen
2021-06-14 15:13 ` Pablo Rodriguez
2021-06-14 15:22   ` Hans Hagen
2021-06-14 16:01     ` Pablo Rodriguez
2021-06-04 15:46 Hans Hagen
2021-06-04 16:18 ` Pablo Rodriguez
2021-06-04 17:43   ` Hans Hagen
2021-06-04 17:54     ` Pablo Rodriguez
2021-05-31 12:30 Hans Hagen
2021-05-31 16:50 ` Aditya Mahajan
2021-05-31 17:12   ` Hans Hagen
2021-05-31 17:48   ` Hans Hagen
2021-05-31 19:04     ` Aditya Mahajan
2021-06-01 15:17       ` Hans Hagen
2021-05-25 16:20 Hans Hagen
2021-05-26 17:17 ` Pablo Rodriguez
2021-05-26 18:09   ` Hans Hagen
2021-05-27 10:17 ` mf
2021-05-27 12:10   ` Hans Hagen
2021-05-05 17:43 Hans Hagen
2021-04-09 18:19 Hans Hagen
2021-03-31 16:15 Hans Hagen
2021-02-12 17:56 Hans Hagen
2021-01-08 11:00 Hans Hagen
2020-12-01 17:13 Hans Hagen
2020-11-24 19:07 Hans Hagen
2020-11-25  9:12 ` Giulio Bertellini
2020-11-25 11:26   ` Hans Hagen
2020-11-26 15:26 ` Keith McKay
2020-11-26 16:00   ` Hans Hagen
2020-11-26 16:10     ` luigi scarso
2020-11-26 17:00       ` Hans Hagen
2020-11-26 17:07         ` luigi scarso
2020-11-26 17:10           ` Hans Hagen
2020-11-26 19:08             ` luigi scarso
2020-11-26 18:43   ` Mojca Miklavec
2020-11-26 18:59     ` Wolfgang Schuster
2020-11-26 20:00     ` Keith McKay
2020-11-26 20:01     ` Bruce Horrocks
2020-11-19 17:58 Damien Thiriet
2020-11-19 10:35 Hans Hagen
2020-11-19 11:00 ` mf
2020-11-19 11:04   ` mf
2020-11-19 15:28 ` Otared Kavian
2020-11-19 15:43 ` Pablo Rodriguez
2020-11-18 18:42 Hans Hagen
2020-11-18 21:05 ` Pablo Rodriguez
2020-11-18 21:21   ` Wolfgang Schuster
2020-11-18 23:07     ` Hans Hagen
     [not found] <mailman.506.1604696616.1206.ntg-context@ntg.nl>
2020-11-07  9:42 ` Ivan Pešić
2020-11-07  9:42 ` Ivan Pešić
2020-11-06 19:42 Hans Hagen
2020-11-06 21:03 ` Pablo Rodriguez
2020-11-06 21:58   ` Rik Kabel
2020-11-06 23:02   ` mf
2020-11-06 23:12     ` Pablo Rodriguez
2020-11-06 23:39       ` Floris van Manen
2020-11-07  9:48       ` Otared Kavian
2020-11-07 10:05         ` Pablo Rodriguez
2020-11-07 10:40           ` Floris van Manen
2020-11-07 11:53             ` Pablo Rodriguez
2020-11-07 12:11               ` Pablo Rodriguez
2020-11-07 13:31                 ` Floris van Manen
2020-11-07 18:28                 ` Floris van Manen
2020-11-07 11:19         ` Hans Hagen
2020-11-07 11:47           ` Floris van Manen
2020-08-31 20:21 Hans Hagen
2020-09-01  0:50 ` Jairo A. del Rio
2020-09-01 12:31   ` Hans Hagen
2020-08-09 18:08 Hans Hagen
2020-08-09 18:36 ` Pablo Rodriguez
2020-08-09 18:45   ` Jairo A. del Rio
2020-08-09 18:49     ` Jairo A. del Rio
2020-08-09 18:52     ` Pablo Rodriguez
2020-08-09 20:09       ` Hans Hagen
2020-08-09 20:29         ` Pablo Rodriguez
2007-08-26 19:58 Hans Hagen
2007-08-24 12:27 Hans Hagen
2007-08-24 16:18 ` Aditya Mahajan
2007-08-24 17:11   ` Hans Hagen
2007-08-25 13:15     ` Steffen Wolfrum
2007-08-26 14:01       ` Hans Hagen
2007-08-26 19:10         ` Steffen Wolfrum
2007-08-26 19:57           ` Hans Hagen
2007-08-24 18:22   ` Hans Hagen
2007-08-24 18:26     ` Aditya Mahajan
2007-08-25 19:21       ` Henning Hraban Ramm
     [not found]         ` <6faad9f00708251335l7c39ee37l2dcac65aaa0b59fa@mail.gmail.com>
     [not found]           ` <3AA6E745-C336-40CD-BC13-4676B9FB5C45@trichotomic.net>
2007-08-26 11:27             ` Henning Hraban Ramm
2007-08-26 14:00               ` Hans Hagen
2007-08-26 13:55         ` Hans Hagen
2007-08-27  9:06       ` Arthur Reutenauer
2007-08-27 14:10         ` Aditya Mahajan
2007-08-25 13:43 ` Mojca Miklavec
2007-08-27 18:28 ` Peter Münster
2007-08-27 18:34   ` Hans Hagen
2007-08-27 19:01     ` Mojca Miklavec
2007-08-27 21:57     ` Peter Münster
2007-08-27 20:48   ` Arthur Reutenauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).