Lilypond-book et l'encodage

Bonjour,

J'ai eu pas mal de soucis avec lilypond-book dernièrement, et la façon dont
je les ai résolu pose question: je reçevais des messages d'erreur dans la
console:

lilypond-book (GNU LilyPond) 2.13.12
Traceback (most recent call last):
  File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2215, in <module>
    main ()
  File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2197, in main
    chunks = do_file (files[0])
  File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2100, in do_file
    progress (_ ("Compiling %s...") % output_filename)
  File
"/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py",
line 59, in stderr_write
    encoded_write (sys.stderr, s)
  File
"/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py",
line 51, in encoded_write
    f.write (s.encode (f.encoding or 'utf_8'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcc in position 80:
ordinal not in range(128)
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009)
\write18 enabled.
entering extended mode
! I can't find file `test_fev.lytex.tex'.
<*> test_fev.lytex.tex

En voyant "ascii" et "utf_8" me suis demandé s'il n'était pas question
d'encodage dans mon texte, et j'en ai donc testé plusieurs, mais sans rien
qui fonctionne.

J'ai, tout à fait au hasard, changé le chemin d'accès à ces fichiers pour y
enlever toute trace d'accent, et là ça marche sans problème. Le problème
viendrait-il de Lilypond, ou plutôt de la commande qui me permet de le
lancer ?

J'utilise TeXShop comme pour tous mes documents LaTeX, et voici le script
utilisé (sous forme d'engine TeXShop) pour lilypond-book:

#!/bin/tcsh
# Updated on 2006/10/17 - Thanks to Marc Schonbrun!

···

#
set LILYPONDFOLDER = /Applications
set path = ($path $LILYPONDFOLDER/LilyPond.app/Contents/Resources/bin/)

rm -r dir
lilypond-book --output=dir --pdf "$1"
cd dir
#pdflatex "$1"
pdflatex --shell-escape --synctex=1 "$1"
mv "$1:r".pdf ..

# Create directory to put all temporary stuff
#mkdir -p "$1:r"-out/
# Copy local style files, if any, where latex will be able to find them
#cp *.sty "$1:r"-out
#if ({ lilypond-book --output="$1:r"-out "$1" }) then
# cd "$1:r"-out
# if ({ latex "$1" }) then
# if ({ dvips -o -Ppdf -R0 -h "$1:r".psfonts "$1:r".dvi }) then
# if ({ ps2pdf "$1:r".ps }) then
# mv "$1:r".pdf ..
# endif
# endif
# endif
#endif
--
View this message in context: http://n2.nabble.com/Lilypond-book-et-l-encodage-tp4573816p4573816.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

L'erreur de codage est déclenchée par la tentative d'affichage de ce
message, ça veut donc probablement dire que le nom de fichier original
et/ou le répertoire et nom de fichier de destination contiennent des
caractères accentués, ce n'est pas un problème avec le codage de
caractères du contenu du fichier. La fonction Python qui fournit les
noms de fichiers (depuis la ligne de commande) est fautive ici, car elle
fournit un nom sans le décoder dans le codage Unicode interne à Python,
je ne sais pas comment nous pouvons raisonnablement corriger ce bogue de
notre côté.

John

···

Il giorno lun, 15/02/2010 alle 02.35 -0800, flup ha scritto:

J'ai eu pas mal de soucis avec lilypond-book dernièrement, et la façon dont
je les ai résolu pose question: je reçevais des messages d'erreur dans la
console:

lilypond-book (GNU LilyPond) 2.13.12
Traceback (most recent call last):
  File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2215, in <module>
    main ()
  File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2197, in main
    chunks = do_file (files[0])
  File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2100, in do_file
    progress (_ ("Compiling %s...") % output_filename)

Ah il semble que ce soit lié à la gestion de l'unicode par OS X si j'en crois
ceci:
http://old.nabble.com/lilypond-book-and-the-path-ts17487059.html#a17487973
http://old.nabble.com/lilypond-book-and-the-path-ts17487059.html#a17487973

Je veillerai donc à ne pas utiliser de caractères accentués dans le chemin
d'accès aux documents destinés à lilypond-tool. Le tout c'est de savoir à
quoi s'en tenir.

···

--
View this message in context: http://n2.nabble.com/Lilypond-book-et-l-encodage-tp4573816p4574505.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Bonjour,

J'ai eu pas mal de soucis avec lilypond-book dernièrement, et la façon dont
je les ai résolu pose question: je reçevais des messages d'erreur dans la
console:

lilypond-book (GNU LilyPond) 2.13.12
Traceback (most recent call last):
File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2215, in <module>
   main ()
File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2197, in main
   chunks = do_file (files[0])
File "/Applications/LilyPond.app/Contents/Resources/bin//lilypond-book",
line 2100, in do_file
   progress (_ ("Compiling %s...") % output_filename)
File
"/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py",
line 59, in stderr_write
   encoded_write (sys.stderr, s)
File
"/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py",
line 51, in encoded_write
   f.write (s.encode (f.encoding or 'utf_8'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcc in position 80:
ordinal not in range(128)
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009)
\write18 enabled.
entering extended mode
! I can't find file `test_fev.lytex.tex'.
<*> test_fev.lytex.tex

En voyant "ascii" et "utf_8" me suis demandé s'il n'était pas question
d'encodage dans mon texte, et j'en ai donc testé plusieurs, mais sans rien
qui fonctionne.

J'ai, tout à fait au hasard, changé le chemin d'accès à ces fichiers pour y
enlever toute trace d'accent, et là ça marche sans problème. Le problème
viendrait-il de Lilypond, ou plutôt de la commande qui me permet de le
lancer ?

J'utilise TeXShop comme pour tous mes documents LaTeX, et voici le script
utilisé (sous forme d'engine TeXShop) pour lilypond-book:

#!/bin/tcsh
# Updated on 2006/10/17 - Thanks to Marc Schonbrun!
#
set LILYPONDFOLDER = /Applications
set path = ($path $LILYPONDFOLDER/LilyPond.app/Contents/Resources/bin/)

rm -r dir
lilypond-book --output=dir --pdf "$1"
cd dir
#pdflatex "$1"
pdflatex --shell-escape --synctex=1 "$1"
mv "$1:r".pdf ..

# Create directory to put all temporary stuff
#mkdir -p "$1:r"-out/
# Copy local style files, if any, where latex will be able to find them
#cp *.sty "$1:r"-out
#if ({ lilypond-book --output="$1:r"-out "$1" }) then
# cd "$1:r"-out
# if ({ latex "$1" }) then
# if ({ dvips -o -Ppdf -R0 -h "$1:r".psfonts "$1:r".dvi }) then
# if ({ ps2pdf "$1:r".ps }) then
# mv "$1:r".pdf ..
# endif
# endif
# endif
#endif
--

Sous Windows XP, il n'y a pas de problème avec les 'path' contenant des caractères accentués. Pour les noms de fichiers, par contre, je n'ai jamais testé.

À vérifier à l'occasion ...