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

J. P. Ascher jpa4q at virginia.edu
Fri Jan 7 16:18:24 CET 2022


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: min.log
Type: application/octet-stream
Size: 9153 bytes
Desc: not available
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20220107/ec6883aa/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: min.pdf
Type: application/pdf
Size: 28696 bytes
Desc: not available
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20220107/ec6883aa/attachment-0001.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: min.tex
Type: application/x-tex
Size: 1836 bytes
Desc: not available
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20220107/ec6883aa/attachment-0001.tex>


More information about the ntg-context mailing list