gesturing paths → notes

gesturing paths → notes

Tuesday plan

Proper introduction to Git
Work environment, workflow, basic syntax introduction
First Metafont shape!
Quick point on the proceedings, mini workgroups, direct documentation
Quick look at the various modules


This is a lot of stuff to install!
On Ubuntu, this is how we managed to do it…

And a Fontforge built from source…

Python bindings

Compile mf2pt1

Compile sfnt2woff

Install sfnt2woff

Compile ttf2eot

Install ttf2eot

Basic syntax

To start off, let’s have a look at the basic syntax for a Metafont drawing.
Along with this text file you will find a folder in the relearn.gesturing-paths.git containing a file with an .mp extension.
Open it up with a text editor and have a look around.

Were going to look at how to output a visual result to the .mp file.
This extension might look strange but its actually just describing a MetaPost file.
MetaPost is what were going to be using to translate the syntax text youre looking at in the .mp.

Open a terminal shell and type:

Youre now looking at all the options that MetaPost allows.
Move to the directory where your file is saved, now tell MetaPost what youve been working on and type:

The program will return a message log to confirm that it has performed the translation action.
Now check the folder where your .mp file resides.

Committer : FS - Fri, 30 Aug 2013 14:09:53 - A first attempt to see about merge, changes through a simple search-and-replace

Notes, links



An example: file draw.1

In the file draw.1:
Committer : Loraine - Thu, 29 Aug 2013 14:09:13 - Starting a Meta-post-font-TeX poster

A sequel to OSP Visual Grammar poster, showing the construction of a Bezier curve-based font and a spiro curve-based font. This new one, possibly followed by other ones, will show the process of drawing or programming a font with metapost, and will be laid-out with Metafont and TeX!!!!


MetaPost was created by mathematicians —Donald Knuth is also the creator of TeX— to do graphics of illustrations (this is why you have a function fill or color, that are not really usable in the case or a stroke font).

Pen settings (the brush parameters)

If nothing is specified, it sets a normal pen (circular nib).
Calligraphic pen:

Pen attributes

Committer : Caroline_Dath - Thu, 29 Aug 2013 16:40:15 - la crème de la crème

Before starting to draw:

In the example above, we scaled homothetically the pen, now we want to stretch it differently in x and y, and we rotate it:

Committer : Juancho-Capic - Fri, 30 Aug 2013 09:11:20 - Analogic Metapost

This is a signal the i show on the square next to Variable, so i took a photo of if because it reminds me of the Metapost program. Geeky!

Using vector points

You can influence the way a curve goes from a point to another by indicating the direction the path has to take when it leaves it but also how it should approach the next one :

Here’s an example :
draw (03,03) {up}..{up} (10,17);

The path will move straight up from (03,03) and arrive from below to (10,17).;a=blob_plain;f=Modules/Coordinates/VM/metapost_vector-point-example.png;

The path will leave the starting point as indicated but will join the end point as the opposite way you indicate. The path will actually follow the direction you assign to the end point: to keep on the up direction, the path has to come from below. And to keep on the “right” direction, the path has to come from the left. You can use "left", “right”, “up” and “down” attributes to define the direction.

With degrees:
Other examples:;a=blob_plain;f=iceberg/VM-vm.png;h=3e3007aa9c901150cf819b74a5967e1b90b3d3ff;hb=HEAD;a=blob_plain;f=iceberg/VM-z.png;h=869ff1c4637ea0a106bd17c2d563f1a1f9c36086;hb=HEAD;a=blob_plain;f=iceberg/VM-k.png;h=0a1e629b6c7f933d7cb8b849b3a569f79d6f474d;hb=HEAD

Committed : kevin-cocquio - Fri, 30 Aug 2013 08:55:58 - Nouveau fichier de définition des associations de modules de lettres

Back to Git
To modify a file from the Git (take it and modify it)

From anywhere in the repository, see if there were any changes yet:

Sometimes you can’t pull on Git because first you need to clean all the commits that you “should do” on the files that you already made in your computer. But normally you don’t want to push those files on the Git repository so all you need yo do is: git stash and it will store your commits in a box, so now you should be able to pull correctly; if you want to get your changes back again with git stash apply.

On the online git repository, you can see the changes made:
And click on log.


Hershey fonts are stroke fonts drawn for engraving. Meta-Hershey variants are generated here: the paths of the SVG Hershey files were translated into Metafont.


A happy accident, a book found in Okno where Thomas was staying during the summer school:;a=blob_plain;f=letterwriter/DSC04811.JPG;hb=HEAD;a=blob_plain;f=letterwriter/DSC04828.JPG;hb=HEAD

Letterwriter was  designed by S. Robert Speel in 1982. It is a little BASIC program for  the Spectrum ZX81 to emulate handwritten text. The program reads in a  DATA file to generate the fonts. This projects takes the DATA file as a  starting point to port the Letterwriter font to Metafont. The project  consists essentially of two main files: one containing the bitmaps in  decimal encoding and the other one containing the conversion script.;a=blob_plain;f=letterwriter/font-001-1.png;hb=HEAD;a=blob_plain;f=letterwriter/font-003-1.png;hb=HEAD;a=blob_plain;f=letterwriter/font-04-0.png;hb=HEAD;a=blob_plain;f=letterwriter/font-004-1.png;hb=HEAD

What we say

The latest 10 commits, excluding the merges. There is a delay of an hour…