ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Fallback fails for Linux Libertine O to Junicode over private area, debugging?
@ 2022-01-07 15:18 J. P. Ascher via ntg-context
  2022-01-07 16:52 ` Youssef Cherem via ntg-context
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: J. P. Ascher via ntg-context @ 2022-01-07 15:18 UTC (permalink / raw)
  To: ntg-context; +Cc: J. P. Ascher

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

Hi, all,

I'm a long time lurker (on gmane), first time poster. First, thank you
all, very much, for your excellent work and superb community.
ConTeXt has become a critical part of my academic writing and integral
to my research.  I'm not exaggerating when I say it changed how
I thought about texts and became a major source for my dissertation
work.  Thank you!

I'm trying to get a typescript for setting a text in Libertine with
Junicode fallbacks for characters in MUFI, in the private use area.
For some reason Libertine roman will not fallback no matter what
I do. However Libertine italic will.  I can also work around it by using
Junicode as a base and forcing fallback to Libertine.

My question is: why?  What's wrong with Libertine roman?  Or my approach?

My hypothesis is that there's something about `LinLibertine_R.otf`
that's not quite right.  I looked in FontForge, but couldn't
spot anything.

Does anyone have a suggestion as to another place to look?  Or something
I'm overlooking?

Minimal example (attached too, if it comes through):

```
\definefontfeature[default][default][script=latn]


% Libertine with a Junicode fallback, lib-fb-jun

\definefontfallback[junicodefallback][name:Junicode][privateusearea][check=yes,force=no]

\starttypescript [serif] [lib-fb-jun]
  \definefontsynonym [Libertine-Roman]     [file:linlibertiner]
  \definefontsynonym [Libertine-Slanted]  [file:linlibertineri]  % works fine
\stoptypescript
 
\starttypescript [serif] [lib-fb-jun] [name]
  \definefontsynonym [Serif]            [Libertine-Roman]   [features=default,fallbacks=junicodefallback]
  \definefontsynonym [SerifSlanted]     [Libertine-Slanted] [features=default,fallbacks=junicodefallback]
\stoptypescript
 
\starttypescript [lib-fb-jun]
  \definetypeface [lib-fb-jun] [rm] [serif] [lib-fb-jun] [default]
\stoptypescript


% Junicode with Libertine as a fallback, preferring Libertine, jun-pr-lib
% this hack does what I want the above to do

\definefontfallback[preferlibertine][name:linlibertineo][0-FFFFF][check=yes,force=yes]

\starttypescript[serif] [jun-pr-lib]
   \definefontsynonym [JunicodeRoman] [name:Junicode]
\stoptypescript

\starttypescript[serif] [jun-pr-lib] [name]
   \definefontsynonym [Serif] [JunicodeRoman] [fallbacks=preferlibertine]
\stoptypescript

\starttypescript [jun-pr-lib]
  \definetypeface [jun-pr-lib] [rm] [serif] [jun-pr-lib] [default]
\stoptypescript


% some tracking stuff

\enabletrackers[fonts.missing=replace]
\enabledirectives[logs.errors]


% text, we use lib-fb-jun first, then jun-pr-lib

\starttext
\setupbodyfont[lib-fb-jun]

{\em emph. lib-fb-jun: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs)}

lib-fb-jun: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs)  % <- fallback fails here

\switchtobodyfont[jun-pr-lib]

jun-pr-lib: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs) % <- works

