2017-02-13 30 views
2

我赋予了特殊的字体,数字那样:TCPDF/PHP和字体:大写数字(数字下降旧风格?)

default font and number rendering

正如你可以在3例如见,一些数字下降到基线以下。我想实现的是,这些数字不走线下,它看起来像这样:

requested number rendering

在Word这可以在相同的字体的字符设置来轻松设置。如何能像这样在TCPDF中呈现数字?我完全停留在那里,不知道如何继续。

干杯的任何帮助!

+0

尝试设置样式vertical-align:bottom; – Vinay

+0

我不使用HTML/CSS来创建PDF。使用TCPDF-> Cell()方法放置和写入文本。 – datort

+0

你确定你不希望数字下降到基线以下?这是字体的一个特征,也是它赋予其独特性的部分原因。我知道这不是非常有用:-)但说实话,我不认为你想要什么是很容易做到没有非常繁琐的编码。 –

回答

0

这是可以做到的,但它的混乱......在原则上,你将不得不做这样的事情:

  1. 打破你的文本输出成子在那里它改变从字母与数字 - 可能使用preg_split()
  2. Cell()MultiCell()输出文字,直到字母结束和数字开始。
  3. 使用SetY()提高当前的Y位置。
  4. 输出数字。
  5. 将Y位置重置为第3步之前的位置(假定您尚未穿过换行符)。
  6. 必要时重复....

当然,这引发了对所有数字基线 - 从你的样品,它看起来就好像你需要提高的基线只是其中的一些,这会更更烦琐。

祝你好运! :-)

+0

谢谢你的回答。我想知道是否真的没有别的办法。如果你仔细看看例如我原始文章中图像中的“1”。你会看到第一个图像中的1有一个颠倒的T底。你懂我的意思吗?在第二个图像中没有。所以事实证明,这不仅仅是扩展字体或使用不同的基线。字体中的某处必须是“1”的字形版本,该字形在基线上方呈现并使用固定的高度。但我怎么用这个?! – datort

+0

这是我能想到的唯一方法 - 请记住,我早在几年前就开始使用FPDF,而且我的知识很大程度上依赖于此 - TCPDF比FPDF具有更多的功能,所以有可能存在某些内容,我不知道(我只是间歇地使用它)。TCPDF文档中有很多示例,因此详细的浏览可能会显示一些内容。 –

+0

要在字体中使用特定字符,您可能必须明确指定数字代码 - 使用操作系统附带的任何字符映射实用程序来查明它是什么。如果是我,我只是一种不同的字体 - 生活太短了! :-) –