[NTG-context] Re: rendering arabic diacritics

2024-05-09 Thread Hamid,Idris


-- Original Message --
From "Hans Hagen" mailto:j.ha...@xs4all.nl>>
To "ntg-context@ntg.nl<mailto:ntg-context@ntg.nl>" 
mailto:ntg-context@ntg.nl>>
Date 5/9/2024 6:29:40 AM
Subject [NTG-context] Re: rendering arabic diacritics

** Caution: EXTERNAL Sender **

On 5/9/2024 2:17 PM, Hamid,Idris wrote:
Hi Seyal,

See below:

-- Original Message --
From "Hans Hagen" mailto:j.ha...@xs4all.nl> 
<mailto:j.ha...@xs4all.nl>>
To "seyal.zav...@gmail.com<mailto:seyal.zav...@gmail.com> 
<mailto:seyal.zav...@gmail.com>"
mailto:seyal.zav...@gmail.com> 
<mailto:seyal.zav...@gmail.com>>; "mailing list
for ConTeXt users" mailto:ntg-context@ntg.nl> 
<mailto:ntg-context@ntg.nl>>
Date 5/9/2024 3:31:45 AM
Subject [NTG-context] Re: rendering arabic diacritics

** Caution: EXTERNAL Sender **
On 5/9/2024 10:03 AM, seyal.zav...@gmail.com<mailto:seyal.zav...@gmail.com>
<mailto:seyal.zav...@gmail.com> wrote:
Hi all,
when i want to use the linked font for arabic texts it doesn't render
diacritics properly
i doesn't have problem with this font in inkscape or libreoffice
what featureset should i apply?
font link:
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1hCcv6wqWjd-5GEKnaowh8E8YVbTgGqQr%2Fview%3Fusp%3Dsharing=05%7C02%7CIdris.Hamid%40ColoState.EDU%7Cc8b63025b08545aa636308dc70244f52%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638508548453863256%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C=a2qMEGD0wo%2FhM6oNJ7AvfFyRPMEJuu0bFeceX4PPnsg%3D=0<https://drive.google.com/file/d/1hCcv6wqWjd-5GEKnaowh8E8YVbTgGqQr/view?usp=sharing>
 
<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1hCcv6wqWjd-5GEKnaowh8E8YVbTgGqQr%2Fview%3Fusp%3Dsharing=05%7C02%7CIdris.Hamid%40ColoState.EDU%7Cc8b63025b08545aa636308dc70244f52%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638508548453873437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C=%2FLAHOebc2kdBEl4rBsEnp7gV4f6ZpXMWNt4FoUptSus%3D=0<https://drive.google.com/file/d/1hCcv6wqWjd-5GEKnaowh8E8YVbTgGqQr/view?usp=sharing>>
this is my MWE:
\definefontfeature [arabis]
[mode=node,language=dflt,script=arab,
init=yes,medi=yes,fina=yes,isol=yes,
liga=yes,dlig=yes,rlig=yes,clig=yes,
mark=yes,mkmk=yes,kern=yes,curs=yes]
\definefont [Ahang] [file:Ahang-Regular.otf*arabis at 18pt]
\setupalign[r2l]
\starttext
{\Ahang تَشْكِيل كَسْرَة}
\stoptext
\definefont [Ahang] [file:Ahang-Regular.otf*arabic at 18pt]
but there is an issue with widths, ill send you a patch to test

The provided "*arabic" featureset should suffice for this font. Also
TEXpage is useful for this kind of MWE:

\definefont [Ahang] [file:Ahang-Regular.otf*arabic at 18pt]
\setupalign[r2l]
\startTEXpage[offset=1em]
{\Ahang تَشْكِيل كَسْرَة}
\stopTEXpage

In prehistoric ConTeXt version

2023.09.26 18:19

the diacritics look fine in both ConTeXt and unicode editor MS Notepad.

So if there is something wrong, it must be in a more recent version.

For comparison: Before applying Hans' patch, could you kindly send your
pdf of the MWE that shows the error? Mine is attached.
Ahang-Regular has no width settings for the marks so we need to zero
them. Tahrir_Regular has widths but these we explictly need to zero with
a pseudo feature then. (What are the assumptions when we do arabic? That
marks are to have zero width?)

Yes, marks should have zero-width but Uniscribe (and Harbuzz?/its successor?) 
provide support for legacy fonts with non-zero width.

But sometimes font designers imitate legacy behavior..

So it used to be often the case that a font with diacritics that worked in 
Uniscribe etc. (e.g., Deja Vu Arabic) would show marks with widths in ConTeXt.

In order to be more helpful, I should update to the latest beta, run some 
tests, and get current on the status of these matters..

Idris
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___


[NTG-context] Re: rendering arabic diacritics

2024-05-09 Thread Hamid,Idris
Hi Seyal,

See below:

-- Original Message --
From "Hans Hagen" mailto:j.ha...@xs4all.nl>>
To "seyal.zav...@gmail.com" 
mailto:seyal.zav...@gmail.com>>; "mailing list for 
ConTeXt users" mailto:ntg-context@ntg.nl>>
Date 5/9/2024 3:31:45 AM
Subject [NTG-context] Re: rendering arabic diacritics

** Caution: EXTERNAL Sender **

On 5/9/2024 10:03 AM, seyal.zav...@gmail.com 
wrote:
Hi all,

when i want to use the linked font for arabic texts it doesn't render 
diacritics properly
i doesn't have problem with this font in inkscape or libreoffice
what featureset should i apply?

font link:
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1hCcv6wqWjd-5GEKnaowh8E8YVbTgGqQr%2Fview%3Fusp%3Dsharing=05%7C02%7CIdris.Hamid%40ColoState.EDU%7C8e2b7a1a4eaf46f6b10808dc700b7b2a%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638508441848485171%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C=51bK7I53UxZOK0PcbrYlpX2s%2Bdy%2BK83SslQZ%2BvhnvwU%3D=0

this is my MWE:
\definefontfeature [arabis]
[mode=node,language=dflt,script=arab,
init=yes,medi=yes,fina=yes,isol=yes,
liga=yes,dlig=yes,rlig=yes,clig=yes,
mark=yes,mkmk=yes,kern=yes,curs=yes]
\definefont [Ahang] [file:Ahang-Regular.otf*arabis at 18pt]
\setupalign[r2l]
\starttext
{\Ahang تَشْكِيل كَسْرَة}
\stoptext

\definefont [Ahang] [file:Ahang-Regular.otf*arabic at 18pt]

but there is an issue with widths, ill send you a patch to test

The provided "*arabic" featureset should suffice for this font. Also TEXpage is 
useful for this kind of MWE:

\definefont [Ahang] [file:Ahang-Regular.otf*arabic at 18pt]
\setupalign[r2l]
\startTEXpage[offset=1em]
{\Ahang تَشْكِيل  كَسْرَة}
\stopTEXpage

In prehistoric ConTeXt version

   2023.09.26 18:19

the diacritics look fine in both ConTeXt and unicode editor MS Notepad.

So if there is something wrong, it must be in a more recent version.

For comparison: Before applying Hans' patch, could you kindly send your pdf of 
the MWE that shows the error? Mine is attached.

Best wishes
Idris
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523


ahang.pdf
Description: ahang.pdf
___
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
___


[NTG-context] Re: Using plain TeX commands in ConTeXt

2024-01-24 Thread Hamid,Idris
Hi Shiv,

-- Original Message --
From "Shiv Shankar Dayal" 
mailto:shivshankar.da...@gmail.com>>
To "mailing list for ConTeXt users" 
mailto:ntg-context@ntg.nl>>
Date 1/24/2024 9:44:09 AM
Subject [NTG-context] Re: Using plain TeX commands in ConTeXt


** Caution: EXTERNAL Sender **

Yes.

On Wed, Jan 24, 2024 at 10:08 PM luigi scarso 
mailto:luigi.sca...@gmail.com>> wrote:


On Wed, 24 Jan 2024 at 16:55, Shiv Shankar Dayal 
mailto:shivshankar.da...@gmail.com>> wrote:
Thanks for correcting me, Wolfgang. I meant only TeX commands not plan TeX 
macros.


TeX primitives ?

Apologies if you are already aware:

There are 21 ConTeXt manuals entitled "low-level TeX" here:

https://wiki.contextgarden.net/Documentation

These might be a good place to begin exploration of interactions between TeX 
primitives and ConTeXt.

Best wishes
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___


[NTG-context] Re: sidebar and marginrule not working

2023-10-24 Thread Hamid,Idris

-- Original Message --
From "Henning Hraban Ramm" mailto:te...@fiee.net>>
To "ntg-context@ntg.nl<mailto:ntg-context@ntg.nl>" 
mailto:ntg-context@ntg.nl>>
Date 10/24/2023 8:04:34 AM
Subject [NTG-context] Re: sidebar and marginrule not working

** Caution: EXTERNAL Sender **

Am 24.10.23 um 15:33 schrieb Hamid,Idris:
Hi Otared,

Many thanks. Could you kindly open the pdf I sent as well? How does that
look?

Here, on Windows 11, the bars do not appear on sumatra, adobe, or nitropdf.

I checked on MacOS with Preview, Acrobat Pro and PDF Studio – no bars in
your PDF.

But your code gives apparently correct results on my machine,
ConTeXt ver: 2023.09.26 18:19 LMTX fmt: 2023.10.19

Maybe try to re-make the format? Check all files in the log – is there
something from a local/personal texmf tree?
Many thanks, Henning. I tried remaking the format, updating -- to no avail. The 
log doesn't seem to show anything unusual, no texmf-project files, etc.

Finally, I shutdown and restarted the system, on the premise that some pdf 
library or other file is acting up. And voila! it seems to work now -- see 
attached.

It remains a mystery as to what could possibly have caused this problem, or why 
a system restart made it go away.

Hopefully the problem will not return, but we'll see..

Thanks to all who replied.

Best wishes
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523


test-sidebar.pdf
Description: test-sidebar.pdf
___
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
___


[NTG-context] Re: sidebar and marginrule not working

2023-10-24 Thread Hamid,Idris
Hi Otared,

Many thanks. Could you kindly open the pdf I sent as well? How does that look?

Here, on Windows 11, the bars do not appear on sumatra, adobe, or nitropdf.

Best wishes
Idris

-- Original Message --
From "Otared Kavian" mailto:ota...@gmail.com>>
To "Hamid,Idris" mailto:idris.ha...@colostate.edu>>; 
"mailing list for ConTeXt users" mailto:ntg-context@ntg.nl>>
Date 10/24/2023 7:18:40 AM
Subject Re: [NTG-context] sidebar and marginrule not working


** Caution: EXTERNAL Sender **

Hi Idris,

Your code works fine on my machine (version 2023.09.26 18:19 LMTX on MacOS 
11.7.10). I see both bars correctly.

Best regards: Otared

On 24 Oct 2023, at 02:24, Hamid,Idris 
mailto:idris.ha...@colostate.edu>> wrote:

Dear gang,

The appears to be something wrong with the sidebar and marginrule mechanisms. 
MWE:

==
% ConTeXt  ver: 2023.09.26 18:19 LMTX

\setupmarginrule[1][rulecolor=darkred]

\definesidebar[Sidebar][rulethickness=0.28pt,distance=3pt,rulecolor=darkgreen]
\setupsidebar[rulecolor=darkgreen]

\starttext
\startmarginrule[1]
\input ward
\stopmarginrule

\blank

\startsidebar[Sidebar]
\input zapf
\stopsidebar
\stoptext
==

In the output, either

i)  the rules do not appear at all (most attempts); or
ii) the rules appear for a split-second then disappear (using sumatrapdf as the 
viewer, so the pdf updates on the fly).

Is is a bug?

A second question: Is either mechanism preferable over the other? That is: In 
LMTX, what is the best mechanism to use?

Thank you in advance for any guidance.

Best wishes
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523

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

maillist : ntg-context@ntg.nl<mailto:ntg-context@ntg.nl> / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl<https://www.pragma-ade.nl/> / 
https://context.aanhet.net<https://context.aanhet.net/> (mirror)
archive  : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net<https://wiki.contextgarden.net/>
___

Otared Kavian
e-mail: ota...@gmail.com<mailto:ota...@gmail.com>
Phone: +33 6 88 26 70 95





--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___


[NTG-context] Re: sidebar and marginrule not working

2023-10-24 Thread Hamid,Idris
-- Original Message --
From "Hans Hagen" mailto:j.ha...@xs4all.nl>>
To "ntg-context@ntg.nl<mailto:ntg-context@ntg.nl>" 
mailto:ntg-context@ntg.nl>>
Date 10/24/2023 6:17:24 AM
Subject [NTG-context] Re: sidebar and marginrule not working

** Caution: EXTERNAL Sender **

On 10/24/2023 1:39 PM, Hamid,Idris wrote:
-- Original Message --
From "Hamid,Idris" 
mailto:idris.ha...@colostate.edu><mailto:idris.ha...@colostate.edu>>
To "mailing list for ConTeXt users" 
mailto:ntg-context@ntg.nl><mailto:ntg-context@ntg.nl>>
Date 10/23/2023 6:24:38 PM
Subject [NTG-context] sidebar and marginrule not working

Dear gang,

The appears to be something wrong with the sidebar and marginrule mechanisms. 
MWE:

==
% ConTeXt ver: 2023.09.26 18:19 LMTX

\setupmarginrule[1][rulecolor=darkred]

\definesidebar[Sidebar][rulethickness=0.28pt,distance=3pt,rulecolor=darkgreen]
\setupsidebar[rulecolor=darkgreen]

\starttext
\startmarginrule[1]
\input ward
\stopmarginrule

\blank

\startsidebar[Sidebar]
\input zapf
\stopsidebar
\stoptext
==

In the output, either

i) the rules do not appear at all (most attempts); or
ii) the rules appear for a split-second then disappear (using sumatrapdf as the 
viewer, so the pdf updates on the fly).

Is this a bug?
maybe your viewer is bugged

Before sending to the list, I tested the pdf in sumatra (default), adobe, and 
nitropdf - same result. If three distinct viewers don't show it, then something 
else must be wrong.

Could you open the pdf I sent to the list? What do you see?

Best wishes
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___


[NTG-context] Re: sidebar and marginrule not working

2023-10-24 Thread Hamid,Idris
-- Original Message --
From "Hamid,Idris" mailto:idris.ha...@colostate.edu>>
To "mailing list for ConTeXt users" 
mailto:ntg-context@ntg.nl>>
Date 10/23/2023 6:24:38 PM
Subject [NTG-context] sidebar and marginrule not working

Dear gang,

The appears to be something wrong with the sidebar and marginrule mechanisms. 
MWE:

==
% ConTeXt  ver: 2023.09.26 18:19 LMTX

\setupmarginrule[1][rulecolor=darkred]

\definesidebar[Sidebar][rulethickness=0.28pt,distance=3pt,rulecolor=darkgreen]
\setupsidebar[rulecolor=darkgreen]

