四、字体与排版 Typography

Roboto和Noto是Android和Chrome的默认字体。

Roboto是Android的默认字体。Roboto字体没有完全支持所有语言。

Noto是一个包含所有语言的字体,它是Chrome的默认字体。

文本类型

  • 英文和类似英文的(例如拉丁文、希腊文和西里尔文)
  • 密集型(例如汉文、日文和韩文)
  • 高长型(南亚、东南亚和中东的语言)

应用栏
标题类型,Medium 20sp

按钮
英文:Medium 14sp,全部大写
密集型:Medium 15sp,全部大写
高长型:Bold 15sp

副标题
英语:Regular 16sp(移动设备),15sp(桌面端)
密集型:Regular 17sp(移动设备),16sp(桌面端)
高长型:Regular 17sp(移动设备),16s设备(桌面端)

正文(body)1
英文:Regular 14sp (移动设备),13sp (桌面端)
密集型:miRegular 15sp (移动设备),14sp (桌面端)
高长型:Regular 15sp (移动设备),14sp (桌面端)

文本对比度
最少:4.5:1
优先:7:1

语言分类(Language categorization)

可分为三类:
英文和类似英文:拉丁文(越南语除外)、希腊文和西里尔文,Roboto和Noto都支持。Roboto已经完全覆盖到在Unicode 7.0中已被定义的所有拉丁文、希腊文和西里尔文。目前被支持的文字数已经翻了一倍,从以前的版本中大约2000字到目前大约4000字。

文字高长型:这一类的语言需要更大的行距以适应更大的字形,这类文字的国家包括南亚、东南亚和中东地区(像阿拉伯文、印地文、泰卢固文、泰文、越南文)。Noto支持这些语言。

文字密集型:这一类语言也需要更大的行距以适应更大的字形,这类文字的国家包括中国、日本和韩国。Noto支持这些语言。
你可以在这里查看 完整列表 。

字体(Typeface)

Roboto
Roboto已经能够很好的支持跨平台运用。Roboto略有点宽和圆,这可以使它在平台上显示得更加清晰,这也是它能够被广泛运用的原因。

Roboto案例
Roboto字母 A-Z 和数字

Roboto字重
Roboto有六种粗细: Thin、Light、Regular、Medium、Bold 和 Black。

Roboto字体粗细

Noto
Noto的垂直度量与Roboto一致。

Noto字体:英语和CJK(汉文,日文和韩文)
Noto字体:泰文和印度文(梵文)

Noto字重
Noto中的CJK(中文,日文和韩文)有7种粗细: Thin、Light、DemiLight、Regular、Medium、Bold 和 Black。Regular粗细的Noto CJK字重与Roboto Regular相同。

Noto字体中CJK的粗细

Noto中泰文、梵文和所有其他主要生活语言都有Regular和Bold字重。

Noto字体中泰文和印度文(梵文)的粗细

Google font directory(A directory of open-source web fonts)

Hinted字体
字体hinting(也被成为instructing)是用来调整(扭曲)一个字形,以便在低分辨率屏幕中生成更加清晰的文本。但作为取舍,hinted字体要比unhinted版本消耗更多的空间。

所有的Roboto和Noto字体都有hinted版本和unhinted版本。在此,Google建议:
在 Android和Mac OS X系统上使用unhinted版本的字体,因为两者不支持hinted版本。
在 Chrome OS、Windows以及 Linux系统上使用hinted版本版本。

Font stack(字体堆叠,是CSS字体系列宣告中的一份字体清单)
对于Android和web属性,font stack应该先指定Roboto、Noto字体,然后再指定字体无衬线。

样式(Styles)

过多的使用字型和字体样式非常容易毁掉布局。网格可以帮助你更好的在有限的范围内进行文字排版。

在典型使用场景下,字型和字体样式能够平衡内容密度和阅读舒适度。字体的单位sp(安卓开发用的字体大小单位,scaleable pixels),它能让大型字号获得更好的 可访问性

英文和类似英文文本
拉丁文、希腊文和西里尔文。

基本样式是基于 12、14、16、20 和 34sp的字体进行排版的。

举例:陈列(Display)样式的使用
举例:标题(Headline)样式的使用

就构成因素来说,应用栏中出现的文本需要使用“标题”样式,Medium 20sp。

举例:标题(Title)样式的使用

在某些情况下, 使用较大的“副标题”样式而不是较小的“正文”样式。这些情况包括了信息以小片段的形式呈现或标题搭配了“正文”样式文本等。

举例:副标题(subheading)样式的使用
举例:正文(Body)的使用
举例:主体(Body)样式的使用

按钮样式(Medium 14sp,全部大写)适用于所有按钮。对于那些没有大写的语言,考虑使用有色文本使它们从普通文本中突显出来。

举例:按钮(Button) 样式的使用

密集型文字
中文、日文、韩文。

字重:Noto CJK文本有七种粗细,就像Roboto中的英语一样。

字体大小:对于需要大写的标题,可以使用比同等英文字体大1px的字体作为大写。对于字体大小大于标题字体的,英文类型的大小正合适。

