ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* [NTG-context] update
@ 2023-04-26 21:55 Hans Hagen via ntg-context
  2023-04-26 23:54 ` Jairo A. del Rio via ntg-context
  2023-04-27  0:50 ` lynx--- via ntg-context
  0 siblings, 2 replies; 16+ messages in thread
From: Hans Hagen via ntg-context @ 2023-04-26 21:55 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

I uploaded a new version with some new features discussed at the end of 
this mail.

- A next version of luatex will break context (format making etc) but 
the change is unavoidable because of other macro package demands wrt 
security (context does that differently). The low level start up command
has been adapted so unless you update indepdently thinsg should work ok. 
  Of course this has no consequences for lmtx.

- I've done a bit of callback cleanup (like getting rid of some mkiv 
luatex left-overs). It should have no effect on regular usage.

- There again a few improvements wrt math (this time dealing with 
accents artifacts in some fonts). We check all the free math fonts for 
potential issues and then try to fix it (read: deal with it). It's a lot 
of work but we're getting there.

- A few reported buglets have been fixed.

- The biggest addition is however a new number model. In metapost one 
can now use 'posit' (positfun instance) as number mode which will use 
(currently 32 bit but at some point 64 bit) posit unums. It's also bit 
of a playground because 32 bit posits are not more accurate than 64 bit 
doubles. It anyhow exposed some potential issues that we'll look into.

- There's also a (again currently 32 bit) posit library at the Lua end 
as playground.

- However, 32 bit posits come in handy at the tex end because they pack 
better accuracy in 32 bits than floats and it makes it possible to have 
native floats, so we have:

\newfloat  (uses \floatdef, register like \dimendef is used in \newdimen)

\newposit  (uses \positdef, like \dimensiondef etc)

\floatexpr (like \numexpr)

\iffloat   (like \ifnum) (also \ifabsfloat and i'll add the others too)

Actually it adds an extra range of registers so it bumps memory usage a 
bit. I'm considering lowering the number of registers (currently 64K per 
category) because after all, if 64K is not enough then we can as well 
stick to 32K or 16K (for some even less). There's always Lua for 
unlimited storage of quantities.

So,

\newfloat\fooA

\scratchdimen=123.456pt\relax        [\type{dim:} 
\the\scratchdimen==123.456pt]\par
\fooA        =123.456\relax          [\type{pos:} \the\fooA 
==123.456]  \par
\fooA        =\scratchdimen\relax    [\type{pos:} \the\fooA 
==123.456]  \par
\scratchdimen=\fooA\relax            [\type{dim:} 
\the\scratchdimen==123.456pt]\par
\scratchdimen\dimexpr\fooA+10pt\relax[\type{dim:} 
\the\scratchdimen==133.456pt]\par

produces

[dim: 123.456pt==123.456pt]
[pos: 123.45600128173828==123.456]
[pos: 123.45599365234375==123.456]
[dim: 123.456pt==123.456pt]
[dim: 133.456pt==133.456pt]

As you can see dimens will get mapped onto floats not as integers 
(scaled points) but in pt units. Counts stay numbers. I need to handle 
glue too (not yet done).

In the future I might use this for fractions but there might be some 
rough ends so for now it's experimental.

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] 16+ messages in thread
* [NTG-context] update
@ 2023-06-04 17:01 Hans Hagen via ntg-context
  0 siblings, 0 replies; 16+ messages in thread
From: Hans Hagen via ntg-context @ 2023-06-04 17:01 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

This time not a functional update but a (potential) performance one. I 
have no clue if it matters for average usage and some was already in 
place anyway. I gain some .2 seconds on the 8.5 seconds for the 
luametatex manual (of which is < 4 sec for tex so we gain the .2 sec on 
that part). It all depends on usage scenarios. Hopefully there are no 
side effects (due to typos).

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] 16+ messages in thread
* [NTG-context] update
@ 2024-01-08 10:36 Hans Hagen via ntg-context
  0 siblings, 0 replies; 16+ messages in thread
From: Hans Hagen via ntg-context @ 2024-01-08 10:36 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

Hi,

With the build farm still down I now use an alternative build, that is, 
I run a compile script on s bunch of machines and hope for the best.

