2012-07-27 73 views
3

字符串如何呈現一個古老的X11位圖字體的字符串?我的意思是類似渲染在X11位圖字體

-*-lucida-medium-r-normal-*-34-*-*-*-*-*-*-* 

我可以找到xfontsel。我只需要一個命令行工具等,以該字體顯示給定的字符串。類似的TrueType字體是行不通的,因爲它必須是完美的像素(我試圖讓每個字母的圖像到OCR在該字體的圖像)。

回答

3

我不知道是否有是一個命令行工具。但你總是可以滾你自己用的Xlib和C.

有人似乎已經書面a simple X11 C program顯示使用Xlib的字符串。改變幾行並編譯:

gcc -lX11 -o xrenderstring xrenderstring.c 

..應該爲你做。

我已經複製了整個程序in this gist(以防它從原始源中消失),修改爲帶兩個參數:1. fontname,2.要呈現的字符串。

所以,你會這樣稱呼它(當然編譯後):

./xrenderstring "-*-lucida-medium-r-normal-*-34-*-*-*-*-*-*-*" "Quick brown fox" 
+1

好的,謝謝!如果我可以:-),我通常會嘗試避免原始的Xlib編碼。 – jdm 2012-07-27 10:58:24

1

找到一個hackish的方式。添加以下的〜/ .Xdefaults:

xedit*editWindow*font: -*-lucida-medium-r-normal-*-36-*-*-*-*-*-*-* 

,然後運行

$ xrdb -merge ~/.Xdefaults 
$ xedit 

然後我輸入字符串,採取了截屏,並比較其在GIMP。

(原來的X11字體不太合適的人畢竟是我的源使用龍力三世36磅(TTF),但沒有抗鋸齒,可能奇怪的提示。)

2

要只呈現字符的字體:

  • xfd -fn '-*-lucida-medium-r-normal-*-34-*-*-*-*-*-*-*'
  • xfontsel -pattern '-*-lucida-medium-r-normal-*-34-*-*-*-*-*-*-*'

呈現特定的字符串:

  • xfontsel -pattern '-*-lucida-medium-r-normal-*-34-*-*-*-*-*-*-*' -sample 'The quick brown fox jumps the shark'