Ordinateur et composition automatique

Maurice Girod
Communication et langages,

CC-BY-NC-ND

La composition automatique des textes est actuellement une application courante de l'ordinateur. Il y a 150 entreprises aux États-Unis et 100 entreprises en Europe, une dizaine en France qui travaillent avec le seul matériel IBM. Les programmes français fonctionnent tant pour la presse que pour l'édition avec des « sorties » adaptées aux problèmes des compositions linotype, monotype, lumitypes 713, 540 ou autres, aux monophotos, linofilms, etc., bientôt aux Digisets, Linotrons 505, Alphanumeric APS 3...

En fait, en Europe, il existe pour IBM plusieurs groupes de développements de programmes qui se sont intéressés à une quinzaine de langues différentes répondant à des besoins typographiques variés, presse, livres, annuaires, catalogues, annonces... à des besoins de corrections à différents niveaux, à divers aspects du contrôle de production, impliquant différents langages d'entrée, différents concepts de logique et de programmation...

Le support des informations en « entrée », dans la machine1, comporte à la fois le texte à composer et les instructions ou code fonction indiquant dans quelles conditions ce texte doit être composé : la justification, le caractère, la disposition des débuts de paragraphes : en alinéa, sommaire ou pavé, les renfoncements nécessaires, les lettrines, s'il y en a... Tout cela constitue la bande d'entrée dont les codes sont pris en charge en séquence par l'ordinateur ; celui-ci restitue « en sortie » une bande perforée ou magnétique, voire une séquence d'impulsions constituant la suite des codes fonction qui commanderont la composeuse. L'ordinateur prépare en fait une série d'ordres codés qui vont amener telle matrice à tomber dans le composteur, telle fonction à s'exécuter, et ainsi ligne à ligne, le texte à se former. Il s'agit d'une commande automatique de machine-outil...

Le programme qui a fonctionné industriellement à l'« Oklahoma City Times » le 21 septembre 1961 était composé de deux modules principaux, un module dit d'hyphenation, ou division des mots, et un module dit de justification ou calcul de la ligne. Il fallait aussi « digérer » la bande d'entrée, critiquer les instructions reçues avant de les exécuter ; en sortie, il fallait convertir les besoins déterminés par le programme en codes fonction acceptés par la composeuse.

La division des mots

Les Américains ont basé leur logique de division des mots en fin de ligne sur des recherches statistiques, faites d'après un échantillonnage de divisions des mots telles qu'elles étaient pratiquées par les typographes américains, en établissant une table des fréquences des divisions entre les lettres.

Le premier module de division des mots a donc été en fait basé sur une table de probabilité des bonnes coupures.

On s'est vite aperçu que le système pouvait être amélioré. En particulier que la détection d'une bonne coupure entre deux lettres dépendait non seulement de l'identité des deux lettres, mais également de la longueur du mot, de l'emplacement relatif des lettres par rapport au début et à la fin du mot... Le système, toujours statistique, faisait alors intervenir des sélections croisées dans des tables de probabilités. On en était rendu à 98 ou 99% de résultats corrects.

Malheureusement, on s'est aperçu que pour les mots scientifiques, ce système de division n'était pas satisfaisant. En effet, beaucoup de mots se coupaient non plus d'après la phonétique américaine, mais étymologiquement, et l'invitation à stocker sur un dictionnaire en mémoire les exceptions une fois détectées ne résolvait pas le problème, car ce dictionnaire d'exceptions grossissait continuellement.

C'est à ce moment-là que les Français et les Allemands ont commencé leur travail. C'était début 1963. Le hasard a fait que les ingénieurs qui s'en sont chargés avaient, pour les deux cas, une formation linguistique assez poussée pour chercher une autre solution, celle qui consiste à couper en fonction de l'étymologie et en fonction de la phonétique. Notons que les problèmes ne sont pas les mêmes pour le français et pour l'allemand, même en partant des mêmes concepts, car nous avons la chance, en français, d'avoir peu de mots ambigus ; en allemand, n'importe qui peut fabriquer un mot composé, ce qui amène de sérieux problèmes. Prenons, par exemple, Wachtraum qui peut être, selon la division, la chambre de garde ou le rêve dans une situation de veille... de même Spielende, et bien d'autres. En français, nous avons le malaise et la malaise, mais en divisant phonétiquement nous n'avons pas de problème...

