-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documentation: better explain pros and cons of the different renderers #265
Comments
Item 2 is issue #152. The MWE shows this bug hasn’t been fixed, so with Latin/Cyrillic/Greek you should rely on the default renderer. Sadly, it may misplace some diacritics. |
The modes are very different implementation wise, so it's hard to list all points where they differ. So I started a wiki-page where differences and pro/cons can be collected which people consider relevant and we can consider merging that into the documentation later. I created a first draft based on your points, feel free to add or modify. A few notes about your points:
@jbezos Is there already an issue for the misplaced diacritics problem? |
@zauguin Sadly, I haven’t kept any examples and it’s even possible it’s already fixed (maybe with |
In addition to the previous points, I also happen to see
when I set the OpenType renderer in the math font (XITS Math). Is this expected? |
With respect to compilation speed, see also: fontspec issue 491, which may hide the speed differences, unless the renderer option is individually attached to all the loaded fonts. |
Never use another mode than |
This is extremely helpful, thanks! |
Apparently, there is a very significant difference in compilation times when using the default (node) renderer and harfbuzz.
On short documents using a non negligible amount of fonts, harfbuzz can half the compilation time. Possibly in larger documents, the generally longer compilation times will make the difference less striking. As an example, on some exam papers that are just a few pages long and that employ Source Serif 4, Source Sans 3, Source Code Pro, Cinzel and XITS (Math), the compilation time drops from 5 to 6 s to approximately 2.5s using harfbuzz and looking at the production of the lualatex log on stdout it is very evident how the output pauses as the font loading happens.
This makes it tempting to configure the fonts to use the harfbuzz renderer via fontspec (e.g. with a default font feature), at least in the initial phases of a document writing (as if it was a draft feature). However, from the documentation it is not very clear what the implications of doing so would be. From what I understand:
Specifically is 2. still true? Are there any other contraindications in using harfbuzz? Will switching from node to harfbuzz or viceversa change linebreaks and pagebreaks? Is there anything subtle and specific that one needs to check when switching from one renderer to another one (e.g., to avoid ending up with some incorrectly rendered PDFs without noticing)? Shouldn't point 4 be mentioned in the docs? Is point 4 expected to remain true?
IMHO these points, including 4, are worth mentioning both in the luaotfload and in the fontspec documentation (more technical and more user oriented respectively), because users might be quite interested in turnaround times particularly in certain workflows (e.g. if you use overleaf) or in certain phases of document preparation. As a matter of fact, compilation time is probably the hottest selling point of LaTeX competitors (e.g. typst).
The text was updated successfully, but these errors were encountered: