找回密码
 立即注册

QQ登录

只需一步,快速开始

天涯路远
注册会员   /  发表于:2024-11-4 15:20  /   查看:241  /  回复:5
当前SpreadJS的字体是否是写死在表格中的,导致一些windows能用的字体在MacOS上无法使用,是否考虑从本地读取支持的字体,还是提供字体引入方式,在不支持的使用进行引入,保证多平台字体的兼容性

5 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-4 16:30:07
沙发
本帖最后由 Lynn.Dou 于 2024-11-4 16:59 编辑

您好,
“默认字体在MacOS无法使用”能否通过一个具体的示例来说明下这个问题,以便我们去调研原因。
SpreadJS只是提供了字体信息,其渲染实际是靠浏览器完成的。
所以您可以将SpreadJS的默认字体修改为macos支持的字体,使macos浏览器可以将字体渲染。
示例代码:
// 修改bodyfont
sheet.currentTheme().bodyFont("simsun");
workbook.refresh();
回复 使用道具 举报
天涯路远
注册会员   /  发表于:2024-11-6 11:55:26
板凳
Lynn.Dou 发表于 2024-11-4 16:30
您好,
“默认字体在MacOS无法使用”能否通过一个具体的示例来说明下这个问题,以便我们去调研原因。
Spr ...

就是有些字体在本地没有,导致选择了字体的时候,没有字体变化
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-6 16:58:11
地板
如果本地没有字体的话,浏览器在渲染时就会使用后备字体显示,这是浏览器的字体策略。
如前所述,SpreadJS只是提供了字体信息,渲染是靠浏览器完成的。

所以建议您在本地安装对应字体,或者选择本地已有的字体,看问题能否解决
回复 使用道具 举报
天涯路远
注册会员   /  发表于:2024-11-6 17:19:02
5#
Lynn.Dou 发表于 2024-11-6 16:58
如果本地没有字体的话,浏览器在渲染时就会使用后备字体显示,这是浏览器的字体策略。
如前所述,SpreadJS ...

但不能让每个用户去安装字体嘛,意思是需要我们去引入字体吗
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-7 10:53:19
6#
是的,需要您去引入字体,这个实质与SpreadJS没有关联了,可以搜索下web端在不同系统平台如何适配字体:比如通过css @font-face去引入字体,如下示例:
6d8d4148c4cd35816a6ac8fbe5dd90a.png653735656.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部