举例:密集型语言
例子:日文,副标题
例子:日文,正文
例子:日文,正文1
例子:繁体中文,副标题
例子:繁体中文,正文
例子:繁体中文,正文1

高长型文字
南亚、东南亚和中东地区(像阿拉伯文、印地文,泰卢固文,泰文,越南文)

字重:使用Regular,因为Medium在Noto中不可用。Google建议不要使用Bold,因为从母语者反馈回来的信息表示Bold会显得字体太重。

字体大小:对于需要大写的标题,可以使用比同等英文字体大1px的字体作为大写。对于字体大小大于标题字体的,英文类型的大小正合适。

举例:高长型文字
举例:副标题(subheading)样式的使用,印地文
举例:正文(Body)样式的使用,印地文
举例:正文1(Body1)样式的使用,印地文
举例:副标题(subheading)样式的使用,泰文
举例:正文(Body)样式的使用,泰文
举例:正文1(Body1)样式的使用,泰文

行距

为了达到最佳的阅读效果和合适的间距,行高要根据每个字体的大小和粗细来决定。只有“正文”、“副标题”、“标题”和较小的文本类型中才允许换行。其它文本类型应以单行形式出现。

英文和类似英文文本

英文和类似英文的类型以及行距
对比的案例
个别例子-增加行高

密集型和高长型文字
对两类型的所有语言文字,其行高都要大于英语语言文字0.1em。英语及其类似语言一般只使用到em box中的一部分,通常是x-height下方的部分。但是如中文、日文和韩文(CJK)这样的象形文字就会用到整个em box。字体高的语言中通常会有降部或/和升部。为了CJK达到和英文一样设计目的-避免高长型字体因行高的原因出现被“剪掉”的现象,高长型字体的行高必须大于英语及其类似语言以及密集型语言(CJK)。

行高:密集型和高长型语言
行高的对比案例,泰文和印度文
行高的对比案例,中文和日文

其他排版指南

颜色&对比
文本颜色与背景颜色太像会导致用户很难阅读。但是,对比过于强烈的文本也会导致很难阅读。这一点在浅色文本与深色背景的组合上尤其明显。

要获得良好的辨识度,文本应当满足一个最低的对比度,也就是 4.5:1(依据亮度值计算)。其中,7:1的对比度是最适合阅读的。

这些色彩组合同样要考虑到用户对于不同文本对比度的不同反应。

浅色背景上的对比
深色背景上的对比
在图片上的对比
在插画上的对比

大号文字与动态类型
为了更好的用户体验,使用动态类型文本代替小号文本或允许进行省略的大号文本。

如果使用得当,大号文字会让应用显得更加有趣,更容易对页面布局进行区分,以及更有助于用户快速理解内容。

动态类型文字能使大号文字可以在文本允许长度未知的情况下显示在其范围之内。动态类型下文字的大小会根据可用空间和字体大小来选择排版模式。

动态类型的例子
动态类型的UI运用

换行
下图展示了换行的最佳案例:

可行

避免在一行中留下巨大空隙。尽量避免行的末端留下一个很短的单词(如介词)。换行之前要考虑好避免单词断字。

不可行

字间距

行的长度
Baymard的研究给了我们一些有关行的长度和文字可读性方面的建议:
“如果你想拥有良好的阅读体验,建议每行大约60个字符。每一行的适量字符数是保证文字可读性的关键因素。”
“太长——如果一行文本太长,用户的注意力会很难集中在文字阅读上。这是因为文本过长导致用户很难看清楚一句话的开头和结束在哪里。”
“太短——如果一行文本太短,眼睛需要经常来回观看(换行),这样会打破读者的阅读节奏。文本太短的话也会让人产生压力,会使他们还没读完当前行的文字就去读下一行的文字(因此会有潜在跳过重要词句的问题)”
来源: “Readability: the Optimal Line Length,”
baymard.com/blog/line-l…

英文正文每一行的理想长度。这些数字代表每一行的字符数。
英文短的文本行的理想长度。这些数字代表每一行的字符数。

语言类别参考

为了便于国际化,Google已将语言分为三个类别:英文和类似英文的、高长型的、密集型的。
英文和类似英文的:拉丁文(越南文外)、希腊文、西里尔文、希伯来文、亚美尼亚文和乔治亚文。

高长型的:此类文本需要更高的行高以适应更大的字形,这类文本包括南亚、东南亚和中东的语言,像阿拉伯文、印地文、泰卢固文、泰文、越南文。

密集型的:此类文本需要更高的行高以适应更大的字形,但与高长型的文字有着不同的标准。这类文字包括中文、日文和韩文。

