iPhone:如何使用字符间距和乘法混合模式绘制本地化文本?
我正在尝试使用字符间距和乘法混合模式(CGContextSetBlendMode
、kCGBlendModeMultiply
)绘制本地化文本(即文本可以是英语、中文、阿拉伯语等) )。
如果我使用 CGContextShowTextAtPoint ,我可以调整字符间距 (CGContextSetCharacterSpacing ) 和混合模式 (CGContextSetBlendMode 、 kCGBlendModeMultiply ) ),但我得到的是奇怪的字符而不是本地化的字符串。
如果我使用 NSString
drawAtPoint:withFont
它可以很好地绘制本地化文本,但我无法修改字符间距或混合模式。奇怪的是,我可以使用 CGContextSetShadow 调整阴影。因此,我不应该也能够调整字符间距吗?
是否可以使用 NSString
drawAtPoint:withFont
调整字符间距和混合模式?或者使用哪种编码才能使本地化文本在 iPhone 支持的所有语言中正确显示?
将使用iOS4。
I'm trying to draw localized text (i.e., the text could be in english, chinese, arabic, etc.) with character spacing and multiply blend mode (CGContextSetBlendMode
, kCGBlendModeMultiply
).
If I use CGContextShowTextAtPoint
I'm able to adjust character spacing (CGContextSetCharacterSpacing
) and blend mode (CGContextSetBlendMode
, kCGBlendModeMultiply
), but I get strange characters instead of the localized string.
If I use NSString
drawAtPoint:withFont
it works fine to draw the localized text but I'm not able to modify character spacing nor the blend mode. The strange thing is that I'm able to adjust the shadow with CGContextSetShadow
. Thus, shouldn't I be able to adjust the character spacing as well?
Is it possible to adjust character spacing and blend mode with NSString
drawAtPoint:withFont
? Or which encoding to use so that the localized text is showed correctly in all languages the the iPhone support?
iOS4 will be used.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
回答我自己的问题:核心文本是要走的路。
Answering my own question: Core Text is the way to go.