snowie2000 / mactype

Better font rendering for Windows.
https://mactype.net
GNU General Public License v3.0
10.09k stars 443 forks source link

配置文件的不同造成无法渲染windows介面 #414

Closed AhaoAile closed 6 years ago

AhaoAile commented 6 years ago

我使用的MACTYPE版本是

MacTypeInstaller_2016_0904_0.exe MacType_CTP_170307_W10.zip MacTypePatch_1.26.zip

Windows 1709 版本是 16299.309 繁体中文版

在使用以下配置文件时 系统介面全部成功渲染 但浏览器上某些字体无法更换成我所指定的(以下简称配置文件A) [Preview] Font=Arial Color=$990088 Text= 文泉驛999 Size=11 Align=Center

[General] Name=文泉驛微米黑 Traditional Icon=IoF\文泉驛微米黑.ico,0

;【自动挂钩子进程】 ;[0:Disable] 1:Enable HookChildProcesses=1

;【字体微调】 ;0:Normal 1:NoHinting 2:AutoHinting 3:Light+AutoHinting HintingMode=1

;【抗锯齿方式】 ;-1:Disable 0:Normal 1:Light 2:LCD(RGB) 3:LCD(GBR) 4:Light-LCD(RGB) 5:Light-LCD(GBR) AntiAliasMode=2

;【常规体调整】 ;-32:+32 NormalWeight=16

;【粗体字的调整】 ;-16:+16 BoldWeight=2

;【斜体字的倾斜角度微调】 ;-16:+16 ItalicSlant=0

;【只有在FontLoader=0(在下面)时此项设置才有效。建议选0,选1会占用大量内存,也没看出有什么好处。】 ;0:Disable 1:Enable UseMapping=0

;【Gamma模式开关】 ;-1:关闭;0:使用设置的Gamma值(GammaValue);1:使用sRGB的Gamma值;2:不明 GammaMode=0

;【Gamma值】 ;GammaMode=0的时候此项设置才有效 ;Windows的ClearType的Gamma值是1.4 ;OSX标准级Gamma值是1.8,电视级Gamma值是2.2 GammaValue=1.4

;【对比度】 ;数字越大越锐利,数字越小越发虚 Contrast=1.4

;【字体轮廓】 ;数字越大字体就越粗越黑 RenderWeight=1.0

;【文字边界设置】 ;数字越大越强调背景(类似文字边界被侵蚀的感觉),强调背景会有中字体锐利的感觉。适当降低对比度,提高TextTuning,可以使文字周围的颜色看起来“淡一点” ;再加上RenderWeight,把这三个设置的微妙平衡调节好的话,能得到不输给Mac的效果 ;取值范围:0~12

;当AntiAliasMode=1时,通过TextTuning分量来调节 TextTuning=0 ;当AntiAliasMode=2时,通过TextTuningR/G/B三个分量来调节 TextTuningR=2 TextTuningG=2 TextTuningB=2

;【字体加粗模式】 ;对NormalWeight和BoldWeight有效 ;0:Weight值大时横向加粗,值小时双向加粗,主要是避免Weight值过大时,模式3中在小字号时加粗过度出现斩头的现象; ;1:总是横向加粗; ;2:总是双向加粗,也就是freetype本身的粗体渲染。 ;注意:通过加大GammaValue、TextTuning的值,可以减少Weight值过大的造成的效果问题,即可以在BolderMode=2时也可以避免斩头 BolderMode=0

;【字体的载入方法】 ;(注意是载入方法,不是渲染方法) ;0:用freetype载入字体 ;1:用windows的绘图核心载入字体 ;很多freetype的设置需要此项选0才能生效 FontLoader=0

;【字体链接】 ;当FontLoader=0时 ;0:什么都不做; ;1:使用注册表里的字体链接设置,通过FreeType的字符表进行查找 ;2:使用注册表里的字体链接设置,使用Windows的转换函数直接查找 ;当FontLoader=1时 ;会保持启用的状态,但是所有字体链接的处理会交由WIN32API完成。 FontLink=2

;【字体替代】 ;当FontLoader=0时 ;0:什么都不做; ;1:安全替换方案(兼容性较好),根据以下FontSubstitutes的配置进行替换; ;2:完全替换方案(效果较全面,如替换后出现乱码,请尝试使用1),根据以下FontSubstitutes的配置进行替换; ;当FontLoader=1时 ;会保持启用的状态,但是所有字体替代的处理会交由WIN32API完成 FontSubstitutes=1

