我从网上下载了一个特殊的字体,文件为A.ttf,要使用这个字体,需要把这个文件copy到c:\windows\fonts目录下,这样手动复制,然后粘贴是可以的。但是我做刷新包的时候用的是命令:
copy /y A.ttf    %SystemRoot%\Fonts   把A.ttf文件拷贝到c:\windows\fonts目录下,但是却显示不出来这个字体。刚开始我还以为没有拷贝过去,但是打开一看,这个文件已经拷贝过去了,奇怪的是打开c:\windows\fonts发现a.tt存在以后,再次运行程序,竟然可以显示这个特殊字体了。
后来我发现原因是,只把文件A.TTF拷贝过去是不行的,必须要刷新一下C:\WINDOWS\FONTS目录才可以,但是做刷新包的时候用什么命令能让这个文件夹自动刷新阿。或者有别的办法解决这个问题也可以,谢谢了。

解决方案 »

  1.   

    是TrueType吗?如果是,直接复制就应该OK,不存在着问题呵
      

  2.   

    ctrl + c 然后再ctrl + v过去是可以的,因为这个本身就刷新了fonts目录,但是用DOS命令COPY过去是不可的,因为没有刷新FONTS目录,必须再刷新一下FONTS目录才可以(只要把fonts目录打开一次就可以了)
      

  3.   

    猜测是资源管理器在刷新 fonts 目录时有一个特定操作,就比如在回收站上有特定操作一样。
    这个特定操作的功能应该是在注册表中登记这个字体,所以还是要找到源头----如何在系统中注册字体?应该有相应的API吧!
      

  4.   

    关于使用未安装的字体
     
     
    '声明:
    Private Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFileName As String) As Long
    Private Declare Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" (ByVal lpFileName As String) As Long'用法:'增加字体:
    AddFontResource "c:\myApp\myFont.ttf"
    '删除字体:
    RemoveFontResource "c:\myApp\myFont.ttf"