\starttext
\startmarginrule[1]
\input ward
\stopmarginrule

\blank

\startsidebar[Sidebar]
\input zapf
\stopsidebar
\stoptext
==

In the output, either

i)  the rules do not appear at all (most attempts); or
ii) the rules appear for a split-second then disappear (using sumatrapdf as the 
viewer, so the pdf updates on the fly).

Is this a bug?

A second question: Is either mechanism preferable over the other? That is: In 
LMTX, what is the best mechanism to use?

Thank you in advance for any guidance.

Here is the pdf that is a result of the MWE above:

https://www.dropbox.com/scl/fi/r18ao8dhpz8m5cj3jk7kv/test-sidebar.pdf?rlkey=slgmiu2wst5xfv3adydhbprj4=0

Also attached.

Best wishes
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523


test-sidebar.pdf
Description: test-sidebar.pdf
___
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
___


[NTG-context] sidebar and marginrule not working

2023-10-23 Thread Hamid,Idris
Dear gang,

The appears to be something wrong with the sidebar and marginrule mechanisms. 
MWE:

==
% ConTeXt  ver: 2023.09.26 18:19 LMTX

\setupmarginrule[1][rulecolor=darkred]

\definesidebar[Sidebar][rulethickness=0.28pt,distance=3pt,rulecolor=darkgreen]
\setupsidebar[rulecolor=darkgreen]

\starttext
\startmarginrule[1]
\input ward
\stopmarginrule

\blank

\startsidebar[Sidebar]
\input zapf
\stopsidebar
\stoptext
==

In the output, either

i)  the rules do not appear at all (most attempts); or
ii) the rules appear for a split-second then disappear (using sumatrapdf as the 
viewer, so the pdf updates on the fly).

Is is a bug?

A second question: Is either mechanism preferable over the other? That is: In 
LMTX, what is the best mechanism to use?

Thank you in advance for any guidance.

Best wishes
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523

___
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
___


[NTG-context] Re: Toggling the symbol for the zero-width joiner and related Unicode control characters

2023-09-23 Thread Hamid,Idris

-- Original Message --
From "Hans Hagen via ntg-context" 
mailto:ntg-context@ntg.nl>>
To "ntg-context@ntg.nl" 
mailto:ntg-context@ntg.nl>>
Cc "Hans Hagen" mailto:j.ha...@freedom.nl>>
Date 9/22/2023 10:44:38 AM
Subject [NTG-context] Re: Toggling the symbol for the zero-width joiner and 
related Unicode control characters

(It seems he never considered making it an opentype feature in the font itself, 
but since his focus is/was XeTeX/HB (HB is rather rigid and dictatorial) I 
guess that's not surprising.)

I admit that I don't follow what happens with xetex (they changed the
rendere at some point indeed) not HB (I only notice that it gets updates
frequently in the tex live repository which makes me wonder how one
retains compatility unless one freezes). I actually kept the lib binding
code that can use it around for your font testing (we wanted to see what
uniscribe does), not sure if it still works.
I remember the experimental uniscribe binding, don't recall that it was ever 
officially released. (Did Kai Bormann ever work with it?).

I hope that it still works or can be resurrected when the time comes for 
testing -)


Anyway, we're entering the bug cq. side effect becomes feature area
here; just like yesterdays perfect bidi algorithm is todays less pefect
one replaced by ...

But therein lies the problem: ConTeXt shows the rendering by default, and we 
need to turn it off. Since most non-Latin typography targets Uniscribe 
applications which allows for toggling, the font developers (commercial or 
free) don't have to concern themselves with this issue.

if context shows it then it is not a feature but hard coded shapes which
is weird; how does one know what to 'remove' or not? And in what stage?
If they are zero width it is simple to ignore them in the backend, if
they have dimensions (w/h/d) then they contributed and wiping is tricky

The metrics should be dimensionless and most Arabic fonts do that, but Lotus 
Linotype gives them width (one wonders why).

Perhaps the Lotus designers thought that giving them width makes them easier to 
edit, which is indeed the case. And perhaps they were satisfied that 
Word/InDesign would be able, as needed, to toggle the metrics on and off as 
well as the shape. That WYSIWYG-DTP curse again..

\setcharacterstripping[1] gives the right results with Lotus (at least so far) 
-- see attached. Was pleasantly surprised that the spurious width was also 
suppressed.

\setcharacterstripping[0] toggles back -- another pleasant result -)


Since Word rules the world, most font designers target it. Since Word provides 
for toggling the symbols -- needed for editing purposes -- there was no need 
for Arabic-script font designers to worry about the symbols showing up where 
they are not wanted.

(I suppose that InDesign behaves the same way.)

I don't know ... irr these dtp programs are more like "if you want this
feature applied select a range of characters and apply it"

That's what was meant when I spoke of the continued effects of the WYSIWYG 
curse: It saved font designers from having to think much about this issue.

In some way it's also flaws in the open type approach. Basically that
happens when application stuff becomes a standard and one forgets that
it was (is) application driven. (And you haven't seen variable fonts and
color fonts yet ... no pretty standards either.)

I'm in the process of switching from Multiple Masters sources to variable, so 
will surely encounter it soon.

Unfortunately there is indeed a frustrating gray area in this arena between 
knowing where the standards end and where the diktats of corporations (or even 
free-software consortiums like HB) begin, as we've discussed in the past. With 
variable fonts, one has to add some degree of arbitrariness..


Not really -) This brings us to the point of consistency: For Arabic-script 
fonts, hard symbolic rendering of the Unicode control characters is the rule, 
not the exception. So not "an inconsistent mess" -- at least not as far as 
Arabic-script typography is concerned.

Funny rules ... but I'm not going top enable 'wipe' by default: after
all, one gets what one deserves, nto what one likes (which can differ
per day). But you can enable the wiping. We can of course ignore in the
backend when zero width but then how to explain that they contributed to
the ht/dp (unless we wipe these dimensions) ... all slow-downers
So far \setcharacterstripping[1] is giving the right results. If the relevant 
trackers are available, could add them to the attached test. But presumably you 
know how and why it works even for a non-dimensionless glyph.


so you want to see soem zwj sumbol in a rendered text?

Only in verbatim/\type'd text where it is appropriate, even necessary. Thanks 
to Word/WYSIWYG, the rule is de facto, but it is not de jure -)

Ideally, Scintilla (Scite, Notepad++, etc.) should do the same, or provide a 
toggle, as MS Notepad does.

(Tangent: In terms of Unicode 

[NTG-context] Re: Toggling the symbol for the zero-width joiner and related Unicode control characters

2023-09-22 Thread Hamid,Idris

-- Original Message --
From "Hans Hagen" mailto:j.ha...@xs4all.nl>>
To "ntg-context@ntg.nl<mailto:ntg-context@ntg.nl>" 
mailto:ntg-context@ntg.nl>>
Date 9/22/2023 7:15:25 AM
Subject [NTG-context] Re: Toggling the symbol for the zero-width joiner and 
related Unicode control characters

** Caution: EXTERNAL Sender **

On 9/22/2023 2:39 PM, Hamid,Idris wrote:

b. we want all Unicode control symbols to be suppressed in final pdf output 
(for, e.g., printing).

they basically are unless some font features keeps them around which is
out of our control

irr it was you who wanted them to be wiped decades ago as some fonts
visualized them by default

Yes, that's exactly the point: Somewhere along the course of history, it became 
standard for Arabic-script fonts (and other cursive-script fonts as well) to 
include symbols for the control characters.

In typo-rep there is also

%D \starttyping
%D \definefontfeature[default][default][mode=node,formatters=strip]
%D \stoptyping

You included some notes about Khaled, so I guess he faced the same issue. His 
Amiri font displays the symbols by default, as do other Arabic fonts.

(It seems he never considered making it an opentype feature in the font itself, 
but since his focus is/was XeTeX/HB (HB is rather rigid and dictatorial) I 
guess that's not surprising.)



But therein lies the problem: ConTeXt shows the rendering by default, and we 
need to turn it off. Since most non-Latin typography targets Uniscribe 
applications which allows for toggling, the font developers (commercial or 
free) don't have to concern themselves with this issue.

?

Since Word rules the world, most font designers target it. Since Word provides 
for toggling the symbols -- needed for editing purposes -- there was no need 
for Arabic-script font designers to worry about the symbols showing up where 
they are not wanted.

(I suppose that InDesign behaves the same way.)

That's what was meant when I spoke of the continued effects of the WYSIWYG 
curse: It saved font designers from having to think much about this issue.



Not really -) This brings us to the point of consistency: For Arabic-script 
fonts, hard symbolic rendering of the Unicode control characters is the rule, 
not the exception. So not "an inconsistent mess" -- at least not as far as 
Arabic-script typography is concerned.

so you want to see soem zwj sumbol in a rendered text?

Only in verbatim/\type'd text where it is appropriate, even necessary. Thanks 
to Word/WYSIWYG, the rule is de facto, but it is not de jure -)

Ideally, Scintilla (Scite, Notepad++, etc.) should do the same, or provide a 
toggle, as MS Notepad does.

(Tangent: In terms of Unicode functionality, MS Notepad is still unrivalled, 
even in 2023!)

We agree that for final printed output it is not appropriate (except perhaps in 
a paper that discusses Unicode, fonts, etc., in which case it can be rendered 
using the figures or symbols mechanism -- or toggled as needed.)

I hope the above made sense.

Best wishes
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Toggling the symbol for the zero-width joiner and related Unicode control characters

2023-09-22 Thread Hamid,Idris

-- Original Message --
From "Hans Hagen" mailto:j.ha...@xs4all.nl>>
To "ntg-context@ntg.nl" 
mailto:ntg-context@ntg.nl>>
Date 9/22/2023 7:03:34 AM
Subject [NTG-context] Re: Toggling the symbol for the zero-width joiner and 
related Unicode control characters


Hi,

I found it ...

\startbuffer
\definedfont[almfixed*default]hello w\zwnj o\zwj r\zwnj l\zwj d
\stopbuffer

\getbuffer

\start
\setcharacterstripping[1]
\getbuffer
\stop

so now, being its only user, you have to wikify it ...

Ah, there it is! Many thanks, will wikify it.
Best wishes
Idris

--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Toggling the symbol for the zero-width joiner and related Unicode control characters

2023-09-22 Thread Hamid,Idris


-- Original Message --
From "Hans Hagen via ntg-context" 
mailto:ntg-context@ntg.nl>>
To "ntg-context@ntg.nl" 
mailto:ntg-context@ntg.nl>>
Cc "Hans Hagen" mailto:j.ha...@freedom.nl>>
Date 9/22/2023 3:53:03 AM
Subject [NTG-context] Re: Toggling the symbol for the zero-width joiner and 
related Unicode control characters
1. Can this approach be generalized to get what we want, viz., a way to toggle 
the symbols?

given the inconsistency in what is or is not in a font the only way out
is to have our own visualization (consistent across fonts) and even then
it would add some mess because we're talking of a mix of characters that
can have gone (as part of rendering) or are not characters at all but
spacing

so, in that case only 'verbatim' is a candidate for visualization, not
so much typeset text

Hm, ok. Since almfixed is based on Knuth's mono, perhaps its visuals of the 
control characters can be extracted and used as fallback symbols.

Yes: For typeset text/printing visualization is generally unnecessary (the 
point of this thread).

2. \enabletrackers[typesetters.nbsp] gives a colored box, which is at least 
something.. But how can we get the NBSP symbol that's alerady in the font?

it's gone by that time ... the line break mmechanism uses glue, not
characters

Ok

3. Ideally:
a. we want all Unicode control symbols to show up in verbatim or in \typebuffer 
(as in a text editor);

only there (with some non interfering rendering i guess) and even then
it's probably an additonal pass over the node list

Ok, that would be good.

b. we want all Unicode control symbols to be suppressed in final pdf output 
(for, e.g., printing).

they basically are unless some font features keeps them around which is
out of our control

If the symbols are in the font, then they are not suppressed. See below.

But some fonts meant for printing have symbols for Unicode control chars -- 
that poses a challenge.

so an inconsistent mess not worth wasting time on (as this is hobbyism
only fun can be a motivational factir)

But there is a certain consistency -- see below.

And some fonts meant for verbatim/editing do not have symbols for the control 
chars -- that also poses a challenge. AlmFixed, of course, has them.

Most minimally decent Arabic fonts have symbols for the Unicode control chars 
as default, including Scheherazade, Amiri, Uthmanic, and Noto Naskh Arabic -- 
all free fonts.

Industry workhorses like Linotype Lotus (Arabic) also have them.

i'm not interested in those .. can't afford them for playing around
purposes .. we only look into commercial fonts if we get a dozen
unresticted copies for context developers

Except for Linotype Lotus, each of the Arabic-script fonts mentioned above is 
free, not commercial -)

(There is also a free version of Lotus -- it also has the symbolic rendering of 
the contol chars.)

Uniscribe applications like Notepad/Word allow for toggling in a WYSIWYG 
context -- can't speak for HarfBuzz -- so there is no harm in having explicit 
symbols in the font.

sure, as long as there is no rendering ... they show the input

But therein lies the problem: ConTeXt shows the rendering by default, and we 
need to turn it off. Since most non-Latin typography targets Uniscribe 
applications which allows for toggling, the font developers (commercial or 
free) don't have to concern themselves with this issue.

Yet another curse of the WYSIWYG paradigm, which mixes form and content -)

The upshot is that, for non-Latin scripts, some toggling capability in ConTeXt 
is important to have -- even inescapable for Arabic-script piblishing.

a bit subjectiev arguing -)

Not really -) This brings us to the point of consistency: For Arabic-script 
fonts, hard symbolic rendering of the Unicode control characters is the rule, 
not the exception. So not "an inconsistent mess" -- at least not as far as 
Arabic-script typography is concerned.

(Yes, for the upcoming Husayni I can add a font feature that does the trick, 
but that will be an exception to the rule.)

Perhaps others who use Arabic-script or Indic, etc., can chime in.. Am hopeful 
that we can figure something out!
sore, but not with 'instant priority' (unless it is some project)

My immediate project (no Husayni) is a book that features English translation 
of an Arabic text (hence the interest in the recent streams thread). Using some 
Unicode control characters will be unavoidable to get the rendering effects 
correct, but the symbols will need to be suppressed.

Am thinking/hoping that a ConTeXt-specific font feature can do the trick. Since 
there appears to be consistency across Arabic fonts in this matter it should 
not be messy at all, simply a fallback that sends the symbols to some no-man's 
land.

(A thought: Some of the code you kindly provided for transliteration might be 
reusable as well.. But a general solution for all ConTeXt users would be ideal.)

In any case, many thanks for your help in thinking this 

[NTG-context] Re: Toggling the symbol for the zero-width joiner and related Unicode control characters

2023-09-21 Thread Hamid,Idris


