linebreak error: no leftinit or rightinit or leftfill or rigthfill expected
I mistakenly sent the following letter to luatex@tug.org yesterday. I hope
it won't cause anyone any trouble. Thanks to luigi for pointing out the
error.
-------------------------------------------------
Hi all,
I just updated my ConTeXt to
system > ConTeXt ver: 2022.07.06 21:42 LMTX fmt: 2022.7.12 int:
english/english
yesterday and got a error message in using tex.linebreak(head) as follow:
luatex warning > linebreak: no [ leftinit | rightinit | leftfill |
rigthfill] expected
I can't get any information about them. The head and the list going to
tex.linebreak() like:
On 7/15/2022 3:06 PM, 黄复雄 via ntg-context wrote:
I mistakenly sent the following letter to luatex@tug.org mailto:luatex@tug.org yesterday. I hope it won't cause anyone any trouble. Thanks to luigi for pointing out the error. -------------------------------------------------
Hi all, I just updated my ConTeXt to
system > ConTeXt ver: 2022.07.06 21:42 LMTX fmt: 2022.7.12 int: english/english
yesterday and got a error message in using tex.linebreak(head) as follow:
luatex warning > linebreak: no [ leftinit | rightinit | leftfill | rigthfill] expected
I can't get any information about them. The head and the list going to tex.linebreak() like:
2873 : par vmodepar> 2879 : glue indentskip> 2891 : glyph unset> 2897 : glue userskip> ... 639 : glyph unset> 3089 : kern userkern> 2334 : glue userskip> 3095 : rule normal> 3101 : glue spaceskip> 642 : glue spaceskip> 3107 : penalty userpenalty> nil : glue userskip> My question is: Which of them is necessary, and How can I node.new() one and Where should it go in the list?
Any hint would be appreciated,
Where do you intercept the list? ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 7/15/2022 3:06 PM, 黄复雄 via ntg-context wrote:
I mistakenly sent the following letter to luatex@tug.org mailto:luatex@tug.org yesterday. I hope it won't cause anyone any trouble. Thanks to luigi for pointing out the error. -------------------------------------------------
Hi all, I just updated my ConTeXt to
system > ConTeXt ver: 2022.07.06 21:42 LMTX fmt: 2022.7.12 int: english/english
yesterday and got a error message in using tex.linebreak(head) as follow:
luatex warning > linebreak: no [ leftinit | rightinit | leftfill | rigthfill] expected
I can't get any information about them. The head and the list going to tex.linebreak() like:
the linbebreak routine expects:
2873 : par vmodepar> 2879 : glue indentskip>
<parinitleftskip> <parinitrightskip>
2891 : glyph unset> 2897 : glue userskip> ... 639 : glyph unset> 3089 : kern userkern> 2334 : glue userskip> 3095 : rule normal> 3101 : glue spaceskip> 642 : glue spaceskip> 3107 : penalty userpenalty> nil : glue userskip>
<infinite penalty> <parfillleftskip> <parfillrightskip>
My question is: Which of them is necessary, and How can I node.new() one and Where should it go in the list?
Any hint would be appreciated,
the next upload will have a prepare helper print("=====================================================") local h = nodes.copylist(head) tex.preparelinebreak(h) local n = tex.linebreak(h) nodes.flushlist(n) print("=====================================================") the luametatex par builder is a bit nore advanced than the luatex one as it offers more features for which it also needs s few more nodes in the list; it could work without but then its also doesn't honor some parameters which then would raise questions; so we're more picky instead (the resulting line boxes are also somewhat different) 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 -----------------------------------------------------------------
Thanks, Hans
I modified my list to:
Thanks, Hans.
My module works again now, with the help of tex.preparelinebreak().
For potential readers:
tex.preparelinebreak(list) modifyed my list for tex.linebreak(list) to:
<par vmodepar> # by user in advance, necessary
<glue parinitleftskip>
<glue parinitrightskip>
<glue indentskip> # by user in advance, necessary
...
<penalty linepenalty> # The last glue here, in the end of the list, is
removed
<glue parfillleftskip>
<glue parfillskip> # as same as parfillrightskip
黄复雄
Thanks, Hans
I modified my list to:
2873 : par vmodepar> 3113 : glue indentskip> 3119 : glue parinitleftskip> 2879 : glue parinitrightskip> 2891 : glyph unset> ... 639 : glyph unset> 3089 : kern userkern> 2334 : glue userskip> 3095 : rule normal> 3101 : glue spaceskip> 642 : glue spaceskip> 3107 : penalty userpenalty> 645 : glue userskip> 3125 : penalty userpenalty> 3131 : glue parfillleftskip> nil : glue parfillskip> but the error is the same, so I'll wait the tex.preparelinebreak(), and observe it's work for more details.
Huang Fusyong(黄复雄)
participants (2)
-
Hans Hagen
-
黄复雄