\stoptext
```

Any ideas?

Most warmly,
-jp

-- 
J. P. Ascher
Preceding: https://doi.org/10.18130/jqpe-zc65
Current: http://www.bibsoc.org.uk/content/2020-2021-0


[-- Attachment #2: min.log --]
[-- Type: application/octet-stream, Size: 9153 bytes --]

open source     > level 1, order 1, name '/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv'
system          > 
system          > ConTeXt  ver: 2021.03.05 19:11 MKIV  fmt: 2021.4.3  int: english/english
system          > 
system          > 'cont-new.mkiv' loaded
open source     > level 2, order 2, name '/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/cont-new.mkiv'
system          > beware: some patches loaded from cont-new.mkiv
close source    > level 2, order 2, name '/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/cont-new.mkiv'
system          > files > jobname 'min', input './min', result 'min'
fonts           > latin modern fonts are not preloaded
languages       > language 'en' is active
open source     > level 2, order 3, name '/Users/james/Documents/Professional/2022 Spring/MLA TALK/query-to-listserv/min.tex'
fonts           > preloading latin modern fonts (second stage)
fonts           > defining > font 'lmroman12-regular', feature 'locl', script 'latn', no language 'dflt'
fonts           > 'fallback modern-designsize rm 12pt' is loaded
fonts           > defining > font 'linlibertiner', feature 'locl', script 'latn', no language 'dflt'
fonts           > defining > font 'linlibertiner', feature 'locl', script 'cyrl', no language 'dflt'
fonts           > defining > font 'linlibertineri', feature 'locl', script 'latn', no language 'dflt'
fonts           > defining > font 'linlibertineri', feature 'locl', script 'cyrl', no language 'dflt'
fonts           > checking > char  (U+0EEC5) in font 'Linux Libertine O' with id 8: missing
backend         > xmp > using file '/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml'
pages           > flushing realpage 1, userpage 1, subpage 1
close source    > level 2, order 3, name '/Users/james/Documents/Professional/2022 Spring/MLA TALK/query-to-listserv/min.tex'
close source    > level 1, order 3, name '/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv'

system          > start used files

system          > text: min

system          > stop used files


system          > start used files

system          >    1: filename=char-prv.lua filetype=tex format=tex foundname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/char-prv.lua fullname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/char-prv.lua usedmethod=database
system          >    2: filename=cont-yes.mkiv filetype=tex foundname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv fullname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/cont-yes.mkiv usedmethod=database
system          >    3: filename=publ-imp-default.lua filetype=scripts foundname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/publ-imp-default.lua fullname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/publ-imp-default.lua usedmethod=database
system          >    4: filename=cont-new.mkiv filetype=tex foundname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/cont-new.mkiv fullname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/cont-new.mkiv usedmethod=database
system          >    5: filename=lang-exc.lua filetype=scripts foundname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/lang-exc.lua fullname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/lang-exc.lua usedmethod=database
system          >    6: filename=lang-us.lua filetype=scripts foundname=/usr/local/texlive/2021/texmf-dist/tex/context/patterns/mkiv/lang-us.lua fullname=/usr/local/texlive/2021/texmf-dist/tex/context/patterns/mkiv/lang-us.lua usedmethod=database
system          >    7: filename=/Users/james/Documents/Professional/2022 Spring/MLA TALK/query-to-listserv/min.tex foundname=/Users/james/Documents/Professional/2022 Spring/MLA TALK/query-to-listserv/min.tex fullname=/Users/james/Documents/Professional/2022 Spring/MLA TALK/query-to-listserv/min.tex usedmethod=direct
system          >    8: filename=lm.lfg filetype=tex foundname=/usr/local/texlive/2021/texmf-dist/tex/context/fonts/mkiv/lm.lfg fullname=/usr/local/texlive/2021/texmf-dist/tex/context/fonts/mkiv/lm.lfg usedmethod=database
system          >    9: filename=lmroman12-regular filetype=otf format=otf foundname=/usr/local/texlive/2021/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf fullname=/usr/local/texlive/2021/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf usedmethod=database
system          >   10: filename=latinmodern-math.otf filetype=opentypefonts foundname=/usr/local/texlive/2021/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf fullname=/usr/local/texlive/2021/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf usedmethod=database
system          >   11: filename=LinLibertine_R.otf filetype=otf format=otf foundname=/usr/local/texlive/2021/texmf-dist/fonts/opentype/public/libertine/LinLibertine_R.otf fullname=/usr/local/texlive/2021/texmf-dist/fonts/opentype/public/libertine/LinLibertine_R.otf usedmethod=database
system          >   12: filename=Junicode.ttf filetype=ttf format=ttf foundname=/usr/local/texlive/2021/texmf-dist/fonts/truetype/public/junicode/Junicode.ttf fullname=/usr/local/texlive/2021/texmf-dist/fonts/truetype/public/junicode/Junicode.ttf usedmethod=database
system          >   13: filename=LinLibertine_RI.otf filetype=otf format=otf foundname=/usr/local/texlive/2021/texmf-dist/fonts/opentype/public/libertine/LinLibertine_RI.otf fullname=/usr/local/texlive/2021/texmf-dist/fonts/opentype/public/libertine/LinLibertine_RI.otf usedmethod=database
system          >   14: filename=pdftex.map filetype=map format=map foundname=/usr/local/texlive/2021/texmf-var/fonts/map/pdftex/updmap/pdftex.map fullname=/usr/local/texlive/2021/texmf-var/fonts/map/pdftex/updmap/pdftex.map usedmethod=database
system          >   15: filename=lpdf-pdx.xml filetype=tex foundname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml fullname=/usr/local/texlive/2021/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml usedmethod=database

system          > stop used files


system          > start commandline options

system          > currentrun="1"
system          > fulljobname="./min.tex"
system          > input="./min.tex"
system          > kindofrun="1"
system          > maxnofruns="9"
system          > texmfbinpath="/usr/local/texlive/2021/bin/universal-darwin"

system          > stop commandline options


system          > start commandline files

system          >    1: ./min.tex

system          > stop commandline files


modules         > start used modules


modules         > stop used modules


fonts           > start missing characters: /usr/local/texlive/2021/texmf-dist/fonts/opentype/public/libertine/LinLibertine_R.otf

fonts           >    2  U+0EEC5    PRIVATE SLOT

fonts           > stop missing characters


mkiv lua stats  > used config file: selfautoparent:/texmfcnf.lua;selfautoparent:/texmf-dist/web2c/texmfcnf.lua
mkiv lua stats  > used cache path: readable+writable: '/Users/james/Library/texlive/2021/texmf-var/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9'
mkiv lua stats  > resource resolver: loadtime 0.054 seconds, 1 scans with scantime 0.000 seconds, 0 shared scans, 15 found files, scanned paths: /Users/james/Library/texmf
mkiv lua stats  > stored bytecode data: 454 modules (0.143 sec), 96 tables (0.006 sec), 550 chunks (0.149 sec)
mkiv lua stats  > traced context: maxstack: 1420, freed: 0, unreachable: 1420
mkiv lua stats  > cleaned up reserved nodes: 57 nodes, 9 lists of 442
mkiv lua stats  > node memory usage: 11 attribute, 4 attribute_list, 1 glue, 51 glue_spec, 3 kern, 2 penalty, 2 temp, 2 user_defined
mkiv lua stats  > node list callback tasks: 8 unique task lists, 7 instances (re)created, 50 calls
mkiv lua stats  > driver time: 0.045 seconds 
mkiv lua stats  > used backend: pdf (backend for directly generating pdf output)
mkiv lua stats  > jobdata time: 0.000 seconds saving, 0.000 seconds loading
mkiv lua stats  > callbacks: internal: 178, file: 121, direct: 2, late: 0, function 897, total: 1198 (1198 per page)
mkiv lua stats  > randomizer: resumed with value 0.36474906746298
mkiv lua stats  > result saved in file: min.pdf, compresslevel 3, objectcompresslevel 1
mkiv lua stats  > loaded patterns: en::1, load time: 0.000
mkiv lua stats  > loaded fonts: 5 files: linlibertine_r.otf, linlibertine_ri.otf, latinmodern-math.otf, lmroman12-regular.otf, junicode.ttf
mkiv lua stats  > font engine: otf 3.113, afm 1.513, tfm 1.000, 15 instances, 8 shared in backend, 5 common vectors, 3 common hashes, load time 0.168 seconds 
mkiv lua stats  > used platform: osx-64, type: unix, binary subtree: bin
mkiv lua stats  > used engine: luatex version: 1.13, functionality level: 7418, banner: this is luatex, version 1.13.0 (tex live 2021)
mkiv lua stats  > used hash slots: 47499 of 65536 + 200000
mkiv lua stats  > lua properties: engine: lua 5.3, used memory: 180 MB, ctx: 180 MB, max: unknown MB, hash chars: min(64,40), symbol mask: utf (τεχ)
mkiv lua stats  > runtime: 0.416 seconds, 1 processed pages, 1 shipped pages, 2.404 pages/second


[-- Attachment #3: min.pdf --]
[-- Type: application/pdf, Size: 28696 bytes --]

[-- Attachment #4: min.tex --]
[-- Type: application/x-tex, Size: 1836 bytes --]

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

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 15:18 Fallback fails for Linux Libertine O to Junicode over private area, debugging? J. P. Ascher via ntg-context
@ 2022-01-07 16:52 ` Youssef Cherem via ntg-context
  2022-01-07 16:59   ` J. P. Ascher via ntg-context
  2022-01-07 17:10 ` Hans Hagen via ntg-context
  2022-01-07 18:23 ` Hans Hagen via ntg-context
  2 siblings, 1 reply; 18+ messages in thread
From: Youssef Cherem via ntg-context @ 2022-01-07 16:52 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Youssef Cherem


[-- Attachment #1.1: Type: text/plain, Size: 4016 bytes --]

Is it just your example, or do you really just want those ligatures?

fre. 7. jan. 2022 kl. 12:33 skrev J. P. Ascher via ntg-context <
ntg-context@ntg.nl>:

> Hi, all,
>
> I'm a long time lurker (on gmane), first time poster. First, thank you
> all, very much, for your excellent work and superb community.
> ConTeXt has become a critical part of my academic writing and integral
> to my research.  I'm not exaggerating when I say it changed how
> I thought about texts and became a major source for my dissertation
> work.  Thank you!
>
> I'm trying to get a typescript for setting a text in Libertine with
> Junicode fallbacks for characters in MUFI, in the private use area.
> For some reason Libertine roman will not fallback no matter what
> I do. However Libertine italic will.  I can also work around it by using
> Junicode as a base and forcing fallback to Libertine.
>
> My question is: why?  What's wrong with Libertine roman?  Or my approach?
>
> My hypothesis is that there's something about `LinLibertine_R.otf`
> that's not quite right.  I looked in FontForge, but couldn't
> spot anything.
>
> Does anyone have a suggestion as to another place to look?  Or something
> I'm overlooking?
>
> Minimal example (attached too, if it comes through):
>
> ```
> \definefontfeature[default][default][script=latn]
>
>
> % Libertine with a Junicode fallback, lib-fb-jun
>
>
> \definefontfallback[junicodefallback][name:Junicode][privateusearea][check=yes,force=no]
>
> \starttypescript [serif] [lib-fb-jun]
>   \definefontsynonym [Libertine-Roman]     [file:linlibertiner]
>   \definefontsynonym [Libertine-Slanted]  [file:linlibertineri]  % works
> fine
> \stoptypescript
>
> \starttypescript [serif] [lib-fb-jun] [name]
>   \definefontsynonym [Serif]            [Libertine-Roman]
>  [features=default,fallbacks=junicodefallback]
>   \definefontsynonym [SerifSlanted]     [Libertine-Slanted]
> [features=default,fallbacks=junicodefallback]
> \stoptypescript
>
> \starttypescript [lib-fb-jun]
>   \definetypeface [lib-fb-jun] [rm] [serif] [lib-fb-jun] [default]
> \stoptypescript
>
>
> % Junicode with Libertine as a fallback, preferring Libertine, jun-pr-lib
> % this hack does what I want the above to do
>
>
> \definefontfallback[preferlibertine][name:linlibertineo][0-FFFFF][check=yes,force=yes]
>
> \starttypescript[serif] [jun-pr-lib]
>    \definefontsynonym [JunicodeRoman] [name:Junicode]
> \stoptypescript
>
> \starttypescript[serif] [jun-pr-lib] [name]
>    \definefontsynonym [Serif] [JunicodeRoman] [fallbacks=preferlibertine]
> \stoptypescript
>
> \starttypescript [jun-pr-lib]
>   \definetypeface [jun-pr-lib] [rm] [serif] [jun-pr-lib] [default]
> \stoptypescript
>
>
> % some tracking stuff
>
> \enabletrackers[fonts.missing=replace]
> \enabledirectives[logs.errors]
>
>
> % text, we use lib-fb-jun first, then jun-pr-lib
>
> \starttext
> \setupbodyfont[lib-fb-jun]
>
> {\em emph. lib-fb-jun: \Uchar61125 \char64259 \utfchar{"eec5} (three
> glyphs)}
>
> lib-fb-jun: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs)  % <-
> fallback fails here
>
> \switchtobodyfont[jun-pr-lib]
>
> jun-pr-lib: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs) % <-
> works
>
> \stoptext
> ```
>
> Any ideas?
>
> Most warmly,
> -jp
>
> --
> J. P. Ascher
> Preceding: https://doi.org/10.18130/jqpe-zc65
> Current: http://www.bibsoc.org.uk/content/2020-2021-0
>
>
> ___________________________________________________________________________________
> 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
>
> ___________________________________________________________________________________
>

[-- Attachment #1.2: Type: text/html, Size: 5312 bytes --]

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

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 16:52 ` Youssef Cherem via ntg-context
@ 2022-01-07 16:59   ` J. P. Ascher via ntg-context
  2022-01-07 18:33     ` Hans Hagen via ntg-context
  0 siblings, 1 reply; 18+ messages in thread
