gpt4 book ai didi

macos - Cocoa WebView (MacApp) - 如何使用自定义字体?

转载 作者:行者123 更新时间:2023-12-03 16:58:23 25 4
gpt4 key购买 nike

我在 Cocoa 应用程序 (macgap) 中有一个 WebView。

(注意,我不是在谈论 iOS 应用程序中的 UIWebView)

在我的 CSS 文件中,有一些自定义字体声明:

@font-face{
font-family:'Quivira';
src:url("./Quivira.ttf") format("truetype");
font-weight:normal;
font-style:normal;
}

但是我无法加载它们 - 我认为存在某种安全问题。

有时,我可以看到控制台中有一个错误“不允许加载本地资源:Quivira.ttf”(但并不总是显示这一点)

这可能是什么原因造成的? index.html 文件是通过 file:///协议(protocol)加载的,因此不应该存在安全问题,因为它已经是本地的,因此应该能够加载本地资源。

我认为这可能是 webkit 中的一个错误。

有人可以在 Cocoa WebView 中加载自定义字体吗?

最佳答案

我尝试了两种方法来加载带有自定义字体的网页。

  • 来自应用程序包(使用 NSBundle)
  • 来自用户指定的本地路径(使用绝对路径)

在这两种情况下,我都能够成功显示自定义字体。有一个 HTML 文件,旁边有一个 .ttf 字体文件。在 HTML 文件中,我在内联 CSS 中定义了 @font-face。

在第二种情况下,您可以提供本地文件系统中的任何完整路径,并且 webview 将从该路径加载(例如/Users/johndoe/Desktop/maiwebsite/index.html)。

<强> Code is on Github .

来自 another answer on SO :

  1. 您不必自己获取资源路径并在其上装订子路径,ask the bundle to give you the correct path .
  2. 根本不处理路径,ask the bundle to give you the correct URL 。 (需要 Mac OS X 10.6 或更高版本。)

如果这没有帮助,那么您可以将代码放在某处以便我们尝试调试它吗?

关于macos - Cocoa WebView (MacApp) - 如何使用自定义字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com