[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fonts] TT instructing/hinting



Hi,

I'm thinking about tackling hinting for the khotot project. I assume the Arabeyes fonts are currently not hinted extensively, and I think a well-hinted set of open source (preferably GPL) Arabic fonts is a high priority.

Here's what I have in mind; please let me know if you think this approach makes sense.

1. Editing. I used to like to program in assembler and I love emacs, so I'm thinking to get started I'd like learn the TT Instruction set and hint a few glyphs directly in "TT Assembler". I figure that's the only way to really understanding instructing. I can write an instruction program using the mnemonics from the TT technical spec, but I'm not sure how to compile into an actual program to be added to a font. Later on I'll use (or at least test) TTIComp from http://home.kabelfoon.nl/~slam/fonts/, but it uses a higher-level language (AFAIK) and rather than TT Assembler. Can anybody help me find the right tools to do this?

2. Previewing. I'm not sure what the best tools are to view a glpyh at a certain point size and device resolution in order to test hinting. It seems to me it would be a Good Thing to see and "exploded" view showing the pixel grid, the scaled (non-gridfitted) outline, and the gridfitted bitmap in one view. See page 17 of the TT Tech Spec. Rev. 1.66 for an example.

Ideally the process would work like this. I have a TT font with outlines only; I edit a TT hinting program for a glyph in emacs; I compile the program in emacs; a successful compile launches a previewer that will show me the hinted result. Repeat cycle.

3. Licensing. It looks to me like the font (outlines) and hinting programs can be licensed separately. A hinted glyph is a combination of an outline and a TT Instruction program. The program could be distributed separately from the outline. Technically speaking, then you could say that using the hints for a font does not constitute modifying the font. I think. I bring this up because, if I wrote hints for a GPL font like arabeyes_qr_meor, I would want them to be available for use for Meor's other fonts in case he chooses another license. Plus, a fully documented hint program for one BEH glyph should work as a useful model for BEH in other fonts, so I would want to distribute the hint program in source code form, whether as native TT Assembler or in a higher lever language like the one used for TTIComp.

FYI I have a copy of Fontlab but it doesn't look to me like it is the best tool to use for hinting. Maybe later, after I've mastered the instruction set.

What say ye?

-gregg