clone your own copy | download snapshot


Typojanchi 2013


October 2013 — during the 3rd edition of the 타이포잔치 Typojanchy biennal, Open source Publishing set up a 5 day workshop in Seoul. The process by which a computer learns to distinguish letters, OCR (Optical Character Recognition) has already been the subject of OSP projects such as Fonzie, the image to font processor and the itinerant Dingbats Liberation Fests (a.o. CASCO, Espace MyMonkey). In Seoul, OSP and 10 Korean participants went a step further and bashed and trashed the OCR system, teaching it to recognise beyond the alphabet.

23 January 2014 — Live from SIN lab, inside De La Charge house, OSP reviews the trip that took place 3 months before.

The flyer

Download the flyer in pdf

The tour is composed by :

  • playing some korean vynils, open up the guts of Tesseract on pictures from the trip,
  • taking a double Hangul lesson,
  • lauching the cooking of Korean Leek & Onion Pancake,
  • stuffing Fonzie and testing fonts,
  • making our machines speaks Korean with espeak,
  • listening to the midi files Bernard Guyot transcribed from the vynils music using Timidity,
  • convert these midi to abc format with midi2abc,
  • and finally inject them to make ecantorix sings! Proto open source karaoke flavour!

Result : two potential hits,다누보강의 작울결 Remix 1 and 다누보강의 작울결 Remix 2 to download!

This marks the beginning of a collaboration with Paul Boudeau from Sin, for a future pure-dated version of it!

Korean pancakes Hangul lesson Funzie Fonzie from a Korean Letraset board

Visit more pictures here

Workshop description — By looking at the inner workings of digital text recognition software know as OCR (Optical Character Recognition), there seems to be a space in which we can put comprehension aside, and where we could be able to observe typography in its shapes, before making out it's specificities, or even it's meaning. By declutching some of our digital habits, and taking time to understand and retrace processes that OCR uses to look at shapes, step by step, and over time working out which are characters, which are words, and what they correspond to, this software embodies a digital way of learning to read. We believe there is a lot to take from this, a lot we, as type enthusiasts, can grasp on to. Could we propose a patient manual reverse engineering process of the digitally possible methods to work towards a deeper understanding of our typographic languages and our restitution of the embedable links between content and its forms?

Info — Seoul Print Party OSP - Lab sin01 Thursday, January 23, 2014, 18:00 — 21:00 Galerie De La Charge, Brussels

Line up for humans
17:30 — Doors open, korean vynils
18:00 — Launch and visual intro
18:20 — Into the OCR eye
18:45 — Hangul lesson
19:00 — Kitchen check
19:05 — Fonts testing
19:25 — Synthetic poetry
19:35 — Vynil to midi to abc
19:40 — Proto karaoke
19:55 — Singing voice
20:00 — Score printing
20:10 — Paul's boutique, tube and dance!

Line up for machines

OCR + fonts

tesseract special-offer.jpg special-offer  
tesseract special-offer.jpg special-offer -l kor  
mogrify -format jpg *.*  
for i in *.jpg; do mogrify -type Grayscale -sharpen 0x3.0 -resize 1000x1000 $i `basename $i .jpg`.jpg ; done  
fonzie tessdata=/home/ludi/src/tesseract/tessdata/kor.traineddata s=100 i=letraset.jpg txt=letraset.txt otf=1 n=letraset


cat *.txt > lyrics.txt
espeak -f lyrics.txt -v Korean -g -p 20
espeak -f lyrics.txt -v Korean -g -p 99


timidity file.mid
midi2abc korean-song-long-instruments.mid > seoul-fonts-song.abc
manual edit of the .abc file and adding the words to the notes


midi2ly seoul-fonts.midi
lilypond seoul-fonts-midi.ly
evince ./seoul-fonts-midi.pdf

Bonus! Custom fonts in the score, add \override LyricText #'font-name = #"KoreanLetraset" just after \lyricmode { and just before the text you want to style

Korean Leek & Onion Pancake

Serving Size: Makes 6-12 medium-sized pancakes


  • 2 bundles of Korean leek ( this may be garlic chives- not sure), washed thoroughly and cut into 2 inch segments
  • 1 yellow onion, peeled and thinly sliced
  • 2 cups flour or Korean pancake flour: sold at Asian market ( I recommend the Korean pancake flour because it is already seasoned)
  • 1 cup water

