2014-09-19 14:08 GMT+02:00 Daniele Varrazzo <p...@develer.com>: > [...]
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. > > Potrebbe essere una alternativa, ma significa fare a meno di reST ed usare reportlab per la gestione del documento finale. > > Io proverei a scrivere il "renderer" del tuo formato chopro, che generi un >> documento reST, usando delle direttive custom per la formattazione che ti >> serve. >> > > Scrivere quelle direttive potrebbe non essere proprio banale, in > particolare riguardo lo spostare il "cursore" per scrivere gli accordi > sopra al testo: Si, non è banale perchè, come scrivevo, reST non è "formatting oriented". > 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. Perchè? Usi un elemento dell'AST di reST e poi definisci come renderizzarlo in PDF. Al limite quindi il tuo formato diventa legato al formato di output, non di input. Tra l'altro in https://github.com/hammeruke/hug-chords/blob/songbook/books/songbook.py non stai già usando reportlab per definire come renderizzare il tuo elemento SongSheet? Ti basta definire un elemento SongLine o SongFragment ed usare reportlab per la formattazione, a meno che non mi stia perdendo qualche pezzo importante... 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. 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. > [...] Ciao Manlio
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python