La table de décision

À partir d'un élément reconnu dans un mot, préfixe ou suffixe, ou groupe de consonnes, la table décrit les éléments déterminant les conditions d'acceptabilité de la division du mot : avant ou après l'élément servant de base à la recherche. Cette table « de décision » va nous permettre de déterminer les conditions de reconnaissance. Prenons, par exemple, le préfixe anti ; anti va être accepté comme préfixe, sauf s'il est suivi des deux lettres en — à cause d'antienne — , de ll — à cause d'Antilles — , d'oc — à cause d'Antioche, Antiochos — , d'ar — à cause d'antiar, antiaris. Pratiquement, il faudra considérer l'ensemble des mots du dictionnaire pour avoir la longueur de l'argument de contrôle : deux lettres ou trois lettres, ou une lettre d'ordre Ne ; par exemple entre les deux mots maladresse et maladrerie, il faut savoir que c'est la cinquième lettre qui compte après mal. C'est ce qui va nous permettre de construire une table d'exceptions où nous aurons identification d'un élément de recherche, soit un préfixe, soit un suffixe, soit un groupe de consonnes, puis des conditions identifiées par les lettres rencontrées avant, après, conditions pouvant être à plusieurs « étages ». À l'intérieur d'une condition donnée, on va, dans un cas, tester une condition secondaire, dans un autre, une autre condition. Parfois, la division retenue le sera sous réserve, selon le nombre de caractères dans la ligne, ce que nous verrons avec la « catégorie de justification ».

Pour comprendre la construction de cette table, prenons un exemple : je veux couper après le préfixe par le mot parenchyme. Je dirai : après le préfixe par, si j'ai les deux lettres en, je coupe ; c'est la première tentation, dangereuse, car lorsque j'aurais à couper transparent, je risquerais de couper ainsi transpar-ent. En fait, l'étude du dictionnaire avec les différents cumuls de préfixes m'amène à préciser qu'il aurait fallu, lors de la première condition, dire : préfixe par, je coupe si, après par, j'ai ench, de manière à bien couper parenchyme et à ne pas couper transpar-ent.

La table de décision a été basée sur l'étude du Larousse en trois volumes, avec toutes les formes, pluriel, conjugaison de verbes, etc. Nous nous adaptons absolument à la division telle que le public est habitué à la voir. Il y a cependant un problème. Certaines maisons d'édition, par exemple Larousse, sont davantage attachées à la phonétique qu'à l'étymologie, tandis que d'autres, comme Hachette, sont, semble-t-il, davantage attachées à l'étymologie qu'à la phonétique. La difficulté existe, par exemple, sur un mot comme télescope : à cause de la non-accentuation du deuxième e, Larousse coupe téles-cope, tandis que Hachette coupe téle-scope. On a été amené, en tenant compte de ces particularités, à avoir deux tables d'exceptions au choix du client : une table à tendance phonétique, une table à tendance étymologique...

Les Américains ont continué leur méthode de division des mots, selon une logique statistique. C'est une des grosses différences que nous avons avec eux. Ils ont cependant amélioré considérablement leur système de recherches. Les Allemands et nous poursuivons la voie étymologique et la voie phonétique. Avec les tables de décision, le résultat de nos travaux font que le module qui nous permet de couper le français donne des résultats bons à 100 % sur les noms communs ou propres, alors que celui des Américains n'approche pas ce chiffre. Leur système devient plus encombrant, prend beaucoup plus de place dans la mémoire de l'ordinateur, à force de cumuler des tables statistiques. On peut s'étonner qu'ils ne nous aient pas suivis. Ils considèrent qu'ils ont un module de division des mots qui est correct et que reprendre tout le travail n'est pas utile. C'est presque une question de nationalisme : contents de leur système, dont ils reconnaissent les imperfections, ils s'y tiennent et ne veulent pas être remis en cause !

