Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux appimage 版 emoji 显示不正确 #13213

Open
3 tasks done
Littleweisheit opened this issue Nov 20, 2024 · 86 comments
Open
3 tasks done

Linux appimage 版 emoji 显示不正确 #13213

Littleweisheit opened this issue Nov 20, 2024 · 86 comments

Comments

@Littleweisheit
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Can the issue be reproduced with the default theme (daylight/midnight)?

  • I was able to reproduce the issue with the default theme

Could the issue be due to extensions?

  • I've ruled out the possibility that the extension is causing the problem.

Describe the problem

  1. 这是关闭全部插件时候
    1
  2. 这是安装emoji插件后
    2
    3

Expected result

图标全部正确显示

Screenshot or screen recording presentation

No response

Version environment

- Version: 3.1.13
- Operating System: OS: CachyOS Linux x86_64 (基于Arch Linux)
- Browser (if used):

Log file

I 2024/11/20 16:44:01 runtime.go:86: kernel is booting:
* ver [3.1.13]
* arch [amd64]
* os [cachyos]
* pid [7848]
* runtime mode [prod]
* working directory [/tmp/.mount_siyuanfoiPQn/resources]
* read only [false]
* container [std]
* database [ver=20220501]
* workspace directory [/home/XXXXX/SiYuan]
I 2024/11/20 16:44:01 conf.go:130: loaded conf [/home/XXXXX/SiYuan/conf/conf.json]
I 2024/11/20 16:44:01 conf.go:511: user has disabled [Google Analytics]
I 2024/11/20 16:44:01 runtime.go:138: use network proxy [system]
I 2024/11/20 16:44:01 serve.go:189: kernel [pid=7848] http server [127.0.0.1:33643] is booting
I 2024/11/20 16:44:01 pandoc.go:146: built-in pandoc [ver=3.5, bin=/home/XXXXX/SiYuan/temp/pandoc/bin/pandoc]
I 2024/11/20 16:44:01 conf.go:1110: pandoc initialized, set pandoc bin to [/home/XXXXX/SiYuan/temp/pandoc/bin/pandoc]
I 2024/11/20 16:44:02 fixedport.go:35: fixed port service [127.0.0.1:6806] is running
I 2024/11/20 16:44:02 sync.go:147: sync before boot
I 2024/11/20 16:44:02 repo.go:649: walk data [files=662] cost [28.548821ms]
I 2024/11/20 16:44:06 sync.go:1585: got cloud latest [device=776613414ce4459288b38bfa214a98c4/linux, id=66177566d57bd9e4791e095b9741a4967b25e3a2, files=662, size=123.67 MB, created=2024-11-20 16:42:51]
I 2024/11/20 16:44:06 repository.go:1334: boot get sync cloud files elapsed [4.04s]
I 2024/11/20 16:44:06 conf.go:851: database size [34.61 MB], tree/block count [67/4757]
I 2024/11/20 16:44:06 working.go:193: kernel booted
I 2024/11/20 16:44:06 box.go:77: auto stat [trees=67, blocks=4757, dataSize=124.07 MB, assetsSize=98.79 MB]
I 2024/11/20 16:44:06 disk.go:33: disk usage [total=97.95 GB, used=26.47 GB, free=70.38 GB]
I 2024/11/20 16:44:09 session.go:121: auth success [ip=127.0.0.1:54494]
E 2024/11/20 16:44:10 system.go:74: changelog not found: /tmp/.mount_siyuanfoiPQn/resources/changelogs/v3.1.13/v3.1.13.md
E 2024/11/20 16:46:44 system.go:74: changelog not found: /tmp/.mount_siyuanfoiPQn/resources/changelogs/v3.1.13/v3.1.13.md
E 2024/11/20 16:47:01 system.go:74: changelog not found: /tmp/.mount_siyuanfoiPQn/resources/changelogs/v3.1.13/v3.1.13.md
E 2024/11/20 16:47:46 system.go:74: changelog not found: /tmp/.mount_siyuanfoiPQn/resources/changelogs/v3.1.13/v3.1.13.md
E 2024/11/20 16:48:36 system.go:74: changelog not found: /tmp/.mount_siyuanfoiPQn/resources/changelogs/v3.1.13/v3.1.13.md
I 2024/11/20 16:49:03 repository.go:1396: syncing data repo [device=776613414ce4459288b38bfa214a98c4, kernel=1uoi1up, provider=2, mode=a/false]
I 2024/11/20 16:49:03 repo.go:649: walk data [files=662] cost [29.292079ms]
I 2024/11/20 16:49:03 ref.go:64: updated local latest to [device=776613414ce4459288b38bfa214a98c4/linux, id=5419e7ee5967d5b064ed5f2f5b720512dcb8c66a, files=662, size=123.67 MB, created=2024-11-20 16:49:03]
I 2024/11/20 16:49:08 sync.go:1585: got cloud latest [device=776613414ce4459288b38bfa214a98c4/linux, id=66177566d57bd9e4791e095b9741a4967b25e3a2, files=662, size=123.67 MB, created=2024-11-20 16:42:51]
I 2024/11/20 16:49:09 sync.go:239: got local latest [5419e7ee5967d5b064ed5f2f5b720512dcb8c66a] files [662]
I 2024/11/20 16:49:09 sync.go:1456: got latest sync [device=776613414ce4459288b38bfa214a98c4/linux, id=66177566d57bd9e4791e095b9741a4967b25e3a2, files=662, size=123.67 MB, created=2024-11-20 16:42:51]
I 2024/11/20 16:49:09 diff.go:49: upsert [lID=638173e5fbc7b3ec8101a396322f747254565c7b, lPath=/storage/petal/siyuan-plugin-background-grid/config.json, lUpdated=2024-11-20 16:41:43, rID=efece440e3618efcdbd3d96f2def7f42d4723bad, rPath=/storage/petal/siyuan-plugin-background-grid/config.json, rUpdated=2024-11-20 16:48:36]
I 2024/11/20 16:49:09 sync.go:256: cloud upsert [638173e5fbc7b3ec8101a396322f747254565c7b, /storage/petal/siyuan-plugin-background-grid/config.json, 2024-11-20 16:41:43]
I 2024/11/20 16:49:09 sync.go:262: local upsert [efece440e3618efcdbd3d96f2def7f42d4723bad, /storage/petal/siyuan-plugin-background-grid/config.json, 2024-11-20 16:48:36]
I 2024/11/20 16:49:11 sync.go:1174: uploaded index [device=776613414ce4459288b38bfa214a98c4/linux, id=5419e7ee5967d5b064ed5f2f5b720512dcb8c66a, files=662, size=123.67 MB, created=2024-11-20 16:49:03]
I 2024/11/20 16:49:12 sync.go:907: uploaded cloud ref [refs/latest, id=5419e7ee5967d5b064ed5f2f5b720512dcb8c66a]
I 2024/11/20 16:49:12 ref.go:64: updated local latest to [device=776613414ce4459288b38bfa214a98c4/linux, id=5419e7ee5967d5b064ed5f2f5b720512dcb8c66a, files=662, size=123.67 MB, created=2024-11-20 16:49:03]
I 2024/11/20 16:49:12 sync.go:1384: updated latest sync [device=776613414ce4459288b38bfa214a98c4/linux, id=5419e7ee5967d5b064ed5f2f5b720512dcb8c66a, files=662, size=123.67 MB, created=2024-11-20 16:49:03]
I 2024/11/20 16:49:13 repository.go:1468: synced data repo [device=776613414ce4459288b38bfa214a98c4, kernel=1uoi1up, provider=2, mode=a/false, ufc=4, dfc=2, ucc=0, dcc=0, ub=36.55 kB, db=36.24 kB] in [10.38s], merge result [conflicts=0, upserts=0, removes=0]

