磁盘上的unicode字符在哪里?是什么';映射过程是什么?
有几个与unicode相关的问题让我困惑了一段时间 出于以下原因,我认为unicode字符存在于磁盘上磁盘上的unicode字符在哪里?是什么';映射过程是什么?,unicode,encoding,fonts,character,utf,Unicode,Encoding,Fonts,Character,Utf,有几个与unicode相关的问题让我困惑了一段时间 出于以下原因,我认为unicode字符存在于磁盘上 在终端中执行echo“\u6211”,它将打印unicode代码点U+6211对应的字形 有一个UCD(unicode字符数据库)的概念,我们可以下载它的最新版本 在升级macOS版本之前,某些新版本的unicode字符(如最新的emojis)无法在我的mac上显示 因此,如果磁盘上确实存在unicode字符,则: 它在哪里 如何升级 将unicode代码点映射到glyph的过程是什么 如果我
echo“\u6211”
,它将打印unicode代码点U+6211对应的字形李>
如果有人能解释这些问题,我们将不胜感激。一般来说,使用文本的操作系统组件使用Unicode字符集。特别是,字体文件使用Unicode字符集。但是,并非所有字体文件都支持所有Unicode代码点 当一种字体不支持某个代码点时,系统可能会退回到另一种字体。网络浏览器尤其如此。但最终,如果不支持代码点,则渲染未填充的矩形。(没有字符,因为它不是字符。事实上,如果您能够将其复制并粘贴为文本,则它应该是无法渲染的原始字符。) 在web开发中,web页面可以提供或给出字体的位置,这些字体应该适用于它所使用的代码点 其他程序通常使用操作系统的渲染工具,因此使用操作系统提供的字体。如何在操作系统中安装字体不是编程问题(除非您在程序的安装程序中包含字体)。有关这方面的更多信息,您可以查看该问题是否适合Stack Exchange站点 在终端中执行
echo“\u6211”
,它将打印unicode代码点U+6211对应的字形
这就是bash中的echo-e
› echo "\u6211"
\u6211
› echo -e "\u6211"
我
它在哪里
在字体文件中
在升级macOS版本之前,某些新版本的unicode字符(如最新的emojis)无法在我的mac上显示。
如何升级
安装/升级带有表情符号的合适字体就足够了。我没有macOS,所以无法验证
我使用“Noto Color表情符号”版本2.011/20180424,效果很好
将unicode代码点映射到glyph的过程是什么
该应用程序(例如文本编辑器)为字体呈现子系统(macOS上的Quartz™提供Unicode文本和字体名称。字体渲染器分析文本的代码点,并确定这是简单文本(例如,拉丁语、汉语、独立表情符号)还是复杂文本(例如,带有多个标记的拉丁语、泰语、阿拉伯语、带有零宽度连接符的表情符号)。渲染器会在字体文件中找到相应的。如果文件没有所需的glyph,则渲染器或使用配置为较差的替换(白框、黑色问号等)。然后,这些轮廓将被合成一个复杂的字形和断线。最后,字体渲染器将结果交给显示系统
除了成形,这与Unicode或编码几乎没有关系。字体呈现在Unicode出现之前就已经使用这种方式,当然字体文件和呈现在30年前要简单得多。只有当有人想从应用程序加载或保存文本时,编码才起作用
小结:调查
- Truetype/Opentype字体编辑软件,以便您可以查看文件中包含的内容
- 字体渲染器,在Linux上查看pango和freetype库