Envoyer un e-mail à Collection ThomsonCollection Thomson
EditoForum 2002Liens
Nanoreseau
Docs
Logiciels
Matériel
Imprimer le document
Retour à la liste

Les fichiers Paragraphe

Tout fichier Paragraphe est de suffixe « PAR », de type $0A et de flag $00. Ces fichiers sont traités par blocs de 64 octets. Avant chaque bloc de 64 octets, la nature du bloc est définie par un code d’un octet. Ces blocs, consécutivement, sont constitués comme suit:

Le bloc info

Le bloc info est introduit par le code $0D. Sa structure est la suivante:

    Offsets  0-4  Marquage de Paragraphe (invariable)
                    $40    Taille d’un bloc mémoire
                    $40    Valeur de l’octet précédent
                    $02    Position courante de l’octet dans le bloc
                    $02    Valeur de l’octet précédent
                    $04    Position courante de l’octet dans le bloc
    Offsets  5-6  Numéro du format pour tête de page (de 0 à 4095 - initialisé à 3)
    Offsets  7-8  Numéro du format pour pied de page (de 0 à 4095 - initialisé à 3)
    Offsets  9-10 Numérotation de la première page pour impression (initialisé à 1)
    Offset   11   Largeur caractère de la page (de 7 à 140 - initialisé à 76)
    Offset   12   Hauteur caractère de la page (de 3 à 255 - initialisé à 60)
    Offsets 13-14 Numéro du format pour texte à éditer (de 0 à 4095 - initialisé à 0)
    Offset   15   Taille caractère de marge basse (initialisée à 0)
    Offset   16   Taille caractère de marge haute (initialisée à 0)
    Offset   17   Caractéristiques d'impression (initialisé à 0)
                    b6     1 = Double interligne sélectionné
                    b5     1 = Condensé sélectionné
                    b4     1 = Exposant sélectionné
                    b3     1 = Elite sélectionné
                    b2     0 = PR90-582 (ou driver logiciel)
                           1 = PR90-600

b7, b1 et b0 sont à 0. b3, b4 et b5 ne sont pas sélectionnables simultanément. La somme « taille de marge haute + hauteur de la page + taille de marge basse » représente la hauteur réelle de la page. Elle doit être inférieure à 256.

Le bloc info d’un document vide doit être impérativement constitué par les valeurs d’initialisation.

Il n'existe pas d'extension du bloc info. Le bloc info est complété par des 0.

Le texte à éditer

Le texte à éditer est introduit par un bloc de code $0F. Chaque paragraphe, y compris tout paragraphe vide, commence par le code sur 16 bits du format. La formule pour calculer ce code par rapport au numéro de format est la suivante:

Code de format = $A0C0+((numéro*4) & $3F00)+(numéro & $003F)) Comme chaque plage de format est constituée de 8 octets, le numéro du format doit être multiplié par 8 pour obtenir l'offset dans la table des formats.

La présence de ce code en début de ligne implique un retour de ligne. Il n’apparaît généralement pas avant la fin d'un paragraphe. Les mots seront séparés par un seul espace (code $05), Paragraphe se chargeant à l'affichage et à l’impression de calibrer les paragraphes automatiquement en fonction du format.

Le texte proprement dit est ponctuellement altéré s'il y a lieu. Les codes d'altérations sont les suivants:

Souligné                   $80 (annulé par $81)
Italique                   $82 (annulé par $83)
Gras                       $84 (annulé par $85)
Double largeur             $86 (annulé par $87)
Caractère utilisateur      $88 (annulé par $89)

Les codes des caractères affichables particuliers sont les suivants:

$09 £     $0A ß     $0B °     $0C È     $0D É     $0E ë     $0F é     $10 è
$11 ê     $12 ä     $13 à     $14 â     $15 Ä     $16 ô     $17 ö     $18 Ö
$19 ü     $1A Ü     $1B û     $1C ù     $1D î     $1E ï     $1F ç

$05    espace conventionnel de Paragraphe.
$06    tabulation (Format/Voir caractères spéciaux)
$20    marquage (Format/Voir caractères spéciaux)

La partie texte se compose des caractères $05 et $21 à $7F, qu’ils soient standard ou utilisateur.

Les codes caractères restants sont réservés à l’usage interne de Paragraphe et n’apparaissent pas dans un fichier.

Un texte à éditer inexistant doit être impérativement constitué du code $A0C0. Il est recommandé d'initialiser aussi sous réserve le numéro du format de départ du texte à éditer aux offsets 13-14 du bloc info.

Si la longueur du texte dépasse la taille d’un bloc, une extension de code $01 (plus rarement $05) et d’un bloc de 64 octets est créé, autant de fois qu'il faudra pour sauvegarder l'intégralité du texte. Le texte est conclu par un 0. Le dernier bloc de texte est complété par des 0.

Le texte de tête de page
Le texte de pied de page

Les tête et pied de page sont introduits aussi par un bloc de code $0F. Ils sont normalisés comme le texte à éditer avec les exceptions suivantes:
- Le code du format de départ des tête et pied de page n’apparaît pas en début de première ligne de texte mais son numéro est contenu aux offsets respectifs 5-6 et 7-8 du bloc info.
- Le premier caractère rencontré est le caractère $02 défini comme un caractère de début de texte.
- Le dernier caractère rencontré est le caractère $01 défini comme un caractère de clôture de texte.
- Toute suite de caractère "$" calibre et positionne la numérotation automatique des feuilles à l'impression du texte.

