Google App Engine和ttf字体无效

时间:2014-01-16 21:23:38

标签: google-app-engine fonts yaml true-type-fonts

我有一个小问题,谷歌应用引擎抱怨我的ttf文件。这就是它所说的:

Could not guess mimetype for css/fonts/Pacifico.ttf.  Using application/octet-stream.

现在我已经关注this链接并正确更改了我的yaml文件(或者我认为):

- url: /css/fonts/(.*\.ttf)
    static_files: css/fonts/\1
    upload: css/fonts/(.*\.ttf)
    mime_type: application/x-font-ttf

但是,当我这样做时,我得到以下内容:

appcfg.py: error: Error parsing C:\Users\Roberto\Desktop\bootstrap\app.yaml: mapping values are not allowed here
  in "C:\Users\Roberto\Desktop\bootstrap\app.yaml", line 25, column 17.
2014-01-16 23:22:16 (Process exited with code 2)

这件事有什么帮助吗?

1 个答案:

答案 0 :(得分:3)

我使用glyphicons-halflings-regular.ttf from the Bootstrap project进行了测试,使用了相同的app.yaml处理程序(根据注释保存缩进更改)并验证它是否按预期工作:

Developer tools showing correct content type

这让我相信您可能会使用较旧版本的GAE SDK(我使用的是1.8.8),或者您的安装出现了其他问题。

您可以尝试这样做:appcfg.py使用python的mimetypes模块来猜测文件扩展名中的类型,因此无论如何,您应该可以通过添加application/x-font-ttf来解决问题mime类型到您的操作系统。

您在Windows上,因此您需要编辑注册表并向application/x-font-ttf添加HKEY_CLASSES_ROOT\MIME\Database\Content Type密钥,并添加名为Extension的字符串值,其值为.ttf新钥匙。


将mimetype添加到Windows

的扩展程序
  1. 打开注册表编辑器:点击 Winkey + R 并输入regedit,点击 Enter
  2. 浏览注册表到所需位置:打开HKEY_CLASSES_ROOT,在其中打开MIME,在打开的Database内打开Content Type。它就像一个文件夹结构。
  3. 右键点击Content Type并选择New > Key,并将其命名为application/x-font-ttf
  4. 右键单击刚刚创建的密钥,然后选择New > String Value。将其命名为Extension
  5. 双击刚刚创建的值并为其指定值数据.ttf,点击“确定”。
  6. 退出regedit,你就完成了!
  7. 最终无:我认为它与文件本身无关,因为mimetypes模块仅使用文件扩展名来计算MIME类型。除非文件名中有一些疯狂的不可打印的字符。您可以尝试使用我链接的glyphicons-halflings-regular字体来消除这种可能性。