Je me suis peu à peu formé une opinion personnelle sur la division des mots. Le message écrit n'étant qu'un moyen de transfert des idées, il importe de rendre la lecture aussi facile que possible pour le lecteur ; d'où le souci de lisibilité du texte et l'intervention de l'art typographique. La lisibilité d'un ensemble demande des lignes régulières, avec certaines proportions entre la largeur de justification, l'œil du caractère et l'espacement des lignes. Un espacement des caractères ou un blanchiment irrégulier risque de mettre involontairement quelque mot ou expression en valeur ou de retenir, ne serait-ce qu'un instant, l'attention du lecteur qu'on aimerait maintenir sur le fond et non sur la forme. Compte tenu de la longueur des mots, la division devient une obligation. Il ne faut pas qu'elle soit pesante, suspende le déroulement de la communication.

Pour un ouvrage de large audience, je penche pour une division à préférence phonétique; pour une œuvre scientifique ou qui s'adresse à un milieu de bonne culture, je souhaite prendre en considération les divisions étymologiques. Il faudrait s'étendre ici sur les méthodes et les habitudes de lecture...

Les traditions typographiques

En fait, notre module de division des mots est complété par des impératifs typographiques dont les Américains ne tiennent pas compte. Aux États-Unis, dans la presse, un mot est toujours coupé selon le même critère, quelle que soit la justification, c'est-à-dire le nombre de signes qui rentrent dans la ligne, et quel que soit le nombre de lettres du mot à couper. Or, en discutant avec les typographes, nous nous sommes aperçus que la justification conditionne le corps du caractère et la tolérance de division du mot en fin de ligne2, et qu'il existait quatre catégories de justification :

Des calculs ont été faits avec une centaine de polices de caractère : les conclusions étaient en faveur de la catégorie de moyenne justification pour le labeur et, pour la presse, la petite ou moyenne justification ; la grande et la très petite justifications ne correspondent pas aux choix des typographes. La question est posée : faut-il respecter les usages de la typographie traditionnelle ? Nous touchons ici aux problèmes de lisibilité que nous évoquions ci-dessus, entre autres à celui du rapport entre le corps du caractère et la justification... Toujours est-il qu'à notre avis, ce rapport a son importance et qu'il faut en tenir compte.

Donc nous allons accepter ou refuser de couper un mot en fonction de la catégorie de justification de la ligne. Nous accepterons de diviser des mots de 4 lettres pour la « très petite », de 5 pour la « petite », de 6 pour la « moyenne », de 7 pour la « grande justification », cette tolérance étant augmentée d'une unité quand nous avons un mot commençant par une capitale (c'est-à-dire un nom propre). D'autre part, nous ne rejetterons pas de syllabes muettes à la ligne, s'il n'y a pas au moins 4 signes à rejeter en grande justification (exemple : Atlanti — ques), alors qu'en très petite justification (pour un tableautage) nous accepterons de couper pè-re, mè-re.

L'une des obligations qui découlent directement de cette prise en considération des quatre catégories de justification est celle de travailler sur plusieurs lignes. En effet, dans la plupart des programmes de composition automatique existants, la logique ne considère qu'une ligne à la fois : la division faite en fin de ligne, celle-ci est envoyée en « sortie ». En conséquence, on peut être amené à tolérer une division critiquable pour éviter de blanchir considérablement la ligne. En travaillant sur trois lignes, une ligne qui serait trop blanchie peut être reprise en recomposant avec les deux lignes précédentes3. C'est ainsi que nous cherchons à homogénéiser l'espacement des mots, à éviter les séries de lignes avec division de mot, à éviter les lignes creuses. La ligne creuse est la ligne non remplie à 25 % en bas de paragraphe et non remplie à 80 % en bas de page et en haut de page. Il serait souhaitable de travailler sur plus de trois lignes4, voire sur une page. C'est un problème d'utilisation des mémoires de l'ordinateur.

Parmi les problèmes posés par les fins de lignes et l'éventualité d'un blanchiment excessif, citons la division des nombres longs. Supposons un texte qui arrive en fin de ligne sur l'expression numérique 72 824 522 hommes. L'expression demande à être coupée (elle ne peut être rejetée à la ligne sans entraîner un blanchiment important). La solution du typographe traditionnel consiste à inclure le mot millions après le nombre 72, et à reporter le reste à la ligne. L'ordinateur agit de même, en faisant d'ailleurs attention à bien distinguer un nombre exprimant une quantité d'un nombre exprimant un rang (un billet de loterie par exemple). Mieux encore, la machine supprimera les zéros quand il s'agira par exemple de 72 000 000 d'hommes.