I 2024/11/20 16:49:13 index_fix.go:50: start checking index...
I 2024/11/20 16:49:13 index_fix.go:70: finish checking index
I 2024/11/20 16:49:13 store.go:61: purging data repo [/home/XXXXX/SiYuan/repo/], retention indexes [38]
I 2024/11/20 16:49:13 store.go:238: purged data repo [/home/XXXXX/SiYuan/repo/], [0] indexes, [0] objects, [0] bytes

More information

No response

@Littleweisheit Littleweisheit changed the title Appimage图标显示不正确 Appimage版图标显示不正确 Nov 20, 2024
@88250
Copy link
Member

88250 commented Nov 20, 2024

这个只能在系统上安装 Emoji 字体才行,否则只能用集市中的 emoji 插件了。

@88250 88250 closed this as completed Nov 20, 2024
@TCOTC
Copy link
Contributor

TCOTC commented Nov 20, 2024

其他 emoji 插件有没有这个问题?还有字体插件

@Littleweisheit
Copy link
Author

Littleweisheit commented Nov 20, 2024

这个只能在系统上按照 Emoji 字体才行,否则只能用集市中的 emoji 插件了。

我系统有noto color emoji啊,而且安装插件只有代码块里能显示。

@Littleweisheit
Copy link
Author