Optional: Dipping soy sauce

  • 2 tablespoons soy sauce
  • 1/2 tablespoon rice vinegar
  • 1/2 tablespoon sesame oil
  • 1/4 tablespoon sesame seed
  • 1/3 cup minced green onion


  1. Combine leek and onion in mixing bowl.
  2. Add enough flour to cover all of the leeks and onions, but not too much that it buries it.
  3. Add water to make batter thin consistency.
  4. Heat pan with tablespoon of oil on high heat.
  5. Scoop batter with leek and onion and pour onto pan into medium-sized circle; spread veggies out evenly.
  6. After batter has cooked on one side, quickly flip over and begin flattening out pancake. Turn heat to medium high.
  7. Continue to flip and press until outside is crispy, golden.
  8. Optional: Mix Dipping soy sauce ingredients and serve on the side with pancakes.

Two things I learned from my mom that changed my pancake-making:

  1. Initial High heat : this is what gets that nice crispness
  2. Just enough pancake flour: I always thought it was like making American pancakes- you need lots of batter. But it’s quite the opposite. You need just enough to hold the veggies together. This way you can really taste the veggies and still enjoy the crispness of the pancake batter.


Seoul Font Karaoke was made possible with the following additional tools:

  • The font manipulation software in use is Fontforge
  • The pictures have been converted to grayscale, sharpend and resized thanks to Imagemagick
  • The midi file was manually created by Bernard Guyot on basis of a vynil recording using non-free Sibelius software
  • The lyrics have been sung and recorded by espeak with an additional korean voice courtesy of Kyung-hown Chung
  • The music-score layout as has been produced by Lilypond
  • The booklet was laid-out using Inkscape




— some preview of the workshop place

Thursday, 11th July 2013 - 12:48



— ajout de formulaires pour demandes de subsides WBI et BIJ

Friday, 12th July 2013 - 15:10



— balsa serie, 3 books, 1 revue on a tarpaulin

Tuesday, 16th July 2013 - 09:42


Alexandre Lerayclaimed

— Testing the repo's well behaviour

Tuesday, 16th July 2013 - 01:09



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Tuesday, 16th July 2013 - 09:43



— Gathering all the empty .doc files + starting to gather images for the visual doc to append to applications

Thursday, 25th July 2013 - 00:22


colmlet on

— Updated the README for git/archive/work purposes

Thursday, 25th July 2013 - 10:35


colmgave away

— all the lovely invitations for Seoul

Monday, 29th July 2013 - 17:31



— Applications, CVs, Texts, Portfolios, you name it.

Monday, 29th July 2013 - 22:16



— Kunsten En Erfgoed file assembled and .zipped CVs, motivations, budget, anything you like, we've got it!

Tuesday, 30th July 2013 - 00:20


Colm O'Neillverbalized

— columns and rows overlapping a latin 3 to explain OCR

Tuesday, 17th September 2013 - 10:34



— brouberol test

Thursday, 19th September 2013 - 19:40


Pierre Huyghebaertconfessed

— first set of files to test the training via the code.google page

Sunday, 22nd September 2013 - 16:08



— first succesful run of Balthazar Rouberols TesseractTrainer:
A simple(ish) Python API that helps you generate the .tif image file to feed to Tesseract as training data.
Following the steps on the tesseract wiki, most time is spent correcting the box file coordinates, essentially teaching tesseract where a character starts and where it ends.
Rouberol's approach is to specify a .otf font file, feed it some training text, and let the API build a tif image that Tesseract will have 0 problems with.
We hope to use this for Hanguel characters, facilitating the training in an unknown language.
Now to find a decent text, a decent font, and multiply!

Tuesday, 24th September 2013 - 06:57



— Last bits from Brouberol

Tuesday, 24th September 2013 - 19:48



— Structure issues, re previous commit message.
Now a folder with todays experiments with the TesseractTrainer python module.
Again. Cfr previous commit

Tuesday, 24th September 2013 - 22:56



— Moving stuff to the iceberg.

Tuesday, 24th September 2013 - 23:42


Colmgave away

— A succesful loop on the entire training process:
Used Rouberol's module to create well calibrated .tif with the Undinaru font, then ran the rest of the training process as explained on the wiki.
The result was no box coordinates to correct, and all the words made from the .tr and .mf files was perfect.
586 words out of 586 were added successfully to my training data, then built my own Korean "dictionnary".

Wednesday, 25th September 2013 - 21:38


Ludispilled the beans

— some repo shake

Saturday, 28th September 2013 - 17:04



— more repo tetris

Saturday, 28th September 2013 - 17:12



— last cleaning round before sleeping

Saturday, 28th September 2013 - 17:19



— morning split

Sunday, 29th September 2013 - 05:27


Pierre Huyghebaertclaimed

— reformated the README.txt to comply a bit more to our standards haha

Sunday, 29th September 2013 - 05:59


Pierre Huyghebaertconfessed

— reduced the readme for quieter display, details in another file, and update of the iceberg

Thursday, 3rd October 2013 - 05:24


Pierre Huyghebaertironized

— We forgot the licence! We've just presented it, now let's share it.