Les traditions nationales

II faut être exigeant sur les problèmes de typographie liés aux traditions du pays considéré.

Citons seulement un exemple. En France, lorsque, dans un ouvrage bien fait, l'auteur fait une double citation, c'est-à-dire qu'à l'intérieur d'un exposé il fait mention des dires d'un tiers, cette partie du texte est mise en valeur par un guillemettage systématique au début de chaque ligne. Je pense que, pour la clarté des idées exprimées, cette coutume est intéressante, et nous l'avons reprise en charge dans l'ordinateur. En effet, puisque c'est l'ordinateur qui découpe les lignes, c'est à lui de mettre le guillemettage automatique de début de ligne...

Aspect modulaire du programme

Si un utilisateur veut un jour changer de composeuse, il ne faut pas qu'il ait à refaire l'ensemble du programme, mais seulement la partie relative à la commande de la composeuse. Pour permettre une bonne compréhension du programme et son adaptation éventuelle, voire telle ou telle adjonction, il nous a semblé important de respecter une structure modulaire.

Chaque module traite une partie bien délimitée de la logique du programme : il reçoit dans une zone dite « interface d'entrée » la matière à traiter et, après l'exécution de sa partie de programme, il passe les résultats au module suivant grâce à son « interface de sortie ». Par exemple, le module de division des mots en français reçoit le mot à diviser dans une zone de réception et le restitue avec les marques de division acceptables dans son interface de sortie5.

Lorsqu'une entreprise édite en plusieurs langues (c'est le cas entre autres de Ringier à Zofingen en Suisse, qui édite en 4 langues différentes) il faut que, sur un appel du programme, l'ordinateur coupe le mot en tenant compte du module de division pour le français, l'allemand, l'anglais ou pour l'italien. Le programme appelle alors, selon les besoins, le module de division de la langue considérée. Il fallait donc que les interfaces des modules avant et après permettent les liaisons avec les différents modules susceptibles d'intervenir...

Un langage descriptif universel

Dans la composition programmée, le typographe-claviste doit exprimer un besoin sous la forme de codes définissant ce qu'il veut obtenir. Si le langage d'entrée est attaché à une seule composeuse de sortie — par exemple à une linotype — , le typographe dira : « Je travaille avec le magasin n°4 », « Je fais un retrait de tant de quadratins », « Je mets un cliché sur 5 lignes » ; pratiquement, son langage n'est pas universel, il est lié au contexte plomb pour une linotype donnée.

En fait, le langage descriptif des besoins devrait être absolument étranger à toute préoccupation de matériel, qu'il s'agisse du matériel ordinateur ou du matériel de composition. En effet, l'éditeur amené à réutiliser en 1980 une bande de composition d'annuaires, d'informations bibliographiques ou autres, créée en 1970, exigerait de son imprimeur la conservation, dans un coin de son atelier, de la composeuse correspondant à la préoccupation descriptive du claviste-typographe de 1970. Il faut donc avoir, et ceci est fondamental, un langage descriptif en entrée qui soit général. Que l'ordinateur, par la suite, signale à l'utilisateur du moment que telle ou telle fonction n'est pas réalisable avec la composeuse décrite en mémoire, c'est l'affaire du programme, c'est normal. Mais s'il faut envisager les rééditions ou les mises à jour des textes enregistrés aujourd'hui, il faut qu'elles le soient en dépit des imperfections du matériel actuel.