其他 emoji 插件有没有这个问题?还有字体插件

换了一个还是不行

@Littleweisheit
Copy link
Author

其他 emoji 插件有没有这个问题?还有字体插件

代码块里面是能正确显示的,而且emoji字体我是安装了的
1
2
3
4
5

@Littleweisheit
Copy link
Author

Littleweisheit commented Nov 20, 2024

图片
搞不懂了,这是集市的emoji插件不完整?
这里用的是系统的emoji,而且在别的软件能完全显示。这应该能说是bug了吧😭

@88250 88250 changed the title Appimage版图标显示不正确 Appimage 版 emoji 显示不正确 Nov 21, 2024
@88250
Copy link
Member

88250 commented Nov 21, 2024

暂时不清楚原因,保持打开一段时间看看其他用户反馈,谢谢。

@88250 88250 reopened this Nov 21, 2024
@wwxiaoqi
Copy link
Contributor

1)请关闭所有思源的字体插件emoji 插件
2)在设置【编辑器】->【字体】设置中,设置为默认。
3)在设置【外观】->【主题】设置中,全部设置为默认(因为「该设置仅影响编辑器内字体显示,选择默认则使用主题自带字体」)。

设置完以上内容的默认情况

image

在上面基础上不变,使用写味(Savor)主题的情况

image

在上面基础上不变,打开表情包(Google Noto Color Emoji)插件的情况

image

在上面基础上不变,打开字体(霞鹜文楷字体和 Twitter Emoji)的情况

image

测试文档:emoji.sy.zip


可以看出完全默认情况下是走思源的本身字体,包含不了了在走系统,系统没有显示空白或方块。

不同字体主题表情包均包含了自身字体,不同字体 emoji 显示细节都有差别

@wwxiaoqi
Copy link
Contributor

在 Arch Linux 系统中,如果你要单独设置字体,请添加或编辑 ~/.config/fontconfig/fonts.conf 文件,我的配置如下:

https://github.com/wwxiaoqi/dotfiles-hypr/blob/main/dot_config/fontconfig/fonts.conf

@Littleweisheit
Copy link
Author

1)请关闭所有思源的字体插件emoji 插件 2)在设置【编辑器】->【字体】设置中,设置为默认。 3)在设置【外观】->【主题】设置中,全部设置为默认(因为「该设置仅影响编辑器内字体显示,选择默认则使用主题自带字体」)。
设置完以上内容的默认情况

在上面基础上不变,使用写味(Savor)主题的情况

在上面基础上不变,打开表情包(Google Noto Color Emoji)插件的情况

在上面基础上不变,打开字体(霞鹜文楷字体和 Twitter Emoji)的情况

测试文档:emoji.sy.zip

可以看出完全默认情况下是走思源的本身字体,包含不了了在走系统,系统没有显示空白或方块。

不同字体主题表情包均包含了自身字体,不同字体 emoji 显示细节都有差别

图片
我这样设置后,能显示了。。。问题出在哪儿?
图片

@Littleweisheit
Copy link
Author

