CoreGraphics - 特殊字符未正确绘制

发布于 2024-12-02 17:47:22 字数 465 浏览 1 评论 0原文

我正在使用 CoreGraphics 绘制图像,但无法正确显示欧元符号。

但是,美元符号工作正常。我尝试过使用不同的字体,但遇到同样的问题,我现在的猜测是存在某种编码问题,但我仍然无法使其正常工作。

这是我进行绘图的代码:

context.SelectFont (font.FamilyName, font.PointSize, CGTextEncoding.MacRoman);
context.SetFillColorWithColor (color.CGColor);
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.SetShouldAntialias (antiAlias);
context.ShowTextAtPoint (position.X, position.Y,text);

任何可以为我指明正确方向的内容都将受到赞赏。

I am drawing an image using CoreGraphics and can't get the €-sign displaying correctly..

The dollar sign works fine, however. I have tried it using different fonts but same problem, my guess now is that there is an encoding problem of some sort, but I still cant get it working correctly.

Here is my code that does the drawing:

context.SelectFont (font.FamilyName, font.PointSize, CGTextEncoding.MacRoman);
context.SetFillColorWithColor (color.CGColor);
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.SetShouldAntialias (antiAlias);
context.ShowTextAtPoint (position.X, position.Y,text);

Anything that can point me in the right direction is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

断爱 2024-12-09 17:47:22

“欧元”符号比其他字符更新一些,但是,即使在 MacRoman 中定义,我也无法让 CoreGraphics 使用 ShowTextAtPoint 正确显示它(我怀疑存在编码问题)。

但是,如果您使用 UIKit 而不是 CoreGraphics,它可以正常工作,请参阅问答:
示例代码CGBitmapContext 中没有德语变音符号

The "euro" sign is a bit more recent than other characters but, even if defined in MacRoman, I could not get CoreGraphics to display it properly with ShowTextAtPoint (I suspect an encoding issue).

However it works fine if you use UIKit instead of CoreGraphics, see Q&A:
no german umlaute in CGBitmapContext for the sample code.

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