Permalink
Browse files

Fr: Beginning the tutorial.

  • Loading branch information...
1 parent 8040530 commit 932f7d4e478781a07fa406afb523a78410b5eaeb @BertrandBordage committed Apr 29, 2012
Showing with 91 additions and 20 deletions.
  1. +19 −0 docs/T_basic.mf
  2. BIN docs/T_basic.png
  3. +35 −20 docs/introduction.rst
  4. +37 −0 docs/tutorial.rst
View
19 docs/T_basic.mf
@@ -0,0 +1,19 @@
+beginchar("T", 10pt#, 12pt#, 0);
+
+ z1 = (w/2, 0);
+ z2 = 1/2 [z3, z4];
+ z3 = (0, h);
+ z4 = (w, h);
+
+ pickup pencircle scaled 2pt;
+
+ draw z1
+ -- z2;
+ draw z3
+ -- z4;
+
+ labels(1, 2, 3, 4);
+
+endchar;
+
+end;
View
BIN docs/T_basic.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
55 docs/introduction.rst
@@ -78,7 +78,7 @@ Forces et faiblesses
:Forces:
* Écrire un minimum d'équations pour un maximum de résultats
- * Aucun bug connu
+ * Aucun bug connu (327,68 $ à celui qui trouvera un bug)
* Conservation de la procédure et non du résultat
- rigueur scientifique
- modifier une étape modifiera toute la fonte en conséquence
@@ -106,26 +106,33 @@ Exemples de fontes
- `Feta <http://lilypond.org/doc/v2.14/Documentation/notation/the-feta-font>`_
de LilyPond
-De MetaFont à OpenType
-======================
+.. _conversions:
-La création d'une fonte `OpenType <http://fr.wikipedia.org/wiki/OpenType>`_
-à l'aide de MetaFont n'est hélas pas simple.
-Elle comporte de nombreuses étapes intermédiaires.
+Conversions
+===========
-Image matricielle → image vectorielle
--------------------------------------
+MetaFont → images matricielles
+------------------------------
La `compilation <http://fr.wikipedia.org/wiki/Compilation_(informatique)>`_
-d'un code source MetaFont permet d'obtenir une ou des images.
-Hélas, MetaFont date d'une époque où les imprimantes vectorielles
+d'un code source de syntaxe MetaFont à l'aide du programme MetaFont
+(dont la commande est ``mf``) permet d'obtenir une fonte TeX_.
+Hélas, MetaFont et TeX datent d'une époque où les imprimantes vectorielles
n'existaient pas.
Le format de sortie est donc
`matriciel <http://fr.wikipedia.org/wiki/Image_matricielle>`_ et non
`vectoriel <http://fr.wikipedia.org/wiki/Image_vectorielle>`_.
-Il existe heureusement quelques programmes permettant d'obtenir
-des images vectorielles à partir de code MetaFont :
+La fonte TeX_ obtenue (extension ``.2602gf``) n'est pas directement lisible.
+Pour l'ouvrir, avec *evince* par exemple, on la convertit avec ``gftodvi``.
+
+MetaFont → OpenType
+-------------------
+
+La création d'une fonte `OpenType <http://fr.wikipedia.org/wiki/OpenType>`_
+à l'aide de MetaFont n'est hélas pas simple.
+Elle comporte de nombreuses étapes intermédiaires.
+Heureusement, quelques programmes permettent de simplifier ce travail :
- `METATYPE1 <http://www.ctan.org/tex-archive/fonts/utilities/metatype1/>`_
(`documentation <http://www.ntg.nl/maps/26/15.pdf>`_),
@@ -138,15 +145,23 @@ des images vectorielles à partir de code MetaFont :
par le créateur de LilyPond,
Han-Wen Nienhuys
-Le point commun de ces scripts est l'utilisation de MetaPost.
+Le point commun de ces scripts est l'utilisation de MetaPost_.
MetaPost permet en effet de créer des dessins vectoriels
à partir d'un code presque identique à MetaFont.
-Images vectorielles → fonte
----------------------------
-
-.. todo::
- Finir cette partie
-
-Il faut principalement utiliser
+Le plus simple à utiliser est mf2pt1_, c'est pourquoi je l'utiliserai
+tout au long de cette documentation. De plus, le projet LilyPond,
+pour lequel fut créé mftrace_, utilise désormais ce script. LilyPond
+étant à ma connaissance le dernier projet utilisant MetaFont, il me
+paraît d'autant plus utile d'utiliser `mf2pt1`.
+
+mf2pt1 génère une fonte au format
+`PFB <http://en.wikipedia.org/wiki/Printer_Font_Binary>`_.
+Elle est directement utilisable sous Linux, mais pour des raisons de
+compatibilité et de possibilités, une conversion vers
+OpenType est indispensable. Elle peut être facilement effectuée avec
`FontForge <http://fr.wikipedia.org/wiki/FontForge>`_.
+
+.. warning:: *mf2pt1* ne gère pas toutes les possibilités de MetaFont.
+ Hélas il gère mal les ``penstroke`` et comporte par ailleurs
+ quelques bugs.
View
37 docs/tutorial.rst
@@ -14,3 +14,40 @@ Installation
Sous Ubuntu :
sudo apt-get install texlive-binaries
+
+Un premier caractère
+====================
+
+Je vous propose de passer directement à la pratique :
+voir le rendu d'un fichier de code MetaFont,
+puis comprendre point par point son contenu.
+
+#. Enregistrez les lignes suivantes dans un fichier
+ texte nommé ``T_basic.mf`` :
+
+ .. literalinclude:: T_basic.mf
+#. Compilez le fichier avec le programme MetaFont :
+
+ ``mf T_basic.mf``
+
+ Cela permet de générer un fichier ``T_basic.2602gf``.
+ Il s'agit d'un fichier de fonte TeX,
+ utilisable uniquement par TeX et ses variantes.
+
+#. Convertissez le fichier ``T_basic.2602gf`` en
+ `DVI <http://fr.wikipedia.org/wiki/DVI_(TeX)>`_ :
+
+ ``gftodvi T_basic.2602gf``
+
+ Le fichier ainsi généré peut être ouvert
+ avec *evince*.
+
+Le résultat devrait ressembler à ceci :
+
+.. image:: T_basic.png
+
+Les petits défauts d'affichage sont sans importance.
+Comme je l'expliquais dans le paragraphe
+:ref:`conversions`, il s'agit d'un caractère matriciel.
+L'approximation qu'en fait *evince* est donc imparfaite.
+Ces défauts disparaîtront avec la conversion en fonte.

0 comments on commit 932f7d4

Please sign in to comment.