2017-02-13 82 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

要在字體中使用特定字符,您可能必須明確指定數字代碼 - 使用操作系統附帶的任何字符映射實用程序來查明它是什麼。如果是我,我只是一種不同的字體 - 生活太短了! :-) –