在开发Mindia 主题的时候,为了弄出相对好看的中文排版,特意补习了下中文排版的font-family 字体选择的相关资料。以下就从自己的角度说下自己的不算得上是收获的收获吧。

众所周知,由于Windows 与其他平台(Mac、Linux)的不通用性,字体渲染等问题导致在面对中文用户的时候不得不多重考虑;加之中文字体相对于英文字体目前仍然无法采用webfont形式的劣势以及目前移动设备的盛行,使得我们在大呼坑爹的同时不得不忍受并适应之。但什么样的环境就有不同的适应法则,对于小小的font-family 字体,极力用好当前资源才是王道,并在其他方面提高用户体验的不足。

老掉牙的东西

在进入正文之前,一些font-family 的旧知识(规则)还是要复习下几点,比如说:

1、中文字体有英文的名称,但建议是中英文名称都写上。比如说微软雅黑英文名为“Microsoft YaHei”,实际时候只写英文名称即可,但保险之策是中英文名称也写上,如:

font-family: Arial, "Microsoft YaHei", "微软雅黑", sans-serif;

font-family: Arial, "Microsoft YaHei", "微软雅黑", sans-serif;

2、写font-family 时候英文字体要写在中文字体前面。这个应该是知道的了,但鄙人认为,如果面对的是Windows用户为主的话,其实微软雅黑也可以直接写在前头,因为微软雅黑本身有相应的英文字符。

3、向下兼容,优雅降级

这个就熟悉的Windows来说吧,现在主流应该是Windows7 ,但还有不少用户用着宋体为主流的Windows xp,那么考虑到这点,SimSun, "宋体" 还是有必要的。

各平台的主流字体支持情况

各系统的默认字体和常用字体:

系统

默认西文字体

默认中文字体

其他常用西文字体

其他常用中文字体

Windows

宋体

宋体

Tahoma、Arial、Verdana、Georgia

微软雅黑、黑体

Android 4.0以下

Droid Sans

Droid Sans Fallback

Arial

无宋体、无微软雅黑

Android 4.0及以上

Roboto

Roboto

Arial

无宋体、无微软雅黑

iOS

Helvetica Neue

Heiti SC (黑体)

Tahoma(v7.0)、Arial、Verdana、Georgia

STHeiti(v7.0)、无宋体、无微软雅黑

Mac OS X 10.6以下

Helvetica Neue

STHeiti (华文黑体)

Tahoma、Arial、Verdana、Georgia

宋体、无微软雅黑

Mac OS X 10.6及以上

Helvetica Neue

Hiragino Sans GB  (冬青黑体简体中文)

Tahoma、Arial、Verdana、Georgia

宋体、无微软雅黑

各移动设备系统支持情况:

五大类字体

安卓4.0

IOS6.0

WP8

sans-serif(无衬线)

支持

支持

支持

serif(衬线)

支持

支持

支持

monospace(等宽)

支持

支持

支持

fantasy(梦幻)

不支持

支持

不支持

cuisive(草体)

不支持

不支持

不支持

当然目前这只是移动设备各系统的支持情况,然而pc端个浏览器的支持情况也各不相同,如:

五大类字体

IE系列

Chrome

Firefox

sans-serif(无衬线)

支持

不支持

不支持

serif(衬线)

支持

支持

支持

monospace(等宽)

支持

支持

支持

fantasy(梦幻)

支持

支持

支持

cuisive(草体)

不支持

不支持

不支持

上结论

废话就不做分析了,结合参考资料,给出我目前在用的font-family 代码吧,不一定最好,欢迎赐教。

下面非全局定义,而是针对特殊div 下的个性化定义:

/*微软雅黑*/