在 Arch Linux 系统中,如果你要单独设置字体,请添加或编辑 ~/.config/fontconfig/fonts.conf 文件,我的配置如下:

https://github.com/wwxiaoqi/dotfiles-hypr/blob/main/dot_config/fontconfig/fonts.conf

目前我是这样的,我加几行试一试
图片

@Littleweisheit
Copy link
Author

在 Arch Linux 系统中,如果你要单独设置字体,请添加或编辑 ~/.config/fontconfig/fonts.conf 文件,我的配置如下:

https://github.com/wwxiaoqi/dotfiles-hypr/blob/main/dot_config/fontconfig/fonts.conf

设置fontconfig这样不行
图片

@wwxiaoqi
Copy link
Contributor

1)请关闭所有思源的字体插件emoji 插件 2)在设置【编辑器】->【字体】设置中,设置为默认。 3)在设置【外观】->【主题】设置中,全部设置为默认(因为「该设置仅影响编辑器内字体显示,选择默认则使用主题自带字体」)。
设置完以上内容的默认情况
在上面基础上不变,使用写味(Savor)主题的情况
在上面基础上不变,打开表情包(Google Noto Color Emoji)插件的情况
在上面基础上不变,打开字体(霞鹜文楷字体和 Twitter Emoji)的情况
测试文档:emoji.sy.zip
可以看出完全默认情况下是走思源的本身字体,包含不了了在走系统,系统没有显示空白或方块。
不同字体主题表情包均包含了自身字体,不同字体 emoji 显示细节都有差别

图片 我这样设置后,能显示了。。。问题出在哪儿? 图片

参考

Linux fontconfig 的字体匹配机制
用 fontconfig 治理 Linux 中的字体

字体匹配优先级问题,fontconfig 没有命中想要的字体

@Littleweisheit
Copy link
Author

Littleweisheit commented Nov 21, 2024

1)请关闭所有思源的字体插件emoji 插件 2)在设置【编辑器】->【字体】设置中,设置为默认。 3)在设置【外观】->【主题】设置中,全部设置为默认(因为「该设置仅影响编辑器内字体显示,选择默认则使用主题自带字体」)。
设置完以上内容的默认情况
在上面基础上不变,使用写味(Savor)主题的情况
在上面基础上不变,打开表情包(Google Noto Color Emoji)插件的情况
在上面基础上不变,打开字体(霞鹜文楷字体和 Twitter Emoji)的情况
测试文档:emoji.sy.zip
可以看出完全默认情况下是走思源的本身字体,包含不了了在走系统,系统没有显示空白或方块。
不同字体主题表情包均包含了自身字体,不同字体 emoji 显示细节都有差别

图片 我这样设置后,能显示了。。。问题出在哪儿? 图片

参考

Linux fontconfig 的字体匹配机制 用 fontconfig 治理 Linux 中的字体

字体匹配优先级问题,fontconfig 没有命中想要的字体


 <alias>
    <family>serif</family>
    <prefer>
      <family>Noto Serif</family>
      <family>Noto Serif CJK SC</family>
      <family>Noto Serif CJK TC</family>
      <family>Noto Serif CJK JP</family>
      <family>Noto Serif CJK KR</family>
      <family>Noto Color Emoji</family>
      <family>Noto Emoji</family>
    </prefer>
  </alias>

这样设置已经写了Noto Color Emoji啊,那咋还是不行,要放第一行?

@88250 88250 changed the title Appimage 版 emoji 显示不正确 Linux appimage 版 emoji 显示不正确 Nov 21, 2024
@88250
Copy link
Member

88250 commented Nov 21, 2024

放了试下,另外改动这个配置是不是需要重新登录或者刷新一下?

@Littleweisheit
Copy link
Author

放了试下,另外改动这个配置是不是需要重新登录或者刷新一下?
完全复制了这个配置,重启系统还是不行,主题、字体设置的是默认。
https://github.com/wwxiaoqi/dotfiles-hypr/blob/main/dot_config/fontconfig/fonts.conf
只有编辑器字体设置为noto color emoji才能正确显示

@wwxiaoqi
Copy link
Contributor