-- Original Message --
From "Hans Hagen" mailto:j.ha...@xs4all.nl>>
To "Hamid,Idris" mailto:idris.ha...@colostate.edu>>; 
"mailing list for ConTeXt users" mailto:ntg-context@ntg.nl>>
Date 9/21/2023 3:29:22 PM
Subject Re: [NTG-context] Re: Toggling the symbol for the zero-width joiner and 
related Unicode control characters
  Many thanks, Hans. The method appears to work only for nbsp, not zwj etc. 
Here is the updated MWE:

===
\startTEXpage[offset=1em]
\disabletrackers[typesetters.directions]
\disabletrackers[typesetters.zwj]
\disabletrackers[typesetters.zwnj]
\disabletrackers[typesetters.nbsp]
\definedfont[almfixed at 14pt]
ZWJ: ‌
ZWNJ: ‍
NBSP:
\stopTEXpage
===

See attached, please advise.
joiners are part of replacement etc and can come and go ... they are
characters (we could visualize them but one never knows for sure if one
sees them)

nbsp are spaces and become glue that we can trace reliable in the node list

Many thanks. Ok, here is another MWE featuring a workaround using fallbacks:

==
\definefontfallback[nosymbols] [file:lmmono10-regular] [200C,200D] [force=yes]
\starttypescript [serif] [alm] [name]
\definefontsynonym [Serif] [ArabicLatinSerif]
\stoptypescript
\starttypescript [mono] [alm] [name]
\definefontsynonym [Mono]  [ArabicLatinMono]
\stoptypescript
\starttypescript [serif] [alm]
\definefontsynonym [ArabicLatinSerif] [file:almfixed] % 
[fallbacks=nosymbols]
\stoptypescript
\starttypescript [mono] [alm]
\definefontsynonym [ArabicLatinMono] [file:almfixed] [fallbacks=nosymbols]
\stoptypescript
\starttypescript [almfixed-nosymbols]
\definetypeface [\typescriptone] [rm] [serif] [alm] [default]
\definetypeface [\typescriptone] [tt] [mono] [alm] [default]
\stoptypescript
\usetypescript[almfixed-nosymbols]
\setupbodyfont[almfixed-nosymbols,12pt]
\startTEXpage[offset=1em]
\rm
ZWJ: ‌
ZWNJ: ‍
NBSP:
\tt
ZWJ: ‌
ZWNJ: ‍
NBSP:
\stopTEXpage
==

Under \rm we get the symbols, and under \tt they are suppressed. Of course it 
doesn't matter what fallback font one uses, as long as it has no 
control-character symbols.

1. Can this approach be generalized to get what we want, viz., a way to toggle 
the symbols?

2. \enabletrackers[typesetters.nbsp] gives a colored box, which is at least 
something.. But how can we get the NBSP symbol that's alerady in the font?

3. Ideally:
a. we want all Unicode control symbols to show up in verbatim or in \typebuffer 
(as in a text editor);
b. we want all Unicode control symbols to be suppressed in final pdf output 
(for, e.g., printing).

But some fonts meant for printing have symbols for Unicode control chars -- 
that poses a challenge.

And some fonts meant for verbatim/editing do not have symbols for the control 
chars -- that also poses a challenge.  AlmFixed, of course, has them.

Most minimally decent Arabic fonts have symbols for the Unicode control chars 
as default, including Scheherazade, Amiri, Uthmanic, and Noto Naskh Arabic -- 
all free fonts.

Industry workhorses like Linotype Lotus (Arabic) also have them.

Uniscribe applications like Notepad/Word allow for toggling in a WYSIWYG 
context -- can't speak for HarfBuzz -- so there is no harm in having explicit 
symbols in the font.

The upshot is that, for non-Latin scripts, some toggling capability in ConTeXt 
is important to have -- even inescapable for Arabic-script piblishing.

Perhaps others who use Arabic-script or Indic, etc., can chime in.. Am hopeful 
that we can figure something out!

Best wishes
Idris
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Toggling the symbol for the zero-width joiner and related Unicode control characters

2023-09-21 Thread Hamid,Idris

-- Original Message --
From "Hans Hagen" mailto:j.ha...@xs4all.nl>>
To "ntg-context@ntg.nl<mailto:ntg-context@ntg.nl>" 
mailto:ntg-context@ntg.nl>>
Date 9/21/2023 8:52:45 AM
Subject [NTG-context] Re: Toggling the symbol for the zero-width joiner and 
related Unicode control characters

** Caution: EXTERNAL Sender **

On 9/21/2023 3:31 PM, Hamid,Idris wrote:
Dear gang,

Within a font, relevant Unicode control characters such as the zero-width 
joiner usually have symbolic representation, but in printing the symbols are 
usually suppressed, while the effect of each character is maintained.

In some text editors, such as Windows Notepad (Uniscribe), there is the option

"Show Unicode control characters"

which toggles the symbols and keeps the effects.

I seem to recall that ConTeXt has/had a similar mechanism for toggling the 
symbols for Unicode control characters but cannot find it.

Does anyone know or recall where the symbol-toggling mechanism is?
If not, what would be the simplest way to implement it?

Here is a MWE (note that the three control chars might be invisible in your 
email client):

==
\startTEXpage[offset=1em]
\definedfont[almfixed at 14pt]
ZWJ: ‌

ZWNJ: ‍

NBSP:
\stopTEXpage
==

In Notepad, all three control characters can be turned on or off at once.
In Scintilla, only the NBSP appears and there is no option to toggle.
In ConTeXt, ZWJ and ZWJ appear as symbols, but NBSP does not.

Thank you in advance for your guidance.
\enabletrackers[typesetters.nbsp]

Many thanks, Hans. The method appears to work only for nbsp, not zwj etc. Here 
is the updated MWE:

===
\startTEXpage[offset=1em]
\disabletrackers[typesetters.directions]
\disabletrackers[typesetters.zwj]
\disabletrackers[typesetters.zwnj]
\disabletrackers[typesetters.nbsp]
\definedfont[almfixed at 14pt]
ZWJ: ‌
ZWNJ: ‍
NBSP:
\stopTEXpage
===

See attached, please advise.

Best wishes
Idris
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523


test-zwj.pdf
Description: test-zwj.pdf
___
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
___

[NTG-context] Toggling the symbol for the zero-width joiner and related Unicode control characters

2023-09-21 Thread Hamid,Idris
Dear gang,

Within a font, relevant Unicode control characters such as the zero-width 
joiner usually have symbolic representation, but in printing the symbols are 
usually suppressed, while the effect of each character is maintained.

In some text editors, such as Windows Notepad (Uniscribe), there is the option

"Show Unicode control characters"

which toggles the symbols and keeps the effects.

I seem to recall that ConTeXt has/had a similar mechanism for toggling the 
symbols for Unicode control characters but cannot find it.

Does anyone know or recall where the symbol-toggling mechanism is?
If not, what would be the simplest way to implement it?

Here is a MWE (note that the three control chars might be invisible in your 
email client):

==
\startTEXpage[offset=1em]
\definedfont[almfixed at 14pt]
ZWJ: ‌

ZWNJ: ‍

NBSP:
\stopTEXpage
==

In Notepad, all three control characters can be turned on or off at once.
In Scintilla, only the NBSP appears and there is no option to toggle.
In ConTeXt, ZWJ and ZWJ appear as symbols, but NBSP does not.

Thank you in advance for your guidance.

Best wishes
Idris
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523

___
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
___

[NTG-context] Re: streams reversed?

2023-09-15 Thread Hamid,Idris
Hi Julian,

Am also interested in this matter (and played a bit with the code you 
provided); one suspects that others are as well.

Based on past experience, can affirm that it's sometimes time-consuming, even a 
pain, to produce an MWE to reproduce the relevant behavior. But it would be 
well worth the effort for the sake of improving the streams mechanism and 
clarifying its ultimate limitations.

Even if the final MWE seems too bulky, you could post cloud links to the source 
and pdf files. Thank you for your contribution.

Best wishes
Idris

-- Original Message --
From "jbf" mailto:roma83...@gmail.com>>
To "Bruce Horrocks" mailto:n...@scorecrow.com>>; "mailing 
list for ConTeXt users" mailto:ntg-context@ntg.nl>>
Date 9/14/2023 4:04:27 PM
Subject [NTG-context] Re: streams reversed?

** Caution: EXTERNAL Sender **

Bruce, that was kind of you to reply. I think we both know that the
streams mechanism, while 'workable' for the most part, is still in need
of refinement.

It is quite possible that what is causing my problem has less to do with
'streams' per se, and more to do with the use of this mechanism in a
'real book' using frontmatter, bodymatter etc. etc.

Since it would be too long and complicated an MWE to place here in the
list to demonstrate my problem, I will send you the file separately so
you can see the issue: effectively, the streams have worked for
frontmatter (Foreword), but when I get to Chapter 1 in bodymatter, they
are reversed. You will see that. I can't work out why, but you might be
able to see what is causing that.

And of course, I have two other problems to work out before I could use
this in a real production scenario: there is the one you have already
alluded to of extra pages occasionally beforehand (hopefully easily
solvable) but I can see another problem when the text is a lengthy
one... and this is the result of synchronization: when one language (vi)
takes up more space than the other (en), we get an awkward break at the
end of the chapter in en, so that the last line can 'catch up' with the
last paragraph (in vi). Maybe this one will be harder to solve!

Julian

On 14/9/23 20:14, Bruce Horrocks wrote:
On 13 Sep 2023, at 07:47, jbf mailto:roma83...@gmail.com>> 
wrote:
When I come to bodymatter and Chapter 1, again it works, except that the 
positions of the languages are reversed, so I end up with vi on the left and en 
on the right. By Chapter 2 we are back to the correct position once more (en 
left and vi right).
I want to know why this is happening, and if I can prevent it happening.

I've modified the sample code you got from Wolfgang to include chapter headings 
and it all looks fine to me[1] - the red text is all on the right hand side and 
the greeen text is all on the left. If this doesn't help and you still have 
problems then you'll need to post a sample that actually shows the problem. I'm 
using ConTeXt ver: 2023.09.04 19:15.

\starttext

\startoutputstream[one]
\startcolor[red]
\dorecurse{5}{\chapter{Stream One}
\dorecurse{10}{\input knuth\par}
}
\stopcolor
\stopoutputstream

\startoutputstream[two]
\startcolor[green]
\dorecurse{5}{\chapter{Stream Two}
\dorecurse{10}{\input zapf\par}
}
\stopcolor
\stopoutputstream

\synchronizestreams[one,two]

\setbox\scratchboxone\outputstreambox[one]
\setbox\scratchboxtwo\outputstreambox[two]

\doloop
{\ifvoid\scratchboxone
\exitloop
\else
\setbox\scratchboxfour\vsplit\scratchboxone to \textheight
\vbox to \vsize{\box\scratchboxfour\vss}%
\setbox\scratchboxfive\vsplit\scratchboxtwo to \textheight
\vbox to \vsize{\box\scratchboxfive\vss}%
\fi}

\stoptext


[1] Apart from unnecessary blank pages at the beginning but that's a different 
problem so I'm not addressing that for now.

—
Bruce Horrocks
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Fallbacks for design sizes in the current typescripts regime

2023-08-23 Thread Hamid,Idris
Hi Vincent,
On Aug 22, 2023, 2:56 PM -0600, Vincent Hennebert , wrote:
I don’t know about its quality, but Adobe makes the Source Serif font
available under the SIL Open Font License, with 5 optical sizes and 6
weights. I’m working on a typescript file that allows to use all those
variants, would be happy to contribute it if that’s useful.

Many thanks for sharing this useful resource. Looking forward to trying out 
your typescript collection for Adobe Source Serif if/when you make it available.

Best wishes
Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Fallbacks for design sizes in the current typescripts regime

2023-08-22 Thread Hamid,Idris
On Aug 22, 2023, 10:21 AM -0600, Hans Hagen , wrote:
Also, some of these
commercial licenses have become pretty restrictive. With respect to
spending time on something, the same is true for some tools: supporting
acrobat, fonts, specific file formats, features etc ... one way tickets
... if we need it in a project i can waste the time on it, otherwise i
rather spend the time on things we (and users) can actually use and have
fun with.

At some point in the future, will aim to put together some typescripts using 
Latin Modern as base, and probably New Computer Modern (Greek, Hebrew, Coptic, 
etc.) and/or MLModern (slightly heavier per design size) as fallbacks.

(Also MLModern in particular is designed to match Latin Modern's encoding files 
etc.)

Each has its advantages and application cases for fallbacks across optical 
sizes, and it doesn't get more TeXie than experimenting with CM derivatives -)

(Wolfgang mentioned Antykwa Poltawskiego, and there are other possibilities as 
well.)

Best wishes
Idris
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Fallbacks for design sizes in the current typescripts regime

2023-08-22 Thread Hamid,Idris
On Aug 22, 2023, 2:06 AM -0600, Hans Hagen via ntg-context 
, wrote:
On 8/22/2023 6:31 AM, Hamid,Idris wrote:

Design sizes for typefaces -- aka "optical sizes" -- are no longer directly 
implemented in typescripts. From the manual Fonts out of ConTeXt by Hans Hagen, 
p. 109:

You can still do it but for all these years only cm has design sizes so
one can wonder.

Hm.. There are a few others, Minion perhaps being the most popular and 
extensive. More below:

"at some point the decision was made to kick out these definitions and move the 
burden of figuring out the right size to Lua."

They were moved to the goodie file (there are every few design size
setups in goodie files, minion has one, but i don't have these fonts nor
use them.

Have just completed a minion-pro-opticals typescript collection with a 
minion-opticalsizes.lfg.

Somehow I didn't even see yours and Mathias' minion.lfg (and associated 
type-imp-minion) until just now, had to figure it all out from scratch from 
demo.lfg and lm.lfg templates -)