.yahei{font-family: 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', sans-serif!important}

/*宋体*/

.songti{font-family: "Helvetica Neue", Helvetica,"Songti SC", "SimSun", serif!important}

/*楷体*/

.kaiti{font-family: "Helvetica Neue", Helvetica, "KaiTi", "楷体", "STKaiti", "华文楷体", serif!important}

/*华文仿宋*/

.fangsong{font-family: "Times New Roman", "Helvetica Neue", Helvetica, "FangSong", "仿宋", "STFangSong", "华文仿宋", serif!important}

/*微软雅黑*/

.yahei{font-family: 'Microsoft Yahei', 'Hiragino Sans GB', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', sans-serif!important}

/*宋体*/

.songti{font-family: "Helvetica Neue", Helvetica,"Songti SC", "SimSun", serif!important}

/*楷体*/

.kaiti{font-family: "Helvetica Neue", Helvetica, "KaiTi", "楷体", "STKaiti", "华文楷体", serif!important}

/*华文仿宋*/

.fangsong{font-family: "Times New Roman", "Helvetica Neue", Helvetica, "FangSong", "仿宋", "STFangSong", "华文仿宋", serif!important}

如果是用于全局项目中,那么可能会有所不同,这里直接引用参考资料的代码:

/*移动端项目*/

font-family:Tahoma,Arial,Roboto,”Droid Sans”,”Helvetica Neue”,”Droid Sans Fallback”,”Heiti SC”,sans-self;

/*pc端(含Mac)项目*/

font-family:Tahoma,Arial,”Helvetica Neue“,”Hiragino Sans GB”,Simsun,sans-self;

/*移动和pc端项目*/

font-family:Tahoma,Arial,Roboto,”Droid Sans”,”Helvetica Neue”,”Droid Sans Fallback”,”Heiti SC”,”Hiragino Sans GB”,Simsun,sans-self;

/*移动端项目*/

font-family:Tahoma,Arial,Roboto,”Droid Sans”,”Helvetica Neue”,”Droid Sans Fallback”,”Heiti SC”,sans-self;

/*pc端(含Mac)项目*/

font-family:Tahoma,Arial,”Helvetica Neue“,”Hiragino Sans GB”,Simsun,sans-self;

/*移动和pc端项目*/

font-family:Tahoma,Arial,Roboto,”Droid Sans”,”Helvetica Neue”,”Droid Sans Fallback”,”Heiti SC”,”Hiragino Sans GB”,Simsun,sans-self;

当然,如何排布font-family 根本是看需求是什么,这个仅仅是作为参考。

参考资料:

https://ruby-china.org/topics/14005

http://ued.ctrip.com/blog/?p=3589

http://typo.sofi.sh/

http://www.ruanyifeng.com/blog/2014/07/chinese_fonts.html

http://www.kendraschaefer.com/2012/06/chinese-standard-web-fonts-the-ultimate-guide-to-css-font-family-declarations-for-web-design-in-simplified-chinese/

html fontfamily ios,小谈中文环境下中文排版的font-family 字体选择相关推荐

  1. Latex 环境下“中文字体”的使用

    Latex 环境下"中文字体"的使用 使用CTex自带编辑器WinEdt,在该环境下如何使用中文字体呢?作为一个菜鸟,折腾了好几天,最终基本解决了这个问题.现在整理下,分享给后来者 ...

  2. 分析:windows下cmd默认的编码是ASCII编码 ,windows的中文环境下编码是GBK 方法一:在保存输出流保存的时候做一个对文字GBK编码,在输出到文件 如下 [python] view

    分析:windows下cmd默认的编码是ASCII编码 ,windows的中文环境下编码是GBK 方法一:在保存输出流保存的时候做一个对文字GBK编码,在输出到文件 如下 [python] view ...

  3. 计算机辅助审计的特点是,浅谈新环境下计算机辅助审计的特点和应用_1

    浅谈新环境下计算机辅助审计的特点和应用_1 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 24.90 积分 从本学科出发,应着重选对国民经济具有一定 ...

  4. 每天一个脱发小技巧 | Eclipse环境下spotbugs的安装配置和详细使用方法

    每天一个脱发小技巧 | Eclipse环境下spotbugs的安装配置和详细使用方法 SpotBugs介绍 Eclipse环境下SpotBugs安装 SpotBugs的使用 其他 SpotBugs介绍 ...

  5. Jetson 配置中文环境,中文输入法,安装QQ

    一.配置中文环境,中文输入法 1. 打开终端:sudo apt-get install fcitx-googlepinyin -y 2.打开设置 找到语言支持(Language Suppor) 2.1 ...

  6. 英文环境下中文输入法的设置

    英文环境下使用ibus输入法 centos安装的时候已经选择了中文支持,输入法也已经安装,但在英文环境下面竟然无法使用中文输入法,解决办法记录于此, 1.安装ibus(centos6以后已经默认安装) ...

  7. aix系统java堆_浅谈AIX环境下的Java性能调优

    1.什么是Java Java 是一种面向对象的编程语言.它以 C++ 为模型,被设计成小的.简单的.在源和二进制级别跨平台的可移植的语言,Java 程序(applets 和应用程序)可以运行于任何已经 ...

  8. Ubuntu 14.04 LTS 英文环境下中文字体修改

    Ubuntu 英文环境下,如果设定地区为中国,会自动下载文鼎的楷体和明体(宋体)(/usr/share/fonts/truetype/arphic),对于电子屏幕阅读来说非常糟糕,特别是在浏览器中.本 ...

  9. 浅谈node环境下的Sass以及gulp工具下的Sass

    目录 一.Sass简介 二.Sass的解析器 1. node环境下的Sass解析器 2. gulp工具下的Sass解析器 三.Sass语法 1. 注释 2. 变量 3.嵌套 4.导入@import 5 ...

最新文章

  1. IE6 式样表 Bug
  2. 横线登记式明细分类账
  3. 【机器学习】4 款超级棒的模型可解释性工具包,总有一款适合你!
  4. 微信小程序 子组件调用父组件方法
  5. element-ui Notification重叠问题,原因及解决办法
  6. 2020牛客多校第1场I-1 or 2一般图最大匹配带花树
  7. matlab文件序号超出511,求教一段matlab的代码 - 数学 - 小木虫 - 学术 科研 互动社区...
  8. mysql 日期和时间类型
  9. 法拉利杀手Koenigsegg CCX
  10. junos的配置文件备份和恢复
  11. MAC本地修改mysql数据库密码
  12. 全国勘察设计注册暖通空调工程师专业基础考试大纲(送审稿)
  13. WIN10专业版64位21H2正式版19044.1826
  14. R中五种常用的统计分析方法
  15. Markdown数学公式语法、常用符号与字体
  16. day26_安卓基础之之Android介绍与入门
  17. Linux下,为应用程序添加桌面图标(ubuntu18.4)
  18. 干货!JVM 基础面试题总结(持续更新)
  19. 悉尼大学教授陶大程加入京东,出任京东探索研究院院长
  20. 阻容感基础05:电容器原理(2)-电容器参数

热门文章

  1. java 动态导出word文档 文档合并分页,浏览器下载,生成,动态表格,加图片
  2. SpringBoot+Vue+OpenLayers6完成前后端分离的“疫情地图”实战项目(一、地图数据处理及代码托管)
  3. 儿童编程机器人比赛有哪些?对孩子有什么帮助?
  4. 全国计算机技术与软件专业技术资格(水平)考试报名时间 上半年2023年3月13日开始,下半年2023年8月14日开始
  5. 已解决:联想G480安装win10反复出现rtsuvc.sys蓝屏(亲测有效)
  6. 数据结构课--并查集(标号法)
  7. (win10)anaconda虚拟环境中安装特定版本cuda+tensorflow+pytorch+pycharm
  8. lightroom使用小结一 导入和优化设置
  9. python豆瓣历史评分_基于Python的豆瓣电影评分查询器
  10. Eclipse配置Tomcat以及使用Tomcat启动项目