美文网首页
iOS文字排版概念(字符和字形)

iOS文字排版概念(字符和字形)

作者: 丶丶夏天 | 来源:发表于2020-04-15 17:58 被阅读0次

1.术语解释:

系统api中使用了很多术语,这里做一下解释:

字符(Characters) 和字形(Glyphs)

字符(Characters)很好理解,一个字母数字汉字加减符号等
字形(Glyphs):就是指一个字符可以表现为不同的样子,比如下图,就是指字符A的不同字形



字符和字形不是一一对应的,有时候一个字形是由2个字符组成,比如:
字形e +字形 ´ = 字符é
又或者2个f字符形成一个字形,如下图:


image.png
字符到显示的字形是由布局管理器( layout manager )来处理的,布局管理器选择显示哪种字形,以及显示在什么位置,还提供了字符和字形之间转换的方法,以及字符和视图坐标之间转换的方法。

2.文本布局Text Layout

文本布局就是把字形排列在显示屏上的过程,大部分语言都是从左到右,从上到下排列,但是有时候可能需要从上往下排列,或者围绕图片周围排列.
换行: 在文本系统中,可以在单词或字形边界处指定换行符
布局管理器沿着(基线)baseline排列视图,如下图


Glyph metrics

大多数字形都在基线上方,少数会延伸到基线下面去,每个字形都包含一个原点(Origin,图中的实心黑色点),布局系统是根据字形的Origin让它与基线对齐的.
图中的Advance width那个白点就是下一个字形的原点(Origin)
大多数情况下,字形都是一个一个这么排列下去的,每个字形中间的空隙相等,但是有时候这样看起来不美观,比如下图:



第2行为字形间距相等,看起来WAVE单词分的"太开"了,所以就在某些字形之间缩小了间距如第一行.当然如果不需要这种字距调整也可以关闭它,系统提供了对应的方法
字体系统通常以磅(point)来表示字体的大小,在大多数计算机系统中,72磅=1英寸.
字体系统排行时在2行之间加的space成为leading(有时候也叫linegap)所以:行高lineHeight = Ascent+Descent+Line Gap(leading),(似乎和传统金属排版有关),如下图: image.png

相关文章

  • iOS文字排版概念(字符和字形)

    1.术语解释: 系统api中使用了很多术语,这里做一下解释: 字符(Characters) 和字形(Glyphs)...

  • 文字排版入门—— 排版基础、CoreText和图文混排

    一、排版概念 1、Characters and Glyphs(字符和字形) 字符是文字的最小单元,以这段文字为例,...

  • 文字排版—— 排版基础、CoreText和图文混排

    一、排版概念 1、Characters and Glyphs(字符和字形) 字符是文字的最小单元,以这段文字为例,...

  • CoreText 简单了解

    1、 排版的一些基础知识 1.1、字符(Character)和字形(Glyphs) 1.1.1、概念 文本显示的主...

  • CTLine

    准备知识 字符(Character)和字形(Glyphs):排版过程中一个重要的步骤就是从字符到字形的转换,字符表...

  • CoreText(一) 准备知识

    字形(Character)和字符(Glyphs) 排版系统中文本显示的一个重要的过程就是字符到字形的转换,字符是信...

  • iOS 排版概念

    字符和标志符号(character和glyph) 字符是书面语言中带有意义的最小的单位,它可以对应语言中可读形式的...

  • iOS富文本(NSAttributedString)

    参考iOS中关于AttributedString的那些事儿iOS 7中文字排版和渲染引擎——Text Kit 富文...

  • CoreGraphics绘图的理解

    一、概念原理 具体的字符和字形的解释可以参考:https://blog.csdn.net/fengsh998/ar...

  • 资料篇

    参考资料 官方文档iOS文字排版(CoreText)那些事儿IOS CoreText.framework --- ...

网友评论

      本文标题:iOS文字排版概念(字符和字形)

      本文链接:https://www.haomeiwen.com/subject/sjvcvhtx.html