RE:¿Como puedo instalar una nueva fuente desde Vis
el siguiente código instala la fuente que se pasa como parámetro en Windows. Lo que yo hago es copiar las fuentes que necesito en el directorio de mi aplicación, y llamar a esta función para cada fuente siempre que ejecuto el programa. (la llamada comprueba si está instalada o no)
Espero que te sirva (a mí me sirve...)
procedure instala_ttf(nombre)
local err
local windir
local fontdir
local fotfile
local ttffile
local resultado,idisplay
#define WM_FONTCHANGE 29
declare integer CreateScalableFontResource in win32api long fdwhidden, string lpszFontRes, string lpszFontFile,string lpszCurrentPath
declare integer AddFontResource in win32api string lpszFilename
declare integer RemoveFontResource in win32api string lpszFilename
declare long GetLastError in win32api
declare integer GetWindowsDirectory in win32api string @lpszSysDir,integer iBuflen
declare long SendMessage in win32api long hWnd,integer Msg,long wParam, integer lParam
declare RegCreateKeyEx in ADVAPI32.dll integer, string, integer,string,integer,integer,integer,integer @, integer @
declare RegSetValueEx in ADVAPI32.dll integer,string,integer,integer,string,integer
declare RegCloseKey in ADVAPI32.dll integer
Windir=space(50)
err=GetWindowsDirectory(@windir,50)
windir=substr(windir,1,err)
fontdir=windir+"\fonts\"
fotfile=fontdir+left(nombre,len(nombre)-4)+".fot"
ttffile=nombre
if file (fontdir+ttffile)
return
endi