<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014-09-19 14:08 GMT+02:00 Daniele Varrazzo <span dir="ltr"><<a href="mailto:piro@develer.com" target="_blank">piro@develer.com</a>></span>:</div><div class="gmail_quote"><br></div><div class="gmail_quote">> [...]</div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Proprio pochi minuti fa mi e' venuto in mente che sia chordlab che rst2pdf usano reportlab come motore di rendering. Anziche' usare chordlab come processo esterno potrei usarlo come libreria e scrivere nello stesso documento che sto generando.<span class=""><br>
<br></span></blockquote><div><br></div><div>Potrebbe essere una alternativa, ma significa fare a meno di reST ed usare reportlab per la gestione del documento finale.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Io proverei a scrivere il "renderer" del tuo formato chopro, che generi un<br>
documento reST, usando delle direttive custom per la formattazione che ti<br>
serve.<br>
</blockquote>
<br></span>
Scrivere quelle direttive potrebbe non essere proprio banale, in particolare riguardo lo spostare il "cursore" per scrivere gli accordi sopra al testo:</blockquote><div><br></div><div>Si, non è banale perchè, come scrivevo, reST non è "formatting oriented".</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> chordlab lo fa parlando direttamente con reportlab; passare per docutils comporta che comunque quei programmi dovranno bypassare un po' di infrastruttura docutils e interagire col renderer. Quindi a questo punto il mio formato e' fortemente legato al formato di input.</blockquote><div><br></div><div>Perchè?</div><div>Usi un elemento dell'AST di reST e poi definisci come renderizzarlo in PDF.</div><div>Al limite quindi il tuo formato diventa legato al formato di output, non di input.<br></div><div><br></div><div>Tra l'altro in</div><div><a href="https://github.com/hammeruke/hug-chords/blob/songbook/books/songbook.py">https://github.com/hammeruke/hug-chords/blob/songbook/books/songbook.py</a><br></div><div><br></div><div>non stai già usando reportlab per definire come renderizzare il tuo elemento SongSheet?</div><div><br></div><div>Ti basta definire un elemento SongLine o SongFragment ed usare reportlab per la formattazione, a meno che non mi stia perdendo qualche pezzo importante...</div><div><br></div><div>Credo tu non abbia nemmeno bisogno di generare il documento reST intermedio, ma puoi generare l'AST direttamente e renderizzarlo in PDF.  Rispetto a reportlab almeno hai tutte le feature "document oriented" di reST.</div><div><br></div><div>Tutto questo è solo ad intuito, non avendo mai utilizzato reST per fare cose più complicate di un rst2html di un documento standard, ma mi stupirei se non fosse possibile.</div><div><br></div><div></div></div><br></div><div class="gmail_extra">> [...]</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Ciao  Manlio</div></div>