From: J. P. Ascher via ntg-context @ 2022-01-07 16:59 UTC (permalink / raw)
  To: Youssef Cherem; +Cc: J. P. Ascher, mailing list for ConTeXt users

Thanks for asking!

It's just my example.  I maintain JunicodeRX (...with Restoration
Typographical Extensions) which includes yet more non-standard code
points and which I continue to add to.  In my actual work, I also add in
Symbola for additional fallbacks.

Some fonts have better language coverage (Libertine) and others have
some custom glyphs I want (JunicodeRX and Symbola).  If I had a bit more
time, I suspect maintaining a stand-alone
Libertine+JunicodeRX+Symbola.otf would be the best approach, but that's
a bit beyond me these days.

On Fri, Jan 07 2022, 13:52:05 -03 Youssef Cherem <ycherem@gmail.com> wrote:

> Is it just your example, or do you really just want those ligatures? 
>
> fre. 7. jan. 2022 kl. 12:33 skrev J. P. Ascher via ntg-context <ntg-context@ntg.nl>:
>
>  Hi, all,
>
>  I'm a long time lurker (on gmane), first time poster. First, thank you
>  all, very much, for your excellent work and superb community.
>  ConTeXt has become a critical part of my academic writing and integral
>  to my research.  I'm not exaggerating when I say it changed how
>  I thought about texts and became a major source for my dissertation
>  work.  Thank you!
>
>  I'm trying to get a typescript for setting a text in Libertine with
>  Junicode fallbacks for characters in MUFI, in the private use area.
>  For some reason Libertine roman will not fallback no matter what
>  I do. However Libertine italic will.  I can also work around it by using
>  Junicode as a base and forcing fallback to Libertine.
>
>  My question is: why?  What's wrong with Libertine roman?  Or my approach?
>
>  My hypothesis is that there's something about `LinLibertine_R.otf`
>  that's not quite right.  I looked in FontForge, but couldn't
>  spot anything.
>
>  Does anyone have a suggestion as to another place to look?  Or something
>  I'm overlooking?
>
>  Minimal example (attached too, if it comes through):
>
>  ```
>  \definefontfeature[default][default][script=latn]
>
>  % Libertine with a Junicode fallback, lib-fb-jun
>
>  \definefontfallback[junicodefallback][name:Junicode][privateusearea][check=yes,force=no]
>
>  \starttypescript [serif] [lib-fb-jun]
>    \definefontsynonym [Libertine-Roman]     [file:linlibertiner]
>    \definefontsynonym [Libertine-Slanted]  [file:linlibertineri]  % works fine
>  \stoptypescript
>
>  \starttypescript [serif] [lib-fb-jun] [name]
>    \definefontsynonym [Serif]            [Libertine-Roman]   [features=default,fallbacks=junicodefallback]
>    \definefontsynonym [SerifSlanted]     [Libertine-Slanted] [features=default,fallbacks=junicodefallback]
>  \stoptypescript
>
>  \starttypescript [lib-fb-jun]
>    \definetypeface [lib-fb-jun] [rm] [serif] [lib-fb-jun] [default]
>  \stoptypescript
>
>  % Junicode with Libertine as a fallback, preferring Libertine, jun-pr-lib
>  % this hack does what I want the above to do
>
>  \definefontfallback[preferlibertine][name:linlibertineo][0-FFFFF][check=yes,force=yes]
>
>  \starttypescript[serif] [jun-pr-lib]
>     \definefontsynonym [JunicodeRoman] [name:Junicode]
>  \stoptypescript
>
>  \starttypescript[serif] [jun-pr-lib] [name]
>     \definefontsynonym [Serif] [JunicodeRoman] [fallbacks=preferlibertine]
>  \stoptypescript
>
>  \starttypescript [jun-pr-lib]
>    \definetypeface [jun-pr-lib] [rm] [serif] [jun-pr-lib] [default]
>  \stoptypescript
>
>  % some tracking stuff
>
>  \enabletrackers[fonts.missing=replace]
>  \enabledirectives[logs.errors]
>
>  % text, we use lib-fb-jun first, then jun-pr-lib
>
>  \starttext
>  \setupbodyfont[lib-fb-jun]
>
>  {\em emph. lib-fb-jun: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs)}
>
>  lib-fb-jun: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs)  % <- fallback fails here
>
>  \switchtobodyfont[jun-pr-lib]
>
>  jun-pr-lib: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs) % <- works
>
>  \stoptext
>  ```
>
>  Any ideas?
>
>  Most warmly,
>  -jp
>
>  -- 
>  J. P. Ascher
>  Preceding: https://doi.org/10.18130/jqpe-zc65
>  Current: http://www.bibsoc.org.uk/content/2020-2021-0
>
>  ___________________________________________________________________________________
>  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
>  ___________________________________________________________________________________

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 15:18 Fallback fails for Linux Libertine O to Junicode over private area, debugging? J. P. Ascher via ntg-context
  2022-01-07 16:52 ` Youssef Cherem via ntg-context
@ 2022-01-07 17:10 ` Hans Hagen via ntg-context
  2022-01-07 18:55   ` J. P. Ascher via ntg-context
  2022-01-07 18:23 ` Hans Hagen via ntg-context
  2 siblings, 1 reply; 18+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-07 17:10 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

