孟加拉语(Bānglā)语言有没有工作@ font-face?

时间:2013-11-02 15:59:39

标签: css unicode fonts font-face

我正在努力将孟加拉语(Bānglā)Unicode字体嵌入我的网站几天,我尝试了很多东西。甚至我为@font-face unicode-rangesee deceze's answer)获得了一些很棒的解决方案。我甚至试过了所谓的Bulletproof @font-face Syntax Tutorial by Paul Irish。但最终发现字体嵌入看起来很有效,但实际上根本不起作用。如果我从PC(/windows/fonts)删除Bānglā字体,那么我的浏览器无法从系统加载字体,并且它无法正常工作。我用于@font-face的是:

@font-face {
  font-family: 'Siyam Rupali';
  src: url('fonts/siyamrupali-webfont.eot');
  src: url('fonts/siyamrupali-webfont.eot?#iefix') format('embedded-opentype');
  src: local('Siyam Rupali Regular'), local('Siyam Rupali'),
  url('fonts/siyamrupali-webfont.woff') format('woff'),
  url('fonts/siyamrupali-webfont.otf') format('opentype'),
  url('fonts/siyamrupali-webfont.svg#siyam_rupaliregular') format('svg');
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0980-09FF; //Bengali Range (source: http://www.unicode.org/charts/PDF/U0980.pdf‎‎)
}

无论如何,我从网上下载了Siyam Rupali字体(忘了我害怕的来源),然后使用FontSquirrel的@ font-face生成器制作了网页字体。

我将字体称为:

body{
   font-family: "Siyam Rupali",Cambria,serif;
}

结果:不工作!!!

1 个答案:

答案 0 :(得分:12)

经过长时间的挑战性研究后,我失败了。但突然间,我在Bengali (Bānglā) Wikipedia记得我的书房,在Jayanthanath的帮助下,我们社区将“Siyam Rupali”嵌入孟加拉语(Bānglā)维基百科。讨论可以找到here in this Village Pump discussion archive。然后我得到了一个想法,并在bn.wiki中观察font-embeds的成功结果。然后使用Firefox的“Web Developer”添加,我查看了孟加拉语(Bānglā)维基百科主页的一大堆CSS。并在那里找到了'Siyam Rupali'。然后从那里完全复制语法:

@font-face { font-family: 'Siyam Rupali';
    src: url('https://bits.wikimedia.org/static-current/extensions/UniversalLanguageSelector/data/fontrepo/fonts/SiyamRupali/SiyamRupali.eot?version=1.070');
    src: local('Siyam Rupali'),     url('https://bits.wikimedia.org/static-current/extensions/UniversalLanguageSelector/data/fontrepo/fonts/SiyamRupali/SiyamRupali.woff?version=1.070') format('woff'),        url('https://bits.wikimedia.org/static-current/extensions/UniversalLanguageSelector/data/fontrepo/fonts/SiyamRupali/SiyamRupali.ttf?version=1.070') format('truetype');
    font-style: normal;}

然后我相应地实现了我的CSS。但仍有问题。然后我复制了bn.wiki中使用的文件的路径:

并下载了确切的字体。之后,我发现了一些不必要的大小不匹配,以及我所使用的字体版本。

+=====================+====================+
| PREVIOUS FILE SIZES | BN.WIKI FILE SIZES |
+=====================+====================+
|      EOT : 23KB     |    EOT : 144KB     |
|      TTF : 47KB     |    TTF : 392KB     |
|     WOFF : 26KB     |    WOFF : 166KB    |
|      SVG : 71KB     |     [NO SVG]       |
+=====================+====================+

我认为这可以使正确的字形有所不同。所以只需用新下载的版本替换我的字体。最后一点代码:

@font-face {
  font-family: 'Siyam Rupali';
  src: url('fonts/SiyamRupali.eot?version=1.070');
  src: local('Siyam Rupali'), url('fonts/SiyamRupali.woff?version=1.070') format('woff'),       url('fonts/SiyamRupali.ttf?version=1.070') format('truetype');
  font-style: normal;
  unicode-range: U+0980-09FF; //Bangla Range (source: http://www.unicode.org/charts/PDF/U0980.pdf‎‎)
}

它就像一个魅力!我并不关心IE6,因为即使是防弹,它也是愚蠢的! :(我测试了Firefox 20.0,Opera 10.10和Chrome 30.0.1599.101 m。

字体Siyam Rupali现已通过开发人员社区提供:

感谢Tanbin Islam Siyam( Potasiyam )的精彩字体:Siyam Rupali。

修改

以下列表可以很好地概述孟加拉语(Bānglā)Unicode可用性的改进现状:

编辑2

我发现unicode-range:导致Chrome出现问题。由于Siyam Rupali是一个非常好的字体,有大量的字形,我们不必提及范围。所以,你可以避免unicode-range: U+0980-09FF;。 :)