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


Ludispilled the beans

— 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 Leraystated

— Testing the repo's well behaviour

Tuesday, 16th July 2013 - 01:09


Ludiblabbed out

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

Tuesday, 16th July 2013 - 09:43


colmlet out

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

Thursday, 25th July 2013 - 00:22



— Updated the README for git/archive/work purposes

Thursday, 25th July 2013 - 10:35



— 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'Neillspoke

— 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 Huyghebaertstated

— 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



— 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



— 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 Huyghebaertironized

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

Sunday, 29th September 2013 - 05:59


Pierre Huyghebaertsaid

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

Thursday, 3rd October 2013 - 05:24


Pierre Huyghebaertargued

— 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 Jeonverbalized

— 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


erg-libregave away

— lllllllllllllllllllll

Thursday, 3rd October 2013 - 11:20


Jongmin Ahnpublished

— 고추장Gchujang

Thursday, 3rd October 2013 - 11:05



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

Thursday, 3rd October 2013 - 11:21



— 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 Huyghebaertbabbled

— Added all names in the licence

Thursday, 3rd October 2013 - 11:37



— Added the chosen picture

Friday, 4th October 2013 - 03:12


Pierre Huyghebaertgave away

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

Friday, 4th October 2013 - 03:25


Pierre Huyghebaerttattled

— 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


Ludilet loose

— 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



— 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 Huyghebaertwhispered

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

Friday, 4th October 2013 - 04:39


Pierre Huyghebaertpeached

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

Friday, 4th October 2013 - 04:48


Ludibrought out

— publication colophon

Friday, 4th October 2013 - 04:56


Pierre Huyghebaertargued

— Added first texts/pages

Friday, 4th October 2013 - 05:14


sarah magnantalked

— yay! a commun trainddata

Friday, 4th October 2013 - 05:04


sarah magnanlet on

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

Friday, 4th October 2013 - 05:05


Pierre Huyghebaertsaid

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

Friday, 4th October 2013 - 05:15


Pierre Huyghebaertdivulged

— Added Tools text

Friday, 4th October 2013 - 05:21


Pierre Huyghebaertclaimed

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

Friday, 4th October 2013 - 05:34


Pierre Huyghebaertspilled the beans

— Tuned what could be the first page.

Friday, 4th October 2013 - 05:39


Pierre Huyghebaertgave away

— Finished most of the pages and the corresponding pdf.

Friday, 4th October 2013 - 06:22


sarah magnansaid

— yay, we've got a cover

Friday, 4th October 2013 - 06:04


sarah magnanwhistled

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

Friday, 4th October 2013 - 06:05


Pierre Huyghebaertcomplained

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

Friday, 4th October 2013 - 06:22


Pierre Huyghebaertblabbed

— Added the box website tool

Friday, 4th October 2013 - 06:27


Pierre Huyghebaertcried

— Added how to download and follow future versions.

Friday, 4th October 2013 - 06:33


Ludilet out

— quick process

Friday, 4th October 2013 - 06:55


구운회 Gucried

— Gu

Friday, 4th October 2013 - 07:18


sarah magnandeclared

— cover with captions

Friday, 4th October 2013 - 07:15


구운회 Guexpressed

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

Friday, 4th October 2013 - 07:19


구운회 Guargued

— 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 Huyghebaertsang

— back and 2

Friday, 4th October 2013 - 07:25


erg-libregave away

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

Friday, 4th October 2013 - 07:29



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

Friday, 4th October 2013 - 07:32


Jongmin Ahncried

— 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


Colmblabbed out

— 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



— morning

Friday, 17th January 2014 - 09:22



— 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



— some more pictures on Fonzie plate

Friday, 17th January 2014 - 11:46



— 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 Huyghebaertwhistled

— flyeritude

Friday, 17th January 2014 - 13:01


Pierre Huyghebaertshouted

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

Friday, 17th January 2014 - 15:43



— 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



— 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 Huyghebaertshouted

— First test of slides for Eric lesson

Thursday, 23rd January 2014 - 12:59



— some sound from LP

Thursday, 23rd January 2014 - 15:18


Pierre Huyghebaertsang

— Bernard Guyot's goergeous midi translation

Thursday, 23rd January 2014 - 14:20



— en chemin vers la Print Party

Thursday, 23rd January 2014 - 12:29



— cleaning step

Thursday, 23rd January 2014 - 13:30



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

Thursday, 23rd January 2014 - 13:30


Pierre Huyghebaertsang

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

Thursday, 23rd January 2014 - 14:21


Pierre Huyghebaertbrought 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



— Print party colophon + recipe for the pancakes.

Thursday, 23rd January 2014 - 21:21


Pierre Huyghebaertdisclosed

— voyels

Thursday, 23rd January 2014 - 15:42


Pierre Huyghebaertdiscovered

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

Thursday, 23rd January 2014 - 15:42


Pierre Huyghebaertbabbled out

— lessons

Thursday, 23rd January 2014 - 16:02


Pierre Huyghebaertsaid

— size adaptation for laser-style beaming

Thursday, 23rd January 2014 - 16:42


Pierre Huyghebaertgave away

— 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 Huyghebaertinterpreted

— A first full readme in markdown as a webpage

Tuesday, 28th January 2014 - 19:54


Colmbrought out

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

Tuesday, 28th January 2014 - 15:36


Pierre Huyghebaertsaid

— 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



— 300px picts

Tuesday, 28th January 2014 - 23:35


Pierre Huyghebaertwhispered

— Attempt of some raffineries

Wednesday, 29th January 2014 - 01:06


Pierre Huyghebaertsaid

— 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



— 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



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

Wednesday, 5th August 2015 - 12:07