APPLICATIONSBUREAUTIQUE ★ POSTER ★

Poster (Amstar&CPC)Applications Bureautique

Le but de ce programme est de réaliser, avec de très grands caractères, des titres d'affiches dépassant largement la dimension de l'impression normale.

Le texte est saisi, dessiné sur l'écran avec une police de caractères graphiques définie en DATA et, ensuite Imprimé par copie d'écran sur DMP 2000. L'impression se faisant de gauche à droite de l'écran. Il est possible de réaliser en continu, un grand titre sur plusieurs pages successives. Une petite copie d'écran permet aussi de réaliser, avec les mêmes caractères, de petites affichettes.

DESSIN DES CARACTERES

Les caractères sont dessinés par PLOT et DRAW dans une trame virtuelle de 8x10 en X,Y(voir figure 1). Sans qu'il s'agisse à proprement parler de vecteurs. chaque segment est défini par la position Initiale (Xn,Yn) et la position finale (Xn+1,Yn+1). Si l'échelle X et l'échelle Y étalent constantes, l'angle du vecteur (Xn,Yn) -> (Xn+1 ,Yn+1) serait défini. Dans ce programme, les valeurs de base de X et Y (xe, ye) sont fixées dans la police de caractères. Elles sont ensuite multipliées par un facteur choisi lors de la saisie du texte. Les facteurs X et Y étant Indépendants, l'angle du vecteur dépend donc des valeurs xe, ye choisies. Cela permet donc de choisir non seulement, la taille des caractères, mais aussi le rapport HAUTEUR/LARGEUR.


Figure 1

La trame virtuelle peut être déformée et, de rectangulaire, prendre la forme d'un parallélogramme. Les caractères seront alors penchés (Italiques) ou relevés, la fonction FILL permettra ensuite d'obtenir des caractères pleins ou vides. (Voir figure 2).

La série de coordonnées (xe,ye) est réunie, pour chaque caractère, dans une ligne de DATA (lignes 40020 à 40000). Le renvoi à ces DATA est effectué par une série de lignes utilisant la fonction RESTORE (lignes 32 à 122). L'appel de ces lignes est effectué par la fonction ON c GOSUB (lignes 30000 à 35040).


Figure 2

FRAPPE DU PROGRAMME

Vous pouvez taper ce programme ligne par ligne en respectant les numéros de lignes sauf pour les lignes 32 à 122 qu'il serait fastidieux de recopier.

Le petit programme suivant permet d'écrire en une seule phase, toutes les lignes "RESTORE" :

10 OPENOUT'resto"
20 r1$="restore": r=40020: r2$="": return: "..."
30 FOR q=32 TO 122
40 PRINT#9, q , r1$ , rr2$ CHR$(q)
50 r=r+10: NEXT:CLOSEOUT
RUN

Sauvez ce programme. Quand il a fonctionné, le fichier «resto» est enregistré. LOAD «resto» charge les lignes 32 à 122; MERGE «resto» Intègre ces lignes dans la partie du programme «POSTER» que vous venez de taper. Le numéro de la ligne correspond au code ASCII du caractère. A la fin de la ligne, figure en remarque le symbole du caractère.

Le petit programme suivant permet de placer les lignes de DATA (40020 à 40920) nécessaires à la police de caractère:

10 OPENOUT "data": r$="DATA": q=0
20 FOR r=40020 TO 40920 STEP 10
30 PRINT#9, rr$ q: NEXT: CLOSEOUT
RUN

Sauvez ce programme. Il a enregistré le début des lignes de DATA dans le fichier «data». Vous pouvez les intégrer au programme «POSTER» de la même façon par MERGE «data». Ces lignes ne comportent qu'un DATA=01

Il est cependant très Important que ces lignes existent car cela vous permettra de faire fonctionner le programme, même si vous n'avez pas tapé toutes les lignes DATA.

Il n'est pas nécessaire de disposer d'un contrôle d'erreur en DATA pour vérifier la précision de sa frappe. En effet, si toutes les lignes de DATA sont écrites avec «DATA 0», le caractère correspondant est considéré comme non défini et remplacé par un espace. De la même façon, si une ligne DATA comporte une erreur, elle engendrera un caractère aberrant. Vous disposez dans le menu d'une option «DEMONSTRATION», comportant tous les caractères, ce qui vous permettra de tester au fur et à mesure les différentes possibilités du programme «POSTER».


Figure 3 : Voici l'impression de la page "DEMONSTRATIONS. On observe immédiatement les erreurs : Les caractères "w","e" et "r" sont omis (lignes de DATA correspondantes non tapées). Les caractères "h" et "a" sont mal formés (une erreur s'est glissée dans la ligne de DATA correspondante).

LECTURE DES DATA

La lecture des DATA est effectuée aux lignes 35060 à 35180. Dans chaque ligne de DATA, les données dont distribuées de la même façon: le premier DATA (q) précise le nombre d'information à lire; les DATA suivants sont répartis sous forme de triplets (ze,xe,ye). Le premier terme (ze) indique une fonction (1=PLOT, 2=DRAW, 3=MOVE-FILL). Les deuxième et le troisième termes correspondent aux paramètres X et Y de cette fonction. Les lignes 35090 à 35120 permettent de modifier xe et ye en fonction de la largeur, de la hauteur et des paramètres "penché (l)" ou "relevé (r)" du caractère. A titre d'exemple, la lettre «A», représentée sur les grilles serait donnée par:

