Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo mostrar caracteres chinos en Western Turbo C, ¡urgente!

Cómo mostrar caracteres chinos en Western Turbo C, ¡urgente!

1) Llamar fuentes directamente en Windows

2) Utilice funciones para mostrar caracteres chinos en programas C (el método específico es el siguiente)

En muchos programas C, los caracteres chinos deben ser se utiliza para indicaciones o interacción persona-computadora, y el IDE Turbo C actual no está en chino. ¿Cómo escribir un programa en C que pueda mostrar caracteres chinos?

Los siguientes métodos pueden ayudarle a mostrar caracteres chinos en un entorno occidentalizado. Este método consiste en llamar a la biblioteca de caracteres chinos para mostrar caracteres chinos. Los estándares nacionales estipulan que la biblioteca de caracteres chinos está dividida en 94 áreas, cada área tiene 94 caracteres chinos (divididos por bits) y cada carácter chino tiene un código de área claro y un número de bit en la biblioteca de caracteres chinos, que es el código de área de el carácter chino. Cada carácter chino se almacena en la biblioteca de caracteres chinos en forma de un modelo de carácter de matriz de puntos, generalmente utilizando una matriz de puntos de 16 × 16 (32 bytes) y una matriz de puntos de 24 × 24 (72 bytes). (0 o 1) significa correspondiente a los caracteres chinos correspondientes que se muestran en la pantalla.

Dado que en el entorno chino la entrada es el código interno de caracteres chinos, debemos convertirlo al código de área, calcular el desplazamiento, buscar los caracteres chinos correspondientes en la fuente y mostrar su modo de caracteres. .

El método para convertir el código interno al código de área es el siguiente:

qh=c1-0xa0 wh=c2-0xa0

El código de área de el carácter es:

p>

qw=qh*0xff + wh

Contando desde el punto inicial, la posición de este carácter en la fuente es:

#define FILA 1 //ampliación vertical

p>

#define COL 2 //ampliación horizontal

void main()

{

int x,y;

char *s=〃Programa de visualización de caracteres chinos〃;

FILE *fp; [32]; //el búfer se usa para almacenar un carácter chino

registrar m,n,n,n,n,n,n,n //la película se usa para almacenar un carácter chino.

p>registrar m,n,i,j,k;

car unsigned qh,wh;

desplazamiento largo sin firmar

int gd=DETECT,gm; ; //inicialización de la pantalla gráfica

initgraph(&gd,&gm,〃 〃

if ((fp=fopen(〃hzk16〃,〃rb〃))== NULL)

//Abra la biblioteca de caracteres chinos, que se puede encontrar en ucdos

{ printf(〃No se puede abrir haz16, agréguelo〃);

getch( ); closegraph(); exit(0);

}

x=20; //Mostrar configuración de posición

while(*s)

{ qh=*(s)-0xa0; //Localización de caracteres chinos

wh=*(s+1) -0xa0;

wh=*(s+1) -0xa0;

offset=(94*(qh-1)+(wh-1))*32L; en la fuente Offset

fseek(fp,offset,SEEK_SET);

fread(buffer,32,1,fp); //Obtiene el modelo de caracteres de celosía de 32 bytes en chino. caracteres y colóquelos en el búfer (un carácter chino)

for (i=0;i<16;i++) //Imprima la matriz de puntos de 32 bytes bit a bit en la pantalla (1: imprimir , 0: no imprimir), muestra caracteres chinos

for (n= 0;n〈ROW;n++)

for(j=0;j〈2;j++)

for(k=0;k〈8;k++)

for(m=0;m〈COL;m++)

If ((((búfer[ i*2+j]〉 〉(7-k))&) 0x1)! = NULL)

putpixel(x+8*j*COL+k*COL+m,y+i*ROW+n ,GREEN);

s+=2; //Debido a que un carácter chino ocupa dos bytes de código, s debe aumentarse en 2

x+=30;

}

getch(); cerrar(); <

closegraph()

}

El El programa anterior está compilado en Turbo C 2.0. Se ejecuta correctamente en el sistema y puede ampliar y mostrar caracteres chinos. Los lectores pueden cambiarlo a una función para mostrar caracteres chinos en su programa.

Referencia:/topic_show.php?tid=28232