Fonts 什么';操作系统中字符集和字体的区别是什么?

Fonts 什么';操作系统中字符集和字体的区别是什么?,fonts,operating-system,character,Fonts,Operating System,Character,我想知道操作系统中的字符集和字体之间有什么区别吗。我知道字符集将字符集映射为它们的整数值,但当字体出现在场景中时,我会有一种模糊的感觉。我想知道它们之间有什么关系?字体文件包含将字符(通过字符的“索引”)映射到可显示的矢量或位图数据的信息。阅读以获得更好的概述 字符集-例如,请参见,它不涉及键盘,它是从索引(整数)到字符(概念性的,而不是特定的字形)的映射 您描述的东西名为keymap(afaik) 我认为这对于你的目的来说已经足够了,如果你想的话,可以给你一些深入研究的建议 更新 魔法链(可能

我想知道操作系统中的字符集和字体之间有什么区别吗。我知道字符集将字符集映射为它们的整数值,但当字体出现在场景中时,我会有一种模糊的感觉。我想知道它们之间有什么关系?

字体文件包含将字符(通过字符的“索引”)映射到可显示的矢量或位图数据的信息。阅读以获得更好的概述

字符集-例如,请参见,它不涉及键盘,它是从索引(整数)到字符(概念性的,而不是特定的字形)的映射

您描述的东西名为keymap(afaik)

我认为这对于你的目的来说已经足够了,如果你想的话,可以给你一些深入研究的建议

更新 魔法链(可能有点模糊,我没有研究它,请修复您发现的任何错误):

你按下键盘上的一个键-你触发了一个中断,这是一个按键事件。我不知道键盘和计算机之间的有线协议,但我猜它只是每个键一个字节,比如0..127代表向下键,而-1..128代表向上键

您的操作系统接收到来自键盘的中断,并更新其内部状态,聚合诸如按下ctrl/shift/alt修改器等信息。。。考虑到键盘布局(keymap)和使用的charset,因此您可以得到一个字符(例如,“a”+“shift”->“a”的按键事件,这很简单。但您也可以键入类似“Ä”的内容,它不包含在每个字符集中,也不包含在每个键盘上)。现在你知道哪个字符被按下了。但这不是你能展示的东西——它只是一个概念(见下一步)

如果没有热键处理程序或诸如此类的东西截取您的键并将其传递到应用程序,则它需要知道在屏幕或打印机上绘制什么。“A”并不都一样,如果你拿两个手写的,它们看起来可能会不同字体用于绘制或打印代表角色的内容-角色的图像。对于大多数用户和大多数程序,font包含字符的外观、包含生成该字符的数据的文件以及所有变体,如regularbolditaliccaps及其组合

类型专家(我不是一个,只是一个狂热者)并不真的喜欢缺乏区分

字体是一系列字体变体(见上文),它们存储在字体文件中,包含字形的描述性数据(具有特定外观的字符)。字体还可能包含字距(字符之间的距离),暗示(关于如何以特定大小显示它的详细说明),备选字体(字母的替代字形)和连字(如何将一组字符组合成一个字形)。不同的字体文件格式(truetype、open type和所有这些web字体格式)具有不同的功能

有一些单分辨率的位图字体,如果不是以原始位图的倍数显示,它们看起来会很模糊。有一些矢量字体包含其轮廓的数学描述,可以缩放到您喜欢的任何分辨率,并且看起来仍然清晰(这就是暗示可能很重要的地方。还有cleartype、抗锯齿、亚像素抗锯齿)

字体可以根据外观进行分类:比例字体(i)比“m”更细)与单空间字体(每个字形的宽度相同),无衬线vs衬线。当它们具有某些相似性时,它们被归类为字体系列怪异断裂符号签名


这就是我现在所拥有的一切,我可能并没有把一切都做好。但这只是一个开始。有关更多详细信息,请将任何粗体字粘贴到您最喜欢的搜索引擎中。亲爱的读者,如果您发现一个错误,我将非常感谢您的评论,并将对此进行更新。

字符集是从无符号整数到抽象字符的映射。例如,在Ascii字符集,数字103(十进制;67为十六进制)被映射为拉丁小写字母g。在逻辑层面,字符集不需要与计算机有任何关系(尽管该概念在信息技术中具有明显的实际意义)

现代意义上的字体是一种计算机代码,用于将特定形状的字符呈现(显示)为特定的字形

在内部,字体使用字形索引,但也使用基于字符集的索引号。当字体用于呈现字母g时,它在内部由字符集中的数字表示,该数字用于在字体中查找它的字形。也就是说,字符号映射到字形号。(如果文本的字符集与字体编码中使用的字符集不同,则在此之前需要执行字符集之间的额外转换。)


这通常是通过将字体描述为一组字形来简化的,这些字形由字符编号索引:索引(比如103)用于拾取第103个虚拟框,其中包含一个字形(用于字符g)。虽然对于获得基本概念很有用,但实际上过于简化了。在许多字体中,字母g有两个或更多字形(例如单循环形式和双循环形式,或者标准形式和小大写形式),尽管其中一个是默认标志符号,其他形式需要使用特殊工具进行选择。

我非常喜欢你答案的深度,谢谢)似乎下降了:(我希望我有足够的代表投票给你!(虚拟+1?)你的解释