Petites majuscules

Encore moi !
Toujours pour le même "recueil" mais à nouveau sujet, nouveau mail :
Je crois connaître la réponse (négative) mais dans le doute : est-il possible d'écrire des petites majuscules accentuées ?
C'est tout pour le moment !
Cécile

On Sun, 22 Aug 2010 19:38:02 +0200
Cécile Huneau <****@****> scribit:

Encore moi !
Toujours pour le même "recueil" mais à nouveau sujet, nouveau mail :
Je crois connaître la réponse (négative) mais dans le doute : est-il
possible d'écrire des petites majuscules accentuées ?
C'est tout pour le moment !
Cécile

oui CÉCILE

{\sc Cécile} (avec Latex/Context)
{\sc C\'ecile} avec Rex

···

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

--
René Bastian
www.pythoneon.org
www.musiques-rb.org

Cécile Huneau wrote:

est-il possible d'écrire des petites majuscules accentuées ?

il me semble que oui:

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Petites-majuscules-tp5450298p5450837.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Et heureusement que c'est possible: c'est un règle élémentaire de typographie
française (même si on nous apprend le contraire à l'école, sous la forme
d'un mensonge par omission qui pose un problème pédagogique intéressant...
mais c'est une autre histoire).

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Petites-majuscules-tp5450298p5451040.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Le 23/08/2010 02:00, flup disait :

Et heureusement que c'est possible: c'est un règle élémentaire de typographie
française (même si on nous apprend le contraire à l'école, sous la forme
d'un mensonge par omission qui pose un problème pédagogique intéressant...
mais c'est une autre histoire).

C'est en fait plus compliqué que cela, et aussi pour une raison historique :

- L'école nous enseigne que les majuscules ne sont pas accentuées, parce que nous écrivions à la plume. Il ne s'agit pas de typographie.
Mais, bien qu'utilisant elle aussi l'ordinateur, elle passe sous silence qu'il est un outil de typographe...

- Les machines à écrire étaient principalement de facture étasunienne, et y ajouter tout ce qui manque pour obtenir l'intégralité des caractères typographiques aurait abouti au fait qu'une secrétaire devrait avoir un bureau de super-ministre...

@+
Jean-Charles

J'utilise la fonction suivante pour les petites majuscules accentuées,
afin de coutourner une limitation de guile. Ensuite, il suffit d'écrire
par exemple : \markup \smallCaps { Théâtre }

%%% Guile does not deal with accented letters
#(use-modules (ice-9 regex))
%%;; actually defined below, in a closure
#(define-public string-upper-case #f)
#(define accented-char-upper-case? #f)
#(define accented-char-lower-case? #f)

%%;; an accented character is seen as two characters by guile
#(let ((lower-case-accented-string "éèêëáàâäíìîïóòôöúùûüçœæ")
       (upper-case-accented-string "ÉÈÊËÁÀÂÄÍÌÎÏÓÒÔÖÚÙÛÜÇŒÆ"))
   (define (group-by-2 chars result)
      (if (or (null? chars) (null? (cdr chars)))
          (reverse! result)
          (group-by-2 (cddr chars)
                      (cons (string (car chars) (cadr chars))
                            result))))
   (let ((lower-case-accented-chars
          (group-by-2 (string->list lower-case-accented-string) (list)))
         (upper-case-accented-chars
          (group-by-2 (string->list upper-case-accented-string) (list))))
     (set! string-upper-case
           (lambda (str)
             (define (replace-chars str froms tos)
               (if (null? froms)
                   str
                   (replace-chars (regexp-substitute/global #f (car froms) str
                                                            'pre (car tos) 'post)
                                  (cdr froms)
                                  (cdr tos))))
             (string-upcase (replace-chars str
                                           lower-case-accented-chars
                                           upper-case-accented-chars))))
     (set! accented-char-upper-case?
           (lambda (char1 char2)
             (member (string char1 char2) upper-case-accented-chars string=?)))
     (set! accented-char-lower-case?
           (lambda (char1 char2)
             (member (string char1 char2) lower-case-accented-chars string=?)))))

#(define-markup-command (smallCaps layout props text) (markup?)
  "Turn @code{text}, which should be a string, to small caps.
@example
\\markup \\small-caps \"Text between double quotes\"
@end example"
  (define (string-list->markup strings lower)
    (let ((final-string (string-upper-case
                         (apply string-append (reverse strings)))))
      (if lower
          (markup #:fontsize -2 final-string)
          final-string)))
  (define (make-small-caps rest-chars currents current-is-lower prev-result)
    (if (null? rest-chars)
        (make-concat-markup (reverse! (cons (string-list->markup
                                              currents current-is-lower)
                                            prev-result)))
        (let* ((ch1 (car rest-chars))
               (ch2 (and (not (null? (cdr rest-chars))) (cadr rest-chars)))
               (this-char-string (string ch1))
               (is-lower (char-lower-case? ch1))
               (next-rest-chars (cdr rest-chars)))
          (cond ((and ch2 (accented-char-lower-case? ch1 ch2))
                 (set! this-char-string (string ch1 ch2))
                 (set! is-lower #t)
                 (set! next-rest-chars (cddr rest-chars)))
                ((and ch2 (accented-char-upper-case? ch1 ch2))
                 (set! this-char-string (string ch1 ch2))
                 (set! is-lower #f)
                 (set! next-rest-chars (cddr rest-chars))))
          (if (or (and current-is-lower is-lower)
                  (and (not current-is-lower) (not is-lower)))
              (make-small-caps next-rest-chars
                               (cons this-char-string currents)
                               is-lower
                               prev-result)
              (make-small-caps next-rest-chars
                               (list this-char-string)
                               is-lower
                               (if (null? currents)
                                   prev-result
                                   (cons (string-list->markup
                                            currents current-is-lower)
                                         prev-result)))))))
  (interpret-markup layout props
    (if (string? text)
        (make-small-caps (string->list text) (list) #f (list))
        text)))

···

Le 22 août 2010 à 19:38, Cécile Huneau a écrit :

Encore moi !
Toujours pour le même "recueil" mais à nouveau sujet, nouveau mail :
Je crois connaître la réponse (négative) mais dans le doute : est-il possible d'écrire des petites majuscules accentuées ?
C'est tout pour le moment !
Cécile

La fonction proposée par défaut par LilyPond pour écrire les
petites majuscules ne supporte pas les caractères accentués.
Il faut utiliser un contournement (voir mon autre post).

Nicolas

···

Le 22 août 2010 à 23:47, Eluze a écrit :

Cécile Huneau wrote:

est-il possible d'écrire des petites majuscules accentuées ?

il me semble que oui:
LilyPond Notation Reference: 1.8.2 Formatting text
LilyPond Notation Reference: 1.8.2 Formatting text

Y a-t-il une police de caractères qui assure la mise en page des accents
pour des petites majuscules tout en gardant le look lilypond? Je me suis
aussi heurté à ce problème, et j'aimerais bien essayer d'en inclure une dans
la nouvelle version développement.

~Mike

···

On 8/23/10 4:04 PM, "Nicolas Sceaux" <****@****> wrote:

Le 22 août 2010 à 23:47, Eluze a écrit :

Cécile Huneau wrote:

est-il possible d'écrire des petites majuscules accentuées ?

il me semble que oui:
LilyPond Notation Reference: 1.8.2 Formatting text
g-font-and-font-size
LilyPond Notation Reference: 1.8.2 Formatting text
g-font-and-font-size

La fonction proposée par défaut par LilyPond pour écrire les
petites majuscules ne supporte pas les caractères accentués.
Il faut utiliser un contournement (voir mon autre post).

Nicolas

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Nicolas Sceaux wrote:

Cécile Huneau wrote:

est-il possible d'écrire des petites majuscules accentuées ?

il me semble que oui:
LilyPond Notation Reference: 1.8.2 Formatting text

La fonction proposée par défaut par LilyPond pour écrire les
petites majuscules ne supporte pas les caractères accentués.
Il faut utiliser un contournement (voir mon autre post).

Nicolas

c'est juste!

j'ai tout seulement vu l'accent sur le e et je n'ai pas prêté attention à ce
que le e n'était pas un E majuscule.

me repento - et merci, Nicolas!

serait-il possible d'appliquer ce contournement dans Lilypond? sinon, bien
sûr, je peux l'inclure dans mes fichiers, mais il serait bien plus sympa
d'avoir un \smallCaps quit fonctionne…

···

Le 22 août 2010 à 23:47, Eluze a écrit :

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Petites-majuscules-tp5450298p5454468.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

== En réponse au message du 23-08-2010, 22:05:09 ==

Cécile Huneau wrote:

est-il possible d'écrire des petites majuscules accentuées ?

il me semble que oui:
LilyPond Notation Reference: 1.8.2 Formatting text
LilyPond Notation Reference: 1.8.2 Formatting text

La fonction proposée par défaut par LilyPond pour écrire les
petites majuscules ne supporte pas les caractères accentués.
Il faut utiliser un contournement (voir mon autre post).

Nicolas

Résultats impeccables, un grand merci,

Jean-François

···

Le 22 août 2010 à 23:47, Eluze a écrit :

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

========================================

Il est possible que j'ai loupé quelque chose dans guile1.8 qui rende le
support des caractères accentués possible de base, sans bidouille (en
changeant la locale ou quelque chose du genre, mais je ne trouve pas d'info).

D'autres part, guile2.0 supporte utf-8 alors il n'y aura plus de problème
quand LilyPond changera de version de guile (il y a un effort en cours
apparemment).

Entre temps... J'imagine que ce serait mieux en effet, même si ce hack est
grossier. J'ai un peu la flemme.

Nicolas

···

Le 23 août 2010 à 23:57, Eluze a écrit :

Nicolas Sceaux wrote:

Le 22 août 2010 à 23:47, Eluze a écrit :

Cécile Huneau wrote:

est-il possible d'écrire des petites majuscules accentuées ?

il me semble que oui:
LilyPond Notation Reference: 1.8.2 Formatting text

La fonction proposée par défaut par LilyPond pour écrire les
petites majuscules ne supporte pas les caractères accentués.
Il faut utiliser un contournement (voir mon autre post).

Nicolas

c'est juste!

j'ai tout seulement vu l'accent sur le e et je n'ai pas prêté attention à ce
que le e n'était pas un E majuscule.

me repento - et merci, Nicolas!

serait-il possible d'appliquer ce contournement dans Lilypond? sinon, bien
sûr, je peux l'inclure dans mes fichiers, mais il serait bien plus sympa
d'avoir un \smallCaps quit fonctionne…

Je précise : support des caractères accentués dans les fonctions de modification
de la casse (type string-upcase ou string-downcase.)

···

Le 24 août 2010 à 21:57, Nicolas Sceaux a écrit :

Il est possible que j'ai loupé quelque chose dans guile1.8 qui rende le
support des caractères accentués possible de base, sans bidouille (en
changeant la locale ou quelque chose du genre, mais je ne trouve pas d'info).

Bonjour Nicolas,

je me suis souvent demandé pourquoi tu n'avais pas mergé ton
workaround, effectivement. Est-ce que ça vaut le coup de le pusher
maintenant ? Est-ce qu'il faut attendre Lily/Guile2.0 ? Est-ce que tu
veux qu'on ouvre une page sur le trackeur en attendant ?

V.

···

2010/8/24 Nicolas Sceaux <****@****>:

D'autres part, guile2.0 supporte utf-8 alors il n'y aura plus de problème
quand LilyPond changera de version de guile (il y a un effort en cours
apparemment).

Entre temps... J'imagine que ce serait mieux en effet, même si ce hack est
grossier. J'ai un peu la flemme.

Moi je ne veux rien :slight_smile:

···

Le 26 août 2010 à 01:58, Valentin Villenave a écrit :

2010/8/24 Nicolas Sceaux <****@****>:

D'autres part, guile2.0 supporte utf-8 alors il n'y aura plus de problème
quand LilyPond changera de version de guile (il y a un effort en cours
apparemment).

Entre temps... J'imagine que ce serait mieux en effet, même si ce hack est
grossier. J'ai un peu la flemme.

Bonjour Nicolas,

je me suis souvent demandé pourquoi tu n'avais pas mergé ton
workaround, effectivement. Est-ce que ça vaut le coup de le pusher
maintenant ? Est-ce qu'il faut attendre Lily/Guile2.0 ? Est-ce que tu
veux qu'on ouvre une page sur le trackeur en attendant ?