放了试下,另外改动这个配置是不是需要重新登录或者刷新一下?
完全复制了这个配置,重启系统还是不行,主题、字体设置的是默认。
https://github.com/wwxiaoqi/dotfiles-hypr/blob/main/dot_config/fontconfig/fonts.conf
只有编辑器字体设置为noto color emoji才能正确显示

你的字体要在 fc-list | grep $fontName 查得到才能生效,
另外不应该修改 /etc/fonts/fonts.conf
因为 Fontconfig 升级时会替换这个文件,
更加推荐的操作是 $HOME/.config/fontconfig/fonts.conf

修改完成不生效可以使用 fc-cache 命令重建 Fontconfig 配置,
然后在打开程序测试

更加常见的一种情况就是思源的字体中已经包含了这个 emoji,
哪怕它显示空白。

还有就是 emoji 众多,哪怕是 noto-fonts-emoji 也不能完全适配完成...

@wwxiaoqi
Copy link
Contributor

在 Arch Linux 系统中,如果你要单独设置字体,请添加或编辑 ~/.config/fontconfig/fonts.conf 文件,我的配置如下:

https://github.com/wwxiaoqi/dotfiles-hypr/blob/main/dot_config/fontconfig/fonts.conf

相关字体安装:

sudo pacman -S noto-fonts inter-font noto-fonts-cjk noto-fonts-emoji ttf-sarasa-gothic

@Littleweisheit
Copy link
Author

放了试下,另外改动这个配置是不是需要重新登录或者刷新一下?
完全复制了这个配置,重启系统还是不行,主题、字体设置的是默认。
https://github.com/wwxiaoqi/dotfiles-hypr/blob/main/dot_config/fontconfig/fonts.conf
只有编辑器字体设置为noto color emoji才能正确显示

你的字体要在 fc-list | grep $fontName 查得到才能生效, 另外不应该修改 /etc/fonts/fonts.conf, 因为 Fontconfig 升级时会替换这个文件, 更加推荐的操作是 $HOME/.config/fontconfig/fonts.conf

修改完成不生效可以使用 fc-cache 命令重建 Fontconfig 配置, 然后在打开程序测试

更加常见的一种情况就是思源的字体中已经包含了这个 emoji, 哪怕它显示空白。

还有就是 emoji 众多,哪怕是 noto-fonts-emoji 也不能完全适配完成...

fc-list | grep emoji没输出 奇怪了

@Littleweisheit
Copy link
Author

Littleweisheit commented Nov 21, 2024

在 Arch Linux 系统中,如果你要单独设置字体,请添加或编辑 ~/.config/fontconfig/fonts.conf 文件,我的配置如下:
https://github.com/wwxiaoqi/dotfiles-hypr/blob/main/dot_config/fontconfig/fonts.conf

相关字体安装:

sudo pacman -S noto-fonts inter-font noto-fonts-cjk noto-fonts-emoji ttf-sarasa-gothic

虚拟终端里都能显示的
图片
所以不是fontconfig的问题吧

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

刚刚我在找内置 emoji 字体的时候遇到了类似的情况,发现默认主题里 font-family 的顺序有点莫名奇妙,所以我怀疑是 font-family 的问题。

@Littleweisheit 你试一下新建工作空间,然后只用这个代码片段:

:root {
  --b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, var(--b3-font-family-emoji), "EmojiSymbols";
  --b3-font-family-emoji: "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Android Emoji";
}

p.s. 系统需要安装有 Noto Color Emoji 字体


以及关闭代码片段之后再试一下安装这个插件:

image

@Littleweisheit
Copy link
Author

Littleweisheit commented Nov 21, 2024

刚刚我在找内置 emoji 字体的时候遇到了类似的情况,发现默认主题里 font-family 的顺序有点莫名奇妙,所以我怀疑是 font-family 的问题。

@Littleweisheit 你试一下新建工作空间,然后只用这个代码片段:

:root {
  --b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, var(--b3-font-family-emoji), "EmojiSymbols";
  --b3-font-family-emoji: "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Android Emoji";
}

