-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