The proposed file structure looks fine. I presume that the font name in the pre-amble is an array of 12 characters (left aligned, space padded) and not an imp-string. My main purpose in separating dimension from raster information was to reduce the redundancy which is likely to occur in small simple fonts. As the maximum saving in a 128 character font is about 1Kbyte, I accept that the other arguments are stronger, particularly regarding hardware assist. The standard control information needs some clarification. The character width and height values at -12 and -10 should be called X increment and Y increment. They are signed values added to the cursor position to give they location of the next character. My terminology is 'cursor' for the point of reference with respect to which a character is placed, and 'origin' for the point of reference of the raster. Origin = Cursor + Offset. The origin is definitely the top left corner of the raster. MIT's cursor is at the left of the character, on the baseline (i.e. the bottom of most charcters, other than those with descenders). This arrangement makes the characters independant of one another's size, basically by begging the question of how far the biggest characters extend above and below the baseline. Page make-up programs would have to scan through to find these maxima. I agree that it is probably preferable to have the cursor at the top left. Together with the font height value in the pre-amble the vertical situation is clear. It does mean though that if an extra-high character is added to the font, all the other Y offset values have to be fixed. With both origin and cursor at top left, it certainly would be consistent to consider the page origin likewise, and have the y-axis increasing downward.