(OTOH, had previously seen yours and Mikael's sophisticated minion-math.lfg)

I think that my version is/will be more complete - except for mathematics. Once 
some fine-tuning and additional testing is done, will donate the results to 
ConTeXt.

(Thus some large typescript collections painstakingly built over the years are 
now obsolete and have to be rewritten. Oh well..)

Well, i suppose one can still setup/use the typescripts but it's less
fun. The old definefont mechanism is still there.

Unfortunately it doesn't work anymore -  or at least not the way it used to. My 
mkiv minion typescript collection, for example, still compiles in lmtx, but the 
design sizes do not show up in the output anymore, only the default size.

As a side note: we have design sizes (very few fonts) and weights (more
and more fonts) .. weights are imo an even bigger mess, as it looks like
some designers can't make up their mind and come with plenty weights
independent of the fact that some look bad; variable fonts only add to
this: the easier to use the creater tools become the easier it becomes
to make ugly fonts (I tend to ignore fonts that show off too many
possible choices; not much different from excessive kerning, ligatures
and other incomplete features).

You make an important point, especially about the proliferation of bad fonts 
via more accessible tools. On a related front, there are more and more 
Arabic-script fonts, but hardly anything really good or useable, even from 
reputable foundries like Adobe. At some point, presumably, designers quit early 
(or the company does not care to invest the needed time and funds).

Presumably, designing good optical sizes requires more care and subtlety than 
designing weights.

OTOH the more professional/high-end foundries sometimes recommend certain 
weights for optical-sizes. For example, your neighbors at Enschede:

http://www.teff.nl/fonts/geronimo/

"While Geronimo was mainly conceived as a typeface for (small) text, it also 
performs well at bigger sizes most notably the lighter weights.”"

There are 12 weights total (six regular + six italic), but the lighter weights 
are designed to work well at larger sizes. So from 12 fonts one can create a 
reasonable, combined optical-size and weight space.

(Speaking of Enschede, their Lexicon typeface use an interesting/unique 
optical-size concept.)

One thing about the explosion of weights is that the distinction between \tf 
and \bf (or \it and \bi) vanishes and becomes a spectrum. In that case, 
presumably one would

i)  forget about \bf and \bi
ii) multiply bodyfont-typefaces and switch directly between them as needed.

Etc.

If this appearance of a loss reflects the reality of the situation, would like 
to kindly request that the original functionality be restored to the 
higher-level user interface, presumably within the lfg file. So perhaps 
something like a keyval

fallbacks = {
["MyRomanRegular"] = {
"file:MyFont-Small" = "fallbacks=",
"file:MyFont-Regular", = "fallbacks=",
"file:MyFont-Bigger", = "fallbacks=",
"file:MyFont-Biggest", = "fallbacks=",
},

On the other hand, if access to the former functionality is still there 
somewhere in the user interface, would like to humbly request that someone 
share where it is and how to use it!

Thank you kindly for consideration of this request.

I'm not going to look into this until there is a complete test case for
this which means:

- free fonts (so that others can also test and use)
- design sizes
- fallback design sizes

As for free fonts. MinionPro Opticals should be considered an exception to the 
free-fonts rubric. After all,

i)  its multiple-master design base was inspired by MetaFont/Knuth, and hence
ii) it's very popular with TeXies.

Put another way, Minion Pro should be considered an honorary TeX typeface -)

(There is also an update, Mi

[NTG-context] Fallbacks for design sizes in the current typescripts regime

2023-08-21 Thread Hamid,Idris
Dear gang,

Design sizes for typefaces -- aka "optical sizes" -- are no longer directly 
implemented in typescripts. From the manual Fonts out of ConTeXt by Hans Hagen, 
p. 109:

"at some point the decision was made to kick out these definitions and move the 
burden of figuring out the right size to Lua."

(Thus some large typescript collections painstakingly built over the years are 
now obsolete and have to be rewritten. Oh well..)

But there is an issue in the new regime:

In the old system, every typescript mapping to a font within a design-size 
range could have its own fallback. For example:

% Small ="small point size"
% Regular = "regular point size"
% Bigger = "bigger point size"
% Biggest = "biggest point size"

\definefontsynonym [MyRomanRegular]
[file:MyFont-Regular.ttf] [features=,fallbacks=]
\definefontsynonym [MyRomanSmall]
[file:MyFont-Small.ttf] [features=,fallbacks=]
\definefontsynonym [MyRomanBigger]
[file:MyFont-Bigger.ttf] [features=,fallbacks=]
\definefontsynonym [MyRomanBiggest]
[file:MyFont-Biggest.ttf] [features=,fallbacks=]

In the new typescripts regime we keep one font from the design-size range in 
the typescript file; the rest of the optical sizes go into an lfg goodies file:

\definefontsynonym [MyRomanRegular]
  \loadfontgoodies[myfonts-opticalsizes] % other three fonts go into an lfg 
table
[file:MyFont-Regular.ttf] [features=,fallbacks=]

designsizes = {
["MyRomanRegular"] = {
["7pt"]  = "file:MyFont-Small",
["8pt"]  = "file:MyFont-Small",
["9pt"]  = "file:MyFont-Regular",
["10pt"]= "file:MyFont-Regular",
["11pt"]= "file:MyFont-Regular",
["12pt"]= "file:MyFont-Bigger",
["14pt"]= "file:MyFont-Bigger",
["17pt"]= "file:MyFont-Biggest",
["21pt"]= "file:MyFont-Biggest",
default  = "file:MyFont-Regular",
},

But there is an apparent drawback to this new way of doing things: It appears 
that only the default font can have an explicit fallback, and there appears 
that there is no straightforward way to map each of the other design sizes to 
its own fallback.

If there is indeed no way to map each non-default design size to a fallback, 
then that constitutes a significant/unfortunate loss of functionality in the 
user interface.

If this appearance of a loss reflects the reality of the situation, would like 
to kindly request that the original functionality be restored to the 
higher-level user interface, presumably within the lfg file. So perhaps 
something like a keyval

fallbacks = {
["MyRomanRegular"] = {
"file:MyFont-Small"= "fallbacks=",
"file:MyFont-Regular",   = "fallbacks=",
"file:MyFont-Bigger", = "fallbacks=",
"file:MyFont-Biggest",   = "fallbacks=",
},

On the other hand, if access to the former functionality is still there 
somewhere in the user interface, would like to humbly request that someone 
share where it is and how to use it!

Thank you kindly for consideration of this request.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Inconsistent behavior: \addfontfeature and CLD local function

2023-08-20 Thread Hamid,Idris
Ok, understood. Thank you for the explanation.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
On Aug 20, 2023, 9:45 AM -0600, Hans Hagen , wrote:
** Caution: EXTERNAL Sender **

On 8/20/2023 5:33 PM, Hamid,Idris wrote:
Dear gang,

For \addfeature and the like, a virtual font feature defined in terms of a CLD 
local function behaves differently from other font features. MWE:

==
\startluacode
local function squeeze(tfmdata)
for k, v in next, tfmdata.characters do
v.width = 1.75 * (v.height or 0)
v.depth = 1.75 * (v.depth or 0)
end
end

local specification = {
name = "sqtfm",
description = "test",
manipulators = {
base = squeeze,
node = squeeze,
}
}
because much more has to be done to satisfy the backend (liek advance
with and such) .. you cannot just change dimensions on the fly for
characters that could potentially be shared just as you can't change
glyph dimension mid document

Hans

-
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | 
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pragma-ade.nl%2F=05%7C01%7CIdris.Hamid%40colostate.edu%7C2e50b62ee65c41cb704308dba1947214%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638281431156972904%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=SE09abKBexjImz73ucHLxz4Wv6reS75qYg88LrdNOrg%3D=0
 | 
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pragma-pod.nl%2F=05%7C01%7CIdris.Hamid%40colostate.edu%7C2e50b62ee65c41cb704308dba1947214%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638281431156972904%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=HDd8xwSOEAqmBG04WkLwG2NBE8JXlAeGWKVI9iqIU1A%3D=0
-

___
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
___

[NTG-context] Inconsistent behavior: \addfontfeature and CLD local function

2023-08-20 Thread Hamid,Idris
Dear gang,

For \addfeature and the like, a virtual font feature defined in terms of a CLD 
local function behaves differently from other font features. MWE:

==
\startluacode
local function squeeze(tfmdata)
for k, v in next, tfmdata.characters do
v.width = 1.75 * (v.height or 0)
v.depth  = 1.75 * (v.depth  or 0)
end
end

local specification = {
name= "sqtfm",
description = "test",
manipulators = {
base = squeeze,
node = squeeze,
}
}

fonts.handlers.otf.features.register(specification)
\stopluacode

\definefontfeature[forceno]
  [mode=node,
   script=latn]


\definefontfeature[forceyes]
  [mode=node,
   script=latn,
   smcp=force,
   sqtfm=force]
   % smcp=yes,
   % sqtfm=yes]

\showglyphs

\startTEXpage[offset=1em]
\definedfont[texgyretermes-regular*forceyes]
% \definedfont[texgyretermes-regular*forceno]
% \addfeature{forceyes}

abcdefg
\stopTEXpage
==
 You may toggle these lines:

\definedfont[texgyretermes-regular*forceyes]
% \definedfont[texgyretermes-regular*forceno]
% \addfeature{forceyes}

With
\definedfont[texgyretermes-regular*forceyes]
active we get the expected result: small caps plus some negative squeeze (= 
spread in this case).

With
\definedfont[texgyretermes-regular*forceno]
\addfeature{forceyes}
active we get an *unexpected* result: small caps but no negative squeeze.

(Similar results occur if we toggle the "=force" lines with the "=yes" lines, 
but the larger project of which this is the MWE uses the force key.)

Clue: A CLD with a feature defined via fonts.handlers.otf.addfeature doesn't 
seem to have this problem:

==

\startluacode
local function squeeze(tfmdata)
for k, v in next, tfmdata.characters do
v.width = 1.75 * (v.height or 0)
v.depth  = 1.75 * (v.depth  or 0)
end
end

local specification = {
name= "sqtfm",
description = "test",
manipulators = {
base = squeeze,
node = squeeze,
}
}

fonts.handlers.otf.features.register(specification)

fonts.handlers.otf.addfeature {
name = "stest",
type = "substitution",
data = {
a = "X",
b = "P",
}
}
\stopluacode

\definefontfeature[forceno]
  [mode=node,
   script=latn]


\definefontfeature[forceyes]
  [mode=node,
   script=latn,
   % % smcp=force,
   sqtfm=force,
   stest=force]
   % % smcp=yes,
   % sqtfm=yes,
   % stest=yes]

\showglyphs

\startTEXpage[offset=1em]
\definedfont[texgyretermes-regular*forceyes]
% \definedfont[texgyretermes-regular*forceno]
% \addfeature{forceyes}

abcdefg
\stopTEXpage
==

So only the local-function feature appears to exhibit this inconsistency.

What is the explanation for this inconsistent behavior?
Is there a way to get the expected result for \addfeature etc.?

Thank you in advance.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Applying \sc for smallcaps across styles

2023-08-19 Thread Hamid,Idris
Dear gang,

The following two wiki pages have been edited/added:

https://wiki.contextgarden.net/Small_caps_across_styles_(bold,_italics,_etc.)
https://wiki.contextgarden.net/Small_caps_and_other_styles

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
On Aug 19, 2023, 1:14 PM -0600, Hamid,Idris , wrote:
On Aug 19, 2023, 1:01 PM -0600, Wolfgang Schuster 
, wrote:
** Caution: EXTERNAL Sender **

Hamid,Idris schrieb am 19.08.2023 um 20:36:
Many thanks. From font-pre.mkiv:

\definealternativestyle [\v!smallcaps] [\setsmallcaps] [\setsmallcaps]
:
\unexpanded\def\setsmallcaps{\doaddfeature{f:smallcaps}}

So on the wiki we should say that \sc is a deprecated/legacy command
that no longer makes sense in an opentype-features world. New users
should no longer use it.

It depends on the font, e.g. Latin Modern still requires \sc because it
provides a separate file for smallcaps but no smcp feature.

ConTeXt has a command which can be used to check whether the current
active font provides the smcp feature but the recommended way is to
choose a font which supports to method (\sc or \setsmallcaps) which is
used in the document.

Ah, yes (and a similar point can be made about slanted/oblique (\sl). Many 
thanks for the clarification.

Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Applying \sc for smallcaps across styles

2023-08-19 Thread Hamid,Idris
On Aug 19, 2023, 1:01 PM -0600, Wolfgang Schuster 
, wrote:
** Caution: EXTERNAL Sender **

Hamid,Idris schrieb am 19.08.2023 um 20:36:
Many thanks. From font-pre.mkiv:

\definealternativestyle [\v!smallcaps] [\setsmallcaps] [\setsmallcaps]
:
\unexpanded\def\setsmallcaps{\doaddfeature{f:smallcaps}}

So on the wiki we should say that \sc is a deprecated/legacy command
that no longer makes sense in an opentype-features world. New users
should no longer use it.

It depends on the font, e.g. Latin Modern still requires \sc because it
provides a separate file for smallcaps but no smcp feature.

ConTeXt has a command which can be used to check whether the current
active font provides the smcp feature but the recommended way is to
choose a font which supports to method (\sc or \setsmallcaps) which is
used in the document.

Ah, yes (and a similar point can be made about slanted/oblique (\sl). Many 
thanks for the clarification.

Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Applying \sc for smallcaps across styles

2023-08-19 Thread Hamid,Idris
Many thanks, Pablo. Yes, you are right. As mentioned in the reply to Wolfgang, 
will edit the wiki to reflect the legacy\deprecated status of \sc.

As for grep: Normally I use the nice "find in files" feature of Notepad++ -)

Am editing the wiki and have moved the original link to the more general title

https://wiki.contextgarden.net/Small_caps_across_styles_(bold,_italics,_etc.)

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
On Aug 19, 2023, 11:39 AM -0600, Pablo Rodriguez , wrote:
** Caution: EXTERNAL Sender **

On 8/19/23 16:03, Hamid,Idris wrote:
[...]
Yes, there is an easy workaround:

\definefontfeature[smallcaps][smcp=yes]

Hi Idris,

just a minor comment.

This is already defined in lines 96-99 of font-pre.mkxl:

\definefontfeature
[smallcaps]
[always]
[smcp=yes]

And also in lines 77-82 of font-pre.mkiv:

\definefontfeature
[smallcaps]
[always]
[smcp=yes,
tlig=yes,
trep=yes] % texligatures=yes,texquotes=yes

Just in case it helps, grep is a useful tool when applied to
tex/texmf-context/tex/context/base/mkxl (or
/tex/texmf-context/tex/context/base/mkiv, if needed).

Cheers

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

maillist : ntg-context@ntg.nl / 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ntg.nl%2Fmailman%2Flistinfo%2Fntg-context=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C4659e610ef78482aa0c608dba0db41c1%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638280635786855448%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=O65qArrxT44MNSYNEi%2B7OsejORDTDLkZ5R7TtQIWyL4%3D=0
webpage : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pragma-ade.nl%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C4659e610ef78482aa0c608dba0db41c1%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638280635787011721%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=UC%2Fx86X%2BW2LZXIE56pCTGSRUB7rtvzLnrXjK%2FAJ26PA%3D=0
 / 
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcontext.aanhet.net%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C4659e610ef78482aa0c608dba0db41c1%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638280635787011721%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=hk3RuySs6VFwerUtJVUZPI9VRh3uy7Oi8%2FP7hCXusqI%3D=0
archive : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbitbucket.org%2Fphg%2Fcontext-mirror%2Fcommits%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C4659e610ef78482aa0c608dba0db41c1%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638280635787011721%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=%2F76KLSob%2BFKJBe0GNDYQbkQrocVRIRBjxVFRV4pkVVc%3D=0
wiki : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcontextgarden.net%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C4659e610ef78482aa0c608dba0db41c1%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638280635787011721%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=Vx7%2FNbHk0VmHlTYydydxk7NnB95LfrE%2BUaSsUJNnhsw%3D=0
___
___
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
___

[NTG-context] Re: Applying \sc for smallcaps across styles

2023-08-19 Thread Hamid,Idris
Many thanks. From font-pre.mkiv:

\definealternativestyle [\v!smallcaps] [\setsmallcaps] [\setsmallcaps]
:
\unexpanded\def\setsmallcaps{\doaddfeature{f:smallcaps}}

So on the wiki we should say that \sc is a deprecated/legacy command that no 
longer makes sense in an opentype-features world. New users should no longer 
use it.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
On Aug 19, 2023, 9:26 AM -0600, Wolfgang Schuster 
, wrote:

** Caution: EXTERNAL Sender **

Hamid,Idris schrieb am 19.08.2023 um 16:03:
Dear gang,

Consider the following typescript template:

\definefontfeature
  [myfont-tf-sc]
  [mode=node,script=latn,language=dflt,trep=no,
   protrusion=quality,expansion=quality,
   compose=yes,combine=yes,tlig=yes,
   kern=yes,liga=yes,onum=yes,cpsp=yes,smcp=yes, % smcp activie
   trnsl=force]

% synonym mapping
\starttypescript [serif] [myfont] [name]
  \loadfontgoodies[myfontlfg]
  \definefontsynonym [Serif]   [MyFontRegular][features=myfont-tf]
  \definefontsynonym [SerifItalic] [MyFontItalic] [features=myfont-it]
  \definefontsynonym [SerifBold]   [MyFontBold]   [features=myfont-tf]
  \definefontsynonym [SerifBoldItalic] [MyFontBoldItalic] [features=myfont-it]

  \definefontsynonym [SerifCaps]   [MyFontRegular]
[features=myfont-tf-sc]
  \definefontsynonym [SerifCapsItalic] [MyFontItalic] 
[features=myfont-it-sc]
  \definefontsynonym [SerifCapsBold]   [MyFontBold]   
[features=myfont-tf-sc]
  \definefontsynonym [SerifCapsBoldItalic] [MyFontBoldItalic] 
[features=myfont-it-sc]
\stoptypescript

% font mapping
\starttypescript [serif] [myfont]
  \loadfontgoodies[myfontlfg]
  \definefontsynonym [MyFontRegular] [file:MyFont-Regular] % 
[features=myfont-tf]
  \definefontsynonym [MyFontItalic]  [file:MyFont-It]  % 
[features=myfont-it]
  \definefontsynonym [MyFontBold][file:MyFont-Bold]% 
[features=myfont-tf]
  \definefontsynonym [MyFontBoldItalic]  [file:MyFont-BoldIt]  % 
[features=myfont-it]
\stoptypescript

As is well known, \sc selects the small caps only from the Serif font, not from 
SerifBold etc. But MyFont has smallcaps for every style. So in the typescript 
we make that explicit and apply the smcp=yes fontfeature to SerifCapsBold etc.

But this does not work: \sc still only applies to Serif or SerifCaps.

Now I can load a goodies file myfontlfg and do something like this:

local smallcaps = {
smcp = yes,
}

But that does not change the behavior of \sc.

Yes, there is an easy workaround:

\definefontfeature[smallcaps][smcp=yes]
\define\sc{\addff{smallcaps}}

This works for all styles that have the smcp feature, but I don't like having 
to redefine a system command.

So the questions are:

1) Is there a recommended\better way to get \sc to work across all styles?

\setupbodyfont[pagella]

\starttext

\tf Upright, \it Italic, \bf Bold and \bi Bolditalic

\style[style=smallcaps]{\tf Upright, \it Italic, \bf Bold and \bi Bolditalic}

\tf Upright, \it Italic, \bf Bold and \bi Bolditalic

\setsmallcaps\tf Upright, \it Italic, \bf Bold and \bi Bolditalic

\stoptext

___
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
___

[NTG-context] Applying \sc for smallcaps across styles

2023-08-19 Thread Hamid,Idris
Dear gang,

Consider the following typescript template:

\definefontfeature
  [myfont-tf-sc]
  [mode=node,script=latn,language=dflt,trep=no,
   protrusion=quality,expansion=quality,
   compose=yes,combine=yes,tlig=yes,
   kern=yes,liga=yes,onum=yes,cpsp=yes,smcp=yes, % smcp activie
   trnsl=force]

% synonym mapping
\starttypescript [serif] [myfont] [name]
  \loadfontgoodies[myfontlfg]
  \definefontsynonym [Serif]   [MyFontRegular][features=myfont-tf]
  \definefontsynonym [SerifItalic] [MyFontItalic] [features=myfont-it]
  \definefontsynonym [SerifBold]   [MyFontBold]   [features=myfont-tf]
  \definefontsynonym [SerifBoldItalic] [MyFontBoldItalic] [features=myfont-it]

  \definefontsynonym [SerifCaps]   [MyFontRegular]
[features=myfont-tf-sc]
  \definefontsynonym [SerifCapsItalic] [MyFontItalic] 
[features=myfont-it-sc]
  \definefontsynonym [SerifCapsBold]   [MyFontBold]   
[features=myfont-tf-sc]
  \definefontsynonym [SerifCapsBoldItalic] [MyFontBoldItalic] 
[features=myfont-it-sc]
\stoptypescript

% font mapping
\starttypescript [serif] [myfont]
  \loadfontgoodies[myfontlfg]
  \definefontsynonym [MyFontRegular] [file:MyFont-Regular] % 
[features=myfont-tf]
  \definefontsynonym [MyFontItalic]  [file:MyFont-It]  % 
[features=myfont-it]
  \definefontsynonym [MyFontBold][file:MyFont-Bold]% 
[features=myfont-tf]
  \definefontsynonym [MyFontBoldItalic]  [file:MyFont-BoldIt]  % 
[features=myfont-it]
\stoptypescript

As is well known, \sc selects the small caps only from the Serif font, not from 
SerifBold etc. But MyFont has smallcaps for every style. So in the typescript 
we make that explicit and apply the smcp=yes fontfeature to SerifCapsBold etc.

But this does not work: \sc still only applies to Serif or SerifCaps.

Now I can load a goodies file myfontlfg and do something like this:

local smallcaps = {
smcp = yes,
}

But that does not change the behavior of \sc.

Yes, there is an easy workaround:

\definefontfeature[smallcaps][smcp=yes]
\define\sc{\addff{smallcaps}}

This works for all styles that have the smcp feature, but I don't like having 
to redefine a system command.

So the questions are:

1) Is there a recommended\better way to get \sc to work across all styles?
2) Are there any edits you would recommend to the above typescript template?

