PDF中需要Arial字体(BIRT PDF渲染器,Linux)

PDF中需要Arial字体(BIRT PDF渲染器,Linux),linux,birt,Linux,Birt,我已经使用BIRT IDE创建了一个rptdesign文件。此文件内容为Arial字体,当我在windows中将报告导出为PDF时,效果良好 我使用默认的viewerServlet创建报告。但当我将报告移动到linux系统时,报告中的所有内容都以Times New Roman字体显示,而不是以Arial字体显示在PDF文件中 然后我将Arial.ttf文件复制到/var/font/truetype,并将以下行添加到platform/plugins/org.eclipse.birt.report.

我已经使用BIRT IDE创建了一个rptdesign文件。此文件内容为Arial字体,当我在windows中将报告导出为PDF时,效果良好

我使用默认的viewerServlet创建报告。但当我将报告移动到linux系统时,报告中的所有内容都以Times New Roman字体显示,而不是以Arial字体显示在PDF文件中

然后我将Arial.ttf文件复制到/var/font/truetype,并将以下行添加到platform/plugins/org.eclipse.birt.report.engine.fonts_2.3.2.r232_20090202/fontsConfig.xml

    <font-paths>
        ---------------
        ---------------
        ---------------
        <path path="/var/font/truetype" />
    </font-paths>

---------------
---------------
---------------
添加这一行后,所有内容都以Arial字体显示,但粗体的内容似乎被压缩了,看起来非常难看

有没有人面对过这个问题,有什么解决办法

多谢各位 当做
Arun

尝试明确说明字体路径,如下所示:

<font-paths>
   <path path="/var/font/truetype/arial.ttf" />
</font-paths>

设置此属性(字体路径)会导致忽略默认字体目录,而只忽略此集中的路径。这将使Arial成为PDF的唯一可用字体。要包含默认字体(TNR、Courier等),请将eclipse插件下的默认路径(org.eclipse.birt.report.engine.fonts)添加到字体路径条目中

您还可以选择只将Arial.ttf添加到默认目录,并从字体路径中删除所有条目,然后以这种方式选择Arial类型。任何一种方法都应该有效

祝你好运

谁能告诉我有没有 linux中的Arial字体出现问题,如果 字符设置为粗体

对我们来说一切都很好。下面是我的fontsConfig.xml修补程序:

<font-aliases>
    <mapping name="sans-serif" font-family="Arial" />
    ...
</font-aliases>
<font-paths>
    <path path="fonts"/>
</font-paths>

...

放入字体文件夹arial.ttf和arial.xml文件。

这是我的fontsConfig\u pdf.xml文件

<font>
<font-aliases>
    <mapping name="sans-serif" font-family="Arial" />
    <mapping name="serif" font-family="Times-Roman" />
    <mapping name="monospace" font-family="Courier" />
</font-aliases>
<font-encodings>
    <encoding font-family="Times-Roman" encoding="Cp1252" />
    <encoding font-family="Helvetica" encoding="Cp1252" />
    <encoding font-family="Courier" encoding="Cp1252" />
    <encoding font-family="Zapfdingbats" encoding="Cp1252" />
    <encoding font-family="Symbol" encoding="Cp1252" />
    <encoding font-family="STSong-Light" encoding="UniGB-UCS2-H" />
    <encoding font-family="STSongStd-Light" encoding="UniGB-UCS2-H" />
    <encoding font-family="MHei-Medium" encoding="UniCNS-UCS2-H" />
    <encoding font-family="MSung-Light" encoding="UniCNS-UCS2-H" />
    <encoding font-family="MSungStd-Light" encoding="UniCNS-UCS2-H" />
    <encoding font-family="HeiseiMin-W3" encoding="UniJIS-UCS2-H" />
    <encoding font-family="HeiseiKakuGo-W5" encoding="UniJIS-UCS2-H" />
    <encoding font-family="KozMinPro-Regular" encoding="UniJIS-UCS2-H" />
    <encoding font-family="HYGoThic-Medium" encoding="UniKS-UCS2-H" />
    <encoding font-family="HYSMyeongJo-Medium" encoding="UniKS-UCS2-H" />
    <encoding font-family="HYSMyeongJoStd" encoding="UniKS-UCS2-H" />
</font-encodings>
<font-paths>
        <path path="/var/fonts/truetype"/>
</font-paths>
<composite-font name="all-fonts">
    <font font-family="Times-Roman" catalog="Western" />
    <font font-family="MSung-Light" catalog="Chinese" />
    <font font-family="HeiseiKakuGo-W5" catalog="Japanese" />
    <font font-family="HYGoThic-Medium" catalog="Korean" />
</composite-font>
</font>

我花了数小时搜索:

export BIRT_FONT_PATH=/usr/share/fonts/truetype
执行此操作并完成

然后我将Arial.ttf文件复制到/var/font/truetype

Arial.ttf仅包含字体的普通版本。 对于粗体、斜体和斜体,有不同的文件(arialbd.ttf等)。
也可以复制这些内容。

我不知道您的特定框架,但它是否提供了将使用过的字体嵌入PDF的可能性?这样做之后,粗体字符看起来非常粗体和压缩。我认为这和包含字体文件夹的文件是一样的。它不会加载所有字体,而是只加载Arial字体。Arial.ttf字体本身有一个粗体变体。只要找到字体类,PDF引擎就无法处理粗体字。您好,谢谢您的回答。但这对我来说仍然不起作用。我已经在fontsConfig_pdf.xml文件中添加了字体别名和字体路径。你能告诉我你报告中的黑体字是如何工作的吗?看起来可以吗?可以。粗体Arial看起来不错。你有多个fontsConfig文件吗?我建议您(如果可能的话)保留1个文件fontsConfig.xml并配置文件中的所有内容。