Thursday, 3rd October 2013 - 09:35



— Pushing all of the files + tessdatas that Jo created with her research on the boutique logos.

Thursday, 3rd October 2013 - 10:06



— Here are Matilda's files with all of her research on hanguel typewriters.

Thursday, 3rd October 2013 - 10:26



— illowa

Thursday, 3rd October 2013 - 10:43


Matilda Hyerim Jeonadmitted

— interesting experience with OSP in Korea!

Thursday, 3rd October 2013 - 10:37



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Thursday, 3rd October 2013 - 10:45



— Here are all of my files after collecting all of the boat fair tickets. Tesseract was trained on the characters scanned from these tickets.

Thursday, 3rd October 2013 - 10:51



— lllllllllllllllllllll

Thursday, 3rd October 2013 - 11:20


Jongmin Ahntalked

— 고추장Gchujang

Thursday, 3rd October 2013 - 11:05



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Thursday, 3rd October 2013 - 11:21


Davidbabbled out

— Old Hangul images

Thursday, 3rd October 2013 - 11:17



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Thursday, 3rd October 2013 - 11:23


Pierre Huyghebaertspoke

— Added all names in the licence

Thursday, 3rd October 2013 - 11:37



— Added the chosen picture

Friday, 4th October 2013 - 03:12


Pierre Huyghebaerttalked

— Added the chosen image a bit boosted to higher resolution and sharpened

Friday, 4th October 2013 - 03:25


Pierre Huyghebaertsaid

— added the korean spice jam narrative, with a final all vectors version, text flattened and bitmaps converted - plus the 6 slides in png for convenience

Friday, 4th October 2013 - 04:38



— How modern computer can read the first hangul document ever published?

Friday, 4th October 2013 - 04:31



— soo box

Friday, 4th October 2013 - 03:27



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 03:28



— YES! My tesseract trainded data was succesful in reading the common picture.
It outputted similar characters, not specifically making out all of the different characters, but it reacted perfectly to the data I trained.

Friday, 4th October 2013 - 04:05


joeunjiblabbed out

— Here is the master for all to layout using the same grid.
Simple cannonical margins, then a two column suggestion, if a lot of text is present.

Friday, 4th October 2013 - 04:27



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 04:32


Pierre Huyghebaertcomitted

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 04:39


Pierre Huyghebaertbabbled out

— Created the directory and added an odt template for the publication

Friday, 4th October 2013 - 04:48



— publication colophon

Friday, 4th October 2013 - 04:56


Pierre Huyghebaertblabbed out

— Added first texts/pages

Friday, 4th October 2013 - 05:14


sarah magnanwhispered

— yay! a commun trainddata

Friday, 4th October 2013 - 05:04


sarah magnandivulged

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 05:05


Pierre Huyghebaerttold

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 05:15


Pierre Huyghebaertspoke

— Added Tools text

Friday, 4th October 2013 - 05:21


Pierre Huyghebaertblabbed out

— Added 2 docs, we'll finish with a fat booklet.

Friday, 4th October 2013 - 05:34


Pierre Huyghebaertexposed

— Tuned what could be the first page.

Friday, 4th October 2013 - 05:39


Pierre Huyghebaertshouted

— Finished most of the pages and the corresponding pdf.

Friday, 4th October 2013 - 06:22


sarah magnanrendered

— yay, we've got a cover

Friday, 4th October 2013 - 06:04


sarah magnanwhispered

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 06:05


Pierre Huyghebaertlet out

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 06:22


Pierre Huyghebaertclaimed

— Added the box website tool

Friday, 4th October 2013 - 06:27


Pierre Huyghebaertsang

— Added how to download and follow future versions.

Friday, 4th October 2013 - 06:33



— quick process

Friday, 4th October 2013 - 06:55


구운회 Gutalked

— Gu

Friday, 4th October 2013 - 07:18


sarah magnantweeted

— cover with captions

Friday, 4th October 2013 - 07:15


구운회 Gudeclared

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 07:19


구운회 Gucried

— Gu

Friday, 4th October 2013 - 07:23



— david final pdf

Friday, 4th October 2013 - 07:26



— your commit message

Friday, 4th October 2013 - 07:28


Pierre Huyghebaertsaid

— back and 2

Friday, 4th October 2013 - 07:25



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 07:29


Davidbabbled out

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 4th October 2013 - 07:32


Jongmin Ahnexposed

— Min pdf files

Friday, 4th October 2013 - 07:39



— sunday push

Sunday, 6th October 2013 - 05:53



— SIN salon Seoul and post subsidies pieces

Saturday, 30th November 2013 - 18:51



— roasted OCR eye, karaoke flavor

Saturday, 30th November 2013 - 19:43



— print party image

Friday, 10th January 2014 - 00:01



