2016-2017_metabc.md

metABC

Introduction

À l’opposé des principaux logiciels de dessins de lettres qui, s’inscrivant dans l’héritage de Gutenberg, modélisent celles-ci par leur contour, METAFONT permet de décrire la lettre par son “ductus”, c’est à dire son chemin central ou squelette. Repartant du geste calligraphique, cet outil propose une conception digitale et paramétrique du caractère typographique. Comme il s'agit d'un outil de dessin, il peut être étendu à d'autres applications qui ne sont pas uniquement typographique.

Exemples de typo faites avec Metapost/Metafont:

  • Metaflop
  • OCR BPI d'Antoine Gelgon OCR PBI
  • D'autres expérimentations développées par le collectif Open Source Publishing

metABC comme ABCdaire

L'atelier se concentrera sur le dessin collectif d’un abécédaire, à travers un éditeur collaboratif permettant aux participants de travailler en temps réel sur un même set de descriptions et de variables. Qui dit abécédaire, dit aussi illustration. Cet atelier permettra aux étudiants de s'intéresser au dessin de lettre sans avoir de connaissances typographiques au préalable. On tentera de voir comment dessin de lettre et illustration peuvent s'entremêler, se supperposer ou s'opposer.

Accompagnant cette écriture collective, une vue “image” synchronisée et projetée des caractères et illustrations permettra de voir les dessins s’actualiser et réagir aux changements apportés dans le code. Les résultats seront plottés à l'aide d'un plotter, nous crérons en fonction du projet un poster ou une petite édition qui sera présentées lors de la cession de présentation qui aura lieu le lundi 12 décembre.

Quelques exemples d'abécédaires

abécédaire scolaire sur le thème des animaux

Bruno Munari. ABC une petite leçon d'anglais

Abécédaire de guerre (1914)

Abécédaire hongrois

Abécédaire antropomorphique

Plus de références sur Gallica

L'atelier

  • Chaque étudiant réalise une lettre de l'alphabet (dans l'ordre de la liste des présence)
  • Le gabarit de chaque lettre/illustration s'inscrit dans un carré de 10 cm x 10 cm

programme

21/11

  • 16h → 16h40 : Introduction à Metapost et briefing du workshop
  • 16h40 → 17h : Prise en main du dispositif
  • 17h → 17h30 : Premières recherches et dessins
  • 17h40 → 17h50 : Pause
  • 17h50 → 19h00 : Dessins dans metapost et premiers prints sur le plotter

Un peu d'histoire

Metafont

À partir de 1977 Donald Knuth démarre l'écrture du logiciel TeX et du système de création de polices Metafont. Metafont est un langage utilisé pour composer des polices matricielles qui fut utilisé par Knuth pour créer la police Computer Modern. Il a été développé en même temps que TeX.

C’est avec ce langage que Knuth a dessiné la famille de fontes Computer Modern.

Metapost

Le langage Metafont a lui aussi donné naissance à MetaPost qui permet de produire des figures PostScript à partir d'une description géométrique. Metapost est dérivé du système Metafont mais spécialisé dans la production de diagrammes. Alors que Metafont produit des fichiers images associés à des fichiers contenant des informations métriques de police, MetaPost produit des fichiers au format PostScript. L'avantage de Metapost est qu'il produit des graphiques dans un format vectoriel et donc ajustable en terme d'échelle et compatible avec nos outils les plotters (en convertissant le svg vers hpgl).

Comparaison des dessins de deux O exportés respectivement de Metafont et MetaPost, avec à gauche la sortie vectorielle Metapost, à droite le dessin vectorisé à partir du bitmap de Metafont :

→ Exemples de figures dessinées avec Metapost

→ Metapost - A Very Brief Tutorial

Médiographie, ressources

Documentation plus large

Vocabulaire de base

Pour enclencher la description d'une nouvelle figure :

beginfig(1)

Chaque ligne de commande se termine par un point virgule.

Description d'une ligne horizontale rejoingnant 2 points :

draw z1--z2;

Decription d'une courbe rejoingant 3 points

draw z1..z2..z3;

Pour terminer la description d'une figure :

endfig;

Ici un exemple de description avec des points

beginfig(6)
     z1=(1,0);
     z2=(4,5);
     z3=(5,0);
     z4=(1,2);
     z5=(3,1);
     z6=(6,2);
     draw z1--z2--z3{up}..z4..z5..z6;
endfig;

→ Aperçu du résultat :

Pour faire varier la forme du tracé, on utilise les paramètres circle, square ou razor pour définir la forme du stylo (pen) avec la commande suivante (ici pour choisir une plume biseautée):

pickup penrazor;

À gauche une plume biseautée, à droite une plume ronde.

Installer Metapost sur votre machine (optionnel et non nécessaire pour le workshop)

sur Mac, installer TexShop

sur Windows, installe MikTeX

sur Ubuntu

sudo apt install texlive-binaries texlive-metapost

sur Archlinux

sudo pacman -S texlive-bin

Générer les figures à partir d'un etherpad en ligne

via le terminal avec la commande suivante (en replaçant format par "svg" ou "eps")

for (( ; ; )); do curl http://adresse-du-pad/export/txt >| metahoguet.mp && mpost -interaction=batchmode -s 'outputformat="format"'metahoguet.mp ; sleep 9; done

for (( ; ;  ));
do
    rm *.svg
    echo 'outputtemplate := "%c.svg";' > metahoguet.svg.mp
    curlhttp://osp.constantvzw.org:9999/p/metahoguet/export/txt        >> metahoguet.svg.mp
    mpost -interaction=batchmode -s 'outputformat="svg"' metahoguet.svg.mp
    sleep 2
done

Ou idem en une seule ligne pour le terminal :

for (( ; ;  )); do rm *.eps; echo 'outputtemplate := "%c.eps";' > metahoguet.eps.mp; curl

http://osp.constantvzw.org:9999/p/metahoguet/export/txt>> metahoguet.eps.mp; mpost -interaction=batchmode -s 'outputformat="svg"' metahoguet.svg.mp; sleep 2; done

for (( ; ;  )); do rm *.eps; echo 'outputtemplate := "%c.eps";' > meta.mp; curl http://osp.constantvzw.org:9999/p/metahoguet/export/txt >> meta.mp;  mpost -interaction=batchmode -s 'outputformat="eps"' meta.mp; sleep 2; done

for i in ../*.svg; do echo $(basename ${i%.svg}); done
for i in ../*.svg; do echo $(basename $i .svg); done