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

如何列出指定字型(ttf)中所有的字?

缺席
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-29 10:34:18 IP:203.67.xxx.xxx 未訂閱
我看到之前的文章中有人寫從window 抓指定字產生bitmap, 但有沒有辦法讓程式自己把所有的字依照unicode的方式全部取出來, 然後也產生bitmap,這樣就可以讓一些其他的系統用? Best Regards, Rex Chiu Rex
------
Best Regards,
Rex Chiu
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-02 11:09:31 IP:61.56.xxx.xxx 未訂閱
引言: 我看到之前的文章中有人寫從window 抓指定字產生bitmap, 但有沒有辦法讓程式自己把所有的字依照unicode的方式全部取出來, 然後也產生bitmap,這樣就可以讓一些其他的系統用? Best Regards, Rex Chiu Rex
突然想到,基本上我們只要Unicode 中的BMP就好,那麼我們便知道他的內碼範圍 是 0~65535,因此我們只需要一個方法,由內碼得知字,然後再加上之前的bitmap產生的方法即可. 就是有點像 chr(65)==> A的方式. 但是有人知道,unicode 的字怎麼弄嘛?有類似 chr()這種函數的方法嘛? Best Regards, Rex Chiu
------
Best Regards,
Rex Chiu
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-02 12:10:08 IP:61.64.xxx.xxx 未訂閱
http://www.Unicode.org 先去看看 可利用網站 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=35464 不過 代至不是這泥ㄟ 簡單的 哈哈 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-04 09:29:31 IP:61.66.xxx.xxx 未訂閱
在Delphi 7 中 var k:widechar; i:integer; begin for i:=$4E00 to $9FA5 do begin k:=widechar(i); showmessage(k); end end 可以列出大部分的 CJK 字. 但是遺憾的事情是,showmessage()似乎是先將 unicode 的字轉成ANSI 然後才,顯示出來,因此遇到ANSI缺的字,或者是其他簡體日文韓文字時均無法 顯示出來, 不過令人讚賞的是 Delphi 7 對 unicode 終於有比較好的 support Best Regards, Rex Chiu
------
Best Regards,
Rex Chiu
s8556026
一般會員


發表:10
回覆:43
積分:15
註冊:2003-07-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-27 11:20:04 IP:203.69.xxx.xxx 未訂閱
看到 DWORD GetFontUnicodeRanges( HDC hdc, // handle to DC LPGLYPHSET lpgs // glyph set ); 不會用 再來用…就看到了… TextOutW(Image1.Canvas.Handle,0,0,buff,sizeof(buff)); 有人會用 GetFontUnicodeRanges 嗎…
s8556026
一般會員


發表:10
回覆:43
積分:15
註冊:2003-07-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-23 15:25:46 IP:61.222.xxx.xxx 未訂閱
在舊版 MSDN 中有一個範例功能和你的要求一樣 大概是在 SAMPLE/SDK/GRAPHIC/GDI/FONT/TTF 還附有說明文件…可是在 新版的 MSDN 裡我就找不到了 有點看不懂呢…有人能說明一下嗎…
ramonliu
一般會員


發表:0
回覆:3
積分:0
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-17 19:17:49 IP:202.39.xxx.xxx 未訂閱
綜合以上的方法... 比較簡單的方式如下 1. Canvas.Font Assign your font 2. use TextOutW(hdc, x, y, PWideChar, count) to show char procedure SelectFont; begin if (FontDialog1.Execute) then PaintBox1.Font.Assign(FontDialog1.Font); // or PaintBox1.Canvas.Font.Assign(FontDialog1.Font); end; procedure showWord(wc: WideChar) begin TextOutW(PaintBox1.Canvas.Handle, 0, 0, @wc, 1); end;
系統時間:2024-04-20 2:35:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!