p.s. 系统需要安装有 Noto Color Emoji 字体

以及关闭代码片段之后再试一下安装这个插件:

image

我系统有Noto Color Emoji字体

fc-match emoji
NotoColorEmoji.ttf: "Noto Color Emoji" "Regular"

图片
图片

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

还可能缺字体了,试试在代码片段前面加一行:

@import url('https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap');

用于从 Google 获取最新的字体

@Littleweisheit
Copy link
Author

试试在代码片段前面加一行:

@import url('https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap');

用于从 Google 获取最新的字体

不行

@wwxiaoqi
Copy link
Contributor

不知道其他用 Linux 的用户有没有这个问题,还是只有你的设备的 DejaVu Sans 才会产生问题

感觉还是把编辑器字体设置为Noto color emoji好点,不影响UI的字体

直接拿你的字体 --b3-font-family 那一块的配置文件,然后删掉 DejaVu Sans,其他什么都不用动

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

说到换字体,我之前查到这个说法:

DejaVu Serif/Sans包含部分黑白emoji glyphs,如果fc-match顺序在Noto Color Emoji前面,就看不到后者的相应字形。可以考虑安装aur/ttf-dejavu-emojiless等移除emoji glyphs的包。

@Littleweisheit
Copy link
Author

Littleweisheit commented Nov 21, 2024

https://gist.github.com/DeeDeeG/d562a997ba8e79fad165c7d01cbdd22f 好像是这个DejaVu优先级很高,把noto color emoji挤下去了

@wwxiaoqi
Copy link
Contributor

说到换字体,我之前查到这个说法:

DejaVu Serif/Sans包含部分黑白emoji glyphs,如果fc-match顺序在Noto Color Emoji前面,就看不到后者的相应字形。可以考虑安装aur/ttf-dejavu-emojiless等移除emoji glyphs的包。

应该就是这个问题,所以我选择 sudo pacman -R ttf-dejavu 直接删掉,显示正常

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

@zxkmm 说他用这个没问题:

刚刚漏改了两个字体,再试试:

:root {
  --b3-font-family: "Noto Color Emoji", "Segoe UI Emoji", "Apple Color Emoji", "Twemoji Mozilla", "Android Emoji", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Segoe UI Symbol", "Segoe UI", "EmojiSymbols";
  --b3-font-family-emoji: "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Android Emoji";
}
:root {
  --b3-font-family: "Segoe UI Emoji", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Microsoft Yahei", sans-serif, "Segoe UI Symbol", "Segoe UI", "EmojiSymbols";
  --b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
}

@wwxiaoqi
Copy link
Contributor

https://github.com/androlabs/emoji-archlinux

这里的处理也是将 DejaVu 后移,拿这可能就是 Linux 通病了

@Littleweisheit
Copy link
Author

https://github.com/androlabs/emoji-archlinux

这里的处理也是将 DejaVu 后移,拿这可能就是 Linux 通病了

但是我其他软件没这个问题啊🤔

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

其他软件不一定用 DejaVu

@Littleweisheit
Copy link
Author

https://github.com/androlabs/emoji-archlinux

这里的处理也是将 DejaVu 后移,拿这可能就是 Linux 通病了

他这个用了不行,难道electron不会受fontconfig设置吗?

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

渲染的页面是靠 CSS 指定字体的吧

@wwxiaoqi
Copy link
Contributor

https://github.com/androlabs/emoji-archlinux
这里的处理也是将 DejaVu 后移,拿这可能就是 Linux 通病了

他这个用了不行,难道electron不会受fontconfig设置吗?

软件内优先级更高,软件内设置了就没有必要往外找了

TCOTC added a commit to TCOTC/siyuan that referenced this issue Nov 21, 2024
@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

我先按我的想法改了 #13219

@Littleweisheit
Copy link
Author

我先按我的想法改了 #13219

这样会变很宽的
图片

@wwxiaoqi
Copy link
Contributor

我先按我的想法改了 #13219

这样会变很宽的 图片

