Windows系统字体替换脚本实现

前言

        对于Windows系统来说,字体是一个非常重要的组件,影响着用户的阅读体验、文档排版、界面显示等。但是有时候我们想要更换某些字体文件,比如为了更好地适应某种语言文字或者美化界面等目的,这时用手动去替换系统中的字体文件十分繁琐,也容易出错。因此,编写一个自动化脚本来完成这个任务,既能提高效率,也能减少出错的概率。

        本文讲解下,如何使用脚本实现Windows系统字体替换。

脚本实现

以msyh字体为例,替换成sarasa字体

1、备份字体
pushd msyh-backup

call:Warning "Backuping msys fonts..."

icacls c:\windows\Fonts\msyh* /save msyh-backup\acl /T
copy C:\Windows\Fonts\msyh* msyh-backup\

otc2otf msyh.ttc
otc2otf msyhl.ttc
otc2otf msyhbd.ttc
ttx -t name MicrosoftYaHei.ttf
ttx -t name MicrosoftYaHeiUI.ttf
ttx -t name MicrosoftYaHeiLight.ttf
ttx -t name MicrosoftYaHeiUILight.ttf
ttx -t name MicrosoftYaHei-Bold.ttf
ttx -t name MicrosoftYaHeiUI-Bold.ttf
del /q MicrosoftYaHei*.ttf 2>nul
popd
2、转换字体
pushd "%rootdir%\sarasa"

otc2otf sarasa-regular.ttc
otc2otf sarasa-light.ttc
otc2otf sarasa-bold.ttc

del /q MicrosoftYaHei*.ttf 2>nul
del /q MicrosoftYaHei*.otf 2>nul

ttx -b -d "%cd%" -m Sarasa-UI-SC-Regular.ttf ..\msyh-backup\MicrosoftYaHei.ttx
ttx -b -d "%cd%" -m Sarasa-UI-SC-Regular.ttf ..\msyh-backup\MicrosoftYaHeiUI.ttx
ttx -b -d "%cd%" -m Sarasa-UI-SC-Light.ttf ..\msyh-backup\MicrosoftYaHeiLight.ttx
ttx -b -d "%cd%" -m Sarasa-UI-SC-Light.ttf ..\msyh-backup\MicrosoftYaHeiUILight.ttx
ttx -b -d "%cd%" -m Sarasa-UI-SC-Bold.ttf ..\msyh-backup\MicrosoftYaHei-Bold.ttx
ttx -b -d "%cd%" -m Sarasa-UI-SC-Bold.ttf ..\msyh-backup\MicrosoftYaHeiUI-Bold.ttx

otf2otc MicrosoftYaHei.ttf MicrosoftYaHeiUI.ttf -o msyh.ttc
otf2otc MicrosoftYaHeiLight.ttf MicrosoftYaHeiUILight.ttf -o msyhl.ttc
otf2otc MicrosoftYaHei-Bold.ttf MicrosoftYaHeiUI-Bold.ttf -o msyhbd.ttc

del /q Sarasa*.ttf 2>nul
del /q MicrosoftYaHei*.ttf 2>nul
popd
3、删除注册表中的msyh
pushd "%rootdir%\sarasa"

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Microsoft Yahei & Microsoft Yahei UI (TrueType)" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Microsoft Yahei Bold & Microsoft Yahei UI Bold (TrueType)" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Microsoft Yahei Light & Microsoft Yahei UI Light (TrueType)" /f

popd

进行下步替换之前,需要先重启Windows系统

4、开始替换,并添加新字体到注册表中
pushd "%rootdir%\sarasa"

takeown /F C:\Windows\Fonts\msyh* /A
icacls C:\Windows\Fonts\msyh* /grant Administrators:F

del /f /s /q C:\Windows\Fonts\msyh*
if exist C:\Windows\Fonts\msyh* echo Delete fonts failed!&goto:End

copy "msyh*" C:\Windows\Fonts

takeown /F C:\Windows\Fonts\msyh* /A
icacls C:\Windows\Fonts\msyh* /grant Administrators:F

icacls C:\windows\Fonts\msyh* /C /setowner "NT SERVICE\TrustedInstaller"
icacls C:\windows\Fonts\ /C /restore "..\msyh-backup\acl"

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Microsoft Yahei & Microsoft Yahei UI (TrueType)" /t REG_SZ /d "msyh.ttc" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Microsoft Yahei Bold & Microsoft Yahei UI Bold (TrueType)" /t REG_SZ /d "msyhbd.ttc" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Microsoft Yahei Light & Microsoft Yahei UI Light (TrueType)" /t REG_SZ /d "msyhl.ttc" /f

popd

以上就是替换字体的整个流程,整个实现代码和恢复字体脚本,在文章最后的下载地址中。

完毕!!!

脚本下载地址:windows系统字体替换脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番茄小能手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值