Skip to content
This repository has been archived by the owner on Sep 27, 2019. It is now read-only.

Unable to print ligature-free smallcaps #310

Closed
priyadarshan opened this issue Dec 17, 2015 · 9 comments
Closed

Unable to print ligature-free smallcaps #310

priyadarshan opened this issue Dec 17, 2015 · 9 comments
Labels

Comments

@priyadarshan
Copy link

When I installed the latest version of luaotfload, I started having issues with smallcaps.

No matter what I do, smallcaps are being printed with ligatures, even when instructed otherwise.

The exact situation is described on this tex.stackexchange.com question by user gsl.

Basically, with new version I am unable to switch off ligatures when using smallcaps.

I am copying from that question, as I could not describe better:

The following MWE is using Minion, but I tried with many similar fonts: Dante, Merlo, Caslon, etc.

% !TEX TS-program = LuaLaTeX

\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={NoRequired, NoCommon, NoContextual}}

\newfontfamily\MinionSmallCaps
[Ligatures={NoRequired, NoCommon, NoContextual},
Letters={UppercaseSmallCaps,SmallCaps},
LetterSpace=80,WordSpace=3]
{MinionPro}

\begin{document}
\addfontfeatures{Ligatures={NoRequired, NoCommon, NoContextual}}
\MinionSmallCaps Test is here [Minion]
\end{document}

Environment:

This is LuaTeX, Version beta-0.80.0 (TeX Live 2015) (rev 5238) 
fontspec-luatex.sty    2015/09/24 v2.4e
fontspec-patches.sty    2015/09/24 v2.4e    
luaotfload.sty    2015/12/09 v2.6

Results:

enter image description here

I am able to have the desired result, using the same text and same font, using InDesign:

enter image description here

InDesign settings:

enter image description here

How can one completely switch off ligatures while using smallcaps with LuaLaTeX?


Edit 1

Writing "testate" and using "Minionpro", as suggested by @ulrike-fischer throws an error:

luaotfload-letterspace.lua:445: You cannot set field prev.next in a node of type glyph

The results is this one:

enter image description here


Edit 2

Using a similar free font, Cardo, with

\CardoSmallCaps Testate is here [Cardo]

The result is this one:

enter image description here

The ligatures are off, although the Letters={UppercaseSmallCaps,SmallCaps} directive seems not to be respected perfectly.


Edit 3

As user egreg said,

It really seems a bug in luaotfload, if not in LuaTeX.


Edit 4
User egreg said

I write estate with Linux Libertine as font, I get no letter spacing in TAT, but an error with Minion Pro. So there's some problem when letters are kerned.

@priyadarshan
Copy link
Author

This issue could be related to #309, although it is not quite similar.

@phi-gamma
Copy link
Member

···<date: 2015-12-17, Thursday>···<from: Priyadarshan>···

How can one completely switch off ligatures while using smallcaps with LuaLaTeX?

What do you mean “switch off” -- have you tried defining the font
without the “liga” feature?

Writing "testate" and using "Minionpro", as suggested by @ulrike-fischer throws an error:

luaotfload-letterspace.lua:445: You cannot set field prev.next in a node of type glyph

Probably my fault, I’ll investigate. A lot of things changed on
this front, causing node handling to be more delicate. Thanks for
reporting.

Best,
Philipp

@phi-gamma
Copy link
Member

···<date: 2015-12-17, Thursday>···<from: Priyadarshan>···

Writing "testate" and using "Minionpro", as suggested by
@ulrike-fischer throws an error:

luaotfload-letterspace.lua:445: You cannot set field prev.next in a node of type glyph

Interestingly, that error only occurs with the Luatex in Texlive.
With 0.87.0 it doesn’t.

phi-gamma added a commit to phi-gamma/luaotfload that referenced this issue Dec 18, 2015
This addresses one error reported by u/priyadarshan:

    lualatex#310

Some chained node field access got garbled during the update to nuts.
@phi-gamma
Copy link
Member

···<date: 2015-12-17, Thursday>···<from: Priyadarshan>···

Writing "testate" and using "Minionpro", as suggested by @ulrike-fischer throws an error:

luaotfload-letterspace.lua:445: You cannot set field prev.next in a node of type glyph

Ok, that crash is fixed.

@phi-gamma phi-gamma added the bug label Dec 18, 2015
@priyadarshan
Copy link
Author

Thanks for that. Also, apologies for using Fontspec terminology, while I should have reported this within proper Luaotfload namespace.

@priyadarshan priyadarshan changed the title Unable to switch off ligatures in smallcaps Unable to print ligature-free smallcaps Dec 18, 2015
@phi-gamma
Copy link
Member

This turned out to be a regression in letterspacing. With the
current master the output is this:

letterspace fixed

@priyadarshan
Copy link
Author

Very nice, thank you!

Would you want me to test it with other fonts as well?
Is there going to be a release soon(ish), perhaps even ad interim, ie not still meant for CTAN?
If not, I see from README one could compile it using Make. I could try that way.

Thank you so much for all your work. It is really appreciated, especially so close to the festivities!

@phi-gamma
Copy link
Member

@priyadarshan New release has been uploaded. Please test and reopen if
necessary. We’ll continue next year.

@priyadarshan
Copy link
Author

I will. Thank you so much for your work. Happy holidays!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants