Thu*_*bit 4 php truetype tcpdf
我正在使用TCPDF来创建包含日文字符的PDF.使用TrueType字体ArialUni,大多数字符都正确显示,除了日元符号显示为方框而不是¥.
以下是使用ArialUni生成的PDF的片段:

所以我尝试了另一种字体.以下是使用GT200001生成的PDF的相同部分:

以下是使用Helvetica的相同部分:

这是使用GNU的FreeSans的相同部分:

我希望第二行显示为"(渋谷猿,¥8,000)"
我并不感到惊讶,黑体和Freesans不能正确显示汉字,但我不能完全理解为什么其他两种字体可以使汉字,而不是日元的象征,这是更为常见.
创建PDF的Web服务器是运行Ubuntu的LAMP.我正在使用Chrome查看OS X上的PDF(使用浏览器中的视图).我也尝试用Firefox下载PDF并在预览中显示.我得到基本相同的结果:ArialUni和GT200001不显示日元的象征,而黑体和Freesans不显示汉字(但做显示日元符号).
我知道我可以为PDF的不同行/单元格使用不同的字体,但汉字和日元符号在同一行.
如何使用TCPDF将汉字和日元符号显示在一行中?
在我的PDF代码顶部附近,我使用TCPDF的addTTFfont()加载字体;
$this->font = $this->addTTFfont(K_PATH_FONTS.'arialuni.ttf', 'TrueTypeUnicode', '', 32);
Run Code Online (Sandbox Code Playgroud)
这是我用来编写PDF部分的代码.
$pdf->SetFont('arialuni','',10);
$pdf->MultiCell(105, $remarks_height, $remarks, 'B', 'L', false, 0, '', '', true, 1, false, true, $remarks_height, 'T');
Run Code Online (Sandbox Code Playgroud)
在这篇维基百科文章中,您可以阅读有关此角色的更多信息.
基本上,有两种不同的方式来编写这个日语汉字,就像其他一些符号一样.从接受的答案"我正在使用¥,而不是¥",我们可以看到他正在使用'西方'或Unicode¥符号,当他实际上想要使用双倍宽度字符¥.