全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1164
推到 Plurk!
推到 Facebook!

要如何把Font裡的字全部都....

尚未結案
KuengYan
一般會員


發表:18
回覆:17
積分:7
註冊:2002-08-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-09 14:42:19 IP:211.23.xxx.xxx 未訂閱
各位好,         有個問題想請教, 就是要如何把某個字型裡的字全部都捉出來呢?  比如說"新細名體"...裡面所支援的所有字..要如何來捉出來...似乎很少看到相關的文章咧?? 請各位賜教了!!謝謝!
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-09 17:25:55 IP:61.221.xxx.xxx 未訂閱
您好: Screen->Fonts可以取得所有的字型 或參考http://delphi.ktop.com.tw/topic.php?topic_Id=20021 ~~應無所住而生其心~~ 發表人 - Terrychen 於 2004/02/09 17:31:16
KuengYan
一般會員


發表:18
回覆:17
積分:7
註冊:2002-08-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-09 18:26:20 IP:211.23.xxx.xxx 未訂閱
引言:您好: Screen->Fonts可以取得所有的字型 或參考http://delphi.ktop.com.tw/topic.php?topic_Id=20021 ~~應無所住而生其心~~
您好, 不好意思. 我的意思是要把某個"字型"裡 所有支援的字都可以捉出來..而不是系統裡有哪些字型. 但也謝謝您的回答..
tqpzxy
一般會員


發表:13
回覆:22
積分:7
註冊:2003-11-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-15 13:07:27 IP:203.187.xxx.xxx 未訂閱
   LOGFONT lf;
   ZeroMemory(&lf, sizeof(LOGFONT));   // lf 各欄位若為零,則產生預設字型。
   lf.lfCharSet = CHINESEBIG5_CHARSET;   // 詳見說明檔
   lstrcopy(lf.lfFaceName, TEXT("某字型名稱"));       HFONT hFont = CreateFontIndirect(&lf);
   SelectObject(hdc, hFont);       LPTSTR szChar = reinterpret_cast( calloc(2, sizeof(TCHAR) );
   ZeroMemory(szChar, 2);
#ifdef UNICODE
   for (int i = 0; i < 0x10000;   i) {
      szChar[0] = i;
      DrawText(hdc, szChar, -1, &rcClient, DT_WORDBREAK);
   }
#else
   for (int i = 0; i < 0x100;   i) {
      szChar[0] = i;
      DrawText(hdc, szChar, -1, &rcClient, DT_WORDBREAK);
   }
#endif 
   free(szChar);
請注意: 1. 字型需配合字集文字才能正確顯示。 2. CreateFontIndirect(或 CreateFont )傳回的 font handle ,有時不會和你要求的一模一樣,例如要求的字型不存在,則 Windows 會「替你選擇」接近的字型。欲得知最後得到什麼字體,請使用 GetTextMetrics 查字體規格, GetTextFace 查字型名稱。
系統時間:2024-07-04 14:10:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!