;【让freetype处理的最大的字体尺寸,单位是像素,0的话就是全尺寸】 ;交付 gdi++ 处理的最大尺寸(单位为像素) ;0-2147483647 Ma文泉驛微米黑ght=0

;【阴影设置】 ;格式:水平偏移,垂直偏移,深色文字的阴影透明度(0-100),深色文字的阴影颜色,浅色文字的阴影透明度(0-100),浅色文字的阴影颜色 ;阴影透明度值越低,则越透明 ;颜色值格式:BBGGRR ;Shadow=1,1,0,0x666666,0,0xFFFFFF

;【液晶显示器的优化配置】 ;[0:None] 1:Default 2:Light 16:Legacy LcdFilter=2

;【微调LcdFilterWeight】 ;LcdFilter>0,且AntiAliasMode>-1时,该微调才生效 ;这5个值分别代表文字笔划中从左到右的笔划浓度,最小为0,最大为255 ;注释掉这个参数则恢复使用 ;当LcdFilter=1,默认值为“16,64,112,64,16” ;当LcdFilter=2,默认值为“0,85,86,85,0” ;LcdFilterWeight=0,80,128,80,0

;【字体缓存、内存的设置】 LoadOnDemand=1 CacheMaxFaces=256 CacheMaxSizes=33554432 CacheMaxBytes=67108864 EnableKerning=0

;【强制使用某一个字体】 ;无视所有其他字体,全系统的字体都会被这里设置的字体代替 ;ForceChangeFont=华文中宋

;【优先使用点阵】 ;小于指定字号的文字将优先使用内嵌点阵 MaxBitmap=0

;【强制对小字体使用Hinting】 ;对9号以下字体自动施加Hinting,使小字体更清晰 ;此参数仅在AntiAliasMode=1、4、5时有效 ;0:关闭,1:开启。默认开启 HintSmallFont=0

;【对硬件加速的渲染支持】 ;对使用DirectWrite作为硬件加速技术的软件(如IE和firefox的硬件加速)提供渲染支持开关 ;0:关闭,1:开启。默认开启 DirectWrite=1

[Individual] ;【单独设置的字体】 ;格式=Hinting, AAMode, NormalWeight, BoldWeight, ItalicSlant, Kerning 宋体=,,28,0,, 新宋体=,,28,0,, SimSun-ExtB=,,28,0,, 仿宋_GB2312=,,28,0,, 仿宋=,,28,0,, 华文仿宋=,,28,0,, 华文宋体=,,28,0,, 华文中宋=,,28,0,, Batang=,,28,0,, MingLiU=,,28,0,, MingLiU-ExtB=,,28,0,, PMingLiU=,,28,0,, PMingLiU-ExtB=,,28,0,, PMingLiU_HKSCS=,,28,0,, PMingLiU_HKSCS-ExtB=,,28,0,, MS Mincho=,,28,0,, MS PMincho=,,28,0,, 方正等线=,,24,6,,

;[Individual@Unused] ;如希望启用以下字体的单独配置,请把上面的“[Individual@Unused]”一行注释掉 ;同时该段困于必须紧跟“[Individual]”段原有内容之后

XSung Clear=,,32,8,,, XSung Clear Mono=,,32,8,,, XSung Clear SimSun=,,32,8,,, XSung Clear NSimSun=,,32,8,,,

XSung Sharp=,,32,8,,, XSung Sharp Mono=,,32,8,,, XSung Sharp SimSun=,,32,8,,, XSung Sharp NSimSun=,,32,8,,,

XSung Classical=,,24,6,,, XSung Classical Mono=,,24,6,,, XSung Classical SimSun=,,26,6,,, XSung Classical NSimSun=,,24,6,,,

XCross Clear=,,32,,,, XCross Clear Mono=,,32,,,, XCross Clear SimSun=,,32,8,,, XCross Clear NSimSun=,,32,8,,,

XCross Sharp=,,32,,,, XCross Sharp Mono=,,32,,,, XCross Sharp SimSun=,,32,8,,, XCross Sharp NSimSun=,,32,8,,,

XCross Classical=,,24,,,, XCross Classical Mono=,,24,,,, XCross Classical SimSun=,,24,6,,, XCross Classical NSimSun=,,24,6,,,