On 1/7/2022 4:18 PM, J. P. Ascher via ntg-context wrote:
> Hi, all,
> 
> I'm a long time lurker (on gmane), first time poster. First, thank you
> all, very much, for your excellent work and superb community.
> ConTeXt has become a critical part of my academic writing and integral
> to my research.  I'm not exaggerating when I say it changed how
> I thought about texts and became a major source for my dissertation
> work.  Thank you!
> 
> I'm trying to get a typescript for setting a text in Libertine with
> Junicode fallbacks for characters in MUFI, in the private use area.
> For some reason Libertine roman will not fallback no matter what
> I do. However Libertine italic will.  I can also work around it by using
> Junicode as a base and forcing fallback to Libertine.
> 
> My question is: why?  What's wrong with Libertine roman?  Or my approach?
> 
> My hypothesis is that there's something about `LinLibertine_R.otf`
> that's not quite right.  I looked in FontForge, but couldn't
> spot anything.
> 
> Does anyone have a suggestion as to another place to look?  Or something
> I'm overlooking?
> 
> Minimal example (attached too, if it comes through):
> 
> ```
> \definefontfeature[default][default][script=latn]
> 
> 
> % Libertine with a Junicode fallback, lib-fb-jun
> 
> \definefontfallback[junicodefallback][name:Junicode][privateusearea][check=yes,force=no]
> 
> \starttypescript [serif] [lib-fb-jun]
>    \definefontsynonym [Libertine-Roman]     [file:linlibertiner]
>    \definefontsynonym [Libertine-Slanted]  [file:linlibertineri]  % works fine
> \stoptypescript
>   
> \starttypescript [serif] [lib-fb-jun] [name]
>    \definefontsynonym [Serif]            [Libertine-Roman]   [features=default,fallbacks=junicodefallback]
>    \definefontsynonym [SerifSlanted]     [Libertine-Slanted] [features=default,fallbacks=junicodefallback]
> \stoptypescript
>   
> \starttypescript [lib-fb-jun]
>    \definetypeface [lib-fb-jun] [rm] [serif] [lib-fb-jun] [default]
> \stoptypescript
> 
> 
> % Junicode with Libertine as a fallback, preferring Libertine, jun-pr-lib
> % this hack does what I want the above to do
> 
> \definefontfallback[preferlibertine][name:linlibertineo][0-FFFFF][check=yes,force=yes]
> 
> \starttypescript[serif] [jun-pr-lib]
>     \definefontsynonym [JunicodeRoman] [name:Junicode]
> \stoptypescript
> 
> \starttypescript[serif] [jun-pr-lib] [name]
>     \definefontsynonym [Serif] [JunicodeRoman] [fallbacks=preferlibertine]
> \stoptypescript
> 
> \starttypescript [jun-pr-lib]
>    \definetypeface [jun-pr-lib] [rm] [serif] [jun-pr-lib] [default]
> \stoptypescript
> 
> 
> % some tracking stuff
> 
> \enabletrackers[fonts.missing=replace]
> \enabledirectives[logs.errors]
> 
> 
> % text, we use lib-fb-jun first, then jun-pr-lib
> 
> \starttext
> \setupbodyfont[lib-fb-jun]
> 
> {\em emph. lib-fb-jun: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs)}
> 
> lib-fb-jun: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs)  % <- fallback fails here
> 
> \switchtobodyfont[jun-pr-lib]
> 
> jun-pr-lib: \Uchar61125 \char64259 \utfchar{"eec5} (three glyphs) % <- works
> 
> \stoptext
> ```
> 
> Any ideas?
when you use a complex font (in this case with lots of ligatures) doing 
a fallback can interfere with these features especially when they have 
been put in the private areas which are basically 'undefined'

you're accessing an st ligature directly but normally you will do that 
by enabling a font feature

Hans

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 15:18 Fallback fails for Linux Libertine O to Junicode over private area, debugging? J. P. Ascher via ntg-context
  2022-01-07 16:52 ` Youssef Cherem via ntg-context
  2022-01-07 17:10 ` Hans Hagen via ntg-context
@ 2022-01-07 18:23 ` Hans Hagen via ntg-context
  2022-01-07 19:11   ` J. P. Ascher via ntg-context
  2 siblings, 1 reply; 18+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-07 18:23 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

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

On 1/7/2022 4:18 PM, J. P. Ascher via ntg-context wrote:

> % Libertine with a Junicode fallback, lib-fb-jun
looks like there is some beta junicode two (i tried the variable font 
but the ttf crashes (no hvar table) and the otf also has issues so 
probably a bit too beta) .. maybe that font will cover what libertine has?

- ttf variable : crash (probably due to missing hvar or invalid deltas)
- otf variable : issues
- otf normal   : crash on italic due to stem problem
- ttf normal   : seems to work

(it makes no sense to add all kind of sanity checks for fonts with issues)

the font has a fi ligature but not as feature so you need to add it:

\startluacode
     fonts.handlers.otf.addfeature {
         name = "xlig",
         type = "ligature",
         data = {
             [64257] = { "f", "i" },
         }
     }
\stopluacode

\definefontfeature[default][default][xlig=yes,dlig=yes] % is dflt defined ?

\setupbodyfont[junicode]

\starttext

     % fi ligature in \char 64257 but not in liga feature

          Ik fiets op de stoep en dat mag niet. \blank
     {\it Ik fiets op de stoep en dat mag niet.}\blank
     {\bf Ik fiets op de stoep en dat mag niet.}\blank
     {\bi Ik fiets op de stoep en dat mag niet.}\blank
\stoptext

attached a possible typescript file (patched from ws 2011 version)

anyway ... these fonts are probably to beta to be useful now although 
one needs users like you to test them and feedback

Hans

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

