This posting is a follow-up to the postings Can't generate ligatures with LuaLaTeX under MacTeX2014 and MacTeX2015 when using certain fonts and LuaLaTeX, fontspec, .ttc fonts and kerning (Optima on Mac OS).
I have a 13" MacBookPro that runs MacOSX 10.9.4. The issue is that with with the release of MacTeX2104, LuaLaTeX -- but not XeLaTeX -- has apparently ceased to perform kerning and ligaturing for certain fonts with file extension .ttc. Consider the following MWE:
% !TEX TS-program = LuaLaTeX
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Hoefler Text}
\setsansfont{Optima}
\listfiles
\begin{document}
WA AV Test Type off fit fly office baffle
\textsf{WA AV Test Type}
\end{document}
Running this MWE under LuaTeX 0.79.1 (part of MacTeX2014), I get
whereas running it under LuaTeX 0.76 (provided by MacTeX2013), I get
In the LuaTeX 0.76 output, note the sophisticated kerning and the presence of various f-ligatures. Unfortunately, both kerning and ligaturing appear to have vanished under LuaTeX 0.79.1, at least for the two particular fonts used in this MWE (Hoefler Text
and Optima
). In fact, it's not just these two fonts that are experiencing problems; quite a few fonts with file extension .ttc contained in /Library/Fonts
experience this deterioration as well. Among the ones I've tested and have have found to exhibit the problem described above are Baskerville
, Didot
, and Futura Medium
.
In contrast, I have not (yet!) found a single font with extension .otf that experiences these problems when run with MacTeX2014-version of Lua(La)TeX.
Questions:
Is there something that can/should be done to re-enable kerning and ligaturing under MacTeX2014/LuaLaTeX 0.79.1 with these .ttc fonts?
Barring an affirmative answer to the preceding question, what are the step-by-step instructions for converting one or more of the affected fonts into a format (.otf?) that lets LuaLaTeX 0.79.1 performing kerning and ligaturing correctly? By "correctly", I mean the way that LuaLaTeX 0.76 as well as the older and current vintages of XeLaTeX manage to get these jobs done. Any software used to perform the font format conversion or adaptation should be open-source and (obviously...) be capable of being run under MacOSX.
I'm willing (and able!) to provide a 200 point "bonus" for every good answer to these two questions.
Addendum, August 2015: I've posted a partial solution to the problem, viz., how to manually set up one or more OpenType feature files that provide instructions for LuaLaTeX to generate the ligature substitutions, as an answer to my earlier posting on this subject, Can't generate ligatures with LuaLaTeX under MacTeX2014 and MacTeX2015 when using certain fonts.
For completeness, here are the file lists produced when running the MWE under the two different TeX distributions.
When running MacTeX2014:
This is LuaTeX, Version beta-0.79.1 (TeX Live 2014) (rev 4971)
(format=lualatex 2014.7.9) 26 AUG 2014 21:07
*File List*
article.cls 2007/10/19 v1.4h Standard LaTeX document class
size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
fontspec.sty 2014/06/21 v2.4a Font selection for XeLaTeX and LuaLaTeX
expl3.sty 2014/07/20 v5241 L3 programming layer (loader)
expl3-code.tex 2014/07/20 v5241 L3 programming layer
etex.sty 1998/03/26 v2.0 eTeX basic definition package (PEB)
l3unicode-data.def 2014/06/30 v5166 L3 Unicode data
l3pdfmode.def 2014/07/18 v5232 L3 Experimental driver: PDF mode
xparse.sty 2014/07/20 v5241 L3 Experimental document command parser
luaotfload.sty 2014/08/10 v2.5-4 OpenType layout system
luatexbase.sty 2013/05/11 v0.6 Resource management for the LuaTeX macro programmer
ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO)
luatex.sty 2010/03/09 v0.4 LuaTeX basic definition package (HO)
infwarerr.sty 2010/04/08 v1.3 Providing info/warning/error messages (HO)
luatex-loader.sty 2010/03/09 v0.4 Lua module loader (HO)
luatexbase-compat.sty 2011/05/24 v0.4 Compatibility tools for LuaTeX
luatexbase-modutils.sty 2013/05/11 v0.6 Module utilities for LuaTeX
luatexbase-loader.sty 2013/05/11 v0.6 Lua module loader for LuaTeX
luatexbase-regs.sty 2011/05/24 v0.4 Registers allocation for LuaTeX
luatexbase-attr.sty 2013/05/11 v0.6 Attributes allocation for LuaTeX
luatexbase-cctb.sty 2013/05/11 v0.6 Catcodetable allocation for LuaTeX
luatexbase-mcb.sty 2013/05/11 v0.6 Callback management for LuaTeX
fontspec-patches.sty 2014/06/21 v2.4a Font selection for XeLaTeX and LuaLaTeX
fontspec-luatex.sty 2014/06/21 v2.4a Font selection for XeLaTeX and LuaLaTeX
fontenc.sty
eu2enc.def 2010/05/27 v0.1h Experimental Unicode font encodings
eu2lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern
xunicode.sty 2011/09/09 v0.981 provides access to latin accents and many other characters in Unicode lower plane
eu2lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern
graphicx.sty 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
keyval.sty 2014/05/08 v1.15 key=value parser (DPC)
graphics.sty 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
ltxcmds.sty 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
pdftexcmds.sty 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO)
ifpdf.sty 2011/01/30 v2.3 Provides the ifpdf switch (HO)
fontspec.cfg
t3cmr.fd 2001/12/31 TIPA font definitions
supp-pdf.mkii
epstopdf-base.sty 2010/02/09 v2.5 Base part for package epstopdf
grfext.sty 2010/08/19 v1.1 Manage graphics extensions (HO)
kvdefinekeys.sty 2011/04/07 v1.3 Define keys (HO)
kvoptions.sty 2011/06/30 v3.11 Key value format for package options (HO)
kvsetkeys.sty 2012/04/25 v1.16 Key value parser (HO)
etexcmds.sty 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
***********
When running MacTeX2013:
This is LuaTeX, Version beta-0.76.0-2013061817 (rev 4627)
(format=lualatex 2014.3.31) 26 AUG 2014 21:09
*File List*
article.cls 2007/10/19 v1.4h Standard LaTeX document class
size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
fontspec.sty 2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX
expl3.sty 2014/01/07 v4646 L3 Experimental code bundle wrapper
l3names.sty 2014/01/04 v4640 L3 Namespace for primitives
l3bootstrap.sty 2014/01/04 v4640 L3 Experimental bootstrap code
luatex.sty 2010/03/09 v0.4 LuaTeX basic definition package (HO)
infwarerr.sty 2010/04/08 v1.3 Providing info/warning/error messages (HO)
ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO)
etex.sty 1998/03/26 v2.0 eTeX basic definition package (PEB)
luatex-loader.sty 2010/03/09 v0.4 Lua module loader (HO)
pdftexcmds.sty 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO)
ltxcmds.sty 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
ifpdf.sty 2011/01/30 v2.3 Provides the ifpdf switch (HO)
l3basics.sty 2014/01/04 v4642 L3 Basic definitions
l3expan.sty 2014/01/04 v4642 L3 Argument expansion
l3tl.sty 2013/12/27 v4625 L3 Token lists
l3seq.sty 2013/12/14 v4623 L3 Sequences and stacks
l3int.sty 2013/08/02 v4583 L3 Integers
l3quark.sty 2013/12/14 v4623 L3 Quarks
l3prg.sty 2014/01/04 v4642 L3 Control structures
l3clist.sty 2013/07/28 v4581 L3 Comma separated lists
l3token.sty 2013/08/25 v4587 L3 Experimental token manipulation
l3prop.sty 2013/12/14 v4623 L3 Property lists
l3msg.sty 2013/07/28 v4581 L3 Messages
l3file.sty 2013/10/13 v4596 L3 File and I/O operations
l3skip.sty 2013/07/28 v4581 L3 Dimensions and skips
l3keys.sty 2013/12/08 v4614 L3 Experimental key-value interfaces
l3fp.sty 2014/01/04 v4642 L3 Floating points
l3box.sty 2013/07/28 v4581 L3 Experimental boxes
l3coffins.sty 2013/12/14 v4624 L3 Coffin code layer
l3color.sty 2012/08/29 v4156 L3 Experimental color support
l3luatex.sty 2013/07/28 v4581 L3 Experimental LuaTeX-specific functions
l3candidates.sty 2014/01/06 v4643 L3 Experimental additions to l3kernel
xparse.sty 2013/12/31 v4634 L3 Experimental document command parser
luaotfload.sty 2014/02/05 v2.4-3 OpenType layout system
luatexbase.sty 2013/05/11 v0.6 Resource management for the LuaTeX macro programmer
luatexbase-compat.sty 2011/05/24 v0.4 Compatibility tools for LuaTeX
luatexbase-modutils.sty 2013/05/11 v0.6 Module utilities for LuaTeX
luatexbase-loader.sty 2013/05/11 v0.6 Lua module loader for LuaTeX
luatexbase-regs.sty 2011/05/24 v0.4 Registers allocation for LuaTeX
luatexbase-attr.sty 2013/05/11 v0.6 Attributes allocation for LuaTeX
luatexbase-cctb.sty 2013/05/11 v0.6 Catcodetable allocation for LuaTeX
luatexbase-mcb.sty 2013/05/11 v0.6 Callback management for LuaTeX
fontspec-patches.sty 2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX
fixltx2e.sty 2006/09/13 v1.1m fixes to LaTeX
fontspec-luatex.sty 2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX
fontenc.sty
eu2enc.def 2010/05/27 v0.1h Experimental Unicode font encodings
eu2lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern
xunicode.sty 2011/09/09 v0.981 provides access to latin accents and many other characters in Unicode lower plane
eu2lmss.fd 2009/10/30 v1.6 Font defs for Latin Modern
graphicx.sty 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
graphics.sty 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
fontspec.cfg
t3cmr.fd 2001/12/31 TIPA font definitions
supp-pdf.mkii
epstopdf-base.sty 2010/02/09 v2.5 Base part for package epstopdf
grfext.sty 2010/08/19 v1.1 Manage graphics extensions (HO)
kvdefinekeys.sty 2011/04/07 v1.3 Define keys (HO)
kvoptions.sty 2011/06/30 v3.11 Key value format for package options (HO)
kvsetkeys.sty 2012/04/25 v1.16 Key value parser (HO)
etexcmds.sty 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
***********