On 2/23/2017 6:26 PM, Ulrike Fischer wrote:
Am Thu, 23 Feb 2017 16:55:08 +0100 schrieb Hans Hagen:
it's not a ligature but a multiple
fonts.handlers.otf.addfeature { name = "decompose", type = "multiple", nocheck = true, -- new trick
I updated my context version and changed my luaotfload.conf so that it uses the context fontloader. Then the following plain tex document (and a similar latex document) works and gives the wanted output.
BUT: If I uncomment the AU+0323 then I get a fatal error:
texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc)table={ [7684]={ 66, 803 }, }
! error: (linebreak): invalid list tail, probably missing glue ! ==> Fatal error occurred, no output PDF file produced!Drücken Sie eine beliebige Taste . . .
(that's from the terminal output, the log doesn't show the "table=..." part).
This "invalid list tail" is popping up now an then. Philip even found a version were context crashed: https://github.com/lualatex/luaotfload/issues/388
\input luaotfload.sty
\directlua { fonts.handlers.otf.addfeature { name = "compose", type = "ligature", data = { ["Ạ"]={ "A", "̣" }, }, } } \directlua{ fonts.handlers.otf.addfeature { name = "decompose", type = "multiple", nocheck = true, data = { ["Ḅ"] = { "B", "̣" }, }, } } %\begin{document} \font\test={file:lmroman10-regular.otf:mode=node;+decompose;+compose;}
\test
Ḅ Ạ % Ạ %uncomment this to get a fatal error. Ḅ
\bye
With the standard fontloader of luaotfload there is no error but the output is not correct.
I think that you cannot drop the new context code in an old otfload, because (1) afaik otfload patches code, and (2) because the context code assumes luatex 1.0.3 at least. Philip send me some test files a while ago so these bugs might have been fixed. (There are no real fundamental changes, most is performance related and there have been improvements in discretionary handling. I have no clue if I added all relevant helpers to the generic code but normally Philip checks that.) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------