If you need a small number of barcodes, and have some time but no budget, it's simple to produce vector-based barcodes using an online barcode generator and Illustrator (or whatever your tool of choice is).
For example, http://www.barcoding.com/upc/ will produce an EAN-13 barcode for you for free. The cool thing about their images is that they are snapped to-pixel, so you can get a black-and-white PNG with no anti-aliasing.
Copy the PNG into your vector program and, if snap-to-pixel is available, it's a very quick process to draw a bunch of rectangles over the barcodes. You can then put the numbers at the bottom using whatever machine-looking font you want.
Addendum: I have used this process to create barcodes for products that have been sold at retail level. It does work, but it is still best practice to verify the printed code before you go into production.
I don't know much about barcodes, but I don't think this code is conducive to a typeface solution, because there seems to be an algorithmic process for creating the barcode.
To encode an EAN-13 barcode, the digits are first split into 3 groups, the first digit, the first group of 6 and the last group of 6. The first group of six is encoded using a scheme whereby each digit has two possible encodings, one of which has even parity and one of which has odd parity. The first digit is encoded by selecting a pattern of choices between these two encodings for the next six digits, according to the table below. (Unlike the other digits, the first digit is not represented directly by a pattern of bars.) All digits in the last group of six digits are encoded using a single set of patterns which are the same patterns used for UPC.
Some barcode schemes (like 3 of 9) are essentially straight-ascii replacements which work by merely changing the typeface of the "data." Many are not.
The wikipedia article does reference an open source project for barcode generation: http://sourceforge.net/projects/openbarcodes/
Note that there is a homepage listed for the developer and, if you can ignore his lack of aesthetic sensibilties, there is a pretty good explanation of ean-13 and his home-brew free typeface. (which obviously contradicts my assertion about font replacement)
The top answer is still not specifically answering what was asked for. I made a free font which is on FontStruct now: Download
The free Inkscape vector graphics editor contains a vector barcode generator: Extensions → Render → Barcode. It will also generate / verify the checksum for you. You can then save it to SVG, PDF or some other suitable format and open it in your tool of choice.
Here's a sample of the output (exported as PNG):
Late answer but still :)
Very interesting question :). Such font would be perfectly possible and could be used to create valid EAN-13 codes. In fact it would have to have only 31 characters to cover all EAN-13 combinations. Other thing is that such font wouldn't be much practical, since every time one'd have to make an effort to keep proper encoding seqence for digits 2-7 (used to determine 1st digit), and calculate checksum. But that's just for interest sake :).
If you need good barcode generator for creating any number of barcodes and are not afraid of command line, take a look at http://xpt.sourceforge.net/techdocs/nix/print/barcode/bp02-GnuBarcode/ (windows version if needed: http://gnuwin32.sourceforge.net/packages/barcode.htm). Nice thing is: it can create vector files as output (important: it uses stroke width to produce thin and thick lines). I know there's a bunch of different tools out there but this one is small, simple and just works… for free :).
And finaly: http://www.darkroastedblend.com/2008/04/japanese-creative-barcodes.html. Get inspired! :)
I found a pretty complete write up here: http://grandzebu.net/informatique/codbar-en/ean13.htm explains: how to generate checksum digit (and supplies a VB program to do it), and includes an Excel macro & EAN-13 TTF font w/ installer
IDAutomation has a font which I used to use in the past. It works even without buying anything, but it puts some funny little watermark into the barcode that rats your out as using the non-commercial trial only. Still, it is good to play around with. https://www.idautomation.com/barcode-fonts/upc-ean/user-manual/
However, there are other ways, such as these guys, who have a free service: https://barcode.tec-it.com/en/EAN13
For example, if my number is 03 54321 001 01 I just put that in here
and there you go:
they even add the check digit.
I also don't have much experience in this kind of thing, but I happen to see a site which tells something about ean 13 barcode maker voor word, I believe that this would be some of help to you.