Diary | graphicore.de The Graphicore News Tue, 28 Jul 2015 18:03:27 +0000 Zend_Feed_Writer 1.10.8 (http://framework.zend.com) http://graphicore.de/en/diary commander@graphicore.de (Lasse Fister) Lasse Fister Hello Metapolator Tue, 28 Jul 2015 12:45:00 +0000 http://graphicore.de/en/archive/2015-07-28_hello_metapolator http://graphicore.de/diary/tag:graphicore.de,2015-07-28:/diary/2015072812483855b77a264cda6

Hello Metapolator

Learn more about Metapolator and visit the project homepage and the github repository.

A Short Personal Project History

The reason for me not updating my blog for a long while is that I was very busy. I'm still busy now, but yet writing. Something must have changed.
Metapolator is a next generation font creation tool. I started working on it roughly more than one year ago. We can consider the Libre Graphics Meeting 2014 in Leipzig in April 2-5 as my initiation into the project and the start of the current phase. More about the project history can be found at metapolator.com. Our Team gathered later that year again at the Automatic Type Design conference at the ANRT in Nancy in May 6-7 2014. In the meantime I was working on the previous prototype of Metapolator and shaped my mind about what it did then and what I thought it should be. It was in Nancy where we laid the foundation for the current incarnation of Metapolator technology.
Many people contributed to the project, but at Nancy I met Paul Sladen, whose kind help, being a good listener, and giving valuable advice, helped me to form concepts strong enough to get my hands dirty and start working. I left Nancy with a keen excitement in the project.

Things keep changing

After more than one year later the Metapolator Project entered an interesting new phase. Some of the old concepts got replaced by better ones but the general direction has proven right. We have a great product vision and a well conceived ux-design through the work of Peter Sikking. Soon we will present a minimal viable product that supports designers with designing font families. To implement all of our plans and to reach version 1.0 will take some more time however.

My role in the project is less about the creation of the “Metapolator” interface; instead I am the inventor of the underlying “Metapolator Technology”. There are a couple of modules that I realized will be useful in a vastly broader range of applications and tools than just Metapolator. This led to my decision to take parts out of the repositories of Metapolator, and also ufoJS, a library I began developing some years ago that is a key component of Metapolator.

The Plan

I hope I can use parts of Metapolator, especially CPS, to teach people how to make exciting new tools for font and graphic design.

Taking modules out of Metapolator to create stand-alone projects has primarily didactical reasons. It will be easier to show and explain the technology of Metapolator by looking at one part at a the time, instead of everything at once. It will also be easier to write specific documentation for these projects without having to consider the highly specialized nature of Metapolator. Lastly and most exciting for me: we will be able to create cool little projects with our technology to attract, inspire and teach the community. These projects will form an ecosystem around Metapolator: The developer tool for CPS that I'm working on right now will be available for all CPS based projects as an ad-hoc interface.

In the long run we will establish Metapolator technology as a platform to build the next generation of type design tools, or any other domain as well. Metapolator will be positioned as a highly sophisticated application that spawned new core technologies and on the way stimulates and enables new tools.

I want to see more people participating in Metapolator technology in the future; particularly because we offer interesting and genuinely new approaches for parametric design applications, and can enable everything between professional type design/engineering tools to ultra creative graphic design tools that are fun both to make and to use.

For a FLOSS project like ours it is crucial to gain a diverse community. Each part of the project will profit from discussing and solving issues raised by users from any background. We have topics ranging from computer language design to user interaction. The more people use our tools the more ideas and feedback will be available to further advance our mission.

Coming up next

Metapolator’s minimal viable product and the CPS Developer Tool are being developed in parallel at the moment. When I have finished the developer tool I will start to decouple some modules, namely: CPS plus the object model basics, MOM (maybe), our IO modules, the pen APIs and a collection of pens, and the CPS Developer Tool itself. I am also planning a series of blog posts to document the workings of these modules on a fairly high level and finally one about Metapolator that builds upon that knowledge. These articles will become part of the Metapolator documentation as well. I also have ideas for up to three fun projects that will prove the claims I made above and attract new people to this ecosystem; I expect one of these will be created soon after the isolation of CPS.


I have no comments feature on my blog for several reasons. You can discuss this post at the Metapolator g+ community, write me an email or chat to me on twitter.

Firewall-Configuration-Server for an international Trading-Concern Thu, 27 Feb 2014 14:22:48 +0000 http://graphicore.de/en/archive/2014-02-27_firewall-service http://graphicore.de/diary/tag:graphicore.de,2014-02-27:/diary/20140227142708530f4b3c7eae4

Firewall-Configuration-Server for an international Trading-Concern

Application Area

The server is only internally for the concern available and will be used in three different settings:

  1. Initially all new firewalls are set up with the generated configuration and then shipped to the location.
  2. In case of failure an engineer can generate the configuration for the replacement device.
  3. If changes of the configurations are necessary, this is the central place where the changes are incorporated.


The server provides several interfaces with which configuration-files and metadata can be obtained:

  • The website of a store-location with configurations and additional informations like opening hours and address.
  • The download of many different configurations as ZIP-archive, whereat the input is done by uploading a simple CSV-file.
  • A HTTP-GET API with which configurations and metadata can be obtained directly.
  • A maintenance/debugging user interface, that makes an SNMP-Request via AJAX and JavaScript and displays the result in a filterable fashion.

The right Tools

The Server is written in Python. As web-framework I used the lightweight Flask. The required data is picked up from several sources: DNS, LDAP, SNMP, a HTTP-PUSH-based system—through that data is received as XML, validated with XSD and updated—as well as further locally availale files.


The server-configuration is made by me, too. The Apache2 webserver serves the page using mod_wsgi, mod_authz_ldap and mod_ssl. Access is limited via LDAP-Groups and always encrypted with HTTPS.


the design is limited to the essentials and explains the available possibilities.

Screenshot of the servers homepage

Small business stationery for Sibylle Frank Thu, 27 Feb 2014 11:47:59 +0000 http://graphicore.de/en/archive/2014-02-27_sibylle_frank http://graphicore.de/diary/tag:graphicore.de,2014-02-27:/diary/20140227115040530f26907c1a8

Small business stationery for Sibylle Frank

Link to the website: Sibylle Frank

The Website

is in the form of a profile and informs factually and plainly. The website implementation is responsive, thus the site adopts itself to different screensizes.

Wide view of the website of Sibylle Frank

The Design

is based on a thrilling combination of type. On the one hand the modern and very plain webfont “Source Sans Pro” by Adobe is used. It displays the wordmark in its ExtraLight style and delivers the texts with its Light variant. Special emphases and subheadings are displayed with »Magenta Open Cosmetica Bold«—a free version of the “Optima” font by Hermann Zapf and therfore a real classic. The bold “Cosmetica” contrasts the fine “Source Sans” also by its design idiom. A beautiful graphical link between the topics of Sibylle Frank is made—architecture and heritage conservation.

The right Tools

The static HTML of the Website was realized with Hyde—a static website generator written in Python. This optimizes development times and especially makes the hosting very easy and cost-efficient.

Small view of the website of Sibylle Frank

The Letterhead

is realized in the same design as the website. The pages—beeing designed in accordance to the DIN standard—captivate with their clear appearance and the same thrilling combination of fonts as seen at the website.

Letterhead of Sibylle Frank

The Multitoner arrived Wed, 13 Nov 2013 16:59:11 +0000 http://graphicore.de/en/archive/2013-11-13_it-is-a-multitoner http://graphicore.de/diary/tag:graphicore.de,2013-11-13:/diary/201311131703405283b0ecf2532

The Multitoner arrived

logo of the Multitoner


Visit the Multitoner at Github and make shure to read README.md at the bottom of the landing page.


Silber & Blei needs a FLOS-Software to create multitone images. More information about this Project and its story can be found here.

Call for Help: Color Management

I'd really like to see the best possible print preview with the Multitoner. I think Ghostscript has everything we need to get there. I’d love to see some help from people with experience and/or interest in this issue. See the README.md file in the repo and the Roadmap on the right side for more info.


Here an updated version of the Roadmap.

  • the core functions are implemented
  • loading and saving of projects
  • creation of multitone-EPS-images from black and white images with commandline tool and GUI
  • cleanup, more code comments, licence notices, README
  • publication of the repository
  • current status: public testing and first production uses
  • Color management: (research and implementation) to obtain optimal previews ICC-profiles shall be used in future. See also the option ‑sDeviceNProfile in the Ghostscript manual and GS9_Color_Management.pdf.
  • better batch processing and handling of exceptions there: different curves for the same set of colors


screenshot of the current Multitoner

silber-und-blei.com Tue, 12 Nov 2013 17:50:43 +0000 http://graphicore.de/en/archive/2013-11-12_silber-und-blei http://graphicore.de/diary/tag:graphicore.de,2013-11-12:/diary/2013111217533652826b2018ca8


Link to the website: Silber & Blei

Screenshot of silber-und-blei.com 2 responsive sizes


The webdesign is made by us, as well as the realization. We relied on current technology and designed a sterling page. Beautiful webfonts are deployed and the site is responsive. It fits itself into the size of the browser window, so that it stays optimally readable on the smartphone as well as on the desktop.

Statically generated with Hyde/Python

There are completely static pages on the server, just plain HTML-files. The trick: the site is generated with the static website generator Hyde and then uploaded. That has enormous advantages: the site is fast, secure, low-maintenance and still comfortably usable. We didn't want to waive a newsfeed, so this is generated by Hyde in the ATOM-format. For our image gallery we extended Hyde with a plugin, of which more later.

The Image Gallery

We want to present our images particularly nice, that’s why we went to great effort with the image gallery. The centerpiece of the gallery is the photo album viewer. I summarized here some noticeable properties of the slider.

Here embedded the album »Neuste Bilder« of Silber & Blei:


The album viewer is completely responsive and adapts fully to the available space. You can try this yourself on an album page. Just change the size of the browser window and observe what happens.


There are different cases in which an album is integrated. On the one hand the page of the album itself, on the other hand an album can be included on every other page. Furthermore all albums have their own address to embed them as Iframe on other webpages. Provided that the browser supports it, an album can even activate full screen mode.


As you see on this page, an album can be embedded on another webpage. Special web pages are genearted for this. An album knows the address of its embed-version and offers a small code-generator. Thanks to the great adaptability of the slider, concerning the format, we took a pass on requiring static sizes. The author of the foreign page can fit in the album just right. Of course we hope to gain bigger reach with this feature and we’d be happy about spottings of our albums in the wilderness.


Each instance of the album uses the same code, may it be as Iframe or on the album page. Its the progression of code of das Auto. Magazine. The thumbnails and the big display of the images are using the same base. By extending the objects and by different configuration the two forms come into being. To change into full screen mode an album doesn’t even need new initialization.


For image management we wrote a plugin for Hyde in Python. The plugin generates thumbnails and the big images when the site is processed. An album is a configuration file mainly consisting of a list of images. To include an album its enough to know its internal name: {{make_album( 'Neueste_Bilder', ['autoplay', 'no-thumbs']) }}. The example is taken straight from our homepage.

Curation Module for The ICONIST Tue, 12 Nov 2013 15:53:17 +0000 http://graphicore.de/en/archive/2013-11-12_iconic_imports http://graphicore.de/diary/tag:graphicore.de,2013-11-12:/diary/2013111216002052825094cba29

Curation Module for The ICONIST

Link to the Site: The ICONIST although what I did can't be viewed directly online.

Import and Synchronization

The programm collects product data of many different providers. Therefore an adapter Concept is used. Coming from different provider formats a unified representation is stored in the database. Hundreds of thousands of different products are beeing imported and kept up-to-date. The import is triggered via cron job automatically but it can be started through the webinterface, too.

A locking mechanism prevents that the same source is beeing multiply imported at the same time. The import state can be determined at any time, even when the import is run by another process. It can be queried with the web interface and as the admin with the terminal. The importer recognizes updates of the particular products as well as the deletion of products by the provider.

Curation Webinterface

Screenshot Curation Interface

The editors choose products for a further selection process and for the enrichment of the data. The web interface offers a plenty of filters to master the big amount of data. Besides very simple filtering options like “shop” or “price range” a keyword search and a filter for categories are provided. The differing categories from provider to provider can be mapped to a common category tree in the curating module. The category tree can be created in the web interface. The mapping of foreign category to local categories is done by an editor.

Two concepts to represent the category tree are used in the database: an adjacency list, that means every category knows its parent category. With this the implementation of the tree management is easy. Besides that the informatio of the Nested-Set Model are stored with the categories. So querying the tree is performant and easy.

For the curation process I wrote a small JavaScript application that reduced loading times distinctly by using AJAX and simplified the server routines a lot. E.g. the management of the application state takes place in the client and needed no server side implementation using sessions.


The server code is written with PHP 5. I used Composer with Symphony 2 as a framework and wrote a lot of custom code myself. The webinterface uses RequireJS and jQuery and a whole lot of my own modules.

Under Development: Multitoner Tool Thu, 13 Jun 2013 09:03:43 +0000 http://graphicore.de/en/archive/2013-06-13_it-is-a-multitoner http://graphicore.de/diary/tag:graphicore.de,2013-06-12:/diary/2013061209052451b839d4ca32b

Under Development: Multitoner Tool


Silber & Blei will produce exclusively with FLOS-Software. Because it’s important to us to have control over our tools. We’ll make first class print products with free software. The consequence of this decision is that we write missing software ourselves. A program to create multitone images is missing in the free software world so far. The Multitoner Tool will be released under the GPLv3.

What is Multitone

When offset printing black and white images with just one ink—black in the standard case—the results appear dully and without depth. That’s because one color channel in printing can render ca. 50 differnt shades, see: Gamut. For comparison: a black and white image on a computer monitor is rendered with ca. 256 shades. To print black and white images in high quality, so that they show a depth comparable to a photographic print, multiple inks are used for one image. For instance: black for deep tones and gray for mid-tones. The gamut of the result can be increased depending on the count of the used colors.


When one ink is used it’s called “monotone”, with two inks it’s “duotone”, three is “tritone” and four is “quadtone”. The whole topic is summarized with “multitone”.

The Tool

screenshot of the current Multitoner Tool

The core function is setting up the inks that are going to be used (up to ten), where there is a control curve for each ink. The curve assigns for every input value—from black to white–the quantity of the ink to print— from full application to none. There are diffrent curve types to interpolate between the control points: linear, cubic splines, monotone cubic splines.

The inks are getting a name, to identify them clearly later in the process. CMYK-values are assigned for the screen preview. The order of the inks can be varied, this is needed because it affects the print result.

For preview a color stripe is shown for each ink. It displays the output value after application of the control curve. A further color stripe visualizes the combination of all inks. Also, there is a preview image with the settings applied to it.

Technical Notes

The tool is written in Python. The GUI implemented with GTK+. The control curves are calculated with SciPy and NumPy. The widget for display and manipulation of the control curves is self-made (as GtkDrawingArea). Color preview and preview image are rendered using Ghostscript. Colormanagement shall be achieved through Ghostscript in the future.


Here a rough scatch on how I conceive the projects further progression:

  • current status: the core functions are implemented
  • loading and saving of projects
  • creation of multitone-EPS-images from black and white images with commandline tool and GUI
  • cleanup, more code comments, licence notices, README
  • publication of the repository
  • public testing and first production uses
  • Color management: (research and implementation) to obtain optimal previews ICC-profiles shall be used in future. See also the option ‑sDeviceNProfile in the Ghostscript manual and GS9_Color_Management.pdf.
  • better batch processing and handling of exceptions there: different curves for the same set of colors
Refactoring for WeSC Mon, 10 Jun 2013 13:25:33 +0000 http://graphicore.de/en/archive/2013-06-10_refactoring-the-Superlative-Conspiracy http://graphicore.de/diary/tag:graphicore.de,2013-06-07:/diary/2013060714011251b1e7a8c1407

Refactoring for WeSC

Joint with Uli Schöberl, the Site WeSC.com experienced a renovation. Here’s a short list of what I did:

the logo of WeSC
  • A caching-mechanism of the CakePHP Frameworks in use was supplemented by a new approach. Finer control of the cache-invalidation has been established. The automatic clearing of the caches is considerably improved.
  • Some Functions were taken together and implemented centrally. All in the spirit of DRY.
  • The import of product data was simplified. A process running in the background is launched after uploading the data. The progress can be tracked via AJAX.
  • More maintenance work was accomplished and more new features were implemented.
Announcement: Silber & Blei Thu, 06 Jun 2013 18:24:39 +0000 http://graphicore.de/en/archive/2013-06-06_silber-und-blei http://graphicore.de/diary/tag:graphicore.de,2013-06-06:/diary/2013060618252451b0d41400bf3

Announcement: Silber & Blei

»Silber und Blei« is German for “Silver and Lead”

Signet: Silber und Blei.png

Anne is silver and I am lead

Anne is a trained photographer and has a diploma in geography. Silver is the metal of photography. It’s required to make the light-sensitive coating of photographic film. As designer, I devoted myself to type and typography. Lead is the metal of letterpress printing since Johannes Gutenberg employed it to cast his type sorts.

Together we are eager to manufacture marvelous books. Beautiful items with love for detail and high demands on craftsmanship. We will deliver the contents, too. It’s about giving a good form to creative subjects. We already have a lot of ideas. Thus we are looking forward to the journey and are curious what's expecting us.

The Wordmark

The word Silber is an interpretation of Bodoni Italic. The letters appear noble and playful. The instroke of “l” and “b” as well as the terminal (serif) of the “r” prepare for the following combination of typefaces.
& Blei is set with Wilhelm Klingspor Gotisch and provides a strong contrast. The wonderfully historicizing typeface emphasizes that this is the lead of the typesetters.

The Logo

In our logo the letters of Ag and Pb—the chemical symbols of silver and lead—merge to a unit. This is the heart of our work: The compound of photography and printing.

I’m self-employed again Thu, 31 Jan 2013 13:58:45 +0000 http://graphicore.de/en/archive/2013-01-31_big-business http://graphicore.de/diary/tag:graphicore.de,2013-01-31:/diary/20130131135955510a78db3e0d6

I’m self-employed again

I gained a lot of experience in the last two years at compuccino. Some of the clients are: Puma, Volkswagen, WWF, Koelnmesse (gamescom, photokina), Allianz, Die Welt, Heinz Ketchup, die Deutsche Bahn. For the most of them I did small to medium sized projects. I did various Facebook apps, applications that interact with Facebook and where users can login with their Facebook account. I presenet here two big projects.

Volkswagen – Das Auto.Magazine

Screenshot of the Volkswagen Das Auto. website in 3 responsive steps

Compuccino implemented together with Kircher Burkhartd the online version of the Volkswagen brand magazine. The webmag is designed entirely responsive. From smartphone to desktop computer it can be consumed optimally. The mag will be available in 16 languages.

My responsibillity was in implementing the JavaScript that controls the more complex behaviors. That is, for instance, the slideshows adapt their look and behavior depending on the screen size. The pages are modular, so that editors have a large degree of freedom in creating and designing articles.


The JavaScript is loaded with RequireJS and uses jQuery for DOM interaction and event handling. The modules are well maintainable, configureable and implemented objekt orientated—functionallity can be added by inheritance. So, for instance, all slideshow modules share the same base. There is an API that allows iframes to interact smoothly with the parent document. Animations are realized either with CSS3 transitions or with jQuery, depending on the capabilities of the browser.

AUSSCHNITT Medienbeobachtung – Social Media Dashboard

Ausschnitt DashboardAusschnitt Dashboard detail

The clients browse and analyze the data that has been collected by “AUSSCHNITT Medienbeobachtung” on social media websites. In the process they formulate queries on the database trough the graphical user interface. My tasks where to query the database correctly, to visualize the data, the programming of the interactive user interface as well as most of the rest of the server requirements.

The results of the queries are each displayed in a “widget”. The widgets can be rearranged and provide a detailed view as well as more filter options. Unique data points can be resolved to their individual members. The current state of the dashboard is saved automatically and restores at the next visit immediately. Here is even more information (in German) …


The JavaScript is loaded with RequireJS and uses jQuery. The JavaScript is written object orientated. The charts are displayed using the Google Chart Tools. The single requests are done via AJAX to a REST-API. The entire state of the Dashboard is saved on the server, serialized as JSON. The CakePHP framework was used on the server.

The @inpressulum font and a typographic tattoo Sun, 02 Sep 2012 19:04:49 +0000 http://graphicore.de/en/archive/2012-09-02_piece-of-prayer http://graphicore.de/diary/tag:graphicore.de,2012-09-02:/diary/201209021920375043b185ef245

The @inpressulum font and a typographic tattoo

Picture of the tattoo with Irish text: Ní dhoirtfear fuil neamhchiontach choíche. Ach sruthóidh fuil na n-olc mar abhainn. Leathfaidh an triúr a n-eiteoga dubhaithe agus beidh siad ina chasúr buailte Dé.

The font

The font is called @inpressulum after the twitter name of Marc who wears it on his calf. Its a free interpretation of Gaelic script. The font contains only the characters visible in the artwork. Some of the glyphs where modified to form the horizontal bar of the cross.

The Content

The tattoo shows a verse of “The Family Prayer” of the movie The Boondock Saints. Its a translation in the Irish language from the following:

“Never shall innocent blood be shed. Yet the blood of the wicked shall flow like a river. The three shall spread their blackened wings and be the vengeful striking hammer of god.”

the tattooed   calf

The legs of Marc after applying the tattoo on his right calf.

Introducing ufoJS Tue, 17 Jan 2012 14:02:59 +0000 http://graphicore.de/en/archive/2012-01-17_ufoJS-is-not-a-bird http://graphicore.de/diary/tag:graphicore.de,2012-01-17:/diary/201201171404524f15800404a4f

Introducing ufoJS

Fork, clone or download: ufoJS on gitHub.

The Project

I was am tired of platform bound font editors, myself using Linux almost exclusively. Thus, beeing a web-developer most of my time, I naturally liked the idea of doing a font editor in the browser. So, last year I started porting parts of the Python libraries FontTools and RoboFab to JavaScript in my spare time. With the first goal of rendering the path data of UFO — Unified Font Object .glif files in a browser. Now, most of the ported code is based around the pen APIs and I can show you something.

Look at it.

On the left side you can see the example application included from the project folder using an iframe object to include it here. It discovers the available glyphs by reading the contents.plist file of an UFO font and renders the path data of the selected .glif file using SVG. The font you can see is the DemoFont.ufo taken from the RoboFab package.


The library can be used in Gecko and Webkit browsers and in NodeJS. The latter has some external dependencies. The Browser dependent parts are yet only in the sample application but use dojo as well.


For Module loading I am using an AMD (Asyncronous Module Definition) Loader. This nicely helps to organize code, is standardized and loads the stuff fast. In the browser facing code I'm using bdload. For nodeJs r.js of the requireJS project is utilized.


Check out the Test Page. This is done using the D.O.H: Dojo Objective Harness and this is the only thing you can run with nodeJS as well.

graphicore Bitmap Font Building—updated Wed, 15 Sep 2010 16:58:24 +0000 http://graphicore.de/en/archive/2010-09-09_A-Brute-Font-Attack http://graphicore.de/diary/tag:graphicore.de,2010-08-31:/diary/201008310024084c7c4ba816ac5

graphicore Bitmap Font Building—updated

There’s an update at the bottom of this page.

...............................###.....##......................... ......##......................###......##......................... .....###......................##.................................. ..####..###.##..##.##.##.###..#####..###...###...####.###.##..###. .##.###..##.##.##.###..##.###.###.##..##..##.##.##.###.##.##.##.## ##...##..###..##...##..##..##.##..##..##.##....##...##.###..#####. ###.##...##...##...##..##..##.##..##..##.##....##...##.##...##.... .######..##...###.###..##.##..##..##..##.###.#.###.##..##...##..#. .....###.##....###.###.####...##..###.###.####..####...##....####. ##....##...............##......................................... ###..##................##......................................... .#####.................##.........................................

graphicore Bitmap Font

is a bitmap typeface that was early inspired by Underwares Sauna bold italic swash and eventually went on its own way. It’s crisp on the screen at a size of 8 px and multiples thereof. However the intended use case lies rather in display sizes. Using these fonts is a statement towards the core elements of perception of our times—pixels. Resolution is finite. Anti-aliasing is a lie!

The typeface itself is defined in a custom format where the glyphs are stored in text-files idiomatically as bitmaps. Like in the ASCII art above a dot stands for “no pixel” and the number sign marks the opposite. This is what I believe a bitmap font should be like—made out of bitmaps. Character editing was done in a simple text editor program.

graphicore Bitmap Font Building

The fonts I make available here are build from a custom format “Bitmap Font” (BMF) into ready to use OpenType format by a Python program: “graphicore Bimap Font Building” (graphicoreBMFB). By using different parameters varying fonts are generated. The font files released here are thus a demonstration of the output of graphicoreBMFB. When the possibilities of graphicoreBMFB get more comprehensive the graphicore Bitmap Font family will eventually grow.

Attached to the program is the source data of graphicore Bitmap Font in the BMF format. This opens following chances to you:

  • You can generate your own fonts if you don’t like the settings I chose.
  • You can study it as a working example and learn how to make your own typeface design.
  • You can write your own generator and built the typeface with that.
  • You can give your enhancements back to the world.

What to Do

Download the Fonts

Download the fonts package and enjoy writing with them:
graphicoreBitmapFont.tar.bz2 graphicoreBitmapFont.zip
all downloads

Obtain the Code

Have an eye on the code and then make everything better and more—or just use it: graphicoreBMFB. It’s written in Python and uses the great FontForge Python module to create outline fonts. You’ll need that, too.

Join Me

If you like this project or if the ideas keep on bubbling up from your subconsciousness leave me a message. If there’s enough interest in cooperation I’ll set up a central site for that.

Get Serious

If you need a custom typeface or special format that makes reading on your special matrix of special things pleasing, I’m your guy. Furthermore I’m good in internet issues and printed matter. If you value my work we might fit together. More information about my offer.

All Currently Contained Glyphs in the Typeface.

! " # $ % & ' ( ) * + , - . / 0
1 2 3 4 5 6 7 8 9 : ; < = > ? @
Q R S T U V W X Y Z [ \ ] ^ _ `
a b c d e f g h i j k l m n o p
q r s t u v w x y z { | } ~ ¡ ¢
£ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³
´ µ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã
Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã
ä å æ ç è é ê ë ì í î ï ð ñ ò ó
ô õ ö ÷ ø ù ú û ü ý þ ÿ ı

The Styles and the Names

Each family of the graphicore Bitmap Font has its own characteristics. Because there is no system in the development of these characteristics I decided to number them—of course, I started counting at zero. Furthermore, it is easy to add new variants to the collection when new generators evolve. The drawback is that the name doesn’t describe what the font looks like.

The styles differ in their corner radius and where the corners are rounded. In the first three families all corners of each “pixel” are handled the same. The corner radius of the third family makes the pixels to circles and the family therefore to a “dot matrix”.

In the latter styles an algorithm decides where to draw rounded cornes. Number Three and Four have rounded corners where they should be. Five and Six add corners outside of the pixels, where actually is no content in the matrix. Seven and Eight got “outer” and “inner” rounded corners.

The g of graphicore Bitmap Font 0 MediumThe g of graphicore Bitmap Font 1 MediumThe g of graphicore Bitmap Font 2 MediumThe g of graphicore Bitmap Font 3 MediumThe g of graphicore Bitmap Font 4 MediumThe g of graphicore Bitmap Font 5 MediumThe g of graphicore Bitmap Font 6 MediumThe g of graphicore Bitmap Font 7 MediumThe g of graphicore Bitmap Font 8 Medium

The g of graphicore Bitmap Font 4 ThinThe g of graphicore Bitmap Font 4 Extra-LightThe g of graphicore Bitmap Font 4 LightThe g of graphicore Bitmap Font 4 BookThe g of graphicore Bitmap Font 4 RegularThe g of graphicore Bitmap Font 4 MediumThe g of graphicore Bitmap Font 4 Demi-BoldThe g of graphicore Bitmap Font 4 BoldThe g of graphicore Bitmap Font 4 HeavyThe g of graphicore Bitmap Font 4 BlackThe g of graphicore Bitmap Font 4 Extra-BlackThe g of graphicore Bitmap Font 4 Ultra-Black

The Weights

I did twelve different weights for each family. Weight means that the aperture of the pixel-elements differs between the fonts, while the center doesn’t move.

Within the range of Thin to Regular the underlying grid becomes clearly visible, because of the gap that emerges between the items. Medium is the weight where the elements match exactly the grids width. The weights beyond Medium grow above the boundaries of the grid units and make the font bold. Finally, with Extra-Black, one pixel is more than double of the size of a grid unit and Ultra-Black goes even one step further. The families with “outer” rounded corners initially receive no weights lighter than Medium, because I’m not pleased with the outcome now.

To write on a screen at 8 px the Regular or the Book fonts are best suited, because the pixels are a little bit smaller than a grid unit thus preventing rounding errors. Medium should as well work good and be crisp. The bolder weights have their use cases at display sizes.


Because it looks so great I stacked all the fonts of a family combined on a pile. The bolder fonts become the outlines of lighter ones, that creates an All-in-One family overview.

The g of graphicore Bitmap Font 0 FamilyThe g of graphicore Bitmap Font 1 FamilyThe g of graphicore Bitmap Font 2 FamilyThe g of graphicore Bitmap Font 3 FamilyThe g of graphicore Bitmap Font 4 FamilyThe g of graphicore Bitmap Font 5 FamilyThe g of graphicore Bitmap Font 6 FamilyThe g of graphicore Bitmap Font 7 FamilyThe g of graphicore Bitmap Font 8 Family


The Missing Type Specimens

Sometimes a simple type specimen is needed. Here are two in different sizes. There’s a PDF for the bigger specimen where you can zoom in and study the details.



All examples on this page are available as high quality PDF, SVG and PNG in the “media”-folder of the font package. The contents of the “media”-folder in the font-package and this text are available under the Creative Commons Attribution 3.0 Unported License.

graphicore.de is online. Mon, 12 Jul 2010 01:23:56 +0000 http://graphicore.de/en/archive/2010-07-09_i-live-again http://graphicore.de/diary/tag:graphicore.de,2010-07-09:/diary/201007091937074c377a6340b8b

graphicore.de is online.

Joy, Joy,

the relaunch of my website is done. I will present my works here. I think the website is pretty much self-explanatory, so I will focus more the not so obvious things.

I decided to let the archive be empty at the beginning. So, dont't be surprised. That's because I want to take some time to process the projects appropriately. The page will evolve in a natural manner. After all a designer identifies himself with the documentation of his works—thus his portfolio.

There will be no comment feature. But I'm always excited about your emails and if its inevitable I'll let myself be carried away to fix it. The concern here is the presentation of my work and not the discussion about it. As well I don't want to moderate, what would be unavoidable with comments.

teaser for numero uno, a bitmap font by graphicore.de


As a birthday present of graphicore.de, as next action I'll publish the pixel font of the graphicore logo alongside with the code that built it, that I built, under a free license. The font now has ca. 220 glyphs and covers our western languages. The code is rather for tinkerers. Coming back pays off!

What's under the hood?

I have to answer this here. Because I built the Content Management System myself. Those who aren't up for the technics may leave now.

Zend Framework LogoDojo Logo

doctrine LogoHTMLPurifier Logo


Graphicore.de validates here as XHTML 1.0 Strict. That's important to me. Granted, the content-type is text/html, but I have still the advantage of a strict syntax and its possible for me to use other XML tools on my output. An example in this case is the Atom-Feed.


Progressive enhancement: I insisted on using some of the new CSS3 properties. Including gradients, pseudo elements, and naturally @font-fontface. It was important to me that the display works even in browsers that don't support these features. The better the browser the better the display, quite simple.

With 1000px the page is rather wide relative to our screen technology. In addition all contents load among one another and are therefore visible at the same time and directly compareable to each other. To keep the coherency of the layout I set up both a layout grid as well as a baseline grid. The execution is rather primitive compared to the available CSS-Frameworks. But in exchange it fits into 130 generous lines and meets my requirements. The baselinegrid works in all modern browsers ;)

Here it is: the element of the baselinegrid the grid is a 24px high and 99px wide image that gets repeated over and over again. When I wrote the CSS I had the image occasionally in the background to check against it. click here to see it in action(JavaScript must be enabled).


I implemented the concept of unobtrusive JavaScript. That means the page works without JavaScript. However, if JavaScript is available the entertainment factor rises.

For the dynamic behavior of the website with JavaScript I used the Dojo Toolkit for the first time. The handling of Dojo is similarly sleek as the handling of jQuery. I'm very satisfied with Dojo.

graphicore cache

One thing I'm particularly proud of is my way of caching Ajax-Requests. A request gets always loaded in between the previous request and the main-menu. Before a request is made, if the result is loaded already, the page directly jumps to that location—the content is not loaded again.
If nobody made that before, I'd like to call it "graphicore cache" ;)


I will make it shorter than the denseness of topic propably demands. But this post must come to an end, too. I built the backend using Zend Framework, Doctrine ORM and HTMLPurifier. Besides that one and a half Libraries that I cobbled together are employed.


One reason for me to build the backend myself was the rather bad support of existing solutions for internationalization. It's possible for me to localize all areas of the website and so I did.

Cinecita.org Mon, 03 May 2010 13:38:23 +0000 http://graphicore.de/en/archive/2010-10-18_La_Mirada_de_Ella http://graphicore.de/diary/tag:graphicore.de,2010-10-18:/diary/201010181349214cbc5061f0048



Screenshot of the CineCita Website in English displaying the following text: CineCita is a travelling cinema and video laboratory, that will be on tour in the Central Andes in the fall of 2010. CineCita aims to improve general access to audiovisual media and to increase media literacy with rural populations in the region. During the tour, a smart travelling “cine-bus” visits villages in Ecuador, Peru and Bolivia, screening a selected programme of international short films and organizing participative video workshops for local communities.  Screenings are free of charge and held at public places. The selected programme focuses on female perspectives, giving a voice to women’s narratives, from both Europe and Latin America. In the video workshops, young women learn to shoot their own short documentary video, empowering them with audiovisual skills and inspiring them to tell their own stories. An international team of organizers accompanies the workshop participants, while documenting an excerpt of their everyday lives on video themselves. Together, screenings and workshops provide a means of an exchange and networking between the Central Andean Region and Europe.  At the conclusion of each tour stop, the young directors may present their work in form of a public screening. Their films are then sent on the road with CineCita and shown to further audiences in the region.


Content Management

The site is running a custom made content management system. I made it with PHP5, Zend Framework, Doctrine ORM and HTMLPurifier. Cinecita.org is the technical predecessor of graphicore.de.


English and Spanish where necessary. The most ready-to-use CMSs have mean support for Internationalisation. This CMS was planned from the beginneng with multiple languages in mind. Translation is the only thing to do, but if one translation is missing an available one is taken as fallback. Technically the number of languages is not limited.


The site has a totally integrated blog with built in ATOM and RSS newsfeed. Some parts of the website are altered by the staff of CineCita while they are on tour. They can use a WYSIWYG-editor and don’t have to mess around with HTML so much.

An Interactive Map

is providing a quick overview on the CineCita tour plan and lets the user navigate through the tourstops. The results of the workshops held by CineCita will be availabe there.


are transporting Emotions. You have to see this on the life site. The header is animated everywhere and when a submenu is loaded the little girl in the upper right corner is opening the curtain. No Flash was used at all, we tested how far we could go without it. Frontend tools where jQuery, jQuery Tools and of course XHTML 1.0 Strict


Progressive enhancement ensures that the page works good without Javascript. However — when Javascript is running — the contents are cached and the page-frame must not be requested every time. This keeps the feeling of the page intact and improves the control over the animated curtain.

Screenshot of the CineCita website in spanish, showing a map with some dots that stand for tourstops. Over one tourstop a speech bubble is visible displaying the date and name of the stop.

The Media Data is Outsourced


are the core media of CineCita. At workshops videos are produced by local girls and women. The videos are delivered by the good and scaleable services of Vimeo or YouTube.

The Embedded Slideshows

are loading image albums from Googles Picasa and displaying them in the article. The CineCita people are using this feature a lot in their blog articles to show the wonderful places they visit on their journey.

The code It is a very modified version of pwi - Picasa Webalbum Integrator. Best Thing: the heavy lifting of massive image delivery is done by Google.

The Graphic Design

is by 10hoch16.de.

Part of a Screenshot of the CineCita website showing an embedded slideshow. A big image and below a line of thumbnail-images.

Toytoytoys.de Thu, 05 Nov 2009 14:38:01 +0000 http://graphicore.de/en/archive/2010-10-12_serious_toys http://graphicore.de/diary/tag:graphicore.de,2010-10-12:/diary/201010121448344cb475424313c



The Project

The reality has landed in the toy shop. The collected cruelty of the world packet into puppet form. Now, the very little ones can learn through play in what a world they live in.

This project points with unique toys on relevant social topics. More Information on that is linked directly with the Products.

The Technique

The whole site is static, but generated by a PHP script. We have decided so because the site had to be very portable—it had to work from a thumb drive. At the same time the most advantages of a dynamic solution are kept—one can make updates fast and centrally.

I have made the realization of the website. Therefor I used PHP5, HTML, CSS and JavaScript. The site validates as XHTML 1.0 Strict.


Fast eine Milliarde Menschen weltweit leiden unter Hunger. Dabei ist die Ernährungssituation in 33 Ländern, wie z.B. in Afrika und Indien besonders prekär. Für weiterführende Informationen und die Möglichkeit dem Huger etwas entgegenzusetzen, besuchen Sie bitte: www.welthungerhilfe.de


Laut ILO (International Labour Organisation) sind weltweit über 200 Millionen Kinder zu Arbeiten, welche ihre mentale, physische und emotionale Entwicklung beeinträchtigen, gezwungen. Davon sind nahezu dreiviertel dieser Kinder in die schlimmsten Formen des Kindesmissbrauchs, wie Kinderhandel, bewaffnete Konflikte, Sklaverei und sexuelle Ausbeutung verwickelt. Für weiterführende Informationen und die Möglichkeit selbst aktiv zu werden, besuchen Sie bitte: www.unicef.de oder www.kindernothilfe.de


Abraum Tue, 05 May 2009 16:02:59 +0000 http://graphicore.de/en/archive/2010-10-06_underground_exhibition http://graphicore.de/diary/tag:graphicore.de,2010-10-06:/diary/201010061331004cac7a14de999



The exhibition concerned with the topic basement — more precise, the discovery and interpretation of different semantic dimensions of basement rooms — and took place in the basement and thus the advertising had to invite to the basement. An audacious basement staircase visualizes the step into the underworld.

The poster advertising in Marburg was applied double-staged. First the stairs should hang resplendent alone, a few days later the information was added. abraum-poster_label.png In the meantime the people had taken with them numerous posters — which I take for a compliment.

The story of the project is at the abraum blog.

The Abraum-logo is made by Christina Willkomm.

komm mal runter The flyer had as an aim the fridge doors of the Marburger students’ shared flats. »komm mal runter« can mean both “come down” and “calm down”.


Building the bridge from basement to White Cube the catalog was a plainly designed, quadratic booklet. It explanatorily led the visitors through the exhibits.

The Cultureless are here Sun, 15 Feb 2009 11:00:00 +0000 http://graphicore.de/en/archive/2010-10-01_metropolis-wilderness http://graphicore.de/diary/tag:graphicore.de,2010-10-01:/diary/201010011553324ca603fcc53f3

The Cultureless are here



The Idea is to send people in their city with a distinct task—the search for wild animals. As a result they have to perceive their environment in a different manner – as habitat for wild animals. This was inspired by the situationist praxis of Dérive, see also psychogeography. The »Handbuch der wildwachsenden Großstadtpflanzen« by Helmut Völter takes a similar line, too.

The Book is my »Diplom« thesis. I have conceived, written and designed it. I was supervised by Alexander Branczyk and prof Jay Rutherford. Summer term 2008, Faculty Design, Bauhaus-University Weimar.



The Book is introducing in general tactics of tracking down wild metropolitans at the beginning. Later, the peculiarities of the animal species themselves are scrutinised. In the rear part of the book the habitats in the city are gone into. Concluding a list of all wild mamals that occur in the city is to be found.


Additional Spice

is given to the idea of the field trip, because the reader has to snap the appropriate animal pictures himself. Merely the pages are prepared so that images on standard 4 × 6 inch photo paper can be inserted.

In order that the book doesn’t diverge—in its capacity as photo album—extra material had to be brought into the spine as a placeholder. The spine is broad enough to take all pictures.



There is a matching cross-reference between the animals and their habitats, so one doesn’t lose the way in the book. A running head had to be there, too. The design of the pages complies with a layout grid and the baseline grid.

Commemorative Stamp to the 200th Birthday of Hermann Schulze-Delitzsch. Fri, 15 Jun 2007 10:00:00 +0000 http://graphicore.de/en/archive/2010-09-27_a_stamp_chance http://graphicore.de/diary/tag:graphicore.de,2010-09-27:/diary/201009272109094ca107f52b79c

Commemorative Stamp to the 200th Birthday of Hermann Schulze-Delitzsch.


The chance of the attendance at a design competition of postage stamps one seldom gets. I sent a fancy layout even though the advisory council for art of the German ministry of finance often favors conventional design. The layout wasn't chosen—I still like it.

The typeface is FF Seria by Martin Majoor. The design was supervised by professor Jay Rutherford at the Bauhaus-University Weimar in the summer term 2007.

Turbine Fri, 15 Jun 2007 09:00:00 +0000 http://graphicore.de/en/archive/2010-09-27_turbo_art_collective http://graphicore.de/diary/tag:graphicore.de,2010-09-27:/diary/201009272105474ca1072b79bf6


screenshot of the turbine website

The documentation of our works is at die-turbine.de. There it’s full of thrilling media and cool ideas.

Turbine is

Typete—Typographic Wallpaper Sun, 15 May 2005 10:00:00 +0000 http://graphicore.de/en/archive/2010-09-23_Neo-Bourgeois_Grafitti http://graphicore.de/diary/tag:graphicore.de,2010-09-23:/diary/201009231107214c9b34e9d0274

Typete—Typographic Wallpaper

One Letter per Length of Wallpaper,

that would make it possible to write in an elegant floral garment on the walls of your home. As illustration of that idea we’ve made this image back then in 2005.

The font is Warnock Pro Regular. The floral filling of the characters was fitted in elaborate manual work.

The small g has become one of the most beautiful chars.


The subliminal message is read prettiest in defoliated state: »argwohn«. That’s German for “suspicion”.


In the finished artwork the type steps back but is denser overgrown than the it surrounding similar pattern. So the wallpaper is less obtrusive—in turn more homelike. The original design is 5,58 meter to 2,56 meter in size.


The Typete was exhibited in the course of Aldi Huxley, schöne neue Warenwelt (brave new product-world) at the Design Mai Youngsters 2005 and at the Rundgang 2005 of the Bauhaus-Universiy Weimar.

It originated 2005 in the projekt »Schnellmodus International«. It was supervised by Alexander Branczyk and designed by Tanja Sannwald, Johanna Schiegnitz, Daniel Graf and Lasse Fister.

The Typete attended the 2005 competition “New Walls, Please!” and appeared commendatory alluded in the catalog of the competition.