據我所知,字符串包含字形,字形可能由單個字符組成。對我來說這是一個問題,因爲我想改變字符串中一些變音符的顏色。更改字形中單個字符的顏色
比方說,我們有以下字符串:
วาีม
該字符串我想提出的輔音不同的顏色,因爲它的讀音符號。 I.e .:我想要一個不同的顏色วาม
和ี
。
從我的測試中,我似乎只能夠對單個字形進行着色。看起來我無法改變字符(變音符)級別的顏色。一些示例代碼:
let text = NSMutableAttributedString(string: "วาีม")
text.addAttribute(NSForegroundColorAttributeName, value: UIColor.blue, range: NSMakeRange(0, 1))
text.addAttribute(NSForegroundColorAttributeName, value: UIColor.red, range: NSMakeRange(1, 1))
text.addAttribute(NSForegroundColorAttributeName, value: UIColor.green, range: NSMakeRange(2, 1))
text.addAttribute(NSForegroundColorAttributeName, value: UIColor.orange, range: NSMakeRange(3, 1))
label.attributedText = text
上面將以如下方式呈現:
如可以看到的音調符號不與綠顏色呈現。
有誰知道是否有某種方法可以實現我想要的結果?
實際上,由於幾個原因,它們不會正確取消。首先,帶有變音符號的字形與沒有字形的字體是完全不同的條目。沒有理由相信「基礎」角色的形狀是相同的,而且往往不是(例如,爲了適應高音符號)。其次,即使它們形狀相同,它們也是反別名。這意味着邊緣具有部分透明的像素。當彼此拉開時,顏色會混合,你會得到奇怪的邊緣。 –
字體問題是apropos,但我不確定是否反鋸齒問題是相關的;這將取決於它發生的時間。 –
雖然我可以使用建議的方法得到適當的結果,但抗鋸齒確實是一個問題。因此,這不是100%我想達到的最終結果。 –