logo_TB.gif (7259 octets)

Les Projets d'Algorithmique
et de Programmation -  PAP


 

PAP XX

La diffusion d'encre



Encadrant : Yannis HARALAMBOUS (INFO, 1427, Yannis.Haralambous@enst-bretagne.fr), Sandrine VATON (INFO, 1029, Sandrine.Vaton@enst-bretagne.fr)



Élèves participants :

1 Descriptif du contexte

L'écrasante majorité des polices de caractère sont dessinées de manière conventionnelle : les traits droits sont parfaitement droits et les courbes sont simples et élégantes. Quand des tels caractères sont imprimés à très haute résolution sur des papiers relativement lisses, le résultat est propre et ordonné au point d'être immaculé, aseptique, mécanique, sans âme.

Qu'est-ce qui produit cette impression d'artificialité ? Qu'est-ce qui manque pour obtenir un texte vivant, dynamique, chaleureux ? On ne peut pas le dire avec certitude, mais il y a deux choses qui sautent aux yeux (et au toucher) ; primo, le relief : en effet lorsqu'on imprimait encore au plomb, on exerçait une pression au papier à tel point que l'empreinte du plomb restait et le papier avait un certain relief. Deuxio, la diffusion d'encre : le papier n'étant ni lisse, ni imperméable, il y avait une légère diffusion de l'encre qui rendait les lettres plus réelles et mieux ancrées dans le blanc du papier.

Pour le premier point on ne peut pas faire grand chose : il faudrait construire un tout nouveau type d'imprimante pour obtenir du papier avec relief ; et pour l'écran ce serait encore plus difficile (à moins que l'on adopte des membranes Braille...). Ce projet va tenter de donner une solution au deuxième point : la diffusion d'encre. On se propose donc d'utiliser des caractères typographiques dessinés de manière à simuler la diffusion d'encre. On trouve déjà certaines polices de ce type, en voilà trois qui illustrent cette propriété :

Dans le premier cas (ITC Bodoni), il s'agit d'une police de texte courant. Le deuxième (Hoefler Fell Roman) et le troisième (P22 Morris Golden) sont des reproductions de polices historiques. On voit sur ces exemples trois degrés croissants de déformation du tracé de lettre. Attention : ces exemples ne sont pas des déformations de la même police, il s'agit juste d'exemples de polices déjà déformées. Dans ce projet on se propose de développer une méthode générale et paramétrisable de déformation des contours de caractères existants pour simuler la diffusion d'encre à partir d'une police quelconque.

regardons de plus près : dans les deux figures ci-dessous on compare les traits des lettres H d'ITC Bodoni et de Hoefler Fell Roman à des droites horizontales et verticales. Il s'agira, dans ce projet, d'écrire un algorithme de déformation de segments droits ou de courbes de Bézier cubiques qui produisant des résultats analogues, de manière aléatoire et paramétrisable.

La ou les méthode(s) mathématique(s) choisie(s) pour déformer les contours sera à discuter avec les encadrants. Quelques idées : découpage des droites et des courbes de Bézier en segments de longueur aléatoire et déformation des points de départ et d'arrivée de ces segments ; application de méthodes fractales ; composition par des fonctions trigonométriques...

2 Descriptif du projet

L'objectif de ce stage est multiple :
  • écrire un algorithme de déformation d'un trait droit ou d'une courbe de Bézier cubique simulant la diffusion d'encre ;
  • implémenter cet algorithme dans un langage objet (par ordre de préférence : C++, Python, Java) ;
  • écrire le code nécessaire pour importer et exporter les contours de glyphe de police PostScript de type 1
  • développer une interface graphique minime pour sélectionner la police en question ainsi que les valeurs de paramètres, et lancer le processus.

3 Étapes du projet

  1. choix de la ou des méthode(s) mathématique(s) appliquée(s) ;
  2. étude et écriture de l'algorithme ;
  3. test sur des contours extraits manuellement, en variant les valeurs de paramètres ;
  4. écriture du code qui extrait les contours, applique l'algorithme et enregistre le résultat sous forme de contour ;
  5. développement de l'interface graphique de contrôle.

4 Résultats attendus

Un logiciel dont aussi bien l'utilisation que le code source sont bien documentés, qui tourne et qui permet de traiter les glyphes d'une police PostScript de type 1 donnée pour simuler l'effet de diffusion d'encre.

5 Autres éléments

 

ENST Bretagne
www-info
INTRANET dépt. INFO
Secrétariat du département :  02 29 00 14 06 - Fax : 02 29 00 12 82
E-mail : sec-info@enst-bretagne.fr
W3 élèves