請問如何確定電腦有裝中文字型? |
答題得分者是:歸木淡
|
ralph
初階會員 發表:41 回覆:82 積分:29 註冊:2003-02-04 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 請問如何用程式確定電腦有裝中文字型? 中文字型預留字型的順序是標楷體 細明體 新細明體? 謝謝!讓它去找C:\WINDOWS\Fonts 這目錄下有無你要check的字型檔即可 細明體&新細明體:MINGLIU.TTC 標楷體:KAIU.TTF
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
ralph
初階會員 發表:41 回覆:82 積分:29 註冊:2003-02-04 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您好:
參考以下方式.
procedure TForm1.Button1Click(Sender: TObject); var i:integer; Found:Boolean; begin Found:=false; for i:=0 to Screen.Fonts.Count-1 do begin if (Screen.Fonts.Strings[i]='標楷體') or (Screen.Fonts.Strings[i]='細明體') or (Screen.Fonts.Strings[i]='新細明體') then begin Found:=true; break; end end; if (Found) then ShowMessage('有中文字型!') else ShowMessage('沒有中文字型!'); end;中文版Windows內建就有新細明體,細明體,標楷體. Screen.Fonts.Strings從這裡就可以得到系統中有哪些的字型. 發表人 - supman 於 2005/04/18 00:28:09 |
歸木淡
中階會員 發表:1 回覆:49 積分:75 註冊:2005-09-07 發送簡訊給我 |
對於一些非繁體系統, 即使沒有細明和楷體, 裝有unicode碼的ms mincho和arial也能正常顯示中文. Type
pEnumLogFontEx= ^tagENUMLOGFONTEX;
var
GetFontListTemp: string; function EnumFontfamiliesProc2(p1: pEnumLogFontEx; p2:pointer;fontype:dword;lp:lparam):integer;stdcall;
var
s: string;
begin
s:=p1^.elfLogFont.lfFaceName;
if GetFontListTemp=''
then GetFontListTemp:=s
else GetFontListTemp:=GetFontListTemp '; ' s;
result:=1;
end; function GetFontList(cs: tfontcharset): string;
var
a: tagLogFont;
begin
GetFontListTemp:='';
a.lfCharSet:=cs;
a.lfFaceName:='';
a.lfPitchAndFamily:=0;
EnumFontFamiliesEx(getdc(0),a,@EnumFontfamiliesProc2,0,0);
result:=GetFontListTemp;
end; GetFontList(CHINESEBIG5_CHARSET)即可找到所有繁體中文字.
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |