Re: Lout typesetting questions
William Bader <[email protected]> Mon, 10 Nov 2025 00:04:48 +0000
| Newsgroups | gmane.comp.type-setting.lout |
|---|---|
| Message-ID | <PA3P190MB2438F229822980CD203CB8AFC4C1A@PA3P190MB2438.EURP190.PROD.OUTLOOK.COM> |
--_000_PA3P190MB2438F229822980CD203CB8AFC4C1APA3P190MB2438EURP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, To add to what others have already replied. > 2. Does anyone have a public document (or HTML5 public page, or some publ= ic email on some public and still accessible in 2025 archived mailing list)= describing the organization of the C files (the file names z[0-9]*.c are n= ot very user or developer friendly). The files have comments at the top and some comments in the code. Lout is o= nly about 50k lines long, so it is easily readable. > 3. Is Lout multi-threaded? (I believe it is not) I'm not sure that it could be multi-threaded because the document needs to = be processed sequentially to know where each line breaks. Do you have a document that takes lout a long time to process? > 3. Did anyone tried to use the Boehm garbage collector in Lout? Lout is I/O-bound and does not use an excessive amount of memory, so there = wouldn't be much to gain from modifying memory its allocation system. The C level and the lout object level both explicitly allocate and free ite= ms as needed, so garbage collection is not needed. Do you have a document that shows a problem with memory usage? > 4. Did anyone tried to extend Lout with some plugin machinery (like recen= t GCC have)? > 5. Did anyone experimented some Lout extensions adding a [turing-complete= ] scripting language inside it Before doing that, what specifically do you need to do? You might want to look at how Scribus uses python, for example https://wiki= .scribus.net/canvas/Category:Scripts and https://impagina.org/scribus-scrip= ter-api/ Scribus can take the name of a python script on its command line, and then = it runs the script in an environment that provides a scribus module that le= ts you create documents. There are example scripts for making calendars and= for doing a mail-merge. Regards, William ________________________________ From: [email protected] <lout-users-= [email protected]> on behalf of Basile Starynke= vitch <[email protected]> Sent: Sunday, November 9, 2025 6:22 AM To: [email protected] <[email protected]> Subject: Lout typesetting questions Hello all (I am French) I just did git clone https://git.sr.ht/~mcepl/lout/ (on Linux/Debian/testin= g, not interested by other OSes) and I have a few questions about it. 1. Is GNU lout still some active open source project? 2. Does anyone have a public document (or HTML5 public page, or some public= email on some public and still accessible in 2025 archived mailing list) describing the organization of the C files (the file names z[0-9]*.c are no= t very user or developer friendly). 3. Is Lout multi-threaded? (I believe it is not) 3. Did anyone tried to use the Boehm garbage collector in Lout? 4. Did anyone tried to extend Lout with some plugin machinery (like recent = GCC have)? Is there any philosophical objection if I try to add one? 5. Did anyone experimented some Lout extensions adding a [turing-complete] = scripting language inside it (Like LuaLaTeX has)? I dream of a Lout extended with GNU guile (perhaps might work on it once I understood Lout in= ternal organization) Regards -- Basile STARYNKEVITCH <[email protected]> 8 rue de la Fa=EFencerie http://starynkevitch.net/Bas= ile/ 92340 Bourg-la-Reine https://github.com/bstarynk France https://github.com/RefPerSys/RefPerSy= s https://orcid.org/0000-0003-0908-5250 --_000_PA3P190MB2438F229822980CD203CB8AFC4C1APA3P190MB2438EURP_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-= 1"> <style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo= ttom:0;} </style> </head> <body dir=3D"ltr"> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> Hi,</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> </div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> To add to what others have already replied.</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> </div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> > 2. Does anyone have a public document (or HTML5 public page, or some p= ublic email on some public and still accessible in 2025 archived mailing li= st) describing the organization of the C files (the file names z[0-9]*.c ar= e not very user or developer friendly).<br> <br> The files have comments at the top and some comments in the code. Lout is o= nly about 50k lines long, so it is easily readable.</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> </div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> > 3. Is Lout multi-threaded? (I believe it is not)<br> <br> I'm not sure that it could be multi-threaded because the document needs to = be processed sequentially to know where each line breaks.</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> </div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> Do you have a document that takes lout a long time to process?</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> > 3. Did anyone tried to use the Boehm garbage collector in Lout?<br> <br> Lout is I/O-bound and does not use an excessive amount of memory, so there = wouldn't be much to gain from modifying memory its allocation system.<br> <br> The C level and the lout object level both explicitly allocate and free ite= ms as needed, so garbage collection is not needed.<br> <br> Do you have a document that shows a problem with memory usage?</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> > 4. Did anyone tried to extend Lout with some plugin machinery (like re= cent GCC have)?</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> > 5. Did anyone experimented some Lout extensions adding a [turing-compl= ete] scripting language inside it</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> </div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> Before doing that, what specifically do you need to do?</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> </div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> You might want to look at how Scribus uses python, for example <a href=3D"h= ttps://wiki.scribus.net/canvas/Category:Scripts"> https://wiki.scribus.net/canvas/Category:Scripts</a> and <a href=3D"ht= tps://impagina.org/scribus-scripter-api/"> https://impagina.org/scribus-scripter-api/</a></div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> Scribus can take the name of a python script on its command line, and then = it runs the script in an environment that provides a scribus module th= at lets you create documents. There are example scripts for making calendar= s and for doing a mail-merge.<br> <br> </div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> Regards, William</div> <div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;= color: rgb(0, 0, 0);" class=3D"elementToProof"> <br> </div> <hr style=3D"display: inline-block; width: 98%;"> <div id=3D"divRplyFwdMsg"> <div style=3D"direction: ltr; font-family: Calibri, sans-serif; font-size: = 11pt; color: rgb(0, 0, 0);"> <b>From:</b> [email protected] = <[email protected]> on behalf = of Basile Starynkevitch <[email protected]><br> <b>Sent:</b> Sunday, November 9, 2025 6:22 AM<br> <b>To:</b> [email protected] <[email protected]><br> <b>Subject:</b> Lout typesetting questions</div> <div style=3D"direction: ltr;"> </div> </div> <div style=3D"font-size: 11pt;" class=3D"elementToProof">Hello all (I am Fr= ench)<br> <br> I just did git clone <a data-auth=3D"NotApplicable" class=3D"OWAAutoLink" i= d=3D"OWAd44ce506-9f0e-4119-30d2-a48149a8f9e1" href=3D"https://git.sr.ht/~mc= epl/lout/"> https://git.sr.ht/~mcepl/lout/</a> (on Linux/Debian/testing, not inter= ested by other OSes) and I have a few questions about it.<br> <br> 1. Is GNU lout still some active open source project?<br> <br> 2. Does anyone have a public document (or HTML5 public page, or some public= email on some public and still accessible in 2025 archived mailing list)&n= bsp;<br> describing the organization of the C files (the file names z[0-9]*.c are no= t very user or developer friendly).<br> <br> 3. Is Lout multi-threaded? (I believe it is not)<br> <br> 3. Did anyone tried to use the Boehm garbage collector in Lout?<br> <br> 4. Did anyone tried to extend Lout with some plugin machinery (like recent = GCC have)? Is there any philosophical objection if I try to add one?<br> <br> 5. Did anyone experimented some Lout extensions adding a [turing-complete] = scripting language inside it (Like LuaLaTeX has)? I dream of a Lout<br> extended with GNU guile (perhaps might work on it once I understood Lout in= ternal organization)<br> <br> Regards<br> --<br> <br> Basile STARYNKEVITCH &= nbsp; &nbs= p; <[email protected]><br> 8 rue de la Fa=EFencerie &nb= sp; = <a data-auth=3D"NotApplicable" class=3D"OWAAutoLink" id=3D"OWAf3f3f3= f1-2a5b-82d0-68f5-1c080bd48185" href=3D"http://starynkevitch.net/Basile/"> http://starynkevitch.net/Basile/</a> <br> 92340 Bourg-la-Reine &= nbsp; &nbs= p; <a data-auth=3D"NotApplicable" class=3D"OWAAutoLink" id=3D"O= WAc73464c2-b4ac-25d9-56e4-87e94ffbbb7a" href=3D"https://github.com/bstarynk= "> https://github.com/bstarynk</a><br> France &nb= sp; = <a data-auth=3D"NotApplicable" c= lass=3D"OWAAutoLink" id=3D"OWAce12a7e9-ee8e-6993-255b-31bcef8d6382" href=3D= "https://github.com/RefPerSys/RefPerSys"> https://github.com/RefPerSys/RefPerSys</a><br> &nb= sp; <a data-auth=3D"NotApplicable" class=3D"OWAAuto= Link" id=3D"OWA976c6e42-4836-260d-efc3-c9e733ff0dbf" href=3D"https://orcid.= org/0000-0003-0908-5250"> https://orcid.org/0000-0003-0908-5250</a><br> <br> </div> </body> </html> --_000_PA3P190MB2438F229822980CD203CB8AFC4C1APA3P190MB2438EURP_--