亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 2465 | 回復(fù): 0
打印 上一主題 下一主題

Linux gcc 24*24點(diǎn)陣 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-10-09 16:38 |只看該作者 |倒序?yàn)g覽
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

void getHzKCode(unsigned char *c, char buff[])
{
        unsigned char qh, wh;
        unsigned long offset;
        FILE *HZK;
/*打開(kāi)字庫(kù)文件hzk24*/
        if ((HZK = fopen("HZKS_24*24.DZK", "rb")) == NULL) {
                printf("Can't open haz24,Please add it?");
                getchar();
                exit(0);
        }
        qh = *(c) - 0xa0;        /*10進(jìn)制的160等于16進(jìn)制的A0 */
        wh = *(c+1) - 0xa0;        /*獲得區(qū)碼與位碼 */

        offset = (94 * (qh - 1) + (wh - 1)) * 72L;        /*計(jì)算該漢字在字庫(kù)中偏移量 */
        fseek(HZK, offset, SEEK_SET);        /*將文件指針移動(dòng)到偏移量的位置 */
        fread(buff, 72, 1, HZK);        /*從偏移量的位置讀取72個(gè)字節(jié) */
        printf("qh:%d,wh:%d,offset:%ld\n\r", qh, wh, offset);
}

void printHzKChar(char *mat, char *c1, char *c2)
{
        int i, j, k;
        for (i = 0; i < 24; i++) {        /*24*24點(diǎn)陣漢字,一共有24行 */
                for (j = 0; j < 3; j++)        /*橫向有3個(gè)字節(jié),循環(huán)判斷每個(gè)字節(jié)的 */
                        for (k = 0; k < 8; k++)        /*每個(gè)字節(jié)有8位,循環(huán)判斷每位是否為1 */
                                if (mat[i * 3 + j] & (0x80 >> k))        /*測(cè)試當(dāng)前位是否為1 */
                                        printf("%s", c1);        /*為1的顯示為字符c1 */
                                else
                                        printf("%s", c2);        /*為0的顯示為字符c2 */
                printf("\n");        /*輸完一行以后,進(jìn)行換行 */
        }
}

int main(int argc,char *argv)
{
        char *code;
/*漢字占兩個(gè)字節(jié),前景字符和背景字符都要有兩個(gè)英文字符或一個(gè)中文字符,否則字體將變形*/
        unsigned char *HzkC1 = "**";
       
        unsigned char *HzkC="王";
        unsigned char *HzkC2 = "  ";
        char buffer2[72];        /*存儲(chǔ)中文字模信息 */
        unsigned char *hzk;

        getHzKCode(HzkC, buffer2);
        hzk = buffer2;
        printHzKChar(hzk, HzkC1, HzkC2);
        return;
}

我的點(diǎn)陣是24*24,GBK2312的,獲取的區(qū)位碼不對(duì)。這個(gè)程序我想擴(kuò)展成將指定的漢字的點(diǎn)陣替換成我自定義的字符點(diǎn)陣,用于實(shí)驗(yàn)需要。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP