\version "2.13.43" #(define-markup-command (french layout props str) (string?) (let ((result str)) (if (string-contains result "?") (let* ((parts (string-split result #\?)) (infix (string-append (ly:wide-char->utf-8 #x2009) (ly:wide-char->utf-8 #x003F)))) (set! result (string-join parts infix)))) (if (string-contains result "!") (let* ((parts (string-split result #\!)) (infix (string-append (ly:wide-char->utf-8 #x2009) (ly:wide-char->utf-8 #x0021)))) (set! result (string-join parts infix)))) (if (string-contains result "<") (let* ((parts (string-split result #\<)) (infix (string-append (ly:wide-char->utf-8 #x00AB) (ly:wide-char->utf-8 #x00A0)))) (set! result (string-join parts infix)))) (if (string-contains result ">") (let* ((parts (string-split result #\>)) (infix (string-append (ly:wide-char->utf-8 #x00A0) (ly:wide-char->utf-8 #x00BB)))) (set! result (string-join parts infix)))) (if (string-contains result "%") (let* ((parts (string-split result #\%)) (infix (string-append (ly:wide-char->utf-8 #x00A0) (ly:wide-char->utf-8 #x0025)))) (set! result (string-join parts infix)))) (if (string-contains result "=") (let* ((parts (string-split result #\=)) (infix (string-append (ly:wide-char->utf-8 #x00A0) (ly:wide-char->utf-8 #x003D) (ly:wide-char->utf-8 #x00A0)))) (set! result (string-join parts infix)))) (if (string-contains result ":") (let* ((parts (string-split result #\:)) (infix (string-append (ly:wide-char->utf-8 #x00A0) (ly:wide-char->utf-8 #x003A)))) (set! result (string-join parts infix)))) (if (string-contains result ";") (let* ((parts (string-split result #\;)) (infix (string-append (ly:wide-char->utf-8 #x2009) (ly:wide-char->utf-8 #x003B)))) (set! result (string-join parts infix)))) (interpret-markup layout props result))) \markup \french #"Première ligne: LilyPond par défaut, sans espaces ajoutés pour éclaircir." \markup \vspace #0.1 \markup \french #"Seconde ligne: LilyPond avec la commande \\french, avec la même chaîne de caractères qu'au dessus" \markup "(hormis les \" \" qui sont remplacés par des < >, que \\french remplace par des guillemets typographiques)." \markup \vspace #0.1 \markup \french #"Tierce ligne: LilyPond par défaut, avec espaces ajoutés pour éclaircir." \markup \vspace #2.5 \markup \italic "Ah oui? Tu penses; \"qu'on peut faire: comme ça!\" LilyPond=à 99,8% la gravure idéale!" \markup \italic \french #"Ah oui? Tu penses; LilyPond=à 99,8% la gravure idéale!" \markup \italic "Ah oui ? Tu penses ; \" qu'on peut faire : comme ça ! \" LilyPond = à 99,8 % la gravure idéale !" \markup \vspace #1 \markup "Ah oui? Tu penses; \"qu'on peut faire: comme ça!\" LilyPond=à 99,8% la gravure idéale!" \markup \french #"Ah oui? Tu penses; LilyPond=à 99,8% la gravure idéale!" \markup "Ah oui ? Tu penses ; \" qu'on peut faire : comme ça ! \" LilyPond = à 99,8 % la gravure idéale !" \markup \vspace #1 \markup \sans "Ah oui? Tu penses; \"qu'on peut faire: comme ça!\" LilyPond=à 99,8% la gravure idéale!" \markup \sans \french #"Ah oui? Tu penses; LilyPond=à 99,8% la gravure idéale!" \markup \sans "Ah oui ? Tu penses ; \" qu'on peut faire : comme ça ! \" LilyPond = à 99,8 % la gravure idéale !" \markup \vspace #1 \markup \bold "Ah oui? Tu penses; \"qu'on peut faire: comme ça!\" LilyPond=à 99,8% la gravure idéale!" \markup \bold \french #"Ah oui? Tu penses; LilyPond=à 99,8% la gravure idéale!" \markup \bold "Ah oui ? Tu penses ; \" qu'on peut faire : comme ça ! \" LilyPond = à 99,8 % la gravure idéale !" \markup \vspace #1 \markup \tiny \typewriter "Ah oui? Tu penses; \"qu'on peut faire: comme ça!\" LilyPond=à 99,8% la gravure idéale!" \markup \tiny \typewriter \french #"Ah oui? Tu penses; LilyPond=à 99,8% la gravure idéale!" \markup \tiny \typewriter "Ah oui ? Tu penses ; \" qu'on peut faire : comme ça ! \" LilyPond = à 99,8 % la gravure idéale !"