在桌面软件(如MS WORD)中,为了使用BOLD或ITALICS样式作为unicode字体,我们必须安装单独的文件:
MyFont.ttf
MyFont-Bold.ttf
MyFont-Italics.ttf
.....
但是在CSS中,我们只需要只有.ttf文件,浏览器本身就可以做BOLD / ITALICS。所以,我的问题是 - 浏览器如何创建"那些样式没有专门为BOLD和ITALICS提供文件?或者桌面应用和浏览器之间的区别是什么?或者为什么...bold.ttf
和...italics.ttf
文件存在,并且根本没有整合到主ttf
文件中?
答案 0 :(得分:1)
当字体没有自己的粗体和斜体字体时,浏览器有自己的人造粗体和斜体算法来模拟粗体和斜体。而且它们并不是唯一带有人造粗体和斜体的应用程序 - 像Photoshop这样的图像编辑应用程序也有它们。
字体带有自己的粗体和斜体字体的原因是因为变体字形通常对每种字体都是唯一的,并且无法通过浏览器进行准确模拟。例如,虚假斜体算法只是将字形倾斜为倾斜样式而不是实际斜体。由于这个原因,即使在实际almost no typefaces actually provide both variants anyway中,CSS也会将italic
和oblique
定义为font-style
属性的值。
字体的粗体和斜体变体存储在单独的字体文件中的原因是因为这就是文件格式在开始时的设计方式。 TrueType 提供.ttc
文件格式,代表TrueType Collection,它将多种字体组合到一个文件中。但由于@font-face
规则设计为一次只能使用一种字体,.ttc
文件无法与其一起使用。