Giter Club home page Giter Club logo

Comments (18)

ysc3839 avatar ysc3839 commented on July 1, 2024

系统中已有同名字体?可能是Windows本身的限制,有同名字体时优先使用系统字体。

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

image

image

注册表的字体文件中并没有MSPGothic.ttf

from fontmod.

ysc3839 avatar ysc3839 commented on July 1, 2024

那我就不知道了,这个功能仅仅是调用一下系统API从文件加载字体,系统做了什么操作、遇到什么问题是无法控制的。

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

那我就不知道了,这个功能仅仅是调用一下系统API从文件加载字体,系统做了什么操作、遇到什么问题是无法控制的。

系统api没法优先于其它任何字体加载MSPGothic-Regular.ttf吗?

我在log看到了很多各种字体文件,猜测可能是系统没调用我的字体文件,而是先调用别的字体文件了,所以没能调用MSPGothic-Regular.ttf?

from fontmod.

ysc3839 avatar ysc3839 commented on July 1, 2024

系统API只是把字体文件添加到进程的字体列表里,不需要把字体安装到系统里。log的内容是程序加载的字体。你不是说没有同名字体吗?那怎么会先调用别的字体文件?你的配置文件是怎么写的?

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

系统API只是把字体文件添加到进程的字体列表里,不需要把字体安装到系统里。log的内容是程序加载的字体。你不是说没有同名字体吗?那怎么会先调用别的字体文件?你的配置文件是怎么写的?

image

image

没有更改dll创建的FontMod.yaml,使用文档说无需配置即可使用:

FontMod/README.zh_CN.md

Lines 8 to 12 in 86f2761