In the process I decided to drop 32 bit installers (users can generate 
bins themselves if needed). I also drop bsd version and just use the 
latest. For OSX I use a retired macbook air that Hans vd Meer sent me 
that has an old operating system but new enough so that its xcode can 
make intel and arm binaries. The linux binaries have teh problem that 
they depend on glibc versions and I'm assuming a reasonable up to date 
system so I use opensuse leap (which is not even that new with it comes 
to glibc but we use it on servers here).

texmf-win64         : laptop              (linux subsystem on windows)
texmf-windows-arm64 : laptop              (native visual studio)
texmf-linux-64      : linux-opensuse-leap (latest leap 15)
texmf-linux-aarch64 : raspberrypi         (latest debian)
texmf-linuxmusl-64  : linux-alpine-64     (whatever)
texmf-osx-64        : airbook/118/hvdm    (older xcode)
texmf-osx-arm64     : airbook/118/hvdm    (older xcode)
texmf-freebsd-amd64 : openbsd-amd64-14    (latest)
texmf-openbsd-amd64 : openbsd-amd64-74    (latest)

If your platform doesn't work you can download the texmf.zip, 
context-texmf.zip and installation.pdf and start from there: create the 
tree, compile from source, move the binaries and it should just work.

I have no clue if the uploaded files are working but let's see ... (some 
paths have been renamed)

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://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 16+ messages in thread
* [NTG-context] update
@ 2024-03-11 17:48 Hans Hagen
  0 siblings, 0 replies; 16+ messages in thread
From: Hans Hagen @ 2024-03-11 17:48 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

Todays update has a fix for the compact mode slant interference (as 
explained by Wolfgang a few days ago). Hopefully that works out well.

We (MS and HH) also managed to make curve detection more accurate (the 
decision routine that is responsible for straight lines in the MP 
output) so that extreme paths with control points way beyond reasonable 
still produce the right output (before we could get a wrong bbox due to 
clipping the curve in the backend). One can actually also force "always 
curve" with "withcurvature 1" (more variants might follow) but that is 
more or us to have a test option. Curvature detection is mostly a pdf 
efficiency feature and normally users should rely on the default to work 
okay.

Other new mp features are relative and absolute points which makes it 
possible to define paths in a turtle graphics way (a bit like hlineto 
and vline in postscript), a native "--" operator (equivalent but 
somewehat more efficient on huge generated paths). The luametafun manual 
has a chapter on paths that describes some of this.

Yet another new feature is "firstcontrol" and "secondcontrol" that is an 
addendum to controls that makes both control points the same when only 
one is given.

Finally there is a fix in mp where some directions, think { dir 120 }, 
gave the wrong result due to sign swapping (so it was seen as { dir 200} 
or { dir -60 }) as side effect of negative zeros fed into tan2. This 
became obvious when MS reprocessed a graphic, as last year we switched 
from scsled (no bug) to double (long time bug exposed). (The bug is also 
present in LuaTeX double/binary mode but it will be fixed there too.)

The rest is not (yet) worth mentioning,

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://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

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

end of thread, other threads:[~2024-03-11 17:51 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-26 21:55 [NTG-context] update Hans Hagen via ntg-context
2023-04-26 23:54 ` Jairo A. del Rio via ntg-context
2023-04-27  2:25   ` Rik Kabel via ntg-context
2023-04-27  2:34     ` Jairo A. del Rio via ntg-context
2023-04-27  7:52   ` Hans Hagen via ntg-context
2023-04-27  0:50 ` lynx--- via ntg-context
2023-04-27  1:52   ` Aditya Mahajan via ntg-context
2023-04-27  5:11     ` Max Chernoff via ntg-context
2023-04-27  7:58       ` Hans Hagen via ntg-context
2023-04-27  7:38   ` Hans Hagen via ntg-context
2023-04-27  8:32     ` Max Chernoff via ntg-context
2023-04-27 21:51       ` lynx--- via ntg-context
2023-04-27 23:54         ` Max Chernoff via ntg-context
2023-06-04 17:01 Hans Hagen via ntg-context
2024-01-08 10:36 Hans Hagen via ntg-context
2024-03-11 17:48 Hans Hagen

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).