Red de conocimiento informático - Material del sitio web - ¿Cómo generar chino en lenguaje C?

¿Cómo generar chino en lenguaje C?

Mostrar caracteres chinos en programas C

En muchos programas C, los caracteres chinos se utilizan para indicaciones o interacción persona-computadora. Sin embargo, el IDE Turbo C actual no admite chino, entonces, ¿cómo escribir un programa C que? ¿Puede mostrar caracteres chinos?

Los siguientes métodos pueden ayudarle a mostrar caracteres chinos en un entorno occidental. Este método llama 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, es decir, el código de área. del carácter chino. Cada carácter chino se almacena en la biblioteca de fuentes en forma de un modelo de carácter de matriz de puntos, generalmente usando una matriz de puntos de 16 × 16 (32 bytes) o una matriz de puntos de 24 × 24 (72 bytes). Cada punto usa un bit binario (). 0 o 1) significa que lo que se muestra en la pantalla es el carácter chino correspondiente.

Dado que en el entorno chino la entrada es el código interno de los caracteres chinos, debemos convertirlo en un código regional, calcular el desplazamiento, encontrar los caracteres chinos correspondientes en la fuente y mostrar su modelo 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 es :

qw=qh*0xff wh

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

offset=(94* (qh-1) (wh- 1))*32L

Programa de muestra:

#include 〈graphics.h〉</p>

#define FILA 1 //zoom vertical

#define COL 2 //ampliación horizontal

void main()

{

int x, y;

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

FILE *fp;

char buffer[32] //Se utiliza el búfer para almacenar un solo carácter chino

registrar m, n, i, j, k

unsigned char qh, wh

unsigned long offset

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

initgraph(&gd,gm,〃 〃);

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

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

{ printf(〃No puedo abra haz16, agréguelo〃);

p>

getch( ); closegraph(); y=100; //Configuración de la posición de visualización

while(*s)

{ qh=*(s)-0xa0; //Configuración regional del carácter chino

wh=*(s 1) -0xa0;

Offset=(94*(qh-1) (wh-1))*32L // Calcula el desplazamiento del carácter chino en la fuente

fseek(fp, offset, SEEK_SET);

fread(buffer, 32, 1, fp); // Saca el modelo de caracteres de celosía de 32 bytes y colócalo en el buffer (un carácter chino)

for (i=0; i<16; i) //Imprime la matriz de puntos de 32 bytes en la pantalla poco a poco (1: imprimir, 0: no imprimir), mostrar 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 ((buffer[i*2+j ]〉〉(7-k)).0x1)!= NULL)

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

s =2; //Dado que la codificación de caracteres chinos ocupa dos bytes, se debe agregar s.

2

x =30;

}

getch(); <

closegraph(); }

El programa anterior se ejecuta correctamente bajo el sistema de compilación Turbo C 2.0 y puede ampliar y mostrar caracteres chinos. Los lectores pueden cambiarlo a una función para mostrar caracteres chinos en su programa.