网站推广的方法和途径WordPress如何设置seo关键词
网站推广的方法和途径,WordPress如何设置seo关键词,上海企业网站优化公司,想看外国的网站怎么做垦老偻趾什么是Character#xff1f;什么是Glyph#xff1f;Character和Glyph是否一一对应#xff1f;我们常说的Font又包含哪些东西#xff1f;如果要自己实现一套文本的分词、测量和布局#xff0c;又需要理清楚哪些概念#xff1f;ascent、descent、lineHeight之间的关…垦老偻趾什么是Character什么是GlyphCharacter和Glyph是否一一对应我们常说的Font又包含哪些东西如果要自己实现一套文本的分词、测量和布局又需要理清楚哪些概念ascent、descent、lineHeight之间的关系是怎么样的本文将尽量以简洁易懂的方式来解释以上问题也可以提前Mark起来作为日后的速查手册。二、CharacterCharacter也叫字符是一个抽象概念比如字母A、中文你等都可以视为一个字符它只是一个语义单位不关心具体长什么样。三、GlpyhGlpyh也叫字形表示字符的绘制方式一个字符可以有多种方式绘制比如字母A可以有不同的大小、粗细、斜体、衬线等但都是同一个字符这些不同的绘制方式都叫字形。在这里插入图片描述3.1 Character与Glyph的关系字符与字形并非一一对应关系一个字符可以由多个字形表示比如é可以是e和重音符号′的组合在一些连字情况下一个字形也可以代表多个字符如下在这里插入图片描述四、Font4.1 Typeface指一套具有统一设计风格的Font集合它是一种设计概念而不是具体的文件4.2 FontFont可以理解成Typeface的某个具体实现。以Helvetica为例TypefaceHelveticaFontHelvetica Regular.ttfHelvetica Bold.ttfHelvetica Italic.ttfHelvetica Bold Italic.ttf4.3 Font FamilyFont Family是一组属于同一个Typeface的字体Fonts它们共享设计风格只是字重/宽度/样式不同。比如Helvetica是一个Font Family里面包含字体Helvetica RegularHelvetica BoldHelvetica ItalicHelvetica Bold Italic4.4 Font DescriptorFont Descriptor字体描述符是一种属性集合Font Family、Font Weight、样式 (italic/oblique)、大小等用来描述或查询一个字体它不是字体文件而是一个“过滤条件”或“配置对象”在 CoreText 里对应 CTFontDescriptor。Font Descriptor可以用于匹配系统中符合条件的字体也可以用它来派生一个具体的CTFont如// 这里的 descriptor 只是描述条件真正的字体对象是 fontlet descriptor CTFontDescriptorCreateWithAttributes([kCTFontFamilyNameAttribute: Microsoft YaHei,kCTFontWeightTrait: 0.8])let font CTFontCreateWithFontDescriptor(descriptor, 14, nil)4.5 Font CollectionsFont Collections是一组字体的集合通常用于检索和筛选在 CoreText 里对应CTFontCollection。它可以包含系统中所有可用字体也可以按条件过滤出子集主要用途有枚举系统安装的字体根据 Font Descriptor 找到所有匹配的字体做字体选择器 UI比如 Word 里的字体下拉框4.6 小结在这里插入图片描述4.7 Glyph与Font的关系简单理解Font里存储了Glyph的绘制样式Glyph与Unicode的映射关系等。Font里有各种各样的表存储了Unicode code point与GlyphID的映射关系每个Glyph绘制时的advance width 和left side bearing等后续会有单独的文章详细解析Font文件内容这里先理解二者的概念。五、文字排版的基本概念基本概念 解释metrics 由字体设计师提供用于描述每个Glyph周围的间距advance width 前进宽度基线方向到下一个Glyph origin的距离或者理解为字形绘制完后光标应该前进多少距离left-side bearing Glyph origin与Glyph左侧的间距right-side bearing Glyph右侧与advance width终点的距离ascent Glyph origin到Font中最高Glyph的顶部距离descent Glyph origin到Font中最低Glyph的底部距离bounding boxbounding rectangle 包含Glyph可视区域注意非advance width最小rectkerning 通常Glyph一般按advance width排列但为了提高可读性通常会引入kerning来扩大或缩小两个glyph之间的间距比如W和A在这里插入图片描述leading/linegap line之间的添加的距离lineHeight lineHeight ascent descent leading