技术解析

Ubuntu 18.04 没有装宋体, chrome 为什么会显示宋体?
0
2021-06-22 11:46:42
idczone
系统里并没有宋体,simsun,但是访问新浪显示的还是宋体。有什么办法强制不用宋体显示吗?习惯 Arial 显示中文。在 css 里也没看到有 @font-face 啊
网站可以使用自己的字体

印象中 Firefox 有禁止网页使用自己的字体的选项,去查查 Chrome 有没有这个设置吧。

我记得我刚装完 mint cinnamon 还有以前很早的时候,打开网页都是仿宋,贼文艺

chrome://settings/fonts
设置下这个,或者装个 stylus 强制指定样式表

可能是思源宋体?

https://s1.ax1x.com/2018/08/22/Po1mN9.png

我设置过 customized 字体。我也试过安装那个扩展,设置中文下的字体,但是都不起作用。ubuntu 16.04 的时候就是直接 fallback 到 arial。不知道目前的宋体是哪里来的。
fc-list :lang:zh 列出的没有宋体。
网站使用自己的字体要在 css 里写 吧。但是我没有搜到 @font-face。

@rolitter
![Screenshot from 2018-08-22 12-44-16.png]( https://i.loli.net/2018/08/22/5b7cce2b4d5a0.png)

你做过什么特殊的设置吗?

Ubuntu 18.04.1
chrome 68
无法复现

装了文鼎宋体 uming ?

设置自定义字体,
https://s1.ax1x.com/2018/08/22/Po0EDA.png
https://s1.ax1x.com/2018/08/22/Po0mUP.png
https://s1.ax1x.com/2018/08/22/Po0aCT.png
效果图
https://s1.ax1x.com/2018/08/22/Po0N5V.md.png

https://greasyfork.org/zh-CN/scripts/29501-%E5%BC%BA%E5%88%B6%E4%BD%BF%E7%94%A8%E6%80%9D%E6%BA%90%E9%BB%91%E4%BD%93
直接用这个强制所有网页使用某个字体,不想用思源黑体可以把里面的"Source Han Sans"改成别的字体

我设置了自定义字体。但是不起作用。我字体设置的都是 Noto Sans CJK SC。等宽是 source code pro。百度和 v2 都是正常的,就是新浪不正常,所以很奇怪

难道不是因为 web-font ?
不是说现在 chrome firefox 等等的可以自己下载对应的 font ?

如果 Ubuntu 上装了个收费字体,你用这个字体强行打开百度,那百度是否构成侵权?


新浪少一行 lang="zh-CN" 是否有影响?

这个是 linux 默认的中文字体,和 simsun 没有关系

没看到有宋体啊

楼主图里的不是宋体,而是“某种宋体”,真正宋体见下图;且:
Chrome 等的自定义字体只定义 serif/sans-serif,如果有别的在前面且可用就不生效。
https://i.loli.net/2018/08/22/5b7d40f21454a.png

是思源宋體,Noto Serif CJK (Ubuntu 預裝)/ Source Han Serif,並不是 Simsun。
但我也不盡清楚為什麼
font:12px/1.3 Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;
會回退到思源宋體。
Ubuntu 沒有蘋方-簡、冬青黑體簡體中文、微软雅黑、文泉驿微米黑這 4 個中文字型,請檢查 chrome://settings/fonts 下「 Sans-serif 字型」的設定。

1. Arial 是西文字体,不支持中文字符集,是无法显示中文的。
2. 看字体不能光看 CSS 怎么写的,实际渲染时,以“ Computed ” Tab 页下面的“ Rendered Fonts ”为准,随手搜了一张图 https://i.stack.imgur.com/mNDYD.png
2. 新浪首页的字体设置“"SimSun","宋体","Arial Narrow",HELVETICA;”写得比较迷(中文衬线体搭配西文非衬线体),Linux 上实际渲染看浏览器字体设置和操作系统字体设置。
PS 中易宋体(即"SimSun","宋体")中包含了西文字符,将中文字体写在西文字体前,后者大概率不会生效。如果系统中不包含中易宋体,会回退为浏览器设置的字体。由于新浪首页的字体设置没有指明使用衬线体( serif )还是非衬线体( sans-serif ),以 Chrome 为例,会按照其中设置的“标准字体”展示。如果 Chrome 的“标准字体”设置为西文字体,那会回退为操作系统的字体设置。

多谢。以前不知道要看 Rendered Fonts。我试过修改 /etc/fonts/conf.d/里的配置文件,把衬线体全改成非衬线体,但是好像不起作用。我按你说的,查看 Rendered Fonts,发现是 Noto Serif。我把 Noto Serif CJK 删除,直接从 google 那里下载一个 Noto San SC,装在 home 下,现在终于摆脱衬线体了。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服