Beste vrienden,
Ik loop tegen iets eigenaardigs aan. Ik moet een tekst meerdere fonts produceren, voor drukproeven. Het gaat om Cochin en Baskerville. Ik werk met TeXLive 2016 op een Mac.
Ziehier een stuk code:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{fontspec}
\newcommand{\test}{\par\noindent efficiency first\\efficiency first}
\newcommand{\lig}[1]{%
#1 ligatures:
\setmainfont[Ligatures=#1]{Baskerville}
\test\par\noindent
}
%\setmainfont[Ligatures={Required, Common,Contextual,Rare,Historic,TeX}]{Baskervlle}
\begin{document}
\noindent
First row: separated typed chars, Second row: UTF-chars\\[2ex]
No\lig{}
\lig{TeX}
\lig{Common}
\lig{Rare}
%\lig{Historic}
%\lig{Contextual}
%\lig{Required}
\end{document}
De output staat op http://wmv.digifuga.nl/bask.pdf
Het betreft hier de tekst met Baskerville: eenzelfde zin, een keer getikt met normale letters, en een keer met de UTF-8 ligaturen direct in de source.
Met de UTF-8 characters direct in de source gaat het goed, ik krijg de fi en de ffi ligaturen keurig in de tekst.
Met de omzetting van de characters naar de ligaturen at runtime gaat het met fi goed, maar met ffi niet. Ik heb geprobeerd om verschillende opties voor de ligaturen te laten werken. "Historic", "Contextual" en "Required" geven een foutmelding ("aat-feature-not-exist" 'Ligatures=Historic' feature not supported for AAT font 'Baskerville'), maar "TeX", "Common" en "Rare" geven ook niet het gewenste resultaat voor ffi.
De glyph bestaat dus wel degelijk in het font. Ik denk dat het ergens misgaat in de interpreter voor f-f-i.
Weten jullie wat ik hier fout doe? Voordat ik een script ga schrijven om de source om te zetten naar de UTF-8 glyphs (wat ik liever niet wil ivm doorzoekbaarheid van de output-PDF), wil ik jullie toch graag even raadplegen. De internet hulpgroepen hebben vooralsnog geen oplossing geboden :-(
(Met Cochin gaat het overigens helemaal fout: de glyph ffi blijkt niet te bestaan in het font (best gek voor een oude klassieker), en de f-i ligature wordt ook niet geïnterpreteerd...)
Ik heb ook geprobeerd met LuaLaTeX, maar daar gaat alles ook helemaal fout want ik krijg allerlei meldingen over een fonts-database, waar ik voorlopig helemaal niets van snap. Ik ga nog eea opzoeken op internet.
Alvast hartelijk dank voor jullie input
Bas Dekker
(sub-account voor TeXniek)
Postbus 11088
1001 GB Amsterdam
+31 (0)6 25 00 32 78
texnics(a)digifuga.nl
https://www.preining.info/blog/2018/02/in-memoriam-staszek-wawrykiewicz/
"Staszek was an active member of the Polish TeX community, and an incredibly valuable TeX Live Team member. His insistence and perseverance have saved TeX Live from many disasters and bugs. Although I have been in contact with Staszek over the TeX Live mailing lists since some years, I met him in person for the first time on my first ever BachoTeX, the EuroBachoTeX 2007. His friendliness, openness to all new things, his inquisitiveness, all took a great place in my heart."
Beste ntg'ers
Ik heb texlive 2017 op mijn debian jessie geïnstalleerd en krijg nu:
Compiling...Messages for file
/usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: "kernel/command-already-defined"
!
! Control sequence \latinencoding already defined.
!
! See the LaTeX3 documentation for further information.
!
! For immediate help type H <return>.
!...............................................
l.121 \tl_new:N \latinencoding
file:
/usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
line 121: \tl_new:N \latinencoding
10 errors
met tlmgr update -all geen verbetering.
Wat moet ik doen om e.e.a. werkend/gecompileerd te krijgen?
Ik heb nog geen m.w.e., helaas, en
https://tex.stackexchange.com/questions/380492/compiling-error-l3experiment…
levert niets beters op.
Ik heb nu de betreffende regel (121) in
/usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
met %% uitgeschakeld, maar dat lijkt mij niet de juiste manier.
Compilatie werkt wel, nu.
Heeft iemand betere suggesties?
B.v. dank, Ernst van der Storm, Nieuwegein.