lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [question un peu HS] metafont


From: René Bastian
Subject: Re: [question un peu HS] metafont
Date: Sun, 15 Apr 2012 19:27:51 +0200

Le Sun, 15 Apr 2012 12:05:11 +0200,
Bertrand Bordage <address@hidden> a écrit :

> Bonjour,
> 
> Le 15 avril 2012 10:37, René Bastian <address@hidden> a écrit :
> 
> > j'ai lu ce qui se trouve sur GitHub. Quelques remarques:
> > - Metafont produit du bitmap,
> 
> - Metapost, son successeur, produit du PostScript,
> >  (Ce ne serait pas plus intéressant ?)
> >
> 
> Oui, et LilyPond utilise un script Perl (
> http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob;f=scripts/build/mf2pt1.pl)
> pour obtenir du PostScript.


> Et comment obtient-il du PostScript ?  Grâce à MetaPost !

Donc pas Metafont ... 


> Je ne suis pas sûr qu'il faudrait en parler dès l'introduction, mais
> je pourrais être facilement convaincu.
> 
> - Metafun est un développement plus récent de Metapost et intégré
> >  à Context qui est par rapport à Tex ce que la mobylette est au
> > vélo, (voir http://wiki.contextgarden.net/MetaFun ).

Metafun gared évidemment la structure des langages 
Metapost & Metafont qui font du développeur un esclave de
l'ordi. Ce n'est plus nécessaire [En Pascal je devais gérer
les listes ; pour avoir des listes hétéroclites, c'était la
galère ; en Python, je peux y mettre n'importe quoi -
comme déjà proposé dans les années 1980 par le Smalltalk-80
avec le concept de 'bag']

Aucun des MetaXXX ne semble comporter le concept de classe. Or c'est
l'instrument idéal pour enfouir les données assez invariables
pour ne s'occuper que des données variables. 

> >
> 
> Intéressant, je ne connaissais pas.  Tu voudrais que j'ajoute MetaFun
> à la liste des programmes utilisant MetaFont ?  Je viens de changer
> pour que ce soit plus cohérent.

Je propose de tout faire en pur Python, flanqué de sympy et numpy.
Pourquoi s'enquiquiner avec des syntaxes tarabiscotées.

> 
> > L'idée d'utiliser reStr.. pour la doc est bonne, par contre
> > pourquoi perdre votre temps à faire un tutoriel pour des
> > objets informatiques vétustes ?
> >
> 
> Parce qu'on a rien de mieux.
> Parce que ce n'est pas si difficile que ça en a l'air.
> Parce que la mauvaise connaissance de MetaFont rend les fontes de
> LilyPond de moins en moins cohérentes.
> Parce qu'il faudra maîtriser MetaFont si on souhaite créer un jour un
> successeur à MetaFont qui puisse faire migrer les fontes de LilyPond
> Parce qu'on est des pionniers en paléontologie informatique.
> Parce qu'on est un peu fous.

Bill Schottstaedt - dans son projet CMN - a des descriptions
de glyphes en CommonLisp qui pondent du PostScript; 
elles viennent des fontes faites en son temps par 
Daniel Taupin et sont traduisibles en Python.

> 
> > Sur le GitHub je vois déjà traîner un conf.py. Pourquoi
> > ne pas refaire le tout en Python ?
> > J'ai le Metafonbook de Knuth. Une centaine de pages (sur 350)
> > est occupée à mettre en place des procédés qui sont déjà
> > disponibles dans Python.
> > Pyx et à un degré moindre reportLab apportent un certain nombre
> > de solutions graphiques dont certaines sont, je pense,
> > réutilisables.
> >
> 
> Comme je le disais plus haut, c'est un de mes ardents désirs.  Mais,
> même avec les outils modernes, cela prendra beaucoup de temps.
> Surtout si on souhaite faire une interface graphique pour faciliter
> le boulot, notamment pour comparer rapidement les différentes tailles
> et poids d'un caractère, pour inciter à utiliser les mêmes variables
> sur tout un projet, etc.


> 
> J'utilise Python de façon autonome (sans recours à MIDI ou d'autres
> > programmes de génération de sons) depuis 2004 - et je ne le regrette
> > pas : tout ce que j'ai accumulé est réutilisable, clair, lisible
> > même des années après. Avant de me décider pour Python, j'ai aussi
> > utilisé des langages plus ou moins cryptographiques (Pascal,
> > Csound, Lisp, etc). J'ai choisi Python bien que à l'époque il avait
> > la réputation d'être lent - mais cette objection ne tenait pas :
> > ce n'est pas la compilation qui fait perdre du temps, mais le
> > décryptage d'un code de plus de 6 mois.
> 
> 
> J'ai fait le même choix.  Surtout qu'un programme Python un peu trop
> lent n'est pas à jeter : on peut facilement optimiser un module en
> le ré-implémentant en C++.
> Je suis devenu définitivement amoureux de Python le jour où j'ai
> compris comment marchaient les args et kwargs :p
> 
> Entretemps, l'extension de
> > calcul numérique, numpy, accélère les calculs de vecteurs de grande
> > dimension (sr = 44100 ou plus) de sorte que les temps de calcul
> > deviennent imperceptibles.
> >
> 
> Certes.  Mais pour de la résolution d'équations, le plus simple sera
> peut-être d'utiliser sympy, au moins dans un premier temps.  Et lui
> est très lent :(

1) Le bouquin de Langtanen "A Primer on Scientific Progr..."
propose même la solution d'équa-diffs. C'est pas lent.

2) Dans mon pythoneon j'utilise des droites (qu'on peut courber avec
des puissances) et des cubiques (on peut donner les pentes au
début et à la fin) pour dessiner n'importe quelle évolution
(variation de fréquence, variant de fréquence d'accord de filtre,
etc.). On ne voit pas le temps passer, car lors du 2e (ou 3e ? :)
essai, Python utilise les précompilés .pyc.

Si on n'utilise pas les courbes de Bézier, on n'a pas
besoin d'interface graphique interactive.
[J'ai un énorme respect pour Pierre Bézier pour l'avoir vu
à la télé, je pense quelque temps avant qu'il meure.
Il a simplement raconté comment de son temps les ingénieurs
se passaient des tuyaux au coin du comptoir. Actuellement
ces gens iraient en taule pour "espionnage industriel".]

> De toutes façons, tant qu'on ne fait pas de génération de fonte à la
> demande lors de l'exécution de LilyPond, le temps perdu à utiliser
> sympy ne gênera que les développeurs

Ben oui.

> 
> En outre, en consultant http://pypi.python.org, on voit
> > que rien n'existe en "font design" - c'est un truc à faire.
> >
> 
> Oui, mais c'est un gros investissement qui demande au moins trois
> personnes motivées ;o)
> 
> 
> > Tout ceci pour dire que je participerai à un tel projet -
> > dans la mesure de mes capacités - s'il vous tente.
> >
> 
> Ah ben c'est parfait, on a trois personnes ! :oD
> 
> Bon après-midi,
> Bertrand
> Bertrand

-- 
René Bastian
www.pythoneon.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]