Google Font字体本地化使用提高网站访问速度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google Font字体本地化使用提高网站访问速度相关的知识,希望对你有一定的参考价值。

Google Web font在国内经常不稳定,速度在国内延迟也很高,而引发网页打开速度慢。

一、常见的字体格式介绍

    不同的浏览器对字体格式支持是不一致的,常见的如下:

    1、TureTpe(.ttf):

    .ttf字体是Windows和Mac的最常见的字体,是一种RAW格式,因此他不为网站优化,支持这种字体的浏览器有【IE9+,Firefox3.5+,Chrome4+,Safari3+,Opera10+,ios Mobile Safari4.2+】;

    2、OpenType(.otf): 

    .otf字体被认为是一种原始的字体格式,其内置在TureType的基础上,所以也提供了更多的功能,支持这种字体的浏览器有【Firefox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,iOS Mobile Safari4.2+】;

    3、Web Open Font Format(.woff):

    .woff字体是Web字体中最佳格式,他是一个开放的TrueType/OpenType的压缩版本,同时也支持元数据包的分离,支持这种字体的浏览器有【IE9+,Firefox3.5+,Chrome6+,Safari3.6+,Opera11.1+】;

    4、Embedded Open Type(.eot):

    .eot字体是IE专用字体,可以从TrueType创建此格式字体,支持这种字体的浏览器有【IE4+】;

    5、SVG(.svg)格式:

    .svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有:
    【Chrome4+,Safari3.1+,Opera10.0+,iOS Mobile Safari3.2+】。

    所以,如果不考虑手机上的字体兼容,实际上只需要2种格式就好.

    (1)eot :用于兼容IE浏览器的字体格式
    (2)woff :其他非IE浏览器都已经兼容的字体格式

 

二、获取你所需要的google font的各类型字体格式


    一般来说,google font 只提供了字体的TTF格式,将你喜欢的google font的字体TTF下载下来。网上转换的工具很多,我们只要将TTF转换为上述的其他几种格式,比如eot,woff即可。

    http://www.fontsquirrel.com/fontface/generator在线转换它可以一次性的生成eot,woff.svg,ttf多种字体格式,而且还带有相应的CSS和html预览,非常方便。    

    转换完成后,将相关的字体上传到你的网站服务器,接下来,我们用@font-face的语法来调用他就可以了。

 

三、在你的CSS中使用@font-face,本地化使用google font。

基本语法网上说明很多,不多介绍了。来个实际例子:

@font-face {
    font-family: ‘open_sansregular‘;
    src: url(‘opensans.eot‘);
    src: url(‘opensans.eot?#iefix‘) format(‘embedded-opentype‘),
         url(‘opensans.woff2‘) format(‘woff2‘),
         url(‘opensans.woff‘) format(‘woff‘),
         url(‘opensans.ttf‘) format(‘truetype‘),
         url(‘opensans.svg#open_sansregular‘) format(‘svg‘);
    font-weight: normal;
    font-style: normal;
}
 

    在这里,通过@font-face,我自定义了一个名为的Tangerine-b字体,相关的eot,woff,ttf,svg字体格式上传在/font/目录下面。这里使用的是相对路径,当然你也可以使用绝对路径。

    离最后效果只差一步了,就是把自己定义的字体应用到你的Web中的DOM元素上,比如:

body {
  font-family: ‘open_sansregular‘
}

以上是关于Google Font字体本地化使用提高网站访问速度的主要内容,如果未能解决你的问题,请参考以下文章

@font-face处理网页中特殊字体

使用@font face 时在 QtWebEngine 中忽略 Google 字体 (ttf)

Flutter Widget - Font自定义字体(google_fonts)

下载 Google 字体以在本地运行

如何在网站上使用 Google 的 Roboto 字体?

Google Chrome 中的粗体字体模糊(@Font-Face)