Simon Cozens
Simon Cozens
Even more minimal example: ``` \begin{document} \script[src=packages/font-fallback] \language[main=ja] \font[family=Inconsolata] .ph \end{document} ```
Oh ho ho. Loading Japanese support defines the zenkaku width character, which is defined by measuring a sample Japanese character (we measure あ). But at this point font-fallback goes mad...
In hindsight I think we should probably strip out the alternates code and just have a "pure" Knuth-Plass implementation, with plugins providing alternate breaking implementations (for alternates and variable fonts,...
Nope. Discretionaries are part of the original Knuth-Plass, alternatives was an experiment I was trying to pave the way for variable font support, but I've found a better way to...
If you can't narrow it down, load the debug package and disable pushback at the start of your document: ``` \script[src=packages/debug] \disable-pushback ``` If that works, we know where the...
If you manage to isolate an MWE I'd like to take a look.
The problem is line 17 in `packages/balanced-frames.lua`. Try replacing it with this and see if it actually outputs the right thing: ``` if frame.next.id then frame = SILE.getFrame(frame.next) else break...
There's still an issue with coincident lines which don't share a start or end point.
Well, maybe, but there's another problem too! It's an order-of-execution problem: `tryAlternates` writes its result data into the current active break node, but the break node for the actual *current...
I think in this case it's looking at something very different (design not just existence) so a separate check is fine. In fact, the idea that we need to do...