计算机上显示文字是不是必须要有对应的字体 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pp22
V2EX    问与答

计算机上显示文字是不是必须要有对应的字体

  •  
  •   pp22 2020-12-20 20:39:24 +08:00 via Android 2428 次点击
    这是一个创建于 1833 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如我在手机或电脑上打开一个日语或韩语网站,可以正常显示,是不是因为我的系统(比如简体中文 Windows 系统)里已经有对应日语和韩语的字体了,假如我把相关的字体删掉,是不是无论在什么软件上,不管是浏览器还是文本编辑器里都无法正常显示对应的文字了,纯好奇,了解的人解答一下呗
    第 1 条附言    2020-12-21 17:14:02 +08:00
    看了大家的回复,我的理解大概是这样的,如果我可以在系统正常查看一个某种语言的纯文本文件,可以大概判定系统已经内置了对应语言的字体,因为中文字体也可以显示部分日语韩语文字。而网页是可以自带字体的,所以无法通过浏览网页准确判断。据我所知,英文这类字符数量不多的语言网页上完全可以自带字体,而中文字符数量太大,目前应该没有类似英文一样的网页字体,但是可以只把网页字体用到的字符做成网页字体,这样一来的话,即便系统没有中文字体,网页也可以通过自带字体正常显示用到的中文字符,这种情况应该很少吧。
    19 条回复    2020-12-23 17:10:07 +08:00
    natashahollyz
        1
    natashahollyz  
       2020-12-20 20:54:47 +08:00 via iPhone
    删除了还会有默认字体的。
    如果你的意思是全删掉(能不能删另说),那应该都是乱码 /小方块了
    SuperMild
        2
    SuperMild  
       2020-12-20 21:23:03 +08:00
    没错,很多年前我安装 linux 时就体验过,不装中文字体时,浏览器显示中文就是方框(现在的主流 linux 发行版可能会自动安装中文字体)。

    另外网页也能内嵌字体,只是比较少见(但也不罕见)。

    英文字体能不能彻底删除我就不知道了。
    Jirajine
        3
    Jirajine  
       2020-12-20 21:25:30 +08:00 via Android
    这样的字体很可能是通用的多语言字体 如 noto-cjk 。
    lxilu
        4
    lxilu  
       2020-12-20 23:21:00 +08:00 via iPhone
    那你这叫(当代)操作系统上
    muooOOO
        5
    muooOOO  
       2020-12-20 23:29:33 +08:00 via Android
    现在系统内是不是有个叫字符点阵的东西?就是一个大数组,每一个元素表示在一个方格内像素点的亮灭,从而显示一个字符。字符编码用来索引这个数组的元素
    raaaaaar
        6
    raaaaaar  
       2020-12-20 23:38:30 +08:00 via Android
    了解下字符编码和字符渲染
    systemcall
        7
    systemcall  
       2020-12-21 01:20:24 +08:00 via Android
    是的
    现在的 Unicode 字体,简中的字体显示日语和韩语一般是可以显示的,字形有些问题而且部分字不能正常显示而已,你反过来是一样的
    你要是想办法把中文、日语、汉语的字体全干掉,看到的都是框。如果再进一步把处理 Unicode 的东西干掉,还能用的话遇到中文就全是乱的
    systemcall
        8
    systemcall  
       2020-12-21 01:26:17 +08:00 via Android
    @muooOOO 现在是 truetype 和 opentype
    存储的是矢量的字形信息,部分字号还有 hinting,比如微软雅黑常用的那些字号,仔细看的话,特别是小的字号,经常会特地缺一些笔画,来提高显示效果
    点阵确实有,不过现在 Windows 连开机的时候都开始用 True Type 了,想不出来 Windows 哪里还在用点阵
    Windows 早期的版本不会带多少字体,对 Unicode 的支持也不好。但是现在这几年,自带的字体可以比较好的显示出来大部分语言,iOS 、安卓、macos 也是
    Goldilocks
        9
    Goldilocks  
       2020-12-21 09:16:05 +08:00 via Android
    如你所说,是这样。
    比如,英文版的 win10 就不能正常显示汉字,完全的一团糟
    baobao1270
        10
    baobao1270  
       2020-12-21 10:08:28 +08:00 via Android   1
    如果网页自带字体文件,则使用之
    如果没有,则使用系统字体
    如果系统没有该字体,则系统使用 Fallback 字体
    如果 Fallback 失败,则显示 Tofu
    pp22
        11
    pp22  
    OP
       2020-12-21 16:48:55 +08:00 via Android
    @Goldilocks 那岂不是不能浏览其他语言的网页了,比如日语,中文,我以为系统会内置很多语言的字体,以保证正常显示不同国家地区的文字
    pp22
        12
    pp22  
    OP
       2020-12-21 16:58:18 +08:00 via Android
    @baobao1270 你的回答简单明了,我还想知道的一点是,现在的系统比如 Windows 和安卓,是不是内置了很多不同语言的字体,以保证正常显示不同的语言文字,比如我是简体中文的 Windows 系统,不额外安装任何字体,也可以正常看日语之类的其他语言的网页或文档,但是上面有人说英文版系统无法正常显示中文,貌似我的猜想也不对,那看来不同的语言版本的 Windows 内置字体不一样,那美国的英文版 Windows 一般情况下是不是看不了中文日语的网页
    baobao1270
        13
    baobao1270  
       2020-12-21 20:43:39 +08:00
    @pp22 中文版和英文版的 Windows 包含的字体是不一样的。我记得有一个版本的中文版 Winows 10 比英文版大了 2GB,估计里面就有很多中文特有的字体等。因此,英文版 Windows 不装字体的话,是无法看中文、日语、韩语网页的。

    而中文、日文、韩文统称 CJK,一般这三种语言由于包含了大量汉字,因此会在做一套字体的时候同时做。比如微软雅黑,就包括 SC(简体中文)、TC(繁体中文)、JP(日本汉字、平假名、片假名)、KR(韩文) 等。因此,中文、日文的操作系统,都可以看中文、英文、日文、韩文的网页而无需安装字体。

    现在在 Windows 10 中添加字体也很方便,无需自己寻找字体,可以直接通过 Windows 更新的可选更新进行安装,有时 Windows 也会自动安装全部的 Unicode 字体。

    需要注意的是,同一操作系统上同一个字体的同一个字,在系统区域设置不同时,也会有所区别。
    如 `<span lang="zh-CN" style="font-family: Microsoft YaHei">取</span>` 和`<span lang="ja-JP" style="font-family: Microsoft YaHei">取</span>` 在同一系统、统一网页上的显示也是不同的。一般来说 zh-CN 的笔画有粗细、有变体、锋芒有力,而 ja-JP 则更加横平竖直、水桶圆润。
    baobao1270
        14
    baobao1270  
       2020-12-21 20:50:11 +08:00
    Append 中 [而中文字符数量太大,目前应该没有类似英文一样的网页字体] 本身不对。
    首先要知道的是,目前并没有任何一个字体把所有汉字都做出来,因为汉字本身没有字母表,古人又随便造字,有的字可能现在都不用了。最全的应该是把 Unicode 里的汉字全部做了出来。
    第一,有的网站真的把一个完整的中文字体嵌入网页。当然,这对带宽需求较大,也会拖慢网页加载速度。
    第二,有的中文字体不到 500KB,如丁卯点阵体,包括了 3000 个常用汉字的繁简体、日语、拉丁字母、希腊字母等,完全可以嵌入网页。
    pp22
        15
    pp22  
    OP
       2020-12-21 23:08:43 +08:00 via Android
    @baobao1270 学习了,你对这方面了解很深啊,是从事相关工作的吗
    baobao1270
        16
    baobao1270  
       2020-12-21 23:52:23 +08:00
    @pp22 并不是。我只是个学生,因为兴趣有些研究罢了。
    pp22
        17
    pp22  
    OP
       2020-12-22 16:55:24 +08:00 via Android
    @baobao1270 厉害了,V2 上牛人挺多啊,应该上大学吧
    baobao1270
        18
    baobao1270  
       2020-12-23 00:05:57 +08:00
    @pp22 不敢当不敢当,本科而已。这些知识也没啥用,权当消遣时间研究的。
    pp22
        19
    pp22  
    OP
       2020-12-23 17:10:07 +08:00 via Android
    @baobao1270 我来问这个问题也是满足自己好奇心,要说用处好像是没什么用处,不过肯花时间了解这些的多少有些探索精神,挺值得肯定的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2664 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:07 PVG 17:07 LAX 01:07 JFK 04:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86