Hello all,
Has anyone found a font that ships with Creo, or is otherwise public domain free that faithfully reproduces text according to ASME Y14.2M? It is a san-serif font in general except for the letter 'I' which has serifs like this: 'I' and is shown not monospaced in figure 15 of the 1992 version of the standard on page 13. The digit one has no serifs, hence the 'I' has the serifs I guess.
Best Regards,
- Jim T.
Solved! Go to Solution.
I found this page: Committee Pages - Y14 Subcommittee 5.2 - Certification , It has fonts for download. One is the ASME 14.5-2009 standard font.
Note this only prints to PDF correctly if you have the font installed in the Windows System Control Panel of Fonts as well. We are running Windows 7 Professional, Service Pack 1 at this time.
I found this page: Committee Pages - Y14 Subcommittee 5.2 - Certification , It has fonts for download. One is the ASME 14.5-2009 standard font.
Note this only prints to PDF correctly if you have the font installed in the Windows System Control Panel of Fonts as well. We are running Windows 7 Professional, Service Pack 1 at this time.
For anyone following this, I've found a VB script you can call from a windows command shell script. This way you can install Creo silently, and have it install the required ASME 14.5 font for drawings all in one nice no-interaction required script.
This is what I used in my command shell script:
:Install_Required_Fonts
:: Run the visual basic script: font_install.vb from creo install script location.
echo _
echo Installing fonts. Calling font_install.vbs.
font_install.vbs
You can see that I just drop the font_install.vbs into the command shell. BUT this entire script is already running under a cscript.exe processor with a calling script:
"C:\windows\system32\cscript.exe" "...."Creo_Install_Stage2.bat"
in order to do elevate rights to get around windows UAC controls... but that's another story.
Then the font_install.vbs, a visual basic script, as listed at: Install Font with Command line or Script in Windows 7 | cloudtec GmbH is:
Option Explicit
' Installing multiple Fonts in Windows 7
' http://www.cloudtec.ch 2011
Dim objShell, objFSO, wshShell
Dim strFontSourcePath, objFolder, objFont, objNameSpace, objFile
Set objShell = CreateObject("Shell.Application")
Set wshShell = CreateObject("WScript.Shell")
Set objFSO = createobject("Scripting.Filesystemobject")
Wscript.Echo "--------------------------------------"
Wscript.Echo " Install Fonts "
Wscript.Echo "--------------------------------------"
Wscript.Echo " "
strFontSourcePath = "\\path\to\your\fonts\"
If objFSO.FolderExists(strFontSourcePath) Then
Set objNameSpace = objShell.Namespace(strFontSourcePath)
Set objFolder = objFSO.getFolder(strFontSourcePath)
For Each objFile In objFolder.files
If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" Then
If objFSO.FileExists("C:\Windows\Fonts\" & objFile.Name) Then
Wscript.Echo "Font already installed: " & objFile.Name
Else
Set objFont = objNameSpace.ParseName(objFile.Name)
objFont.InvokeVerb("Install")
Wscript.Echo "Installed Font: " & objFile.Name
Set objFont = Nothing
End If
End If
Next
Else
Wscript.Echo "Font Source Path does not exist."
End If
One last thing: The font won't show up in c:\windows\fonts\ unless you refresh windows explorer - I think! Or you could always reboot.
Best Regards.
EDIT: I wanted debugging info in the output of the VBS script, here's my final version:
Option Explicit
' Installing multiple Fonts in Windows 7
' http://www.cloudtec.ch 2011
' Rev, Date, Initials, Description
' 00, 2015 08 13, JT, Initial customization.
Dim objShell, objFSO, wshShell
Dim strFontSourcePath, objFolder, objFont, objNameSpace, objFile, objFileToWrite
Set objShell = CreateObject("Shell.Application")
Set wshShell = CreateObject("WScript.Shell")
Set objFSO = createobject("Scripting.Filesystemobject")
Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\<our creo install root path>\font_install_log.txt",2,true)
'Wscript.Echo "--------------------------------------"
'Wscript.Echo " Install Fonts "
'Wscript.Echo "--------------------------------------"
'Wscript.Echo " "
strFontSourcePath = "\\<path to your>\fonts\"
If objFSO.FolderExists(strFontSourcePath) Then
Set objNameSpace = objShell.Namespace(strFontSourcePath)
Set objFolder = objFSO.getFolder(strFontSourcePath)
For Each objFile In objFolder.files
If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" Then
If objFSO.FileExists("C:\Windows\Fonts\" & objFile.Name) Then
' Wscript.Echo "Font already installed: " & objFile.Name
objFileToWrite.WriteLine("Font already installed: " & objFile.Name)
Else
Set objFont = objNameSpace.ParseName(objFile.Name)
objFont.InvokeVerb("Install")
' Wscript.Echo "Installed Font: " & objFile.Name
objFileToWrite.WriteLine("Installed Font: " & objFile.Name)
Set objFont = Nothing
End If
End If
Next
Else
Wscript.Echo "Font Source Path does not exist."
End If
objFileToWrite.Close
Set objFileToWrite = Nothing
Two last points: On font file names.
The above seems to be working for me.
Best Regards,
- Jim
No good deed goes unpunished. So far in testing the ASME font has all the text shifted up a bit, causing text in tables to appear touching the top border of cells or not centered vertically depending on which size the font is set to be. Currently I am using MS_Print_Mgr and options: Fonts: Use TrueType Fonts. Also the final 'printer' is Adobe's: "Adobe PDF Converter".
Looks like I have to keep working on the printing options to have this font work out well. Just another example of something that should be simple in the IT world that isn't. Oh well.
Update: File Save-As > Quik Export (*.pdf) works fine. But creates a pdf with a random filename. Not useful for later scripting and automation...
Update: File Save-As > Export to PDF works. I think I'm done now!