~ An essay on identifying and getting ahold of fonts ~

         to essays   
Published @ searchlores in February 2003 ~ Updated May 2006

An essay on identifying and getting ahold of fonts
(With a script to extract fonts from pdf files)

by sonof
Version 0.03

Additions:
april 2003 (embed), may 2006 (free fonts and pay fonts)



Fonts Searching

This is a very simplistic essay on identifying and getting ahold of fonts.

Identifying
At my job, I needed to add a new button for a old website. 1997, so, the original files are not around, don't even think whoever did it the first time is still working there. So, after spending hours comparing the font on the old buttons to ones i have, none of them match.

OK, looking for "font identification" you'll find two automated tools (at least:)
http://www.fontexpert.de/feforme.htm
http://www.myfonts.com/WhatTheFont/ <--best
These work best if you convert to the highest contrast you can get, and convert to black and white.
There are human-based methods as well. Identifont works very well, but you are limited to 30 results, and note that in their FAQ, they state that better placement can be purchased by referral-commision. (This matters when more than 30 fonts are result (often.) Since the criteria for selecting fonts is open to the user, more blatant results-fudging is not likely.)
Also, be aware there is a font cloning industry. (for the opposing view, see http://www.typeright.org) It is more likely you will find the "name brand" version before you'll find the clone, though.

Ok, so now I've identified my font (it was Optima Roman :). How to get it?

Retrieving
Well, poking around the fontophiles community, we see: "I think Hotline was/is the most damaging thing to ever happen to the type industry" [cite]

sounds good to me!

Hotline, (which i never heard of before) is a fileswapping/chat thing based originally on Macs (so many designers use macs means lots of fonts will be found)
For unix users, try SynHXD and windows users try AniClient (the best, i think)
Search hotline servers from the web, look at SADwyw and tracker-tracker (you need hotline client to dl)
And search the trackers (hotline server directories) search for 'font', for instance at Maclavista
But, really any big server has lots of fonts. They will almost always be in an archive, so searching for your specific target will not usually pan out. You can, however, find them often Stuffit-archived by foundry. Hotline has partial downloads resuming.

The other primary source to dl fonts is newsgroups: Luc's page (more about fonts than you ever want to know!) says, "the Adobe collection gets posted about once per year in its entirety."
Be sure to read the alt.binaries.fonts FAQ, much more helpful than many groups'. you'll be able to get on the newsgroups very quickly with their advices.

Conversion
The biggest problem is Mac-->PC. Mac files have two forks (data and resource), and when transferring files, the resource fork is just dropped. It is usually not used, but fonts store all the bits in the resource fork.
get fonts in .sit (Stuffit) format, this preserves both the data fork (normal file) and resource fork (usually dropped). (most archives will be in this archive anyway.) Get Stuffit and set the option "Save Macintosh files in MacBinary format" checkbox. Then expand the archive, and output will be in .bin (MacBinary) format.
Get Crossfont shareware, which works very well; it can convert to PC format Type 1 and TTF from MacBinary.

If you need contents of a .bin directly, use frombin from fondu to decode MacBinary files. If compiling on windows, go through the source and any 'fopen' you find, change the open type to binary (i.e. "w"->"wb","r"->"rb")

To determine postscript font version you can open the file and look for /FontType to find the type. (You'll also find lots of metadata like copyright, date, version, etc.)

It should be possible to do many conversions with pfaedit, but I am unsuccessful in this. Other tools you might want are ttfutils and (for win only) sfty107b.zip
(use to copy type from an image, or to design your own fonts (which is great fun and will impress your friends :) "wow, you can _make_ a font?!")

Extraction
Jimbob long ago requested extraction of fonts from pdfs. Here is my script:

#   using pdftosrc from pdftex-djgpp-20010417.zip
#   (other versions always failed on windows)
#   and using pdffonts supplied with a recent miktex distribution
#   based on info from http://www.polbox.com/g/gnnggb/bxgqzna.html
#   output from pdftosrc will appear on STDERR

$ARGV[0]=~/^(.*).pdf$/i;
my $basename=$1;

#get names of fonts embedded in the pdf
open S, "pdffonts $ARGV[0]|";
my @fonts=grep /\d/, <S>; #get the relevant lines
close S;

#try to match format to proper extension -- UNTESTED!!
my %type_ext=(
    'Type 1'=>'pdb',
    'Type 1C'=>'cff',
    'Type 3'=>'pf3',
    'TrueType'=>'ttf',
    'CID Type 0'=>'cidtype0', #dunno
    'CID Type 0C'=>'cff',
    'CID TrueType'=>'ttf'
);

#these are types of possible fonts embedded in PDFs (from pdffonts manpage)
my $types=join '|', keys %type_ext;

foreach(@fonts){
    local $/=undef;
    /^(\S+)\s+($types)\s+(.*)$/o;
    my ($name,$type,$emb, $sub, $uni, $object, $oID)=($1, $2, split(/\s+/, $3));
    
#   apparently, pdffonts or pdftosrc mishandles the object ID?!
#   or something, anyway, this fixed it for me.
#   may need twiddling.
    $object+=2;
    
    if($emb=~/yes/i){ #is the font embedded?
                      #another variable you might care about is $sub, which indicates
                      #if the font is a subset of the complete font. (it usually is.)
        open S, "pdftosrc $ARGV[0] $object $oID|";
        close S;
        rename "$basename.$object", "$basename.$object.$type_ext{$type}";
    }
}
test document: http://www.dkuug.dk/JTC1/SC2/WG2/docs/n1944.pdf

For this script, you need pdftosrc and pdffonts. You can also use pdftosrc to get TeX output from pdfs. (If you don't want to install pdffonts, you can try the solution from whence i derived this script)
Most pdf's will only have subsets of the embedded fonts; there are only included the glyphs actually used in the document. [cite] Adobe Distiller has the "subset when characters used" option set to default 100% since at least 2001. PDF's produced since then are unlikely to contain all glyphs for the embedded fonts. Also, keep in mind that metric info, kerning and hinting are all lost when you do an extract from a PDF. [more]

The situation is the same if trying to extract fonts from an SWF, the glyphs are only a subset and hinting and kerning is not preserved. You can use SoThink's SWF decompiler to get what you can, though.

Self-Challenge

Ok, i'm thinking i'm pretty smart now, let's have a test and see how good these tools work. Find the face of the 'F' in the +Fravia logo.
First, isolate the f:

'F' 
taken from logo

Whatthefont fails, giving results that look nothing like! Trying identifont, using the "logo" option gets nowhere either, not without more letters. Trying to extrapolate what the rest of the font looks like did not work at all, perhaps because of my inexperience, or perhaps because this 'F' is not very representative of the other glyphs in the font: many other letters have much more flourishes.

sanity check: is the letter hand-crafted? (certainly possible) i decided not, since the effects on the letter look to me like they were done with Photoshop "text effects". (playing around with settings in photoshop gets satisfactorily close.) (There is always the possibility that a custom font was created so as to use the text effects, but this seems unlikely, and is not the case in this instance.)

Now, there are two good methods of arriving at the correct answer. The first requires a little knowledge and zen: what is the first thing to pop into my head when looking at this letter style? First, is Little Nemo lettering, and by association, Mucha. (maybe biased from looking at +F site so much :)) and, searching for 'Art Nouveau' fonts will get you there, although you may not recognize it when you see it:

The second method is looking around a bit more on daVinci's site, and finding the "The+Q" graphic. The lettering has a similar 'feel' to it, maybe they are related?

'the+Q' letters

We can easily find that the font is a version of 'Victorian'. Get a sample of Victorian, and look at 'F'. How similar the serifs! And if we take the original 'F' and fix it's proportions a bit:

'F' with altered proportions
'Fravia' Victorian face sample

...it is really close on.
I tried to get confirmation by daVinci, but received no reply. i am satisfied with results, though.


sonof, 2003



Embedding (April 2003)


embed (a program by Tom 7)

This is a quick program I made, according to Microsoft's TrueType Specifications, which will change the embedding level of a TrueType font. I made this for myself, since I noticed that a lot of the Fonts I Made had their embedding set in a very restricting manner. Microsoft's font properties editor does not let you lower this setting (though you can make the license more restrictive).
This program will quickly and automatically set the font to 'installable embedding allowed', the least restrictive setting. You can use Microsoft's editor to make it a more restrictive value, or change it in the source code, if you really require a different embedding level.
To run it, simply give it the name of the ttf file on the command line:
embed font.ttf
No error messages signifies success.

embed.exe [ 23k ] - This is the executable, and all you need.
embed.c [ 2k ] - Source code in C, if you want to play around with it or compile for a non-windows platform.
Both the program and source are in the public domain. Enjoy.

NOTE: Changing the embedding value does not give you license to distribute the fonts. You should only change this setting if you are the font creator, or something like that. Use at your own risk.



Free fonts and Pay fonts (by remim, May 2006)


First of all there is a fundamental difference between screen fonts and print fonts. "Screen" fonts are *limited* by the fact that they must be present on the user system, so they are more frequent in "personal" use applications. "Print" fonts -of course- do not have this limitation, and there you have many foundries and designers at work and gazillion of very high quality typefaces. Real big foundries are a very tight-closed and limited cartell: A Adobe Systems, BAG H. Berthold, BT Bitstream, CC Corel, CW CompuWorks, DTC Digital Type Company, ELF Elfring Soft Fonts, IC Image Club Graphics, ITC International Typeface, LS Letraset or Esselte Letraset, LAG Linotype AG, MT AGFA/Monotype, URW URW++ Design & Development, VG Visual Graph

Of course we want to find and download BOTH screen fonts and high quality typefaces than you may use in order to print on paper.
What all these patents dinosaurs of course hate are true type freeware founts (Free Fonts That Don't Suck, that's it).

The most common screen fonts are the following: for windows the heavy sans serif Arial Black, sans serif Verdana, the cursive Comic Sans MS and Arial. The typewriter style Courier New is the fifth most common font. For GNU/Linux (and all other Unix family systems) we have the original typewriter style Courier and sans serif URW Grotesk T. The next three fonts are much less common: the serif Utopia and Century Schoolbook L and classic sans serif Helvetica in joint fifth place (data from codestyle).

This relative 'poverty' of screen typefaces is due to a fundamental limitation in the HTML and CSS specification: for the defined font to display, it must be present on the user's system (unless you use that crap macromedia flash). So you could (and maybe should) just live and be happy with a dozen fonts, but of course designers and developers and printers seek access to gazillions of other different fonts. The problem is -as usual- the quality of what you find.
There are *many* free font repositories around the web, albeit mostly with poor quality (or even abominable) fonts and typefaces.
The real funny thing is that if you search for a font on the web, no matter how high quality, you'll ALWAYS find it for free, but your signal will always be covered by the noise made by tons of clowns that want to 'sell' you that same font. Guess the number of web-unsavvy idiots ready to pay for free downlodable products and utterly incapable of searching the web shouldn't be underestimated... just like it happens with porn & sex, books, music and software.

This said, high quality typefaces are not "so" easy to find, ok, you can find them, or you can easily extract embedded foints from pdf files, yet there are MANY "good quality" alternatives.
Note that searching fonts you really need to know a thing or two about tipography and you *must* be capable to evaluate the targets you find. Some fonts sellers have one or two good quality free fonts (as a "bait" for selling their other stuff) for instance philsfonts
Now understand please this correctly and don't tell me I should buy the typefaces instead of just downloading them: part of the problem is that the typefaces are so incredibly expensive. Sure a lot of work goes into them and all, but nearly a hundred euro for a single face is absolute nonsense.
Again: I'm not suggesting you should disrespect the silly patents' dictature, I'm just saying that you should and in fact can have royalty-free, public domain good quality fonts for all your needs. And -back to the point- that you should learn how to search for fonts, best typefaces and alternatives.
A classical example are those Bitsream Vera "open source" fonts, released for Gnome.

You may also be able to find some programmers and game developers (e.g. the norwegians at orgdot) that have released specific fonts as "byproduct" of another project.

More interesting (and more useful from a quality standpoint) is the SIL Open Font License (OFL), which was recently approved by the Free Software Foundation, with the famous Gentium, and some other fonts: Charis SIL (Bitstream) and Doulos SIL (Times roman) have extensive support for Unicode and have been released in March 2006, with their selection of characters and symbols, support for smart font technology, and free license, they illustrate the fact that digital typefaces are escaping the patents' yoke.

But there are not only a limited number of high quality free fonts. Here some examples of 'free' fonts repositories on line that have *thousands* of low quality fonts:

Search free fronts (a search engine for fonts)
For instance http://www.searchfreefonts.com/search/?q=kwekel

Search For Fonts


This can be useful for kids playing with Microsoft publisher.


http://www.1001freefonts.com/
This is actually a scam site with few clusmy fonts, that will more often than not redirect you to the commercial clowns at http://www.fonts.com/.

Petit image

(c) III Millennium: [fravia+], all rights reserved