【问题标题】:Web font (using @font-face) visible in web page but not visible on user's system controlsWeb 字体(使用@font-face)在网页中可见,但在用户的系统控件中不可见
【发布时间】:2015-06-25 23:30:23
【问题描述】:

我正在用缅甸语建立一个网站,到目前为止,我成功地使用 CSS 显示缅甸字体:

@font-face {
  font-family: Zawgyi-One;
  src: url('../../fonts/zawgyi.eot'); /* IE9 Compat Modes */
  src: url('../../fonts/zawgyi.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../fonts/zawgyi.woff') format('woff'), /* Modern Browsers */
       url('../../fonts/zawgyi.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('../../fonts/zawgyi.svg#Zawgyi-One') format('svg'); /* Legacy iOS */
}

body {
  font-family: Zawgyi-one !important;
}

只要文本显示在浏览器中,它就可以正常工作。

但是,当我在 iPhone 中打开网站并单击其中一个下拉菜单时,iOS 系统下拉菜单会显示并显示乱码,而不是像这样的正确字符:

我怀疑这是因为 iOS 系统下拉菜单是一个操作系统组件,并且由于字体仅安装在 Web 浏览器上下文中,因此系统下拉菜单无法呈现字体。如果我错了,请纠正我。

问题:

如何在 iOS 下拉菜单中正确显示缅甸字体?

a) 不要求用户将缅甸字体下载到他或她的系统?

b) 我们甚至可以在不让用户在他或她的系统中安装字体的情况下做到这一点吗?

c) 有没有办法自动将字体安装到用户的系统中(我认为不可能,但如果我错了,请纠正我)。

【问题讨论】:

    标签: ios css fonts


    【解决方案1】:

    是的,这是因为您的字体只能从网页访问,而不能用于系统。但是您不能直接将字体安装到设备上。但可以使用configuration profiles 来完成,我认为this is a good example how you want it to work。您可以要求用户下载并安装字体

    Here 是关于配置文件的更具可读性的信息

    【讨论】:

    • 谢谢@Antenehs - 似乎配置文件是唯一的选择;-(
    【解决方案2】:

    您可以简单地在 Info.plist 文件中公开字体。您需要添加Fonts provided by application 键,所以它看起来像这样:

    源码如下:

    <key>UIAppFonts</key>
    <array>
        <string>MyGreatFont.ttf</string>
    </array>
    

    这就是你需要做的。 iOS 会自动分析您提供的字体并选择一种提供需要显示的字符的字体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 2011-02-07
      • 2011-07-26
      相关资源
      最近更新 更多