XCross Traditional=,,32,6,,, XCross Traditional Mono=,,32,6,,, XCross Traditional SimSun=,,32,6,,, XCross Traditional NSimSun=,,32,6,,, ;[Individual@Unused2] ;如希望启用以下字体的单独配置,请把上面的“[Individual@Unused2]”一行注释掉 ;同时该段困于必须紧跟“[Individual]”段原有内容之后 ;For 文泉驛微米黑 Traditional XXX=,,24,8,,, XXX Mono=,,24,8,,, XXX SimSun=,,24,8,,, XXX NSimSun=,,24,8,,,

[Exclude] ;【除外的字体】,会与MacType.ini中的同名配置共同生效

[ExcludeModule] ;【不渲染的程序,但仍会加载DLL】,会与MacType.ini中的同名配置共同生效

[ExcludeSub] ;【排除不替换字体的程序】,会与MacType.ini中的同名配置共同生效 ;以下程序不会被进行字体热替换

[UnloadDll] ;【不渲染的程序,同时完全不加载DLL】,会与MacType.ini中的同名配置共同生效

[FontSubstitutes] ;【字体替代】 ;系统在调用“=”前面的字体时会忽视“=”前面的字体,而去直接调用“=”后面的字体 FangSong=文泉驛微米黑 Courier=文泉驛微米黑 Terminal=文泉驛微米黑 MS Sans Serif=文泉驛微米黑 MS Serif=文泉驛微米黑 Microsoft Sans Serif=文泉驛微米黑 SimSun=文泉驛微米黑 NSimSun=文泉驛微米黑 Fixedsys=文泉驛微米黑

;[FontSubstitutes@Unused] ;【未使用的字体替代】 ;如希望启用以下字体替代配置,请把上面的“[FontSubstitutes@Unused]”一行注释掉 ;同时该段困于必须紧跟“[FontSubstitutes]”段原有内容之后 Arial=文泉驛微米黑 Arial Black=文泉驛微米黑 Arial Narrow=文泉驛微米黑 Arial Unicode MS=文泉驛微米黑 Microsoft JhengHei=文泉驛微米黑 Microsoft JhengHei UI=文泉驛微米黑 Microsoft YaHei=文泉驛微米黑 Microsoft YaHei UI=文泉驛微米黑 Lucida Sans Unicode=文泉驛微米黑 Segoe UI=文泉驛微米黑 Tahoma=文泉驛微米黑 Calibri=文泉驛微米黑 Verdana=文泉驛微米黑

;[FontSubstitutes@ExAppleFont] ;【对Apple系统的字体替代】 ;如希望启用以下字体替代配置,请把上面的“[FontSubstitutes@ExAppleFont]”一行注释掉 ;同时该段困于必须紧跟“[FontSubstitutes]”段原有内容之后 Heiti SC=文泉驛微米黑 Heiti TC=文泉驛微米黑 Hiragino Sans GB=文泉驛微米黑 Lucida Grande=文泉驛微米黑 Helvetica=文泉驛微米黑 Helvetica Neue=文泉驛微米黑

;===== 标识为Office的通用配置组 ===== [General@Office] ;【针对Office组的字体替换】 ;当FontLoader=0时 ;0:什么都不做; ;1:安全替换方案(兼容性较好),根据以下FontSubstitutes的配置进行替换; ;2:完全替换方案(效果较全面,如替换后出现乱码,请尝试使用1),根据以下FontSubstitutes的配置进行替换; ;当FontLoader=1时 ;会保持启用的状态,但是所有字体替代的处理会交由WIN32API完成 FontSubstitutes=0 shadow=0,0,0,0,0,0

;===== 标识为Office的热替换配置组 ===== [FontSubstitutes@Office] ;针对Office组的字体替换,当FontSubstitutes>0时生效Courier=文泉驛微米黑 Terminal=文泉驛微米黑 MS Sans Serif=文泉驛微米黑 MS Serif=文泉驛微米黑 Microsoft Sans Serif=文泉驛微米黑 SimSun=文泉驛微米黑 SimSun NSimSun=文泉驛微米黑 NSimSun Fixedsys=文泉驛微米黑 NSimSun