[-- Attachment #2: type-imp-junicode.mkxl --]
[-- Type: text/plain, Size: 2979 bytes --]

%D \module
%D   [     file=type-junicode,
%D      version=2011.09.18,
%D        title=\CONTEXT\ Typescript Macros,
%D     subtitle=Junicode Font Definitions,
%D       author=Wolfgang Schuster,
%D         date=\currentdate,
%D    copyright=Wolfgang Schuster,
%D      license=GNU General Public License]

% adapted by hh

\usetypescriptfile[texgyre]
\usetypescriptfile[dejavu]

\starttypescriptcollection [junicode]

% crash on data points / hvar inconsistency
%
% \definefontfeature[junicodebold][default]
%
% \definefontsynonym[junicoderegular][\s!file:junicodetwobetavf-roman.ttf]
% \definefontsynonym[junicodeitalic] [\s!file:junicodetwobetavf-italic.ttf]
%
% \starttypescript [\s!serif] [junicode]
%     \definefontsynonym [Junicode-Regular]    [junicoderegular][\s!features=default]
%     \definefontsynonym [Junicode-Italic]     [junicodeitalic] [\s!features=default]
%     \definefontsynonym [Junicode-Bold]       [junicoderegular][\s!features={default,junicodebold}]
%     \definefontsynonym [Junicode-BoldItalic] [junicodeitalic] [\s!features={default,junicodebold}]
% \stoptypescript

% italic crashes on stems in cff
%
% \starttypescript [\s!serif] [junicode]
%     \definefontsynonym [Junicode-Regular]    [\s!file:junicodetwobeta-regular.otf]   [\s!features=\s!default]
%     \definefontsynonym [Junicode-Italic]     [\s!file:junicodetwobeta-italic.otf]    [\s!features=\s!default]
%     \definefontsynonym [Junicode-Bold]       [\s!file:junicodetwobeta-bold.otf]      [\s!features=\s!default]
%     \definefontsynonym [Junicode-BoldItalic] [\s!file:junicodetwobeta-bolditalic.otf][\s!features=\s!default]
% \stoptypescript

\starttypescript [\s!serif] [junicode]
    \definefontsynonym [Junicode-Regular]    [\s!file:junicodetwobeta-regular.ttf]   [\s!features=\s!default]
    \definefontsynonym [Junicode-Italic]     [\s!file:junicodetwobeta-italic.ttf]    [\s!features=\s!default]
    \definefontsynonym [Junicode-Bold]       [\s!file:junicodetwobeta-bold.ttf]      [\s!features=\s!default]
    \definefontsynonym [Junicode-BoldItalic] [\s!file:junicodetwobeta-bolditalic.ttf][\s!features=\s!default]
\stoptypescript

\starttypescript [\s!serif] [junicode]
    \setups[\s!font:\s!fallback:\s!serif]
    \definefontsynonym [\s!Serif]           [Junicode-Regular]   [\s!features=\s!default]
    \definefontsynonym [\s!SerifItalic]     [Junicode-Italic]    [\s!features=\s!default]
    \definefontsynonym [\s!SerifBold]       [Junicode-Bold]      [\s!features=\s!default]
    \definefontsynonym [\s!SerifBoldItalic] [Junicode-BoldItalic][\s!features=\s!default]
\stoptypescript

\starttypescript [junicode]
    \definetypeface [junicode] [rm] [\s!serif] [junicode] [\s!default]
    \definetypeface [junicode] [tt] [\s!mono]  [dejavu]   [\s!default]
    \definetypeface [junicode] [mm] [\s!math]  [pagella]  [\s!default]
    \quittypescriptscanning
\stoptypescript

\stoptypescriptcollection

\endinput

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

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 16:59   ` J. P. Ascher via ntg-context
@ 2022-01-07 18:33     ` Hans Hagen via ntg-context
  0 siblings, 0 replies; 18+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-07 18:33 UTC (permalink / raw)
  To: mailing list for ConTeXt users, Youssef Cherem; +Cc: Hans Hagen

On 1/7/2022 5:59 PM, J. P. Ascher via ntg-context wrote:
> Thanks for asking!
> 
> It's just my example.  I maintain JunicodeRX (...with Restoration
> Typographical Extensions) which includes yet more non-standard code
> points and which I continue to add to.  In my actual work, I also add in
> Symbola for additional fallbacks.
> 
> Some fonts have better language coverage (Libertine) and others have
> some custom glyphs I want (JunicodeRX and Symbola).  If I had a bit more
> time, I suspect maintaining a stand-alone
> Libertine+JunicodeRX+Symbola.otf would be the best approach, but that's
> a bit beyond me these days.
the complication in mixing fonts is that one cannot really mix the 
features arbitrary

Hans

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 17:10 ` Hans Hagen via ntg-context
@ 2022-01-07 18:55   ` J. P. Ascher via ntg-context
  2022-01-07 19:19     ` Hans Hagen via ntg-context
  0 siblings, 1 reply; 18+ messages in thread
From: J. P. Ascher via ntg-context @ 2022-01-07 18:55 UTC (permalink / raw)
  To: Hans Hagen; +Cc: J. P. Ascher, mailing list for ConTeXt users

On Fri, Jan 07 2022, 18:10:39 +01 Hans Hagen <j.hagen@xs4all.nl> wrote:
> On 1/7/2022 4:18 PM, J. P. Ascher via ntg-context wrote:
>> Hi, all,
>> I'm a long time lurker (on gmane), first time poster. First, thank

[...]

>> Any ideas?
> when you use a complex font (in this case with lots of ligatures)
> doing a fallback can interfere with these features especially when
> they have been put in the private areas which are basically
> 'undefined'
>
> you're accessing an st ligature directly but normally you will do that
> by enabling a font feature

Thank you Hans, for your response, and your years of hard work on many
great manuals and code!

I'm doing that deliberately, but for my own peculiar reason: I'm working
on transcribing 17c texts in terms of the typographical sorts available
in the physical founts of their print shop.  I.e. I usually disable all
ligatures and only manually put in a ligature when the physical type was
a ligatured one, as best I can tell.  Not every shop had the same founts
and not every compositor used every available ligature in the same shop.

My bigger technical problem is that I need to combine paragraphs of
normally typeset prose with other paragraphs where I don't want the
typesetting engine to change a single glyph, or too much of
the spacing.

I pulled it off for my dissertation with a bunch of hacks, like the
above, which proved to me that it could actually work.  From the readers
I've had, it seems that as you read more of the prose, you start
noticing that the description is different in subtle ways and
eventually--I hope--learn to see the evidence of typesetting that I'm
writing about reproduced in my work and thus now can in the historical
item itself.

But, I think that the actual solution is a real font for this.  I'm just
making hacks between appointments--I can afford the time away from the
treadmill of applications to do it correctly right now.

Sometimes, I wonder if a monospace, like DejaVu's, with the extra glyphs
would make the distinction between prose and description clearer, but
I'll have to wait until I have an occasion to try that too.

I'd be curious if anyone else has seen someone trying something similar.

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 18:23 ` Hans Hagen via ntg-context
@ 2022-01-07 19:11   ` J. P. Ascher via ntg-context
  0 siblings, 0 replies; 18+ messages in thread
From: J. P. Ascher via ntg-context @ 2022-01-07 19:11 UTC (permalink / raw)
  To: Hans Hagen; +Cc: J. P. Ascher, mailing list for ConTeXt users

On Fri, Jan 07 2022, 19:23:18 +01 Hans Hagen <j.hagen@xs4all.nl> wrote:
> On 1/7/2022 4:18 PM, J. P. Ascher via ntg-context wrote:
>
>> % Libertine with a Junicode fallback, lib-fb-jun
> looks like there is some beta junicode two (i tried the variable font

[...]

> anyway ... these fonts are probably to beta to be useful now although
> one needs users like you to test them and feedback
>
> Hans

Thank you very much for this approach!  Lua seems like a good way to go,
since I can be explicit about what I'm doing.

On Junicode Two, I chatted with Peter Baker the other day.  He had been
writing his first version in a raw UFO file with Emacs, but recently
switched to Glyphs, I think.  I'll reach out to him and see what's
happening.  Thank you, too, for that suggestion!
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 18:55   ` J. P. Ascher via ntg-context
@ 2022-01-07 19:19     ` Hans Hagen via ntg-context
  2022-01-07 21:39       ` J. P. Ascher via ntg-context
  0 siblings, 1 reply; 18+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-07 19:19 UTC (permalink / raw)
  To: J. P. Ascher; +Cc: Hans Hagen, mailing list for ConTeXt users

On 1/7/2022 7:55 PM, J. P. Ascher wrote:
> On Fri, Jan 07 2022, 18:10:39 +01 Hans Hagen <j.hagen@xs4all.nl> wrote:
>> On 1/7/2022 4:18 PM, J. P. Ascher via ntg-context wrote:
>>> Hi, all,
>>> I'm a long time lurker (on gmane), first time poster. First, thank
> 
> [...]
> 
>>> Any ideas?
>> when you use a complex font (in this case with lots of ligatures)
>> doing a fallback can interfere with these features especially when
>> they have been put in the private areas which are basically
>> 'undefined'
>>
>> you're accessing an st ligature directly but normally you will do that
>> by enabling a font feature
> 
> Thank you Hans, for your response, and your years of hard work on many
> great manuals and code!
> 
> I'm doing that deliberately, but for my own peculiar reason: I'm working
> on transcribing 17c texts in terms of the typographical sorts available
> in the physical founts of their print shop.  I.e. I usually disable all
> ligatures and only manually put in a ligature when the physical type was
> a ligatured one, as best I can tell.  Not every shop had the same founts
> and not every compositor used every available ligature in the same shop.

in that case you can best access the shapes by name (which is possible 
in context), assuming that they have one (often they do or they  have 
standard locations like a few ligatures have)

> My bigger technical problem is that I need to combine paragraphs of
> normally typeset prose with other paragraphs where I don't want the
> typesetting engine to change a single glyph, or too much of
> the spacing.

