Visual C++ >> Console
顯示倚天中文字型
參考資訊:
1. qBig5
2. font_hzk
3. ShowSameTitleN
main.c
#include <stdio.h> #include <stdint.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> int is_big5(unsigned int val) { if((val >= 0xa140 && val <= 0xa3bf) || (val >= 0xa440 && val <= 0xc67e) || (val >= 0xc6a1 && val <= 0xc8d3) || (val >= 0xc940 && val <= 0xf9fe)) { return 1; } return 0; } int main(int argc, char** argv) { FILE *f; unsigned int high, low; unsigned char top[30]={0}; unsigned int font = 0xae7b; if((is_big5(font)) == 0){ printf("not big5 !\n"); return -1; } f = fopen("stdfont.15", "rb"); low = font & 0xff; high = 157 * (((font >> 8) & 0xff) - 164); if(low < 127){ low-= 64; } else{ low-= 98; } fseek(f, (high + low) * 30, 0); fread(top, 30, 1, f); fclose(f); int x, y, z, t, cnt=0; for(y=0; y<15;y++){ for(z=0; z<2;z++){ t = top[cnt++]; for(x=0; x<8;x++){ if(t & 0x80){ printf("1"); } else{ printf(" "); } t<<=1; } } printf("\n"); } return 0; }
完成