Once we're clear on this, will update this quite obsolete page:
https://wiki.contextgarden.net/Bold_small_caps

Thank you in advance.

Best wishes
Idris

PS Sometimes these inquiries may appear more verbose than needed. That is 
because I'm trying to write as clearly as possible, not only for the experts 
and masters, but also for beginners and intermediate users who may run into 
these things one day, search the archives, etc..

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Some very simple cld - loading a module

2023-08-18 Thread Hamid,Idris
Wolfgang: Many thanks for the fix and for the detailed explanation, which was 
very helpful!

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
On Aug 18, 2023, 10:56 AM -0600, Wolfgang Schuster 
, wrote:
** Caution: EXTERNAL Sender **

Hamid,Idris schrieb am 18.08.2023 um 17:30:
Dear gang,

The following, simple MWE gives an undefined control sequence error:

===
% \usemodule[translate]
% \enableinputtranslation
\startluacode
-- context.usemodule({translate})
context.usemodule{translate}

context.usemodule({ "first" })

or

context.usemodule{ "first" }

context.enableinputtranslation()
context.darkgreen()
\stopluacode

\startTEXpage[offset=1em]

\translateinput[Hermes][Idris]

Hermes

\disableinputtranslation

Hermes

\stopTEXpage
===
tex error > tex error on line 14 in file ./test-luacode.tex:
Undefined control sequence


\translateinput
[Hermes][Idris]
===

The reason for the error is that the module is not being loaded.
Toggling back to context syntax, of course, works.

Reference: ConTeXt Lua Documents by Hans Hagen, page 22. The following
analogous code works:

\startluacode
context.startchapter{first}
\stopluacode

It doesn't work or at least it does not what you expect, the examples in
the manual pass strings ( "..." )
wherever text is expected while you pass a lua variable to the commands.
Passing variables only work
when the variable itself refers to a string, e.g.

translate = "translate"

Wolfgang

___
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
___

[NTG-context] Some very simple cld - loading a module

2023-08-18 Thread Hamid,Idris
Dear gang,

The following, simple MWE gives an undefined control sequence error:

===
% \usemodule[translate]
% \enableinputtranslation
\startluacode
-- context.usemodule({translate})
context.usemodule{translate}
context.enableinputtranslation()
context.darkgreen()
\stopluacode

\startTEXpage[offset=1em]

\translateinput[Hermes][Idris]

Hermes

\disableinputtranslation

Hermes

\stopTEXpage
===
tex error   > tex error on line 14 in file ./test-luacode.tex: Undefined 
control sequence


\translateinput
[Hermes][Idris]
===

The reason for the error is that the module is not being loaded. Toggling back 
to context syntax, of course, works.

Reference: ConTeXt Lua Documents by Hans Hagen, page 22. The following 
analogous code works:

\startluacode
context.startchapter{first}
\stopluacode

So how do we properly load the module from within a luacode environment?

Thank you in advance.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Optical scaling in Latin Modern

2023-08-15 Thread Hamid,Idris
Ah, the goodies files.. Got it and thanks for the clarifications.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
On Aug 15, 2023, 10:22 AM -0600, Hans Hagen , wrote:
** Caution: EXTERNAL Sender **

On 8/15/2023 5:33 PM, Hamid,Idris wrote:

so [\s!designsize=\s!auto] means there is no explicit call to lmroman8-regular 
etc.? Interesting..

check the lfg file ...
___
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
___

[NTG-context] Re: Optical scaling in Latin Modern

2023-08-15 Thread Hamid,Idris
On Aug 15, 2023, 8:56 AM -0600, Hans Hagen , wrote:

> afaik mkiv always had modern as default an dnot the designsize
> typescript (after all, we only have math 10pt)

From font-pre.mkiv:

%D By default we load the Computer Modern Roman fonts (but
%D not yet at this moment) and activate the 12pt roman
%D bodyfont.

-)

> well, in type-imp-latinmodern.mkiv i can find 'designsize' ... you're
> not relying on some gpt driven search machine are you?

No just the search files feature in Notepad++ -)

Ok, looking at type-imp-latinmodern.mkiv, under latin-modern-designsize, I see 
references to design weights and styles but not to optical sizes. So no 
lmroman5-regular, lmroman6-regular... lmroman17-regular. There is only 
reference to lmroman10, which is why my initial search came up with no results.

Ah, the abstraction happens here I think:

\definetypeface [\typescriptone] [\s!rm] [\s!serif] [latin-modern-designsize] 
[\s!default] [\s!designsize=\s!auto]

so [\s!designsize=\s!auto] means there is no explicit call to lmroman8-regular 
etc.? Interesting..

Ok, let's try it:

===
\setupbodyfont[modern-designsize]

\startTEXpage[offset=1em]
Test {\tfa Test} {\tfb Test} {\tfc Test} {\tfd Test} {\tfx Test} {\tfxx Test}
\stopTEXpage
===

Now we get

===
mkiv lua stats  > loaded fonts: 4 files: latinmodern-math.otf, 
lmroman10-regular.otf, lmroman12-regular.otf, lmroman8-regular.otf
===

So three optical sizes are implemented. But there should be more, e.g., \tfd 
should use lmroman17-regular etc.

>>> (likely we will go for \enableexperiments[fonts.compact] anyway which is
>>> also more efficient)

>>Ok, that would be very helpful; many thanks.

> it might process your arabic a bit faster

Ah, great. Am looking forward to learning how to 
\enableexperiments[fonts.compact] etc. once it's implemented.

Best wishes
Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Optical scaling in Latin Modern

2023-08-15 Thread Hamid,Idris
On Aug 15, 2023, 8:09 AM -0600, Hans Hagen , wrote:

> yes, but there are also typescript that define the sizes (made more
> sense on low res printers) .. the current defaults have been so for many
> years (so the fact that you didn't notice ...)

Maybe I forgot about it.. I seem to remember a very long time ago some 
experiments with typescripts for computer-modern opticals, before latin modern 
became default (it's all foggy now..)

But for sure ConTeXt used to load lmroman12-regular (or the computer-modern 12 
pt) by default. So things have changed..

> well you can load the design size typescript

Ok, where is that design size typescript? A search for, e.g., lmroman8-regular 
etc. in

texmf-context/tex/context/base/mkiv

yields no results, so it must be defined at some higher level of abstraction..


> (likely we will go for \enableexperiments[fonts.compact] anyway which is
> also more efficient)

Ok, that would be very helpful; many thanks.

Best wishes
Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Optical scaling in Latin Modern

2023-08-15 Thread Hamid,Idris
Dear gang,

It seems that ConTeXt does not currently implement optical scaling for Latin 
Modern -- at least not by default. For example:

===
\startTEXpage[offset=1em]
Test {\tfa Test} {\tfb Test} {\tfc Test} {\tfd Test} {\tfx Test} {\tfxx Test}
\stopTEXpage
===

In the log we have

===
mkiv lua stats  > loaded fonts: 2 files: latinmodern-math.otf, 
lmroman10-regular.otf
===

Is this behavior intentional? The needed sizes are certainly available 
(/texmf/fonts/data/gust/lm).

This issue came up while trying to test/implement something else. Although 
Computer Modern / Latin Modern is perhaps hardly popular for contemporary 
publication work, a full implementation of the full palette of optical sizes is 
still useful as a benchmark, etc.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Font switching, default features, and a request

2023-08-13 Thread Hamid,Idris
Dear gang,

Consider the following example:

==

\setupdirections[bidi=global,method=one]

\startTEXpage[offset=1em,width=14in]
\definedfont[almfixed*arabic]
\switchtobodyfont[almfixed*arabic]
\switchtobodyfont[almfixed]

% \addff{arabic}

\startbuffer[]
\startlines
الثَّعْلَبُ الْأَسْمَرُ السَّرِيعُ يَقْفِزُ فَوْقَ الْكَلْبِ الْكَسُولِ!
The quick brown fox jumps over the lazy dog!
\stoplines
\stopbuffer

{\tfxx \type{\tfxx} \getbuffer}

{\tfx \type{\tfx} \getbuffer}

\type{\tf} \getbuffer

{\tfa \type{\tfa} \getbuffer}

{\tfb \type{\tfb} \getbuffer}

{\tfc \type{\tfc} \getbuffer}

{\tfd \type{\tfd} \getbuffer}
\stopTEXpage
==

There are three font switches to choose from:

==
\definedfont[almfixed*arabic]
\switchtobodyfont[almfixed*arabic]
\switchtobodyfont[almfixed]
==

Let's toggle one at a time:

1) \definedfont[almfixed*arabic]

a) gives us the correct bidi output, but only for the \tf size
b) is ignored for every other size switch.