Au sujet des recherches nécessaires à la définition d'un langage descriptif universel, j'ai eu l'occasion de travailler avec les spécialistes du Geographical National Institute à Washington, et avec les techniciens du Governmental Printing Office sur des problèmes de romanisation des langues. Nous avons codifié 36 accents différents permettant d'écrire en caractères latins les langues à écriture cyrillique ou du Moyen-Orient, de l'Inde ou de l'Asie. Et nous en sommes arrivés à concevoir un système descriptif disant : attention, j'ajoute tel accent sur telle lettre, de manière à avoir une universalisation de la description des besoins... Nous utiliserons pour le signal « attention » un code appelé « clé d'ajout », puis, pour l'identification de l'accent souhaité l'une des 26 lettres ou des 10 chiffres, puis viendra le caractère auquel est affecté l'accent en question. Il est évident que pour des besoins nationaux fréquents (exemple le e accent aigu en français) un code unique et simple sera préféré, équivalent à la solution complexe et universelle...

L'autre partie du langage descriptif : les instructions de composition doivent elles aussi être universelles...

Instructions de composition

Elles font l'objet de techniques diverses. Il s'agit de permettre la description de tous les besoins déterminés aujourd'hui en typographie avec une ouverture sur l'avenir : nouvelles formes d'association du texte, des illustrations et des supports, nouveaux moyens de manipulation — corrections, mise à jour, travail documentaire des textes —, utilisant des écrans cathodiques, des banques de stockage de textes ou de documentations... Il est important que les instructions de composition ou les codes « fonction » ne sclérosent pas l'information à un système de traitement ou de composition donné... Il faut cependant simplifier au maximum les problèmes de frappe initiale, tant pour gagner du temps que pour éviter les erreurs possibles... C'est pour ces raisons — richesse, indépendance, simplicité — , que le problème des instructions dans le langage descriptif est si important et qu'il nécessite une recherche approfondie.

Les instructions à fournir sont plus ou moins complexes. Il peut s'agir de codes fonction simples, ou « clefs », qui en cours de texte commentent la composition de celui-ci. Quelques exemples : fin de paragraphe, passage à l'italique correspondant au caractère en cours ou retour à celui-ci, signalisation qu'un guillemet ouvre ou ferme une citation de second ordre, clef précisant que tel mot ne saurait être coupé qu'à tel ou tel endroit (mot étranger, expression mathématique, etc.).

D'autres instructions contiennent des références ou des quantités précisant tel caractère, telle justification, un renfoncement gauche, droit ou « centré » de telle dimension, sur telle hauteur de texte, une lettrine sur tant de lignes, avec un retrait de première ligne variable selon tel contenu dans tel caractère...

Pour préciser qu'un texte non justifié — un intertitre, une note en marge, par exemple — sera aligné à gauche, à droite, centré, qu'il s'agit d'un ensemble « signature »6, que nous voulons les débuts de paragraphes en alinéa ou en sommaire avec tel retrait ou dépassement de première ligne, en faux pavé ou en pavé, il y a des « instructions » spécifiques.

Certaines « clefs » ou « instructions » ont une application immédiate dans le texte en cours. D'autres ont une application différée, voire répétitive, comme celles qui définissent la forme des débuts de paragraphes. Il est parfois utile d'avoir des instructions complexes, permettant de conditionner le déroulement de la composition : travailler « en chapeau » sur telle justification pendant n lignes et jusqu'à la fin du paragraphe qui sera alors en cours, puis passer alors au travail en colonne, dans telle condition.

Pour éviter une frappe trop compliquée, tout en maintenant la plus grande richesse de possibilités, on a recours à l'utilisation de standards. Soit au préalable, lors du « lancement » du programme, soit à l'occasion de tel ou tel travail spécial, on introduit une équivalence entre un ensemble d'instructions qui sera stocké en mémoire, sur disque magnétique, et une instruction d'appel très simple. Les appels de standards peuvent être utilisés pour les instructions ou pour du texte.

Les définitions de standard peuvent être très complexes, voire s'enchaîner les unes les autres. Cette technique est indispensable pour les tableaux, les ouvrages avec notes, les petites annonces, la mise en pages...

