⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jo16x16.c

📁 开放源码实时操作系统源码.
💻 C
📖 第 1 页 / 共 4 页
字号:
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  7,254,  0,198,  7,134,  6,102,  3,196,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  7,254,  0,246,  7,182,  6, 54,  3,254,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  7,230,  0,246,  7,190,  6, 54,  3,254,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  7,204,  0,204,  7,140,  6, 94,  3,179,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  7,254,  0,240,  7,188,  6, 48,  3,222,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  7,254,  0,212,  7,148,  6, 84,  3,190,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0, 24,  7,204,  0,254,  7,156,  6,118,  3,156,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  3,252,  1,140,  1,140,  1,136,  1,252,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0, 24,  3, 12,  1,140,  1,252,  1,140,  1,252,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  4,204,  6,204,  7,204,  6,223,  7,243,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0, 64,  0, 96,  0, 96,  0,240,  1,156,  3, 12,  4,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  1, 16,  1,152,  1,152,  3,248,  6,110, 12,198,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  0,248,  1,140,  1,140,  1,140,  0,248,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  3,248,  0, 96,  0,240,  1,156,  3, 12,  4,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,192,  0, 96,  3,248,  0,224,  1,188,  3, 12,  4,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  3,252,  0, 12,  3,252,  1, 12,  0,  8,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  3,252,  1,128,  1,252,  1,128,  0,252,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  3,252,  1, 16,  1,152,  1,176,  3,252,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,192,  0, 96,  3,252,  0,240,  1,152,  0,240,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 15,240,  4, 48,  0, 48,  0, 48,  0, 32,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 15,240,  3, 48,  3, 48,  3, 48,  2, 32,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 31, 48,  3, 48,  3, 56,  3,108,  2,204,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 12,  0,  6,  0,  6,  0,  6, 16,  3,248,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 24,248, 12, 48, 12, 48, 13,120,  6,204,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0, 96, 24, 48, 12,248, 12,112, 12,216,  7,112,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  0, 32, 15,240,  6,  0,  6, 32,  3,240,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  7,240,  0, 48,  7,224,  6,  0,  3,240,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 31,248,  3, 24, 30, 24, 25,152, 15, 16,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 31,248,  3,216, 30,216, 24,216, 15,248,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 31,152,  3,216, 30,248, 24,216, 15,248,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 31, 48,  3, 48, 30, 48, 25,120, 14,204,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 31,248,  3,192, 30,240, 24,192, 15,120,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 31,248,  3, 80, 30, 80, 25, 80, 14,248,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0, 96, 31, 48,  3,248, 30,112, 25,216, 14,112,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 15,240,  6, 48,  6, 48,  6, 32,  7,240,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0, 96, 12, 48,  6, 48,  7,240,  6, 48,  7,240,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 18, 48, 27, 48, 31, 48, 27,124, 30,204,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  1,128,  1,128,  3,192,  6,112, 28, 48,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  4, 64,  6, 96,  6, 96, 15,224, 25,184, 51, 24,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  3,192,  6, 96,  6, 96,  6, 96,  3,192,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  7,240,  0,192,  1,224,  3, 56,  6, 24,  8,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  1,128,  0,192,  7,240,  1,192,  3,120,  6, 24,  8,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 15,240,  0,112, 15,176,  6, 48,  0, 32,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 15,240,  6,  0,  7,240,  6,  0,  3,240,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0, 15,240,  4, 64,  6, 96,  6,192, 15,240,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  3,  0,  1,128, 15,240,  3,192,  6, 96,  3,192,  0,  0
};


static	void memor(char *s1, char *s2, int len)
{
        do {
		*s1++ |= *s2++;
	} while (--len);
}


int	get_han_image( int johab_code, char *bitmap)
{
    static char idxtbl1[] = {
             0,  0,  1,  2,  3,  4,  5,  6,
             7,  8,  9, 10, 11, 12, 13, 14,
            15, 16, 17, 18, 19,  0,  0,  0,
             0,  0,  0,  0,  0,  0,  0,  0
    };
    static char idxtbl2[] = {
             0,  0,  0,  1,  2,  3,  4,  5,
             0,  0,  6,  7,  8,  9, 10, 11,
             0,  0, 12, 13, 14, 15, 16, 17,
             0,  0, 18, 19, 20, 21,  0,  0
    };
    static char idxtbl3[] = {
             0,  0,  1,  2,  3,  4,  5,  6,
             7,  8,  9, 10, 11, 12, 13, 14,
            15, 16,  0, 17, 18, 19, 20, 21,
            22, 23, 24, 25, 26, 27,  0,  0
    };

    static char type1tbl_no[]  = {
            0, 0, 0, 0, 0, 0, 0, 0,
	    0, 1, 3, 3, 3, 1, 2, 4,
	    4, 4, 2, 1, 3, 0,       0, 0
    };
    static char type1tbl_yes[] = {
            5, 5, 5, 5, 5, 5, 5, 5,
	    5, 6, 7, 7, 7, 6, 6, 7,
	    7, 7, 6, 6, 7, 5,       0, 0
    };
    static char type3tbl[] = {
            0, 0, 2, 0, 2, 1, 2, 1,
	    2, 3, 0, 2, 1, 3, 3, 1,
	    2, 1, 3, 3, 1, 1,       0, 0
    };

    unsigned short h1, h2, h3, type1, type2, type3;

    h1 = (johab_code>>10) & 0x1f;
    h2 = (johab_code>>5)  & 0x1f;
    h3 = (johab_code)     & 0x1f;

    h1 = idxtbl1[h1];
    h2 = idxtbl2[h2];
    h3 = idxtbl3[h3];
    
    type1 = h3 ? type1tbl_yes[h2] : type1tbl_no[h2];
    type2 = ((h1 == 0 || h1 == 1 || h1 == 16) ? 0 : 1) + (h3 ? 2 : 0);
    type3 = type3tbl[h2];

    if (h1)
            memcpy(bitmap, HanFont1[type1][h1-1], FONT_SIZE);
    else
            memset(bitmap, 0, FONT_SIZE);
    if (h2) memor(bitmap, HanFont2[type2][h2-1], FONT_SIZE);
    if (h3) memor(bitmap, HanFont3[type3][h3-1], FONT_SIZE);

    /* For GdBitmap(), byte swapping is need. */
    for( h1=0; h1<16; h1++)
    {
	    h2 = bitmap[h1*2];
	    bitmap[h1*2] = bitmap[h1*2+1];
	    bitmap[h1*2+1] = h2;
    }
    return 16;
}

#ifdef	TEST
void	DrawImage( char *bitmap )
{
	int	i,j;
	unsigned char	us;

	for ( j=0; j < 16; j++ )
	{
		us = bitmap[j*2];
		for ( i=0x80; i; i=i>>1 )
		{
			if ( us & i )
				putchar('*');
			else
				putchar(' ');
		}

		us = bitmap[j*2+1];
		for ( i=0x80; i; i=i>>1 )
		{
			if ( us & i )
				putchar('*');
			else
				putchar(' ');
		}

		printf("\n");
	}
			
}


#define	MSG	"衑媔穒 砳畞 范穉

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -