Typecount

function show_form($errors = ‘A’) {if ($_POST[‘_submit_check’]) {$defaults = $_POST;}
if ($errors) {$error_text = ‘

  • ‘;$error_text .= implode(‘
  • ‘, $errors);$error_text .= ‘

‘;}
else {$error_text = ”;}
include ‘form.html’;}
notextile. function validate_form() {$errors = array();
if (strlen($_POST[‘textsource’]) == 0) {
$errors[] = ‘Please enter some text for character counting!’;
}
if (strlen($_POST[‘textsource’]) > 64000) {
$errors[] = ‘Your text file is too large!’;
}
return $errors;
}

function print_range($list,&$array) {

// print a table of characters from $low to $high. If the character is a key of $array, then its corresponding value is printed
// By reference, the array has all matched key=>value pairs removed

print “

\n”;// loop thought the supplied range
// alternate: foreach (range($low,$high) as $glyph) …
foreach ( $list as $glyph) {

// print “

“;
print “

\n”;
}

print “

“;
print “
“;// print the character

print $glyph;
print “

“;
print ord($glyph);
print “
“;// if character exists print it and the number of occurances, then remove from array

if (array_key_exists($glyph, $array)) {
print $array[$glyph];
unset($array[$glyph]);
} else {
print “-”;
}

print “

\n”;

}