Pour la mise en pages, certaines suites d'instructions n'auront pas besoin d'être appelées. Le déroulement du processus rencontrant une fin de page, de colonne, de chapitre, voire tel incident de texte, de note ou d'illustration, générera lui-même un appel de tel ou tel élément stocké en mémoire. Dans le déroulement de la mise en pages, le programme est amené à suivre le remplissage de la maquette. Devant telle ou telle difficulté rencontrée — inclusion de notes ou d'illustrations, changement de standards, problème de pagination — , le programme a besoin de connaître une marche à suivre, variable d'un ouvrage à un autre, d'une maison d'édition à une autre... Pour « aiguiller » le processus de composition ou de mise en pages, il est nécessaire d'avoir des « instructions de définition de marche à suivre ». Au début d'un travail, et éventuellement avec un appel de standard, on communique au programme les choix qui ont été faits grâce à une table-inventaire des problèmes soulevés et des solutions possibles, chacune de celles-ci correspondant à un module disponible en mémoire...

Certaines instructions sont appelées « instructions majeures ». Ce sont celles qui sont susceptibles de contenir d'autres instructions. Nous connaissons déjà les instructions de définition. Les instructions de correction permettent, à partir d'adresses de « débranchement » et de « retour », d'ajouter, de soustraire, de remplacer, de mouvementer d'une place à une autre, de substituer systématiquement un terme ou un groupe de termes à un autre. Elles peuvent agir sur le texte, au niveau caractère, ligne ou ensemble, ou sur les instructions déjà données. Les instructions de note permettent en cours de texte d'introduire, avec une référence de différenciation, des notes en marge, en bas de page, en table, etc., avec tel ou tel standard de composition, telle ou telle méthode d'indexation, telle ou telle référence documentaire à utiliser...

Les instructions de message sont utilisées pour soustraire à la composition des éléments utiles par ailleurs et qui seront frappés au kilomètre : origine du texte, identité du claviste, consignes de traitement, éléments administratifs ou comptables, etc.

J'ai essayé de donner une idée de la complexité du problème « langage descriptif du traitement des textes ». Nous avons déjà fait beaucoup dans ce domaine de recherche. Il reste encore, tant en analyse qu'en normalisation ou en adaptation dans les programmes, beaucoup à faire...

La justification

Le module dit de justification prend en charge le texte et le place sur son support. À partir des instructions de composition, voire de mise en pages, il calcule les éléments de la ligne : origine et longueur de la justification de base, zonage s'il s'agit d'une table, blancs à droite et à gauche s'il y a renfoncement.

Si les instructions ont été filtrées en entrée dans le programme pour la reconnaissance de leur identité, c'est au niveau d'une ligne nouvelle que se situe l'analyse par le programme de leur compatibilité entre elles. Une lettrine sur trois lignes et une instruction de paragraphe en sommaire donneront une lettrine encadrée avec report du sommaire sous la ligne de base de la lettrine. Les renfoncements ne peuvent être pris en charge sans critique. Par simple cumul, ils risqueraient de « manger » la justification ou de se superposer « en escalier », sans continuité, ou encore de couper un cliché entre deux colonnes ou deux pages... Le déroulement du programme étudie un à un ces écueils possibles, ayant recours à des solutions étudiées et stockées par avance lorsque tel ou tel cas se rencontre.

Lorsque la justification vraie a été déterminée, le programme calcule l'installation du texte. Il a alors recours à une table des chasses du caractère. Les tables sont en mémoire externe du système et sont appelées en mémoire interne de l'unité centrale par les instructions de changement de caractère. Chaque caractère du texte trouve, à l'adresse correspondant à son code, une information de base sur sa chasse. Parfois, cette information est la chasse elle-même en centième de millimètre, parfois, selon les composeuses, un processus compliqué est nécessaire pour son calcul : intervention d'un coefficient de grossissement selon le corps, travail sur le set pour la concentration ou l'expansion des caractères, sur les approches soit d'une façon homogène, soit en fonction de certaines séquences de lettres...

Entre les mots, l'espace minimal est soit déterminé par une instruction donnée au préalable, soit par le programme en fonction du caractère, la chasse d'une lettre choisie servant de base. Lorsqu'il y a refonte du texte sur plusieurs lignes, voire sur une page ou un ensemble, le programme justifie en prenant un espace de base un peu plus grand. Le maximum acceptable est également donné par instruction ou par référence au caractère en cours.

