iPhone:如何使用字符间距和乘法混合模式绘制本地化文本?

发布于 2024-12-01 06:16:07 字数 578 浏览 0 评论 0原文

我正在尝试使用字符间距和乘法混合模式(CGContextSetBlendModekCGBlendModeMultiply)绘制本地化文本(即文本可以是英语、中文、阿拉伯语等) )。

如果我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小耗子 2024-12-08 06:16:07

回答我自己的问题:核心文本是要走的路。

Answering my own question: Core Text is the way to go.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文