--
-- Package Caracteres
--
-- Ce package fournit la représentation graphique des caractères
-- sous la forme d'une trame de points (une matrice).
--
package Caracteres is
-- Ignorez cette ligne.
pragma Elaborate_Body ;
-- Dans la trame de chaque caractère, une case contient un pixel (un point)
-- qui peut être éteint ou allumé.
type T_Pixel is (Eteint, Allume) ;
-- Tous les caractères ont la même taille (en pixels).
Hauteur_Car : constant Integer := 13 ;
Largeur_Car : constant Integer := 6 ;
-- Une trame est une matrice de pixels (le dessin du caractère).
-- Voir un exemple à la fin du fichier
type T_Trame is array(Integer range <>, Integer range <>) of T_Pixel ;
-- La table contient des paires (caractère, trame) :
-- un caractère et sa trame
type T_Paire is record
Car : Character ;
Trame : T_Trame (1..Hauteur_Car, 1..Largeur_Car) ;
end record ;
--
-- Définition de la table contenant les paires (caractère, trame)
--
Nombre_De_Caracteres : constant Integer := 91 ;
type T_Table is array (Integer range <>) of T_Paire ;
-- Attention, le premier caractère est un espace.
Table : T_Table (1..Nombre_De_Caracteres) ;
-- Initialise toutes les cases de la variable Table.
procedure Init ;
end Caracteres ;
--
-- Exemple de trame : la trame du caractère $
-- (cette trame est plus petite que celles utilisées dans l'acteur)
--
-- Colonne 123456
--
-- Ligne 1 #
-- Ligne 2 ####
-- Ligne 3 # #
-- Ligne 4 # #
-- Ligne 5 ###
-- Ligne 6 # #
-- Ligne 7 # #
-- Ligne 8 ####
-- Ligne 9 #
--
--
-- # Représente un pixel allumé
-- Un blanc représente un pixel éteint.
--