I have PostScript Type 1 font(s) (.pfb and .pfm) I'm trying to install with Wise Package Studio 5.6 HF1 (5.60.0.466).

Adding the .pfb and .pfm font files to FontsFolder folder.
The font is installed (viewable under Fonts directory) but not showing up as a available font in ex. wordpad, winword and so on. Also tried populating the Font table but same issue.

Using "Adobe Type Manager" (ATMLIB.DLL/5.1.2.226) to install the font(s) manual will do the trick.

I've also tried adding the "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Type 1 Installer\Type 1 Fonts" registry entry "Eurostile", "(T[~]eu______.PFM[~]eu______.PFB)" with no success.

The target is Windows XP Professional SP2 (English)

Any thoughts?
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
have you tried restarting the machine, the font files "sometimes" would not apply unless the machine is restarted.
Answered 08/24/2006 by: bheers
Second Degree Blue Belt

Please log in to comment
0
Hi bheers,

Well, after some more testing I restarted the client and that did the trick, but I would like it to work directly without any reboot. As the ATM does this, it should work in some how.
Answered 08/24/2006 by: AngelD
Red Belt

Please log in to comment
0
I realize this is an old thread but I found it while searching for a solution to the same problem. I never found a solution posted anywhere so I came up with one myself and I figured I'd share it here.

I read through the ATM API information and was able to figure out how to call atmlib.dll to add and remove Type 1 fonts. My MSI copies the PFM and PFB files to the c:\widnows\fonts and also made the corresponding registry entries in HKLM\Software\Microsoft\Windows NT\CurrentVersion\Type 1 Installer\Type 1 Fonts and then I run a wisescript custom action. The wisescript used the Call DLL Function configured as follows:

DLL PathName: %sys32%\atmlib.dll, Function Name
Function Name: ATMAddFont
Call a Funtion with variable parameter list:
string pointer, constant, [your font name]
word, constant, 256 (256 for regular, 257 for italic, 258 for bold, 259 for bold & italic)
string pointer, contant, c:\windows\fonts\[your font filename].pfm
string pointer, contant, c:\windows\fonts\[your font filename].pfb

To remove the font I used a wisescript that does the following (this has to be run before the files are removed):

DLL PathName: %sys32%\atmlib.dll, Function Name
Function Name: ATMRemoveFont
Call a Funtion with variable parameter list:
string pointer, constant, [your font name]
word, constant, NULL (NULL for regular, 1 for italic, NULL called a 2nd time for bold, 1 called a 2nd time for bold & italic)

From my understanding of the API calls, to remove the "bold" and "bold/italic" fonts I should be passing 3 and 4 respectively to the ATMRemoveFont function but it didn't work. However if ran the call once with NULL and then ran the same call with NULL again it would remove the regular font and then the bold font on the second pass. Same with italic and bold/italic. I'm not sure why but it works.

Hope this helps.


I tried using the "Call Custom DLL from Destination" action directly from my MSI, instead of using wisescript but couldn't get it working. There doesn't seem to be an option for to pass a "word" parameter, only dword or word pointer, neither of which worked for me.
Answered 07/11/2007 by: kevco
Yellow Belt

Please log in to comment
0
Thanks for the info!

It was along time ago and in the end the customer had the same font in TrueType format which worked using the Font table.
Answered 07/11/2007 by: AngelD
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity