标签:"font"

搜狗输入法花漾字/百度输入法特技字浅析

特技字体是在正常的字符后,追加一些特殊的字符,使得这些字符能结合显示成一些特殊的效果。例如:这些特殊的字符一般取自一些特殊的语言文字,比如藏语、卡纳达语等等,一般来说,这些语言都有一种共性——元音辅标,所以这些语言又被成为元音辅标语言,顾名思义,这种语言的元音字符是标注在辅音字符的上/下/左/右的,我们取这些元音辅标语言的元音字符(或者其它一些有意思的任意字符,但是这些字符不一定会显示在特殊的位置),配合正常的汉字就可以达到特技效果。值得注意的是,这些显示位置很特殊的字符,有几点我们无法控制:是否能正常显示:在windows或者其它不内置支持这些特殊语言字符字体文件的操作系统中,由于缺少字体文件的支持,这些字符会被显示为方框或者乱码,甚至有些特殊字符会时而正常时而乱码。显示的位置:有些辅标字符会被显示在前一个字符的头上,而有些会在脚下,这些都是由操作系统的文字渲染引擎决定的,很多时候,有些软件的输入框是自己实现的,它们的输入框很可能无法正确渲染这些特技字符。修改被修饰文字的样式:有些特技字符甚至会将被修改的正常字符的字体大小/字体粗细改变,这些也是由操作系统的文字渲染引擎决定的。是否总是能显示在特殊的位置:实际上辅标字符是否能显示在特殊的位置是不一定的,有些语言的辅标字符只能辅标本语言的其它字符,而不能辅标汉字,同样的,辅标字符很多时候也不能辅标在另一个辅标字符上。是否能与前方字符结合为不可分割的整体:不可分割的整体表现为:光标无法移动到它们之间,鼠标无法分别选择它们,但退格键不一定不能分别删除;是否会形成不可分割的整体取决于操作系统实现。字体缓存:操作系统为了提高显示速度,会不断将已经显示过的特殊字符的渲染结果缓存起来,这会导致系统内存使用的增加。渲染速度:如果屏幕中的特殊字符非常多,也不排除会拖慢系统整个文字渲染引擎的速度的可能性,已知的情况是在iPhone的备忘录中输入超大量的特技字后,备忘录会变得很迟钝,至于是否影响整个操作系统,尚未验证。

CoreText基础-排版必修课

行距(Leading):又称行间距。指的是行的基线到另一行基线之间的距离(Leading的史称来源于旧式排版时用铅条隔开行之间的距离,读作"ledding")。
合成(Composition):是一种通篇字符间距的调整以求更好的视觉效果。多数程序都是按行排列文本的,这样可能会造成相邻行间的空格混乱。
字距(Tracking):决定单词中每个字母之间的距离
词间距(Word spacing):决定两个词间合适、最小和最大的距离
字母间距(Letter spacing):决定两字母间合适、最小和最大距离
字偶距调整(Kerning):指两字母间距离的调整。根据字母形状微调字母。实际上,每种字体都已为你做好微调,它们通常用于广告和题头。

CoreText基础-字体必修课

介绍一些字体的术语,以及对应的英文名称
字体(Font):是一系列字号、样式和磅值相同的字符(例如:10磅黑体Palatino)。现多被视为字样的同义词
字面(Face):是所有字号的磅值和格式的综合
字体集(Font family):是一组相关字体(例如:Franklin family包括Franklin Gothic、Fran-klinHeavy和Franklin Compressed)
磅值(Weight):用于描述字体粗度。典型的磅值,从最粗到最细,有极细、细、book、中等、半粗、粗、较粗、极粗