字体间距不正确,无法填写 PDF 表单

字体间距不正确,无法填写 PDF 表单

我正在填写这个 PDF 表格,国税局表格 1040在 Ubuntu 20.04 上的 evince 3.36.7 中,我输入的数字与背景栏没有正确对齐,请看此屏幕截图:1040 表格,似曾相识 在 填写的框中123456789,正确的呈现应该是123|45|6789,但5几乎被推到第二条垂直线的右侧。数字之间的间距比表单创建者想要的要宽得多。

看起来Helvetica LT Std Bold字体已分配给此框,但我没有此字体。Ubuntu 用 替换了它DejaVu Sans Bold

Arial Bold我安装了 MS Core Fonts 并通过编辑文件更改了替换fonts.conf。但是,间距没有改变。(未显示屏幕截图。)

我也尝试在 Firefox、Chrome 和 Okular 中填写和呈现表单,但它们存在相同的间距问题。

我认为这个问题与这些帖子中报告的问题有着相同的根源。

那里的问题几年来一直没有解决,而且看来很难解决。

我想知道针对此特定 PDF 表单的任何解决方法。是否可以指定替代字体大小(以补偿过宽的间距)?是否有可用的 PDF 查看器?我应该购买字体吗?

Windows 和 Mac 没有这个问题吗?(如果有,为什么?这本质上不是字体的问题吗?我猜Helvetica LT可能在很多 Windows 或 Mac 电脑上都不存在这个问题。)如果它们有效,那么winevirtualbox有效吗?


编辑

PDF 中使用的字体如下。其中,输入字段的字体为Zapf DingbatsHelveticaHelvetica LT Std Bold。我相信有问题的数字是Helvetica LT Std Bold

$ pdffonts f1040_ssn_sample.pdf 
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
WVBKSB+UniversalStd-NewswithCommPi   CID Type 0C       Identity-H       yes yes yes   1193  0
XULQGZ+ZapfDingbatsStd               CID Type 0C       Identity-H       yes yes yes   1198  0
TGPSCH+HelveticaNeueLTStd-Roman      Type 1C           WinAnsi          yes yes no    1200  0
ZHOHIV+HelveticaNeueLTStd-BlkCn      Type 1C           WinAnsi          yes yes no    1202  0
XEPVGZ+HelveticaNeueLTStd-BdOu       Type 1C           WinAnsi          yes yes no    1204  0
XEPVGZ+HelveticaNeueLTStd-Blk        Type 1C           WinAnsi          yes yes no    1206  0
CEYUYP+ITCFranklinGothicStd-Demi     Type 1C           WinAnsi          yes yes no    1208  0
UXBDQF+HelveticaNeueLTStd-Bd         Type 1C           WinAnsi          yes yes no    1210  0
UXBDQF+HelveticaNeueLTStd-BdCn       Type 1C           WinAnsi          yes yes no    1212  0
ATBIWT+HelveticaNeueLTStd-It         Type 1C           WinAnsi          yes yes no    1214  0
Helvetica                            Type 1            WinAnsi          no  no  no     143  0
HelveticaLTStd-Bold                  Type 1            WinAnsi          no  no  no     144  0
ZapfDingbats                         Type 1            ZapfDingbats     no  no  no    1114  0
ZHOHIV+AdobePiStd                    CID Type 0C       Identity-H       yes yes yes     69  0

答案1

一个非常相似的问题被发现是一个字体配置错误,并已修复Ubuntu 21.04并且上游

/etc/fonts/conf.avail/45-latin.conf因此,可能在 20.04 上,打开编辑并添加此代码片段就足够了:

<alias>
    <family>Courier Std</family>
    <default><family>monospace</family></default>
</alias>

答案2

一个选择是可能您需要做的就是获取 Helvetica 文件的副本.dfont,将其转换为.ttf,然后将其复制到您的字体目录。

要点如下:

  1. 安装火锅
    sudo apt install fondu
    
  2. 下载 Helvetica.dfont 文件来自这个有用的 GitHub 存储库
  3. 转换字体:
    fondu Helvetica.dfont
    
  4. .ttf使用打开结果字体查看器应用程序。最简单的方法是双击 Nautilus 中的字体文件。
  5. 点击右上角的“安装”按钮

希望这会给你一个间距更好的字体。

相关内容