in that case you can best use a rather bare font i.e. no features at all 
apart from kerning and use dynamic features grouped

in lmtx there are other tricks too

\noleftligaturing
\norightligaturing
\noligaturing

and other conbtrols like

\noleftkerning
etc

> I pulled it off for my dissertation with a bunch of hacks, like the
> above, which proved to me that it could actually work.  From the readers
> I've had, it seems that as you read more of the prose, you start
> noticing that the description is different in subtle ways and
> eventually--I hope--learn to see the evidence of typesetting that I'm
> writing about reproduced in my work and thus now can in the historical
> item itself.

one aspect is how ligatures are made: some fonts have single shapes, 
others use replacements and kerning of (then) multiple shapes

> But, I think that the actual solution is a real font for this.  I'm just
> making hacks between appointments--I can afford the time away from the
> treadmill of applications to do it correctly right now.
> 
> Sometimes, I wonder if a monospace, like DejaVu's, with the extra glyphs
> would make the distinction between prose and description clearer, but
> I'll have to wait until I have an occasion to try that too.
> 
> I'd be curious if anyone else has seen someone trying something similar.
> 
> yrs,
> -jp


-- 

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 19:19     ` Hans Hagen via ntg-context
@ 2022-01-07 21:39       ` J. P. Ascher via ntg-context
  2022-01-07 22:01         ` Why mtxrun fails ? Jean-Pierre Delange via ntg-context
  2022-01-08 10:42         ` Fallback fails for Linux Libertine O to Junicode over private area, debugging? Hans Hagen via ntg-context
  0 siblings, 2 replies; 18+ messages in thread
From: J. P. Ascher via ntg-context @ 2022-01-07 21:39 UTC (permalink / raw)
  To: Hans Hagen; +Cc: J. P. Ascher, mailing list for ConTeXt users

> in that case you can best use a rather bare font i.e. no features at
> all apart from kerning and use dynamic features grouped
>
> in lmtx there are other tricks too
>
> \noleftligaturing
> \norightligaturing
> \noligaturing
>
> and other conbtrols like
>
> \noleftkerning
> etc

This is very useful.  I'm thinking of writing an environment that
switches: I like keeping the ease of typing normal characters, rather
than getting glyphs directly, because it's easier to proof on screen in
the editor.

>> writing about reproduced in my work and thus now can in the historical
>> item itself.
>
> one aspect is how ligatures are made: some fonts have single shapes,
> others use replacements and kerning of (then) multiple shapes

I think you wrote about this somewhere else and it got me interested in
physical type from my period: it looks like some printers did some of
the same things, sometimes!  You might have a box of pre-composed
ligatures, or not; you might take a knife to some letters to tweak them
for specific uses, or not; you might even shave wrong-sized letters to
fit them in where they don't belong.  Those shaved down letters could
end up back with their siblings, now shifting around during printing, or
they could be tossed.

The pre-composed ligatures might most often be made on matrices struck
with the same punches as for the non-ligatured glyphs, but typefounders
might re-strike matries now and then, so you might end up with slightly
different pre-composed ligatures in different, or even the same, fount
of type.  It's nuts!

Fred Smeijers writes about this a little bit in *Counterpunch*, but
I had already started thinking about it because of ConTeXt.

I wouldn't have known to look if it weren't for the typographical
education you and your colleagues pass around; so, thank you again!

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

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

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

* Why mtxrun fails ?
  2022-01-07 21:39       ` J. P. Ascher via ntg-context
@ 2022-01-07 22:01         ` Jean-Pierre Delange via ntg-context
  2022-01-07 22:40           ` Otared Kavian via ntg-context
                             ` (2 more replies)
  2022-01-08 10:42         ` Fallback fails for Linux Libertine O to Junicode over private area, debugging? Hans Hagen via ntg-context
  1 sibling, 3 replies; 18+ messages in thread
From: Jean-Pierre Delange via ntg-context @ 2022-01-07 22:01 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Jean-Pierre Delange


[-- Attachment #1.1: Type: text/plain, Size: 369 bytes --]

Hello !
Sorry for this newbie question : I’ve just uploaded CTX on my new MacOS (High Sierra), and when I pass the command mtxrun —generate or any other option with mtxrun, I get this : -bash: mtxrun: command not found

I did that before :  echo "export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH" >> ~/.bashrc

What I am missing ?
JP

[-- Attachment #1.2: Type: text/html, Size: 1172 bytes --]

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

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

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

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

* Re: Why mtxrun fails ?
  2022-01-07 22:01         ` Why mtxrun fails ? Jean-Pierre Delange via ntg-context
@ 2022-01-07 22:40           ` Otared Kavian via ntg-context
  2022-01-07 23:00           ` Youssef Cherem via ntg-context
  2022-01-08  8:05           ` juh via ntg-context
  2 siblings, 0 replies; 18+ messages in thread
From: Otared Kavian via ntg-context @ 2022-01-07 22:40 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Otared Kavian

Hi Jean-Pierre,

In which directory (or « folder », speaking MacOS…) have you installed the ConTeXt tree ? 
For instance, on my machine, I have installed the ConTeXt LMTX tree in

	/Applications/context-osx-arm64/

and then if for example I need to execute the mtxrun coming with this tree, I can say

	/Applications/context-osx-arm64/tex/texmf-osx-64/bin/mtxrun - -generate

(beware the « - - generate » should be actually two successive « - » dashes without a space between them… I am using Mail.app on my Mac and it replaces the two dashes with a longer n-dash « — »).

Of course the best would be to create an alias for 

	/Applications/context-osx-arm64/tex/texmf-osx-64/bin/mtxrun

in your .bashrc, if you use bash.

Best regards: Otared K.

> On 7 Jan 2022, at 23:01, Jean-Pierre Delange via ntg-context <ntg-context@ntg.nl> wrote:
> 
> Hello !
> Sorry for this newbie question : I’ve just uploaded CTX on my new MacOS (High Sierra), and when I pass the command mtxrun —generate or any other option with mtxrun, I get this : -bash: mtxrun: command not found
> 
> I did that before :  echo "export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH" >> ~/.bashrc
> 
> What I am missing ?
> JP
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________

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

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

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

* Re: Why mtxrun fails ?
  2022-01-07 22:01         ` Why mtxrun fails ? Jean-Pierre Delange via ntg-context
  2022-01-07 22:40           ` Otared Kavian via ntg-context
@ 2022-01-07 23:00           ` Youssef Cherem via ntg-context
  2022-01-08  0:42             ` Jean-Pierre Delange via ntg-context
  2022-01-08  0:45             ` Jean-Pierre Delange via ntg-context
  2022-01-08  8:05           ` juh via ntg-context
  2 siblings, 2 replies; 18+ messages in thread
From: Youssef Cherem via ntg-context @ 2022-01-07 23:00 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Youssef Cherem


[-- Attachment #1.1: Type: text/plain, Size: 1278 bytes --]

The instructions for MacOS are the same as for Unix, but note that:

   - MacOS versions from Catalina (10.15) and newer use *Zsh* by default.
   - MacOS versions before Catalina use *Bash* by default.

https://wiki.contextgarden.net/Installation

fre. 7. jan. 2022 kl. 19:02 skrev Jean-Pierre Delange via ntg-context <
ntg-context@ntg.nl>:

> Hello !
> Sorry for this newbie question : I’ve just uploaded CTX on my new MacOS
> (High Sierra), and when I pass the command mtxrun —generate or any other
> option with mtxrun, I get this : -bash: mtxrun: command not found
>
> I did that before :  echo "export
> PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH" >>
> ~/.bashrc
>
> What I am missing ?
> JP
>
> ___________________________________________________________________________________
> 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
>
> ___________________________________________________________________________________
>

[-- Attachment #1.2: Type: text/html, Size: 2661 bytes --]

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

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

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

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

* Re: Why mtxrun fails ?
  2022-01-07 23:00           ` Youssef Cherem via ntg-context
