Globally change files by type?
March 21, 2010 9:16 AM   Subscribe

How do I run a utility on every font?

I have a lot of fonts, both True Type and Type 1. They are scattered all over my C:, I have different directories for my major projects. I've been tasked to make PDF's of all the the work I've generated for the past few years. But there's one small problem...

I want to embed the fonts in each PDF. Some of the fonts have their properties set to not allow this. I found a utility that fixes this problem (embed.exe). The utility just changes the embedding bit.

I know there may be copyright issues doing this, but these are all purchased fonts, and the documents are used in-house only. My alternatives are to run the utility on each font one at a time, or have everybody in the company install these fonts on their computers (not going to happen!)

Unfortunately, the program doesn't accept wildcards, it needs to be run for each font. Is there a way to run this utility on all my fonts?

Ideally, I'd like to walk through my drive, and run the utility on every TTF file. I should know how to do this, but sadly I do not.

I'm running XP Pro.
posted by Marky to Computers & Internet (5 answers total)
What I would do (not best solution):

Find all fonts on drive and make a copy into a temp directory (C:\fonttemp\)
Open cmd window
type dir c:\fonttemp\ > fontlist.txt
Copy that to excel.
Use macro program of choice (I use AutoHotkey) to copy one cell and move down one cell, go to embed program, paste, click run or whatever, wait X seconds, repeat loop.
Go watch The Soup.
posted by JeremiahBritt at 9:24 AM on March 21, 2010

This way you can embed the fonts this time, but not mess with licensing so that you don't accidentally embed a font you aren't supposed to in the future.

If this doesn't work, it's a little harder to get a txt/excel file of an explorer window search result, but with a macro you may be able to copy the locations directly from that window and paste in the appropriate box.

(Oh, and I added the txt to excel step in case you need to quickly and easily append a prefix (directory name or whatever) to the output.
posted by JeremiahBritt at 9:27 AM on March 21, 2010

in a shell script, you can do

for %A in (*.ttf) do embed.exe %A

or if you have a list of the files, with full path, in a text file, you can do:

for /f %A in (fontlist.txt) do embed.exe %A

Lots more info here.
posted by AzraelBrown at 9:29 AM on March 21, 2010

Er, by "shell script" I meant at the command line; putting those commands into a batch file would require doubling the percent signs. Either CD into the folder the fonts live in and run the first one, or run the second one using a compiled list of all the fonts and their paths.
posted by AzraelBrown at 9:32 AM on March 21, 2010

Does the purpose behind embedding have to do with the text being selectable? If you don't care about that aspect, you could simplify the entire process by outlining all your text prior to PDFing.
posted by colorproof at 11:09 AM on March 21, 2010

« Older Does anyone know what this was and where I might...   |   Searching for more Pop/Death Newer »
This thread is closed to new comments.