我想知道在操作系统中字符集和字体之间有一些区别吗? 。我知道字符集将字符集映射为它们的整数值,但是当字体进入场景时,我会得到模糊的感觉。我想知道他们是如何相关的?操作系统中的字符集和字体有什么区别?
回答
字体文件包含信息映射字符(通过字符的“索引”)到可显示的向量或位图数据。阅读http://v1.jontangerine.com/log/2008/08/typeface--font以获得更好的概述。
字符集 - 请参阅例如http://www.iana.org/assignments/character-sets/character-sets.xml不涉及键盘,它是从索引(整数)到字符(概念性,而不是特定字形)的映射。
你描述的东西被命名为keymap(afaik)。
我认为这应该足够你的目的,并给你一些指引,深入研究如果你想。
UPDATE 神奇链(可能有点朦胧,我没有研究它,请修复您发现任何错误):
你按下键盘上的一个键 - 你触发中断,这是一个重要事件。我不知道键盘和计算机之间的线路协议,但我猜它只是每个键的一个字节,类似于键盘的0..127和键盘的-1..- 128。
您的操作系统接收来自键盘的中断并更新其内部状态,按下如Ctrl /移位/ ALT修饰符汇总信息,...您的键盘(键盘映射)的布局和字符集的知识你将会使用这个字符,所以你会得到一个字符(例如“a”+“shift” - >“A”)的关键事件,这很容易,但是你也可以输入类似“Ä”的东西在每个字符集中并且不包含在每个键盘上)。现在你知道哪个字符被按下了。但这不是你可以展示的 - 这只是一个概念(见下一步)。
如果没有热键处理程序或不能拦截您的密钥,它会传递给您的应用程序,它需要知道要在屏幕或打印机上绘制什么。 “A”不完全相同,如果你拿两个手写的,他们可能会看起来不一样。 字体用于绘制或打印代表角色的内容 - 角色的图像。对于大多数用户,并在大多数程序中,字体包括的字符的外观,包含数据的文件,以产生它和类似的所有变型定期,粗体,斜体,帽以及它们的组合。
类型专家(我不是一个,只是一个发烧友)不喜欢那种缺乏区分。
甲字体是字体变体(参见上文),其被存储在字体文件含描述性数据为字形(字符与特定的样子)家族。的字体也可以含有字距(字符之间的距离),暗示(如何在特定尺寸显示它的细节),替代(替代字形用于一字母)和结扎线(如何将一个组的组合字符转换为单个字形不同的字体文件格式(truetype,open type,所有这些web字体格式)具有不同的能力
单个分辨率的位图字体,如果它们没有显示在多个的原始位图。有矢量字体包含他们的轮廓的数学描述,可以缩放到任何你喜欢的分辨率,并且看起来仍然很清晰(这就是你喜欢的位置nting可能很重要。和cleartype,antialiasing,subpixel antialiasing)。
字体可以由它们的外观可分为:比例( “i” 是比 “M” 更薄)比等宽(每字形具有相同的宽度),无衬 VS 衬线。当它们有一定的相似性时,它们被归类为字体系列。 怪诞,骨折,符号,签名,...
这就是我的一切,现在,我可能没有得到的一切权利。但这是一个开始。有关更多详细信息,请将粗体内容粘贴到您最喜爱的搜索引擎中如果你,亲爱的读者,发现了一个错误:我会很感激评论,并会更新这个。
字符集是从无符号整数到抽象字符的映射。例如,在Ascii字符集中,数字103(十进制;十六进制中的67)被映射到拉丁小写字母g。在逻辑层面上,字符集与电脑无关(尽管这个概念在信息技术中具有明显的实际相关性)
字体在现代意义上是计算机代码,用于渲染(显示)特定形状的字符作为特定字形。
在内部,字体使用字形索引,但也使用基于字符集的索引编号。当使用字体来呈现字母g时,它在内部由它在字符集中的数字表示,并且该数字用于在字体中找出它的字形。也就是说,字符号码被映射到一个字形号码。 (如果文本的字符集与字体编码中使用的字符集不同,则在此之前需要执行字符集之间的附加转换。)
这通常通过将字体描述为通过字符数索引的字形数组:索引(例如103)用于拾取包含字形(字符g)的第103个虚拟框。虽然有用于获得基本的想法,但它确实是过分简单化了。在许多字体中,字母g有两个或多个字形(如单圈形式和双圈形式,或普通形式为小型大写形式),但其中一个是默认字形和其他字形表格需要用特殊工具进行选择。
这很棒,Upvote! – Arne
我希望我有足够的代表upvote你! (虚拟+1?)。你的解释很有帮助,谢谢。 – HolyKiller
- 1. 操作系统中页面和块之间有什么区别?
- 2. 在操作系统中,系统调用和中断有什么区别?
- 3. 操作系统和内核有什么区别?
- 4. 操作系统和框架有什么区别?
- 5. chdir(...)和系统(“cd ...”)有什么区别?
- 6. windows mobile(过去的操作系统)和windows phone 7操作系统的功能有什么区别?
- 7. 字符串和Javascript中的字符数组有什么区别?
- 8. R中的字符串和字符有什么区别?
- 9. golang中的[]字符串和...字符串有什么区别?
- 10. 操作系统中的用户模式和内核模式有什么区别?
- 11. 什么是操作系统和元操作系统之间的差别
- 12. 在32位操作系统和64位操作系统之间,类java.net.InetAddress有什么区别
- 13. http header和html meta的字符集有什么区别?
- 14. 在C#中。字符串和字符串有什么区别?
- 15. TrueType字体和Type-1字体有什么区别?
- 16. 系统调用和指令集有什么区别
- 17. 订阅中的onError和catch操作符有什么区别?
- 18. 前景背景系统和实时操作系统的区别
- 19. 编码和字符集有什么区别?
- 20. flex中的嵌入式和系统字体的区别
- 21. 字体显示有什么区别
- 22. Linux操作系统和移动操作系统之间的根本区别(android)
- 23. 嵌入式操作系统和桌面操作系统的区别
- 24. 操作系统注入和操作系统命令注入的区别
- 25. 通用操作系统和软实时操作系统之间的区别?
- 26. 安全策略和安全机制与操作系统有什么区别
- 27. C字符串和C++字符串有什么区别?
- 28. 字符和字符编码有什么区别
- 29. 字符串和字符串有什么区别?
- 30. COM字符串(BSTR)和.NET字符串有什么区别?
我真的很喜欢你的答案的深度,谢谢) – HolyKiller