@ 2022-01-08  0:42             ` Jean-Pierre Delange via ntg-context
  2022-01-08  0:48               ` Jean-Pierre Delange via ntg-context
  2022-01-08  0:45             ` Jean-Pierre Delange via ntg-context
  1 sibling, 1 reply; 18+ messages in thread
From: Jean-Pierre Delange via ntg-context @ 2022-01-08  0:42 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Jean-Pierre Delange


[-- Attachment #1.1: Type: text/plain, Size: 2766 bytes --]

Thank you Otared and Youssef !
As you know MacOS High Sierra is the version before Catalina and works with Bash and the command I’ve given shows where I have installed context : echo 'export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH' >> ~/.bashrc

As I am new on MacOS and since what works on Unix works nearly the same on MacOS, no matter if you install context where you want (in /Documents or in /Applications). With the command . setuptex in the folder /home/user/context/tex one could load context and its other commands like mtxrun. I don’t understand what I forget to do !
 

> Le 8 janv. 2022 à 00:00, Youssef Cherem via ntg-context <ntg-context@ntg.nl> a écrit :
> 
> The instructions for MacOS are the same as for Unix, but note that:
> 
> MacOS versions from Catalina (10.15) and newer use Zsh by default.
> MacOS versions before Catalina use Bash by default.
> https://wiki.contextgarden.net/Installation <https://wiki.contextgarden.net/Installation>
> fre. 7. jan. 2022 kl. 19:02 skrev Jean-Pierre Delange via ntg-context <ntg-context@ntg.nl <mailto:ntg-context@ntg.nl>>:
> Hello !
> Sorry for this newbie question : I’ve just uploaded CTX on my new MacOS (High Sierra), and when I pass the command mtxrun —generate or any other option with mtxrun, I get this : -bash: mtxrun: command not found
> 
> I did that before :  echo "export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH" >> ~/.bashrc
> 
> What I am missing ?
> JP
> ___________________________________________________________________________________
> 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> / http://www.ntg.nl/mailman/listinfo/ntg-context <http://www.ntg.nl/mailman/listinfo/ntg-context>
> webpage  : http://www.pragma-ade.nl <http://www.pragma-ade.nl/> / http://context.aanhet.net <http://context.aanhet.net/>
> archive  : https://bitbucket.org/phg/context-mirror/commits/ <https://bitbucket.org/phg/context-mirror/commits/>
> wiki     : http://contextgarden.net <http://contextgarden.net/>
> ___________________________________________________________________________________
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________


[-- Attachment #1.2: Type: text/html, Size: 6196 bytes --]

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

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

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

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

* Re: Why mtxrun fails ?
  2022-01-07 23:00           ` Youssef Cherem via ntg-context
  2022-01-08  0:42             ` Jean-Pierre Delange via ntg-context
@ 2022-01-08  0:45             ` Jean-Pierre Delange via ntg-context
  1 sibling, 0 replies; 18+ messages in thread
From: Jean-Pierre Delange via ntg-context @ 2022-01-08  0:45 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Jean-Pierre Delange


