无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 6350|回复: 11
打印 上一主题 下一主题

[已解决] 拖动字体到fonts不能安装怎么修复?

[复制链接]
跳转到指定楼层
1#
发表于 2019-2-1 16:17:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 9zhmke 于 2019-2-1 21:22 编辑

bdfcy指点,是由于desktop.ini文件删除导致,补回后完美解决这个问题,2010hook 也指点了可以使用FontInst.exe来做静默安装更方便,在此一并向指点过的不落的太阳致谢

正常情况把字体文件拖动、复制到系统的字体文件夹中,会触发系统的字体安装功能。但从比较早的时候,大多精简系统里陆续去掉了这个功能,拖动就变成了直接复制,随之而来的是依赖于此功能的VBS字体安装的程序也就无法使用了。

因为有些字体设置了限制,比如不能用到PPT中、不能带字体保存于WORD等限制,为了自己方便就编辑了这些权限后打包,然后做成安装包。
近期的三杰SE版非常好用,但因为这个问题却不得不手工安装字体,有什么方法可以解决吗?

附上我使用的VBS安装字体脚本:
  1. Set objFSO = CreateObject("Scripting.FileSystemObject")
  2. Set font = CreateObject("Shell.Application").NameSpace("shell:fonts")
  3. tmp0=Wscript.CreateObject("Wscript.Shell").SpecialFolders("fonts") & ""'字体文件所在文件夹
  4. for each f in objFSO.getfolder(".").files '文件夹所有文件
  5.     tmp1=LCase(f.path)'完整文件名和路径
  6.     tmp2=right(tmp1,3)'扩展名
  7.     tmp3=asc(left(right(tmp1,4),1)):if tmp3=49 then tmp3=46 '我也不知为什么取出来不是".",只知和系统有关
  8.     if tmp3<>46 or objFSO.FileExists(tmp0 & LCase(f.name)) then tmp2="" '扩展名容错或容错fonts下已装字体
  9.     if tmp2="ttf" or tmp2="ttc" or tmp2="otf" or tmp2="fon" then  font.CopyHere(tmp1)
  10. next
复制代码


VBS中核心语句相同的脚本都不能安装,除非用VBS调用 addApplicationFont,目前网上还没看到这个资料。




2#
发表于 2019-2-1 16:32:20 | 只看该作者
這個 vbs 可以安裝當前文件夾下的所有字型

    Set ofso = CreateObject("Scripting.FileSystemObject")
    SourceFolder = ofso.GetParentFolderName(Wscript.ScriptFullName)

    Const FONTS = &H14&

    Set objShell  = CreateObject("Shell.Application")
    Set oSource   = objShell.Namespace(SourceFolder)
    Set oWinFonts = objShell.Namespace(FONTS)

    ' Lame VBscript needs 4 f*ing lines instead of "if (/\.ttf$/i) " ...
    Set rxTTF = New RegExp
    rxTTF.IgnoreCase = True
    rxTTF.Pattern = "\.ttf$"

    FOR EACH FontFile IN oSource.Items()
        IF rxTTF.Test(FontFile.Path) THEN   
            oWinFonts.CopyHere FontFile.Path
        END IF
    NEXT
回复

使用道具 举报

3#
 楼主| 发表于 2019-2-1 16:41:22 | 只看该作者
不落的太阳 发表于 2019-2-1 16:32
這個 vbs 可以安裝當前文件夾下的所有字型

    Set ofso = CreateObject("Scripting.FileSystemObject") ...


不是这个话题......  谢谢你的回答,貌似你没看我的问题是什么?  另外,这个程序没我写的那个好用
回复

使用道具 举报

4#
发表于 2019-2-1 16:49:04 | 只看该作者
用支剪了的系统都会有问题的,只是你遇到没
回复

使用道具 举报

5#
发表于 2019-2-1 16:50:15 | 只看该作者
本帖最后由 2010hook 于 2019-2-1 16:53 编辑
9zhmke 发表于 2019-2-1 16:41
不是这个话题......  谢谢你的回答,貌似你没看我的问题是什么?  另外,这个程序没我写的那个好用


请问怎么使用的?有没有执行语法?
双击后,发现安装速度慢,不能静默执行吗?
FontInst.exe 不好么?速度很快
回复

使用道具 举报

6#
 楼主| 发表于 2019-2-1 16:57:00 | 只看该作者
不落的太阳 发表于 2019-2-1 16:49
用支剪了的系统都会有问题的,只是你遇到没

以前我也认为可能是个大动作,但看到wzzok修复了这个问题所以就提出来看看能不能以比较小的代价解决:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=411802
回复

使用道具 举报

7#
 楼主| 发表于 2019-2-1 16:59:21 | 只看该作者
本帖最后由 9zhmke 于 2019-2-1 17:12 编辑
2010hook 发表于 2019-2-1 16:50
请问怎么使用的?有没有执行语法?
双击后,发现安装速度慢,不能静默执行吗?
FontInst.exe 不好么 ...


这个就是双击后安装本文件夹中的字体,模拟复制单个字体文件动作以触发安装字体功能,网上流传的VBS脚本都是这样,我也想做成静默的,但做不出来,因为被触发的安装过程是显性的。
以前没用过fontinst.exe,不知道兼容性如何,刚去看了下,感觉还不错,在没找到更合适的方法时就用FontInst.exe了吧,谢谢指点。
回复

使用道具 举报

8#
发表于 2019-2-1 17:12:50 | 只看该作者
9zhmke 发表于 2019-2-1 16:57
以前我也认为可能是个大动作,但看到wzzok修复了这个问题所以就提出来看看能不能以比较小的代价解决:
h ...

那些牛B的都不愿意分享方法
回复

使用道具 举报

9#
发表于 2019-2-1 17:17:42 | 只看该作者
WINDOWS\Fonts\desktop.ini 这个文件丢失或者内容有问题会导致安装字体出问题
回复

使用道具 举报

10#
 楼主| 发表于 2019-2-1 17:18:08 | 只看该作者
不落的太阳 发表于 2019-2-1 17:12
那些牛B的都不愿意分享方法

牛B的人可能事情也会比较多吧,而且牛B的人更擅长于集中精力做事情,到底什么样的才算牛B这个也不好界定
可喜的是楼上也有两位高人出来指点,无忧论坛高手如云
回复

使用道具 举报

11#
 楼主| 发表于 2019-2-1 17:19:42 | 只看该作者
bdfcy 发表于 2019-2-1 17:17
WINDOWS\Fonts\desktop.ini 这个文件丢失或者内容有问题会导致安装字体出问题

是的,从早期系统就是这样了,但精简版是有这个文件的,否则字体会显示字体的文件名而不是字体名字。
回复

使用道具 举报

12#
 楼主| 发表于 2019-2-1 17:30:02 | 只看该作者
bdfcy 发表于 2019-2-1 17:17
WINDOWS\Fonts\desktop.ini 这个文件丢失或者内容有问题会导致安装字体出问题

道个歉,仔细看了看,就是这个问题导致的,复制进去就马上解决问题了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-20 05:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表