Un texte de tête ou de pied de page inexistant doit être impérativement constitué des codes $02 et $01.

Si la longueur du texte dépasse la taille d’un bloc, une extension de code $01 (plus rarement $05) et d’un bloc de 64 octets est créée, autant de fois qu'il faudra pour sauvegarder l'intégralité du texte. Le dernier bloc de texte de tête ou pied de page est complété par des 0.

Les formats

Un bloc de format est introduit par le code $06. Il est constitué de 8 octets donnant des informations sur l'affichage d'un texte, d'un graphique ou d'un saut de page. La structure d'un format est la suivante:

----- Dans le cas d’un format de texte :
Offset   0     Type de cadrage
                    $00  Centrer
                    $01  Cadrer à gauche
                    $02  Cadrer à droite
                    $03  Justifier
                    $04  Ne pas traiter
Offset   1     $00
Offset   2     Taille du retrait de début de paragraphe
Offset   3     Largeur de marge de gauche
Offset   4     Largeur de marge de droite
Offset   5     Numéro de règle liée au format(de 0 à 127) + $80
----- Dans le cas d’un format de saut de page :
Offset   0     $00
Offset   1     $00
Offset   2     $00
Offsets 3-4    Numéro du format lié au saut de page
Offset   5     $01
----- Dans le cas d’un format de graphique :
Offsets 0-1    Numéro du graphique
Offset   2     Position verticale du graphique
Offset   3     $00
Offset   4     $00
Offset   5     Hauteur caractère réelle du graphique (de 1 à 127)
----- Dans tous les cas :
Offset   6     Toujours $00 si format inextirpable sinon image de l’offset 7
Offset   7     Validité du format
                    $00 = format usité
                    $FF = format inusité

Si l’offset 5 va de $80 à $FF, il s’agit d’un format de texte. Dans les autres cas, et si les offsets 0 et 1 sont à $0000, il s’agit d’un format de saut de page sinon il s’agit d’un format de graphique. Pour un texte, la valeur de l'offset 5 doit être réduite de $80 et multipliée par 20 pour obtenir l'offset dans la table des règles. Un format de saut de page est toujours lié avec son propre format de texte ou de graphique, sans cela la ligne comporterait un code superflu interprétable comme un retour de ligne.

Les quatre premiers formats répertoriés sont inextirpables et constitués comme suit:

              03 00 05 00 00 80 00 00    Format n°0   Justifier, retrait à 5, règle 0
              04 00 00 00 00 80 00 FF    Format n°1   (inactif) Cadrer à gauche, règle 0
              00 00 00 00 00 01 00 FF    Format n°2   (inactif) Saut de page
              00 00 00 00 00 80 00 00    Format n°3   Centrer, règle 0

Attention : les mêmes formats peuvent être utilisés aussi pour les tête et pied de page. Il ne peut y avoir deux formats de même effet dans la liste.

Si la longueur de la table des formats dépasse la taille d’un bloc, une extension de code $06 et d’un bloc de 64 octets est créée, autant de fois qu'il faudra pour sauvegarder l'intégralité de la table des formats. Le dernier bloc des formats est complété avec la valeur $FF.

Les règles de tabulations

La table des règles de tabulations est introduite par un bloc de code $0A. Chaque règle de tabulations comporte 18 octets plus 2 flags. Chaque bit consécutif de ces 18 octets correspond à l'état d'une graduation, 0 pour inactif et 1 pour actif.

La première règle de tabulation répertoriée est inextirpable et constituée comme suit :

01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 00 Règle n°0

Toute règle sera activée ($00) ou désactivée ($FF) par son offset 19. La règle inextirpable aura toujours son offset 18 à $00, les autres règles auront en offset 18 l’image de l’offset 19. Il ne peut y avoir deux règles de même effet dans la table.

Un bloc de règles contient un maximum de 3 règles de tabulation. Si le nombre de règles de tabulation répertoriées dans un bloc excède 3, une extension de code $0A et d’un bloc de 64 octets est créée, autant de fois qu'il faudra pour sauvegarder l'intégralité de la table des règles. Un bloc de règles est complété avec la valeur $FF.

Les graphiques

Chaque nouveau graphique est introduit par un bloc de code $0E. Suivent le numéro du graphique sur 16 bits (de 1 à 255), trois octets à 0 puis le graphique proprement dit au format standard Thomson débutant par le SCRMOD et les dimensions.

Attention : la compression est tracée pendant l’insertion d’un graphique sous Paragraphe. Le chargement cesse alors dès la rencontre du premier terminateur $0000 chargé.

Un fichier Paragraphe peut ne pas comporter de blocs de graphiques. Il ne peut y avoir de bloc vide de graphique.

Si la longueur d'un graphique dépasse la taille d’un bloc, une extension de code $08 et d’un bloc de 64 octets est créée, autant de fois qu'il faudra pour sauvegarder l'intégralité du graphique. Le dernier bloc d’un graphique est complété par des 0.

La clôture du fichier

Le code $00 clôt le fichier. Il n’est suivi d’aucun bloc.

Site
Plus
Forums
Code
Créations

*Site en favoris
*Page en favoris
*Site en démarrage
*Page en démarrage


Haut de page

Collection Thomson 2015 © Ghislain Fournier & François Mouret