En début de ligne, on prend d'abord en charge les éléments éventuels extérieurs au texte : guillemets, parties des mots millions, milliards installés par le programme, constantes de table, etc., puis les mots et les espaces un à un. Lorsqu'un mot ne rentre pas et suivant l'espace restant, la longueur du mot, les caractéristiques de la justification, il est ou non envoyé au module de « division des mots ». À la sortie de celui-ci, le calcul de remplissage est fait syllabe par syllabe, en tenant compte du signe de division.

Le module de justification répartit ensuite l'espace restant. Selon le désir exprimé, l'interlettrage est ou non envisagé lorsqu'en dernière analyse, après refonte du texte, l'espace mot résultant est trop grand...

Entre les modules de justification et de sortie, l'interface est constituée par une zone ligne qui contient tous les éléments nécessaires à la fabrication de la bande perforée, ou de la séquence de codes sur un support quelconque, qui commandera la composeuse... Le module de sortie est la partie du programme qui exploite ces données, appelle les différents codes « fonction » obligatoires, organise la séquence des ordres à donner, simule le déroulement du processus machine pour assurer un maximum de contrôle et de sécurité. Il est évidemment différent pour chaque type de composeuse ou photocomposeuse et fait appel pour chaque caractère à une table de localisation permettant de générer tous les codes fonction, simples ou complexes, nécessaires pour la composition...

Un bon programme réserve l'avenir

II est pénible pour un spécialiste du traitement du texte de voir combien les mêmes mots sont employés pour décrire des choses totalement différentes. Le mot composition automatique est un mot qui aujourd'hui recouvre n'importe quoi. En fait, on peut très bien utiliser le terme pour parler de la perforation au clavier d'une bande monotype et de la lecture de cette bande en fondeuse. Il y a également composition automatique, et même composition programmée, à partir du moment où une bande de papier contient quelques instructions au départ (justification, caractère, alinéa). Le facteur richesse du langage descriptif n'intervient pas spécialement dans la définition, si bien que le même mot recouvre des idées, des recherches, des réalisations complètement différentes.

Je pense que l'éditeur qui s'engage dans la voie de la composition automatique doit non seulement penser à son souci immédiat, mais à ses besoins futurs. Il doit prévoir les modifications ultérieures afin que la structure du programme en tienne compte au départ : certains éléments pourront être repris en fonction de nouveaux besoins. Ceci est très important, car il faut savoir que reprendre un programme en cours de route représente un travail colossal. Nous conclurons en attirant l'attention des éventuels utilisateurs sur cette notion de prévoyance, d'organisation des programmes, pour éviter les trafiquages qui par la suite seront coûteux, non seulement en mémoire d'ordinateur, mais en temps de réalisation, voire en possibilité d'extension. La formation des hommes aptes à utiliser le langage descriptif d'entrée ne saurait être négligée.


  1. S'il s'agit d'une bande perforée « au kilomètre », les Américains disent une «idiot tape»... 

  2. En bonne typographie traditionnelle, le typographe choisit un corps de caractère égal en points Didot à peu près à la moitié de la justification exprimée en cicéros, c'est-à-dire que pour une justification de 14 cicéros, le corps optimal est un corps 7. 

  3. Soit les trois lignes a, b, c, calculées et stockées en mémoire de l'ordinateur. Le programme critique cet ensemble selon les critères de qualité typographique. S'il est mécontent, il reprend complètement le calcul du texte au niveau de la ligne a en augmentant légèrement l'espace du mot de base de manière à chasser un peu de texte... S'il est satisfait selon sa logique de décision, il envoie en « sortie » la ligne a et prépare la ligne d. Après stockage de celle-ci, il refera sa critique sur l'ensemble b, c, d... et ainsi de suite.  

  4. Le programme français que nous avons mis au point est le seul qui travaille sur trois lignes. 

  5. Le module est un ensemble homogène, lui-même divisé en sous-modules pour permettre une manipulation plus fine. 

  6. Ceci n'est qu'un détail parmi bien d'autres que nous n'abordons pas ici faute de place, l'ensemble signature comporte plusieurs lignes. Comme un intertitre ou une note en marge non justifiée, il peut être aligné à gauche, à droite, centré. Le programme doit prendre en charge la mise en place de cet ensemble relativement au texte, selon la plus longue ligne de l'ensemble. Pour garder toutes les possibilités typographiques, il y a quelques problèmes à résoudre.