最简单的方法就是你别改,
然后直接用 sudo pacman -R ttf-dejavu 删掉 ttf-dejavu
当然也可能是 ttf-dejavu-nerd
具体可以使用 pacman -Qq | grep dejavu 查询

@Littleweisheit
Copy link
Author

我先按我的想法改了 #13219

这样会变很宽的 图片

最简单的方法就是你别改, 然后直接用 sudo pacman -R ttf-dejavu 删掉 ttf-dejavu, 当然也可能是 ttf-dejavu-nerd, 具体可以使用 pacman -Qq | grep dejavu 查询

我感觉用Bitstream Vera Sans替代dejavu 挺好的

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

数字变宽的问题我有点眉目了,emoji 字体里会有数字的字形,覆盖了正常的字形

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

@Littleweisheit 你试试用这个代码片段:

@font-face {
  src: local("Segoe UI Emoji"),
       local("Segoe UI Symbol"),
       local("Apple Color Emoji"),
       local("Twemoji Mozilla"),
       local("Noto Color Emoji"),
       local("Android Emoji");
  unicode-range: U+1F000-1F644, U+203C-3299, U+1F300-1F3FF; /* 排除数字和字母 */
}

:root {
    --b3-font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Microsoft Yahei", sans-serif, "EmojiSymbols";
    --b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
}

@Littleweisheit
Copy link
Author

@Littleweisheit 你试试用这个代码片段:

@font-face {
  src: local("Segoe UI Emoji"),
       local("Segoe UI Symbol"),
       local("Apple Color Emoji"),
       local("Twemoji Mozilla"),
       local("Noto Color Emoji"),
       local("Android Emoji");
  unicode-range: U+1F000-1F644, U+203C-3299, U+1F300-1F3FF; /* 排除数字和字母 */
}

:root {
    --b3-font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Microsoft Yahei", sans-serif, "EmojiSymbols";
    --b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
}

是宽的

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

你截图给我看看编辑器里的数字和 emoji 分别是长什么样的?

@Littleweisheit
Copy link
Author

你截图给我看看编辑器里的数字和 emoji 分别是长什么样的?

图片

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

用默认主题明亮模式、关闭除了刚刚的那个代码片段以外的其他代码片段、关闭所有插件、重启思源,然后再放大编辑器字号截图看看,方便我看清楚一些

@Littleweisheit
Copy link
Author

Littleweisheit commented Nov 21, 2024

用默认主题明亮模式、关闭除了刚刚的那个代码片段以外的其他代码片段、关闭所有插件、重启思源,然后再放大编辑器字号截图看看,方便我看清楚一些

图片
图片

@Littleweisheit
Copy link
Author

把DejaVu Sans里面的emoji字形排除不是更好吗?

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

实际上不只是 DejaVu Sans 有问题,并且我刚刚发现定义字体范围有点复杂,还要再想想

@TCOTC
Copy link
Contributor

TCOTC commented Nov 21, 2024

@Littleweisheit 试试这个:

:root {
  --b3-font-family: "DejaVu Sans Number", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Microsoft Yahei", sans-serif, "EmojiSymbols";
  --b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
}
@font-face {
  font-family: "DejaVu Sans Number";
  src: local("DejaVu Sans");
  unicode-range: U+30-39;
}

@Littleweisheit
Copy link
Author

@Littleweisheit 试试这个:

:root {
  --b3-font-family: "DejaVu Sans Number", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Microsoft Yahei", sans-serif, "EmojiSymbols";
  --b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
}
@font-face {
  font-family: "DejaVu Sans Number";
  src: local("DejaVu Sans");
  unicode-range: U+30-39;
}

还是宽的
图片

@TCOTC
Copy link
Contributor

TCOTC commented Nov 22, 2024

再试试这个:

:root {
  --b3-font-family: "Fonts Number", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Microsoft Yahei", sans-serif, "EmojiSymbols";
  --b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
}
@font-face {
  font-family: "Fonts Number";
  src: local("Helvetica Neue"),
       local("Luxi Sans"),
       local("DejaVu Sans"),
       local("Hiragino Sans GB"),
       local("Segoe UI"),
       local("Microsoft Yahei"),
       local("sans-serif");
  unicode-range: U+20, U+30-39, U+3000;
}

