Para reducir el tamaño de los caracteres Kanji compuestos, puede definir un archivo de tipo de letra grande ampliado. Los tipos de letra grandes ampliados utilizan el código de subforma seguido por un 0.
La primera línea de un archivo de tipo de letra grande ampliado es igual que la de un archivo de tipo de letra grande normal. Éste es el formato de las siguientes líneas del archivo:
*0,5,font-name character-height, 0, modes, character-width,0 . . . *shape-number,defbytes,shape-name . code,0,primitive#,basepoint-x,basepoint-y,width,height, . . code,0,primitive#,basepoint-x,basepoint-y,width,height, . terminator
La lista siguiente describe los campos de un archivo de definición de tipo de letra grande:
Se utiliza junto con el campo de anchura del carácter para indicar el número de unidades que definen los caracteres del tipo de letra.
Se utiliza junto con el campo de altura del carácter para indicar el número de unidades que definen los caracteres del tipo de letra. Los valores de character-height y character-width se utilizan para definir la escala de los primitivos del tipo de letra. En este contexto, los primitivos son los puntos, líneas, polígonos o cadenas de caracteres del tipo de letra orientados geométricamente en el espacio 2D. Un carácter Kanji se compone de varios primitivos que se utilizan repetidamente en varias escalas y combinaciones.
El byte modes debe tener el valor 0 para un tipo de letra con orientación horizontal y 2 para un tipo de letra con orientación doble (horizontal o vertical). El código del comando especial 00E (14) sólo se aplica cuando el campo modes tiene el valor 2.
Código de carácter.
Tamaño del byte. Siempre es igual a 2 bytes y se compone de un código hexadecimal o de una combinación de códigos decimales y hexadecimales.
Nombre del carácter.
Código especial de descripción de la forma. Siempre es igual a 7, con lo que puede usar la función de subforma.
Referencia al número de subforma. Siempre es igual a 2 bytes.
Origen X del primitivo.
Origen Y del primitivo.
Escala de la anchura del primitivo.
Escala de la altura del primitivo.
Indicador de final de archivo de la definición de la forma. Siempre es igual a 0.
Para llegar al factor de escala, el programa reduce la escala de la primitiva en una unidad cuadrada y, a continuación, la multiplica por la altura y la anchura para obtener la forma del carácter. Los códigos de carácter (números de forma) del archivo de definición de forma de tipo de letra grande pueden tener valores de hasta 65535. La tabla siguiente describe los campos del archivo de tipo de letra grande ampliado.
Campos del archivo de tipo de letra grande ampliado |
|||
---|---|---|---|
Variable |
Valor |
Tamaño de byte |
Descripción |
shape-number |
xxxx |
2 bytes |
Código de carácter |
code |
7,0 |
2 bytes |
Definición de tipo de letra ampliado |
primitive# |
xxxx |
2 bytes |
Véase número de subforma |
basepoint-x |
1 byte |
Origen X del primitivo |
|
basepoint-y |
1 byte |
Origen Y del primitivo |
|
anchura |
1 byte |
Escala de la anchura del primitivo |
|
altura |
1 byte |
Escala de la altura del primitivo |
|
terminator |
0 |
1 byte |
Fin de la definición de forma |
La siguiente figura muestra una matriz de 16 x 16 puntos que se puede utilizar para diseñar un tipo de letra grande ampliado, como un carácter Kanji. En el ejemplo, la distancia entre cada dos puntos es de una unidad. La llamada muestra una unidad cuadrada.
Matriz cuadrada de un carácter Kanji
La figura siguiente muestra ejemplos de caracteres Kanji. Cada carácter ocupa una matriz M×N, (las matrices no son necesariamente cuadradas) similar a la de la figura anterior. Los números situados sobre cada figura son los números de forma asociados.
Ejemplos de caracteres Kanji
La figura siguiente muestra los primitivos Kanji.
Ejemplos de primitivos Kanji
*BIGFONT 50,1,080,09e *0,5,Extended Font 15,0,2,15,0 *08D91,31,unspecified 2,0e,8,-7,-15, 7,0,08cfb,0,0,16,16,7,0,08bca,2,3,12,9, 2,8,18,0,2,0e,8,-11,-3,0 *08CD8,31,unspecified 2,0e,8,-7,-15, 7,0,08be0,0,0,8,16,7,0,08cc3,8,0,8,16, 2,8,18,0,2,0e,8,-11,-3,0 *08ADF,31,unspecified 2,0e,8,-7,-15, 7,0,089a4,0,0,8,16,7,0,08cb3,8,0,8,16, 2,8,18,0,2,0e,8,-11,-3,0 *08CE8,39,unspecified 2,0e,8,-7,-15, 7,0,089a4,0,1,5,14,7,0,08cc3,5,2,5,14,7,0,08c8e,9,0,7, 16,2,8,18,0,2,0e,8,-11,-3,0 *089A4,39,primitive 2,0e,8,-7,-15,2,8,1,14,1,0c0, 2,8,-11,-6,1,0a0,2,8,-12,-7,1, 0e0,2,8,-7,13,1,0dc,2,8,11,-1, 2,0e,8,-11,-3,0 *08BCA,41,primitive 2,0e,8,-7,-15,2,8,1,14,1,0c0, 2,8,-11,-6,1,0a0,2,8,-12,-8,1, 0e0,2,0e5,1,0ec,2,063,1,8, 2,-3,2,06f,2,0e,8,-11,-3,0 *08BE0,81,primitive 2,0e,8,-7,-15,2,8,3,9,1,080, 2,8,-10,-4,1,0c0,2,8,-13,-5,1, 0e0,2,8,-7,9,1,09c,2,8,-1,14, 1,8,-6,-5,2,8,8,5,1,8,6,-5, 2,8,-11,-6,1,8,1,-3,2,8,7,3, 1,8,-1,-3,2,8,-3,15,1,01a,2, 012,1,01e,2,8,10,-14,2,0e,8, -11,-3,0 *08C8E,44,primitive 2,0e,8,-7,-15,2,8,3,15,1,090,0fc,038, 2,8,-6,11,1,090,2,8,-9,-5,1, 090,2,096,1,0ac,8,-1,-3,01a,01a,2,8, 18,0,2,0e,8,-11,-3,0 *08CB3,61,primitive 2,0e,8,-7,-15,2,042,1,02b,02a,018,2, 0d0,1,012,034,2,069,1,01e,040,2,8, -8,6,1,02b,2,8,4,5,1,08c,2,8, -3,8,1,03c,2,8,-5,3,1,0e0,2,8, -12,5,1,0a0,2,8,6,-14,2,0e,8, -11,-3,0 *08CC3,34,primitive 2,0e,8,-7,-15,2,0c1,1,06c,0a8,064,0a0,2,8, -5,9,1,09c,2,8,-7,5,1,0e0,2,8, 4,-11,2,0e,8,-11,-3,0 *08CFB,22,primitive 2,0e,8,-7,-15,2,0d2,1,0cc,0c8,0c4,0c0,2,8, 5,-13,2,0e,8,-11,-3,0