;===== 标识为ExSimSunWithBold的热替换配置组 ===== [FontSubstitutes@ExSimSunWithBold] ;针对ExSimSunWithBold组的字体替换,当FontSubstitutes>0时生效 Courier=文泉驛微米黑 Terminal=文泉驛微米黑 MS Sans Serif=文泉驛微米黑 MS Serif=文泉驛微米黑 Microsoft Sans Serif=文泉驛微米黑 SimSun=文泉驛微米黑 NSimSun=文泉驛微米黑 Fixedsys=文泉驛微米黑

;[FontSubstitutes@Unused] ;【未使用的字体替代】 ;如希望启用以下字体替代配置,请把上面的“[FontSubstitutes@Unused]”一行注释掉 ;同时该段困于必须紧跟“[FontSubstitutes]”段原有内容之后 Arial=文泉驛微米黑 Arial Black=文泉驛微米黑 Arial Narrow=文泉驛微米黑 Arial Unicode MS=文泉驛微米黑 Microsoft JhengHei=文泉驛微米黑 Microsoft JhengHei UI=文泉驛微米黑 Microsoft YaHei=文泉驛微米黑 Microsoft YaHei UI=文泉驛微米黑 Lucida Sans Unicode=文泉驛微米黑 Segoe UI=文泉驛微米黑 Tahoma=文泉驛微米黑 Calibri=文泉驛微米黑 Verdana=文泉驛微米黑

;[FontSubstitutes@ExAppleFont] ;【对Apple系统的字体替代】 ;如希望启用以下字体替代配置,请把上面的“[FontSubstitutes@ExAppleFont]”一行注释掉 ;同时该段困于必须紧跟“[FontSubstitutes]”段原有内容之后 Heiti SC=文泉驛微米黑 Heiti TC=文泉驛微米黑 Hiragino Sans GB=文泉驛微米黑 Lucida Grande=文泉驛微米黑 Helvetica=文泉驛微米黑 Helvetica Neue=文泉驛微米黑

;===== 标识为NoShadow的通用配置组 ===== [General@NoShadow] shadow=0,0,0,0,0,0

;>>>>> 对特定EXE程序的配置,使用指定标识的配置组配置覆盖默认的同名配置 >>>>> [General@EXCEL.EXE] Alternative=Office [General@POWERPNT.EXE] Alternative=Office [General@WINWORD.EXE] Alternative=Office [General@VISIO.EXE] Alternative=Office [General@WINPROJ.EXE] Alternative=Office [General@ONENOTE.EXE] Alternative=Office [General@et.exe] Alternative=Office [General@wps.exe] Alternative=Office [General@wpp.exe] Alternative=Office [General@webkit2webprocess.exe] Alternative=Office [General@chrome.exe] Alternative=ExSimSunWithBold [General@iexplore.exe] Alternative=ExSimSunWithBold [General@firefox.exe] Alternative=ExSimSunWithBold [General@opera.exe] Alternative=ExSimSunWithBold [General@qq.exe] Alternative=ExSimSunWithBold [General@foxmail.exe] Alternative=ExSimSunWithBold [General@tdxw.exe] Alternative=NoShadow

https://i.imgur.com/yo0fJa9.jpg https://imgur.com/IBx6Xrh.jpg ------------------以上是可成功渲染windows介面,但有些字型无法-------------------

