Results 594 comments of 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...