[NTG-context] Fallback fails for Linux Libertine O to Junicode over private area, debugging?

J. P. Ascher jpa4q at virginia.edu
Fri Jan 7 17:59:40 CET 2022


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 at 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 at 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 at 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
>  ___________________________________________________________________________________



More information about the ntg-context mailing list