一.c語言中字型的問題
c語言中有兩種顯示方式,即文本方式和圖形方式。就我所知,只能在圖形方式下控制字型.
先看一下c中定義的幾種字型
名稱 索引值 字型說明
default_font 0 8x8 bit-mapped font
triplex_font 1 stroked triplex font
small_font 2 stroked small font
sans_serif_font 3 stroked sans-serif font
gothic_font 4 stroked gothic font
(字型說明中的英文解釋無須明白,在例子的示範中去看)
請看例子(摘自tc3.0的線上說明檔案)
例一.
#include
#include
#include
#include
/* the names of the text styles supported */
char *fname[] = { "default font",
"triplex font",
"small font",
"sans serif font",
"gothic font"
};
int main(void)
{
/* request auto detection */
int gdriver = detect, gmode, errorcode;
int style, midx, midy;
int size = 1;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult();
if (errorcode != grok) /* an error occurred */
{
printf("graphics error: %s ", grapherrormsg(errorcode));
printf("press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
midx = getmaxx() / 2;
midy = getmaxy() / 2;
settextjustify(center_text, center_text);
/* loop through the available text styles */
for (style=default_font; style<=gothic_font; style++)
{
cleardevice();
if (style == triplex_font)
size = 4;
/* select the text style */
settextstyle(style, horiz_dir, size);
/* output a message */
outtextxy(midx, midy, fname[style]);
getch();
}
/* clean up */
closegraph();
return 0;
}
原始碼講解:
上面的例子中,控制字型用settextstyle函數,style參數是選擇字型的,關於其它的參數說明可參考線上說明。outtextxy函數用來輸出文本。
如果老兄是想顯示各種不同字型的漢字話,那得麻煩點。這裡不想多說,只提供兩種方案
(1) 利用ucdos的漢字特顯技術,用c中的printf函數帶上特殊參數即可,具體可參考有關資料(比如《電腦愛好者》中曾講過)
(2) 在圖形模式下,調用字型檔,用c函數putpixel輸出。推薦參考書
[1]《c語言最新編程技巧200例》(修訂本)魯沐浴主編 電子工業出版社 1997