DATA 5,1,0,0,2,4,10, 2,8,0,1,2,5,2,6,5

MODE D'EMPLOI

1 - Saisie du texte :

La police utilisée permet de dessiner des caractères de grande taille, donc en petit nombre. Le texte est réduit, pour l'Instant, à 6 lignes de 255 caractères maximum. Chaque ligne peut être modifiée après avoir été recopiée par . On peut cadrer les lignes les unes par rapport aux autres en ajoutant des espaces au début. Le premier espace doit toujours être un caractère non défini (DATA=0) et non par la barre CHR$(32).

2 - Choix des caractères :

Les paramètres affectant les caractères sont très nombreux. Les questions sont posées dans les lignes 8000. La réponse à ces questions peut paraître un peu fastidieuse mais la multiplicité des questions permet ia variété du choix. Les paramètres des caractères de chaque ligne sont en effet Indépendants. Tous les paramètres sont inscrits sous ia forme «paramè-tre(n)» où n représente le numéro de la ligne. Une première série de paramètres affecte la qualité des caractères, une deuxième série, leurs dimensions.

Le paramètre 1 (police) est inutilisé (Il n'y a pour l'instant qu'une police de caractère!). li en est de même pour les paramètres 6 (caractères particuliers) et 7 (angle d'observation) qui serviront ultérieurement à réaliser des caractères en relief. Voyons successivement les autres paramètres:

.l(n) (penché) : modifie les verticales de la grille virtuelle. donne descaractères en italique, ce paramètre peut être négatif (caractères penchés à gauche).

.r(n) (relevé) : même principe mais ce sont les horizontales qui sont modifiées.

.p(n) (plein (p=1) ou vide (p=0)); colore ou nom le caractère.
Toutes les combinaisons sont possibles entre ces trois paramètres.

Le programme est conçu pour Imprimer plusieurs pages bout à bout. Il ne doit donc pas y avoir de discontinuité entre les différentes «pages écran»: Aucun caractère ne doit se trouver à cheval sur deux pages. Ce problème est résolu en affectant (pour chaque ligne Indépendamment), un nombre entier de caractère par page.

.npage (nombre de pages): choisi. Le nombre dépendra de la capacité de l'Imprimante (ruban et échauf-fement).

.n(n) (nombre de caractère de la ligne n): calculé après la saisie du texte.

.np(n) (nombre de caractère par page pour la ligne n): doit être supérieur ou égal à n/npage. Permet en fait de calculer la marge à droite de chaque ligne. L'ordinateur réserve alors une place par caractère, espace compris (lt=640/np pixels en X).

.lc(n) (largeur des caractères) et ll(n) (des espaces): Vous fixez la largeur du caractère proprement dit, l'ordinateur calcule ta largeur de l'espace (li=lt-lc). Ceci permet d'avoir aussi bien des caractères larges et rapprochés que des caractères étroits et éloignés. Dans chaque «page écran», la ligne commencera et finira par un demi espace.

.h(n) (hauteur des caractères): pas de problème

.yl(n) (origine de la ligne en Y): en pixels, de 0 (en bas) à 400 (en haut).

3 - Enregistrement des données :

Le texte et les paramètres des caractères de chaque ligne est enregistré automatiquement à la fin de la saisie Oignes 10000-). On peut, au début, saisir un nouveau texte ou traiter un texte enregistré (lignes 11000-) et le modifier.

4 - Impression :

La visualisation du texte peut être agréable à l'œil mais le but du programme reste l'Impression de ce texte. L'Impression du texte se fait par copie d'écran. Celle-ci est écrite en assembleur et mise en DATA pour le BASIC (lignes 50000-). Le chargement des DATA est effectué au début du programme (ligne 23). Deux copies d'écran sont disponibles: une petite (135 x 70 mm) et une grande (225 x 170 mm). La petite permet seulement l'impression d'une «page écran», la grande, copiant l'écran de gauche à droite permet l'Impression en continu de plusieurs «page écran» successives.

5 - Couleurs :

Bien que l'objectif essentiel soit l'Impression en noir et blanc, il est Intéressant de visualiser le texte avec les couleurs de son choix. Ceci est permis aux lignes 3000-. Une application de ce programme peut être aussi de compléter des «pages écran» graphiques pour la présentation de programmes personnalisés.

Si le programme à été tapé en respectant les numéros de lignes, Il sera facile (le mois prochain), d'ajouter quelques sous-programmes permettant de transformer les caractères et d'obtenir en particulier des caractères en perspective cavalière.

Roger PRAT, Amstar&CPC

★ EDITEUR: AMSTAR&CPC
★ ANNÉE: 1989
★ CONFIG: 64K (BASIC 1.1: Valable pour CPC 664 - 6128)
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Roger PRAT
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Aucun fichier de disponible:
» Vous avez des fichiers que nous ne possédons pas concernent cette page ?
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Home Account (Amstrad Computer User)
» Applications » Word Processor Conversion Program
» Applications » Telefonski imenik in adresar
» Applications » Mini-Mailing (Micro-Mag)
» Applications » Money Manager
» Applications » Bibliotech
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 277 millisecondes et consultée 1648 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.