— Seoul fonts karaoke
OSP Print Party
at gallery De La Charge
Thursday, January 23
18:00 — 21:00

Thursday, 16th January 2014 - 01:15


Colmgave away

— Corrected the confusing readme files that came with espeak-korean.
Now a proper installation of espeak + adding languages manually.

Saturday, 18th January 2014 - 17:19


Ludilet the cat out of the bag

— morning

Friday, 17th January 2014 - 09:22


sarahgave away

— wooo some Korean scans: LP's, paper-glass, hangul systeme rule, emigration paper

Friday, 17th January 2014 - 10:29



— some pictures for fonzie

Friday, 17th January 2014 - 12:55


Ludilet out

— some more pictures on Fonzie plate

Friday, 17th January 2014 - 11:46


sarahlet loose

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 17th January 2014 - 12:59



— Print Party visual enriched by Pierre with Koring partition, Letraset marks and OSP fonts

Friday, 17th January 2014 - 15:50


Pierre Huyghebaertlet on

— flyeritude

Friday, 17th January 2014 - 13:01


Pierre Huyghebaertpublished

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 17th January 2014 - 15:43


Ludigave away

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 17th January 2014 - 15:51



— Iceberg invitation

Friday, 17th January 2014 - 15:54



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Saturday, 18th January 2014 - 17:23


Colmlet loose

— eCantorix lets us use make text sing, using lovely abc files. The module itself uses espeak as an engine and modulates sillables according to a given note.

Tuesday, 21st January 2014 - 00:08



— 타미포잔치 to 타이포잔치

Tuesday, 21st January 2014 - 15:33


Pierre Huyghebaertlet on

— First test of slides for Eric lesson

Thursday, 23rd January 2014 - 12:59



— some sound from LP

Thursday, 23rd January 2014 - 15:18


Pierre Huyghebaertverbalized

— Bernard Guyot's goergeous midi translation

Thursday, 23rd January 2014 - 14:20


Ludilet the cat out of the bag

— en chemin vers la Print Party

Thursday, 23rd January 2014 - 12:29



— cleaning step

Thursday, 23rd January 2014 - 13:30


Ludilet the cat out of the bag

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Thursday, 23rd January 2014 - 13:30


Pierre Huyghebaertbabbled out

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Thursday, 23rd January 2014 - 14:21


Pierre Huyghebaertlet out

— mouth schema

Thursday, 23rd January 2014 - 15:13



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Thursday, 23rd January 2014 - 15:18



— set images

Thursday, 23rd January 2014 - 16:16


Colmspilled the beans

— Print party colophon + recipe for the pancakes.

Thursday, 23rd January 2014 - 21:21


Pierre Huyghebaertstated

— voyels

Thursday, 23rd January 2014 - 15:42


Pierre Huyghebaertwhispered

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Thursday, 23rd January 2014 - 15:42


Pierre Huyghebaertinterpreted

— lessons

Thursday, 23rd January 2014 - 16:02


Pierre Huyghebaertbrought out

— size adaptation for laser-style beaming

Thursday, 23rd January 2014 - 16:42


Pierre Huyghebaertspilled the beans

— size adaptation for laser-style beaming

Thursday, 23rd January 2014 - 17:05



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Thursday, 23rd January 2014 - 21:24



— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Friday, 24th January 2014 - 17:57



— Print Party hits

Friday, 24th January 2014 - 18:42


Pierre Huyghebaertsaid

— A first full readme in markdown as a webpage

Tuesday, 28th January 2014 - 19:54


Colmblabbed out

— svg file of the verso of the print party print out

Tuesday, 28th January 2014 - 15:36


Pierre Huyghebaertconfessed

— Merge branch 'master' of git.constantvzw.org:osp.workshop.typojanchi-seoul

Tuesday, 28th January 2014 - 19:54



— Adding some pictures from the gallery to populate the README page

Tuesday, 28th January 2014 - 22:55



— resized images and bold to the hits

Tuesday, 28th January 2014 - 23:11


Ludilet on

— 300px picts

Tuesday, 28th January 2014 - 23:35


Pierre Huyghebaertstated

— Attempt of some raffineries

Wednesday, 29th January 2014 - 01:06


Pierre Huyghebaertdivulged

— Attempt of even more raffineries - learning md blind mode

Wednesday, 29th January 2014 - 01:12



— pictures of the booklet

Saturday, 22nd February 2014 - 01:28


colmgave away

— renaming stuff in the iceberg to exclude spaces, there are going to be many of this type of commit I believe

Wednesday, 5th August 2015 - 11:38



— rename

Wednesday, 5th August 2015 - 12:02


colmlet the cat out of the bag

— an email that deserves to be in the iceberg of this project

Wednesday, 5th August 2015 - 12:07