在 iPhone 上打开字体文件

发布于 2024-12-04 20:01:04 字数 254 浏览 1 评论 0原文

我在 iPhone 设备上打开字体文件 (*.ttf) 时遇到问题。这些文件存储在名为 fonts 的目录中。系统调用 open(2) 退出,错误号为 2。

我们的项目中有许多文件,打开时没有问题。只有字体文件失败。

iPhone 模拟器可以正确打开字体文件。问题仅出现在设备 (iPhone4) 上。

在项目中我们使用c++。

您知道什么会导致这种行为吗?

I have a problem with opening font files (*.ttf) on iPhone device. These files are stored in directory that is named fonts. System call open(2) exits with error number 2.

We have many files in our project, that are open without problem. Only font files fail.

The iPhone simulator opens font files correctly. Problem is only on device (iPhone4).

In project we use c++.

Do you have any idea what can cause this behaviour?

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

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

发布评论

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

评论(2

魂牵梦绕锁你心扉 2024-12-11 20:01:04

问题是由 iPhone 设备的区分大小写行为引起的。 iPhone模拟器(不区分大小写)和iPhone设备区分大小写)之间存在差异。

Problem was caused by case sensitive behaviour of iPhone device. There is difference between iPhone simulator (that is case insensitive) and iPhone device (that is case sensitive).

情域 2024-12-11 20:01:04

这就是我在项目中的做法。这是Objective-C打开一个OTF类型的字体。不确定它是否适用于 .ttf 但值得一试:

    // Load fonts
    NSString *fontPathLTStd = [[NSBundle mainBundle] pathForResource:@"TradeGothicLTStd" ofType:@"otf"];
    CGDataProviderRef fontDataProviderLTStd = CGDataProviderCreateWithFilename([fontPathLTStd UTF8String]);
    tradeGothicLTStdFontRef = CGFontCreateWithDataProvider(fontDataProviderLTStd);
    CGDataProviderRelease(fontDataProviderLTStd);

This is how I do it in my project. This is Objective-C opening an OTF type font. Not sure if it will work with .ttf but worth a try:

    // Load fonts
    NSString *fontPathLTStd = [[NSBundle mainBundle] pathForResource:@"TradeGothicLTStd" ofType:@"otf"];
    CGDataProviderRef fontDataProviderLTStd = CGDataProviderCreateWithFilename([fontPathLTStd UTF8String]);
    tradeGothicLTStdFontRef = CGFontCreateWithDataProvider(fontDataProviderLTStd);
    CGDataProviderRelease(fontDataProviderLTStd);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文