a) and b) are expected behavior.

2) \switchtobodyfont[almfixed]

a) gives us Arabic-script bidi output,
b) exhibits no Arabic-script features
c) gives the same result for each size switch

This means that the fontfeature "arabic" -- already predefined in ConTeXt 
(font-pre.mkiv) -- is not explicitly applied.

Curiously, invoking

\addff{arabic}

does not affect the output. Why is it that \addff{arabic} does not work here?

3) \switchtobodyfont[almfixed*arabic]

suppresses the font entirely and we're back to Latin Modern for all sizes. 
Assuming that this is expected behavior, it appears to follow that fontfeatures 
cannot be invoked for \switchtobodyfont and the like, only from within the 
typescript read by \switchtobodyfont etc.
===

REQUEST:

Since ALMFixed is already distributed with ConTeXt, could Hans make the 
fontfeature "arabic" default for this font? That is

\switchtobodyfont[almfixed]

should automatically

a) give us Arabic-script bidi output (already there),
b) exhibit Arabic-script features (missing)
c) gives the same result for each size switch (already there)

(Indeed, it would be useful to have *arabic-predefined typescripts/bodyfonts 
for a few other commonly available/used Arabic fonts as well. Would be willing 
to make a list at some point, test, etc.)

Thank you in advance for considering this request.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Scaling characters without font switching in CLD

2023-08-12 Thread Hamid,Idris
On Aug 12, 2023, 4:20 PM -0600, Hans Hagen , wrote:

> btw, no need for squeezine as there are virtual commands for scaling; not for 
> rotating

From your original CLD template:

local function topthing(characters,target,base,accent)
--if not characters[target] then
local data1 = characters[base]
local data2 = characters[accent]
if data1 and data2 then
characters[target] = { -- "Ḥ"
height   = (data1.height or 0) + 0.5*(data2.height or 0),
depth= data1.depth,
width= data1.width,
unicode  = target,
commands = {
{ "slot", 0, 0x048 },
{ "left", 0.5*(data2.width  or 0) + 0.5*(data1.width  or 0) 
},
{ "up",   0.5*(data2.height or 0) },
{ "slot", 0, 0x2D9, },
},
}
end
--end
end

What are the virtual commands for scaling? Can they be added under "commands =" 
in the above? Or will that have to go under another local function?

Of course, we may still have to insert the \symbol's for rotation, so perhaps 
better to stick with \symbol's for scaling as well (you know best).

Now that the \symbol's for the glottals have been defined with your second 
template, I need to figure out where/how to plug them into the CLD based on 
your first template.

Best wishes
Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

[NTG-context] Re: Scaling characters without font switching in CLD

2023-08-12 Thread Hamid,Idris
More precise \rlaps for the previous MWE:

\hbox{\rlap{\ruledhbox {\transparentgreen\tfx  c\symbol{glottalhamzah}c}}%
 \hskip-.075em \ruledhbox {\transparentred  c\symbol{glottalhamzah}c}}

\hbox{\rlap{\ruledhbox {\transparentgreen\tfx  c\symbol{glottalayn}c}}%
 \hskip-.075em \ruledhbox {\transparentred  c\symbol{glottalayn}c}}

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
On Aug 12, 2023, 4:11 PM -0600, Idris Samawi Hamid ادريس سماوي حامد 
, wrote:


 \hbox{\rlap{\ruledhbox {\transparentgreen\tfx  c\symbol{glottalhamzah}c}}%
\hskip-.09em \ruledhbox {\transparentred
c\symbol{glottalhamzah}c}}

 \hbox{\rlap{\ruledhbox {\transparentgreen\tfx  c\symbol{glottalayn}c}}%
 \ruledhbox {\transparentredc\symbol{glottalayn}c}}

:
Note the \rlap's (see attached pdf): we see that \tfx doesn't scale the 
\symbol, although \tfa and higher do work.
___
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
___

[NTG-context] Re: Scaling characters without font switching in CLD

2023-08-12 Thread Hamid,Idris
On Aug 12, 2023, 3:49 PM -0600, Hans Hagen , wrote:

> you'll figure it out, right?

I hope so and I'm working on it -- with your help -)

> the demo shows both: x/.y scaling and 90/180/270 rotation

Yes, here is what I have so far:

==
% % Hans' original template

% \startsetups glyph:iTee
 % \dontleavehmode\hpack\bgroup
 % \setbox\scratchbox \ruledhbox \bgroup
 % \glyphxscale 400
 % \glyphyscale 400
 % \getglyphstyled{Serif}{T}% choose a font here
 % \egroup
 % \scratchheight 2.75\ht\scratchbox
 % \boxyoffset\scratchbox\scratchheight
 % \boxorientation\scratchbox\plustwo
 % \ht\scratchbox\scratchheight
 % \box\scratchbox
 % \egroup
% \stopsetups

% \definesymbol
   % [iTee]
   % [\directsetup{glyph:iTee}]

% \startTEXpage [offset=1ts,width=2cm]
 % \ruledhbox {\tfx T \symbol{iTee}} \par
 % \ruledhbox {T  \symbol{iTee}} \par
 % \ruledhbox {\tfa T \symbol{iTee}} \par
 % \ruledhbox {\bfd T \symbol{iTee}}
% \stopTEXpage

\definefontsynonym[MinionRegular][MinionPro-Regular.otf*default]

\startsetups glyph:glottalhamzah
 \dontleavehmode\hpack\bgroup
 \setbox\scratchbox \ruledhbox \bgroup
 \glyphxscale 500
 \glyphyscale 500
 \getglyphstyled{MinionRegular}{c}% choose a font here
 \egroup
 \scratchheight 2.03\ht\scratchbox
 \boxyoffset\scratchbox\scratchheight
 \boxorientation\scratchbox\plustwo
 \ht\scratchbox\scratchheight
 \box\scratchbox
 \egroup
\stopsetups

\startsetups glyph:glottalayn
 \dontleavehmode\hpack\bgroup
 \setbox\scratchbox \ruledhbox \bgroup
 \glyphxscale 500
 \glyphyscale 500
 \getglyphstyled{MinionRegular}{c}% choose a font here
 \egroup
 \scratchheight 1.00\ht\scratchbox
 \boxyoffset\scratchbox\scratchheight
 % \boxorientation\scratchbox\plustwo
 \ht\scratchbox\scratchheight
 \box\scratchbox
 \egroup
\stopsetups

\definesymbol
   [glottalhamzah]
   [\directsetup{glyph:glottalhamzah}]

\definesymbol
   [glottalayn]
   [\directsetup{glyph:glottalayn}]

\definecolor [transparentgreen]  [g=1,t=.7,a=1]
\definecolor [transparentred][r=1,t=.7,a=1]
\definecolor [transparentyellow] [y=1,t=.7,a=1]

\startTEXpage [offset=1ts,width=2cm]
 \ruledhbox {\tfx  c\symbol{glottalhamzah}c} \par
 \ruledhbox   {c\symbol{glottalhamzah}c} \par
 \ruledhbox {\tfa  c\symbol{glottalhamzah}c} \par
 \ruledhbox {\bfd  c\symbol{glottalhamzah}c} \par

 \ruledhbox {\tfx  c\symbol{glottalayn}c} \par
 \ruledhbox   {c\symbol{glottalayn}c} \par
 \ruledhbox {\tfa  c\symbol{glottalayn}c} \par
 \ruledhbox {\bfd  c\symbol{glottalayn}c} \par

 \hbox{\rlap{\ruledhbox {\transparentgreen\tfx  c\symbol{glottalhamzah}c}}%
\hskip-.09em \ruledhbox {\transparentred
c\symbol{glottalhamzah}c}}

 \hbox{\rlap{\ruledhbox {\transparentgreen\tfx  c\symbol{glottalayn}c}}%
 \ruledhbox {\transparentredc\symbol{glottalayn}c}}
\stopTEXpage
==

Note the \rlap's (see attached pdf): we see that \tfx doesn't scale the 
\symbol, although \tfa and higher do work.

I guess fixing \tfx-symbol interaction will be part of your conversation with 
Wolfgang -)

> well, you wented symbols so

Ultimately I just want to be able to type the Unicode symbols for 02BE and 02BF 
-- ʾ and ʿ -- and get proper results. The overwhelming majority of hq fonts 
don't have them, and the few that do do them poorly, etc.

(So there is no substitute for full control of these transliteration 
characters.)

So even if we use symbols, would like to feed these setups to the CLD template 
you provided some days ago and feed the final result to \definefontfeature.
===

Best wishes
Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523


test-scaling-hans.pdf
Description: test-scaling-hans.pdf
___
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
___

[NTG-context] Re: Scaling characters without font switching in CLD

2023-08-12 Thread Hamid,Idris
On Aug 12, 2023, 2:11 PM -0600, Hans Hagen via ntg-context 
, wrote:
> impossible to reply as impossible to see what is your and mine text here

Hm.. This new/modern email client (forced to update by the university) supports 
inline replies, and I can see the levels, but the distinctions between levels 
of reply appears to get lost when filtered by the ntg-context list (looking at 
the archives). So here it is again, with levels of reply made explicit:

On Aug 12, 2023, 9:35 AM -0600, Hans Hagen , wrote:
** Caution: EXTERNAL Sender **

On 8/12/2023 4:03 PM, Hamid,Idris wrote:

>> \tfx causes a switch to computer modern.

> Indeed. Something I need to discuss with Wolfgang as double checking is 
> needed before I patch.

Ah.. ok.

>> But what if we want to scale independently of font switching?

> There is no need to go lua here (esp when you have not done vf magick
> before and i'm not going to debug code that i have little clue what it's
> about to do).

Many thanks. Part of the context is that I have some updatable mission-critical 
documents that depended on \defineactivecharacter, which is apparently 
deprecated in LMTX. See earlier thread with that subject line.

[BTW: Just this morning someone from the Persian Gulf asked for an updated 
version of a document whose compilation depended on \defineactivecharacter, so 
I need to get this working in the new regime -)]

Now the templates that you provided - many, many thanks! - have what is needed 
to care of everything except for two characters: 02BE and 02BF.

For one of those two remaining characters we also need scaling, for the other 
we also need scaling + rotation. It is not clear to me whether the 
scaling/rotation commands should fall under the character function, e.g.,

===
-- ʿ ringhalfleft
local function ringhalfleft (characters,target,base,accent)
===

the initialize function

===
local function initialize(tfmdata,value)
===

or whether we just make a new function altogether

===
local function scale (ringhalfleft)  -- shooting in the dark here
===

So the reason I said CLD is best is because we already defined all of the 
needed characters that way -- using your template -- except for these two, for 
which we need to add scaling and or rotation.

> The attached (linked in the previous email but attached here) gives us 
> rotation but no scaling.
> - we cheat here and yuse glyph scaled (I have to provide a relative to
> current x/y scaling, don't use \glyphscale as that one is used by
> context itself
> - we use the style variant so that it adapts
> - you have to replace "Serif" with "YourFont" and map that one onto a
> file (YourFont YourFontBold etc)
> - more about these box manipulations in the low level manual

Ok. Just discovered the 11 low-level manuals yesterday, not sure which one to 
focus on in this case -)

> \startsetups glyph:iTee
> \dontleavehmode\hpack\bgroup
> \setbox\scratchbox \ruledhbox \bgroup
> \glyphxscale 400
> \glyphyscale 400
> \getglyphstyled{Serif}{T}> choose a font here
> \egroup
> \scratchheight 2.75\ht\scratchbox
> \boxyoffset \scratchbox\scratchheight
> \boxorientation\scratchbox\plustwo
> \ht \scratchbox\scratchheight
> \box\scratchbox
> \egroup
> \stopsetups

> \definesymbol
> [iTee]
> [\directsetup{glyph:iTee}]

> \startTEXpage [offset=1ts,width=2cm]
> \ruledhbox {\tfx T \symbol{iTee}} \par
> \ruledhbox {T \symbol{iTee}} \par
> \ruledhbox {\tfa T \symbol{iTee}} \par
> \ruledhbox {\bfd T \symbol{iTee}}
> \stopTEXpage

Great, will study this. The challenge (for me) will be integrating this 
approach into the lua definitions of the two needed characters. With 
\defineactivecharacter deprecated, there seems to be no way other than CLD to 
make and register the needed macro for \definefontfeature -- and we want to 
move forward with the new regime and not look back.

With many thanks and much gratitude, Hans.

Best wishes
Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523

___
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
___

[NTG-context] Re: Scaling characters without font switching in CLD

2023-08-12 Thread Hamid,Idris
On Aug 12, 2023, 9:35 AM -0600, Hans Hagen , wrote:
** Caution: EXTERNAL Sender **

On 8/12/2023 4:03 PM, Hamid,Idris wrote:

\tfx causes a switch to computer modern.

Indeed. Something I need to discuss with Wolfgang as double checking is needed 
before I patch.

Ah.. ok.

But what if we want to scale independently of font switching?
There is no need to go lua here (esp when you have not done vf magick
before and i'm not going to debug code that i have little clue what it's
about to do).

Many thanks. Part of the context is that I have some updatable mission-critical 
documents that depended on \defineactivecharacter, which is apparently 
deprecated in LMTX. See earlier thread with that subject line.

[BTW: Just this morning someone from the Persian Gulf asked for an updated 
version of a document whose compilation depended on \defineactivecharacter, so 
I need to get this working in the new regime -)]

Now the templates that you provided - many, many thanks! - have what is needed 
to care of everything except for two characters: 02BE and 02BF.

For one of those two remaining characters we also need scaling, for the other 
we also need scaling + rotation. It is not clear to me whether the 
scaling/rotation commands should fall under the character function, e.g.,

===
-- ʿ ringhalfleft
local function ringhalfleft (characters,target,base,accent)
===

the initialize function

===
local function initialize(tfmdata,value)
===

or whether we just make a new function altogether

===
local function scale (ringhalfleft)  -- shooting in the dark here
===

So the reason I said CLD is best is because we already defined all of the 
needed characters that way -- using your template -- except for these two, for 
which we need to add scaling and or rotation.

The attached (linked in the previous email but attached here) gives us rotation 
but no scaling.
- we cheat here and yuse glyph scaled (I have to provide a relative to
current x/y scaling, don't use \glyphscale as that one is used by
context itself
- we use the style variant so that it adapts
- you have to replace "Serif" with "YourFont" and map that one onto a
file (YourFont YourFontBold etc)
- more about these box manipulations in the low level manual

Ok. Just discovered the 11 low-level manuals yesterday, not sure which one to 
focus on in this case -)
\startsetups glyph:iTee
\dontleavehmode\hpack\bgroup
\setbox\scratchbox \ruledhbox \bgroup
\glyphxscale 400
\glyphyscale 400
\getglyphstyled{Serif}{T}% choose a font here
\egroup
\scratchheight 2.75\ht\scratchbox
\boxyoffset \scratchbox\scratchheight
\boxorientation\scratchbox\plustwo
\ht \scratchbox\scratchheight
\box\scratchbox
\egroup
\stopsetups