接下来是我尝试将前一个配置文件的FontSubstitutes 复制过来到我原本习惯使用的配置文件(以下简称配置文件B) [General] Icon=Candy.ico,0 DirectWrite=1 HintSmallFont=1 HintingMode=1 AntiAliasMode=2 NormalWeight=10 BoldWeight=1 ItalicSlant=-2 EnableKerning=0 GammaMode=0 LcdFilter=1 BolderMode=0 TextTuning=0 TextTuningR=0 TextTuningG=0 TextTuningB=0 GammaValue=1.2 Contrast=1.0 RenderWeight=1.5 Fontlink=2 HookChildProcesses=1 FontLoader=0 FontSubstitutes=1 LcdFilterWeight=15,54,137,55,15 Shadow=1,1,1,0x0,0,0x0 MaxBitmap=0 CacheMaxFaces=256 CacheMaxSizes=12554432 CacheMaxBytes=12108864 Name=CandyTypeSharpFix [UnloadDll] Photoshop.exe mpc-hc.exe audiodg.exe ccApp.exe conhost.exe conime.exe CppIDE.exe csrss.exe cstrike.exe ctfmon.exe dllhost.exe dwm.exe fontview.exe GoogleUpdate.exe hpgs2wnf.exe imejpmgr.exe jqs.exe jusched.exe lsass.exe lsm.exe mdm.exe mencoder.exe msdev.exe nvvsvc.exe nvsvc32.exe oobechk.exe peer.exe peeradapter.exe PinyinUp.exe ppsap.exe QQShell.exe RichVideo.exe RTHDCPL.exe RtHDVCpl.exe Safari.exe SearchFilterHost.exe SREngPS.EXE SearchProtocolHost.exe searchindexer.exe services.exe scardsvr.exe smss.exe smax4pnp.exe spoolsv.exe svchost.exe SynTPEnh.exe taskeng.exe taskhost.exe ThunderService.exe TXPlatform.exe unsecapp.exe userinit.exe userNetSchedule.exe VPTray.exe wininit.exe wmdc.exe WMIADAP.exe wmiprvse.exe wmpnetwk.exe winlogon.exe wscntfy.exe wudfhost.exe xdict.exe ehshell.exe emule.exe fontview.exe MainType.exe AxureRP.exe FontCreator.exe FontCreator.cn.exe notecaselauncher.exe notecase.exe gnucash-bin.exe bleachbit.exe Fontforge_TC.exe Fontforge_SC.exe Fontforge_EN.exe dwm.exe Fetion.exe xdict.exe ollyice.exe sc2.exe avgnt.exe PlantsVsZombies.exe SynTPHelper.exe SynTPEnh.exe war3.exe SearchFilterHost.exe SearchProtocolHost.exe mspdbsrv.exe javaw.exe PPLive.exe QQGame.exe devenv.exe [exclude] [FontSubstitutes] Courier=文泉驛微米黑 Terminal=文泉驛微米黑 MS Sans Serif=文泉驛微米黑 MS Serif=文泉驛微米黑 Microsoft Sans Serif=文泉驛微米黑 Fixedsys=文泉驛微米黑 FangSong=文泉驛微米黑 NSimSun=文泉驛微米黑 SimSun=文泉驛微米黑 SimSun-ExtB=文泉驛微米黑 細明體=文泉驛微米黑 細明體_HKSCS=文泉驛微米黑 細明體_HKSCS-ExtB=文泉驛微米黑 細明體-ExtB=文泉驛微米黑 新細明體=文泉驛微米黑 新細明體-ExtB=文泉驛微米黑 @FangSong=文泉驛微米黑 @NSimSun=文泉驛微米黑 @SimSun=文泉驛微米黑 @SimSun-ExtB=文泉驛微米黑 @細明體=文泉驛微米黑 @細明體_HKSCS=文泉驛微米黑 @細明體_HKSCS-ExtB=文泉驛微米黑 @細明體-ExtB=文泉驛微米黑 @新細明體=文泉驛微米黑 @新細明體-ExtB=文泉驛微米黑 [Individual] 文泉驛微米黑=,,0,-2,, @文泉驛微米黑=,,0,-2,, 文泉驛等寬微米黑=,,0,-2,, @文泉驛等寬微米黑=,,0,-2,, LiHei Pro=,,0,-2,, @LiHei Pro=,,0,-2,, [excludeSub]

------------------以上可以完全渲染我的浏览器,但无法渲染windows使用介面------------ https://i.imgur.com/gLX4pqP.jpg https://i.imgur.com/PxBsS9h.jpg

请问这两者的差别在哪? 我曾试过直接ForceChangeFont 可是会造成window界面的图案变成口口口口口

sammilucia commented 6 years ago

Hi @AhaoAile , can you please confirm what browser you're using that the fonts aren't being replaced in?

AhaoAile commented 6 years ago

Hi @AhaoAile , can you please confirm what browser you're using that the fonts aren't being replaced in?

I solve the problem , I use "Advanced Font Settings" to replaced my browser's fonts. Everything looks good

sammilucia commented 6 years ago

Thanks @AhaoAile ... there was also some font replacement that's disabled in the current MacType ... it should hopefully be enabled again in the next release :)

Closing issue

IceMan81 commented 6 years ago

@sammilucia Is a new beta release already in the works?

snowie2000 commented 6 years ago

@IceMan81 I'm still working it, but it should be ready by the end of the week. I'm trying to add something interesting to it.

IceMan81 commented 6 years ago

@snowie2000 That does sound interesting indeed!

sammilucia commented 6 years ago

@IceMan81 this next release/beta will have a new installer too, so there'll be lots to test