把阿拉伯字体的TTF/OTF格式转换为WOFF、EOF格式?

10

我知道有类似的问题

我尝试了Font Squirrel Generator并下载了许多阿拉伯语字体,所有这些字体都可以正确地显示英文文本,但是没有一种可以用于阿拉伯文字母!

所以,是否有桌面工具(因为所有网络应用程序都无法使用),可以将阿拉伯字体转换而不会破坏它们?

我购买了一个阿拉伯字体,只想将其转换以便在网页上使用,我不喜欢每个月向像fonts.com这样的高级网站付费获取这些字体的想法!

如果你好奇我的CSS,这是:

/* CSS */
@font-face {
    font-family: 'GESSTVBold';
    src: url('arabic-3/ge_ss_tv_bold-webfont.eot');
    src: url('arabic-3/ge_ss_tv_bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('arabic-3/ge_ss_tv_bold-webfont.woff') format('woff'),
         url('arabic-3/ge_ss_tv_bold-webfont.ttf') format('truetype'),
         url('arabic-3/ge_ss_tv_bold-webfont.svg#GESSTVBold') format('svg');
    font-weight: normal;
    font-style: normal;

} 

.ar {
    font-family:"GESSTVBold";  
}

<!-- HTML -->
<h1 class="ar">مرحبا بالخط العربي</h1>

谢谢


我知道你已经尝试了Font Squirrel Generator,但它有子集选项。也许它正在切断你的阿拉伯字母。你是否尝试在专家模式下禁用它? - Litek
你能告诉我应该取消哪个选项吗?如果可以写成答案,那么如果它有效,我就可以接受它 ;) - Anas Nakawa
5个回答

5
希望还不算太晚,可以试试font2web。对我来说完全有效,只需使用代码页1256编码保存您的html文件即可。

5
  1. 切换 Font Squirrel 专家模式

  2. 然后在 Subsetting:选择无子集自定义子集

  3. 完成! :)

编辑:

在自定义子集中,您需要勾选所需的子集或在输入框中输入它。


这很接近了,但对于某些字体留下了一个小的间距问题。 - numediaweb

3
我尝试使用Font Squirrel,但没有阿拉伯语的Unicode支持。我尝试设置Unicode范围:0600-06FF, 0FB50-0FDFF, 0FE70-0FEFE,但是在剪切阿拉伯字母时仍然存在相同的问题。最后,我尝试了这个网站http://everythingfonts.com/otf-to-woff,结果非常好。

enter image description here


请问您能否分享该页面的HTML/CSS和字体,因为我已经尝试了该网站,但仍然存在空格错误。我使用Chrome浏览器。 - numediaweb
请注意,我最终使用了这个网站:http://everythingfonts.com/otf-to-woff,并成功将字体从otf转换为woff,请附上您的otf文件,我会为您尝试并制作css和示例html。无论如何,可能有一些旧浏览器仍不支持woff字体,或者您的字体不是标准字体。 - Zakaria
everythingfonts的限制为0.4兆字节,并且会采取激进的方式推动升级或付款;因此在你浪费时间之前,请查看你的文件大小(或预算);我刚刚尝试了Fira-Sans,但由于大小被阻止了。 - Martin Zaske

2

我手头上没有阿拉伯字体,所以你需要尝试一下以下方法:

  1. 上传你的字体文件
  2. 选择专家模式
  3. 在选项列表中,你会看到子集选项 - 这可以削减不必要的字符以节省带宽 - 尝试选择“不使用子集”(除非你知道Unicode范围并想指定它们)
  4. 告诉我是否有效。

现在我可以看到阿拉伯字母,但它们仍然没有连接在一起(所有字母都是分开的)。 - Anas Nakawa
我也遇到了同样的问题,我看到所有的字母都分开了。有什么办法可以修复吗? - omarello
我对阿拉伯字体完全没有经验,但有一个可能性:一些Unicode功能被Font Squirrel生成器删除了。也许是上下文连字或上下文花纹?您可以尝试在不同的软件中进行子集化。 - Litek

1

在转换波斯语或阿拉伯语字体时,我遇到了一些问题。例如,单词被分开了。所以 الیاس 转换成了 ال‌ی‌ا‌س

为了适当压缩波斯字体,我使用了 transfonter 网站,并进行了以下配置:

  • Family support 选中
  • local rule 未选中
  • Fix vertical metrics 未选中
  • Base64 encode 未选中
  • Formats: WOFFWOFF2
  • Hinting: Strip Hinting
  • Subset: Arabic
  • Unicode Ranges: U+0600-06FF
  • Font display: swap
该网站可以成功地将 1.1 MB TTF 转换为 166.1 KB WOFF2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接