\definesymbol
[iTee]
[\directsetup{glyph:iTee}]

\startTEXpage [offset=1ts,width=2cm]
\ruledhbox {\tfx T \symbol{iTee}} \par
\ruledhbox {T \symbol{iTee}} \par
\ruledhbox {\tfa T \symbol{iTee}} \par
\ruledhbox {\bfd T \symbol{iTee}}
\stopTEXpage

Great, will study this. The challenge (for me) will be integrating this 
approach into the lua definitions of the two needed characters. With 
\defineactivecharacter deprecated, there seems to be no way other than CLD to 
make and register the needed macro for \definefontfeature -- and we want to 
move forward with the new regime and not look back.

With many thanks and much gratitude, Hans.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523


transliteration--glottal-lua.pdf
Description: transliteration--glottal-lua.pdf


transliteration--glottal-lua.tex
Description: transliteration--glottal-lua.tex
___
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
___

[NTG-context] Scaling characters without font switching in CLD

2023-08-12 Thread Hamid,Idris
Dear gang,

I. In Context, as is well known, scaling a character is not independent of 
switching the font:

===
\startTEXpage[offset=1em]
\definefont[Times][times @ 14pt]
\Times Test \tfx Test
\setupinterlinespace

\Times Test \switchtobodyfont[x]Test

\Times Test \high{Test}
\stopTEXpage
===

\tfx causes a switch to computer modern.

Of course, with the right typescripts and \setupbodyfont, one can maintain 
stylistic consistency when switching fonts.

But what if we want to scale independently of font switching?

II. One approach might be to use symbols:

\startTEXpage
\definesymbol[Tee][\getglyph{times}{T}]
\symbol[Tee]est \tfx \symbol[Tee]est \tfa \symbol[Tee]est
\stopTEXpage

In this example, \tfa does scale the symbol Tee. But \tfx does not scale the 
symbol!

Why does \tfa (or higher such as \tfb etc.) work, but not \tfx (or lower)?

III. The best approach would be to do it in CLD (Context Lua Code). That is 
mostly beyond my skill to write from scratch without a template, but there are 
some experiments in the system file font-imp-effects.lua. There we will find, 
e.g.,

local specification = {
name= "extend",
description = "scale glyphs horizontally",
initializers = {
base = initializeextend,
node = initializeextend,
}
}

local specification = {
name= "squeeze",
description = "scale glyphs vertically",
initializers = {
base = initializesqueeze,
node = initializesqueeze,
}
}

This seems hopeful:

\definecolor [transparentgreen]  [g=1,t=.7,a=1]
\definecolor [transparentred][r=1,t=.7,a=1]
\definecolor [transparentyellow] [y=1,t=.7,a=1]

\startTEXpage[offset=1em]
\definefontfeature[scale][default][extend=yes,squeeze=yes]
\hbox{\rlap{\definedfont[times @ 14pt]\transparentgreen Test}%
\definedfont[times*scale @ 14pt]\transparentred Test}
\stopTEXpage

But there is no scaling of the character, extend=yes shifts the glyphs to the 
left, and squeeze=yes appears to do nothing at all.

Here is a file collecting these experiments:

https://www.dropbox.com/scl/fi/dggj3ypgjjeia1bo4eelb/test-scaling.tex?rlkey=hcky6ol594mw8u0j2j1z22heh=0
https://www.dropbox.com/scl/fi/o2u1tsq515ycyoeup43qg/test-scaling.pdf?rlkey=h7gof1vyq3r0bh72qynh71apc=0

IV. Objective:

I need to be able to define a couple of characters in CLD -- glottal stops --, 
and add commands to scale and/or rotate a character without triggering a font 
switch. Again, writing this from scratch is beyond my current skill set - 
although I've recently started to study CLD. Something like this -- some of the 
semantics is almost certainly wrong and/or clumsy -)

==
-- ʿ ringhalfleft
local function ringhalfleft (characters,target,base,accent)
--if not characters[target] then
local data1 = characters[base]
local data2 = characters[accent]
if data1 and data2 then
characters[target] = { -- "ʿ"
height   = data1.height,
depth= (data1.depth or 0) + 0.5*(data2.height or 0),
width= data1.width,
unicode  = target,
commands = {
{ "slot", 0, 0 },
{ "left", -0.5*(data2.width  or 0) + 0.5*(data2.width  or 
0)},
-- { "down", 0.2*(data2.height or 0) +   (data2.height or 
0) },
{ "up", 0.0*(data2.height or 0) +(data2.height or 
0) },
{ "slot", 0, 0x063, },
{ "squeeze", 0.75*(data2.height or 0) },
{ "extend",  0.75*(data2.width or 0) },
},
}
end
--end
end

-- ʾ ringhalfright
local function ringhalfright (characters,target,base,accent)
--if not characters[target] then
local data1 = characters[base]
local data2 = characters[accent]
if data1 and data2 then
characters[target] = { -- "ʾ"
height   = data1.height,
depth= (data1.depth or 0) + 0.5*(data2.height or 0),
width= data1.width,
unicode  = target,
commands = {
{ "slot", 0, 0 },
{ "left", -0.35*(data2.width  or 0) + 0.5*(data2.width  or 
0)},
{ "down", 0.0*(data2.height or 0) +   (data2.height or 
0) },
-- { "up", 0.0*(data2.height or 0) +   (data2.height or 0) 
},
{ "slot", 0, 0x063, },
{ "squeeze", 0.75*(data2.height or 0) },
{ "extend",  0.75*(data2.width or 0) },
},
}
end
--end
end

local function initialize(tfmdata,value)
if value then
-- Hdotbelow(tfmdata.characters,0x02BF,0x063,0) --
ringhalfleft (tfmdata.characters,0x02BF,0x063,0x063)
ringhalfright(tfmdata.characters,0x02BE,0x063,0x063)
   -- (i.e., tfmdata.characters,target,base,accent)
-- 

[NTG-context] Re: ideas for ConTeXt stickers?

2023-08-07 Thread Hamid,Idris
Dear gang, Henning,

That sample is... both culturally tasteless and aesthetically unpleasing.

Why not build on one of Duane Bibby's classic lions? -)

Best wishes

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
On Aug 7, 2023, 1:36 PM -0600, Hans Hagen via ntg-context , 
wrote:
** Caution: EXTERNAL Sender **

On 8/7/2023 8:28 PM, Thomas A. Schmitz wrote:
On 8/7/23 20:08, Hans van der Meer via ntg-context wrote:
> Please phrase your reaction differently. This is absolutely not about
> my sense of humor. But if you have observed the news media these last
> few years, you may have noticed how sensitive the public opinion has
> become about "humor" of this kind. I am afraid it could place the Tex
> community (for which I care) in a less favourable light.

I must say I agree with Hans van der Meer here. For me, this sounds like
middle school humor; I can't imagine any actual grown-up finding this
funny. But I'm overall not convinced that such stickers make our world a
better place. They have a tendency to wind up in places where you don't
want to see them. So my two cents on your question: don't. They're worse
than useless.
it's also ugly

Hans

-
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | 
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pragma-ade.nl%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C9a96f85cf07e46811a2508db977d8854%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638270337634097043%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=xanA7LBlzfSHMJnR7TQygZysxKisgRJQ6jCdt9I6MTo%3D=0
 | 
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pragma-pod.nl%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C9a96f85cf07e46811a2508db977d8854%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638270337634097043%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=NgcRUESCmP%2Bf4hpxrCSisHSrFAQyBQFMLykcFJzIPWI%3D=0
-

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

maillist : ntg-context@ntg.nl / 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ntg.nl%2Fmailman%2Flistinfo%2Fntg-context=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C9a96f85cf07e46811a2508db977d8854%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638270337634097043%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=dNfVy008kR0Y6hHD%2B010TO8Sm0rHbchJxc52xjrq1GQ%3D=0
webpage : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pragma-ade.nl%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C9a96f85cf07e46811a2508db977d8854%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638270337634097043%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=YsXWnr2VcNFupJhhDP8JjKIFxExU%2B2hp4LaGfCJIcv0%3D=0
 / 
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcontext.aanhet.net%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C9a96f85cf07e46811a2508db977d8854%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638270337634097043%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=HH1anR%2Fkrfa9TXltMw1x%2Fl7QwWq1rbnODLbZcmBcj0o%3D=0
archive : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbitbucket.org%2Fphg%2Fcontext-mirror%2Fcommits%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C9a96f85cf07e46811a2508db977d8854%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638270337634253349%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=dHeEdHVmz8g9s9sqLeWqfi3Gi64kkZq4R%2Bp4MLSocUE%3D=0
wiki : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcontextgarden.net%2F=05%7C01%7CIdris.Hamid%40ColoState.EDU%7C9a96f85cf07e46811a2508db977d8854%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C638270337634253349%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=XVax7Ms04embOelTvg%2B1JKzVujHldKW3Z7g0y5mYwJ0%3D=0
___
___
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
___

[NTG-context] Re: \defineactivecharacter in LMTX + composing characters

2023-08-02 Thread Hamid,Idris
On Aug 1, 2023, 10:09 AM -0600, Hans Hagen , wrote:
** Caution: EXTERNAL Sender **

On 8/1/2023 4:18 PM, Hamid,Idris wrote:
Dear gang,

It appears that \defineactivecharacter does not work in lmtx:

\starttext
\defineactivecharacter Ḥ {\d{H}}
\defineactivecharacter ḥ {\d{h}}
\defineactivecharacter Ṣ {\d{S}}
\defineactivecharacter ṣ {\d{s}}
\stoptext

This should not produce any typeset output but in lmtx it does.

Background: The following characters are essential for Arabic transliteration 
(assuming your email client has the chars):

Ṯṯ Ḥḥ Ḫḫ Ḏḏ Šš Ṣṣ Ḍḍ Ṭṭ Ẓẓ Ġġ Āā Īī Ūū ʿ ʾ
I'd use a different font but as you want to go cheap ... attached gets
you going and will give you a few hours playing around with fonts.

Many thanks. It would be great to see this developed into a module; see below:
Using a scaled c for some c like shape is kind of bad anyway, kind of
using a comma for an ogonek.

The issue is this: The use of 02BE and 02BF (ʿ ʾ) to transliterate the two 
glottal stops in Arabic is now standard in scholarship, but the default shape 
of these two characters is unattractive. So some typesetters began replacing 
the default half-ring looks with superscript 'c' and superscript mirrored c. 
Here is a article about this:

http://andreasmhallberg.github.io/typographyofaynandhamza/

Now, as the author notices, the TeX Gyre fonts render 02BE and 02BF as 
superscript 'c'. (That was added to TeX Gyre at our request many years ago.)

Linked below is a pdf that shows some font rendering of Latin Modern, Pagella, 
Brill - a nice gratis font for download but with a strange license, so 
dangerous to use for real work -, and Minion. It also includes a table of 
composition analysis for each of the transliteration characters.

https://www.dropbox.com/scl/fi/m1e3quht30auzi3rxyhzb/test-transliteration.pdf?rlkey=o18dlm85q2ie80iv0004lynlv=0

Here is the test string:

Ṯṯ Ḥḥ Ḫḫ Ḏḏ Šš Ṣṣ Ḍḍ Ṭṭ Ẓẓ Ġġ Āā Īī Ūū ʿ ʾ

ʿAyn QURʾĀN

The TeX Gyre fonts use superscript c; Brill tries to make the half-rings 
elegant, and Minion is missing many characters.

Another approach might be to use a breve shape (rotated 90 degrees in either 
direction) instead of superscript c to represent the half rings. In any case, a 
good module would facilitate exploration of such possibilities.

Thanks again, Hans.

Idris
--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523






___
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
___

[NTG-context] \defineactivecharacter in LMTX + composing characters

2023-08-01 Thread Hamid,Idris
Dear gang,

It appears that \defineactivecharacter does not work in lmtx:

\starttext
\defineactivecharacter Ḥ  {\d{H}}
\defineactivecharacter ḥ  {\d{h}}
\defineactivecharacter Ṣ  {\d{S}}
\defineactivecharacter ṣ  {\d{s}}
\stoptext

This should not produce any typeset output but in lmtx it does.

Background: The following characters are essential for Arabic transliteration 
(assuming your email client has the chars):

Ṯṯ Ḥḥ Ḫḫ Ḏḏ Šš Ṣṣ Ḍḍ Ṭṭ Ẓẓ Ġġ Āā Īī Ūū ʿ ʾ

But most really good fonts don't have them, so we have to compose them. Now 
there are other methods, e.g,

1) \definecharacter Hbottomdot  {\buildtextbottomdot H}

but cannot use it without something like \defineactivecharacter (there's no way 
we're going back to the bad old days of control sequences for accented chars). 
That is, we need to be able to say something like

\definecharacter Ḥ  {\buildtextbottomdot H}

But this doesn't work.

The other method

2) \definefontfeature[default][default][compose=yes]

doesn't appear to work either (at least not with, e.g., Minion Pro Opticals).

And even when it used to (somewhat) work (often ugly default results) it did 
not support utf 02BE and 02BF (ʿ ʾ). So we still need something like

\defineactivecharacter ʿ {\high{c}}
\defineactivecharacter ʾ {\kern.07 em 
\high{\rotate[rotation=180,location=high]{c}}}

or better

\definecharacter ʿ {\high{c}}
\definecharacter ʾ {\kern.07 em \high{\rotate[rotation=180,location=high]{c}}}

The upshot is that we need a general, configurable solution for this kind of 
situation.

And please don't say, "Use a different font!" -)

Thank you in advance for any guidance and assistance in this matter.

Best wishes
Idris

--
Professor Idris Samawi Hamid
Department of Philosophy
Colorado State University
Fort Collins, CO 80523
___
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
___

Re: [NTG-context] Forbid footnotes from splitting across pages

2022-08-03 Thread Hamid,Idris via ntg-context
Dear Pablo,

Many thanks and apologies for top-posting: my normal email client is currently 
down.

I thought of something similar; after some testing, this is what I finally came 
up with:

\setupwhitespace[medium]
\setupnotation[footnote]
 [before={%
  
\startframedtext[none][frame=on,offset=none,width=\textwidth,style={\setupwhitespace[medium]}]},
  after={\stopframedtext\blank[medium]}]

\starttext
\input ward\
\startfootnote
\input knuth
\stopfootnote{}
\dorecurse{3}{\input ward\ }
\startfootnote
\input knuth
\stopfootnote{}
\dorecurse{2}{\input ward\ }
\startfootnote
\input knuth
\stopfootnote{}
\dorecurse{3}{\input ward\ }
\startfootnote
\input knuth
\stopfootnote{}
\stoptext

