Here's something I don't understand. Why do I get totally different output with xelatex and lualatex with this answer?: tex.stackexchange.com/a/458907/87678 (This is true even without the \addto\extrasenglish section.) Surely, the out put shouldn't be this different?
@DavidPurton xelatex and lualatex use very different methods to insert the french spaces: xetex really inserts spaces (with intertoks) while lualatex manipulates the kerning in the kerning callback. Imho in the answer the best is probably to suppress the spacing for french with \NoAutoSpacing.
@DavidPurton the hyphenation code in luatex is radically different to that in classic tex, it takes the same hyphenation patterns as input but after that it's basically different. In particular its rules of what to do adjacent to non-letter nodes (boxes etc) is different to classic tex by default and (slightly) configurable by user-settable parameters. I haven't checked exactly what french babel inserts for the punctuation space but i would guess that's the issue.
oh I should read the chat backwards, @UlrikeFischer just said that (probably more accurately:-)
@UlrikeFischer, @DavidCarlisle, thanks. I have been looking at the code and seeing how it works. Unfortunately, the lua spacing function is hard coded to work only with the French language. I made a hack that kind of works. Who knows what the side effects are though. I might update my answer just for fun.
@Skillmon not with xetex (hyphenation would be wrong) but even with luatex you lose all the unicode support if you insist on using a 256 character font clone in a tex-specific encoding rather than an OpenType or Truetype real Helvetica.
@Skillmon you must have some helvetica clone on your system or there is TeX Gyre Heros (which is probably closest in spirit)
@Nick not really a reasonable question in that generality, what do you want to do, what isn't working well etc..... (also the link isn't public, so best to ask about code that is on this site)
@Nick leave out the space between "Automation" and ":" in the title.
@Nick use the siunitx package to format units and numbers. The 85\% then would be \SI{85}{\percent}. If you don't want to use a package and that is your only number with a unit, it should be 85\,\%.
@Nick Protect the space between "30" and "pages", it should be 30~pages instead of 30 pages.
@Nick It should be "less than 85 %" not "less that 85 %".
@Nick also no space before ":" in "following :"
@Nick In the Q\&A section, use a command or environment dedicated to it (not just a new paragraph with (Q) before it).
@KhaledHosny @UlrikeFischer I tried one way to combine Luaotfload and luahbtex-harf on GitHub (github.com/zauguin/luaotfload/tree/custom_mode and github.com/zauguin/luahbtex-harf/tree/luaotfload) This is based on extending luaotfload to allow custom loaders using the mode option. This could easily allow luahbtex-harf to reuse the feature string parsing, the name lookup etc.
Alternatively luahbtex-harf could be added as a lua-font without changing luaotfload at all, but this would make the loading syntax ugly.
@MarcelKrüger For usability mostly (for users and TeX Live maintainers). Loadable Lua modules do not always work on all platforms with LuaTeX (AFAIK) and TeX Live do not want to support them, and ffi requires --shell-escape.
@MarcelKrüger you mean instead of "mode=node" one should then use "mode=buzz"? That sounds very logical (and extensible ...). At a first glance it looks as if one could add the code without problems already now without disturbing the current code. Could you sent a pull request so that the travis tests can run? (I'm away this afternoon so can't look more closely now).
@MarcelKrüger unless there can be white listed libraries loaded by ffi that don't need --shell-escape it means it's really unusable as something available and easily usable by general users. You can't make --shell-escape the default.
@rshah the error is that you have a [] in an optional argument that should not be there, but don't use external links, and don't post error messages as images, ask a question on site with a test file and error message as text in a code block so people can debug it.
@KhaledHosny Do you have any details about platform specific problems of loadable modules? I'm mostly asking because I use them a lot and would like to avoid creating lots of "new" engines if I ever have to port them, especially because I do not want to use FFI instead.
@MarcelKrüger Actually there might be slight differences, luahbtex uses ICU for HarfBuzz unicode callbacks, while standalone luaharfbuzz most likely is using be using ucdn or glib.
@MarcelKrüger IIRC, they don’t work on Windows as they link to lua libraries that luatex already has, there were several rounds of discussions about them on luatex mailing list a while ago and they seemed to be tricky to setup.
@MarcelKrüger I’m told TeX Live team is not super enthusiastic about supporting them either, so they might not be an option if we want inclusion in TeX Live. It would have made my life much easier otherwise.
@MarcelKrüger See §3.2 in LuaTeX manual.
> Loading dynamic Lua libraries will fail if there are two Lua libraries loaded at the same time (which will typically happen on win32, because there is one Lua 5.2 inside LuaTeX, and another will likely be linked to the dll file of the module itself).
> LuaTeX is able to use dynamically loadable Lua libraries, unless --safer was given as an option on the command line.
@KhaledHosny I do not think it should become a core part of LuaTeX, because it is just too big: With my configuration, the LuaHBTeX binary is almost 4 times the size of regular LuaTeX. That is a price I am happy to pay if I am using Harfbuzz, but not something I want to fill my memory with every single time I am using LuaTeX. Of course YMMV, but I suspect Luigi&co will not be thrilled about this either...
@JosephWright yes I think with that I should get @UlrikeFischer's tests to pass here then i can move them back to the main hotex/oberdiek repo (and will probably convert the rest of the build to l3build at the same time)
@JosephWright yes will do, not been at my desk much today
@DavidCarlisle Blog conversion largely done for the indiviual posts: I now need to sort a front page/layout, or work out how to reuse my existing one ...
@DavidCarlisle I think it's just bulk edit ... let me check
@DavidCarlisle No wrapping changes: just let me tighten up the pattern a little ...
@MarcelKrüger but in practice is size of binary important (compared to things like speed of font loading and getting the correct font shaping)? If this becomes available it's quite likely we'd want it to be the main or only version of lualatex in standard distributions.
*** 18,22 ****
Package zref Info: New property: foo on input line ....
Package qstest Info: Passed: getcurrent on input line ....
Package qstest Info: Passed: extract on input line ....
! [1
] (zref-test-base.aux)
--- 18,22 ----
Package zref Info: New property: foo on input line ....
Package qstest Info: Passed: getcurrent on input line ....
Package qstest Info: Passed: extract on input line ....
! [1
] (zref-test-base.aux)
@DavidCarlisle For LuaLaTeX which loads the fontloader anyway I would agree, but I have some automated systems using plain LuaTeX and legacy fonts on low-end hardware, where I would not feel comfortable pulling 20MB of unneeded libraries in. Especially if LuaTeX would normally have the functionality to load this dynamically...
@DavidCarlisle Of course in practice I would just build a custom version dropping Harfbuzz and replacing it with a loadable module, but think such a binary should stay available without such manual work.
what is the "policy" regarding changing code in someone else's answer to update it to work with a change in macro name in a package? tex.stackexchange.com/questions/459022/… Can I just edit the original @lockstep answer?
never mind. There are a whole bunch of identical questions that should probably all be closed as duplicates of each other to help people not get lost.
*** 17,21 ****
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line ....
LaTeX Font Info: Try loading font information for TS1+cmr on input line ...
.
LaTeX Font Info: ... okay on input line ....
! [1]
! (selinput-test5.aux)
--- 17,20 ----
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line ....
LaTeX Font Info: Try loading font information for TS1+cmr on input line ...
.
LaTeX Font Info: ... okay on input line ....
! [1] (selinput-test5.aux)
@JosephWright @UlrikeFischer with the latest l3build I just get two failures, the xetex pdf as I haven't updated the binary and this one but I think that's fine as I can make that pass by adding a \clearpage to the test to force the [1] out before \end{document} makes the (selinput-test5.aux) so you then always get a newline (whatever the path length to the fd files), @UlrikeFischer do you want a pull request to text-oberdiek or should i just check them in to oberdiek directly?
@UlrikeFischer to get passing with the frankfurt l3build release I globally edited the tlg to remove white space at start of line before ( and before [<digit>
@DavidCarlisle sorry just came in and not quite up-to-date. But imho as soon as it is in oberdiek I can delete my stuff (apart from the notes and the csv). I started with the hyperref stuff but messed it up a bit (lost some files to .gitignore). Some tests are from 1999 with epsfig ;-).
@DavidCarlisle you only want to blame me ;-). You can it give to me if you want but probably I will still leave it to you - not sure if I can run all the scripts.
@UlrikeFischer I plan to make it a pure l3build install and remove all the remaining scripting, I think that should be possible now I simplified the README
@DavidCarlisle regarding the test files: I removed allmost all the dtx stuff (generated from ....), if you think that some license or so are still needed it should be readded.
@DavidCarlisle the config-hyperref.lua shouldn't be there. That's the one I use to do the hyperref stuff (but it doesn't harm as it is isn't in the build.lua).
@UlrikeFischer, @DavidCarlisle I take it l3build is performing more-or-less as required here? This is probably the most challengine set of tests other than perhaps the kernel ...
@DavidCarlisle ah. That's why it contained more files than I remembered ;-) I'm wondering how to handle xetex with the hyperref tests. pdf-tests are quite natural there but naturally all xetex tests fails.
@JosephWright I think we will have to wait a bit and see how stable the tests really are. But I already said to David that we are also building a testsuite for l3build with this project;-).
@MarcelKrüger I don’t think file size should be a concern, but what works for a big chunk of users who right now can’t use LuaTeX because it chocks on big fonts (Noto*CJK), or can’t handle many scripts at all, or the scripts it supports are often complete and buggy (I had issue even with Latin fonts!). TL could have used dynamic linking for its libraries as many of them are shared among different engine, but they seem to value convenience over saving space.
@MarcelKrüger The increased binary size is the icudata which TL chooses to statically link to the binary, but ICU default is to dynamically load it. HarfBuzz itself is rather small.