function process_form() {

//This function is the core of funtionality
//Probably could be separated into smaller functions

//global $charlist;
$textsource = $_POST[‘textsource’];
$textsourcecopy = $textsource;

//
// BEGIN Count and remove ligatures
//

// Set up arrays

$base_ligs = array(‘ff’,‘fi’,‘fl’,‘ffi’,‘ffl’,‘ct’,‘st’,‘ae’,‘oe’);
$chosen_ligs = array();

//get ligs selected from the checkboxes, avoid grabbing other form properties

foreach ($_POST as $key => $value) {
if (in_array($key,$base_ligs)) {
$chosen_ligs[] = $value;
}
}

// Convert ligs typed by user into an array, then add all ligs together
$typed_ligs = explode(” “,$_POST[‘userLigatures’]);
$all_ligs = array_merge($chosen_ligs, $typed_ligs);

// sort the chosen ligatures by length
// create a new associative array where (key = ‘ligature’) and (value = length of ‘ligature’), then sort it
$user_ligs = array();
foreach ($all_ligs as $lig) {
$user_ligs[$lig] = strlen($lig);
}
arsort($user_ligs);

// Count and remove the ligatures

foreach ($user_ligs as $testlig => $length) {
// count occurances, then remove each occurance
$charlist[$testlig] = substr_count($textsource,$testlig);
$textsource = str_replace($testlig,”“,$textsource);
}

// Count and remove all remaining characters

while (strlen($textsource) > 0) {
// Grab one char from start of source
$testchar = $textsource{0};
// count occurances, then remove each occurance
$charlist[$testchar] = substr_count($textsource,$testchar);
$textsource = str_replace($testchar,”“,$textsource);

}
//
// END Count and remove ligatures
//

print <<

HTMLBLOCK;

//
// BEGIN Sort and print results
//

// Gather & print basic facts about text
$totalchars = strlen($textsourcecopy);
$totalwords = str_word_count($textsourcecopy);
$avgword = round($totalchars / $totalwords);
print ‘Total number of characters: ‘.$totalchars.’
‘;
print ‘Total number of words: ‘.$totalwords.’
‘;
print ‘Average word is ‘.$avgword.’ characters.’;

// Sort the characters, which are array keys, remember?
ksort($charlist);

$lowercase = range(‘a’,‘z’);
$uppercase = range(‘A’,‘Z’);
//$userlig = selections via interface
$points = explode(” “,”. , : ; – ‘ \” ! ? & * < > ( ) [ ] { } $ # @ % / | \\”);
$figures = explode(” “,“0 1 2 3 4 5 6 7 8 9 0”);

print_range($uppercase,$charlist);
print_range($lowercase,$charlist); // All lowercase printed and removed
print_range($points,$charlist);
print_range($figures,$charlist);

// Print all remaining glyphs
print “

\n”;
foreach ($charlist as $glyph => $count) {
print “

“;
}
print “

“;
print $glyph;
print “
“;
print ord($glyph);
print “
“;
print $count;
print “

“;

}
//
// Begin main logic
//
if ($_POST[’_submit_check’]) {
// Form was submitted, time to validate
if ($form_errors = validate_form()) {
// There are errors, redisplay from with error messages
show_form($form_errors);
}
else {
// No errors, go ahead and process it
process_form();
}
}
else {
// Form was not submitted, time to print it
show_form();
}

//
//
// END main logic
//

Typecount: an aid to the letterpress printer

Have you ever wanted to typeset and print a passage of text in a particular face, but knew you had only a limited quantity of the type? Or, have you wondered if a single 12A 25a font would be enough type to finish composing a small job? Just curious how much type it would take to print The Gettysburg Address? For the seasoned printer, the answers to these questions may be a matter of ‘horse sense’, but for students of lettepress printing like me, a little help is in order. I created Typecount to address this simple need. It is a rudimentary application written in php.

What Typecount does

Typecount counts the characters in a passage of text; but, of course, anyone can do that with a run-of-the-mill word processing application. What is unique about Typecount is that it can count characters as if they were individual pieces of metal printing type. At your discretion, typecount will consider ligatures, dipthongs, quaint characters, or any other characters that you designate as a single piece of type.

If you are printing an old style type, say Caslon with quaints, check the boxes for ct and st and Typecount will count them as psingle pieces of type. Only after it has counted these quaint ligatures will it go on to tally up the remaining c’s and s’s and t’s.

Typecount will also consider any string of characters that you designate in the “Additional Combinations” textbox. For example, I have an ample supple of Qu ligatures in my case of 14-point Monotype Garamond 156, so I would include it in my query.

Try Typecount, the character and ligature counter for letterpress

Support for the long-s is coming soon!

12/23/07 I recently learned that some visitors are receiving errors when they attempt to use Typecount. I haven’t updated it a good bit, so I will try to work on it soon. – Ian Schaefer.

Typefoundry Inventory

Typefoundry Inventory
The Private Press of Ian Schaefer

MACHINERY

English ‘Monotype’ Corporation Ltd. (English) Composition Caster, #285xx ex of Heritage Letterpress, Charlotte, NC.

English ‘Monotype’ Composition Caster, #28024 acquired of the late Paul Duensing, Watkinsville, GA. Damaged. This machine will hopefully be rebuilt as a sorts caster.

English ‘Monotype’ Composition Caster, #28345 acquired of Woodside Press/Howard Bratter, Brooklyn Navy Yard, Brooklyn New York. Machine is equipped with display attachment, varigear drive, unit adding, unit shift, quadding and centring, ingot feeder. Machine includes lead and rule attachement, not currently installed.

English ‘Monotype’ Combination Caster, #2xxxx acquired of Woodside Press/Howard Bratter. Machine is equipped with display attachment, old-style gearbox, quadding and centring attachment.

Lanston (American) Monotype Composition Bridge, #7xxx and other miscellaneous spare parts for composition caster.

Lanston Monotype Keyboard, #11335

MOLDS
Composition Molds

Lanston Monotype composition molds: 6, 8, 9, 10, 11, 12, 13, 14 & 18pt
English ‘Monotype’ composition moulds: 14 ‘doghouse’

Display Molds

Lanston Monotype Display Moulds: 12, 14, 16, 18, 24, 30 & 36pt – some duplicates, all need work

MATRICES
Composition Matrices

ENGLISH ‘MONOTYPE’
Centaur 252 roman & italic 10 & 12pt (0.030 drive)
Grotesque 216/126 216/126 8,9 & 11pt 15/17 (0.030 drive)
Times Roman 327/334 7, 8, 10 & 11pt; comp 421 7, 8, 10 & 12pt
Chess Sorts 14pt incomplete
Misc math sorts 14, 16 & 18pt

LANSTON MONOTYPE
Garamont 248 6 & 8pt; keybars; no wedges or stopbar
Helvetica 496 8, 9 & 10pt; wedges, keybar and stopbar
Cloister Black 95 12pt, S5
German 99 8, 10 & 12pt

Display Matrices

ENGLISH ‘MONOTYPE’
Times Roman 18, 24, 30, 36 & 48pt; italic 18, 24 & 36pt;

LANSTON MONOTYPE
Garamont 248(no to be confused with Garamond, as the Stanley Morrison face for Monotype Ltd was named) – roman, italic, swash 14, 18, 24, 30 & 36pt, small caps 14 & 18pt
Kennerly 268 Roman 24 & 36pt; italic 2681 14, 24, 30 & 36pt
Goudy Old Style 3941 italic 18, 24, 30 & 36pt
Cochin Open 262 36pt
#144 14pt
Century 157 14 & 18pt
Philadelphia Gothic 52 18 pt

MISCELLANEOUS MONOTYPE EQUIPMENT

16 Monotype S5 wedges, various sets-widths
‘Monotype’ Microscope
Monotype Lead and Rule Attachment, complete
Monotype Pump Piston Extractor
Monotype Controller paper spool rewinder, manual
Monotype Controller Paper

OTHER FOUNDRY EQUIPMENT
Friedrich Deckel G-1 Pantographic Engraver
Metal Thermometer
‘Monotype’ Mould Oiler

A New Monotype Caster


Here are the facts behind the previous entry, which was rather oblique and glorified because of my excitement:

Some two years ago I acquired a ‘Monotype’ Composition Caster – a machine that automatically casts individual printing types from molten metal and sets this type into justified lines, ready for printing. By automatically, I mean that the operation of the machine is controlled by a punched paper tape whose perforations are created by an entirely separate keyboard. For the printer, typographer or general enthusiast of machinery, a running ‘Monotype’ Caster is an amazing thing to witness.

I have had a great interest—okay, obsession—with these machines for several years. This passion culminated in my attending Monotype University 5, where I first met the amazing Mr Paul Duensing, from whom I acquired my first machine. Unfortunately, this caster was damaged in shipment! It took two years for me to fully recover from this minor tragedy and to locate a similar machine.

Finally, this spring…

Finally this spring, a similar, though slightly more worn out composition caster emerged at Heritage Printers, in Charlotte, North Carolina, under the care of Pat Taylor. As it happens, Pat Taylor was my tutor on the Monotype Composition Caster at Monotype University, so it seems fitting that I should acquire this ‘new’ machine from him.

With the expert help of Bill Welliver, the new caster made it safely back to my shop in Lititz, PA, where it has been lavished with preparations for its new assignment. In order to be fully operation at The Private Press of Ian Schaefer, the caster requires these accomodations:

  • 3-phase power to the 3/4 hp motor – this will probably be provided by a variable frequency drive, which should allow finer adjustment at low speed settings.
  • Propane gas to power the melting pot – the pot was previously feed by natural gas, which means that the burner orifices must be reduced, probably by soldering and re-drilling an even smaller hole.
  • Water coolant – my shop has no nearby water supply, so the casting machine moulds must be cooled by a recirculating water system. I plan to start building a unit based on the model designed by Jim Walczak, and presented at the 2004 ATF Conference.
  • Air power to control the machine at a steady 15 psi – this one is easy: I already have a very serviceable compressor.

I intend to document the progress here, along with photos of the ‘Monotype’ Caster and the entire shop.

The Silence Has Ended

Monotype Composition Arrives
Two quiet years after entrusting the portage of my first caster to the brazen ineptitude of a common carrier, this printer’s shop will rattle with the nearly forgotten noise of productivity. On May 27th, after a careful, all-night drive from Charlotte to Lititz, and amid the curious flurry of too many helpers who knew what was at stake this time, the beautiful mongrel machine, bearing at least three distinct serial numbers on its numerous replaced parts, touched safely down on the cement floor. Four sources of power—air, water, gas, and electricity—will be brought to bear in the coming weeks. When the main lever is thrown for the first time, I am sure that the birds in the nearby lilac will flush.

Read more details and see photos of this caster

Photos of the Second ‘Monotype’ Move

Returning from Heritage Printers, Charlotte, North Carolina

With the expert help of Bill Welliver and my numerous other helpers the new ‘Monotype’ Composition Caster acquired from Pat Taylor of Heritage Printers in Charlotte, NC, made it safely back to my shop in Lititz, PA, where it has been lavished with preparations for its new assignment.

Monotype Composition Caster is poised for unloading. Bill Welliver’s Thompson waits in the back of the truck.

Adam Martin’s hefty rollback makes it’s final approach.

Precision alignment.

And,…PULL!

Easy, now.

How tiny the Monotype Caster looks on the bed of this truck!

Gulp.

Tim Schaefer (my dad) steadies as I try to figure out the odd angle.

Alas, Bill Welliver with the come along to pull it off the bed of the rollback.

More come-along plus brute force.

Hey there’s Reed Dixon on the right. Where’d he come from? Good timing!

Remnants of the Reading & Columbia Railroad

Reading & Columbia Railroad

I often wonder about the possibility of combining my varied interests to create something more meaningful, more lasting, than any one avocation ever has the chance to produce. Last night while looking at my partial schematic of the former Reading & Columbia Railroad that runs through Lititz I thought the text labels on the diagram might be more understandable if I rotated them 90 degrees. This felt like the first time I thought about the railroad as a designer, not simply a rail fan. Within a short time I transformed my barely serviceable sketch into an a more lucid and artful interpretation of the subject at hand. I don’t expect that a “map” like this could matter much to anyone else, but I feel compelled to pursue the idea a bit further, and to eventually take it into the letterpress shop.

Stay tuned.

The Deckel Pantographic Engraving Machine

It is a small pedestal machine.

Friedrich Deckel. Type G.I. Machine No. 2751.

A close-up of the pantograph arms with engraved graduated scale.

The spindle mechanism.

The spindle is easily removed from the machine.

Top half of the spindle assembly, disassembled (gulp!)…

…and the bottom half of the spindle assembly. Spindle arbor and pulley should separate but are too tight to remove by hand.

Letterpress Portfolio

A very few samples of recent work…

Digital illustration, printed letterpress from metal plate, private commission. Click for detail.

Wood engraving, hand set metal type, copper photo-engraving for 2nd color, printed letterpress. Click for enlargement (~200kb).

Handset wood and metal type, printed letterpress, private commission.

Linoleum cut with handset metal type, private edition & Amalgamated Printers’ Association bundle submission.

Hand set metal type, Amalgamated Printers’ Association bundle submission.

Fallen Peony

peony.gif

Here’s a small linoleum cut that I just finished. This peony will illustrate a collaborative letterpress piece I am doing with J C Groff. In the final piece the peony will print white on a medium toned paper. The body, typeset by Jim, is excerpted from a letter he sent to me. One hundred fifty finished prints will be submitted to the APA. I’ll try to remember to post the finished piece. And yes, I did notice that it has been exactly six months since I last posted to the site. Ouch.