It works but there must be a cleaner way..

Observation: The first argument of  \startframedtext is important, otherwise 
too much extra space is generated -- not sure why but the 
\startframedtext[none] suppresses it.

Endnotes are evil 

But the reason for this is that I'm converting to WORD using Abobe and 
NitroPDF, and I'm trying to make things as easy for the editor of the book as 
easy as possible. The conversion will look right but the dozens of footnotes 
will, of course, be unlinked. If no footnote crosses the page it will be easier 
to edit in WORD -- which I'm not touching!

Thanks again.

Best wishes
Idris
--
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80523


From: ntg-context  on behalf of Pablo Rodriguez via 
ntg-context 
Sent: Wednesday, August 3, 2022 7:47 AM
To: Idris Samawi Hamid ادريس سماوي حامد via ntg-context 
Cc: Pablo Rodriguez 
Subject: Re: [NTG-context] Forbid footnotes from splitting across pages

** Caution: EXTERNAL Sender **

On 8/3/22 03:05, Idris Samawi Hamid ادريس سماوي حامد via ntg-context wrote:
> Dear gang,
>
> Objectives:
>
> i)  Prevent footnotes from splitting across a page or pagebreak

Dear Idris,

I wonder whether a \framed[offset=none, frame=off, width=\textwidth]
would make sense here.

At least, it would prevent page breaks.

> ii) Make sure that the footnote reference number in the main text is
> always on the same page as the footnote.

\setupnote[footnote][split=verystrict, scope=text] might help here.

But it cannot achieve what is practically impossible:

  \setupnote[footnote][split=verystrict, scope=text]

  \starttext
  \dorecurse{25}
{ab cd ef\footnote{\input{knuth}}}
  \stoptext

I know that this depends from the publisher, but in these cases endnotes
are a way more viable option.

Just in case it might help,

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

maillist : ntg-context@ntg.nl / 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ntg.nl%2Fmailman%2Flistinfo%2Fntg-contextdata=05%7C01%7CIdris.Hamid%40ColoState.EDU%7Ca35bc09dc2a64a5a81ed08da7556aca9%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637951312414526695%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7Csdata=53R%2FGoQs03xamwTP1AaSV%2Flz0ANPdXq%2BScb8LWrCKDY%3Dreserved=0
webpage  : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pragma-ade.nl%2Fdata=05%7C01%7CIdris.Hamid%40ColoState.EDU%7Ca35bc09dc2a64a5a81ed08da7556aca9%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637951312414526695%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7Csdata=d0in%2BCdHvJmM4%2FLLb4TSe3HLoUTGm3SV9VWckCFge8c%3Dreserved=0
 / 
https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcontext.aanhet.net%2Fdata=05%7C01%7CIdris.Hamid%40ColoState.EDU%7Ca35bc09dc2a64a5a81ed08da7556aca9%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637951312414526695%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7Csdata=0ROMr0be%2Fcjjn7%2B84joQS6VN40i%2BkhEKytb%2FOYfT7Tk%3Dreserved=0
archive  : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbitbucket.org%2Fphg%2Fcontext-mirror%2Fcommits%2Fdata=05%7C01%7CIdris.Hamid%40ColoState.EDU%7Ca35bc09dc2a64a5a81ed08da7556aca9%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637951312414526695%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7Csdata=KvquRtfyCxBeYRNGwgcjIfJJcc2VFzgMrVblnqx5IiU%3Dreserved=0
wiki : 
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcontextgarden.net%2Fdata=05%7C01%7CIdris.Hamid%40ColoState.EDU%7Ca35bc09dc2a64a5a81ed08da7556aca9%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637951312414526695%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7Csdata=2I9Ld7VLXQUlPOAo96PnWx3ITOX%2BS0arKW%2FIuPpWvRg%3Dreserved=0
___

Re: [NTG-context] PDF viewer poll

2019-10-14 Thread Hamid,Idris
Hi Henning, all,

On Sun, 13 Oct 2019 04:43:14 -0600, Henning Hraban Ramm   
wrote:

> Hi, I’d like to update my list of (usable!) PDF viewers.
> Which one do you use? (Current version?)
> What are its pros and cons?
> Is it free (open source, freeware)?
> Does it work on Win/Lin/Mac?
> Does it have a localized interface? (I don’t care, but I work with  
> people who don’t understand a lot of English.)
> Can it handle comments, attachments?
> Can it handle forms with or without JavaScript?
> Does it support SyncTeX? (Who uses that anyway?)
> Does it update changed PDFs on its own (or does it even block  
> overwriting)?
> Which other features are essential for your choice?
>
> E.g. I’m working with:
> - Preview.app (Mac)
>   Default on MacOS, fast & easy. No JS, bad forms support, updates  
> "sometimes". Usable as a previewer, not as a PDF toolbox.
> - Adobe Reader DC (Mac)
>   I use it only to check forms or as reference. Unusable GUI.
> - Acrobat Pro 9 (Mac)
>   Was my workhorse, but works on MacOS Mojave only partly; slow &  
> crash-prone; no updates. Can check PDF/X<4 and convert colors.
> - PDF Studio Pro (on Mac & Linux)
>   Bought to replace AcroPro9; JS support broken; slow startup; no  
> updates. Can check PDF/X, A, UA and convert colors.
>   Ok with forms, but doesn’t support LiveCycle forms (deprecated, but  
> used by German boards).
> - Qpdfview (Linux)
>   Fast and easy; reliably updates.
> - PDF.js (Browser or Atom)
>   Is said to do SyncTeX (never tried). Easy, but slow. Updates.

On Windows:

For a ConTeXt workflow, sumatrapdf, for all the reasons mentioned by Hans  
and others. Works well with SyncTeX and Notepad++.

As a commercial replacement to Adobe Acroboat, nothing beats NitroPDF.  
Clean interface. Avoids most if not all of the problems mentioned by Hans.

University machine has Acrobat, so for pdf manipulation beyond the  
capabilities of sumatrapdf: mostly Acrobat at school and NitroPDF at home.

Best wishes
Idris
-- 
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80512
___
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
___


[NTG-context] XML Export: Suppressing Presentation Forms in Arabic Script Fonts

2019-06-19 Thread Hamid,Idris
Dear gang,

Just documented the following in the wiki:

https://wiki.contextgarden.net/Export#Suppressing_Presentation_Forms_in_Arabic_Script_Fonts

For those who use certain commercial Arabic-script fonts with XML export:  
In the course of ConTeXt processing, many standard codepoints from the  
U+600 block are substituted with those from a subset of Presentation Forms  
B, which breaks the input in critical ways.

Many thanks to Hans for pointing out this simple way to solve the issue.  
For details, see the link above.

Best wishes
Idris
-- 
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80512
___
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
___


Re: [NTG-context] Unicode mathematics in ConTeXt

2019-05-04 Thread Hamid,Idris
On Sat, 04 May 2019 04:32:19 -0600, Wolfgang Schuster
 wrote:

> Hi Idris,
>
> please read this: https://www.w3.org/TR/unicode-xml/#Superscripts

Many thanks. The issue is clearer now, e.g.,

===
When used in mathematical context (MathML) it is recommended to
consistently use style markup for superscripts and subscripts. This is
because mathematical layout allows not just individual symbols, but entire
expressions to be superscripted or subscripted in a regular, nested manner.
===

Of course, consistent use of style markup means that we can't naively
extract superscript text from the pdf, e.g., \CATCA becomes 퓒nt.

OTOH, issues 4.i and 4.ii below are still perplexing. Are there any
workarounds?

Thanks again.

Best wishes
Idris

> Hamid,Idris schrieb am 03.05.2019 um 21:40:
>> Dear gang,
>>
>> Ok, I've made some progress:
>>
>> 1. tex-gyre etc. *do* support Unicode mathematics, but the version of
>> ConTeXt I was using had produced the wrong encoding in the pdf output.  
>> For
>> example, U+1D4D2 (퓒) in the input was being mapped to U+2D4D2 in the
>> output.
>>
>> Updating to the latest beta appears to have fixed this issue.
>>
>> 2. tex-gyre etc. appears to be missing some superscript characters,  
>> e.g.,
>> ⁿ (U+207F).
>>
>> 3. New example:
>>
>> ===
>> \setupbodyfont
>> [cambria,12pt]
>> % [pagella,12pt]
>> % [times,12pt]
>>
>> % \starttext
>> \startTEXpage
>> \def\ANTI{{^{\rm nt}}}
>> \def\ANTIU{{^{\rm ⁿᵗ}}}
>>
>> \def\CATCA{$\cal \bf C\ANTI$}
>> \def\CATCAU{$퓒\ANTIU$}
>>
>> 퓒 \CATCA \CATCAU
>> \stopTEXpage
>> % \stoptext
>> ===
>>
>> \CATCAU and \ANTIU use Unicode characters and superscripts directly,
>> instead of the old TeX method.
>>
>> 4. Issues. In the pdf output of \CATCAU:
>> i)   Why does ConTeXt make the second superscript larger than the first?
>> ii)  If one copies the text of the pdf output to an editor - even this
>> email client - the second superscript moves to a new line:
>>
>> 퓒 ⁿ
>> t
>>
>> Why does this happen? Is this a bug?
>>
>> 5. Here is what we want: 퓒 ⁿᵗ
>>
>> What is the proper or best way to get a character-superscript  
>> combination
>> in ConTeXt whose output can be copied and pasted to an editor and give  
>> the
>> correct result? What am I missing?
>>
>> Thank you in advance.
>>
>> Best wishes
>> Idris
>>
>> On Wed, 01 May 2019 14:58:06 -0600, Hamid,Idris
>>  wrote:
>>
>>> Dear gang,
>>>
>>> I need to convert a document from TeX-style to Unicode mathematics. For
>>> example:
>>>
>>> \starttext
>>> \def\ANTI{{^{\rm nt}}}
>>> \def\CATCA{$\cal \bf C\ANTI$}
>>>
>>> \CATCA
>>> \stoptext
>>>
>>> Issues:
>>>
>>> 1. I need calligraphic characters, but the relevant characters in
>>> latinmodern-math.otf are not encoded in (standard) Unicode. The same  
>>> goes
>>> for the tex-gyre-math fonts.
>>>
>>> 2. What comprehensive unicode-math fonts do you recommend as an
>>> alternative?
>>>
>>> 3. In the above example, \cal is used.
>>>
>>> 4. Other issues may arise, e.g., getting subscripts and superscripts
>>> correct. How might one rewrite the above with Unicode mathematics in
>>> mind?
>>> Is there a My Way or some other guide to Unicode mathematics in  
>>> ConTeXt?
>>>
>>> This writer has never had to think about this matter before so this is
>>> all
>>> new ground to learn. Thank you in advance for any guidance.
>>>
>>> Best wishes
>>> Idris
-- 
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80512
___
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
___


Re: [NTG-context] Unicode mathematics in ConTeXt

2019-05-03 Thread Hamid,Idris
Dear gang,

Ok, I've made some progress:

1. tex-gyre etc. *do* support Unicode mathematics, but the version of  
ConTeXt I was using had produced the wrong encoding in the pdf output. For  
example, U+1D4D2 (퓒) in the input was being mapped to U+2D4D2 in the  
output.

Updating to the latest beta appears to have fixed this issue.

2. tex-gyre etc. appears to be missing some superscript characters, e.g.,  
ⁿ (U+207F).

3. New example:

===
\setupbodyfont
   [cambria,12pt]
   % [pagella,12pt]
   % [times,12pt]

% \starttext
\startTEXpage
\def\ANTI{{^{\rm nt}}}
\def\ANTIU{{^{\rm ⁿᵗ}}}

\def\CATCA{$\cal \bf C\ANTI$}
\def\CATCAU{$퓒\ANTIU$}

퓒 \CATCA \CATCAU
\stopTEXpage
% \stoptext
===

\CATCAU and \ANTIU use Unicode characters and superscripts directly,  
instead of the old TeX method.

4. Issues. In the pdf output of \CATCAU:
i)   Why does ConTeXt make the second superscript larger than the first?
ii)  If one copies the text of the pdf output to an editor - even this  
email client - the second superscript moves to a new line:

퓒 ⁿ
t

Why does this happen? Is this a bug?

5. Here is what we want: 퓒 ⁿᵗ

What is the proper or best way to get a character-superscript combination  
in ConTeXt whose output can be copied and pasted to an editor and give the  
correct result? What am I missing?

Thank you in advance.

Best wishes
Idris

On Wed, 01 May 2019 14:58:06 -0600, Hamid,Idris  
 wrote:

> Dear gang,
>
> I need to convert a document from TeX-style to Unicode mathematics. For
> example:
>
> \starttext
> \def\ANTI{{^{\rm nt}}}
> \def\CATCA{$\cal \bf C\ANTI$}
>
> \CATCA
> \stoptext
>
> Issues:
>
> 1. I need calligraphic characters, but the relevant characters in
> latinmodern-math.otf are not encoded in (standard) Unicode. The same goes
> for the tex-gyre-math fonts.
>
> 2. What comprehensive unicode-math fonts do you recommend as an
> alternative?
>
> 3. In the above example, \cal is used.
>
> 4. Other issues may arise, e.g., getting subscripts and superscripts
> correct. How might one rewrite the above with Unicode mathematics in  
> mind?
> Is there a My Way or some other guide to Unicode mathematics in ConTeXt?
>
> This writer has never had to think about this matter before so this is  
> all
> new ground to learn. Thank you in advance for any guidance.
>
> Best wishes
> Idris


-- 
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80512

scratch.pdf
Description: scratch.pdf


scratch.tex
Description: scratch.tex
___
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
___


[NTG-context] Unicode mathematics in ConTeXt

2019-05-01 Thread Hamid,Idris
Dear gang,

I need to convert a document from TeX-style to Unicode mathematics. For  
example:

\starttext
\def\ANTI{{^{\rm nt}}}
\def\CATCA{$\cal \bf C\ANTI$}

\CATCA
\stoptext

Issues:

1. I need calligraphic characters, but the relevant characters in  
latinmodern-math.otf are not encoded in (standard) Unicode. The same goes  
for the tex-gyre-math fonts.

2. What comprehensive unicode-math fonts do you recommend as an  
alternative?

3. In the above example, \cal is used.

4. Other issues may arise, e.g., getting subscripts and superscripts  
correct. How might one rewrite the above with Unicode mathematics in mind?  
Is there a My Way or some other guide to Unicode mathematics in ConTeXt?

This writer has never had to think about this matter before so this is all  
new ground to learn. Thank you in advance for any guidance.

Best wishes
Idris
-- 
Idris Samawi Hamid, Professor
Department of Philosophy
Colorado State University
Fort Collins, CO 80512

scratch.pdf
Description: scratch.pdf


scratch.tex
Description: scratch.tex
___
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
___