Wordless Echo
Wordless Echo
Rerun `npm install` and pay attention to the logs.
请确认你在手机客户端中填写的用户名与密码和服务端中的对得上 > 默认为 `rikka:rikka` 和 `rikka` > [FCM for Mojo (Docker):守护进程运行](https://github.com/RikkaApps/FCM-for-Mojo-Server/blob/master/DOCKER.md#%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B%E8%BF%90%E8%A1%8C)
我好像看到了很多可能性,比如用`FontManagerService`直接修改`fonts.xml` ~~至于你说的无法更新fallback family和需要正确的`postScriptName`这两点我还没看出来~~ ``` # cmd font help Font service (font) commands help Print this help text. dump [family name] Dump all font files in the specified family name. Dump...
`update-family`的具体用法 ```java /** * Parses XML representing {@link android.graphics.fonts.FontFamilyUpdateRequest}. * * The format is like: * {@code * * * * * * } */ ``` https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/services/core/java/com/android/server/graphics/fonts/FontManagerShellCommand.java;l=449;drc=e9b53c20c8ab211d13a483a037021de310577ab2 ```java /** *...
看来读取`postScriptName`靠的是TTC index为0时,OpenType name table中的数据 ```java fontFileName = mParser.buildFontFileName(tempNewFontFile); ``` https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/services/core/java/com/android/server/graphics/fonts/UpdatableFontDir.java;l=365;drc=b14b5b8d12bf7f7a6dbf25cb275e247440450fce ```java UpdatableFontDir(File filesDir, FontFileParser parser, FsverityUtil fsverityUtil, File configFile) { this(filesDir, parser, fsverityUtil, configFile, System::currentTimeMillis, (map) -> SystemFonts.getSystemFontConfig(map, 0, 0)...
我知道为啥说fallback改不了了((( ```java // We should keep the first font family (config.getFontFamilies().get(0)) because it's used // as a fallback font. See SystemFonts.java. ``` https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/services/core/java/com/android/server/graphics/fonts/UpdatableFontDir.java;l=583;drc=b14b5b8d12bf7f7a6dbf25cb275e247440450fce
`fontRevision`是版本号吧? ```xml ```
``` # cmd font dump sans-serif | grep Droid FontStyle { weight=400, slant=0}, path = /system/fonts/DroidSansFallback.ttf FontStyle { weight=400, slant=0}, path = /system/fonts/DroidSansFallbackFull.ttf ```
好了,我研究完了,我现在的猜测是你想不再通过替换或新增任何文件的方式,修改字体? 目前我们替换和新增的文件有: - `/system/etc/fonts.xml` - `/system_ext/etc/fonts.xml`(一加氧OS/氢OS) - `/system/fonts/DroidSansFallback.ttf` - `/system/fonts/DroidSansFallbackFull.ttf` - `/system/fonts/NotoSansCJK-Regular.ttc` - `/system/fonts/NotoSansCJK-VF.otf.ttc` - `/system/fonts/NotoSerifCJK-Regular.ttc` - `/system/fonts/NotoSerifCJK-VF.otf.ttc` 如果想不修改任何文件,那是不可能的。至少`fonts.xml`要修改。然后字体如果你不想放到`/system`里,可以在`fonts.xml`里指定换个位置放
> > `fontRevision`是版本号吧? > > ``` > > > > > > > > > > > > > > ``` > > https://learn.microsoft.com/en-us/typography/opentype/spec/head > > 是一个定点数,而且整个文件有 checksum。 > >...