@TCOTC
Copy link
Contributor

TCOTC commented Nov 22, 2024

还有试试这个:

:root {
  --b3-font-family: "Partial Fonts", "Partial Emoji", "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Microsoft Yahei", sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji", "EmojiSymbols";
  --b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
}
@font-face {
  font-family: "Partial Fonts";
  src: local("Helvetica Neue"),
       local("Luxi Sans"),
       local("DejaVu Sans"),
       local("Hiragino Sans GB"),
       local("Segoe UI"),
       local("Microsoft Yahei"),
       local("sans-serif");
  unicode-range: U+20, U+30-39, U+3000;
}
@font-face {
  font-family: "Partial Emoji";
  src: local("Segoe UI Emoji"),
       local("Segoe UI Symbol"),
       local("Apple Color Emoji"),
       local("Twemoji Mozilla"),
       local("Noto Color Emoji"),
       local("Android Emoji"),
       local("EmojiSymbols");
  unicode-range: U+23, U+2A, U+30-39, U+A9, U+AE, U+203C, U+2049, U+2122, U+2139, U+2194-2199, U+21A9-21AA, U+231A-231B, U+2328, U+23CF, U+23E9-23F3, U+23F8-23FA, U+24C2, U+25AA-25AB, U+25B6, U+25C0, U+25FB-25FE, U+2600-2604, U+260E, U+2611, U+2614-2615, U+2618, U+261D, U+2620, U+2622-2623, U+2626, U+262A, U+262E-262F, U+2638-263A, U+2640, U+2642, U+2648-2653, U+265F-2660, U+2663, U+2665-2666, U+2668, U+267B, U+267E-267F, U+2692-2697, U+2699, U+269B-269C, U+26A0-26A1, U+26A7, U+26AA-26AB, U+26B0-26B1, U+26BD-26BE, U+26C4-26C5, U+26C8, U+26CE-26CF, U+26D1, U+26D3-26D4, U+26E9-26EA, U+26F0-26F5, U+26F7-26FA, U+26FD, U+2702, U+2705, U+2708-270D, U+270F, U+2712, U+2714, U+2716, U+271D, U+2721, U+2728, U+2733-2734, U+2744, U+2747, U+274C, U+274E, U+2753-2755, U+2757, U+2763-2764, U+2795-2797, U+27A1, U+27B0, U+27BF, U+2934-2935, U+2B05-2B07, U+2B1B-2B1C, U+2B50, U+2B55, U+3030, U+303D, U+3297, U+3299, U+E50A, U+1F004, U+1F0CF, U+1F170-1F171, U+1F17E-1F17F, U+1F18E, U+1F191-1F19A, U+1F1E6-1F1FF, U+1F201-1F202, U+1F21A, U+1F22F, U+1F232-1F23A, U+1F250-1F251, U+1F300-1F321, U+1F324-1F393, U+1F396-1F397, U+1F399-1F39B, U+1F39E-1F3F0, U+1F3F3-1F3F5, U+1F3F7-1F4FD, U+1F4FF-1F53D, U+1F549-1F54E, U+1F550-1F567, U+1F56F-1F570, U+1F573-1F57A, U+1F587, U+1F58A-1F58D, U+1F590, U+1F595-1F596, U+1F5A4-1F5A5, U+1F5A8, U+1F5B1-1F5B2, U+1F5BC, U+1F5C2-1F5C4, U+1F5D1-1F5D3, U+1F5DC-1F5DE, U+1F5E1, U+1F5E3, U+1F5E8, U+1F5EF, U+1F5F3, U+1F5FA-1F64F, U+1F680-1F6C5, U+1F6CB-1F6D2, U+1F6D5-1F6D7, U+1F6DC-1F6E5, U+1F6E9, U+1F6EB-1F6EC, U+1F6F0, U+1F6F3-1F6FC, U+1F7E0-1F7EB, U+1F7F0, U+1F90C-1F93A, U+1F93C-1F945, U+1F947-1F9FF, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants