|
可能您的運氣很好,沒遇到過這個問題
gtk-base的程式與qt-base程式的字大小不同
您會發現firefox的工具列字型比konqueror小
首先您先得知道一下
螢幕上的東西都是用點?硭愕
如果您的螢幕是調成1024*768(x軸1024點,y軸768點)
Show一?(未經縮放的)800*600的圖時
這?垐D的寬度就是螢幕寬度的800/1024=0.78125倍
大約?兹ノ災坏3/4
如果您將同一個螢幕調成800*600,這?垐D就會擠?M整個螢幕
注意:上面的大小都是用螢幕比例?硭愕
?際的尺寸(長寬各為幾公分)是要看您的螢幕有多大
以15吋螢幕為例:
15吋螢幕是對角線大約15吋,如果是4:3的螢幕
則寬度高度約為12吋和9吋
則在不同設定時,這?800*600的圖的?際大小(寬度)為
1024*768:(800/1024)*12=9.735吋=23.8125公分
800*600:(800/800)*12=12吋=30.48公分
但是如果您是12吋的螢幕,看見的大小就變成
1024*768:23.8125*(12/15)=19.05公分
800*600:30.48*(12/15)=24.384公分
可以看見:
1.相同螢幕尺寸,則畫面點數愈多,圖形就愈小
2.相同的畫面點數,則螢幕尺寸愈小,圖形就愈小
但是字往往都比圖小很多
例如邊長用10個點的字在上面的螢幕設定下分別為
0.29765 cm
0.381 cm
0.238125 cm
0.3048 cm
像第三個,就會變得太小
因此最好的設定法就是:
10號字不要用10點?肀硎荆且梦覀儭貉劬λ姷拇笮 ?矶
所以程式必須知道您的螢幕尺寸以便做適度的調整
不過只要1024*768的螢幕,管你是12吋或100吋,對程式?碚f(似乎)都一樣
因此我們可以騙程式我們的螢幕尺寸
以便得到我們想要『看到的』字型大小
或者我們該告訴程式:我的螢幕『每英吋有幾個點』(就是所謂的dpi:dots per inch)
在繼續看下去之前,我們先了解一下pt(point)和px(pixel)這兩種字體大小的單位
在Dictionary.com查到的結果
point
26. Printing. A unit of type size equal to 0.01384 inch, or approximately 1/72 of an inch.
pixel
The basic unit of the composition of an image on a television screen, computer monitor, or similar display.
pt:是印刷界的一種長度單位,大約是1/72英吋
px:就是螢幕上的一個點
值得注意的就是當螢幕解析度為72dpi時
1px就是1pt
KDE(qt)和GNOME(gtk)會如何調整字體大小的顯示呢?
注意:接下?淼恼f明是我根據?驗後猜的
KDE的10號字(size 10)就是10pt
但是他怎麼知道你的螢幕多大呢
KDE會根據xorg.conf的設定(SuSE 10的使用者可以在/etc/X11/下找到)
Section "Monitor"
DisplaySize 305 229
HorizSync 30-75
Identifier "Monitor[0]"
ModelName "MOZO M5++"
Option "DPMS"
VendorName "MZI"
VertRefresh 50-85
UseModes "Modes[0]"
EndSection
在這段中描述這個螢幕的尺寸是305mm*229mm(15吋)
若您設定為1024*768
因此每一個px差不多305/1024=0.298mm
所以要顯示10pt=10/72英吋=0.353公分時
就會使用0.353/0.0298=11.8大約12點(px)的字
而
GNOME中的10號字,則是利用10px?碚{整
因為72dpi時1pt=1px,若螢幕為96dpi我們只要將顯示的點數乘以96/72,則大小就能維持10pt
在gnome-control-center中我們可以看見設定解析度的地方(預設為96dpi)
在gnome control center中調整字型的解析度
如果像上圖的設定,則size 10的字
就是用10px*(96/72)=13.3大約13點(px)的字?盹@示
注意這個字在96dpi的螢幕顯示中就是10pt
那平平是10號字,應該gtk程式會較大才對啦?
問題就出在KDE和GNOME的溝通不良
KDE的控制台基本上是無法控制gtk-base的程式的
以我的情況而言,使用KDE作為桌面
?際螢幕解析度為1024/12=85.3dpi
10號字在qt-base的程式(如前面所計算)就是0.353公分
而在gtk-base的程式(如firefox,gimp)就只會用10px?盹@示
大小就是(10/1024)*12英吋=0.1172英吋=0.298公分
因此看起?砭拖裣旅娴膱D一樣了
gtk-base的程式與qt-base程式的字大小不同
有以下方法可以解決:
1. 如果您有安裝gnome control center
打算將解析度設為?際解析度
$cd ~/.kde/Autostart/ $ln -s /opt/gnome/lib/control-center-2.0/gnome-settings-daemon .
然後在gnome control center中設定您的螢幕?際解析度
(以我的例子要設定86dpi,因為85dpi還沒到某一個點數的字)
(註:firefly字型內嵌有12、13、14、15、16px的點陣字)
只有這樣當您啟動KDE時,gnome control也在背景執行
gtk的10號字就會調整成10*(86/72)=12點(px)=0.357公分
就和qt-base程式一樣了
(其?我在兩個控制中心都是設成11號字)
調整字型解析度後
2. 沒有安裝gnome control center
我們可以調整xorg.conf的DisplaySize
讓解析度變成96dpi,就像gnome的預設值一樣
但是不建議去編輯這個文件,若不小心動到不該動的會造成無法進入X
(當然我們改動設定之前應該先備份一下)
在SuSE中提供了方便的設定工具sax2(雖然我對他有點怨言)
您也可以由Yast2中?碜
在sax2中設定螢幕(字型的)解析度
以15吋螢幕1024*768而言,調成13.3吋,解析度就是96dpi
(其他尺寸請您自行計算吧)
下次再登入X您的字型就搞定了 |
|