Para reduzir o tamanho de caracteres Kanji compostos, você precisa definir um arquivo Big Font estendido. As fontes grandes estendidas utilizam códigos de subforma, seguidos imediatamente por um 0.
A primeira linha de um arquivo Big Font estendido é a mesma que em um arquivo Big Font normal. Esse é o formato para as linhas restantes do arquivo:
*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
A seguinte lista descreve os campos de um arquivo de definição Big Font:
Utilizado com a largura do caractere para indicar o número de unidades que definem os caracteres da fonte.
Utilizado com a altura do caractere para indicar o número de unidades que definem os caracteres da fonte. Os valores de character-height e character-width são usados para escalar as primitivas da fonte. Neste contexto, as primitivas são pontos, linhas, polígonos ou sequências de caractere de uma fonte orientada geometricamente em um espaço 2D. Um caractere Kanji consiste de várias primitivas usadas repetidamente em escalas e combinações diferentes.
O byte modes deve ser 0 para uma fonte orientada horizontalmente e 2 para uma fonte com dupla orientação (horizontal ou vertical). O código especial de comando 00E (14) é seguido só quando modes é definido para 2.
Código de caractere.
Tamanho de byte. É sempre 2 bytes, consistindo em códigos hexadecimais ou uma combinação de decimal e hexadecimais.
Nome do caractere.
Código especial de descrição da forma. É sempre 7 para que o recurso de subforma possa ser usado.
Referência ao número da subforma. É sempre 2 bytes.
X origem da primitiva.
Y origem da primitiva.
Escala da largura da primitiva.
Escala da altura da primitiva.
Indicador de final de arquivo para a definição de forma. Sempre é 0.
Para chegar ao fator de escala, o programa diminui o primitivo para uma unidade quadrada e, em seguida, o multiplica pela altura e largura para obter a forma do caractere. Os códigos do caractere (números de forma) no arquivo de definição de forma Big Font podem ter valores de até 65535. A tabela a seguir descreve os campos de um arquivo Big Font estendido.
Campos de um arquivo Big Font estendido |
|||
---|---|---|---|
Variável |
Valor |
Tamanho de byte |
Descrição |
shape-number |
xxxx |
2 bytes |
Código de caractere |
code |
7,0 |
2 bytes |
Definição de fonte estendida |
primitive# |
xxxx |
2 bytes |
Consulte número de subforma |
basepoint-x |
1 byte |
Origem X de primitiva |
|
basepoint-y |
1 byte |
Origem Y de primitiva |
|
width |
1 byte |
Escala de largura da primitiva |
|
height |
1 byte |
Escala de altura da primitiva |
|
terminator |
0 |
1 byte |
Fim da definição de forma |
A figura a seguir é um exemplo de uma matriz de ponto 16 x 16 que pode ser usada para projetar um Big Font estendido, como um caractere Kanji. No exemplo, a distância entre cada ponto é uma unidade. O balão de explicação indica uma unidade quadrada.
Uma matriz quadrada para um caractere Kanji
A figura a seguir mostra exemplos de caracteres Kanji. Cada caractere ocupa uma matriz M x N, (matrizes não devem ser quadradas) semelhante àquela mostrada na figura anterior. Os números acima de cada figura são os números de forma associados.
Exemplos de caracteres Kanji
A figura a seguir mostra primitivas Kanji.
Exemplos de primitivas 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