-1
发生在TextKit上。但是当我使用CoreText时,一切都是正确的。[TextKit]为什么一些特殊字符可以使汉字更薄更小
在Xcode的调试窗口中的富文本也有同样的问题。
那么,是不是TextKit的错误?除了CoreText取代TextKit之外,还有其他解决方案吗?
发生在TextKit上。但是当我使用CoreText时,一切都是正确的。[TextKit]为什么一些特殊字符可以使汉字更薄更小
在Xcode的调试窗口中的富文本也有同样的问题。
那么,是不是TextKit的错误?除了CoreText取代TextKit之外,还有其他解决方案吗?
我试过了,CoreText和TextKit之间确实存在差异。 我猜它是由字体后备函数引起的。
例如,我们有一个字符串“啦☜啦”,并设置了一个字体。如果给定字体不具备的所有字符,通常会有后备字体列表,如:
English font
CJK font
Emoji font
Unicode font (support almost all the unicode character)
有两种方法可以找到一个备用字体。
所以如果TextKit使用第二种方式,两个人啦的可以使用,因为该字符的不同字体“☜”。
为了解决这个问题,你可以使用属性字符串并给'☜'一个不同的字体大小来打破回退循环,然后第二个'啦'使用CJK字体。
某些特殊的unicode字符会导致此问题,例如♬,☜ – Swain
我在您发布的图片中看不到一个特殊字符。 –
@ElTomato☜是案件中的特殊角色。 before前的字符“啦啦啦啦”正确显示,但after后的字符显示异常。 – Swain