# 使用方法
[下载](https://github.com/ysc3839/FontMod/releases) `FontMod{32,64,ARM,ARM64}.dll` 并重命名为下列之一:
`dinput8.dll`, `dinput.dll`, `dsound.dll`, `d3d9.dll`, `d3d11.dll`, `ddraw.dll`, `winmm.dll`, `version.dll`, `d3d8.dll` (`d3d8.dll` 仅支持 32 位)。
然后放在程序 exe 所在的文件夹里。
用户字体:把字体文件放在 `fonts` 文件夹内,可以直接使用,无需安装到系统中。

没作用,生成的log有其它字体

fonts文件夹的字体没有生效,我就更改配置文件的fonts,删掉默认配置SimSun等的字体换成MS PGothic,但也没作用,生成的log也有其它字体
你的意思是配置文件写错了?

fonts:
  MS PGothic:
    replace: MSPGothic
    <<: *style

fonts:
  MS PGothic:
    replace: MS Pゴシック
    <<: *style

from fontmod.

ysc3839 avatar ysc3839 commented on July 1, 2024

这个项目的功能是:假设一个程序会使用 A 字体,但是我想让它用 B 字体,就可以用这个项目,原理是 hook 字体相关的 API,遇到字体名称是 A 时就改成 B
然后可能遇到一种需求,那就是我不想把替换的 B 字体安装到系统里,所以提供了一个直接加载字体文件的功能,这个功能只是调用一下系统提供的加载字体文件的API,假如系统里已经有了这个字体,最终系统优先选择哪个字体是控制不了的。
log里看到的内容,都是程序打开过的字体,至于打开后用在了哪里,那就不知道了。
你需要确定,系统里有没有 MS PGothic 这个名称的字体,不是文件名称,是实际的字体名称。如果有的话,那可能是系统优先选择了全局安装的字体,你需要修改字体名称,然后在配置文件里配置把 MS PGothic 替换成新字体名称。

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

提供了一个直接加载字体文件的功能,这个功能只是调用一下系统提供的加载字体文件的API,假如系统里已经有了这个字体,最终系统优先选择哪个字体是控制不了的。 log里看到的内容,都是程序打开过的字体,至于打开后用在了哪里,那就不知道了。 你需要确定,系统里有没有 MS PGothic 这个名称的字体,不是文件名称,是实际的字体名称。如果有的话,那可能是系统优先选择了全局安装的字体,你需要修改字体名称,然后在配置文件里配置把 MS PGothic 替换成新字体名称。

系统没有安装字体啊……游戏调用的MS Pゴシック字体,如果安装MSPGothic-Regular.ttf,程序就直接显示MS Pゴシック字体

我想了想,干脆通过正则表达式批量把log的[CreateFont] name = "替换为 ", height = .*$替换为:\r\n replace: MS Pゴシック\r\n <<: \*style,然后剪切黏贴到yaml配置文件中

image

replace的MS Pゴシック换成MS PGothic@MS PGothic@MS Pゴシック(log有创建这4个字体,不知道是来自Fonts文件夹的字体文件,还是系统字体的,系统的注册表真没有这4个字体)

如果仔细观察发现游戏菜单的字体已经生效发生更改了,但是,即使更改4种字体,蓝色方框内的游戏文本并没有发生任何更改,如图所示:

22

如果安装Fonts文件夹下的字体,就能看得到蓝色方框已经显示MSPGothic-Regular.ttf里面的简体中文了,如图所示:

23

我不明白为啥log都替换了,只有程序的菜单字体发生了更改,游戏文本却没有更改

from fontmod.

ysc3839 avatar ysc3839 commented on July 1, 2024

有可能游戏是用自己的字体引擎,只是支持加载系统中的字体文件

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

有可能游戏是用自己的字体引擎,只是支持加载系统中的字体文件

dll没法替代游戏的字体引擎吗?所有windows10的字体引擎无非是CreatorFontIndireA这类的吧

有个Github的开源库UniversalInjectorFramework,某人修改winmm.dll能正常加载字体文件(链接:https://github.com/satan53x/SExtractor/tree/main/tools/UniversalInjectorFramework ),但只能以GBK编码输出文本,无法以程序原有的JIS编码输出

from fontmod.

ysc3839 avatar ysc3839 commented on July 1, 2024

请问这是什么游戏?能否给个完整的测试方法,我有空调查看看。

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

请问这是什么游戏?能否给个完整的测试方法,我有空调查看看。

https://pixeldrain.com/u/YduBrUg3

用UIF的一些测试可供参考,satan53x/SExtractor#55

from fontmod.

ysc3839 avatar ysc3839 commented on July 1, 2024

测试了一下,似乎字体一直都没成功替换?已经安装了你给的字体,但是游戏内仍然是繁体中文,是不是成功替换后就会变成简体中文?能否提供一下能成功替换的 FontMod.yaml

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

测试了一下,似乎字体一直都没成功替换?已经安装了你给的字体,但是游戏内仍然是繁体中文,是不是成功替换后就会变成简体中文?能否提供一下能成功替换的 FontMod.yaml

你用的win11?

我的系统版本是win10,那个替换成功的yaml内容(菜单字体替换成功,蓝框无法应用字体):

  MS PGothic:
    replace: @MS Pゴシック
    <<: *style
  @MS PGothic:
    replace: @MS Pゴシック
    <<: *style
  MS Pゴシック:
    replace: @MS Pゴシック
    <<: *style
  @MS Pゴシック:
    replace: @MS Pゴシック
    <<: *style

win10或win7貌似安装字体就可以替换为简体中文(需要重新启动电脑)

from fontmod.

ysc3839 avatar ysc3839 commented on July 1, 2024

系统是Win10。已经安装字体并重启系统了,不管用不用FontMod都还是繁体,也试过把系统语言改成日语,仍然是繁体。

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

系统是Win10。已经安装字体并重启系统了,不管用不用FontMod都还是繁体,也试过把系统语言改成日语,仍然是繁体。

那可真奇怪,你比较熟悉字体引擎,需要我做什么相关记录提交给你?

如果有时间的话,可以下个Windows 10 企业版 LTSC 21H2的虚拟机,应该可以复现

LTSC企业版的激活码,CMD管理员执行:

slmgr.vbs /ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D
slmgr.vbs /skms kms.loli.beer
slmgr.vbs /ato

from fontmod.

ysc3839 avatar ysc3839 commented on July 1, 2024

不知道,也许可以确认一下是不是字体搞错了?或者是不是装了别的字体,变成简体是别的字体的效果?
我用的是Win10专业版,有空试试看LTSC情况如何。

from fontmod.

allrobot avatar allrobot commented on July 1, 2024

from fontmod.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.