找回密码
 立即注册

QQ登录

只需一步,快速开始

大Vi

高级会员

160

主题

356

帖子

1126

积分

高级会员

积分
1126
大Vi
高级会员   /  发表于:2024-11-7 14:59  /   查看:227  /  回复:7
1金币
本帖最后由 大Vi 于 2024-11-7 15:33 编辑

中文乱码,引入字体还是无效
1、怎么判断字体是否注册成功?

2、这个字体是我随便挑个字体就行?还是必须和系统的字体一致? image.png169370421.png
字体引入我只用了一个,await registerServerFont("微软雅黑", "normal", "spreadJS/fonts/msyh.ttf")





3、如果不设置字体,spreadjs默认字体是“Calibri”吗?

最佳答案

查看完整内容

1、getFont不是公开的接口,ts中不包含此接口。 2、好的。 3、Calibri本机自带,您可以在windows/fonts文件夹下找找看。

7 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-7 14:59:35
来自 4#
1、getFont不是公开的接口,ts中不包含此接口。

2、好的。

3、Calibri本机自带,您可以在windows/fonts文件夹下找找看。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-7 17:33:54
2#
您好,

1、一般来说可以通过GC.Spread.Sheets.PDF.PDFFontsManager.getFont(fontName)接口来判断是否注册改字体。

2、不一定要一致,理论上只是建立了引用关系。

比如:在设计器中设置某个单元格的字体为宋体,但是在注册时候可以用微软雅黑字体来进行注册,此时导出PDF时,宋体单元格的字体将被渲染为微软雅黑。
回复 使用道具 举报
大Vi
高级会员   /  发表于:2024-11-7 18:01:15
3#
Joestar.Xu 发表于 2024-11-7 17:33
您好,

1、一般来说可以通过GC.Spread.Sheets.PDF.PDFFontsManager.getFont(fontName)接口来判断是否注 ...

1、getFont方法在我这个版本就有了吗?因为我在使用的时候,校验提示对应ts文件没有这个方法的定义。

2、我已经解决了字体问题,和sheet使用字体有关,比如sheet用的哪个字体,那注册字体的registerServerFont方法第一个参数,必须是sheet使用的字体,不然注册就没作用,至于第三个你用什么字体文件就无所谓,相当于把这个字体用其他字体来显示。
3、我看到我的sheet是插件默认字体Calibri(我没设置过字体),从哪里可以下载这个Calibri的字体文件呢?我想保持系统中和导出文件字体的一致。
回复 使用道具 举报
大Vi
高级会员   /  发表于:2024-11-11 11:01:10
5#
Joestar.Xu 发表于 2024-11-8 17:37
1、getFont不是公开的接口,ts中不包含此接口。

2、好的。

windows/fonts的字体引入居然是乱码的,这个对字体文件有什么隐性限制吗?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-11 17:16:05
6#
您在SpreadJS中设置的字体是什么字体?

是给中文字体设置了Calibri,然后导出吗?
回复 使用道具 举报
大Vi
高级会员   /  发表于:2024-11-11 17:38:22
7#
Joestar.Xu 发表于 2024-11-11 17:16
您在SpreadJS中设置的字体是什么字体?

是给中文字体设置了Calibri,然后导出吗?

我没有设置过SpreadJS的字体,只是我用这个打印看到的是Calibri
  1. sheet.getRange(0, 0, sheet.getRowCount(), sheet.getColumnCount()).font()
复制代码
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-12 09:52:12
8#
您好,请您提供下您复现此问题时的模板,这边看一下模板中具体的设置。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部