[-- Attachment #1.1: Type: text/plain, Size: 2234 bytes --]

I’ve founded what was wrong in my .bashrc file : it was only an error of syntax !

> Le 8 janv. 2022 à 00:00, Youssef Cherem via ntg-context <ntg-context@ntg.nl> a écrit :
> 
> The instructions for MacOS are the same as for Unix, but note that:
> 
> MacOS versions from Catalina (10.15) and newer use Zsh by default.
> MacOS versions before Catalina use Bash by default.
> https://wiki.contextgarden.net/Installation <https://wiki.contextgarden.net/Installation>
> fre. 7. jan. 2022 kl. 19:02 skrev Jean-Pierre Delange via ntg-context <ntg-context@ntg.nl <mailto:ntg-context@ntg.nl>>:
> Hello !
> Sorry for this newbie question : I’ve just uploaded CTX on my new MacOS (High Sierra), and when I pass the command mtxrun —generate or any other option with mtxrun, I get this : -bash: mtxrun: command not found
> 
> I did that before :  echo "export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH" >> ~/.bashrc
> 
> What I am missing ?
> JP
> ___________________________________________________________________________________
> 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> / http://www.ntg.nl/mailman/listinfo/ntg-context <http://www.ntg.nl/mailman/listinfo/ntg-context>
> webpage  : http://www.pragma-ade.nl <http://www.pragma-ade.nl/> / http://context.aanhet.net <http://context.aanhet.net/>
> archive  : https://bitbucket.org/phg/context-mirror/commits/ <https://bitbucket.org/phg/context-mirror/commits/>
> wiki     : http://contextgarden.net <http://contextgarden.net/>
> ___________________________________________________________________________________
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________


[-- Attachment #1.2: Type: text/html, Size: 4619 bytes --]

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

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

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

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

* Re: Why mtxrun fails ?
  2022-01-08  0:42             ` Jean-Pierre Delange via ntg-context
@ 2022-01-08  0:48               ` Jean-Pierre Delange via ntg-context
  0 siblings, 0 replies; 18+ messages in thread
From: Jean-Pierre Delange via ntg-context @ 2022-01-08  0:48 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Jean-Pierre Delange


[-- Attachment #1.1: Type: text/plain, Size: 3953 bytes --]

I’ve made a stupid error : I’ve passed this command echo 'export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH' >> ~/.bashrc instead of  export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH >> ~/.bashrc.

Sorry for the noise !

> Le 8 janv. 2022 à 01:42, Jean-Pierre Delange via ntg-context <ntg-context@ntg.nl> a écrit :
> 
> Thank you Otared and Youssef !
> As you know MacOS High Sierra is the version before Catalina and works with Bash and the command I’ve given shows where I have installed context : echo 'export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH' >> ~/.bashrc
> 
> As I am new on MacOS and since what works on Unix works nearly the same on MacOS, no matter if you install context where you want (in /Documents or in /Applications). With the command . setuptex in the folder /home/user/context/tex one could load context and its other commands like mtxrun. I don’t understand what I forget to do !
>  
> 
>> Le 8 janv. 2022 à 00:00, Youssef Cherem via ntg-context <ntg-context@ntg.nl <mailto:ntg-context@ntg.nl>> a écrit :
>> 
>> The instructions for MacOS are the same as for Unix, but note that:
>> 
>> MacOS versions from Catalina (10.15) and newer use Zsh by default.
>> MacOS versions before Catalina use Bash by default.
>> https://wiki.contextgarden.net/Installation <https://wiki.contextgarden.net/Installation>
>> fre. 7. jan. 2022 kl. 19:02 skrev Jean-Pierre Delange via ntg-context <ntg-context@ntg.nl <mailto:ntg-context@ntg.nl>>:
>> Hello !
>> Sorry for this newbie question : I’ve just uploaded CTX on my new MacOS (High Sierra), and when I pass the command mtxrun —generate or any other option with mtxrun, I get this : -bash: mtxrun: command not found
>> 
>> I did that before :  echo "export PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH" >> ~/.bashrc
>> 
>> What I am missing ?
>> JP
>> ___________________________________________________________________________________
>> 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> / http://www.ntg.nl/mailman/listinfo/ntg-context <http://www.ntg.nl/mailman/listinfo/ntg-context>
>> webpage  : http://www.pragma-ade.nl <http://www.pragma-ade.nl/> / http://context.aanhet.net <http://context.aanhet.net/>
>> archive  : https://bitbucket.org/phg/context-mirror/commits/ <https://bitbucket.org/phg/context-mirror/commits/>
>> wiki     : http://contextgarden.net <http://contextgarden.net/>
>> ___________________________________________________________________________________
>> ___________________________________________________________________________________
>> 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> / http://www.ntg.nl/mailman/listinfo/ntg-context <http://www.ntg.nl/mailman/listinfo/ntg-context>
>> webpage  : http://www.pragma-ade.nl <http://www.pragma-ade.nl/> / http://context.aanhet.net <http://context.aanhet.net/>
>> archive  : https://bitbucket.org/phg/context-mirror/commits/ <https://bitbucket.org/phg/context-mirror/commits/>
>> wiki     : http://contextgarden.net <http://contextgarden.net/>
>> ___________________________________________________________________________________
> 
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________


[-- Attachment #1.2: Type: text/html, Size: 8488 bytes --]

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

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

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

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

* Re: Why mtxrun fails ?
  2022-01-07 22:01         ` Why mtxrun fails ? Jean-Pierre Delange via ntg-context
  2022-01-07 22:40           ` Otared Kavian via ntg-context
  2022-01-07 23:00           ` Youssef Cherem via ntg-context
@ 2022-01-08  8:05           ` juh via ntg-context
  2 siblings, 0 replies; 18+ messages in thread
From: juh via ntg-context @ 2022-01-08  8:05 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: juh

Am Freitag, dem 07.01.2022 um 23:01 +0100 schrieb Jean-Pierre Delange
via ntg-context:
> Hello !
> Sorry for this newbie question : I’ve just uploaded CTX on my new
> MacOS (High Sierra), and when I pass the command mtxrun —generate or
> any other option with mtxrun, I get this : -bash: mtxrun: command not
> found
> 
> I did that before :  echo "export
> PATH=/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin:$PATH"
> >> ~/.bashrc
> 
> What I am missing ?

Have you sourced .bashrc

source ~/.bashrc

juh

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

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

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

* Re: Fallback fails for Linux Libertine O to Junicode over private area, debugging?
  2022-01-07 21:39       ` J. P. Ascher via ntg-context
  2022-01-07 22:01         ` Why mtxrun fails ? Jean-Pierre Delange via ntg-context
@ 2022-01-08 10:42         ` Hans Hagen via ntg-context
  1 sibling, 0 replies; 18+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-08 10:42 UTC (permalink / raw)
  To: J. P. Ascher; +Cc: Hans Hagen, mailing list for ConTeXt users

On 1/7/2022 10:39 PM, J. P. Ascher wrote:
>> in that case you can best use a rather bare font i.e. no features at
>> all apart from kerning and use dynamic features grouped
>>
>> in lmtx there are other tricks too
>>
>> \noleftligaturing
>> \norightligaturing
>> \noligaturing
>>
>> and other conbtrols like
>>
>> \noleftkerning
>> etc
> 
> This is very useful.  I'm thinking of writing an environment that
> switches: I like keeping the ease of typing normal characters, rather
> than getting glyphs directly, because it's easier to proof on screen in
> the editor.
> 
>>> writing about reproduced in my work and thus now can in the historical
>>> item itself.
>>
>> one aspect is how ligatures are made: some fonts have single shapes,
>> others use replacements and kerning of (then) multiple shapes
> 
> I think you wrote about this somewhere else and it got me interested in
> physical type from my period: it looks like some printers did some of
> the same things, sometimes!  You might have a box of pre-composed
> ligatures, or not; you might take a knife to some letters to tweak them
> for specific uses, or not; you might even shave wrong-sized letters to
> fit them in where they don't belong.  Those shaved down letters could
> end up back with their siblings, now shifting around during printing, or
> they could be tossed.
> 
> The pre-composed ligatures might most often be made on matrices struck
> with the same punches as for the non-ligatured glyphs, but typefounders
> might re-strike matries now and then, so you might end up with slightly
> different pre-composed ligatures in different, or even the same, fount
> of type.  It's nuts!
> 
> Fred Smeijers writes about this a little bit in *Counterpunch*, but
> I had already started thinking about it because of ConTeXt.
> 
> I wouldn't have known to look if it weren't for the typographical
> education you and your colleagues pass around; so, thank you again!
One problem with writing about things related to fonts is that when a 
font changes rendering changes 9this is a pain for manuals or articles 
that then no longer show examplex right)

for that reason one needs to

- save a font, best rename it
- define fonts by filename
- make sure that font specific manipulations are also saved

Fonts more and more have become like programs. In the past a font never 
changed (even expensive fonts had no update policy like programs do) but 
with open type fonts became way less stable especially free ones 
(vendors still freeze and then just sell them). Add to that forking, 
abandoning etc. With complex features being used, and features not 
always being applied consistently (bascially we have 1-1, 1-many, 
many-1, many-many mapping plus contextual lookups) we can expect bugs 
and they get fixed or not. It also depends on views of designer, 
programs being used to make them, programs used to test them, all of 
which can change over time, so in a way fonts have become less stable (a 
bit like hyphenation patterns as more fluid resource). At some point we 
can expect bug(let)s or imperfections to stay and adapt to that (as we 
do with math now). (This is not new: for a long time tex users had to 
deal with computer modern fonts with basically only proper kerning for 
english.)

Add to that evolving technologies (color fonts, image based ones e.g. 
emoji, variable fonts) that show up, then need fonts, where often the 
first ones are not okay, so bug show up, features changes, specs become 
better (or worse), bugs become features when programs compensate for 
issues, often a side effect of release before maturing (the haste of/on 
the web) but all that can settle after a decade (because in the tex 
world we talk decades anyway). In context so far we managed to keep up 
with e.g. color fonts, variables fonts pretty early (we were one of the 
first to actually typeset with variable fonts) but that of course also 
comes a price of later adaptation (when fonts show up, specs become 
clear). Here definitely a longer time scale matters so using such fonts 
in a project is more tricky for various reasons.

The best would be if we had a repository for context where we put fonts 
(clean file names, maybe with normalized version/date in file name) that 
we can then trust to stay the same. In that case a typescript and lua 
extensions can check for versions reliable.

(We might do that for math to start with.)

Hans

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

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

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

end of thread, other threads:[~2022-01-08 10:42 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-07 15:18 Fallback fails for Linux Libertine O to Junicode over private area, debugging? J. P. Ascher via ntg-context
2022-01-07 16:52 ` Youssef Cherem via ntg-context
2022-01-07 16:59   ` J. P. Ascher via ntg-context
2022-01-07 18:33     ` Hans Hagen via ntg-context
2022-01-07 17:10 ` Hans Hagen via ntg-context
2022-01-07 18:55   ` J. P. Ascher via ntg-context
2022-01-07 19:19     ` Hans Hagen via ntg-context
2022-01-07 21:39       ` J. P. Ascher via ntg-context
2022-01-07 22:01         ` Why mtxrun fails ? Jean-Pierre Delange via ntg-context
2022-01-07 22:40           ` Otared Kavian via ntg-context
2022-01-07 23:00           ` Youssef Cherem via ntg-context
2022-01-08  0:42             ` Jean-Pierre Delange via ntg-context
2022-01-08  0:48               ` Jean-Pierre Delange via ntg-context
2022-01-08  0:45             ` Jean-Pierre Delange via ntg-context
2022-01-08  8:05           ` juh via ntg-context
2022-01-08 10:42         ` Fallback fails for Linux Libertine O to Junicode over private area, debugging? Hans Hagen via ntg-context
2022-01-07 18:23 ` Hans Hagen via ntg-context
2022-01-07 19:11   ` J. P. Ascher via ntg-context

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