perl – 为什么要在出路时重新组合Unicode(NFC)?

前端之家收集整理的这篇文章主要介绍了perl – 为什么要在出路时重新组合Unicode(NFC)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
TomC建议在进入途中分解Unicode字符,并在出路时重新组合( http://www.perl.com/pub/2012/04/perl-unicode-cookbook-always-decompose-and-recompose.html).

前者对我来说很有意义,但我不明白为什么他建议在出路时重新组合.如果你的文字很重,有欧洲重音字符,你可能会节省少量空间,但你只是把它推到了别人的分解功能上.

我还缺少其他明显的原因吗?

解决方法

正如Ven’Tatsu在评论中写道,有一些软件可以处理组合字符而不是分解字符.虽然理论上反过来也是相反的,但我从未在实践中看到它,并期望它很少见.

为了只显示分解的字符,渲染软件需要处理组合变音符号.它不足以在字体中找到它们.渲染器需要使用有关基本字符尺寸的信息正确定位变音符号.这经常会出现问题,导致渲染效果不佳 – 特别是如果渲染使用不同字体的变音符号!结果几乎不会比通过简单地显示由印刷师设计的预组合字符(如“é”)的字形所实现的效果更好.

(渲染软件还可以分析情况并有效地将分解后的角色映射到预先组合的角色.但这需要额外的代码.)

猜你在找的Perl相关文章