ClassicMacTypography/README.md

36 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2018-05-21 22:46:24 +00:00
## Classic Macintosh Bitmap Typography
2018-05-21 22:24:31 +00:00
This is a small set of Objective-C classes that can be used for parsing font data from the original Macintosh,
2018-05-22 07:15:37 +00:00
and for simple rendering of bitmap text using those fonts. Rendered specimens of the full character sets of several of the original Macintosh fonts can be found in the `specimens` folder in this project.
2018-05-21 22:24:31 +00:00
This work formed the basis of [the article here](https://medium.com/@bzotto/hidden-sheep-and-mac-typography-archaeology-efce770da76c).
2018-05-22 07:15:37 +00:00
The `BitmapFont` class does the parsing into a usable object, and `SimpleBitmapRenderer` can use that to put some text on a canvas. In order to use this, you'll need to have original Mac `FONT` resource data, which is not currently included in this project.
2018-05-21 22:24:31 +00:00
*NB*: This code is reasonably durable but was create to facilitate an academic exercise.
It was not designed or written with performance or security concerns in mind, and if
you want to use it for anything other than hacking on, please revise it accordingly.
2018-05-21 22:40:36 +00:00
### Usage
2018-05-21 22:24:31 +00:00
// Load FONT resource containing Chicago:
NSData * data = [NSData dataWithContentsOfFile:@"00012"];
BitmapFont * font = [BitmapFont fontFromResourceData:data withResourceIdString:@"00012"];
// Create a renderer
SimpleBitmapRenderer * renderer = [[SimpleBitmapRenderer alloc] initWithSize:UIntSizeMake(300, 200)];
2018-05-22 07:52:28 +00:00
renderer.currentFont = font;
2018-05-21 22:24:31 +00:00
// Write some text
NSString * text = @"Hello.";
[renderer renderString:text.macRomanString atOrigin:UIntPointMake(20, 20)];
// Get a PNG out of it
NSData * pngData = [renderer bitmapImageAsPNGDataWithScale:15 showingGrid:YES];
2018-05-21 22:46:24 +00:00
### Sample
Here's the complete specimen for Susan Kare's San Francisco typeface:
2018-05-22 07:12:56 +00:00
![San Francisco 18](https://raw.githubusercontent.com/bzotto/ClassicMacTypography/master/specimens/San%20Francisco%2018.png)