日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

用Microwindows(Nano-X)编写中文程序

發(fā)布時間:2023/12/15 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Microwindows(Nano-X)编写中文程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文地址:http://blog.csdn.net/wooin/archive/2008/06/24/2583144.aspx


Microwindows(Nano-X)編寫中文程序

By:

吳垠

Date:

2008-06-24

Homepage:

http://blog.csdn.net/wooin

Email:

lazy.fox.wu#gmail.com

Copyright

該文章版權(quán)由吳垠和他可愛的老婆小包子所有??稍诜巧虡I(yè)目的下任意傳播和復(fù)制。對于商業(yè)目的下對本文的任何行為需經(jīng)作者同意。

Link:

?http://blog.csdn.net/wooin/archive/2008/06/24/2583144.aspx

1.

從代碼中留下的蛛絲馬跡可以看出來Microwindows在開發(fā)時有中國人的參 與,并且完成了支持中文的字體引擎開發(fā),所以今天的Microwindows才可以顯示中文。
需要說明的是,Microwindows支持的中文字符集是GB2312,并不是Unicode,所以在開發(fā)Microwindows中文程序時要使用 GB2312的字符集,這應(yīng)該算是一個缺陷吧。
下面我就來介紹如何編寫中文的Microwindows程序:

?

?

2.

首選要下載microwindows的字體文件:microwindows- fonts-0.90.tar.gz可以在Microwindows的 ftp上找到。下載到該文件后,假設(shè)你的microwindows源碼目錄是類似于這樣的一個目錄:
NANOX=/home/bbw/microwindows-0.90

microwindows-fonts-0.90.tar.gz
解壓后將“fonts/”文件夾中的內(nèi)容都拷貝到“$(NANOX) /src/fonts/”文件夾中

?

?

3.

修改文件:

修 改文件“$(NANOX)/src/config”文件第197、198行:

HAVE_HZK_SUPPORT??????? = N
HZK_FONT_DIR???????????? = "fonts/chinese"
改為:
HAVE_HZK_SUPPORT??????? = Y
HZK_FONT_DIR???????????? = "/home/bbw/microwindows-0.90/src/fonts/chinese"

啟用漢字支持功能,并且設(shè)置字體文件的路徑。

4.

接下來就要開始編寫中文程序了:

?

我們接著上一篇文章《用Microwindows (Nano-X)編寫“hello world”中程序做,對這個程序之用做幾處修改就好 了,下面是程序的完整源代碼,你可以參照著上一篇文章看看我做了哪些修改:

?

?1 /***************************************************************************
?2 ?*??Filename????: hello.c
?3 ?*??Begin?????? : 2008-05-09 16:24:44
?4 ?*??Project???? : Hello Nano-X World
?5 ?*??Version???? : 1.1
?6 ?*??Copyright?? : GPL v2.0
?7 ?*??Author??????: Wu Yin (
吳垠)
?8 ?*??Description :
?9 ?*??Email?????? : lazy.fox.wu#gmail.com
10 ?**************************************************************************/
11 #include
12 #include "nano-X.h"
13 #include "nxcolors.h"
14
15 int?main()
16 {
17 ????GR_WINDOW_ID?root_wid, wid;
18 ????GR_GC_ID?gc;
19 ????GR_COORD?x, y;
20 ????GR_SIZE?width, height;
21 ????GR_EVENT?event;
22 ????GR_FONT_ID?fid;
23
24 ????x =?0;
25 ????y =?0;
26 ????width =?640;
27 ????height =?480;
28
29 ????if?(GrOpen() <?0)
30 ????{
31 ????????printf("Can't open graphics ");
32 ????????return?0;
33 ????}
34
35 ????gc =?GrNewGC();
36 ????fid =?GrCreateFont("HZKFONT", 16, NULL);
37 ????//
創(chuàng)建父窗口(根窗口)
38 ????root_wid =?GrNewWindow(GR_ROOT_WINDOW_ID, x, y, width, height,
39 ????????????1, GR_COLOR_ROYALBLUE, GR_COLOR_BLACK);
40 ????//
創(chuàng)建一個子窗口
41 ????wid=GrNewWindow(root_wid,60,60,200,60,1,GR_COLOR_BLACK,GR_COLOR_WHITE);
42 ????GrMapWindow(root_wid);??//
繪制父窗口
43 ????GrMapWindow(wid);?????? //
繪制子窗口
44
45 ????//
顯示在父窗口中的文字
46 ????GrSetGCForeground(gc, GR_COLOR_RED);?? //
前景色(字體顏色)
47 ????GrSetGCBackground(gc, GR_COLOR_GREEN); //
背景色(字體背景顏色)
48 ????GrSetGCFont(gc, fid);
49 ????GrText(root_wid, gc, 10, 20, "
你好 in root_wid", -1, GR_TFBOTTOM);
50
51 ????//
顯示在子窗口中的文字
52 ????GrSetGCForeground(gc, GR_COLOR_RED);?? //
前景色(字體顏色)
53 ????GrSetGCBackground(gc, GR_COLOR_GREEN); //
背景色(字體背景顏色)
54 ????GrText(wid, gc, 10, 20, "
你好 in wid", -1, GR_TFBOTTOM);
55
56 ????for?(;;)
57 ????{
58 ????????GrGetNextEvent(&event);
59 ????}
60 ????GrClose();
61
62 ????return?1;
63 }
64


這里要注意了:
前 面我說過Microwindows支持的中文字符集是GB2312,所以并不是你在程序中輸入的中文它都可以顯示,這時你要保證你你的hello.c文件 的編碼是GB2312,或者是GB18030,或者是GBK的,但是現(xiàn)在大多數(shù)比較新的Linux發(fā)行版都用的是Unicode了,所以這就比較麻煩了, 好在現(xiàn)在很多編輯器都支持GB18030編碼的支持,你可以在這些編輯器中再編輯hello.c文件。geditkwritekate都還支持 GB18030編碼。這時你就要用這工具設(shè)置成GB18030編碼,然或再編輯我上面的那個hello.c文件,祝你成功。

5.

源文件編寫好后,Makfile不用做任何修改,直接運(yùn)行make編譯就好了,如果沒有意外的話,在projects文件夾中應(yīng)該會 重新生成一個“hello”可執(zhí)行文件,執(zhí)行它,就可以看到下面這個界面了,是不是看到了中文^_^

?


7.

?

總結(jié)

以上是生活随笔為你收集整理的用Microwindows(Nano-X)编写中文程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。