Typographical Concepts
Glyph(字形)
A glyph is an element of writing: an individual mark on a written medium that contributes to the meaning of what is written.
glyph是一个独立的标记,用来表达一个它之所以被写出的意思。也就是写了表示一个意思,不写表示另外一个意思。
For example, in most languages written in any variety of the Latin alphabet the dot on a lower-case "i" is not a glyph because it does not convey any distinction, and an i in which the dot has been accidentally omitted is still likely to be read as an "i". In Turkish, however, it is a glyph because that language has two distinct versions of the letter "i", with and without a dot.
例如,在多数语言中,拉丁字符"i",上面带有一个点并不是glyph,因为它没有额外的意思,即使这个点意外被忽略,还是被读作i。土耳其语中,有两个版本的字符“i”,因此这个点就是glyph。
In Japanese syllabaries, a number of the characters are made up of more than one separate mark, but in general these separate marks are not glyphs because they have no meaning by themselves. However, in some cases, additional marks fulfill the role of diacritics, to differentiate distinct characters. Such additional marks constitute glyphs.
在日语的假名表中,很多字符都是由多个mark构成的,但是通常这些mark都不是glyph,因为它们单独都是没有意思的。但是,某些情况下,额外的mark起到了边音符号的作用,以区分不同的字符。这些额外的mark就是glyph。
In general, a diacritic is a glyph, even if (like a cedilla in French, the ogonek in several languages or the stroke on a Polish "Ł") it is "joined up" with the rest of the character.Some characters, such as "æ" in Icelandic and the "ß" in German, would probably be regarded as glyphs: they were originally ligatures but over time have become characters in their own right, and these languages treat them as separate letters. However, a ligature such as "ſi", which is treated in some typefaces as a single unit, is arguably not a glyph as this is just a quirk of the typeface, essentially an allographic feature, and includes more than one grapheme. In normal handwriting, even long words are often written "joined up", without the pen leaving the paper, and the form of each written letter will often vary depending on which letters precede and follow it, but that does not make the whole word into a single glyph.
通常,边音符号是glyph,即使它跟剩余的字符联接在一起。
上面的解释来自于wikipedia,Apple的Doc对其解释是。Although characters must be represented in a display area by a recognizable shape, they are not identical to that shape. That is, a character can be drawn in various forms and remain the same character. For example, an “uppercase A” character can be drawn with a different size or a different stroke thickness, it can lean or be vertical, and it can have certain optional variations in form, such as serifs. Any one of these various concrete forms of a character is called a glyph.
也就是说每个字符的不同写法就是glyph。
Typeface/FontFamily
a typeface (also known as font family) is a set of one or more fonts each composed of glyphs that share common design features. Each font of a typeface has a specific weight, style, condensation, width, slant, italicization, ornamentation, and designer or foundry (and formerly size, in metal fonts).
typeface 又叫font family,是一个或多个font的集合,这个集合中的font由有共同design的glyph构成。typeface中的每个font都有特定的weight,style,....。这些不同就是用来区分不同的font。
(e.g. "ITC Garamond Bold Condensed Italic" is a different font from "ITC Garamond Condensed Italic" and "ITC Garamond Bold Condensed," but all are fonts within the same typeface, "ITC Garamond." However, ITC Garamond is a different typeface than "Adobe Garamond" or "Monotype Garamond.") There are thousands of different typefaces in existence, with new ones being developed constantly.
Every typeface is a collection of glyphs, each of which represents an individual letter, number, punctuation mark, or other symbol. The same glyph may be used for characters from different scripts, e.g. Roman uppercase A looks the same as Cyrillic uppercase А and Greek uppercase alpha. There are typefaces tailored for special applications, such as map-making or astrology and mathematics.
每个typeface是一个glyph的集合,每个glyph表示一个letter,一个number,punctuation mark或者其他的symbol。同样的glyph可以用于不同文字的字符。罗马大写字母A,跟斯拉夫字母大写A以及希腊大写的alpha是一样的。
TypeStyle
是TypeFace的一个可视的特征。
Text Layout
Glyph designers provide a set of measurements with a font, called metrics, which describe the spacing around each glyph in the font. The layout manager uses these metrics to determining glyph placement. In horizontal text, the glyph has a metric called the advance width, which measures the distance along the baseline to the origin point of the next glyph. advance width是沿着baseline的方向,到下一个glyph起点的距离,也就是两个glyph之间的距离。
Typically there is some space between the origin point and the left side of the glyph, which is called the left-side bearing. glyph的起点和glyph的左侧还有一些距离,叫做left-side bearing。
There may also be space between the right side of the glyph and the point described by the advance width, which is called the right-side bearing. glyph的右侧和advace width计算的几点之间的距离叫做right-side bearing。
The vertical dimension of the glyph is provided by two metrics called the ascent and the descent. The ascent is the distance from the origin (on the baseline) to the top of the tallest glyphs in the font. The descent, which is the distance below the baseline to the bottom of the font’s deepest descender. The rectangle enclosing the visible parts of the glyph is called the bounding rectangle or bounding box.
Cocoa Layout系统在lay out 字形时是沿着一个看不见的线的,这条线叫做baseline,大部分glyph是最底部在baseline上,但有的glyph会超过baseline,比如g和Q,baseline上面的部分叫做ascent、下面的部分叫做descent。
By default, in horizontal text, typesetters place glyphs side-by-side using the advance width, resulting in a standard interglyph space. However, in some combinations, text is made more readable by kerning, which is shrinking or stretching the space between two glyphs. A very common example of kerning occurs between an uppercase W and uppercase A。
另外的Layout Text时,还有两个概念叫alignment和justified。 alignment就是对齐,靠左,靠右还是居中,使用word时应该很容易体会这一点。justified是指通过调整word之间的距离或者glyph之间的距离,达到同时向左和向右对齐的目的。
Reference:
1. https://developer.apple.com/library/mac/documentation/TextFonts/Conceptual/CocoaTextArchitecture/TypoFeatures/TextSystemFeatures.html#//apple_ref/doc/uid/TP40009459-CH6-BBCFAEGE
Typographical Concepts的更多相关文章
- 关于ios中的文本操作-简介
来源:About Text Handling in iOS 官方文档 iOS平台为我们提供了许多在app中展示文本和让用户编辑文本的方式.同时,它也允许你在app视图中展示格式化的文本和网页内容.你可 ...
- 新书到手 TRANSACTION PROCESSING:CONCEPTS AND TECHNIQUES
新书到手 TRANSACTION PROCESSING:CONCEPTS AND TECHNIQUES Jim Gray大神的著作 本文版权归作者所有,未经作者同意不得转载.
- RS-232, RS-422, RS-485 Serial Communication General Concepts(转载)
前面转载的几篇文章重点介绍了UART及RS-232.在工控领域除了RS-232以外,常用的串行通信还有RS-485.本文转载的文章重点介绍了RS-232.RS-422和RS-485. Overview ...
- Deep Learning in a Nutshell: Core Concepts
Deep Learning in a Nutshell: Core Concepts This post is the first in a series I’ll be writing for Pa ...
- (转) Deep Learning in a Nutshell: Core Concepts
Deep Learning in a Nutshell: Core Concepts Share: Posted on November 3, 2015by Tim Dettmers 7 Comm ...
- AngularJs学习笔记--concepts(概念)
原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...
- Part 16 Important concepts related to functions in sql server
Important concepts related to functions in sql server
- Basic Vlan Concepts
1. Vlan Benefit ·To reduce CPU overhead on each device by reducing the number of devices that recei ...
- Spring Batch Concepts Chapter
Spring Batch Concepts Chapter The below figure shows two kinds of Spring Batch components:infrastruc ...
随机推荐
- 网站后台登录aspcms 提示错误号:-2147467259,错误描述:操作必须使用一个可更新的查询。sql=update AspCms_Content set TimeStatus=0 where TimeStatus=1 and Timeing <= 解决方法。
把data文件夹的权限改下,改成user组可以修改.写入,就好了. 还有一个问题,就是进入后台的时候提示没有访问权限的问题,解决方法看下图
- 6/7 Sprint2 看板和燃尽图
- wxpython颜色选择
Color Code Color Name Color #000000 BLACK #0000FF BLUE #007FFF SLATE BLUE #00FF00 GREEN #00F ...
- HDU----(3294)Girls' research(manacher)
Girls' research Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)T ...
- png-24在ie6中的几种透明方法
转载 http://www.cnblogs.com/jikey/archive/2013/03/13/2957168.html 由于游戏类官网在页面背景和装饰人物的设计上追求画丽且与游戏风格想匹配,这 ...
- Chrome开发,debug的使用方法。(转)
怎样打开Chrome的开发者工具? 你可以直接在页面上点击右键,然后选择审查元素: 或者在Chrome的工具中找到: 或者,你直接记住这个快捷方式: Ctrl+Shift+I (或者Ctrl+Shif ...
- css3导航-磊哥
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> < ...
- jQuery.Autocomplete实现自动完成功能(详解)
1.jquery.autocomplete参考地址 http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ http://do ...
- discuzx3.1中引用 Jquery报错的解决办法
我们可以引用jQuery给JQ赋予一个变量var jq = jQuery.noConflict(); 修改成为:<script type="text/javascript"& ...
- apache日志轮转
apache默认的日志配置为: ErrorLog "logs/error_log" CustomLog "logs/access_log" co ...