2017 Material design 第三章第四节《字体与排版》相关推荐

  1. 2017 Material design 第三章第三节《图像》

    三.图像(Imagery) 图像不仅是一种装饰,它还是一种能够帮助用户理解以及区分你产品的强大工具. 大胆.形象.有意义的图像能够帮助你吸引用户. 无论气氛是压抑.柔和还是明亮.多彩,以下的设计准则以 ...

  2. 2017 Material design 第三章第一节《颜色》

    第三章节<样式> 一.颜色(Color) Material Design的色彩受大胆活泼的色调启发,并配合柔和的环境,阴影和高光组成. 颜色工具(Color Tool) 颜色工具可以帮助你 ...

  3. matlab 通过矩阵变换使图像旋转平移_数字图像处理|P11 第三章 第四节 图像的几何变换...

    第四节 几何变换 图像生成过程中,由于系统本身具有非线性或拍摄角度不同,会使生成的图像产生几何失真.几何失真一般分为系统失真和非系统失真,系统失真是有规律的.能预测的:非系统失真则是随机的.例如:(1 ...

  4. 初级会计实务--第三章第四节、应交税费

    第四节.应交税费 1.应交税费概述 2.应交增值税 是以商品再流转过程中实现的增值额作为计税依据而征收的一种流转税 六气两水油烟煤,三农饲料和化肥 图书报纸和杂志,音像电子二甲醚 交邮建筑不动产,电信 ...

  5. 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识...

    为什么80%的码农都做不了架构师?>>>    下拉更新.分享.阅读标识 本文配套视频地址: https://v.qq.com/x/page/h0554i4u5ob.html 开始前 ...

  6. 哈尔滨工业大学软件构造课程笔记第三章第四节

    3.4 面向对象的编程(OOP) 1. 基本概念:对象.类.属性和方法 对象 现实世界中的对象有两个共同特征:它们都有状态和行为. 识别现实对象的状态和行为是开始考虑面向对象编程的好方法. 对于你看到 ...

  7. 计算机网络离不开光缆,九年级物理全册 第二十一章 第四节 越来越宽的信息之路习题课件 新人教版.ppt...

    九年级物理全册 第二十一章 第四节 越来越宽的信息之路习题课件 新人教版.ppt 第二十一章信息的传递,第四节越来越宽的信息之路,1微波的性质更接近光波,大致沿_______传播,需要每隔_____k ...

  8. 传热学环肋肋效率matlab程序,传热学 第二章第四节 通过肋片的导热.pdf

    传热学 第二章第四节 通过肋片的导热 第四节 通过肋片的导热 第二章 导热基本定律及稳态导热 传热 学 第一节 导热基本定律 (Heat Transfer ) 第二节 导热微分方程式 (Heat Tr ...

  9. 第四章第四节数据资产盘点-数据资产梳理

    第四章第四节数据资产盘点-数据资产梳理 在完成业务价值链.数据场景梳理后,盘点业务流程环节中产生的重要数据 ,仍以贷款为例,如图所示: 比如在授信业务节点会产生客户信息和授信合同信息等数据快,这个业务 ...

  10. 第二章 第四节:替换和切割

    Python基础入门(全套保姆级教程) 第二章 第四节:替换和切割 strip() 去掉字符串左右两端的空白符(空格, \t, \n) s = " 你好, 我叫 周杰伦 " s1 ...

最新文章

  1. 密码篇——对称加密—AES
  2. sql server schema下拉不到存储过程_mysql数据库字符编码总结--数据存储编码
  3. 转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
  4. Vue绑定数据v-bind缩写:字段名 双向绑定v-model缩写:model 监听动作v-on缩写@ 记住:与数据相关用冒号 与动作相关用@
  5. 怎么让电脑不自动休眠_【平安惠阳提醒您】电脑应设置自动休眠 避免产生火灾隐患...
  6. SAP Spartacus app module注入config module的过程
  7. 开发人员如何成为架构师
  8. PHP在线SEO文章伪原创同义词交换工具源码
  9. LoadRunner解决“服务器正在运行中”方法
  10. 每日小记2017.9.4
  11. 中心极限与大数定理律的关系_多元函数的极限、连续性分析
  12. [机器学习] focal loss:解决样本不平衡的一种通用方案
  13. php 卷积神经网络,PyTorch上实现卷积神经网络CNN的方法
  14. Charles抓包工具的破解以及使用
  15. 计算机专业暑假实践心得7篇,计算机专业实习周记总结10篇
  16. MySQL的子查询(二十)
  17. linux统计文本每列的最大字符,Linux 文本处理,文本工具,查看,分析,统计文本文件,grep,正则表达式...
  18. mysql引用表无效列_Mysql使用索引可能失效的场景
  19. 更新驱动后重启黑屏且进不了bios时的一个解决办法
  20. 使用Encoder-Decoder模型自动生成对联的思路

热门文章

  1. JLU数据结构第二次上机实验解题报告
  2. 开发工具篇 程序员计算器
  3. android sdk根目录,Android SDK位置
  4. GitGithub 视频教程(Java版)
  5. ios查看帧率的软件_查看iOS屏幕帧数MGFPSStatus
  6. CMMI认证适用的行业范围
  7. python三菱modbus解密_Modbus PLC攻击分析:Python和Mbtget读写PLC
  8. Excel导入SQLserver数据长度过长导入失败
  9. 计算机软件行业各职位英文缩写
  10. 分析和比较ABAQUS、MARC、Adina、ANSYS三种CAE软件