Pour réduire la taille des caractères Kanji composites, vous pouvez définir un fichier de grandes polices étendues. Les grandes polices étendues utilisent le code de forme secondaire, immédiatement suivi d'un 0.
La première ligne d'un fichier de grandes polices étendues est la même que celle du fichier Grandes polices ordinaire. Le format des autres lignes du fichier est le suivant :
*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 liste suivante décrit les champs d'un fichier de définition Grandes polices :
Utilisé avec la largeur de caractère pour indiquer le nombre d'unités qui définissent les caractères de la police.
Utilisé avec la hauteur de caractère pour indiquer le nombre d'unités qui définissent les caractères de la police. Les valeurs hauteur-caractère et largeur-caractère permettent de mettre à l'échelle les primitives de la police. Dans ce contexte, les primitives sont les points, les lignes, les polygones ou les chaînes de caractères de la police orientée géométriquement dans un espace 2D. Un caractère Kanji comprend plusieurs primitives utilisées régulièrement dans différentes échelles et combinaisons.
L'octet modes doit être égal à 0 pour une police horizontale et à 2 pour une police à double orientation (horizontale ou verticale). Le code de commande spécial 00E (14) n'est pris en compte que lorsque modes a pour valeur 2.
Code de caractère.
Taille en octets. Il s'agit toujours de 2 octets, composés d'un code hexadécimal ou d'une combinaison de codes décimaux et hexadécimaux.
Nom de caractère.
Code spécial de description de forme. La valeur est toujours 7 ; la fonction de forme secondaire peut ainsi être utilisée.
Référence au numéro de forme secondaire. La valeur est toujours 2 octets.
Origine X de la primitive.
Origine Y de la primitive.
Echelle de la largeur de la primitive.
Echelle de la hauteur de la primitive.
Indicateur de fin de fichier de la définition de forme. Correspond toujours à 0.
Pour atteindre le facteur d'échelle, le programme réduit l'échelle de la primitive à une unité carrée, puis la multiplie par la hauteur et la largeur afin d'obtenir la forme du caractère. La valeur d'un code de caractère (numéro de forme) du fichier de définition de forme Grandes polices peut atteindre 65 535. Le tableau suivant décrit les champs du fichier de grandes polices étendues.
Champs du fichier de grandes polices étendues |
|||
---|---|---|---|
Variable |
Valeur |
Taille en octets |
Description |
numéro-forme |
xxxx |
2 octets |
Code de caractère |
code |
7,0 |
2 octets |
Définition de la police étendue |
n°primitive |
xxxx |
2 octets |
Fait référence au numéro de forme secondaire. |
pointdebase-x |
1 octet |
Origine X de la primitive |
|
pointdebase-y |
1 octet |
Origine Y de la primitive |
|
largeur |
1 octet |
Echelle de la largeur de la primitive |
|
hauteur |
1 octet |
Echelle de la hauteur de la primitive |
|
caractère de fin |
0 |
1 octet |
Fin de la définition de forme |
La figure suivante illustre une matrice de 16 points x 16 points permettant de concevoir un caractère de grande police étendue, tel qu'un caractère Kanji. Dans cet exemple, la distance entre deux points est d'une unité. L'info-bulle indique une unité carrée.
Matrice carrée pour un caractère Kanji
La figure suivante illustre certains caractères Kanji. Chaque caractère occupe une matrice M×N (les matrices ne sont pas nécessairement carrées), similaire à celle de la figure précédente. Le nombre au-dessus de chaque figure correspond à un numéro de forme.
Exemples de caractères Kanji
La figure suivante illustre des primitives Kanji.
Exemples de primitives 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