A friend of mine recently asked me how one would convert a .bmp font to a .ttf. I said I was unsure, but it got me thinking to how I would code a program to do that. How would someone who wants to create a .bmp to .ttf converter go about it? Is there some sort of documentation somewhere explaining how the .ttf file format works? And in addition to that, what about other file formats? Where do the people who code programs that create .jpegs or play .mp3s learn about how to properly read/write from those file formats? Is the information publicly available by somewhere?

VernonDozier commented: Excellent question, and one I'd like to know the answer of too. I'll be watching this thread! +5

Recommended Answers

All 6 Replies

http://www.wotsit.org/ has many file formats documented, and is a good place to start.
Some formats are proprietary, meaning there may be little or no information in the public domain.

You could also try "ttf file format" as a specific search, to locate other examples.

Thanks. A lot of it went over my head, but it's a nice resource to have.

If you're under Windows, you don't need anything.
The Win32 api does it automatically.

If you're under Windows, you don't need anything.
The Win32 api does it automatically.

The Win32 api can convert .bmp fonts into .ttf file?

Is bmp font == pixel font? If so, I think it's impossible automatically convert pictures to True Type font. The last one is not only character glyphs but really a special program for rendering fonts with different rasters and sizes. There are tons of utilities (of course, libraries too) which are capable to convert ttf (and other outline) fonts to pixel fonts, but I never heard about automatic reverse direction transformations.

On the other hand, numerous font generators and editors are capable to import pictures as a base for interactive ttf font design and improvement.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.