在jsPDF中添加自定义字体simsun

时间:2016-05-05 08:09:31

标签: unicode fonts font-face jspdf

我需要使用中文字母输出pdf,并编写如下链接所示的代码:

Custom font faces in jsPDF?

和我的代码:

的CSS:

@font-face {
  font-family: SimSun;
  font-weight: normal;
  font-style: normal;
  src: url("./simsun.ttc");
}

body{
  font-family: 'SimSun';
}

JS:

pdf.addFont('SimSun', 'SimSun', 'normal','StandardEncoding');
pdf.setFont('SimSun');
pdf.text(20, 20, '西溪园区 5号楼 1F');
pdf.save('TestSVG.pdf');

正如有人说的那样,我已经确认addFont是公开的:

API.addFont = function(postScriptName, fontName, fontStyle) {
    addFont(postScriptName, fontName, fontStyle, 'StandardEncoding');
};

我还发现'Simsun'的postScriptName是SimSun。 http://mirror.sars.tw/FreeBSD_Chinese_HOWTO/simsun.html

有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:0)

您正在尝试加载truetype 集合,而不是truetype font 。当前版本的CSS不支持字体集合,因此请解压缩您的集合,然后加载单个字体。

@font-face {
  font-family: SimSun;
  font-weight: normal;
  font-style: normal;
  src: url("./simsunregular.ttf");
}

@font-face {
  font-family: SimSun;
  font-weight: bold;
  font-style: normal;
  src: url("./simsunbold.ttf");
}

...etc...

body{
  font-family: 'SimSun';
}