線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4294
推到 Plurk!
推到 Facebook!

預覽檔案字型

答題得分者是:歸木淡
crazycat
一般會員


發表:22
回覆:20
積分:8
註冊:2003-04-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-19 13:15:40 IP:220.132.xxx.xxx 未訂閱
譬如.我有一堆字型檔.可是我不想每個都裝.如果每一個都點開來看.就會用到 Windows內建的 fontview.exe 觀看 又慢.又不方便 所以希望自己寫個預覽器    我想做一個預覽檔案字型的程式 規劃如下圖(我用剪貼的方式做圖.希望能做到如下圖)     右邊我暫時用 memo 請問.我選到的字型檔案.如何顯示於右邊?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-19 14:20:53 IP:202.39.xxx.xxx 未訂閱
參考這篇試試 "如何列出指定字型(ttf)中所有的字?" http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36531 -- hagar.
wameng
版主


發表:31
回覆:1336
積分:1183
註冊:2004-09-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-20 10:23:51 IP:61.222.xxx.xxx 未訂閱
載入外部字型檔 可用 AddFontResource 及 RemoveFontResource 不過,我是很懶得寫這類東西。 有現成的。加減用一用就好了。 在此推薦 Font Xplorer 在Toget都有得下。 你要的他都有 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-20 14:57:28 IP:210.69.xxx.xxx 未訂閱
AddFontResource 和 RemoveFontResource 是安裝和移除字型, 並非預覽    
// Adding the font ..
AddFontResource(PChar('XXXFont.TTF'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);    // .. removing the font
RemoveFontResource(PChar('XXXFont.TTF'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
crazycat
一般會員


發表:22
回覆:20
積分:8
註冊:2003-04-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-20 15:34:32 IP:220.132.xxx.xxx 未訂閱
wameng 版主 剛試了一下.. procedure TForm1.Button1Click(Sender: TObject); begin AddFontResource('d:\src\字型\文鼎字型\Huo00bp.ttf'); Memo1.Font.Name := '文鼎火柴體'; end; 是可以..但是變成直接就安裝了 我試了以下 RemoveFontResource('文鼎火柴體'); RemoveFontResourceA('文鼎火柴體'); RemoveFontResourceW('文鼎火柴體'); RemoveFontResource('文鼎火柴體'); 都不能反安裝.設定/字型單裡也沒有. 但是所有文書處理的字型選項裏都有了"文鼎火柴體"...到底安裝到那兒去了? pcboy2大大 既然AddFontResource 是直接安裝字型 那麼您的AddFontResource(PChar('XXXFont.TTF')); 不是也一樣 直接就安裝了嗎?
wameng
版主


發表:31
回覆:1336
積分:1183
註冊:2004-09-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-20 17:42:10 IP:61.222.xxx.xxx 未訂閱
BOOL RemoveFontResource( LPCTSTR lpFileName // address of font-resource filename ); 請注意指的是檔案名稱,非字型名稱。 SendMessage( HWND_BROADCAST, WM_FONTCHANGE, 0, 0 ); 告知其他程式。 例外補充一點 所有 AddFontResource 的字型 在重開機後就取消了。 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-22 09:54:08 IP:203.204.xxx.xxx 未訂閱
crazycat 兄, 安裝字型和安裝軟體有點不一樣 安裝軟體一般會將軟體安裝到系統磁碟 (一般是 C:) 安裝字型, 有些光碟片會提供給您選項, 是否要拷貝到硬碟 有些是直接就拷貝到硬碟 不拷貝到硬碟, 就是將字形的路徑設定到光碟, 這樣可以省硬碟空間 拷貝到硬碟的作法, 是安裝程式幫您做了拷貝的動作 和 設定字型路徑 AddFontResource 應該是只做字型路徑設定, 所以沒有所謂安裝到哪去了, 或者說就是安裝在目前自行的目錄 ********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
歸木淡
中階會員


發表:1
回覆:49
積分:75
註冊:2005-09-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2006-10-14 11:18:26 IP:71.235.xxx.xxx 未訂閱
在onformcreate中加入 AddFontResourceex('D:\DoulosSILR.ttf',FR_PRIVATE,nil) ; 這個字型不會被其他程序所看見. AddFontResourceex('D:\DoulosSILR.ttf',FR_PRIVATE or FR_NOT_ENUM,nil) ; 這個字型不會被其他程序所看見, 也不會出現在screen.fonts中, 只是可以用.
系統時間:2017-10-19 2:37:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!