rapport de these - ucam.ac.ma · mohamed elyaakoubi, azzeddine lazrek and mostafa banouni. towards...

128
UNIVERSITE CADI A YYAD FACULTE DES SCIENCES SEMLALIA –MARRAKECH N˚ d’ordre THÈSE présentée à la Faculté pour obtenir le grade de : Docteur UFR Doctorat Informatique Spécialité : Informatique Sur l’étude et la réalisation d’un système de justification du e-document scientifique multilingue Par Mohamed ELYAAKOUBI (DESA : Calcul formel et Informatique) (Étude et réalisation d’une fonte pour l’écriture arabe)

Upload: others

Post on 26-Aug-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

UNIVERSITE CADI AYYAD

FACULTE DES SCIENCES

SEMLALIA – MARRAKECH

N˚ d’ordre

THÈSEprésentée à la Faculté pour obtenir le grade de :

DocteurUFR Doctorat Informatique

Spécialité : Informatique

Sur l’étude et la réalisation d’un systèmede justification du e-document

scientifique multilingue

Par

Mohamed ELYAAKOUBI

(DESA : Calcul formel et Informatique)

(Étude et réalisation d’une fonte pour l’écriture arabe)

Page 2: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International
Page 3: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Remerciement

I

Page 4: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Fiche présentative de la thèse Nom et prénom de l’auteur : Mohamed Elyaakoubi

Intitulé de la thèse :

Sur l’étude et la réalisation d’un système de justificationdu e-document scientifique multilingue

Directeur de la thèse :– Nom, prénom et grade : Lazrek Azzeddine, Professeur de l’Enseignement Su-

périeur– Laboratoire : Ingénierie des Systèmes Informatiques– Institution : Université Cadi Ayyad - Faculté des Sciences Semlalia

Intitulé et référence de l’UFR Doctorat : Informatique

Responsable de l’UFR Doctorat : Pr. Azzeddine Lazrek

Lieu de réalisation des travaux :– Institution : Université Cadi Ayyad - Faculté des Sciences Semlalia– Département : Informatique– Laboratoire : Ingénierie des Systèmes Informatiques– Équipe : Systèmes d’Informations et Réseaux de Communication– Groupe : Composition du e-document scientifique multilingue

Période de réalisation des travaux : 2004-2009

Rapporteurs autres que l’encadrant (prénom nom, grade, institution) :– Stephen M. Watt : University of Western Ontario, Canada– Khalid Sami : PES, Université Cadi Ayyad - Faculté des Sciences Semlalia– Luc Devroye : School of Computer Science McGill University, Montreal, Ca-

nada

Mots clés : Calligraphie, E-document, Expression mathématique, Fonte, Justification,Multilingue, Système de composition, Typographie numérique.

Publications des résultats des travaux :

? Mohamed Elyaakoubi and Azzeddine Lazrek.Justify just or just justify.Journal of Electronic Publishing. volume 13, N 1, 2009, DOI 10.3998/3336451.0013.105.(http://quod.lib.umich.edu/cgi/t/text/text-idx?c=jep;view=text;rgn=main;idno=3336451.0013.105)

II

Page 5: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

? Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni.Towards digital typography for Arabic text justification.(In Arabic) The 4th International Conference on Computer Science Practice inArabic, CSPA’08, Doha, Qatar, 2008, pp. 14–27, Phillips Publishing, ISBN 978-0-6151-9905-4(http://www.phillips-publishing.com/cspa08/)

? Mohamed Jamal Eddine Benatia, Mohamed Elyaakoubi, Azzeddine Lazrek.Arabic text justification.TUGBOAT, Vol. 27, N 2, pp. 137–146, 2006.(https://www.tug.org/members/TUGboat/tb27-2/tb87benatia.pdf)International Conference on TEX, TUG2006, preprint, pp. 19–28, Marrakesh,Morocco 2006.

? Mohamed Elyaakoubi and Azzeddine Lazrek.Arabic scientific e-document typography.5th International Conference on Human System Learning, ICHSL5, pp. 241–252,ISBN 2-909285-33-2, Marrakech, 2005.(http://europia.org/edition/livres/cogn/ICHSL5.htm)

? Mostafa Banouni, Mohamed Elyaakoubi and Azzeddine Lazrek.Dynamic Arabic mathematical fonts.Lecture Notes in Computer Science (LNCS), Springer Verlag, Vol. 3130, pp. 149–157, ISBN 3-540-22801-2, 2004.(http://www.springeronline.com/sgw/cda/frontpage/0,11855,5-147-22-33856338-0,00.html)(http://www.springerlink.com/content/urhrt2eykyhh1rpa/)International Conference on TEX, XML and Digital Typography TUG2004, TUG2004,Xanthi, Greece, Preprints pp. 48–53, 2004.(http://www.tug.org/TUGboat/Contents/contents25-0.html)(authors erratum: not Mustapha Eddahibi, Azzeddine Lazrek and Khalid Sami)

III

Page 6: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Résumé

Le but de cette thèse est de dynamiser les procédés typographiques de composition dee-documents scientifiques multilingues. Que ce soit pour le script latin ou arabe, retrou-ver cet aspect dynamique est un pas essentiel pour renouer avec la qualité typographiquesouhaitée dans le document numérique—problème ancien, toujours d’actualité.

Si les spécifications de formats de fontes ont franchit des pas géants pour le rendu cor-recte des scriptes dites complexe, les concepteurs en ont rarement tirés profit. Cepen-dant, la thèse défendue ici est que le problème de dynamisme de procédés typogra-phiques ne peut pas être résolu uniquement par des fontes dites dynamiques sans adap-ter les systèmes qui en faisaient usage.

Un document scientifique a au moins deux composantes : les expressions mathéma-tiques et le texte. Nous avons consacré une partie de cette thèse à la confection d’unefamille de fontes pour la première composante. D’une part, la fonte RamzArab contientdes symboles spécifiques pour composer les expressions mathématiques arabes. D’autrepart, une famille de fontes dynamiques pour composer les symboles curvilignes exten-sibles et la manipulation de la kashida. La mise en œuvre de la composante dynamiquea nécessité une adaptation du système CurExt à cet égard.

Pour le texte, la démarche est profondément différente. La composition est entièrementcommandée par la fonte, alors que celle ci ne peut pas prévenir les stratégies déployéespour la mise des mots en paragraphe.

En calligraphie, la justification intervient pour remplacer des glyphes par d’autres, acti-ver/désactiver des ligatures ou encore allonger des lettres. Une partie de cette thèse a étédédié à l’étude exhaustive de cet aspect des choses. Les explorations de traité historiquesau sujets et la consultation des compositions calligraphiques, nous a été primordialepour parvenir à un formalisme de techniques en vigueur pour la justification de textearabe en calligraphie.

Nous avons ensuite consacré une partie de ce travail aux systèmes de composition detextes et leurs comportements vis-à-vis le texte arabe. En particulier, les moteurs Open-Type, AAT et graphite. Ce passage autant qu’il était descriptif, nous l’avons fait avecun esprit critique vers les solutions proposées par ces moteurs pour remédier aux pro-blèmes liés à la justification.

Nous présentons comme dernier issue un modèle pertinant qui consist à améliorerl’algorithme de paragraphage optimum-fit et une implantation de formalisme de justi-fication via un système de pénalités auquel l’algorithme optimum-fit est parfaitementadapté.

IV

Page 7: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Table des matières

Fiche présentative de la thèse II

Résumé IV

Table des figures X

Liste des tableaux XI

Introduction 1

1 Écriture arabe et machine 5

1.1 Origines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Réformes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3 Traitement automatique de l’écriture arabe . . . . . . . . . . . . . . . 7

1.3.1 Difficultés de traitement . . . . . . . . . . . . . . . . . . . . . 7

1.3.1.1 Sens de déroulement . . . . . . . . . . . . . . . . . . 7

1.3.1.2 Cursivité et multitudes de graphèmes . . . . . . . . . 7

1.3.1.3 Kashida . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.1.4 Ligature . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.1.5 Vocalisation . . . . . . . . . . . . . . . . . . . . . . 9

1.3.1.6 Ligne de base . . . . . . . . . . . . . . . . . . . . . . 9

1.3.1.7 Diversité de styles . . . . . . . . . . . . . . . . . . . 10

1.3.2 Bien avant l’informatique . . . . . . . . . . . . . . . . . . . . 11

1.3.3 Approches de simplification . . . . . . . . . . . . . . . . . . . 12

1.3.4 Exigences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3.5 Deux démarches . . . . . . . . . . . . . . . . . . . . . . . . . 16

V

Page 8: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

1.3.6 Modélisation de tracés . . . . . . . . . . . . . . . . . . . . . . 17

1.3.7 Codage des caractères arabes . . . . . . . . . . . . . . . . . . . 20

2 Fonte dynamique pour les mathématiques arabes 22

2.1 Composition d’une expression . . . . . . . . . . . . . . . . . . . . . . 23

2.2 Système RyDArab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3 Système CurExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4 Fonte RamzArab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.4.1 Confection de la fonte mathématique . . . . . . . . . . . . . . 25

2.4.2 Composition de la fonte . . . . . . . . . . . . . . . . . . . . . 26

2.5 Extension du système CurExt . . . . . . . . . . . . . . . . . . . . . . 28

2.5.1 Symboles extensibles curvilignes . . . . . . . . . . . . . . . . . 28

2.5.2 Paramétrisation . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.6 Coupure d’une expression . . . . . . . . . . . . . . . . . . . . . . . . 31

3 Justification en typographie latine 34

3.1 Alignement d’un texte . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2 Lisibilité et gris typographique . . . . . . . . . . . . . . . . . . . . . . 35

3.3 Techniques de justification . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3.1 Coupure de paragraphe en lignes . . . . . . . . . . . . . . . . 36

3.3.2 Espacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.3.3 Césure typographique . . . . . . . . . . . . . . . . . . . . . . 37

3.3.4 Alignement optique . . . . . . . . . . . . . . . . . . . . . . . 38

3.3.5 Justification sur le Web . . . . . . . . . . . . . . . . . . . . . . 39

3.3.6 Autres pratiques . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3.6.1 Techniques de Gutenberg . . . . . . . . . . . . . . . 40

3.3.6.2 hz-program . . . . . . . . . . . . . . . . . . . . . . . 42

3.3.6.3 pdfTEX amélioré . . . . . . . . . . . . . . . . . . . . 43

3.3.7 Réactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.3.8 Ligatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 Justification du texte arabe 47

4.1 Justification en calligraphie arabe . . . . . . . . . . . . . . . . . . . . 48

VI

Page 9: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

4.1.1 Kashida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.1.2 Ligatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.1.3 Allographes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.1.4 Autres pratiques . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Proposition de modélisation . . . . . . . . . . . . . . . . . . . . . . . 52

4.2.1 Point diacritique/métrique . . . . . . . . . . . . . . . . . . . . 52

4.2.2 Présence d’élongation . . . . . . . . . . . . . . . . . . . . . . 56

4.2.3 Degré d’extensibilité . . . . . . . . . . . . . . . . . . . . . . . 59

5 Système de composition de texte 61

5.1 Moteur de rendu textuel . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2 Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2.1 Modèle caractère/glyphe . . . . . . . . . . . . . . . . . . . . . 65

5.2.2 TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.2.3 Textème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.2.4 Comportement bidirectionnel . . . . . . . . . . . . . . . . . . 67

5.3 Espace fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.3.1 OpenType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.3.2 Table cmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.3.3 Table GSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.3.4 Table GPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.3.5 Hiérarchie d’accès . . . . . . . . . . . . . . . . . . . . . . . . 71

5.4 Uniscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.5 Table JSTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.6 Optimisation avec AAT . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.6.1 Table just . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.6.2 Glyphe ductile . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.7 Graphite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.8 Certaines réflexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.9 Justification sur le Web . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.10 Système de composition . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.10.1 Allongement curviligne . . . . . . . . . . . . . . . . . . . . . 79

VII

Page 10: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

5.10.2 Fonte virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.10.3 PDF et texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.10.4 Omega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.10.5 XÝTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6 Moteur de paragraphage 86

6.1 Moteur de paragraphage de TEX . . . . . . . . . . . . . . . . . . . . . 87

6.1.1 Composition d’un paragraphe . . . . . . . . . . . . . . . . . . 87

6.1.2 Coupure de paragraphe en lignes . . . . . . . . . . . . . . . . 89

6.1.2.1 Algorithme glouton . . . . . . . . . . . . . . . . . . 89

6.1.2.2 Algorithme best-fit . . . . . . . . . . . . . . . . . . 89

6.1.2.3 Algorithme optimum-fit . . . . . . . . . . . . . . . . 90

6.1.2.4 Modèle glue/penalty . . . . . . . . . . . . . . . . . . 90

6.1.3 Retour à Zapf et Thành . . . . . . . . . . . . . . . . . . . . . 91

6.2 Allographe et paragraphage . . . . . . . . . . . . . . . . . . . . . . . . 92

6.3 Textème et paragraphage . . . . . . . . . . . . . . . . . . . . . . . . . 92

6.4 Moteur de paragraphage optimum-fit . . . . . . . . . . . . . . . . . . 93

6.5 Mise en œuvre d’un modèle pour la justification . . . . . . . . . . . . 95

6.5.1 Typographie dynamique . . . . . . . . . . . . . . . . . . . . . 96

6.5.2 Allongements interdits . . . . . . . . . . . . . . . . . . . . . . 97

6.5.3 Pénalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6.5.4 Just4ArT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.5.5 OpenType via ICU . . . . . . . . . . . . . . . . . . . . . . . . 99

6.5.6 Résultats pratiques . . . . . . . . . . . . . . . . . . . . . . . . 100

6.6 Approche CurExt pour la justification . . . . . . . . . . . . . . . . . . 101

6.6.1 Kashida en OpenType . . . . . . . . . . . . . . . . . . . . . . 103

6.6.2 CurExt en OpenType . . . . . . . . . . . . . . . . . . . . . . 103

6.7 Justification de texte multilingue . . . . . . . . . . . . . . . . . . . . . 104

Conclusion 106

Bibliographie 110

VIII

Page 11: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Table des figures

1.1 Alphabet arabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Mot Mohamed avec kashida . . . . . . . . . . . . . . . . . . . . . . . 8

1.3 Divers styles calligraphiques . . . . . . . . . . . . . . . . . . . . . . . 10

1.4 Système pur de Lakhdar-Ghazal . . . . . . . . . . . . . . . . . . . . . 13

1.5 Système étendu pour plus de perfections . . . . . . . . . . . . . . . . . 13

1.6 Séquence de lettres Seen-Beh et Beh-Seen en style Naskh . . . . . . . . 14

1.7 Fusion de glyphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.8 « Ligaturation » forcée . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.9 Quelques exemples de similarités possibles entre tracés . . . . . . . . . 19

1.10 Quelques exemples de variations de la forme initiale de la lettre Beh . . 20

2.1 Image miroir du symbole somme symétrisé par rapport à l’axe verticalpuis à celui horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.2 Paramétrisation des parenthèses dynamiques . . . . . . . . . . . . . . 29

2.3 Paramétrisation de la kashida dynamique . . . . . . . . . . . . . . . . 30

2.4 Processus de dynamisation . . . . . . . . . . . . . . . . . . . . . . . . 30

3.1 Modes de justification . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2 Gris typographique de la Bible de Gutenberg . . . . . . . . . . . . . . 40

3.3 Casse de Gutenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.4 Mise à l’échelle du glyphe . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.5 Technique de Gutenberg . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.6 Ligatures particulières . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.7 Quelques ligatures de la fonte Prestige . . . . . . . . . . . . . . . . . . 46

3.8 Variantes de la lettre « d » de la fonte Zapfino . . . . . . . . . . . . . . 46

IX

Page 12: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

4.1 Morphologies spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.2 Transformation contextuelle et esthétique . . . . . . . . . . . . . . . . 49

4.3 Différents niveaux de ligatures . . . . . . . . . . . . . . . . . . . . . . 49

4.4 Kursy en style Ta’liq . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.5 Enchevêtrement de mots . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.6 Justification favorisant l’espacement . . . . . . . . . . . . . . . . . . . 53

4.7 Justification favorisant l’utilisation de kashida . . . . . . . . . . . . . . 53

4.8 Entassement des mots et des fragments de la césure . . . . . . . . . . . 54

4.9 Césure de mot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.10 Expulsion en marge du fragment du mot coupé . . . . . . . . . . . . . 54

4.11 Changement de la taille de mots en fin de ligne . . . . . . . . . . . . . 55

4.12 Changement de la taille en fin de ligne . . . . . . . . . . . . . . . . . . 55

4.13 Incurvation de la ligne de base . . . . . . . . . . . . . . . . . . . . . . 55

4.14 Césure au milieu en poème . . . . . . . . . . . . . . . . . . . . . . . . 55

4.15 Qalam de la calligraphie arabe . . . . . . . . . . . . . . . . . . . . . . 55

4.16 Forme des points et taille de la Fatha avec kashida . . . . . . . . . . . . 56

4.17 Métriques de la lettre Alef . . . . . . . . . . . . . . . . . . . . . . . . 56

4.18 Allongement de la lettre Seen dans Albasmala . . . . . . . . . . . . . . 57

5.1 Architecture d’un moteur de rendu textuel . . . . . . . . . . . . . . . 62

5.2 Passage du monde des caractères au monde des glyphes . . . . . . . . . 69

5.3 Structure arborescente des tables GSUB et GPOS . . . . . . . . . . . . . 71

5.4 Fonctionnement d’Uniscribe . . . . . . . . . . . . . . . . . . . . . . . 72

5.5 Fonte virtuelle et kashida . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.6 Composition de caractère dans une fonte virtuelle . . . . . . . . . . . 81

5.7 Utilisation de l’opérateur ActualText . . . . . . . . . . . . . . . . . . 83

5.8 Architecture du moteur XÝTEX . . . . . . . . . . . . . . . . . . . . . 85

6.1 Allongement de la lettre Kaf . . . . . . . . . . . . . . . . . . . . . . . 92

6.2 Architecture du moteur de paragraphe . . . . . . . . . . . . . . . . . . 100

6.3 Architecture améliorée de moteur de paragraphe . . . . . . . . . . . . 101

6.4 Paragraphe composé en optimum-fit amélioré . . . . . . . . . . . . . . 102

6.5 Paragraphe composé en optimum-fit ordinaire . . . . . . . . . . . . . 102

Page 13: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Liste des tableaux

2.1 Table de la fonte RamzArab . . . . . . . . . . . . . . . . . . . . . . . 32

4.1 Familles des lettres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.2 Tableau des extensibilités permises suivant le contexte . . . . . . . . . 60

6.1 Table jalt de la fonte Arabic Typesetting . . . . . . . . . . . . . . . . . 99

Page 14: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Introduction

Les rapports entre ordinateurs et typographie est un sujet vaste et complexe ! MOTIVATION

L’initiation dans ce domaine fut le Macintosh, prévu dès l’origine pour fonc-tionner en mode graphique, condition indispensable pour la qualité typogra-

phique. Plus tard, le système Windows a été touché par la grâce. Une fois que l’on y agoûté, le monde s’orienta vers les interfaces graphiques, ce n’est plus le temps de tristes« caractères » d’affichage du monde DOS. PROBLEMATIQUE

Au début de la publication assistée par ordinateur (PAO), la recherche d’une certaine Typographie

qualité typographique ne semblait concerner essentiellement que les spécialistes sacré-ment habiles dans ce domaine ainsi que les compositeurs de métier. Ces derniers uti-lisèrent les capacités de l’informatique, mais aussi leur sens de typographes qualifiéspour parvenir à des résultats satisfaisants. De nos jours, l’outil principal de la composi-tion typographique est entre les mains de toute sorte d’utilisateurs, non qualifiés, et quicroient qu’un système de composition de texte ou un système de publication électro-nique peut amener automatiquement à une satisfaction. Les typographes craignent queles problèmes de composition ne soient à nouveau laissés de côté. POINT DE

METHODETout au long de ce mémoire, nous avons incité deux mondes : la calligraphie et l’infor-matique. Si chaque lecteur a un centre d’intérêt particulier, notre but était de cohabiterles deux dans la même orbite. L’informatique servit la calligraphie, et la calligraphie Calligraphie

ouvre des champs d’intérêt pour l’informatique. Les deux seront en faveur des utili-sateurs de systèmes de publication électronique. Peut-on enfin rêver que l’œil jouissed’une lecture à la fois authentique, facile et agréable ? Si nous avons structuré ce mé-moire de façon à séparer les deux aspects dans le texte, c’est simplement pour maintenirla clarté de nos propos.

Lors d’une réalisation typographique, l’utilisateur doit faire en premier lieu le choix de APERCU

la fonte, ou des fontes, à utiliser pour la composition de son document. La guerre desfontes fait aujourd’hui rage ; des milliers de fontes ont été créées, et on en crée toujours.Cette multitude de fontes ne fait que compliquer la tâche du compositeur. La plupartde ces créations ne sont pas basées sur de vraies règles de conception esthétique. Pourl’écriture arabe, ces règles se trouvent dans les traditions de la calligraphie, encore faut-il

1

Page 15: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

qu’il y en ait. Si l’informatique aujourd’hui met sa vigueur au service de la diversité etla beauté de l’écrit, les concepteurs de fontes ont en rarement tiré profit.

Dans le premier chapitre de ce mémoire, on s’attache à relever les aspects de médiocrité Structure del’écriture arabedes fontes Communément utilisées. Un déficit esthétique qui s’est faufilé à travers un

héritage et un cheminement historique qui témoignent de la difficulté dont les lettresarabes sont imposées aux procédés de l’imprimerie.

Le deuxième chapitre constitue en quelque sorte une récréation, puisqu’il présente la Fontemathématiquecomposante scientifique d’un e-document, en particulier, les expressions mathématiques

et certains aspects d’amélioration de leur qualité typographique, un des points fortsdu système TEX. Nous nous intéressons en particulier à la composante dynamique deces expressions. Ceci dit, le développement d’un outil de composition automatiquedes délimiteurs curvilignes extensibles ainsi que l’extension de la kashida, allongementcurviligne des lettres, difficile à imiter par les modèles typographiques actuels. Le e-document scientifique arabe nécessite aussi une fonte mathématique propre homogèneet complète, cela était l’un de nos investissements lors de la conception de la fonteRamzArab au format OpenType. Les symboles à la base de cette fonte ont été soumispuis acceptés en Unicode. Cette étape est essentielle pour que d’autres systèmes fassentusage de ces symboles.

En typographie latine, l’appareil typographique de la copie à 42 lignes, du Saint Bible, Typographie latine

fut une source d’inspiration depuis l’époque de Johannes Gutenberg. Les fins de lignesétaient soigneusement alignées sur une ligne verticale, avec un gris typographique trèsagréable et équilibré car les blancs si disgracieux entre les mots sont évités. Gutenbergs’était doté d’une série de techniques renonçant à la méthode la plus simple de justi-fication - hier comme aujourd’hui - à savoir la dispersion des espaces inter-mots. Letroisième chapitre constitue une présentation de techniques de justification de texteslatins, y compris celles de Gutenberg et celles proposées par certains programmes demicro-typographie, ainsi qu’une discussion de la validité de certaines de ces techniquespour la composition de textes de nos jours.

Au delà des compositions intimes de mots faites, en général, par des règles définies dans Typographie arabe

la fonte, aujourd’hui, comme du temps de la composition manuelle, il manque encoreun outil pour justifier le texte avec un gris constant. Nous sommes tous choqués quandun texte présente des lézardes agaçants qui troublent le confort de la lisibilité. En ty-pographie et en calligraphie arabe, l’égalisation des lignes de paragraphes se réalise parl’élongation des lettres appelée kashida, ou par l’activation/désactivation des ligaturesou des allographes. De telles techniques ne peuvent pas être employées d’une manièrealéatoire, mais elles doivent être utilisées avec la grande précaution et la grande obéis-sance aux règles de la calligraphie. D’autres pratiques archaïques, entre autres, sont aussitraditionnellement employées. Cet aspect des choses que nous passerons en revue dans

Page 16: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

le quatrième chapitre. Un formalisme de justification de texte arabe sera avancé en vuede son implantation dans un système supportant l’écriture arabe.

Le cinquième chapitre nous permettra d’aborder un sujet délicat : le mystère des sys- Moteur de rendutextueltèmes informatiques de publication électronique, l’architecture de ces systèmes et la

façon dont ils s’adaptent à l’écriture arabe. De tels systèmes ont été initialement conçuspour les besoins de la langue anglaise. Du point de vue technique, c’étaient peut-êtreles langues latines qui ont eu le moins de mal à s’adapter à ces systèmes, grâce à l’al-phabet de base commun. Des méthodes de justification adéquates faisaient partie desobjectifs les plus ambitieux de ces systèmes de rendu textuel. AAT, OpenType et récem-ment Graphite se sont donnés à cœurs joie pour la production de textes avec un gristypographique uniforme et agréable. Toutefois, on ne voit pas d’utilisation concrètede ces modèles dans les fonctionnalités de justification de textes dans les systèmes decomposition de texte. Notre passage autant qu’il était descriptif, nous l’avons fait avec Réflexions

un esprit critique. Les basculements entre les différentes approches proposées par lesdifférents modèles, nous a éclairé le champ vers des réflexions construites sur la base duformalisme du chapitre trois concernant la justification d’un texte arabe.

Enfin, le sixième chapitre porte un intérêt particulier aux moteurs de paragraphage. Un Modèle pour lajustificationalgorithme particulier s’impose, celui inventé par Donald E. Knuth, et qui est au cœur

de son système TEX. C’est un deuxième point fort, en plus de sa qualité de compositiondes expressions mathématiques, qui fait de TEX, un système de production de qualitétypographique excellente. C’est ce même algorithme que nous proposons d’améliorerpour prendre en considération l’existence de variantes de glyphes fournies par la fontelors de la composition d’un texte arabe. Ces variantes peuvent être des allographes oudes allongements par la kashida. Nous mettons en œuvre un modèle de justification dutexte arabe, qui est, d’une part, rigoureux puisque une partie des actions établissant lajustification du texte font partie du système de composition et ils n’ont pas été dédiéesau concepteur de la fonte, d’une autre part, le modèle est ouvert, puisqu’il garde un pontde dialogue avec l’utilisateur qui peut communiquer ces propres choix typographiques.Les résultats sont prometteurs, et nous anticipons pour étendre l’esprit de sacrifice etde dialogue, qui a piloté dès le départ l’algorithme de D. Knuth, pour la justification detextes multilingues.

Nous concluons par une présentation des résultats, des perspectives de ce travail, ainsi Conclusion

que des applications de l’étude que nous avons entreprit dans d’autres domaines autreque la typographie.

Page 17: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

La nature du sujet traité dans cette thèse a nécessité l’utilisation d’un méta-langage et CONVENTIONS

TYPOGRAPHIQUESdes termes provenant d’autres langues que la langue française. Nous avons employécertaines conventions typographiques que nous avons essayé de respecter tout au longde ce mémoire, afin d’assurer une certaine cohérence aidant à la compréhension dutexte.

Albasmala

Les termes arabes commencent par une lettre majuscule. Pour le terme kashida,et bien qu’on soit loin d’accord universel sur son origine arabe, persan ou turc,il est reconnu et utilisé aujourd’hui par la plupart des systèmes de traitement detexte. Nous avons choisi de ne pas mettre sa première lettre en majuscule.

Alef

Les noms des lettres arabes sont ceux utilisés dans les noms des caractères corres-pondants dans le standard Unicode, commençant par une majuscule.

tolerance

Les termes anglais sont mis en italique.

\font

Les lettres de machine à écrire sont employées pour les commandes et les outils.

« grammaire graphique »

Les termes et les phrase du méta-langage en français sont mis entre guillemets.

4

Page 18: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Cha

pitr

e

1Écriture arabe et machine

Peut-on encore se poser la question de satisfaction de la qualité typographiqueproduite par les systèmes de publication assistée par ordinateur (PAO) ? Nousne voulons pas par cette question reprendre les affrontements des partisans et

des opposants de la typographie numérique. Nous nous mettons du coté des produc-teurs par ordinateur pour dire que l’arrivée des ordinateurs a permis la compositionet la communication de documents avec une grande efficacité en temps et en espaceet même avec une qualité de lissage des tracés dépassant celle de l’imprimerie tradi-tionnelle. D’une autre part, nous nous mettons du coté des copistes traditionnels pouraffirmer que l’automatisation des procédés d’impression n’a pas pu toucher la splendeurdu geste du calligraphe. On leur partage la crainte : les sociétés qui se battent pour lemarché de l’édition électronique des livres feignent de croire qu’il n’y a plus rien à faireen matière de recherche de qualité typographique. La situation, pour l’édition en alpha-bet arabe, est encore plus délicate. Le cheminement historique, de l’imprimerie arabe,témoigne que les premières tentatives d’automatisation de l’écriture arabe furent à basede la simplification excessive de son système morphologique. Ces simplifications ontfait perdre toute la force et la valeur interprétative qui embellit le texte. L’imprimerietraditionnelle n’est plus guère utilisée. Cependant, la façon dont on est passé de procé-dés mécaniques à l’informatique a transmis aux systèmes de la PAO certaines façons deprocéder. Nous allons s’attaquer à la médiocrité des fontes utilisées non pas en hurlantavec les loups que « en calligraphie, on faisait mieux », mais en proposant les bonnesdirectives qui permettent de faire mieux.

5

Page 19: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Origines Écriture arabe et machine

ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي

ابتثجحخدذرزسشصضطظعغفقكلمنهو ي

Figure. 1.1 – Alphabet arabe

(La deuxième ligne montre l’aspect cursif de cet alphabet)

1.1 Origines

La langue arabe est une langue sémitique. La théorie la plus communément admisefait descendre l’alphabet de celle-ci de l’écriture nabatéenne, l’ascendante directe del’écriture araméenne ancienne qui est un rejeton de l’alphabet phénicien. L’empruntau Phénicien se fera autant à l’alphabet qu’à la langue. De là, par dérivations et altéra-tions, allait naître l’alphabet arabe qui restera longtemps, et définitivement jusqu’à nosjour, proche de son ancêtre. L’écriture arabe est donc née aux alentours du VIe siècle del’écriture cursive nabatéenne. La naissance tardive de l’écriture chez les Arabes revientessentiellement à leur état nomade favorisant surtout une culture orale. Cela malgrél’état très développé de leur langue.

Pas très loin de cette époque, l’arrivée de l’Islam au début du VIIe siècle a profondémentmarqué l’histoire de l’écriture arabe. Le Saint Coran, livre sacré était conservé dans lamémoire des compagnons du prophète Mohamed. Cependant, la mort de nombreuxcompagnons connaissant le Coran par cœur a poussé les premiers califes de l’Islam àfixer le Saint Coran sur un support scripturaire afin d’éviter sa disparition et sa mani-pulation.

1.2 Réformes

À l’époque où le Saint Coran a été fixé, l’écriture arabe posait encore quelques pro-blèmes. Les 22 consonnes nabatéennes étaient insuffisantes pour écrire les 28 phonèmesarabes (voir figure 1.1), à ce problème, s’ajoute l’absence de points diacritiques et designes vocaliques qui réduisait la graphie à un simple schéma consonantique. La réformede l’écriture arabe devenait alors une affaire impérative et très urgente. C’est à l’époquedu califat Omayade que plusieurs réformes ont été accomplies par des pionniers de lalangue et de la grammaire arabes.

il fallut ajouter des signes pour marquer les différentes voyelles, ce système porte le nomde Tashkeel : tel sera le rôle des signes vocaliques dont l’emplacement déterminera laprononciation. Ce système sera ensuite affiné par le fondateur de la grammaire arabe,Abou Al’asswad AlDu’ali (688 AD), puis par le gouverneur Omayade Alhajjaj BnuYusuf Athaqafi qui met au point une codification uniformisée. Enfin, Alkhalil BnuAhmad Alfarahidi (786 AD) remplace le système d’Abou Al’asswad par une codification

6

Page 20: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

universelle qui inclut six signes diacritiques : Fatha (a), Damma (u), Kasra (i), Sukun(sans voyelle), Shadda (consonne redoublée) et Madda (prolongation de la voyelle). Cesystème se généralisera dès le début du XIe siècle de notre ère.

Une autre version de l’histoire de l’écriture arabe revendique que les points diacritiqueset les signes vocaliques ont existé même avant la transcription du Saint Coran. Lespoints diacritiques n’ont pas été utilisés afin que certains mots du texte coranique aientplus qu’un sens correct. Les réformes ne font que revenir à cette structure pour la fixer.Quoi qu’il a été, durant les siècles suivants et jusqu’à aujourd’hui, l’alphabet arabe aconservé sa structure. Des dizaines de milliers de livres, commentaires religieux, ou-vrages de philosophie, de sciences, de littérature et de poésie témoignent de la consis-tance de cette écriture.

1.3 Traitement automatique de l’écriture arabe

1.3.1 Difficultés de traitement

1.3.1.1 Sens de déroulement

Contrairement aux écritures occidentales qui s’écrivent de gauche-à-droite, l’arabe s’écritde droite-à-gauche. Historiquement, le système de numérotation décimal utlise les chiffresdits arabes ou arabo-indiens. Ces chiffres sont lus et écrits aussi de droite-à-gauche, encommençant par les unités. Par exemple, 1987 est littéralement lu sept et huit dizaines etneuf cents et mille, Seb‘a wa Thamania A‘char wa Tes‘a Mi’at wa Alf. Il s’agit d’ailleursde la manière la plus logique de lire un nombre écrit en chiffres en arabe. En effet, lors-qu’on fait une addition, l’opération élémentaire à la base de la numération à base dix, oncommence bien par les unités. Toutefois, sous l’influence de l’occident, en arabe dialec-tal les nombres supérieurs à cent sont parfois lus de gauche-à-droite, mais les nombresinférieurs à cent conservent le mode de lecture « naturel ». Ce qui donne pour 1987 :mille et neuf cents et sept et huit dizaines.

1.3.1.2 Cursivité et multitudes de graphèmes

L’écriture latine possède depuis l’époque romaine deux styles fondamentaux : l’écrituremanuscrite cursive et les caractères individuels utilisés par les graveurs pour les inscrip-tions lapidaires qui ont été utilisés par la suite pour confectionner les caractères mobilesde la typographie. Par contre, l’écriture arabe reste la même, et elle n’a jamais départi sanature cursive. On nomme ainsi une écriture où les lettres sont liées entre-elles. Dans ceprocessus de liaison, les lettres changent de forme selon leur contexte. Certaines lettresaiment donner la main aux autres, mais pas toutes. Certaines lettres ne s’attachent pasà la lettre qui est devant (à gauche). Mais une lettre s’attache toujours à la lettre qui

7

Page 21: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

Figure. 1.2 – Mot Mohamed avec kashida

la précède (derrière à droite) (voir figure 1.1). L’imprimerie ainsi que l’outil informa-tique, jusqu’à présent, se contentent de reproduire fidèlement la structure manuscriteet cursive de l’écriture, et qui par conséquent engendre différentes difficultés lors de sonintroduction aux nouvelles technologies de la typographie numérique.

1.3.1.3 Kashida

Les véritables liaisons entre les lettres arabes doivent être des ponts concaves curvilignes,qui sont susceptibles de s’étendre. Cette propriété appelée kashida, ou TaTwil, Tamdid,Madda, MaT, Al’iTala, etc., est un privilège des lettres arabes, rarement rencontré oumaintenu dans le traitement d’autres systèmes d’écritures. Elle est utilisée dans diversescirconstances :– emphase, pour donner de l’emphase à un mot, l’élongation gestuelle en écriture d’un

mot important correspondra à l’élongation sonore en oratoire ;– lisibilité, pour retrouver une meilleure disposition des glyphes sur la ligne de base et

pour traiter l’encombrement qui peut apparaître au point d’articulation entre deuxlettres successives d’un même mot ;

– esthétique, pour embellir un mot ;– justification, pour des fins de justification de lignes (voir chapitre 4 sur la justification

du texte arabe).L’exemple de la figure 1.2 présente une composition du mot arabe Mohamed. Les flèchesindiquent les kashida-s, avec des degrés d’extensibilité variés.

1.3.1.4 Ligature

Les ligatures sont des combinaisons de deux lettres ou plus. L’écriture arabe nécessite ungrand nombre de ligatures pour être composée de façon satisfaisante. On peut classifierles ligatures typographiques en trois types [44] qui sont :

1. les ligatures linguistiques, ce sont celles obligatoires. Ils obéissent à des règlesgrammaticales. L’exemple le plus proche est la ligature arabe Lam-Alef ;

2. les ligatures esthétiques, ce sont celles qui ne sont pas indispensables et qu’on peutremplacer par leurs composantes non liées ;

3. les ligatures contextuelles, ce sont les variantes de position dans un processus decomposition de texte. L’écriture latine actuelle n’utilise pas de ligatures contex-

8

Page 22: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

tuelles. Par contre, l’arabe qui est une écriture cursive, est l’exemple par excellenced’une écriture riche en ligatures contextuelles.

1.3.1.5 Vocalisation

L’écriture arabe est une écriture semi-consonantique. La vocalisation longue est mar-quée au moyen des trois lettres appelées Horof Almad : Waw (w), Alef (a) et Yeh (y).Alors que la vocalisation courte est marquée à l’aide des signes diacritiques appelésHarakat Ashakel placés au-dessus ou au-dessous des lettres à vocaliser. Dans différentssystèmes d’écritures, les signes diacritiques ont un rôle linguistique et phonétique com-mun. Dans d’autres écritures, comme l’arabe, ils ont aussi un rôle typographique. Ilsservent à remplir le vide produit par la position et la juxtaposition des lettres [24]. Ceteffet est influencé par :– L’utilisation de la kashida : quand une lettre est allongée, le glyphe de la marque

diacritique doit être aussi allongé et (re)positionné.– L’emploi des ligatures : les groupes de lettres qui se transforment en ligature changent

effectivement leurs emplacements sur la ligne, et il en suit, le repositionnement dessignes diacritiques qui les vocalisent.

Inversement, le (re)positionnement n’est pas uniquement horizontal, il est aussi ver-tical. Cela signifie que l’espace inter-ligne est nécessairement influencé. L’ajustementvertical d’un texte a rarement fait objet de sérieuses études [39].

En terme de traitement, l’outil de composition manipule les glyphes des lettres commedes boîtes, et il ne s’intéresse qu’à leurs dimensions et leurs emplacements. Alors quele positionnement approprié des signes diacritiques nécessite que les tracés des lettressentent l’anatomie des autres et non pas seulement leurs boîtes. Les concepteurs defontes peuvent passer un temps considérable à la création manuelle de telle liste depositionnements des signes diacritiques par rapport à des glyphes de base ou à d’autressignes. Il n’y a aucun logiciel qui fait une telle manipulation d’une manière automatique.Cependant, on revendique qu’il y a une certaine similarité entre le positionnement designes vocaliques et la gestion des approches entre glyphes appelée crénage optique,même si ce dernier ne se fait que horizontalement. Certains systèmes prétendent fairela gestion de crénages de paire de glyphes automatiquement, mais aucun de ces systèmesne dévoile sa manière de procéder.

1.3.1.6 Ligne de base

Une ligne de base, ou parfois appelée ligne de pied, est une ligne imaginaire sur laquelles’aligne l’œil de toutes les lettres. En typographie latine, cette ligne est unique. En re-vanche, cette ligne n’existe pas dans la pratique d’un calligraphe arabe. Les lettres etles mots se poursuivent de façon à servir l’aspect visuel général de la ligne, les lettres

9

Page 23: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

Figure. 1.3 – Divers styles calligraphiques

peuvent prendre des hauteurs différentes de manière à combler le vide produit pard’autres. Un formalisme de cette pratique pour une implantation en typographie n’estpas encore entreprit.

1.3.1.7 Diversité de styles

L’écriture arabe est d’une nature monocamérale. Il n’y a pas de différence entre leslettres manuscrites et celles imprimées, et la notion de lettre majuscule et lettre mi-nuscule n’existent pas. Pourtant, au cours de son histoire, l’écriture arabe a beaucoupévolué, prenant des formes variées suivant les supports et les usages. À partir de l’écri-ture primitive, les calligraphes ont été amenés à créer, selon les époques et les lieux, uncertain nombre de styles, dont on mentionnera les plus employés (voir figure 1.3).

Le style Farsi : suspendu sur la ligne de base. Il a été créé par les calligraphes de la Perse(Fares) pour les recueils de poésie. Il est devenu le style prédominant chez les persans,et les turcs.

Le style Koufi : anguleux et géométrique, il combine harmonieusement lignes droites,angles et formes rondes. Il sera alors largement utilisé pour orner des bâtiments et desmonuments.

Le style Maghribi : autrefois utilisé dans les pays du Maghreb-Arabe, en Espagne An-dalouse et au Soudan. Il a été largement utilisé pour transcrire le Coran au Maghreb-Arabe. Il tend, aujourd’hui, à être supplanté par le style Naskh en Afrique du Nord.

Le style Naskh : souple et arrondi, sans angles brusques. Il est aujourd’hui utilisé pourla copie (Naskh) des manuscrits. Il a été aussi adapté à l’imprimerie, à la machine àécrire et à l’ordinateur. Il est aujourd’hui le style le plus employé dans les livres et lesjournaux.

Le style Thoulouth : ces courbes doivent représenter le tiers (Thoulouth) de la ligneécrite. Il est utilisé, de nos jours, pour les titres des chapitres et des livres, ainsi que pourles inscriptions monumentales.

Le style Rouq‘a : employé jadis dans l’administration pour écrire les « missives »(Rouq‘a). Il est actuellement employé pour la correspondance. Il se caractérise par sasimplicité par rapport aux autres styles.

La présente étude sera restreinte à une formulation du problème de la composition, ledynamisme et la justification d’un texte composé en style calligraphique Naskh. Pourdes raisons de lisibilité, le style Naskh a été adopté depuis les premières tentatives d’in-

10

Page 24: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

formatisation et de normalisation de la typographie arabe. Le style Naskh se situe entrela complexité du style Thoulouth et la simplicité du style Rouq‘a. Notre choix est aussiconsolidé par le fait que certains styles calligraphiques ne permettent pas l’utilisation dela kashida comme le style Rouq‘a. D’autres ont une structure géométrique qui dépasseles règles de la plume et le point métrique (voir section 4.2.1) comme le style Koufi, etd’autres n’utilisent les allongements des lettres que pour des fins d’esthétisme. Cepen-dant, les styles Farsi et Diwani sont plus généreux concernant le nombre de kashida-s :un segment de trois lettres peut en effet avoir deux élongations.

1.3.2 Bien avant l’informatique

Près de deux siècles avant l’installation de la première imprimerie en caractères arabes àAlep en Syrie en 1706, puis celle de Monastère au Liban en 1726, la typographie arabefaisait déjà ses premiers pas en Italie. En 1514, un petit livre de prières, de rite grec :Kitab Salat as-Sawa‘i, fut réalisé par un imprimeur vénitien, Gregorius De Gregoriis,et destiné aux communautés Chrétiennes du Proche-Orient. Il est considéré commele premier livre imprimé en arabe en utilisant la typographie en caractères mobiles.En retard par rapport à l’Europe, les Ottomans eux, avaient interdit les imprimeriessur leur territoire dès le XVe siècle par peur que des fautes d’orthographe ou autres seretrouvent dans les copies du Saint Coran. Ils n’autorisent que les communautés non-Musulmanes à imprimer. Cette interdiction fut levée en 1726 pour les publications nonreligieuses et un premier livre fut imprimé à Istanbul en 1728.

L’adoption de l’impression en caractères mobiles par l’écriture arabe était très coûteuse.La segmentation typographique était mal adaptée à ce contexte. D’ailleurs, au berceaude l’imprimerie, les caractères mobiles n’ont pas connu le succès qu’ils ont eu en Eu-rope plus tard, à cause du nombre et du coût de leur utilisation. Sans doute, une écriturecomplexe comme l’arabe qui avait toujours des racines profondes dans la calligraphie,était difficile à s’adapter à l’imprimerie. Une normalisation des formes était donc néces-saire. La calligraphie devait être « apprivoisée », de sorte que le résultat soit homogène,reproductible, et suffisamment souple pour être agréable à l’œil.

Cette tentative de normalisation a eu lieu en 1906, au Caire, lorsque la casse de l’impri-merie Matabi‘ Al’amirya a été définie [51]. Cette casse a été au-delà de la simplificationexcessive mais elle n’a pas pu approcher la splendeur des compositions calligraphiques.L’informatique a tenté, et a finalement été en mesure, d’imposer cette nouvelle normede composition simplifiée.

11

Page 25: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

1.3.3 Approches de simplification

Depuis les débuts d’automatisation des procédés d’impression de textes, et plus préci-sément l’utilisation da la machine à écrire, l’enjeu pour l’écriture arabe était d’impor-tance. Les problèmes posés par l’écriture arabe ont déclenché une prise de conscienced’un certain nombre d’académies et d’organismes culturels arabes. En 1938, une com-mission de la réforme des lettres arabes a été créée pour la première fois, au sein del’Académie de Langue Arabe du Caire en Égypte. Elle a fixé comme objectif la simplifi-cation de l’écriture arabe. L’ensemble des projets présentés est reparti en quatre grandescatégories :– ceux qui gardent les lettres arabes et les signes de vocalisation ;– ceux qui gardent les lettres arabes et remplacent les signes de vocalisation par d’autres

signes incorporés aux mots ;– ceux qui utilisent une seule forme pour chaque lettre et abandonnent la complexité

de la contextualité [72];– ceux qui emploient les lettres latines [72].Parmi les nombreux travaux qui ont été effectués, un seul parvenu à un stade industriel.Il s’agit de celui de Ahmed Lakhdar-Ghazal [66], ancien directeur de l’Institut d’Étudeset de Recherches pour l’Arabisation (IERA) à Rabat. Lakhdar-Ghazal était très intéressépar la simplification du clavier arabe. En 1953, il avait inventé un premier système d’im-pression pour les machines à écrire à caractères arabes. Son système a été adapté plustard à toutes les méthodes d’impression : traditionnel, Linotype1, photocomposition2,informatique.

L’idée derrière ce système était d’obtenir, autant que possible, une correspondance bi-univoque entre les lettres de l’alphabet et les glyphes du clavier. Cela permet de com-poser des textes arabes avec un nombre très réduit de touches. Bien sûr, ce n’est pastoujours possible de trouver une telle correspondance, et des exceptions demeurent.Par exemple, la lettre Heh a besoin d’au moins deux glyphes : un premier glyphe pourreprésenter les formes initiale et médiane et un deuxième pour représenter les formesfinale et isolée.

L’alphabet arabe comporte 29 signes différents : 28 lettres plus la marque de la Hamza.En éliminant certains archaïsmes ou signes redondants, Lakhdar-Ghazal arriva à un to-tal de 84 signes pour le « système pur » qui inclut la ponctuation et les chiffres (voirfigure 1.4), 23 signes typographiques de plus pour le système total qui comprend unedeuxième forme pour certaines lettres destinée à améliorer l’esthétique des textes ! com-posés et des lettres étrangères persanes utilisées dans la transcription arabe des mots

1Comme son nom l’indique line of type. C’est une machine mécanique combinant la composition etla fonte. Le texte est saisie à l’aide d’un clavier, la machine ensuite crée une ligne typographique d’un seultenant qui n’a plus qu’à être encrée pour faire l’impression.

2L’exposition de glyphes se fait au moyen d’un flash électronique sur un papier sensible.

12

Page 26: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

I. Glyphes de base

II.Trois terminaisons à connecter à

des glyphes de base

dans la partie jonction entre les

lettres

III. Placement des signes diacritiques

Figure. 1.4 – Système pur de Lakhdar-Ghazal

A.

V U T S R Q P O N M L K J H G I i A j h g f e d c b a z X W

o n m l D q F B E C £ © ª ¨ ¡ ¢

0 9 8 7 6 5 4 3 2 1 ) ( " ! ? : ; , .B.

Z Y ~ | yxwvuts r

§ C. (Added by the author)

¾Fig. 3. Table of typographical types of the LAKHDAR project

Figure. 1.5 – Système étendu pour plus de perfections(source : tirée de [49])

étrangers (voir figure 1.5).

Une fonctionnalité intéressante de ce système est le traitement des voyelles et des signesdiacritiques. Lakhdar-Ghazal a résolu ce problème en plaçant les voyelles non pas au-dessus ou au-dessous des lettres, mais entre les lettres, avec une hauteur/profondeurconvenable.

À l’époque où les systèmes informatiques ne supportaient que l’ASCII 7 bits, le choixd’adapter ce mécanisme était très pertinent d’un point de vue économique [49] : ilpermet de placer les codes nécessaires pour le rendu de texte arabe dans les 96 positionsdisponibles, alors que cela serait impossible si des codes distincts étaient attribués auxdifférentes formes de lettres.

De nombreuses autres tentatives de réforme ont échoué, surtout celles de la normali-sation de l’alphabet arabe qui ont essayé d’adapter la structure de l’écriture arabe auxcontraintes de la machine. Plusieurs raisons ont été à l’origine de cet échec. Un change-

13

Page 27: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

Figure. 1.6 – Séquence de lettres Seen-Beh et Beh-Seen en style Naskh

ment de structure de l’alphabet arabe peut être considéré comme une rupture radicaleentre le présent et le passé, ainsi que tous les trésors de la littérature arabe et l’héritagedes ancêtres.

1.3.4 Exigences

Ahmed Lakhdar-Ghazal put trouver un système simplifiant l’alphabet arabe et produi-sant la cursivité de l’écriture. Devant un art millénaire de calligraphie très raffiné, lesrésultats des systèmes d’impression à base de simplifications ne peuvent être considérésque des résultats de basse qualité. L’approche de simplification, qui a aboutit au systèmede Lakhdar-Ghazal, règne toujours. On ne voit pas une grande différence entre cette ap-proche est celle aboutissant à la table de glyphes de certaines fontes numériques commeTimes New Roman ou Arial. Si l’outil informatique a beaucoup évolué, les pratiquesdes concepteurs de fontes, en partie, héritent du modèle de la machine à écrire arabe.Il est indéniable qu’à ce jour, les caractères d’imprimerie, trop rigides, n’ont pas pu, etjusqu’à maintenant supplanter l’élégance et la beauté du geste du calligraphe.

Les approches de simplification de l’alphabet arabe sont basées sur une assimilation deslettres. Les quatre formes de position : initiale, médiane, finale et isolée sont présentéescomme des représentants d’une lettre dans un contexte donné. Cependant, le résultatest également déterminé par dissimilation. Par exemple, la séquence Beh-Seen peut êtreconfondue par un lecteur à la séquence Seen-Beh. Cela vient du fait que le tracé de lalettre Seen peut être vu comme une succession de trois tracés de la lettre Beh. Dansce cas, les calligraphes remplacent l’initial de la lettre Beh par une forme plus aiguëet moins obscure. Dans le cas de la séquence Seen-Beh, ils allongent la lettre Seen parune kashida (voir la figure 1.6). Cette aide essentielle à la lisibilité est absente dansla plupart des systèmes actuels de composition de texte. Ce n’est qu’un exemple. Cesfonctionnalités de l’écriture arabe sont régies par un ensemble de règles qui sont à la foispratiques, car elles améliorent la lisibilité, et élégantes, comme elles ont été fixées pardes grands calligraphes. Ce que distingue l’alphabet arabe c’est qu’elle a été développéedans un système morphologique élaboré. La calligraphie arabe a atteint un sommetde raffinement et d’harmonie jamais égalés à tel point que les deux aspects élégance etlisibilité l’emportent.

Le mécanisme de l’écriture arabe est plus qu’un simple alignement guidé par la ligne debase de variantes de position des lettres. La forme de chaque lettre se façonne par toutesles composantes du mot et par les mécanismes de justification des lignes. Le concept

14

Page 28: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

de permutation discrète ou analytique des lettres comme celui utilisé par les systèmesactuels de composition de texte n’existe pas dans les pratiques des calligraphes. Leursexercices (Al’amshaq) ne montrent pas des variantes de position que dans un contextede composition. Entre les mots, il n’y a pas d’espace orthographique, les formes dites fi-nales des lettres marquent les fins de mots. Typographiquement dit, les espaces entre lesmots doivent être assez optimales3, puisque le lecteur, en général, peut bien différentierles mots sans même l’existence de ces blancs.

La différence évidente entre les compositions calligraphiques traditionnelles et les pro-ductions mécaniques de textes est due aux difficultés techniques. En typographie, il fautque le système de composition soit assez développé pour gérer le comportement deslettres arabes. Pour manipuler sa nature synthétique, les typographes de nos jours uti-lisent des formes individuelles analytiques puis ils conçoivent des ligatures composéesde groupes de lettres.

Les typographes ottomans du XIXe siècle qui ont essayé d’imiter l’élégance de l’écriturearabe ont été bien conscients de la nature synthétique exhaustive de l’écriture arabe.Loin des quatre formes contextuelles, ils ont conçu un système élaboré basé sur des mil-liers de glyphes mobiles, des ligatures et un grand nombre de variantes de glyphes pourchaque lettre. Ces typographes ont aussi adopté une approche multi-lignes de base. Lacomposition avec ce système était très compliquée. De ce fait, la manipulation de cettecasse de glyphes nécessite une connaissance approfondie et spécialisée de la virtuositéde l’écriture calligraphique. La justification des blocs de texte en arabe nécessite encoreplus de vigilance que pour celle en typographie latine.

Les typographes ottomans ont dû trembler de peur dans leurs tombes. Eux qui ont crééune casse de milliers de glyphes, de ligatures et de variantes de lettres. Eux ont doncdû avoir bien peur de voir l’écriture arabe se réduire seulement aux quatre variantes deposition pour chaque lettre et quelques ligatures.

Si les utilisateurs arabes ont bien applaudi le progrès de la technologie de compositionet d’impression de texte arabe, l’utilisation de cette technologie pour la compositiondu Saint Coran a toujours irrité les calligraphes et les compositeurs traditionnels, pasau sens de licite et illicite, mais c’est parce que la calligraphie fait une partie intégrantede leur histoire et de leur civilisation. Elle est le symbole d’une identité culturelle.La production d’une version numérique du livre sacré, tout en gardant la beauté etl’exactitude du texte, est encore un défi.

3En typographie, le mot « espace » est féminin.

15

Page 29: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

1.3.5 Deux démarches

Deux démarches différentes peuvent être s’incarnées dans deux projets divers : le pre-mier mené par Huda Smitshuijzen AbiFarès et le deuxième par Thomas Milo. Hudaest la coordinatrice du projet “ Typographic Matchmaking ”. Ce projet est mené dans lecadre de construction de ponts culturels entre les écritures et les textes cohabités dansun seul document et dans une seule page. La différence de conventions sur lesquelles sebase le système graphique de chaque écriture parfois crée le déséquilibre visuel entre letexte arbre et celui latin lorsqu’ils sont utilisés simultanément : hétérogènité de corps,de gras, de styles. . .

Le projet est mené par dix designers arabes et allemands et il a comme objectif de créerdes glyphes arabes accompagnés de fontes allemandes. Les glyphes de ces fontes servi-ront comme modèle graphique pour la conception des glyphes arabes associés. Pour re-trouver le même œil de glyphes, le même air et la même sensation. Cette méthode avaitcomme objectif de trouver l’équilibre visuel entre le texte allemand et celui arabe dansle même document. Cette expérience est assez exceptionnelle. Même si les fontes denos jours, la plupart du temps, sont multi-script, les concepteurs de glyphes de chaquesystème d’écriture ne se préoccupent pas en général du coté équilibre graphique dans untexte multilingue. La méthode déployée dépasse largement les normes calligraphiquesfixées par Ibn Muqlah. Pour Huda, il ne s’agit pas de copier le passé mais d’essayer demoderniser les fontes arabes. Cette idée trouve son aspect et son reflet dans le projet“ Typographic Matchmaking ".

Se servir de glyphes latins comme modèle graphique, doit être tenu à son objectif. Lacalligraphie arabe doit être toujours la base pour une bonne typographie. “ Copier lepassé " est une tâche ardue qui représente un vrai défi pour les outils de la typographie.Comme pratiquement tous les travaux dans ce domaine, Huda mentionne la normalisa-tion calligraphique de lettres individuelles par Ibn Muqlah, mais sans se rendre compteque ces proportions des lettres isolées ne projettent aucune lumière sur l’assimilationet la dissimilation contextuelle essentielle pour le script arabe sophistiqué. Même si elleadopte une approche objective, elle s’est concentrée sur l’anatomie de glyphes sans par-ler de leurs jonctions. Cette approche d’aborder les choses est à l’origine que Huda s’estfié aux logiciels de conception de fontes sans se douter de leur aptitude de compléter latâche de conception de fontes arabes.

Thomas Milo a une démarche tout à fait différente. Le président de DecoType offrit lemoteur de rendu “ ACE Arabic Calligraphic Engine ”. Il essaye de relever le défi de lareproduction de la beauté et l’exactitude de l’écriture arabe. Il franchit ainsi des pas pourrépondre aux exigences de l’orthographie du visuel de l’écrit arabe à la fois moderne ettraditionnelle.

16

Page 30: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

1.3.6 Modélisation de tracés

Une façon de dessiner les lettres est de considérer que celles-ci sont formées d’élémentssimples. Par exemple, le glyphe « R » est formé d’une barre verticale, d’un demi-cercleet d’une oblique, qu’il suffit de coller ensemble. Divers auteurs [33] ont proposé desmodèles relevant de ce principe mais en vain, peut-être faute d’avoir su alors régler lesproblèmes de jonctions et de modélisation. En écriture arabe, et à l’exception du styleKoufi, où les lettres prennent des formes géométriques, la modélisation est beaucoupplus délicate [78][86][79].

la difficulté de la modélisation vient de celle de la segmentation d’un mot écrit en arabe.Sur le plan linguistique, les mots sont segmentés en lettres. En typographie, quelquesoit l’approche adoptée pour segmenter, il ne faut pas qu’elle ait une répercussion sur lasémantique du mot. On peut donc se permettre des opérations de décomposition et derecomposition d’une lettre en un ensemble de tracés, mais il faut par la suite rattacherces segments à des caractères.

Depuis 500 ans environ, on ne connaît plus que deux types de caractères4 en typogra-phie : les caractères manuscrits qui ont encore gardé leur souplesse, et les caractèrestypographiques en plomb, photocomposés ou numérisés, qui sont immuablement figésdans leurs dimensions et leurs formes, malgré leur nom de caractères mobiles ! D. Knuthétait, probablement, le premier qui a proposé la notion de méta-fonte (METAFONT) [61].Il a ensuite décrit ce que certains pensent être la première fonte dynamique [14] : la fontePunk. J. Andrée et V. Ostromouk ont porté cette fonte en PostScript, ce qui permet dela rendre encore plus dynamique. Il s’agit d’une fonte de caractères inspirée des graffitis« punks » que l’on pouvait trouver sur les murs des grandes villes en Europe à la findes années 70, mais aussi dans certaines œuvres de Picasso ou de Dali. De cette fontevient d’une part l’aspect irrégulier des tracés, comme le fait quelqu’un qui dessine à lahâte ces lettres sur un mur, et surtout, du fait que ces irrégularités sont produites pardes fonctions aléatoires lors de la création d’une occurrence de la fonte Punk, chaqueglyphe est différent des autres à chaque occurrence, puisque chaque glyphe est recalculéà nouveau lors de chaque invocation, avec un élément aléatoire. En utilisant la versionPostScript, la fonte peut fournir plusieurs formes du même glyphe, mais d’une façonaléatoire.

Les écritures latines ont segmenté leurs éléments de bases de manière à ce qu’ils s’écriventdétachés et à ce qu’il y ait une correspondance biunivoque entre glyphe et lettre. Lesinteractions entre les glyphes comme dans le cas d’une ligature, quoi qu’il en soit, res-tent des phénomènes marginaux. C’est dans les écritures orientales que les interactionsentre glyphes deviennent partie intégrante du processus de traitement de ces écritures.

4Parce que l’erreur est humaine, pardonner celle-là, on essaye d’être prudent, mais on ne se pose pasencore la question philosophique : « qu’est-ce qu’un caractère ? ».

17

Page 31: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

En arabe, les lettres sont liées et prennent des formes différentes selon leur place dansles mots et selon d’autres paramètres. La lettre arabe est comme un être vivant, certesd’une seule âme, mais d’une morphologie très variable. La typographie enrichit, le plussouvent, l’âme d’un texte, elle permet de l’articuler, de lui donner sens par la formeautant que par le contenu. Ce changement de morphologie est fonction de plusieursparamètres et non pas seulement suivant la lettre qui suit ou celle qui précède. Même sion n’a que quatre formes -au plus- grammaticalement significatives.

L’écriture arabe est plus qu’une cursivité, c’est une fusion de traits et de glyphes (voirfigure 1.7). En observant les textes produits par les fontes couramment utilisées, on serend rapidement compte que la segmentation utilisée dans la plupart des formats defontes aujourd’hui n’est qu’une sorte de « ligaturation » forcée qui produit des effetsdésagréables de rupture (voir figure 1.8).

Figure. 1.7 – Fusion de glyphes(Remarquons que la présence de la kashida a impliqué le changement de la forme de la deuxième lettre,

sur laquelle elle se porte, et le changement de la troisième lettre, celle qu’elle a suit.)

Figure. 1.8 – « Ligaturation » forcée

Peut-on reproduire la fluidité du geste du calligraphe à partir des formats de fontesintelligentes tel que OpenType ? La réponse à une telle question ne peut être donnéeque suite à une expérience menée rassemblant l’ingéniosité d’un calligraphe qualifiéet l’expertise d’un concepteur de fonte. À moins que nous n’ayons pas de personnesavec plusieurs compétences : des calligraphes qui maîtrisent les logiciels de conceptionset d’éditions, ou des opérateurs PAO doués du talent de calligraphes. Il est difficile desuivre le geste de la main d’un calligraphe en utilisant des courbes splines de Bézier [27].Une modélisation des allongements des lettres arabes avec kashida en PostScript estprésentée par A. Bayar et K. Sami [21][22]. Les tracés de glyphes se servent toujours detraçage d’images scannées de haute définition. L’archivage des glyphes arabes nécessiteune précision accrue, la conversion de bitmaps vers contours intervient à un momentdonné. Cette étape s’appelle traçage, ou autotraçage. Les algorithmes dédiés sont nom-breux [19][76][41], mais la conversion ne peut pas être établie sans perte de détails.

Le choix de penser, dans un cadre siégé par ce que proposent les formats de fontes intel-ligentes couramment utilisées, vient du fait que le paradigme technologique dominantcadre nos espoirs en matière de développement scientifique, et exige des tensions sur

18

Page 32: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

Figure. 1.9 – Quelques exemples de similarités possibles entre tracés

notre manière d’appréhender la situation. Mais, il ne faut pas laisser ces paradigmesinstrumentaliser nos pensées. En pratique, nous pensons à exploiter le maximum lespossibilités offertes par les nouvelles technologies de formats de fontes et de la PAO, aulieu d’essayer de créer de nouveaux formats. En effet, les formats de fontes intelligentes,OpenType, AAT les plus répandus ont choisi d’étendre le format TrueType original, etpar la suite des moteurs de support5.

Dans ce sens là, on distingue au moins trois niveaux de complexité pour la compositiond’un mot arabe, sans aller au-delà du mot pour voir la composition de lignes puis deparagraphe, un sujet qui sera traité au fil des pages de ce manuscrit.

Niveau 1 : Le problème que l’on se pose au départ est celui de la segmentation : si onveut éviter de coder tous les mots arabes, ou plutôt tous les groupes de lettres liées, ilfaut, à un moment donné, segmenter. Comment segmenter sans porter des répercus-sions à la fluidité ? À éviter bien évidemment la segmentation actuelle qui nous posetous les problèmes de raccordements de glyphes, et nous fait perdre toute la cursivitésouple de l’écriture.

Dans la pratique d’un calligraphe, les traits se poursuivent pour dessiner des glyphes etpour relier d’autres et on ne peut même pas dire avec précision à quel moment on passed’une lettre à l’autre. Le calligraphe dessine un mot progressivement en effectuant uncertain nombre de traits. Il arrête le mouvement, relève le Qalam et recommence. Il y adonc interruption de mouvement et reprise. Les segments sont les traits du calligraphe.Ces traits, se répètent-ils ? En d’autres termes, pourrait-on construire d’autres glyphesavec ? Les interruptions de mouvement sont les occasions idéales pour former des seg-ments, et on cherche toutes les similarités possibles (voir figure 1.9). Cela est compliquémais au moins l’aspect visuel sera prioritaire et les résultats seront meilleurs. Bien en-tendu on doit pas compter les interruptions accidentelles dues à l’assèchement de la têtede la plume. La question la plus difficile dans cette approche de segmentation est cellede la modélisation de passage du calligraphe d’un glyphe à l’autre. Comment segmenterces moments de jonctions entre les lettres ? Au moment de la jonction entre les lettres,nous supposons que le calligraphe est guidé par le tracé de la première lettre tout enréfléchissant au tracé de la deuxième. Si une segmentation à ce niveau est impossible, lepremier l’emporte.

Niveau 2 : L’utilisation des allographes ou les diverses formes graphique qu’une lettrepeut avoir, tout en gardant sa position dans le mot. L’allométrie est le champ scientifique

5ATSUI pour AAT, Uniscribe pour OpenType, au format Graphite correspond un moteur qui portele même nom.

19

Page 33: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

Figure. 1.10 – Quelques exemples de variations de la forme initiale de la lettre Beh

étudiant le phénomène de l’allographie. On s’intéresse ici aux allographes à l’intérieurd’un même style calligraphique.

L’objectif est de trouver les règles de la « grammaire graphique » qui gère l’utilisationdes allographes. On entend par grammaire graphique les règles de composition destraits pour avoir des glyphes et pour passer d’un glyphe à un autre et les règles du choixd’un allographe ou d’une ligature (voir figure 1.10). En faisant pour chaque allographeune analyse statistique des contextes dans lesquels ils peuvent apparaître et de leur tauxd’apparition. En général, le contexte peut aller au-delà des lettres limitrophes. Lors de lacomposition, le calligraphe décide à quel point des glyphes et leur interaction peuventcontribuer à la justification de la ligne composée.

Niveau 3 : En écriture arabe, on trouve un très grand nombre de ligatures. La plupartd’entre elles sont listées dans la casse de l’imprimerie Matabi‘ Al’amirya. Une ligaturepeut être traitée comme une seule unité graphique, ou encore comme une fusion de va-riantes contextuelles. Nous privilégions faire la composition de variantes. Si les formatsde fontes intelligentes permettent l’attachement cursive de glyphes, il n’y a vraiment au-cune obligation technique pour traiter une composition de lettres comme une substitu-tion par une ligature. Au moins cette deuxième approche évitera tous les problèmes ty-pographiques et sémantiques liés à l’utilisation des ligatures, comme le positionnementdes signes diacritiques et le problème de restauration de la sémantique d’un texte [15].

1.3.7 Codage des caractères arabes

Le développement de l’informatique aux États-Unis dans les années soixante a donnélieu à la création d’une norme de codage qui va marquer le domaine jusqu’à nos jours.Il s’agit de la norme ASCII (ISO/CEI 646). Pour permettre le codage d’autres systèmesd’écriture, 12 codes du jeu graphique de l’ISO/CEI 646 sont réservés aux besoins na-tionaux. Avec seulement douze codes, l’ISO/CEI 646 ne permet pas de représenter l’al-phabet arabe complet : consonnes, voyelles brèves et signes orthographiques. Or, il estimpossible de traiter efficacement les données lexicographiques arabes sans les signesde vocalisation. Par conséquent, afin de conquérir le marché informatique assez impor-tant dans les pays arabes, certains constructeurs informatiques ont cherché à définir desjeux codés pour l’alphabet arabe. Malheureusement, la hâte et la concurrence des solu-tions industrielles ont conduit à la définition de divers jeux incohérents, propriétaireset locals.

Jusqu’en 1976, il n’existait aucun code normalisé de transmission de données en ca-

20

Page 34: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Traitement automatique de l’écriture arabe Écriture arabe et machine

ractères arabes qui comportait l’alphabet arabe complet, signes de vocalisation inclus.L’établissement d’un code arabe unifié était une affaire urgente. C’est en 1975 que futpour la première fois dans le monde arabe posé le problème d’établir un code unifiépour la transmission de données en caractères arabes équivalant à la norme ISO/CEI

646. Dès lors, les réunions regroupant constructeurs et représentants arabes se multi-plièrent.

En 1982, le comité technique N 8 de l’ASMO (Arab Standards and Metrology Organi-zation) a développé la norme ASMO 449. C’est une norme de codage de caractères sur7 bits prévue pour être utilisée pour l’échange d’informations ainsi que pour des appli-cations de traitement de données et de textes en langue arabe. Elle a été adoptée par lasuite par l’ISO comme une norme internationale ISO 9036 [5]. Trois ans après, et dans lebut de mettre en place un tableau de codes arabes indépendant qui permettra la concep-tion d’un ordinateur qui fonctionne uniquement en arabe, le même comité techniquea développé la norme ASMO662, une norme de codage sur 8 bits, 256 caractères avecpossibilité de coder les autres caractères des langues qui utilisent les caractères arabes.

La difficulté de gérer des applications multilingues, dans un contexte où existent ungrand nombre de normes différentes d’un pays à l’autre et parfois au sein d’un mêmepays, a conduit à l’idée d’un jeu de caractères dit universel, dans lequel la plupart descaractères permettant de transcrire les langues existantes seront codés. De cette idéesont nés la norme ISO/CEI 10646 puis ensuite le standard Unicode (voir la section 5.2).

21

Page 35: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Cha

pitr

e

2Fonte dynamique pour les

mathématiques arabes

La diffusion de la science, et plus particulièrement son enseignement, requiertle développement d’outils de communication à la hauteur des ambitions. L’en-seignement des mathématiques, reine et servante des sciences, science fonda-

mentalement écrite, nécessite qu’un grand soin soit constamment porté au langage ma-thématique et particulièrement à son écriture. Dans ce chapitre, nous décrivons unefamille de fontes conçue spécialement pour assister les systèmes de composition dese-documents mathématiques arabes. Nous entendons ici par document mathématiquearabe, un document textuel comportant, outre le texte en langue naturelle arabe, des ex-pressions symboliques composées à l’aide de symboles spécifiques arabes dont l’écriturese déroule de droite-à-gauche. La famille de fontes, que nous avons conçu, a deux com-posantes. D’une part, la fonte mathématique arabe RamzArab au format OpenType estprésentée. Les symboles de RamzArab sont proposés et ils sont acceptés en Unicode,Cette fonte est actuellement utilisée par le système Dadzilla pour composer les expres-sions mathématiques arabes sur le Web. Le paquetage RamzArab est aussi disponiblepour une utilisation avec le système TEX, en particulier, avec le système RyDArab.D’autre part, nous avons développé une fonte dynamique au format PostScript. Nousétendons le système CurExt pour qu’il fasse usage de cette fonte. Rappelons que ce sys-tème avait été développé par A. Lazrek pour la composition de symboles curvilignes ex-tensibles en METAFONT. Il permettra, en particulier, de composer automatiquement lesdélimiteurs (parenthèses, accolades, . . .) curvilignes extensibles ainsi que l’extension dela kashida (allongement d’une lettre arabe de façon curviligne). La construction de cettefamille de fontes est une première étape pour la production d’une famille complète etcohérente de fontes au format OpenType qui respecte les règles de la calligraphie arabe.

22

Page 36: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Composition d’une expression Fonte dynamique pour les mathématiques arabes

2.1 Composition d’une expression

Dans beaucoup de pays arabes, l’enseignement des mathématiques se faisait dans lalangue de l’ancien colonisateur. Dans d’autres pays, les mathématiques furent enseignéesen arabe. Les manuels scolaires comportaient alors, et comportent toujours, des expres-sions symboliques arabes écrites à la main ou au mieux au moyen de machines à écrirespéciales. Actuellement, dans les pays arabes, l’écriture de la composante symboliquedes textes mathématiques prend différentes formes qu’on peut répartir grossièrementen deux grandes options [67][77] :

– à l’occidentale, comme dans les textes mathématiques en anglais ou bien comme ceuxen français, les symboles sont alors empruntés principalement à l’une ou à l’autrede ces deux langues, selon l’importance de l’influence culturelle. La direction del’écriture des expressions symboliques suit également celle de la langue d’origine,de gauche-à-droite, en opposition de l’écriture du texte qui suit le sens de l’écriturede la langue naturelle arabe, de droite-à-gauche ;

– à l’orientale, où des symboles spécifiques sont alors d’usage. L’écriture des expres-sions symboliques suit le sens de l’écriture de la langue naturelle, de droite-à-gauche.Ce sont ces systèmes d’écritures, en conformité avec les normes et les conventionsadoptées, qui sont en vigueur dans les manuels scolaires des pays du Moyen-Orient,en Libye, en Égypte, etc. Ces symboles étaient également d’usage dans les manuelsmarocains, bien avant l’adoption du système symbolique français, pour la composi-tion du document mathématique arabe.

À notre connaissance et à quelques rares exceptions [31], il y a très peu de travaux dédiésspécialement à l’étude de l’histoire des symboles mathématiques et encore moins à cellesdes symboles mathématiques arabes. De ce fait, il nous a été très difficile de trouver lespremières utilisations de certains symboles ou de vérifier les prétentions de certainesréférences.

D’autre part, la création d’une fonte arabe qui suit les règles de la calligraphie est unetâche artistique et technique complexe. Depuis les premières tentatives de numérisa-tions de l’écriture, la composition de texte arabe a mis l’ordinateur au défi. Cela est dû àla forte analyse contextuelle requise pour le rendu correct du texte composé. En outre,la kashida est utilisée pour établir la liaison entre les lettres et pour justifier le texte. Laméthode pour gérer la kashida dans un mot du texte est similaire à celle pour dessinerles symboles curvilignes extensibles arabes tel que le symbole somme, produit et limite.

En calligraphie arabe, il existe plusieurs styles. Par conséquent, il existe différents stylesde fontes. Bien évidemment, il n’est pas facile de confectionner des fontes qui respectentles règles de tous les styles existants. Le style Naskh a été le premier style adopté depuisles premières tentatives de numérisation et de standardisation de la typographie arabe.En partie, Naskh, Koufi et Rouq‘a ont été domptés pour les besoins des environnements

23

Page 37: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Système RyDArab Fonte dynamique pour les mathématiques arabes

de la typographie numérique. Encore moins, les autres styles comme Farsi, Diwani etThoulouth présentent moins de simplicité de traitement. Les lettres ne partagent pas lamême ligne de base, etc. En tenant compte de tout cela, nous avons choisi d’utiliser lestyle Naskh pour notre famille de fontes.

2.2 Système RyDArab

Le système RyDArab [69] avait été développé dans le but de mettre à la disposition desutilisateurs un système de composition d’expressions mathématiques arabes composéesde symboles spécifiques arabes dont l’écriture se déroule de la droite vers la gauche enaccord avec le sens de l’écriture arabe. RyDArab est une extension du système TEX. Ilfonctionne avec le système ArabTEX [65] de K. Lagally et avec le système Omega deY. Haralambous et J. Plaice [48]. Récemment, l’auteur de RyDArab également l’adaptaau système Arabi [56] de Y. Jabri. Pour éviter d’avoir à confectionner de nouvellesfontes, RyDArab avait adapté des fontes existantes susceptibles à cette usage [68] : lafonte arabe Naskh (nash ou xnsh) développée par K. Lagally pour ArabTEX ainsi quela famille de fontes Computer Modern développée par D. Knuth en METAFONT pourTEX.

Or, les textes mathématiques nécessitent une fonte mathématique propre [23]. Ceciest encore plus vrai pour les textes mathématiques arabes. La calligraphie arabe étantun art millénaire qui a développé des règles raffinées, les textes mathématiques arabesrequièrent encore plus de soins. Lorsqu’on utilise des glyphes provenant de plusieursfontes arabes disponibles pour écrire des expressions symboliques, on se rend rapide-ment à l’évidence qu’il y a beaucoup d’imperfections et d’hétérogénéités : dénivellementde signes, non homogénéité de tailles, positionnement par rapport à la ligne de base,etc. Donc, nous avons entrepris la conception d’une nouvelle fonte au format Open-Type avec deux objectifs principaux : l’homogénéité des dessins de symboles, on ce quiconcerne, le style graphique, le niveau de graisse, le positionnement par rapport à laligne de base. D’autre part, avoir entre les mains une famille de fontes complète conte-nant la majorité des symboles nécessaires pour la composition des documents scienti-fiques et techniques arabes.

2.3 Système CurExt

Les textes arabes ainsi que les expressions mathématiques ont besoin de symboles dyna-miques de taille variable. Nous utilisons le système CurExt pour générer de tels sym-boles. Cette application a été conçue dans le but de générer automatiquement les sym-boles extensibles curvilignes pour TEX, mais en utilisant le générateur de fontes ME-TAFONT. La nouvelle extension a le même objectif en utilisant le générateur de fontes

24

Page 38: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Fonte RamzArab Fonte dynamique pour les mathématiques arabes

PostScript [30]. Alors que METAFONT génère des fontes bitmaps qui restent toujoursprisonnières à l’intérieur de l’environnement TEX. OpenType est une technologie defontes vectorielles. Développé conjointement par Adobe et Microsoft, ce format defontes combine les deux technologies TrueType et PostScript [75]. En plus, il offre desfonctionnalités typographiques additionnelles grâce à ses tables de typographie avancée.

2.4 Fonte RamzArab

2.4.1 Confection de la fonte mathématique

La conception et l’utilisation d’une fonte pour les mathématiques est une tâche extrê-mement difficile [47]. Notre tâche devient encore plus dure si cela est orienté vers uneprésentation des mathématiques en langue arabe. Pourtant, des tentatives de construc-tion de fonte pour les mathématiques avaient été entreprises. Une expérience menait parF. Alhargan [11] pour la conception de symboles mathématiques au format TrueType.Maintenant nous décrivons la procédure utilisée pour une telle construction. Nous défi-nissons d’abord le besoin du texte mathématique arabe actuel et le système symboliquesur lequel se base. La construction commence par le dessin à la main par un calligraphetous les glyphes dont on a besoin. Les images dessinées vont ensuite être numérisés puis,à l’aide d’un logiciel de confection de fontes, elles vont être vectorisées.

Les calligraphes arabes écrivaient à l’aide d’une plume (Qalam). C’est un tube de roseautaillé en biseau avec un bec fendu. Chaque type d’écriture exige un Qalam particulier.En style Naskh, la pointe du Qalam est un rectangle plat. Le calligraphe le tient de tellesorte que la pointe plate fait un angle d’environ 70 par rapport à la ligne de base. Àl’exception de certaines situations graphiques, cette orientation est tenue toute au longdu processus du dessin de glyphes. En outre, le mouvement du la pointe rectangulairegénère des parties pleines ; partie plus épaisse d’un glyphe, et des parties déliées ; par-ties plus fines d’un glyphe dont l’épaisseur des fûts varie. Le contraste entre plein etdélié détermine, entre autre, le style calligraphique et joue un rôle fondamental dansl’esthétique d’un signe typographique. Puisque l’écriture se déroule de droite-à-gauche,la différence de graisse entre plein et délié est produite par le mouvement de la plume dehaut à gauche vers le bas à droite et inversement. Les segments allant de droite-à-gauche,de haut en bas seront plutôt minces (voir figure 2.1).

Malheureusement, lorsqu’on est de l’autre coté de la conversion bitmap/vectoriel, tousces détails ne sont pas modélisés. Après l’autotraçage des images scannées, le concepteurde fontes aurait à accomplir autant de tâches artistiques que de tâches techniques. Lesperfectionnistes voudront aussi conserver une qualité plus ou moins bonne de l’imaged’origine. Il n’est pas complètement absurde si les formats de fontes fassent un refluxau bitmap, étant donné l’évolution des capacités et des techniques de stockage et des

25

Page 39: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Fonte RamzArab Fonte dynamique pour les mathématiques arabes

−→ −→

1

Figure. 2.1 – Image miroir du symbole somme symétrisé par rapport à l’axe verticalpuis à celui horizontal

algorithmes de compression. L’avantage d’un tel passage et que les tracés de glyphes sontbeaucoup plus acceptables pour un typographe, le numérique et le papier pourraientconverger [34].

2.4.2 Composition de la fonte

La fonte RamzArab (voir table 2.1) ne contient que des symboles spécifiques à la pré-sentation des mathématiques en arabe et quelques symboles habituels trouvés même enmode texte. Elle est principalement composée des symboles suivants :

– les symboles alphabétiques : les lettres arabes dans diverses formes, telles que lesglyphes de forme isolée, creuse, initiale, avec queue, allongée et forme avec boucle(ex. , £, e, Ê, È) ;

– les signes de ponctuation ;– les chiffres utilisés au pays du Maghreb-Arabe, en Afrique du Nord, comme ceux

utilisés au Machreq-Arabe, en Moyen-Orient ;– les accents qui vont être combinés avec les symboles alphabétiques, (ex. ð

ÌðÍðÎðÏ) ;

– certains symboles mathématiques ordinaires, comme les délimiteurs, les opérateursarithmétiques, etc.

– l’image miroir de certains symboles tels que la somme, l’intégrale, etc.

En mathématiques arabe, l’ordre des symboles alphabétiques diffère de l’ordre alpha-bétique arabe. Certains problèmes peuvent apparaître avec les symboles alphabétiquesdans leur multi-forme.

En générale, en mathématiques arabe, les symboles alphabétiques sont écrits sans pointsni signes diacritiques. Cela permet d’éviter la confusion avec les accents. Les pointspeuvent être ajoutés à chaque fois que c’est nécessaire.

En outre, certaines déviations des règles générales seront nécessaires. Dans une expres-sion mathématique, la forme isolée de la lettre Alef “” peut être confondue avec lechiffres UN “ò” du Machreq arabe. La forme isolée de la lettre Heh “” peut aussi pré-senter une confusion avec le chiffre CINQ “ö” du Machreq arabe. Le choix des glyphes“” et “” respectivement à la place de ces deux glyphes permettra d’éviter de tellesconfusions. Même si ces glyphes ne sont pas en conformité avec l’homogénéité du stylede la fonte et les règles de la calligraphie, elles sont largement utilisées dans les ma-thématiques. De la même manière, la forme isolée de la lettre Kaf » résultant de la

26

Page 40: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Fonte RamzArab Fonte dynamique pour les mathématiques arabes

combinaison de deux autres éléments de base et », sera altéré par le glyphe Kaf dustyle Rouq‘a “”.

Les formes initiales des quatre lettres Alef, Dal, Waw et Reh, sont les mêmes que lesformes isolées. Ces lettres seront retirées de la liste des lettres en forme initiale. D’autrepart, au lieu d’un élément unique cursif, la forme allongée de chacun des glyphes ré-sultera de la combinaison de deux autres glyphes. Il en résulte que ces lettres ne serontpas présentes dans la liste des lettres en forme allongée. La formes étirée des lettres estobtenue par la connexion d’un Madda-Fatha ou Alef dans sa forme finale “È” aux formesinitiales des lettres à être étirées. Le glyphe de Lam-Alef “” a une ligature particulièrequi sera ajoutée à la liste.

La forme allongée d’une lettre est utilisée s’il n’y a pas de confusion avec une autreabréviation d’une fonction habituelle. La forme avec queue est obtenue à partir de laforme initiale de la lettre suivie par une autre, une des forme finale de la lettre Heh “Ê”.Ces deux formes ne sont pas intégrées dans la fonte, car elles peuvent être obtenues parune simple composition. Cependant, ils ont été ajoutés à la fonte lors de la structurationpour Unicode.

La forme avec boucle est une autre forme de lettres autre que celle avec queue. Elle estobtenu par la combinaison de la forme finale à une boucle qui diffère d’une lettre àl’autre Cette forme est intégrée dans la fonte, car elle ne peut pas être obtenue par unecomposition simple.

Les glyphes particulier suivants sont également utilisés : . Les éléments quisont utilisés dans la composition de l’opérateur factoriel, somme, produit et limite sontaussi ajoutés à la fonte »¼½¾. Ces symboles sont extensibles, ils sont allongésselon l’expression dont ils sont enveloppes, comme nous le verrons dans la prochainesection.

Les glyphes à image miroir par rapport à l’axe vertical et parfois aussi par rapport àl’axe horizontal (voir figure 2.1) sont empruntés après réflexion de la famille de fonteComputer Modern. Par exemple : Ö ÙÛä.

Les autres symboles qui ont une image miroir déjà existante1 ne sont pas ajoutés à lafonte RamzArab. Bien sûr, les symboles alphabétiques latins et grecs peuvent être utili-sés dans des expressions mathématiques arabes. Nous n’avons pas intégré ces symbolesdans la fonte. Ils peuvent être empruntés des autres fontes existantes.

1La propriété image miroir est utilisée en Unicode.

27

Page 41: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Extension du système CurExt Fonte dynamique pour les mathématiques arabes

2.5 Extension du système CurExt

2.5.1 Symboles extensibles curvilignes

La composition des lettres et des symboles extensibles curvilignes est l’un des problèmesmajeurs de la typographie numérique. Dans l’imprimerie arabe de grande qualité calli-graphique, la justification des textes se fait à l’aide de la kashida, c’est-à-dire l’allonge-ment curviligne d’une lettre le long de la ligne de base. Un autre aspect de cette pro-blématique, est la composition des symboles mathématiques extensibles curvilignes.Rappelons qu’il faut distinguer entre les symboles à taille fixe (ex. ×, + . . .) et ceuxqui changent leur largeur et leur longueur ou les deux dimensions à la fois en fonc-tion de l’expression mathématique dont ils sont enveloppes, comme par exemple, lesparenthèses enveloppant une matrice.

2.5.2 Paramétrisation

Certains systèmes résolvent le problème d’extensibilité curviligne verticale ou horizon-tale, par la confection préalable des glyphes curvilignes pour certaines tailles, puis lacomposition à partir de la primitive extensible et des portions linéaires au delà de cestailles, ce qui viole la curvilinéarité de la lettre ou du symbole composés pour des tailleslarges.

Nous proposons une meilleure approche pour obtenir des symboles mathématiquescurvilignes, en paramétrant la procédure de composition de chaque symbole, les para-mètres introduits indiquent la taille ou la quantité d’extensibilité. Nous traiterons enparticulier le cas des parenthèses ouvrantes et fermantes, comme symbole curviligneextensible verticalement, ce traitement peut être étendu pour tout autre symbole exten-sible. Nous proposons une extension du système CurExt [70] que nous avons développépour composer automatiquement des symboles curvilignes extensibles sur le systèmed’édition TEX avec le générateur de fontes METAFONT. La nouvelle extension de cesystème est basée sur le générateur de fontes PostScript.

Le langage PostScript définit les types de fontes suivantes: 0, 1, 2, 3, 9, 10, 11, 14, 32,42. Chacun de ces types a ses propres conventions pour représenter et organiser lesinformations à l’intérieur de la fonte. Les fontes PostScript les plus utilisées sont lesfontes Type 1, qui sont programmées avec des procédures spéciales. Mais une fonte dy-namique doit être au format Type 3 [26] qui manipule la totalité du langage PostScriptet qui peut rendre les procédures admettant des paramètres. Bien que Type 3 perd cer-tains avantages de Type 1, telle que la possibilité de produire des rastérisations (hints)dans le cas du dispositif de sortie de basse résolution, et dans le cas des petits corps. Untraitement purement géométrique ne permet pas d’éviter les phénomènes d’inhomogé-

28

Page 42: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Extension du système CurExt Fonte dynamique pour les mathématiques arabes

141

2

3

4

5

6

7 8

9

10

11

12

13 141

2

3

4

5

6

7 8

9

10

11

12

13141

2

3

4

5

6

7 8

9

10

11

12

13

Figure. 2.2 – Paramétrisation des parenthèses dynamiques

néité dans les jambages et les empattements, un autre avantage perdu est la possibilitéd’être manipulés et lissés par Adobe Type Manager (ATM). Ces deux inconvénients nese présentent pas dans notre cas, puisque les symboles n’ont pas d’empattements et lafonte est destinée à être utilisée avec TEX et non avec une autre application Windows.

Le langage PostScript [2] construit un dessin, en construisant un parcours (path). Unparcours est un ensemble de segments de droite (lineto) et de courbes de Bézier [27] de3e degré (curveto). Il peut être ouvert ou se refermer sur son point d’origine (closepath).Un parcours peut contenir plusieurs chemins (moveto). Une fois un parcours défini, onpeut le tracer sous forme de ligne (stroke) ou en colorier l’intérieur (fill). De pointde vue graphique un glyphe et défini par les opérateurs standards de PostScript : c’est enfait une procédure. Pour paramétrer une procédure, il faut d’abord examiner la formedu glyphe, pour savoir exactement les parties de la procédure qu’il faut paramétrer.Dans le cas d’une parenthèse ouvrante ou fermante, toutes les parties du dessin doiventêtre en fonction de la taille: la largeur, la langueur, le degré de graisse de l’extrémité dela parenthèse, etc. (voir figure 2.2).

On a choisi une extrémité d’une allure horizontale avec une graisse égale à la moitié dela graisse de la parenthèse. Le même processus est appliqué à la kashida (voir figure 2.3).Pour produire une parenthèse dynamique (voir figure 2.4), on suit les étapes suivantes :

1. collecter les différentes dimensions nécessaires dans un fichier de paramètres par ;

29

Page 43: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Extension du système CurExt Fonte dynamique pour les mathématiques arabes

Figure. 2.3 – Paramétrisation de la kashida dynamique

2. générer le fichier pl en utilisant notre outil par2pl à partir du fichier par ;

3. convertir le fichier pl en fichier de métriques tfm en utilisant l’application pltotf ;

4. compiler le fichier tex pour générer le fichier dvi ;

5. convertir le fichier dvi en ps.

doc.texlatex

CurExt-parent.par

?par2pl

parent.pl

pltotf?

parent.tfm

parent.t3

opprt.map

dvips -u

doc.ps

doc.dvi⊕

latex

Figure. 2.4 – Processus de dynamisation

Ce processus devrait être répété autant de fois que nécessaire dans le cas d’imbricationdes symboles extensibles. Les parenthèses curvilignes peuvent être obtenues en utilisantle système CurExt par la syntaxe suivante :

$\parentheses (\matrix 1 & 2 & 3\cr

4 & 5 & 6\cr7 & 8 & 9\cr0 & 1 & 2\cr

\right)$

!" #$!% &'!( )*!++,.-0/2135426798;:< -9/=

Au lieu des parenthèses linéaires par le code usuel de TEX :

30

Page 44: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Coupure d’une expression Fonte dynamique pour les mathématiques arabes

$\left(\matrix 1 & 2 & 3\cr

4 & 5 & 6\cr7 & 8 & 9\cr0 & 1 & 2\cr

\right)$

1 2 3

4 5 6

7 8 9

0 1 2

De la même manière, on obtient la kashida curvilinéaire avec CurExt :

\amarabmath$\csum_b=T-1^s$

!"#%$'&)(+*

Au lieu de la kashida linéaire obtenue par RyDArab :

\amarabmath$\lsum_b=T-1^s$

Mostafa Banouni, Mohamed Elyaakoubi and Azzeddine Lazrek

doc.texlatex

curext- parent.par

?par2pl

parent.pl

pltotf?

parent.tfm

parent.t3

parent.map

dvips -udoc.ps

doc.dvi⊕

latexcurext

Figure 3: Generation of dynamic parentheses

instead of the straight lengthened one obtained byRyDArab:

\amarabmath$\lsum_b=T-1^s$

m.

×

1− =H

1

We can stretch Arabic letters in a curvilinearway through the kashida by CurExt:

4 Conclusion

The main constraints observed in this work were:

• a close observation of the Arabic calligraphyrules, in the Naskh style, toward their formal-ization. It will be noticed, though, that we arestill far from meeting all the requirements ofArabic calligraphy;

• the heavy use of some digital typography tools,rules and techniques.

RamzArab, the Arabic mathematical font inNaskh style, is currently available as an OpenTypefont. It meets the requirements of:

• homogeneity: symbols are designed with thesame nib. Thus, their shapes, sizes, boldnessand other attributes are homogeneous;

• completeness: it contains most of the usual spe-cific Arabic symbols in use.

These symbols are about to be submitted forinclusion in the Unicode standard. This font is un-der test for Arabic mathematical e-documents [12]after having been structured for Unicode [2, 4].

The dynamic component of the font also worksin PostScript under CurExt for some symbols suchas the open and close parenthesis and the kashida.That will be easily generalized to other variable-sized symbols. The same adaptation can be per-formed within the OpenType format.

References

[1] http://www.linux.org.sa.[2] Jacque Andre, Caracteres numeriques : intro-

duction, Cahiers GUTenberg, vol. 26, 1997.[3] Daniel M. Berry, Stretching Letter and Slanted-

baseline Formatting for Arabic, Hebrew andPersian with ditroff/ffortid and DynamicPOSTSCRIPT Fonts, Software–Practice & Expe-rience, no. 29:15, 1999, pp. 1417–1457.

[4] Charles Bigelow et Kris Holmes, Creation d’unepolice Unicode, Cahiers GUTenberg, vol. 20,1995.

[5] Yannis Haralambous, Une police mathematiquepour la Societe Mathematique de France : leSMF Baskerville, Cahiers GUTenberg, vol. 32,1999, pp. 5–19.

[6] Yannis Haralambous and John Plaice, Multilin-gual Typesetting with Ω, a Case Study: Arabic,Proceedings of the International Symposium onMultilingual Information Processing (Tsukuba),1997, pp. 137–154.

[7] Adobe Systems Incorporated, POSTSCRIPT

Language Reference Manual, Second ed.,Addison-Wesley, 1992.

[8] Klaus Lagally, ArabTEX — Typesetting Ara-bic with Vowels and Ligatures, EuroTEX’92(Prague), 1992.

[9] Azzeddine Lazrek, Aspects de la problematiquede la confection d’une fonte pour lesmathematiques arabes, Cahiers GUTen-berg, vol. 39–40, Le document au XXIe siecle,2001, pp. 51–62.

[10] Azzeddine Lazrek, A package for typesettingarabic mathematical formulas, Die TEXnischeKomodie, DANTE e.V., vol. 13. (2/2001), 2001,pp. 54–66.

[11] Azzeddine Lazrek, CurExt, Typesettingvariable-sized curved symbols, EuroTEX2003preprints, pp. 47–71 (to appear in TUGboat).

[12] Mustapha Eddahibi, Azzeddine Lazrekand Khalid Sami, Arabic mathematical e-documents, International Conference on TEX,XML and Digital Typography (TUG2004,Xanthi, Greece), 2004.

[13] W lodzimierz Bzyl, The Tao of Fonts, TUGboat,vol. 23, 2002, pp. 27–39.

[14] Thomas W. Phinney, TrueType, POSTSCRIPT

Type 1 & OpenType: What’s the Difference?,Version 2.00 (2001).

52 Preprints for the 2004 Annual Meeting

Nous pouvons aussi allonger les glyphes dans un texte arabe en utilisant CurExt :

2.6 Coupure d’une expression

Obtenir un rendement visuel de haute qualité d’un e-document scientifique fait face àun certain nombre de difficultés communes à l’écriture des expressions mathématiqueslatines et arabes. Un problème bien connu survient lors d’une coupure d’une expressiondélimitée par ‘\left...\right’ sur plusieurs lignes.

La coupure automatique des expressions mathématiques est l’objectif le plus ambitieuxd’un certains nombre de travaux, pour le standard MathML [9] et le système LATEX [53].Cependant, La coupure ne peut pas être faite sans des modifications importantes dansla façon dont les expressions sont composées. La composition doit être suivie attenti-vement, en gardant un œil sur des failles possibles. La sémantique d’une expression estbeaucoup plus fragile qu’on ne le pensait.

On suppose que lorsque MathML avait été développé à l’origine, les développeursavaient imaginé que les navigateurs seront responsables de la coupure des expressionsmathématiques en lignes, comme ils le font d’ailleurs pour le texte. Après tout, cela ne

31

Page 45: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Coupure d’une expression Fonte dynamique pour les mathématiques arabes

Table. 2.1 – Table de la fonte RamzArab

0 1 2 3 4 5 6 7 8 9

0x

1x

2x

3x ! " # $ % & '4x ( ) * + , - . / 0 15x 2 3 4 5 6 7 8 9 : ;

6x < = > ? @ A B C D E

7x F G H I J K L M N O

8x P Q R S T U V W X Y9x Z [ \ ] ^ _ ` a b c10x d e f g h i j k l m

11x n o p q r s t u v w

12x x y z | ~ 13x 14x 15x 16x ¡ ¢ £ ¤ ¥ ¦ § ¨ ©17x ª « ¬ ­ ® ¯ ° ± ² ³

18x ´ µ ¶ · ¸ ¹ º » ¼ ½

19x ¾ ¿ À Á Â Ã Ä Å Æ Ç20x È É Ê Ë Ì Í Î Ï Ð Ñ21x Ò Ó Ô Õ Ö × Ø Ù Ú Û22x Ü Ý Þ ß à á â ã ä å23x æ ç è é ê ë ì í î ï24x ð ñ ò ó ô õ ö ÷ ø ù25x ú û

32

Page 46: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Coupure d’une expression Fonte dynamique pour les mathématiques arabes

peut être fait que si le navigateur a une parfaite connaissance des métriques des symbolesutilisés, la façon dont ils sont composés, la ou les positions où la coupure est autorisée.Les développeurs de MathML se sont tout de suite rendu compte que le balisage doitprendre en charge une partie de la procédure de coupure des expressions mathématiquesen lignes. La version 3 de MathML, fournit un support pour les deux manières à pro-céder à une coupure : une coupure forcée ou une coupure automatique. La méthode laplus adaptée pour trouver un point de coupure convenable est d’utiliser l’algorithmebest-fit (voir section 6.1.2.2). Cet algorithme considère plusieurs points de coupure lé-gale, calcule les pénalités associées et choisit, comme candidat à la coupure, celui avecla somme minimale de pénalités. Cette technique appliquée au texte a fait preuve deson efficacité (voir chapitre 6). Les pénalités qui peuvent intervenir pour un point decoupure légale dans une expression mathématique sont :

– la laideur de l’expression, plus le cadre du segment de l’expression n’atteint pas lalargeur voulue de la ligne, plus la pénalité est élevée ;

– la profondeur du point de coupure, plus ce point correspond à un nœud plus profonddans l’arbre de l’expression plus la pénalité est élevée ;

– la dernière ligne, si la ligne qui suit la coupure est la dernière ligne, plus la coupurelaisse peu d’espace pour la prochaine ligne plus la pénalité est élevée.

La structure d’une expression mathématique arabe ne diffère pas de celle latine [36][37].Le balisage de contenu est codé d’une manière universelle. Cependant, une expres-sion en présentation arabe peut contenir des symboles et des motifs spécifiques à soncontexte, en particulier, des composantes extensibles et dynamiques. Le système Cu-rExt résout le problème d’extensibilité curviligne des symboles dynamiques qui sontfonctions des expressions dont ils sont enveloppes. Le degré d’extensibilité de ces sym-boles peut s’étendre au delà de ce besoin pour servir l’algorithme de coupure d’uneexpression. Si on peut allonger un symbole curviligne, c’est que, on peut effectivementallonger l’expression qui le contient de façon à optimiser les pénalités.

33

Page 47: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Cha

pitr

e

3Justification en typographie latine

Si les typographes avaient eu comme objectif de produire des livres plus ra-pidement, ils se sont très vite rendus compte que même si la technique peutaller très vite, ce qui prime dans la communication c’est sa qualité. Rendre le

texte accessible à l’œil, préciser sa sémantique et rendre sa lecture agréable, étaient devrais défis, à l’époque où la copie à la main des ouvrages faisait du livre un produit degrand luxe. Pour arriver à ces fins, les perfectionnistes typographes ont au moins deuxobjectifs lors d’une composition typographique : homogénéité et lisibilité. Ces objectifssont parfois en conflit entre eux. D’un point de vue de lisibilité, un texte non-justifié estplus accessible à l’œil, du fait que les blancs entre les mots sont uniformes. D’un autrecôté, un alignement justifié donne un résultat esthétique plus agréable qui participe à laqualité générale d’une mise en page. De ce fait, on doit apporter le plus grand soin à larégularité d’un bloc de texte. Les blocs typographiques régularisés peuvent être ensuiteassemblés sur une page en respectant les règles de la macro-lisibilité typographique [52].Dans ce chapitre, nous présenterons les techniques utilisées pour la justification d’untexte latin à l’ère de la composition digitale. Les techniques les plus communes à cetégard sont les manipulations d’espacement et de césure. Les problèmes liés à la justifi-cation du texte, et plus particulièrement à une justification du type de celle faite par unlogiciel de traitement de texte, sans intervention d’un opérateur humain, sont poten-tiellement nombreux. Nous ne relèverons que le plus courant et le plus désagréable deces problèmes : celui des lézardes qui traversent les blocs de texte. Depuis les composi-tions en caractères mobiles, Gutenberg a dû se battre durement pour atteindre la mêmequalité que celle des scribes renommés de l’époque. En regardant la Bible de Gutenbergavec l’œil d’un typographe, les lignes étaient justifiées non pas, comme aujourd’hui,en jouant sur des espaces inter-mots de taille variable, mais sur des combinaisons deglyphes : variantes, ligatures, abréviations, etc. Quel remède a-t-on bien pu inventeraujourd’hui pour éviter les lézardes du gris typographique ? Herman Zapf et Hàn ThêThành ont opté pour la mise à l’échelle horizontale des glyphes et des manipulationsde crénage.

34

Page 48: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Alignement d’un texte Justification en typographie latine

3.1 Alignement d’un texte

En typographie, on parle de justification se dit d’un texte lorsqu’il s’agit d’aligner à lafois à gauche et à droite. Ce n’est qu’un des modes d’alignement vertical des bords dutexte, celui où il forme un bloc de forme rectangulaire, mis à part un éventuel alinéa àla première ligne, et la dernière ligne souvent plus courte.

Ce n’est pas le seul choix possible. La composition en drapeau est l’inverse de la justi-fication : les lignes ne sont pas alignées que d’un seul coté, l’autre coté étant irrégulier.Le drapeau est l’effet que forment les lignes d’un texte non-justifié vu que les espacesentre le bord du cadre du paragraphe et la fin des lignes ne sont pas toujours les mêmes.Un texte aligné à gauche dit aussi au fer à gauche crée un drapeau à droite. Un centragecrée deux drapeaux des deux cotés et une justification, en théorie n’en crée aucun (voirfigure 3.1). Le choix d’un mode d’alignement est porté au jugement esthétique sur legris typographique.

La composition en drapeau est l’inverse de la

justification : les lignes que d’un seul coté,

l’autre coté étant irrégulier. Le drapeau est

l’effet qui forme les lignes d’un texte

non-justifié vu que les espaces entre le bord du

cadre de paragraphe et la fin des lignes qui ne

sont pas toujours les mêmes.

La composition en drapeau est l’inverse de la

justification : les lignes que d’un seul coté,

l’autre coté étant irrégulier. Le drapeau est l’ef-

fet qui forme les lignes d’un texte non-justifié

vu que les espaces entre le bord du cadre de

paragraphe et la fin des lignes qui ne sont pas

toujours les mêmes.

a) Texte en drapeau à droite b) Texte justifiéFigure. 3.1 – Modes de justification

3.2 Lisibilité et gris typographique

Depuis l’arrivée de la PAO, un débat, entre les partisans de la justification et ceux quipréfèrent le texte aligné d’un seul coté, se déclencha [58]. P. Stiff [80] aborde un grandnombre de facteurs qui devraient être examinés et la relation complexe qui existe entreeux au sujet de leurs effets sur la lisibilité plutôt que de leur fonction esthétique unique-ment.

Les recherches dans le domaine de lisibilité revendiquent que certains lecteurs vontcertainement éprouver un trouble avec un espacement variable et une césure fréquente.Jadis, ces facteurs étaient gérés à la main dans un processus laborieux. Cependant, denos jours, ces manipulations sont laissées à des logiciels informatiques. Les méthodesdéployées peuvent varier selon le public concerné, enfant ou adulte [74], et le supportd’affichage utilisé, papier ou écran [32].

Si on prend une page de texte et qu’on y s’en éloigne suffisamment, on ne distingueplus les lettres mais seulement un espace non blanc, c’est ce qu’on appelle le gris typo-graphique, ou couleur du texte. C’est l’impression produite sur l’œil du lecteur par lavision générale d’un texte. Cette vision conditionne la facilité avec laquelle ce lecteur

35

Page 49: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

pourra le lire. Ce qui se doit donc d’être en accord avec les règles typographiques.

La couleur d’un texte dépend essentiellement de quatre facteurs: les espaces inter-lignes,ceux inter-mots et inter-lettres, et la conception de la fonte utilisée. Le blanc inter-mots,et parfois le blanc inter-lettres, dépendent fortement de la façon avec laquelle le systèmecoupe les paragraphes en lignes et les techniques qu’il adopte pour justifier le texte.Adopter des méthodes inadéquates peut accidentellement détruire l’homogénéité d’untexte et affecter considérablement sa lisibilité. Par conséquent, et bien qu’on soit loind’accord universel sur ce point, il semble que la meilleure lisibilité se rencontre dans letexte aligné à gauche pour un texte qui s’écrit de gauche-à-droite, et dans un texte alignéà droite pour un texte qui s’écrit de droite-à-gauche.

C’est toujours une tâche extrêmement difficile d’obtenir un gris typographique uni-forme. La raison principale étant les algorithmes de justification pour certains pro-grammes de mise en page qui fonctionnent par insertions des blancs inter-mots. Cesalgorithmes ne peuvent pas assurer une valeur « égale » aux espaces inter-mots dans dif-férentes lignes. Les lézardes produites par la disposition au hasard d’une série d’espacesentre les mots dans plusieurs lignes superposées, forment une ligne blanche sinuant àtravers, affectant ainsi le gris typographique qui devient irrégulier et qui distrait l’œildu lecteur et lui attire l’attention sur des blancs excessifs sans qu’ils aient aucun sens. Larésolution de tels problèmes relève de la micro-typographie qui fait référence aux règlesde la typographie les plus fines et qui gère la composition des glyphes et des blancshorizontaux.

Un problème similaire aux rivières est l’alignement des mots semblables dans plusieurslignes consécutives. L’effet de cet alignement est beaucoup plus provoquant quand ilapparaît à proximité de la marge gauche ou celle à droite du texte.

3.3 Techniques de justification

3.3.1 Coupure de paragraphe en lignes

Avant tout recours du système de composition aux techniques de la justification dutexte, il doit d’abord couper les paragraphes en lignes. Une coupure légale est une es-pace qui se situe au bon endroit pour former une ligne de bonne longueur. Ceci dit,la frontière du dernier mot d’une liste horizontale qui génère une largeur inférieure ouégale à la valeur de la largeur de la ligne (\hsize), ou encore la frontière du derniermot d’une liste horizontale qui génère une largeur supérieure ou égale à la valeur dela largeur de la ligne. En ayant recours à des techniques de rétrécissement de lignes, onrétrécit la largeur de la liste pour la faire tenir sur la bonne largeur. En général, il y aplusieurs coupures légales, on doit tenir compte de la laideur (badness) de chaque pos-sibilité ainsi que le coût de coupure pour en choisir la meilleure. Les algorithmes qui

36

Page 50: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

coupent les paragraphes en lignes, qu’on en discutera avec plus de détails, ont un rôleprimordiale dans la régularisation des blocs de textes.

3.3.2 Espacement

Les algorithmes de justification coupent les lignes d’un paragraphe de manière optimale.Bien sûr, chaque algorithme le fait à sa façon. Pour faire tenir les lignes coupées sur labonne largeur du cadre du texte, de nombreuses bonnes manières ont été mises au point.La plus commune, est de faire varier l’espace entre les mots - voire entre les glyphes - defaçon que la ligne de texte remplisse exactement l’espace entre les deux marges.

Pour donner à la ligne une certaine flexibilité, une espace ne se transforme pas simple-ment en caractère d’espace de largeur fixe. Quelques-unes de ces espaces se transformenten fins de lignes. Les autres se transforment en un triplet (id, max, min). Ces triplets dé-finissent des espaces de largeur variable. Les espaces ont donc une taille normale id maisqui peuvent s’étendre jusqu’à une valeur max ou se rétrécir jusqu’à une valeur min. Onpeut, si on est forcé, tolérer une espace dont la longueur est plus grande que max, maisjamais dont la longueur est plus petite que min.

La stratégie adoptée est la suivante :

1. mettre les mots sur la ligne l’un après l’autre ;

2. attendre jusqu’à ce qu’un mot déborde dans la marge droite ;

3. essayer de rétrécir la ligne pour faire tenir le mot qui déborde sur la ligne ;

4. étirer la ligne, si le rétrécissement dépasse min.

3.3.3 Césure typographique

Pour obtenir des documents électroniques avec des paragraphes visuellement homo-gènes, il faut réduire le blanc à disperser entre les mots. La césure permet d’améliorerl’alignement du texte en limitant les blancs entre le dernier mot d’une ligne et la margede droite. Lorsqu’un mot est trop long pour tenir sur la même ligne, il est coupé à l’en-droit qui convient afin de réduire le blanc entre la fin de la ligne et la marge de droite.La coupure des mots aura lieu normalement aux frontières de syllabes graphiques.

La stratégie adoptée est la suivante :

1. mettre les mots sur la ligne l’un après l’autre ;

2. attendre jusqu’à ce qu’un mot déborde dans la marge droite ;

3. essayer de rétrécir la ligne pour faire tenir le mot qui déborde sur la ligne ;

4. étirer la ligne, si le rétrécissement dépasse min ;

5. essayer une césure, si l’étirement dépasse max ;

37

Page 51: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

6. sinon, vraiment étirer.

Avant les années quatre-vingt, la division des mots se faisait à la main, ou encore, elle re-pose sur des listes de mots stockées dans un fichier de dictionnaire séparé. F. M. Liang [71]a publié, en 1983, une technique élaborée pour retrouver les points de division légitimedans un mot latin. La technique est pilotée par une arborescence organisée de tries, etcontenant des motifs de coupure, soient des combinaisons de lettres qui autorisent ouinterdisent la coupure. Les motifs reflètent les règles de césure d’une langue donnée. Ily aura donc autant de structures d’arbre de motifs que de langues définies. C’est cetalgorithme que D. Knuth a choisi d’implanter dans TEX. Parfois, une correction a pos-teriori est nécessaire. Le caractère Unicode U+00AD est un trait d’union conditionnelpermettant d’indiquer l’emplacement d’une césure possible dans un mot.

3.3.4 Alignement optique

Lorsqu’on regarde un bloc de texte composé, on peut aisément constater que même untexte aligné des deux cotés, n’aboutit pas à un texte parfaitement aligné sur la marge.Certains glyphes, lorsqu’ils parviennent au début ou à la fin d’une ligne, donnent uneillusion optique que la ligne est un peu courte par rapport aux autres. Les glyphes quicausent ce genre d’illusion sont généralement le trait d’union et les signes de ponctua-tion, ou encore des glyphes qui finissent par des parties obliques ou des terminaisonsdéliées. En revanche, certains glyphes peuvent donner une illusion inverse.

Dans une composition de qualité, des corrections devraient également être appliquéesà l’alignement vertical des lignes à gauche et à droite. Des raffinements sont introduits,tel que le crénage de l’approche gauche de la première lettre d’une ligne et de l’ap-proche droite de la dernière lettre d’une ligne, ou encore le débordement partiel destirets marquant la césure ou de certains signes de ponctuation marginaux. Le résul-tat est convaincant. Les textes composés, en appliquant un programme de typographieavancée, présentent une structure dense et serrée qui contraste avec celle, plus lâche etplus ouverte, que les logiciels standards fournissent actuellement.

De nos jours, si les produits « grand public » de la typographie, n’exploitent pas toutesles possibilités de l’informatique, certains logiciels permettent de renouer avec les pra-tiques de la typographie traditionnelle, qui fut abandonnée sûrement pour des raisonsde difficultés techniques, de coût et de délai. Récemment, les concepteurs de systèmesd’édition électronique sont de plus en plus conscients de l’importance de la qualitétypographique d’une composition. Dans les versions récentes de quelques systèmes so-phistiqués, comme InDesign ou 3B2, on trouve un soutien pour ces fonctionnalités.

L’alignement optique est similaire aux manipulations bien connues de crénage tradi-tionnel. Il sert à équilibrer les masses claires et sombres de certaines combinaisons delettres en réglant les approches entre les glyphes. La plupart des fontes sont fournies

38

Page 52: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

avec une table de paires de crénage qui peuvent être utilisées lors de la composition.

3.3.5 Justification sur le Web

Sur le Web, les navigateurs n’ont pas ce potentiel. Le navigateur justifie le texte sanscréer de césures. La justification du texte peut donc avoir une incidence sur les espacesinter-mots. Les blancs sont nombreux, horriblement longs et on peut voir apparaîtredes lézardes. Des manipulations de césure peuvent rendre l’interface assez lourde puis-qu’elle devrait sans cesse s’adapter à la mise en page dès lors que la fenêtre de la page estredimensionnée.

Malgré tout, si on persiste à vouloir couper des mots dans une page Web, il ne faut pasutiliser le trait d’union mais le tiret conditionnel en HTML, &#173 ou &shy. Le nom shyest un acronyme pour soft hyphenation en anglais, c’est aussi un rétro-acronyme, puisqueshy signifie « timide ». Or, le trait d’union conditionnel peut être nommé « trait d’uniondiscrétionnaire » (discretionary hyphen) qui évoque discret. C’est le trait d’union discret,qui se cache.

Pour plus de perfection, on peut mieux contrôler l’espace inter-mots et inter-lettres, enutilisant les propriétés word-spacing et letter-spacing de feuille de style CSS. Lapropriété letter-spacing permet de définir l’espace entre les glyphes d’un texte. Si lavaleur donnée est normal, celle-ci permet tout de même au navigateur de modifier lesapproches inter-lettres pour justifier le texte. Si une mention de longueur est autorisée,les pourcentages ne le sont pas, les valeurs négatives sont également possibles. De même,la propriété letter-spacing permet de définir l’espace entre les lettres d’un texte.

Utilisez la justification pour des textes dont la longueur de ligne n’est ni trop petite(news) ni trop grande (mise en page fluide), le rendu est nettement plus plaisant et éviteles irrégularités inesthétiques de la couleur du texte. Un opérateur humain peut procé-der à une correction du gris typographique d’un texte publié sur une page Web en utili-sant le trait d’union conditionnel dans des mots qui se situent en fin de ligne et là où ilprévoit une coupure1, ainsi que les deux propriétés word-spacing et letter-spacingde feuille de style CSS. La composition devait normalement se faire ligne par ligne ettoujours en avant, c’est-à-dire, en allant de la première ligne vers la dernière. Toute mo-dification du texte ou tout redimensionnement de sa largeur de son corps produira ladestruction de tout le meuble.

Les navigateurs Web ne rivalisent pas avec les logiciels de mises en page. Ces dernierssont capables de couper automatiquement des mots trop longs en fin de ligne, adapterles approches, les espaces entre les mots, etc. D’ailleurs, même si les navigateurs seraientcapables de le faire, il serait difficile de garantir la portabilité du résultat d’une mise en

1Dans ce cas le concepteur du page Web doit être conscient des règles de césure spécifiques à la langueutilisée.

39

Page 53: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

Figure. 3.2 – Gris typographique de la Bible de Gutenberg

page face à la diversité des supports d’affichage : écran d’ordinateur, projecteur, écran detéléphone mobile, etc.

3.3.6 Autres pratiques

3.3.6.1 Techniques de Gutenberg

Lorsque Gutenberg inventa l’imprimerie, son premier but était de parvenir à une pro-duction plus rapide des livres qui ont été écrits à la main. Pourtant, ses livres ressem-blèrent aux manuscrits réalisés par les célèbres scribes de l’époque. Le monde tenaità Gutenberg juste le titre d’inventeur de l’imprimerie en Europe, alors que les typo-graphes tenaient plutôt à ce que Gutenberg a laissé comme livres imprimés. Gutenbergeut à convaincre les lecteurs que le processus de production des livres pourrait être nonseulement plus rapide, mais il prouva aussi qu’on peut en faire un art, en produisantdes livres aussi beaux que les livres les plus avoués à l’époque. Après avoir procédé àdes essais multiples sur des feuilles simples ou de petits livrets, Gutenberg publia, en1455, la première version imprimée, de l’histoire, du Saint Bible. Il en réalisa entre 160et 170 exemplaires, dont il subsiste encore aujourd’hui 49 unités dans les principalesbibliothèques du monde. De nos jours, ce livre reste toujours une source d’inspirationpour les typographes informaticiens, ce n’est pas pour sa valeur historique ou religieuse,mais plutôt pour la qualité irréprochable de son gris typographique. La figure 3.2 estun extrait, qui montre qu’aucune ligne n’avait de débord.

Il y a cinq cent ans, Gutenberg a dû se battre durement pour atteindre, en composi-tion, la même qualité que celle des scribes renommés de l’époque. À la main, on peutécrire les mots tantôt de façon serrée, tantôt de façon relâchée sans avoir pour autant deszones du texte qui paraissent trop claires ou trop noires et qui distraient ainsi l’œil dulecteur. À l’époque de Gutenberg, on ne pouvait ni « déformer » les chasses des glyphes,ni même resserrer des approches du fait de la rigidité du métal. Seule variable donc lesapproches inter-lettres positives et les blancs entre les mots. Toutefois, il reste d’autresvariables que Gutenberg a utilisé à foison. Celles des ponctuations de fins de lignes. Déjà

40

Page 54: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

Figure. 3.3 – Casse de Gutenberg(source : tirée de [85])

les copistes du moyen âge utilisaient ce stratagème pour donner plus d’homogénéité àleur colonne de textes manuscrits. Éviter ainsi des blancs de fin de ligne désastreuxpour l’architecture de la page et du coup pour le confort de la lecture. Dans les annéesquatre-vingt-dix, on vit apparaître dans les menus d’Adobe Illustrator, la possibilité de« rejeter » les ponctuations en dehors de l’alignement. La plupart des lecteurs profes-sionnels, les correcteurs du métier notamment, décidaient que ce n’est pas conforme aucode typographique.

Gutenberg a aussi utilisé de nouvelles techniques [85] en les adaptant intelligemment.Par exemple, il grava plusieurs séries de graphèmes, il disposa de beaucoup de glyphes :il y en a 290 différents dénombré dans la Bible de Gutenberg (voir figure 3.3). Il fondadifférents glyphes de chasses différentes selon l’application et utilisa une grande variétéd’abréviations et de ligatures, pour répartir au mieux les espaces dans la ligne composée.

On peut, aujourd’hui, imaginer comment marchait sa composition. Il composait, d’abord,une ligne sans ligature ni lettre avec terminaisons, puis il attendait que la fin de lignecolle juste ou menace d’être trop longue. Il regardait alors si l’emploi de variantes de

41

Page 55: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

lettres aiderait à augmenter la lisibilité compte-tenu des habitudes de lecture de l’époque.Sinon, il essayait de raccourcir la ligne avec des ligatures, des abréviations, bien connuesdes lecteurs, ou des lettres condensées.

3.3.6.2 hz-program

Le hz-program [87] est un programme de composition du texte. Ce produit relève es-sentiellement de la micro-typographie. En voyant la qualité des résultats, son inventeur,Hermann Zapf a qualifié ce programme de « nec plus ultra »2 de la typographie avancée.Au départ, il voulait retrouver, à l’âge de l’ordinateur, ce que Gutenberg avait inventécinq cent ans plus tôt : la justification des textes avec un espacement inter-mots constantet des marges parfaitement alignées. Le hz-program a réussi ceci et même d’avantage carson utilisation permet de sauver de 3 à 5% de papier. et cela par des moyens typogra-phiques [57].

Zapf a pratiqué dix méthodes pour améliorer la typographie en composition de haut-niveau. Ces méthodes sont toutes basées sur des manipulations de l’espacement entre leslettres, de la mise à l’échelle de glyphes typographiquement acceptable, et une composi-tion mieux programmée. Zapf a notamment abandonné les ligatures médiévales utiliséespar Gutenberg. Les lecteurs de nos jours ne sont plus familiarisés avec ces ligatures, etils peuvent considérablement troubler la lecture.

Les dix commandements de Zapf pour améliorer la couleur du texte en composition dehaut-niveau jouèrent sur trois paramètres :

I. Espacement :

1. L’approche gauche du premier glyphe doit être calculée spécialement, de mêmepour l’approche droite du dernier glyphe de la ligne.

2. Les lignes trop courtes ne doivent subir que des augmentations d’interlettrage etles trop longues que des diminutions.

3. Les espaces doivent dépendre de la force du corps : plus le corps est grand, moinsl’espace inter-mots doit chasser et, réciproquement, plus le corps est petit, plusl’espace doit chasser.

II. Mise à échelle :

4. La forme des lettres doit être fonction de la force du corps, en utilisant un ajuste-ment visuel.

5. Quand on compose dans un corps donné, les glyphes ne doivent pas être agrandisqu’avec modération si la ligne est trop courte.

2Ce qu’il y a de mieux.

42

Page 56: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

6. Si la ligne est trop longue, les glyphes ne doivent être réduits qu’avec précaution.

7. L’expansion et la compression de glyphes, ne doit pas être utilisée de façon systé-matique, et elle ne doit pas être utilisée que pour certains.

III. Composition :

8. La division des mots doit se faire pour tout un paragraphe et non pas ligne parligne.

9. Les améliorations automatiques doivent marcher pour une fonte donnée quelquesoit le corps.

10. Les niveaux de gris doivent être utilisés pour le contrôle typographique des épreuvessur écrans.

Le troisième module de Zapf est un moteur sophistiqué semblable au moteur de pa-ragraphage de TEX(voir chapitre 6). Cependant, de la documentation de hz-programdisponible, la manière dont ce troisième module utilise les autres modules pour choisirles points de coupure pour un paragraphe, n’est pas tout à fait claire. Peu de rapportsont été publiés par les développeurs de ce système. L’utilisation de ce système est limitéeau sein de URW. Par conséquent, il n’était pas disponible, même pour être examiné outesté. En outre, il est également impossible de savoir s’il existe de nouveaux développe-ments du programme.

Dans l’approche de Zapf, on ne trouve aucun recours au changement de glyphes pard’autres de largeurs différentes, et cela, si on considère que la mise à l’échelle d’un glyphene l’est pas vraiment. Cependant, Hermann Zapf et URW ont développé MultiType, unetrès grande famille de glyphes. Elle produit divers dessins pour la même lettre. L’utilisa-teur peut changer son choix de fonte MultiType, même une fois tous les calculs faits parun formateur de texte. En effet, chaque famille de glyphe a les mêmes métriques. Parconséquent, cette diversité ne contribue en rien pour améliorer la justification.

3.3.6.3 pdfTEX amélioré

L’objectif du travail de Hàn Thê Thành [81] est une tentative d’amélioration de la qua-lité du gris typographique produit par pdfTEX, en autorisant une modification de lachasse des glyphes utilisés sur chaque ligne, dans des limites raisonnables. L’idée n’estpas vraiment nouvelle, d’autant qu’elle a été déjà utilisée par Zapf dans le hz-programpour étendre des lignes de texte qui n’occupent pas toute la largeur voulue d’un para-graphe. Thành a tenté de contrôler de près les limites dans lesquelles de telles manipu-lations sont autorisées. La somme des espaces inter-mots présentes sur une même ligneest habituellement très petite par rapport à la somme des chasses de tous les glyphes, detelle sorte qu’un très faible facteur d’échelle horizontale appliqué à la fonte peut aiderconsidérablement à homogénéiser les inter-mots.

43

Page 57: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latineTechniques de justification Justification en typographie latine

nn

Intérieurde glyphe

)A

AA

AAAK

Jambage

FIG. 3.5 – Mise à l’échelle du glyphe

lignes de texte qui n’occupent pas toute la largeur voulue d’un paragraphe. Thành a tentéde contrôler de près les limites dans lesquelles de telles manipulations sont autorisées. Lasomme des espaces inter-mots présentes sur une même ligne est habituellement très petitepar rapport à la somme des chasses de tous les glyphes, de telle sorte qu’un très faible facteurd’échelle horizontale appliqué à la fonte peut aider considérablement à homogénéiser lesinter-mots.

La stratégie de Thành est la suivante :– Après avoir découper un paragraphe en lignes, les boîtes horizontales contenant chaque

ligne de texte sont marquées comme pouvant nécessiter un ajustement de l’espace inter-mot.

– Au moment où les ressorts sont évalués pour chaque boîte horizontale, il vérifie si la boîtecourante a été marquée à l’étape précédente. Si c’est le cas, il calcule le taux d’extensionrequis pour la boîte.

– Finalement, au moment de l’impression (shipout) des boîtes marquées, il modifie la chassedes glyphes en PDF.

3.2.7 Réactions

Les contributions de Zapf et Thành ne peuvent pas trouver leurs origines dans les pratiquesde Gutenberg. La préconisation d’utilisation de la mise à l’échelle horizontale des glyphesdoit être relevée à son propre mérite. Gutenberg n’a jamais effectué une mise à l’échellehorizontale d’un glyphe lors de la composition de la Bible de 42 lignes. Les variantes deglyphes utilisées par Gutenberg laissent les blancs à l’intérieur des glyphes invariant. Enrevanche, il essaie d’agir sur les coins des glyphes, obits et terminaisons (voir figure 3.6). Ilne faut en aucun cas remplacer les blancs inter-mots par des blancs à l’intérieur des glyphes.

53

Figure. 3.4 – Mise à l’échelle du glyphe

Figure. 3.5 – Technique de Gutenberg

La stratégie de Thành est la suivante :

1. Après avoir découpé un paragraphe en lignes, les boîtes horizontales contenantchaque ligne de texte sont marquées comme pouvant nécessiter un ajustement del’espace inter-mot.

2. Au moment où les ressorts sont évalués pour chaque boîte horizontale, il vérifiesi la boîte courante a été marquée à l’étape précédente. Si c’est le cas, il calcule letaux d’extension requis pour la boîte.

3. Finalement, au moment de l’impression (shipout) des boîtes marquées, il modifiela chasse des glyphes en PDF.

3.3.7 Réactions

Les contributions de Zapf et Thành ne peuvent pas trouver leurs origines dans les pra-tiques de Gutenberg. La préconisation d’utilisation de la mise à l’échelle horizontale desglyphes doit être relevée à son propre mérite. Gutenberg n’a jamais effectué une miseà l’échelle horizontale d’un glyphe lors de la composition de la Bible de 42 lignes. Lesvariantes de glyphes utilisées par Gutenberg laissent les blancs à l’intérieur des glyphesinvariant. En revanche, il essaie d’agir sur les coins des glyphes, obits et terminaisons(voir figure 3.5). Il ne faut en aucun cas remplacer les blancs inter-mots par des blancs àl’intérieur des glyphes (voir figure 3.4).

44

Page 58: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

3.3.8 Ligatures

En ce qui concerne un texte latin du XXIe siècle, pour que les techniques de Gutenbergréussissent, il faut que la présence ou non des ligatures ou de variantes de glyphes nechange en rien les habitudes de lecture de texte. Gutenberg avait réussi ce défit et cela enutilisant même beaucoup de ligatures et d’une manière assez aléatoire. Il a ainsi éduquél’œil du lecteur, à ne pas se soucier des ligatures ou variantes de glyphes. Cela n’est pasévident dans le cas du texte latin de nos jours, où les seules ligatures que l’on trouverasont les f-ligatures. Cependant, elles existent d’autres ligatures autres que les f-ligatures.Certaines sont purement esthétiques et ne font gagner aucune place, par exemple lesdeux ligatures : #→! et $→". D’autres ne sont utilisées que dans des contextesparticuliers (voir figure 3.6). Alors que d’autres ont du mal à se faire respecter. C’est lecas de la ligature % [44].

Figure. 3.6 – Ligatures particulières

D’autres précautions, beaucoup plus exigeantes, doivent être tenues en compte. Parexemple, au cas où les ligatures ou les variantes portent une sémantique. Par exemple,en allemand, n’utilise-t-on pas de ligatures « fl » dans un mot composé d’un premiermot se terminant par « f » et autre commençant par « l » [44]. On écrit donc « Auflage »qui est composé des mots « auf » et « lage » au lieu de « Auflage » qui n’a aucun sens. Iln’est pas donc question de sacrifier le sens des mots pour des besoins de la justification,et ceci quelle que soit la merveilleuse technologie qui peut contribuer à optimiser lesblancs [43].

Vu que le système de ligatures utilisées dans un texte latin n’est pas assez fort. Les seulesligatures communément utilisées qu’on peut dissocier sont les f-ligatures. Peut-on s’at-tendre vraiment à une amélioration de la couleur d’un texte en se basant sur le systèmede ligatures ? Ces dernières années, on assiste à l’apparition de familles de fontes offrantd’autres ligatures spéciales. On est alors loin des seuls fi et fl ! Dans une fonte commePrestige, de la fonderie Présence Typo, on trouve des dizaines de ligatures autres queles f-ligatures. Des ligatures d’une qualité esthétique incontestable, mais, d’une lisibi-lité discutable (voir figure 3.7). Par exemple, la ligature # est-elle une présentation de!" ou de "! ? Peut-on sacrifier la lisibilité en faveur de l’esthétique ? Il reste tout demême une autre variable très importante qui pourra contribuer, de manière efficace et

45

Page 59: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Techniques de justification Justification en typographie latine

sans aucunes répercutions sémantiques, à la régularisation des blocs de textes. Celle desvariantes de formes, de chasses plus larges ou plus étroites qu’on peut utiliser pour amé-liorer la justification des lignes. Dans la figure 3.8, on trouve des variantes de la lettre« d » de la fonte Zapfino de Zapf. Une telle technique n’est utilisée par aucun des sys-tèmes de composition de texte actuels malgré tous les efforts déployés par les formatsde fontes OpenType de Microsoft & Adobe, et AAT d’Apple.

Figure. 3.7 – Quelques ligatures de la fonte Prestige

Figure. 3.8 – Variantes de la lettre « d » de la fonte Zapfino

46

Page 60: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Cha

pitr

e

4Justification du texte arabe

Vu la nature cursive de l’écriture arabe, la justification du texte a une logiqueprofondément différente de celle en vigueur dans la typographie latine. Lajustification possède des procédés traditionnels inspirés de la calligraphie ma-

nuelle. Les mots sont flexibles. D’un coté, un mot peut être dilaté en allongeant cer-taines lettres de façon curviligne, d’un autre coté, un mot peut être comprimé en faisantrecours à des ligatures qui ont pour effet de diminuer la chasse du groupe de lettres consi-dérées. En calligraphie, d’autres pratiques sont mises en œuvre, tel l’enchevêtrement demots et l’incurvation de la ligne de base, etc. Le présent chapitre est une explorationdes compositions calligraphiques et des traités historiques sur le sujet en assistance d’uncalligraphe confirmé. Cependant, la calligraphie arabe a existé avec deux objectifs biendifférents mais qui sont liés : elle sert à copier des textes dans le but d’une lecture fa-cile et agréable ou bien elle devient source d’images complexes et décoratives. Dansce deuxième cas, souvent les dessins calligraphiques s’intègrent avec les dessins géo-métriques ou arabesques et créent des compositions complexes, difficiles a déchiffrer.Nous n’avions pas le souci d’imiter l’écriture manuscrite très complexe, mais simple-ment parce que c’est dans la calligraphie qu’on trouve les règles esthétiques - aidant à lalisibilité - les plus abouties. Des règles évitant la surcharge sémantique et prenant soin àne pas remplacer les lézardes blancs par des lézardes noirs produits par la succession deskashida-s sur des lignes qui se suivent. Si les traités historiques sur la calligraphie nousfournissent une liste de spécifications techniques, notre travail consiste à une vérifica-tion de la concordances des traités avec la réalité des manuscrits. En effet, lorsque uncalligraphe crée du visuel, la plupart du temps c’est par intuition. Notre objectif était devalider ses intuitions, les formaliser et les expliciter. Y a-t-il aussi difficile que d’automa-tiser l’intuition humaine ! Un formalisme des degrés d’extensibilité des lettres suivantleur contexte a été avancé. Ce formalisme a été introduit en vue d’une implantationdans un système de composition de texte supportant l’écriture arabe. Dans ce chapitre,nous voulons éviter toute discussion à l’ère du numérique. En fait, un tel sujet peut bienattirer l’attention d’autres personnes qui ne sont pas nécessairement des typographes ;des calligraphes, des paléographes, des linguistes.

47

Page 61: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Justification en calligraphie arabe Justification du texte arabe

Figure. 4.1 – Morphologies spéciales

4.1 Justification en calligraphie arabe

L’écriture arabe présente des caractéristiques qui sont à l’origine de la complexité dutraitement des algorithmes de justification. En particulier, l’écriture arabe est cursiveaussi bien dans sa forme imprimée que celle manuscrite. Les lettres changent de mor-phologie selon leur position dans le mot, selon les lettres environnantes, et même danscertains cas, selon la sémantique du mot (ex. Allah, Mohamed, Bismi de Albasmala,voir figure 4.1). Les variantes de position des lettres sont ensuite interconnectées pourformer des mots. Le point de sortie de chaque glyphe est attaché avec le point d’entréedu glyphe suivant, sans aucune possibilité de césure.

4.1.1 Kashida

En terme de justification du texte arabe, la kashida est un effet typographique qui au-torise l’allongement de certaines lettres soigneusement choisies, sur la ligne avec desparamètres bien déterminés, afin de produire l’alignement à gauche des paragraphes. Lemot Tansil signifie le bon choix des points d’utilisation de la kashida.

Il y a des élongations obligatoires, des élongations permises et des élongations inter-dites. La faiblesse typographique d’un texte se détermine, entre autres, par l’absence desélongations obligatoires ou la présence des élongations interdites.

4.1.2 Ligatures

La structure cursive de l’écriture arabe signifie, entre autre, l’existence potentielle desligatures [44] dans un mot. La connexion des lettres dans un contexte de cursivité del’écriture introduit des ligatures contextuelles implicites. Une ligature explicite est la fu-sion, de deux ou trois, voire plus, de graphèmes pour n’en former qu’un seul. L’écriturearabe est riche de ligatures. Certaines ligatures sont obligatoires et obéissent à des règlesgrammaticales et contextuelles [44]. D’autres sont optionnelles et existent uniquementpour des raisons esthétiques, de lisibilité et/ou de justification.

En général, la chasse d’une ligature est inférieure à celle du groupe de graphèmes fusion-nés. La largeur de la ligature esthétique de la figure 4.2 est de 9.65pt alors que la lar-geur des ligatures données pour des simples substitutions contextuelles ,) est 14.75pt.

48

Page 62: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Justification en calligraphie arabe Justification du texte arabe

&++→,)→Figure. 4.2 – Transformation contextuelle et esthétique

++c+#+cdmh2

dm$

d#

Figure. 4.3 – Différents niveaux de ligatures

Le contrôle du comportement des ligatures, par la conversion des ligatures implicites enesthétiques, procurait une certaine souplesse au mot pour s’adapter à l’espace disponiblesur la ligne. L’exemple de la figure 4.3 montre trois niveaux de ligatures : substitutionssimples obligatoires, ligature esthétique de deuxième degré et finalement une ligatureaussi esthétique de troisième degré. Les deux derniers niveaux de ligatures fournissentdes possibilités de rétrécissement du même mot. Le lecteur arabe ne se soucie pas géné-ralement de la présence ou de l’absence des ligatures. En revanche, l’utilisation des liga-tures esthétiques de deuxième et troisième degré doit prendre en compte les contraintesde lisibilité et de l’environnement graphique. Un système de composition doit prévenirtrois niveaux de recours aux ligatures. Le premier niveau, où il n’y a que des ligaturescontextuelles implicites et des ligatures grammaticales obligatoires de deuxième degré.Ce niveau est recommandé pour la composition des manuels scolaires où il faut évitertoute collision entre les lettres et toute ambiguïté de lecture. Un deuxième niveau, oùon se permet d’utiliser quelques ligatures esthétiques de deuxième degré. Ce niveau estrecommandé pour la composition des livres pour le grand public. Un troisième niveau,où on se permet d’utiliser des ligatures esthétiques de degrés supérieurs, et on se donnela liberté dans l’expression graphique.

Le recours ou pas aux ligatures explicites pour améliorer la justification doit prendreen compte l’environnement graphique et la régularité du bloc de texte concerné. Encalligraphie, une fois une ligature esthétique est utilisée, il n’y a aucune obligation àutiliser cette ligature dans toutes les occurrences du texte. La justification peut trèsbien se régler par les kashida-s dans un texte composé uniquement par des ligaturesimplicites.

Le recours aux ligatures pour justifier les lignes, n’est pas un privilège de l’écriture arabe.Adolf Wild [85], le conservateur du musée Gutenberg à Mayence, regarde la Bible deGutenberg avec l’œil d’un typographe. Au niveau des lignes, elles étaient justifiées nonpas comme aujourd’hui, en jouant sur les espaces inter-mots de tailles variables, maissur des combinaisons de lettres : ligotypes, ligatures, abréviations, etc.

49

Page 63: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Justification en calligraphie arabe Justification du texte arabe

4.1.3 Allographes

Les allographes [17] étant les diverses formes graphiques qu’une lettre peut avoir touten gardant sa place : isolée, initiale, médiane ou finale. Les lettres prennent bien plusde formes mêmes si grammaticalement il n’en existe que quatre. En allométrie, on étu-die le phénomène des allographes, la forme, la position, le contexte, etc. Le choix d’unallographe, répond le plus souvent à des besoins esthétiques, et laissé au choix de l’uti-lisateur. Cependant, l’existence d’allographes est parfois souhaitée, voire même recom-mandée, par le fait qu’on doit changer la forme en fonction des lettres limitrophes, etdans certains cas à l’existence de la kashida.

– la forme médiane de la lettre Beh doit avoir une allure un peu plus aiguë dans le casoù elle interpose deux lettres épinées ou plus :

– la forme initiale de la lettre Beh peut prendre trois formes d’allographes suivant lalettre qui suit :

– la forme initiale de la lettre Hah doit prendre la forme d’un Hah Lawzi si elle setrouve avant une lettre ascendante :

– la forme initiale de la lettre Ain doit prendre la forme d’un Ain Finjani si elle estsuivi d’une lettre ascendante :

– la forme initiale de la lettre Hah ainsi que la forme finale de la lettre Meem changentleurs formes morphologiques en présence de la kashida :

– la forme finale de la lettre Meem change sa forme morphologique en présence de lakashida :

– la lettre Kaf change sa forme morphologique en cas d’allongement et se transformeen Kaf Zinadi :

50

Page 64: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Justification en calligraphie arabe Justification du texte arabe

4.1.4 Autres pratiques

La ligne de base (Satr Alkitabat) est la ligne d’appui sur laquelle reposent les lettres pourformer des mots puis des phrases. En écriture arabe, la ligne de base est une ligne vir-tuelle. Les lettres ainsi que les mots ne reposent pas directement sur une ligne statiqueavec une référence fixe. Les lettres coulent d’une manière interactive avec les lettres en-vironnantes. Elles changent non seulement la forme, mais aussi le positionnement parrapport à une ligne de base imaginaire. Les lettres ainsi que les mots se détachent detoute référence absolue. De ce fait, les lettres ainsi que les mots doivent être enchevê-trées, une force d’interaction entre les lettres dans un mot, ainsi que entre les mots dansune phrase. Chez Ibn muqlah [10], trois types de forces d’interactions entre les lettreset les mots interviennent pour une bonne composition :– la jonction des lettres conjointes (Tarsif), où chaque lettre cherche le point d’articu-

lation avec la lettre qui la précède ;– l’adjonction des lettres en formes isolées (Ta‘lif), où la lettre isolée cherche à remplir

le blanc laissé par l’œil des lettres limitrophes ;– la réglure des mots Tastir, pour qu’ils se tiennent sur l’horizontale.D’un autre point de vue, ces variations de positionnement de lettres et de mots sont àl’origine de la théorie des « chaises », (Kursy-s) [17], qui introduit un certain nombre delignes portantes. Selon diverses versions de cette théorie, le nombre de ces lignes peut al-ler de deux jusqu’à cinq, voire sept, lignes. Les hauteurs entre les lignes varient selon lesauteurs de cette théorie et peuvent ne pas être suivies en pratique. Cette théorie est ap-paremment plus utilisée en style Ta’liq (voir figure 4.4). De ce fait, on peut se demanderjusqu’à quel point on peut formaliser cette notion pour une éventuelle automatisation.

Figure. 4.4 – Kursy en style Ta’liq(Source : Badai‘ Alkhat Al‘arabi, p. 372, Naji Zine Eddine Almasref)

On peut néanmoins dire que les calligraphes se sont servis de la possibilité de l’enche-vêtrement des lettres et des mots (voir figure 4.5) et du rétrécissement des espaces entresles mots comme méthodes supplémentaires ou alternatives à l’utilisation des kashida-spour la justification. Le même texte écrit par deux calligraphes, aient un prix, lors du

51

Page 65: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Figure. 4.5 – Enchevêtrement de mots

concours IRCICA 2004. La figure 4.6 par M. T. Al’ubaidy favorisant plus l’espacementet l’enchevêtrement et la figure 4.7 par A. Alabdo favorisant plus la kashida.

Pour la justification, les calligraphes mettaient aussi à profit d’autres pratiques comme :– l’entassement de mots. Il consiste à mettre des mots au-dessus des autres, en particu-

lier le mot Allah au-dessus du mot qui le précède (voir la fin1 de la septième ligne dela figure 4.8) ;

– le déplacement du fragment coupé du mot au-dessus du mot coupé (voir le derniermot de la quatrième ligne de la figure 4.8) ;

– la césure de mot (voir figure 4.9) ;– la césure de mot en marge (voir figure 4.10), soit une expulsion des fragments de

césure en marge de la ligne et non pas à la ligne suivante ;– le rapetissement de certains mots ou d’une partie du mot de la fin de la ligne (voir

figures 4.11 et 4.12) ;– l’incurvation de la ligne de base (voir figure 4.13).

4.2 Proposition de modélisation

L’écriture arabe est dotée d’une série de techniques issues de la tradition de l’écrituremanuelle pour réaliser la justification. Ces techniques renoncent à la méthode la plussimple, à savoir l’insertion des blancs entre les mots. Ceci procure un aspect équilibrécar on évite les espaces disgracieuses.

Depuis le Xe siècle, les coupures de mots en fin de ligne sont strictement interdites.Cela tient peut être à la structure cursive de la langue arabe, et à l’absence en généraldes signes de vocalisation. Il y a même des phrases dont il est recommandé de ne pas lescouper dans deux lignes (ex. Sala ALLAH ’alayhi wa Salam). Si la coupure des mots étaitacceptée en arabe, la lisibilité en serait considérablement affectée. De nos jours, seule lafameuse césure à l’hémistiche est autorisée, (voir figure 4.14). Dans ce cas, la césure estconsidérée comme une pause, qui n’affecte pas la lisibilité puisque le mot coupé se tienttoujours sur la même ligne.

4.2.1 Point diacritique/métrique

Le Qalam, utilisé en calligraphie arabe, est un roseau taillé comme le bec d’une flûte,dont on peut se servir pour l’écriture (voir figure 4.15). La forme de la pointe précise le

1La fin de la ligne est à gauche en écriture arabe.

52

Page 66: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Figure. 4.6 – Justification favorisant l’espacement

Figure. 4.7 – Justification favorisant l’utilisation de kashida

53

Page 67: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Figure. 4.8 – Entassement des mots et des fragments de la césure

Figure. 4.9 – Césure de mot

style graphique que la plume pourra offrire. Par exemple, en style Naskh, la forme estbiseautée et en style Magribi elle est pointue. La tête de la plume pour le style Naskh seprésente donc comme un rectangle qui se tient à un angle d’inclinaison d’environ 70

par rapport à la ligne de base virtuelle. Le point diacritique qui se présente comme uncarré penché est l’unité typographique marquée par la plume utilisée.

Le système de signes diacritiques des points joue un rôle sémantique de premier ordre.En effet, certaines lettres ne se distinguent que par la présence de ces points, leur nombreet leur position, le glyphe de base x donne lieu à plusieurs lettres selon le nombre de

Figure. 4.10 – Expulsion en marge du fragment du mot coupé(Source : Le Saint Coran transcrit par Yakout Almusta‘simy en style Ryhany et Koufi, du musée Iran

museum)

54

Page 68: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Figure. 4.11 – Changement de la taille de mots en fin de ligne(Source : Badai‘ Alkhat Al‘arabi, p. 372, Naji Zine Eddine Almasref)

Figure. 4.12 – Changement de la taille en fin de ligne

Figure. 4.13 – Incurvation de la ligne de base

Figure. 4.14 – Césure au milieu en poème

Figure. 4.15 – Qalam de la calligraphie arabe

55

Page 69: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Figure. 4.16 – Forme des points et taille de la Fatha avec kashida

Figure. 4.17 – Métriques de la lettre Alef

points diacritiques au-dessous ou au-dessus : , , et . De même, le glyphe #donne lieu à plusieurs lettres selon la présence et la position de point diacritique parrapport au glyphe de base : #, ' et . En cas de succession de lettres portant deuxpoints diacritiques, les points s’interfèrent. Ils peuvent donc être placés horizontale-ment l’un à côté de l’autre, ou verticalement l’un au-dessus de l’autre, selon l’espacedisponible au-dessus ou au-dessous de glyphes de base (voir figure 4.16). On peut aussiallonger les lettres pour une meilleure aération. Un autre point aussi important, la tailledu signe diacritique change aussi en fonction de la taille d’allongement (voir figure 4.16).

L’importance du point diacritique dépasse son rôle phonétique. Il est considéré commeune unité de mesure utilisée pour régulariser les dimensions et les métriques des glyphes,ainsi que leurs degrés d’extensibilité. Dans ce cas, on ne parle plus du point diacritiquemais du point métrique. Ibn Muqlat a spécifié les mesures des lettres en points mé-triques. Pour donner une homogénéité aux lettres, il a englobé toutes les lettres dansun cercle de diamètre six points, la hauteur de la lettre Alef. La figure 4.17 montreles métriques de la lettre arabe Alef en point métrique. Cette notion reste relative etapproximative. La position du point dans la ligne et la position des points entre euxgénèrent une différence entre les calligraphes.

4.2.2 Présence d’élongation

Dans ce qui suit, on se restreint à la justification par allongement. Rendre le systèmeplus au moins désireux d’allonger une lettre, revient à relever les contraintes de dé-termination de points d’extensibilité avec les paramètres requis. Dans ce contexte, lesallongements doivent respecter un ensemble de règles calligraphiques. Ces règles sont

56

Page 70: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Figure. 4.18 – Allongement de la lettre Seen dans Albasmala

extraites des traités arabes sur la calligraphie [10], ainsi que des compositions calligra-phiques et les consignes d’un calligraphe confirmé. Certaines de ces règles ne sont pascatégoriques et elles ne peuvent pas être données que sur une échelle linguistique brutevariant entre « toujours », « très fréquent », « rare » et « interdit ». Avant de faire état deces règles en détails, voyons d’abord quelques règles générales d’élongation :– la première lettre, d’un mot composé de deux lettres seulement, ne doit pas être

allongée. Cependant, sa deuxième lettre peut être allongée ;– il est interdit d’allonger plus qu’une lettre dans un même mot ;– il n’est pas approuvé d’allonger plus d’un mot dans une même ligne (Albasmala dans

la figure 4.18 est une exception – dans ce cas, le premier mot est toujours allongé) ;– en cas de succession de lettres avec des épinés comme Beh et Seen, l’allongement est

recommandé, pour enlever l’ambiguïté de lecture. En particulier, la lettre Seen doittoujours être suivie d’un allongement de deux points métriques ;

– les mots qui se terminent par un Yeh [q] ne doivent pas être allongés avant le Yeh.En effet, la présence de la kashida génère une nouvelle lettre (Qantara). Par contre, ilest préférable d’allonger un mot s’il est lié au pronom : lettre Heh finale [l]. Dans cecas, la kashida doit être placée avant la dernière lettre.

Étudions à présent les règles concernant les positions, où les élongations peuvent inter-venir, ainsi que leur nombre. Au niveau des mots, les règles les plus générales qu’on apu trouver, conseillent la kashida au milieu du mot, soit plus dans les mots de quatreou six lettres. La kashida se porte sur la deuxième ou la troisième lettre respectivement.On procède d’abord par des généralisations et on classe les mots selon leurs tailles, ennombre de lettres, et on énumère les occurrences admises à l’élongation.

Mots en deux lettres :

Il est strictement interdit d’allonger un mot composé de deux lettres, sauf dans le cas de :ou . En effet la forme initiale de la lettre [5]. Même si elle représente une seule

lettre, morphologiquement, elle peut être vue comme une succession de trois glyphes :[z] [z] [y].Mots en trois lettres :

En général, il ne faut pas abuser de la kashida dans des mots composés de trois lettres.On ne peut allonger en aucun cas les mots comme : et . Par contre, le motBismi d6 de Albasmala s’allonge toujours au niveau de la lettre Seen, cet allongementn’était pas imposé auparavant (voir figure 4.9).

57

Page 71: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Selon Imad Eddine Bnu Al‘afif, on peut allonger les mots composés de trois lettres, sisa première lettre est un K, C, [3] ou []. Selon Azzeftawi2, on peut procéder à uneélongation si la dernière lettre est un Alef ou un Lam. Si on décide d’allonger ce mot,la kashida doit être portée par la deuxième lettre.

Mots en quatre lettres :

Les mots en quatre lettres sont les plus susceptibles d’être allongés, et il est préférablede porter la kashida sur la deuxième lettre. Cependant, on ne doit pas allonger les motscomme :bR, 0v) et 0vfi.Mots en cinq lettres :

Là aussi, les traités montrent des différences. Si Ibn Al‘afif interdit l’utilisation de lakashida dans un mot composé de cinq lettres, puisqu’on ne peut pas le subdiviser endeux parties égales, Ibn Khalouf affirme que l’élongation dans ce cas est conseillée et ilfaut qu’elle se porte sur la deuxième lettre du mot concerné.

Pour les mots qui dépassent cinq lettres, on se ramène aux règles générales de successionde lettres du tableau de contextualité (voir la table 4.2).

Lorsqu’on examine les compositions calligraphiques historiques, avec l’œil d’un typo-graphe, il convient de prendre des précautions. De nombreux calligraphes dépassentcertaines règles, ils utilisent des kashida-s avec beaucoup moins d’économie lorsqu’ilsétaient rétribués à la page pour être payer d’avantage [17].

La forte présence d’élongations en fin de ligne est la méthode préférée par Ibn Wa-hid [17]. Chez Ibn Al‘afif [10], l’élongation est préférable en fin de ligne, tolérable audébut et regrettable au milieu.

Les propositions des traités sur les positions des allongements montrent des différencesdans les détails. Si Ibn Al‘afif n’admet que sous la contrainte de nécessité une élongationau milieu, AlShirazi ne trouve pas d’inconvénients.

En termes de justification, la forte présence de kashida-s en fin de ligne, chez Ibn Wahid3

et Ibn Al‘afif a un prétexte. Les calligraphes ne peuvent estimer l’élongation que vis-à-vis de la limite de la ligne. La kashida est déclenchée pour gérer la distance par rapportà la fin de ligne.

La superposition de deux élongations sur deux lignes consécutives ne peut être vueque comme un défaut, même par Ibn Al‘afif. Éviter l’effet d’escalier issu d’une tellesuperposition est souhaitable afin d’obtenir un gris typographique uniforme.

2Abou Mohamed Ben Ahmed Azzeftaoui, né 750 Hejri, décèdé en 806 Hejri, son maître calligrapheest Chams Eddine Mohamed Bnu Ali Bnu Abi Raquiba.

3Charaf Eddine Mohamed Bnu Charif Bnu Youssef Azzary, connu sous le nom d’Ibn Wahid, né àDamas en 647 hejri. Il a fait ses études en Iraq et il a vécu en Égypte, disciple de Yacout Almoustasimi.

58

Page 72: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Table. 4.1 – Familles des lettres

[] = [] = '#[+] = - +[/] = 1 /[3] = 73[;] = ?;[C] = GC[K] = OKrh

4.2.3 Degré d’extensibilité

Le degré d’extensibilité des lettres qui sont susceptibles d’être étirées dépend d’un en-semble d’éléments contextuels :– la lettre à allonger ;– la position de la lettre dans le mot ;– la position du mot dans la ligne.Pour simplifier la présentation, on regroupe les lettres sous forme de familles (voirtable 4.1). Les glyphes de chaque famille subissent le même traitement contextuel ainsique les mêmes règles d’extensibilité. Rappelons que les lettres , [+], [/], n ne s’al-longent jamais, puisque qu’elles ne cèdent jamais la main aux lettres qui les suivent.

Dans le tableau 4.2, on donne le degré d’extensibilité, en point métrique, de chaquelettre suivant son contexte. Par exemple : L’élongation de la lettre Beh est autorisée,si elle est suivie de Dal, interdite, si elle se trouve avant le Seen. . .. Dans certains cas,plusieurs possibilités de traitement se présentent. On se restreint aux possibilités lesplus répandues et les plus simples.

Notons que :– la valeur ı d’une case, représente l’intervalle [ı,12] de points métriques ;– la case vide représente l’interdiction d’allongement ;– le signe plus (+) signifie une élongation permise et recommandée ;– le signe moins (−) signifie une élongation permise mais non recommandée.

59

Page 73: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Proposition de modélisation Justification du texte arabe

Table. 4.2 – Tableau des extensibilités permises suivant le contexte

précède

isolée [ا] [ب] [ج] [د] [ر] [س] [ص] [ط] [ع] [ف] [ق] [ك] [ل] [م] [ن] [ه] [و]

[ب] 5 1 -1 -1 -1+1

-1 1 1 1

[ج] -1 -1 -1 -1 +1 -1 -1 -1 -1 -1 -1 -1

[ط] [ص][س] 3 1 2 -1 -1 1 2 2 1 -1 -1 -1 2 2 -1 2 -1 -1

[ع] -1 -1 -1 -1 +1 -1 -1 -1 -1 -1

1 [ق] [ف] 1 -1 -1 -1 +1 -1 -1 -1 -1

[ك] 3 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1

[ل] 3 -1 -1 -1 -1 -1 -1

[م] -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1

[ه] 1 -1 -1 -1 -1

60

Page 74: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Cha

pitr

e

5Système de composition de texte

En abordant le sujet de la typographie numérique arabe, on s’est souvent re-trouvé entre deux mondes ! D’une part, le monde fascinant de la calligraphie,pour en extraire les formalismes. D’autre part, le monde des ordinateurs, pour

voir comment les programmes informatiques codaient, stockaient, traitaient et affi-chaient les textes. Si jusqu’ici nous avons essayé dans la mesure du possible d’éviterde parler des procédés trop techniques, nous ne pouvons pas assez longtemps cacher ladeuxième facette de la problématique. Dans ce chapitre, nous arrivons à une phase assezimportante de ce mémoire, où nous ne pouvons qu’entrer de plein pied dans les cou-lisses des systèmes de la publication assistée par ordinateur. Nous présentons au début,l’architecture des moteurs de rendu textuel et leur fonctionnement. Cette présentation,si elle était faite d’une manière un peu simplifiée et idéalisée, elle nous a été primordialepour assembler les pièces de puzzle afin de comprendre le comportement de certainssystèmes de composition de texte envers l’écriture arabe. En particulier, on s’intéresseaux solutions proposées par les formats OpenType, AAT et Graphite et les moteursqui leur font appel pour remédier aux problèmes liés à la justification de texte. En sedemandant à quel point ces formats peuvent rivaliser les besoins d’un paragraphage per-fectionné, on s’est amené tout naturellement à des discussions et des réflexions sur cesmodèles. Ce passage nous a été nécessaire pour se retrouver en face de notre modèle quisera présenté dans le chapitre qui suit.

61

Page 75: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Moteur de rendu textuel Système de composition de texte

Figure. 5.1 – Architecture d’un moteur de rendu textuel

5.1 Moteur de rendu textuel

La composition d’un texte est une tâche partagée entre l’outil de composition, des mo-dules spécifiques du système d’exploitation, qui permettent à l’outil de composition degérer les fontes, ces dernières fournissent les glyphes et les règles de leurs compositions.

Ces trois parties constituent les pièces de ce que nous appellerons moteur de rendu tex-tuel (voir figure 5.1). En général, le module du système d’exploitation gère les opérationslinguistiques. Ces opérations sont en général externes aux fontes car elles représententdes propriétés fondamentales des langues et des écritures :– découpage du texte en segments de même style ;– réarrangement de caractères ;– application des règles de césure ;– paragraphage ;– ...Ces règles sont implantées dans des modules du système d’exploitation :– Uniscribe pour Windows ;– AAT pour Macintosh ;– Graphite ;– Pango pour Linux ;– ...Un système de composition moderne doit être capable de manipuler les formats defontes dites intelligentes tel que OpenType. Cette dénomination vient vraisemblable-ment du fait que ces formats sont capables de gérer non pas uniquement les glyphes etleurs métriques mais également des opérations typographiques :– interactions entre glyphes et leurs substitutions contextuelles ;– positionnements automatiques ;– le cas échéant, certaines opérations linguistiques fondamentales (qui, sinon, sont gé-

rées par le système d’exploitation).Les caractères d’un texte en Unicode sont stockés en mémoire dans l’ordre logique, quicorrespond à l’ordre dans lequel celui-ci est saisi au clavier. L’ordre suit globalement

62

Page 76: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Unicode Système de composition de texte

l’ordre phonétique1. Une des premières tâches d’un moteur de rendu est de découper letexte stocké en segments, on parle parfois de passages, de même style, de même fonte,de même système d’écriture, et de même direction. Après avoir découper le texte enmémoire, le moteur de rendu réordonne habituellement les passages pour les faire passerde l’ordre logique à l’ordre visuel et ainsi faciliter le passage à l’affichage des glyphes.Cette remise en ordre implique alors l’application de l’algorithme de bidirectionnalité.

Le modèle de représentation de texte numérique adopté aujourd’hui par la plupart dessystèmes de la PAO est le modèle caractère – glyphe piloté par le standard Unicode. Lemoteur de rendu consiste à passer de l’espace de caractères qu’est Unicode à la représen-tation de ces caractères en termes de glyphes, les composantes de fontes.

5.2 Unicode

Les jeux de caractères utilisés avant l’avènement d’Unicode possédaient des architec-tures très différentes les unes des autres. Pour plusieurs, la simple détection des octetsreprésentant un caractère était un processus contextuel complexe. Les jeux de caractèresclassiques ne pouvaient au mieux prendre en charge que quelques langues. La prise encharge de plusieurs langues à la fois était difficile, voire impossible.

Le standard Unicode est un mécanisme universel de codage de caractères. Il définitune manière cohérente de coder des textes multilingues et facilite l’échange de donnéestextuelles. Il est devenu la base de tout système qui veut fonctionner à tous les coinsdu monde. Pour se faire, Unicode est défini suivant un modèle en couches [84]. Lesautres normes ne faisaient pas de distinction entre, par exemple, le jeu de caractères etla représentation physique. On va présenter les couches, en partant de la plus haute,celle la plus éloignée de la machine.

1. Répertoire abstrait de caractères ou jeu de caractères abstrait : c’est une tabledonnant des descriptions de caractères sans leur donner des positions ou de ma-nière de stockage en mémoire. Dans la mesure du possible, chaque caractère aune description bien précise, par exemple, « , Arabic letter noon ». Les glyphesdans ces définitions sont uniquement à titre d’illustration. Cette table est le cœurd’Unicode, parce qu’elle définit ce qu’est un caractère. La réponse à une telle ques-tion est cruciale mais parfois ambiguë et sujet de sérieuses polémiques [73][42].Des signes typographiques qui ont été définis comme des caractères ne le sontpas vraiment. Par exemple, la kashida arabe a été définie comme caractère. Ce-pendant, elle ne faisait pas partie de l’alphabet arabe, cela est souvent source deconfusion pour les systèmes de traitement de la langue arabe. Si le Consortium

1Les seules exceptions sont les écritures thaï et lao qui utilisent l’ordre visuel plutôt que l’ordre pho-nétique.

63

Page 77: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Unicode Système de composition de texte

Unicode reconnaît certaines de ce genre d’erreurs [16], il respecte toujours le prin-cipe de «une fois codé, éternel », pour garder la stabilité. Sous prétexte que pourune norme, l’existence d’une erreur reconnue, annotée mais stable, est de loinpréférable à un nombre aléatoire de corrections. Pour le cas de la kashida, les sys-tèmes de traitement de textes doivent prendre en charge le remède au problème.Par exemple, le moteur de recherche Google semble éliminer ce « caractère » dansun mot d’une requête.

2. Jeu de caractères codés : c’est une table où on ajoute à celle de la couche 1 unindex numérique pour chaque caractère. Cet index est unique quels que soientla plate-forme, le logiciel et la langue utilisés. Mais, c’est juste un nombre, on nese pose pas encore la problématique de la représentation en mémoire. En Uni-code, cet index numérique se nomme le point de code. Il est noté U+xxxx oùxxxx est la valeur de l’index en hexadécimal. Par exemple, ( , Arabic letter noon,U+0646). L’espace de codes en Unicode est divisé en 17 plans, chacun avec 65536points de code, seuls quelques plans sont utilisés actuellement. Les caractères del’écriture arabe sont disposés entre les points de code U+0600 et U+06FF dans leplan 0, appelé le plan multilingue de base BMP2, ou encore dans l’intervalle sup-plément U+0750 – U+077F pour écrire les langues de l’Afrique de l’ouest commele haoussa. Deux autres intervalles ont été attribués à l’écriture arabe : formes A etB de présentation arabe. Ils contiennent un nombre de caractères (non-Unicode).Des ligatures et des formes contextuelles sont glissées dans Unicode sans que leurinclusion soit vraiment conforme à sa logique de base. Les implantations arabescorrectes doivent utiliser les caractères arabes de base et étendus et déléguer la for-mation des ligatures et le choix des variantes aux fontes et aux moteurs de rendu,comme il se doit. Le moteur de paragraphage aurait à participer dans ce spectaclede sélection de glyphes pour améliorer la justification de texte comme nous leproposons (voir section 6.5).

3. Forme codée en mémoire ou encodage : nous arrivons à la couche spécifiantla représentation en mémoire des points de code des caractères. Normalement,on aurait besoin de 21 bits pour coder les 216 × 17 caractères Unicode. Mais,les systèmes d’exploitation accèdent en général aux unités de stockage : octets,mots de 16 ou de 32 bits. Une forme naturelle pour représenter les 21 bits auraitpu être de longueur 32 bits. Une des particularités d’Unicode est qu’il proposeplusieurs encodages Character Encoding Form possibles, un encodage à longueurfixe comme UTF-32 ou à longueur variable comme UTF-16 ou UTF-8. Du fait dece modèle en couches successives, des phrases comme « Unicode est un jeu decaractères sur 16 bits » ne sont pas seulement fausses, elles sont absurdes.

2Les 65536 premiers caractères d’Unicode sont nommés BMP Basic Multilingual Plane, et comportentpresque toutes les écritures couramment utilisées, seuls les idéogrammes chinois manquant largement.

64

Page 78: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Unicode Système de composition de texte

4. Mécanisme de sérialisation des caractères : cette couche s’occupe de sérialiserles unités de stockage définies par la couche du dessus.

5. Surcodage de transfert : ici, où interviennent optionnellement les mécanismesde compression ou de chiffrement, ou de conversion pour adapter les données àcertains contextes de transmission.

5.2.1 Modèle caractère/glyphe

Pour Unicode, un caractère est la description de la plus petite composante d’une écri-ture ayant une sémantique ; linguistique ou logique, à laquelle est associé un index nu-mérique. Son stockage sur un support se fait suivant un encodage précis, et par consé-quent, il occupe un nombre d’unités de stockage. Lors d’un échange entre systèmes, desmécanismes assurent son immigration. Alors qu’un glyphe, est la forme que peut avoirun caractère quand il est rendu ou affiché [8]. Nous l’avons bien compris, en principe,Unicode ne code que des caractères et jamais des glyphes. En raison de la grande variétéde formes pour un même caractère. Les concepteurs de fontes en inventent régulière-ment des nouvelles. Mais ce n’est pas la seule raison, lorsque Unicode s’est confrontéaux écritures orientales, il s’est demandé naturellement, ce qu’il faut coder et ce qu’il nele faut pas. En écriture arabe, le passage du texte abstrait en 29 lettres à sa représentationvisuelle est une véritable manifestation de sélection de glyphes. Unicode n’y participepas. En revanche, il veillera sur toute une série de traitements qui vont de la correctiongrammaticale et de la traduction automatique à l’indexation en passant par la rechercheet le remplacement de texte, le copier-coller, l’exportation de texte, et il s’assurera queces opérations fonctionneront quelle que soit l’apparence finale de la chaîne de carac-tères à traiter. Cependant, Unicode va honorer le système de composition ; fonte etmoteur de composition, du privilège de chef d’orchestre de sélection de glyphes et il nefait coder que les caractères de base sans se soucier de leur apparence.

Nous décrivons par la suite le fonctionnement d’un moteur de rendu. Alors que dansle chapitre qui suit, nous proposons d’enrichir son architecture pour servir des fins dejustification de texte.

5.2.2 TEX

Pour TEX, un caractère est représenté par un nœud de caractère char_node. Ce nœud estune structure de données d’une longueur d’exactement 32 bits, 16 bits pour le champlink pour ligoter la liste chaînée de caractères, 8 bits pour le champ type et 8 bits pour lechamp subtype. Ce type de nœuds est stocké dans une partie réservée de la mémoire eton utilise leurs type et sous-type pour font : le numéro de fonte, et character : la positiondu glyphe dans la table de fonte.

65

Page 79: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Unicode Système de composition de texte

TEX n’implante pas un modèle caractère/glyphe développé comme celui d’Unicode. Leflot d’entée, pour TEX, est une séquence de codes 8-bits, interprétés comme des tokensde caractères ou d’autres séquences de contrôle. Ces mêmes codes de 8 bits sont utiliséscomme des codes d’accès pour les glyphes dans des fontes. Il est possible de rediriger cescodes par une macro programmée en TEX, ou par une utilisation des ligatures intelli-gentes (smart ligatures) dans un fichier de métriques (.tfm). Ce modèle rudimentaire3 estexploité par certaines extensions pour produire une partie de la contextualité d’un textearabe [48][56]. Le mécanisme ΩTP de Y. Haralambous est suffisamment ingénieux pourremédier à certaines limitations des ligatures intelligentes de D. Knuth [50]. C’est aussiune machine babélienne parfaite. Les utilisateurs parlants différentes langues peuventexprimer leur choix de composition de ligatures.

Pour une extension de TEX prétendant supporter les écritures orientales, doit suppri-mer les anciennes limitations de TEX concernant les fontes, pour accepter des caractèresUnicode quelconques. Le fait d’étendre le champ character à 16 bits dans la structurede données char_node ne garantira que le traitement des écritures situées dans le BMP

d’Unicode.

5.2.3 Textème

Avant sa visualisation, tout document électronique doit subir une étape de composition,où les données textuelles brutes deviennent document formaté. Dans la technologieactuelle, le texte brut est représenté par des caractères suivant un modèle véhiculé parle standard Unicode. Après formatage, le texte devient des glyphes, mis à l’échelle,coloriés, positionnés, etc.

Au lieu de cette double représentation, Y. Haralambous propose de réunir le caractèreet son glyphe dans une seule unité textuelle, appelée textème [46]. Un textème est unensemble de propriétés sémantiques, structurelles et typographiques. Deux propriétéssont d’une importance particulière : le code du caractère et l’indice du glyphe.

Dans ce modèle, le caractère n’est plus l’unité atomique du texte mais le textème. Leformatage du texte devient un processus d’enrichissement des textèmes par des proprié-tés, telles que couleur, positionnement du glyphe, variantes allographiques, point decésure, etc. La moindre information sur le texte est conservée pour en assurer la bonneexploitation.

En plus de son rôle théorique, cette approche peut apporter des solutions à divers pro-blèmes des pratiques de la création de documents numériques de haute qualité.

3Les ligatures intelligentes de TEX ne peuvent pas revenir deux positions en arrière.

66

Page 80: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Unicode Système de composition de texte

5.2.4 Comportement bidirectionnel

Le standard Unicode définit un ordre que les caractères doivent respecter en mémoire,appelé « ordre logique ». Quand le texte se présente en lignes horizontales, la plupart desécritures affichent les caractères de gauche-à-droite. Cependant, pour plusieurs écritures,comme l’arabe et l’hébreu, les textes s’écrivent horizontalement de droite-à-gauche. Sil’ensemble du texte possède la même direction horizontale, l’ordre d’affichage du texteest sans ambiguïté. Par contre, en présence de texte bidirectionnel où il y a un mélangede texte allant de gauche-à-droite et de droite-à-gauche. La détermination de l’ordred’affichage des caractères devient une tâche ambiguë.

Unicode classe les caractères suivant leur direction. Comme certains caractères sont sou-vent utilisés dans des contextes différents qui influent sur leur directionnalité, Unicodeles classe en trois catégories : fort, faible et neutre. Les types forts sont ceux qui ontune direction unique invariable. L’alphabet latin est un type fort de direction gauche-à-droite, l’alphabet arabe est un type fort de direction droite-à-gauche. Les chiffres arabes,par contre, sont un type faible puisque leur comportement est moins clair.

Unicode se base sur la supposition que les nombres sont notés de la plus grande unité àla plus petite, et que la différence de comportement des chiffres se réduit à une questiond’affichage. Les alphabets, eux, sont formels sur leur manière d’être affichés, gauche-à-droite ou droite-à-gauche. Cependant, les nombres peuvent défier la direction ducontexte, venant du système d’écriture ambiant, et ils sont toujours affichés de gauche-à-droite. Il ne venait pas à l’idée du consortium Unicode qu’en arabe et en hébreu lesnombres sont tout simplement notés en commençant par les petites unités et qu’alorsla direction d’affichage ambiant est parfaitement respectée. Peut-être qu’il faut accepterdifférents modèles de représentation des nombres.

À part les types forts et faibles, les espaces et les signes de ponctuation n’ont pas deformes de direction dans Unicode car ils peuvent être utilisés avec n’importe quelle écri-ture. Quand l’algorithme bidirectionnel de l’Unicode, dit algorithme bidi, rencontredes caractères à propriété directionnelle neutre, comme les espaces et la ponctuation,il détermine la suite des choses en fonction des caractères voisins. Un caractère neutresitué entre deux caractères à forte direction droite-à-gauche sera traité comme un ca-ractère droite-à-gauche, ce qui prolonge le passage directionnel. Les choses se corsentquand une espace ou un signe de ponctuation se trouve entre deux caractères de typefort différents. Le caractère neutre prend alors la direction globale du paragraphe ou ducontexte. Si plusieurs caractères neutres se trouvent entre les deux caractères de typesforts différents, on associe à tous la même direction résultante. Ceci crée donc une fron-tière entre des passages directionnels. Dans la majorité des cas, l’algorithme bidi traiteraparfaitement les textes sans recours à du balisage ou à tout autre mécanisme, une foisqu’on aura précisé la direction globale du document. Mais, toutefois, il est probable

67

Page 81: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Espace fonte Système de composition de texte

que l’algorithme bidi a besoin d’un petit coup de pouce pour régler certains problèmescomme celui des neutres mal placés.

La direction de texte est une propriété du caractère Unicode. Le Standard Unicodedéfinit aussi un algorithme d’affichage bidirectionnel. L’affichage contextuel est une ca-ractéristique du programme client. Finalement, la lecture d’un document bidirection-nel, nécessite la connaissance préalable des propriétés linguistiques et directionnelles dudocument. Dans l’écriture mathématique, comme celle utilisée au Maroc, on trouve unmélange étrange de deux écritures se déroulant dans des sens opposés. Un grand nombred’embarras didactiques proviennent de cette situation linguistique.

La reconnaissance automatique de l’écriture manuscrite fait appel à la reconnaissancede forme, mais également au traitement automatique du langage naturel. Cela veut direque le système, tout comme le cerveau humain, reconnaît des mots et des phrases, éven-tuellement des expressions mathématiques [82], existant dans un langage connu plutôtqu’une succession de caractères. Dans un document scientifique arabe, dans certainscontextes, même cette succession est ambiguë. S. Watt et E. Smirnova abordent la ques-tion de la reconnaissance automatique des expressions mathématiques manuscrites enécriture arabe. Ils présentaient comment certaines stratégies existantes pour l’analyseen-ligne des mathématiques manuscrites latines peuvent être adaptées à ce besoin [83].

5.3 Espace fonte

Les fontes intelligentes sont, en général, structurées en tables. Chaque table a une fonc-tion différente. Cette structure facilite son extension et son enrichissement éventuelspar d’autres tables assurant d’autres fonctionnalités typographiques avancées.

5.3.1 OpenType

Une partie de ce chapitre est consacrée à une discussion des méthodes proposées parle format OpenType [6] pour remédier aux problèmes de composition trop dense outrop avachie. Les stratégies du format AAT et celles du format Graphite sont égalementévoquées.

Dans un processus de traitement de texte arabe, OpenType peut accomplir les fonctionssuivantes :– remplacer un glyphe simple par un autre, ceci est employé, par exemple, pour rendre

les variantes de position des caractères ;– remplacer un glyphe par plusieurs glyphes, ceci est employé pour décomposer les

ligatures ;– substituer contextuellement des glyphes ;– positionner des paires de glyphes ;

68

Page 82: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Espace fonte Système de composition de texte

JUSTIFICATION DE TEXTE MOTEUR DE RENDU SOLUTIONS PROPOSÉES LE MONDE TEX

Sélection de glyphes

Espace caractèresUnicode

Espace glyphesFonte

cmap

GSUB/morx

002D

2011

062D

0066

#h

f

ifi

Figure. 5.2 – Passage du monde des caractères au monde des glyphes

– positionner des signes diacritiques.Cela si l’on veut être minimaliste, mais nous avons vu que l’écriture arabe va beaucoupplus loin. Heureusement qu’OpenType en a été très conscient. Il nous a fourni desfonctionnalités qu’on peut qualifier de fonctionnalités super-OpenType. Dans ce cadreintervient la table JSTF, pour assister le moteur de paragraphage à optimiser le gristypographique lors d’une tentative de justification.

5.3.2 Table cmap

Cette table obligatoire permet de passer de l’espace des caractères à l’espace des glyphes.Un caractère peut correspondre à plusieurs glyphes. Notons aussi qu’à un même glyphepeut correspondre plusieurs caractères. C’est typiquement le cas de ces trois caractères :

U+002D Trait d’union-signe moinsU+00AD Trait d’union virtuelU+2011 Trait d’union insécable

Ces caractères ont, en règle générale, le même œil dans l’écriture latine et se référerontdonc habituellement au même glyphe dans une fonte.

Une fonte se conforme à Unicode si sa table cmap transpose tous ou une partie des ca-ractères Unicode vers des glyphes définis dans cette fonte. Il faut remarquer que tous lesglyphes d’une fonte ne sont pas habituellement directement associés à un caractère Uni-code. En effet, les variantes d’œil, les ligatures et les glyphes composés dynamiquementn’ont pas, d’ordinaire, d’entrée dans la table cmap. Ces glyphes sont accessibles par lamise en œuvre de transpositions définies dans d’autres tables définies dans les fontes,par exemple GSUB pour OpenType et morx pour AAT (voir figure 5.2).

69

Page 83: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Espace fonte Système de composition de texte

5.3.3 Table GSUB

La table de substitution de glyphes, GSUB, contient des informations portées sur la sub-stitution contextuelle de glyphes et les ligatures. Cela donne la possibilité de gérer dessystèmes d’écriture complexes comme l’arabe et l’hébreu. En effet, dans un processusde composition de texte arabe, chaque lettre peut être écrite de plusieurs manières dif-férentes suivant sa position dans le mot: initiale, médiane, finale, isolée.

La table GSUB décrit six types de substitutions, qui sont largement répandues dans latypographie internationale :– substitution simple : remplace un glyphe simple par un autre. Ceci est employé, par

exemple, pour rendre les variantes de position des caractères dans un texte arabe ;– substitution multiple : remplace un glyphe par plusieurs glyphes, ceci est employé

pour décomposer les ligatures (ex. œ→ oe);– ligature: remplace une suite de glyphes par un seul. Ceci est employé pour rendre les

ligatures linguistiques. Par exemple, la paire Lam-Alef ne se produit pas, en général,par une simple concaténation du Lam initiale et Alef finale (ex. + → ) ;

– substitution contextuelle ;– substitution enchaînée ;– substitution alternée : suggère d’autres variantes de glyphes pour des fins de justifica-

tion.

5.3.4 Table GPOS

La table de positionnement de glyphes, GPOS, contient les informations de position-nement horizontal et vertical de glyphes par rapport à d’autres. Cela permet de pla-cer les signes diacritiques par rapport à des glyphes de base. Il permet aussi de gérerdes systèmes d’écriture qui requièrent à la fois un positionnement et une substitutioncontextuels, comme le persane.

La table de GPOS soutient huit types d’actions pour placer et attacher des glyphes:

– ajustement simple : place les indices supérieurs et inférieurs ;– ajustement de paire : place deux glyphes l’un par rapport à l’autre ;– positionnement d’un signe diacritique par rapport à un glyphe de base ;– positionnement d’un signe diacritique par rapport à une ligature ;– positionnement d’un signe diacritique par rapport à un autre ;– attachement cursif : gère des écritures, comme le persane, où les glyphes sont attachés

le long d’une ligne descendante ;– positionnement contextuel : permet de positionner un ou plusieurs glyphes suivant

un contexte ;– substitution contextuelle enchaîné : place un glyphe suivant un contexte enchaîné.

70

Page 84: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Uniscribe Système de composition de texte

Figure. 5.3 – Structure arborescente des tables GSUB et GPOS

5.3.5 Hiérarchie d’accès

On appelle « règle » une substitution définie dans la table GSUB ou un positionnementdéfini dans la table GPOS. Le moteur de rendu filtre les substitutions et les positionne-ments définis dans une fonte pour n’appliquer que ceux qui correspondent à l’écritureet à la langue utilisées (voir figure 5.3). Même les fonctionnalités qui ne sont pas parnature liées à une écriture ou à une langue sont structurées selon la hiérarchie suivante :

Écriture → Langue → Fonctionnalité → RègleScript Language Feature Lookup

5.4 Uniscribe

Uniscribe est le moteur de rendu qui interprète les fontes et équipe toutes les ver-sions récentes du système d’exploitation Windows, depuis la version Windows 2000.Il s’agit d’un moteur de rendu conçu pour prendre en charge les fonctionnalités desfontes OpenType sur Windows. La sortie d’Uniscribe s’est accompagnée de la sortiede nouvelles versions d’Internet Explorer, à partir de sa version 5, et d’applications fai-sant partie de Microsoft Office conçues pour tirer profit des fonctionnalités offertes parUniscribe.

Uniscribe est en réalité un ensemble de DLL, dont chacune est appelée moteur de fa-çonnage, est chargée d’une écriture. Chaque moteur de façonnage applique un sous-ensemble de fonctionnalités OpenType dans un ordre lié à l’écriture qu’il prend encharge (voir figure 5.4).

71

Page 85: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Table JSTF Système de composition de texte

Façonnagearabe

Façonnagelatin

cmaphmtxglyphGSUBGPOS…

Diviseren segments

Afficher

FonteOpenType

Application

Uniscribe

Figure. 5.4 – Fonctionnement d’Uniscribe

5.5 Table JSTF

Pour résoudre les problèmes des compositions trop denses ou trop dispersées, la tableJSTF propose trois types de fonctionnalités : l’utilisation des allongements, l’activationou la désactivation des lookup-s4 GSUB et GPOS et l’utilisation des lookup-s spécifiques.Ces constructions alternatives fournirent, aux concepteurs de fontes, certaines solutionspour remédier à l’excès ou au manque d’espace inter-mots, et cela selon un ordre depriorités.

Pour chaque niveau de priorité, on a des tables de justification, qui contiennent dixsous-tables, dont cinq pour la contraction et cinq pour l’extension. Ces cinq tablessont : deux tables d’activation-désactivation de lookup-s de substitution GSUB, deuxtables d’activation-désactivation de lookup-s de positionnement, une table similaire àGPOS mais spécifique à la justification.

La première technique déployée par JSTF est l’allongement de certaines lettres, pourcertaines écritures. JSTF peut fournir un ensemble de glyphes comme glyphes d’allon-gements (extender glyphs). Pour l’écriture arabe, il s’agit de traits de liaison de langueursdifférentes, que le système de composition se chargera de disperser sur la ligne. Parexemple, cette fonctionnalité définit, dans la fonte Times New Roman, cinq glyphesprésentant cinq degrés d’extensibilité rectiligne de la kashida. Cette technique ne figurepas dans l’ordre des priorités de la table.

Nous avons déjà fait la remarque sur l’aspect rectiligne des allongements. Un autrereproche peut être adressé aux développeurs de systèmes de composition, c’est que la

4Nous avons utilisé le mot lookup. D’autres auteurs l’ont traduit par « règle ».

72

Page 86: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Table JSTF Système de composition de texte

dispersion de ces allongements se fait d’une manière assez aléatoire, et il ne fait suivreaucune règle – ou presque.

La deuxième technique, probablement inspirée de certaines pratiques de Gutenberg, quipar ailleurs s’était doté d’une série de variantes de glyphes, toutes issues de la traditionde l’écriture manuelle, pour réaliser la justification. Il s’agissait :– de modifications dans le dessin de glyphes isolés ;– d’utilisation de ligatures, c’est-à-dire de logotypes qui sont des groupes de lettres fon-

dues ensemble ;– d’utilisation d’abréviations, courantes mais disponibles sous différentes formes qui

étaient utilisées selon la place disponible.Les concepteurs de fonte qualifiés peuvent devenir de nouveaux Gutenberg, en utilisantdes fonctionnalités de JSTF pour activer ou désactiver certaines lookup-s de GSUB ouencore de GPOS.

Le principe de fonctionnement de cette stratégie est de définir des niveaux de prioritésoù chaque niveau contient un certain nombre de lookup-s. Le logiciel de compositionapplique successivement le groupe des lookup-s chaque fois qu’il constate un excès ou unmanque d’espace inter-mots et cela selon l’ordre de priorité défini.

Le logiciel met d’abord en œuvres les lookup-s de GPOS et GSUB. Puis essaye de corrigerla justification en commençant par la mise en œuvre des lookup-s du premier niveauspécifiés dans la table JSTF qui activent/désactivent des substitutions ou des positionne-ments. Si la langueur de la ligne n’a toujours pas la longueur voulue, le logiciel traite lessuggestions du deuxième niveau. Ceci continue jusqu’à ce que la longueur de la lignerépond aux exigences de la justification.

Les suggestions de JSTF de chaque niveau s’appliquent toujours à une version non mo-difiée de la liste de glyphes, c’est-à-dire, la liste de glyphes donnés par les substitutionset les positionnements de GSUB et GPOS.

Notons que cette technique pourrait bien être utile pour remonter dans des niveauxd’utilisation de ligatures. En général, pour l’écriture arabe, un niveau supérieur d’uti-lisation de ligatures offre une contraction du mot. La technique même peut servir àremplacer des glyphes par ces variantes allographiques qui peuvent être plus larges ouplus étroites. Mais, toutes ces propositions de la part de la fonte doivent être tenuesavec une grande précaution. De telles actions ne peuvent pas être efficaces que si ellesse déclenchent à base de la connaissance préalable de la valeur d’espace - excédant oumanquant - à corriger sur la ligne. Une telle évaluation quantitative n’est pas évoquéedans la table JSTF. Ce qui fait de ces démarches spectaculaires de simples tentatives quipeuvent aboutir ou pas. Prenons l’exemple d’une ligne courte avec un excès d’espace devaleur m, si une désactivation d’une ligature fait remplir un espace plus que la valeur2m, c’est qu’on aboutit finalement à une ligne longue avec un manque d’espace plus

73

Page 87: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Optimisation avec AAT Système de composition de texte

que m. En passant à un niveau supérieur de priorité, rien ne garanti qu’il donnera desrésultats meilleurs que son antécédent.

La troisième technique de JSTF est moins prodigieuse que la deuxième mais plus ras-surante. elle ne s’agit pas d’agir sur des substitutions contextuelles mais de définir deslookup-s en tout point similaire à celles de GPOS. Cette technique se diffère de la fonc-tionnalité qui active/désactive les lookup-s de GPOS par sa souplesse. Les valeurs spéci-fiées pour les crénages verticaux ou horizontaux dans les lookup-s GPOS sont exactes. Siun lookup activé de GPOS demande un déplacement de 40 unités, et si on active ce lookuple système de composition fournit exactement un déplacement de 40 unités. C’est-à-direque ces déplacements sont trop rigides dans le sens d’adaptation d’une chaîne de glyphesconstituant une ligne à une largeur plus étroite. Par contre, dans le cas d’un lookuppropre à JSTF la valeur JstfMax définie un intervalle de valeurs. Le système de compo-sition est autorisé à utiliser une valeur de déplacement inférieure ou égale à la valeurspécifiée. Ce qui peut garantir une justification plus fine. L’une des définitions de cettefonctionnalité se trouve dans la fonte Platino Linotype : Une définition souple du ca-ractère espace. On retire de la table cmap la valeur du glyphe associé à ce caractère dansla fonte, et on retire de la table hmtx (horizontal metrics) qu’il s’agit donc d’une espacedont la chasse normale est de 512 unités. Un lookup défini dans la table JSTF consiste àétendre une espace de 550 unités ou de la compresser de 350 unités, c’est-à-dire que leblanc peut prendre des valeurs entre 512−350 et 512+550 unités.

L’écriture arabe est cursive, ceci dit que les lettres sont liées les unes avec les autres.Les glyphes ne peuvent pas se rapprocher ou s’éloigner qu’en utilisant des étirements etnon pas des déplacements. Seules les lettres qui ne s’attachent pas à celles qui les suiventpeuvent participer au mécanisme de la troisième technique de JSTF.

C’est un geste assez généreux de la part d’OpenType de fournir aux concepteurs defontes une telle technologie. Mais, c’est aussi un risque de mettre entre les mains deconcepteurs un outil sans leur fournir le code typographique associé. Gutenberg a uti-lisé des ligatures et des variantes d’une manière assez aléatoire pour des fins de jus-tification. Pour certaines écritures, comme l’arabe, ces manipulations sont régies pardes règles qui peuvent être parfois assez strictes. Dans ce cas là, la fonte pourrait êtreassistante mais non pas le maître qui décide. Rappelons qu’en typographie latine la ma-nipulation de césure - aide essentielle à la justification - est traitée comme une opérationlinguistique. Par conséquent, elle est confiée aux systèmes de composition et non pas àla fonte.

5.6 Optimisation avec AAT

L’Apple Advanced Typography (AAT) est une extension de TrueType qui couvre lemême champ que OpenType. AAT se serve d’automates finis pour effectuer des substi-

74

Page 88: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Optimisation avec AAT Système de composition de texte

tutions, des déplacements ou de la justification de lignes. Si on se permet de faire uneanalogie avec OpenType, la table morx est la table la plus proche des tables GSUB etGPOS et la table just est la plus proche de JSTF. AAT propose donc la table just [4]pour assister les moteurs typographiques pour gérer l’optimisation de la justificationd’un texte, ou plus précisément pour gérer l’optimisation de la justification des lignes,puisque une égalisation par paragraphe n’est pas prévue, comme c’est le cas de la tableJSTF d’OpenType.

La table just contient deux sous-tables, une pour la gestion de la justification desécritures qui s’écrivent horizontalement et l’autre pour la gestion des écritures quis’écrivent verticalement.

5.6.1 Table just

Une classe de justification est un ensemble de glyphes qui se comportent plus ou moinsde la même manière envers le processus de justification. Le problème qui se posera estque pour une écriture ou une langue donnée, une classe de justification ne peut pas êtrefixe. Un même glyphe peut se comporter différemment selon le contexte général oudans le cas le plus simple selon les lettres environnantes. Pour un texte arabe, l’utilisa-tion de la kashida pour allonger un caractère peut bien être recommandée comme ilpeut bien être interdite suivant le contexte.

AAT a été bien conscient de ce changement de comportement, pas pour les allongementsdes lettres arabes précisément, mais du fait que les classes de justification ne peuvent pasêtre en aucun cas de simples tables de correspondances fixes. La solution adoptée parAAT est d’utiliser un automate fini pour attribuer à un glyphe dans une chaîne la classequi lui est appropriée.

La fonte fournit ensuite au processus de justification, des informations métriques concer-nant chaque classe en précisant la valeur d’élargissement ou d’étroitement d’un glyphesuivant son appartenance à une classe.

À la troisième étape la fonte expliquera comment un glyphe peut remplir l’espace sup-plémentaire que lui a été donné à la deuxième étape ou encore comment un glyphe peutêtre rétréci pour s’adapter à l’espace restreint que lui a été attribué. AAT implante sixtypes de comportements possibles pour satisfaire le besoin des classes de glyphes pourl’étirement et le rétrécissement.– type 0 : décomposer les ligatures en leur glyphes de base ;– type 1 : insérer un glyphe, par exemple, l’insertion de kashida pour l’écriture arabe ;– type 2 : insérer un glyphe, comme c’est le cas de type 1, mais si cette insertion pro-

voque un dépassement d’une certaine valeur on insère un glyphe alternative à la placedu glyphe de base souvent plus large ;

– type 3 : étirer un glyphe pour s’adapter à un espace voulu ;

75

Page 89: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Graphite Système de composition de texte

– type 4 : étirer intelligemment un glyphe, en faisant un peu mieux que le type 3 ;– type 5 : insérer un glyphe plusieurs fois.

5.6.2 Glyphe ductile

L’une des approches de AAT (type 4) consiste à utiliser des glyphes ductiles5. OpenTypesuggère des lookup-s de manipulations de substitutions de glyphes pré-confectionnés ettous rigides. Alors que, AAT a opté pour une manipulation d’étirement de glyphes entemps réel. L’étirement d’un glyphe est régi par un axe ad hoc de variations (variationAxis). Malheureusement, le AAT est une technologie propre à MacOS X.

5.7 Graphite

En 2007, Graphite [54] a enfin offert un support pour la justification digne de ce nom.Là encore, il s’agit d’une simple justification ligne par ligne. L’approche de Graphiteoffre de nombreux mécanismes pour adapter une ligne de texte à la largeur vouluepar l’application de composition. Graphite autorise des mécanismes allant de simplesinsertions de crénages à des allongements par kashida-s, ou encore des manipulationsplus complexes telles que des modifications de la chaîne de glyphes composant le texte,soient des changements de glyphes par d’autres variantes plus larges ou plus étroites ouencore des désactivations/activations de ligatures. La stratégie de Graphite se résumeainsi :

Étape 1 :

– Les glyphes de la fonte Graphite sont initialisés par des attributs, y compris ceux liés àla justification. Les attributs justify.stretch/justify.shrink indiquent les valeurs maxi-males auxquelles un glyphe peut être étiré/contracté. L’attribut justify.step indiquecombien de fois on peut procéder à une insertion multiple de kashida pour allongerplus un glyphe. L’attribut justify.weight exprime la priorité qu’on donne à un glyphepour remplir le blanc sur la ligne. Ces attributs ne sont que potentiels, et ce n’est qu’àl’étape 2 que seront déterminées les valeurs exactes.

– Les tables de justification, positionnement, substitution ou insertion suggèrent com-ment des glyphes peuvent contribuer à la gestion du blanc.

Étape 2 :

1. Les routines de justification déterminent les glyphes candidats à ajuster le blanc,ces routines doivent être implantées par l’application.

2. Les routines déterminent les paramètres exacts et la façon dont chaque glyphe5Le terme ductile est utilisé en métallurgie, il signifie un métal qu’on peut manipuler facilement.

76

Page 90: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Certaines réflexions Système de composition de texte

sélectionné doit contribuer, Suivant les informations fournies dans les tables dejustification.

Graphite anticipe dans sa version 2.2 une approche multi-niveaux comme celle d’Open-Type. Mais si OpneType parcourt les niveaux de priorités en ascendant, la variableJustifyLevel de Graphite indique quel niveau va être appliqué.

5.8 Certaines réflexions

Nous avons vu dans ce qui précède que les formats de fontes OpenType, AAT et Gra-phite et les moteurs de composition, ont bien investi pour remédier aux problèmesliés à la justification. Les formats de fontes intelligentes sont capables de définir des ac-tions renouant avec certaines techniques de Gutenberg. Par exemple, le moteur de AAT

est apte d’altérer les ligatures dans une étape post-composition, alors que OpenType etGraphite proposent, dans leurs tables dédiées, des actions de substitutions et de posi-tionnements dans une logique de priorités associées. Notons aussi que l’utilisation deces tables présume que le système de traitement de texte manipule une seule ligne à lafois, et pas un raisonnement par paragraphe.

Après tout ce que nous avons évoqué, revenons à une question de base, la justificationest-elle un problème de fonte ou de logiciel de composition ? Le principe d’OpenTypeest : la fonte propose, le logiciel dispose. Les déclarations de JSTF d’une fonte Open-Type ne sont que des suggestions. Ceci dit, la prise en considération de ces propositionsou non dépend du logiciel de composition, sa décision et son aptitude. La sélection deglyphes qui contribueront à la justification de lignes, ainsi que les actions attribuées àces glyphes, est laissé aux éventualités et au choix du concepteur de la fonte. Le compo-siteur de texte est libre de choisir d’utiliser une ligature ou une variante allographiquepour une telle ou telle fin. Cependant, cette liberté est cernée là où les traditions del’écriture sont beaucoup plus exigeantes, notamment dans le cas de l’arabe [25]. Noussupposons qu’une partie de la définition de ces actions doit être partie intégrante du mo-teur de composition, tout en gardant un pont de communication entre l’utilisateur etle système pour éviter certains accidents de composition inattendus (voir le chapitre 6).

En typographie arabe, aucune stratégie de justification n’est prioritaire. Cependant,dans un environnement où nous ne voulons pas utiliser trop de ligatures pour descontraintes de lisibilité, la kashida est fortement suppliée. Le format OpenType a laisséla liberté totale concernant le choix d’établir l’ordre entre les stratégies : espacement,manipulation de ligatures ou de variantes de glyphes. Toutefois, l’emploi des allonge-ments par kashida-s ne figure pas dans la liste des priorités de JSTF. Peut-être, les dé-veloppeurs d’OpenType veulent garder un masque de secours sous la main au cas oùtoutes les stratégies de JSTF n’ont pas pu aboutir.

77

Page 91: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Justification sur le Web Système de composition de texte

Pour le format AAT, l’ordre entre les stratégies est défini au préalable par le moteurATSUI en supposant que la kashida est prioritaire, suivie par des modifications d’espacesinter-mots, et que les manipulations de chaînes de glyphes n’est qu’un dernier refuge.

Dans les deux modèles, l’ordre de priorité des stratégies, à établir pour la justification,est encapsulé dans la fonte ou dans les modules de systèmes de composition. Alors qu’onne doit pas oublié un troisième élément, le compositeur lui même, dont les choix et lespréférences semblent parfois être décisifs.

5.9 Justification sur le Web

Avant CSS3, il était possible de justifier un texte dans une page Web, et cela en utilisantla propriété HTML/CSS text-align. Internet Explorer, à partir de sa version 5, a apportéla nouveauté d’utiliser d’autres modes de justification proposés par la propriété text-justify de CSS3. Une telle propriété peut prendre différentes valeurs : auto, inter-word,newspaper, distribute, iter-ideograph, inter-cluster, kashida.– auto : le navigateur détermine l’algorithme de justification à suivre et le mode de

justification pour une qualité de présentation adéquate. L’expansion d’espace inter-mot est typiquement utilisée pour les écritures qui utilisent l’espace comme délimi-teurs de mots, comme d’ailleurs la plupart des écritures du monde. Si la propriététext-kashida-space a une valeur non nulle l’algorithme recommande l’utilisation deskashida-s pour un texte arabe.

– inter-word : le mode de justification se base sur la dispersion d’espace inter-mots.– newspaper : le mode de manipulation d’espace inter-mots et inter-lettres, est spé-

cialement pour les colonnes étroites. L’algorithme essaye la compression d’abord, s’iln’aboutit pas à un résultat de composition satisfaisant. Il essayera l’expansion d’espaceinter-mots jusqu’à certain seuil, puis une manipulation d’espace inter-lettres se pro-duit. Le seuil d’expansion est relatif, il dépend de la largeur de la colonne en nombrede glyphes.

– distibute : le mode est visé pour les écritures asiatiques. Il compte moins sur l’es-pacement inter-lettres et la relativité du seuil d’expansion d’espace inter-mots.

– inter-ideograph : Le mode limite le nombre de cas d’expansion, l’espacementinter-lettres est réservé aux idéogrammes.

– inter-cluster : joue le même rôle que inter-ideograph mais pour les écritures est-asiatiques telles que le khmer. Un cluster est défini dans une telle écriture commeétant un groupe de caractères formé comme une seule unité.

– kashida : cette valeur suscite l’utilisation des allongements de glyphes pour l’écriturearabe.L’utilisation de kashida est typiquement le mode le plus « convenable » pour justi-fier un texte arabe. La propriété text-kashida-space donne un contrôle plus fin

78

Page 92: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Système de composition Système de composition de texte

que la simple valeur text-align. Dans le sens où il donne la possibilité d’exprimerle rapport de dispersion des allongements aux espaces inter-mots. Cette propriétépeut être employée avec n’importe quel modèle de justification où l’expansion de ka-shida est autorisée (actuellement : text-justify : auto, kashida, distribute etnewspaper).– kashida-space:0, signifie l’utilisation de l’espacement inter-mots seulement.– kashida-space:10, signifie que l’espace va être utilisée 9 fois plus que la kashida.– kashida-space:80, signifie que la kashida va être utilisée 4 fois plus que l’espace.– kashida-space:100, signifie l’utilisation de kashida-s seulement.

Il doit être utilisé avec les propriétés text-align:justify et text-justify:kashida.

5.10 Système de composition

5.10.1 Allongement curviligne

En terme d’outil de traitement de texte, la composition de la kashida de façon cur-viligne, dépasse encore la plupart des systèmes de composition de documents électro-niques. La kashida n’est pas un caractère en soi, mais une élongation de certaines por-tions de certaines lettres, tout en gardant leurs corps « rigides » dont l’allure peut chan-ger suivant les lettres limitrophes, ou même par la présence de la kashida. Une mise àl’échelle horizontale pour élargir la chasse de la lettre ne serait pas une bonne manière.La majorité des logiciels procèdent par des insertions des traits de liaisons rectilignes.Le résultat est d’une qualité typographique déplaisante. La solution adoptée par ces lo-giciels répond sans doute aux contraintes techniques de manque d’outil adéquat. Il estplus facile d’insérer un glyphe élément de la fonte qui répond facilement au contextede la fonte courante, que de calculer des courbes de Bézier paramétrées en temps réel.En plus, le contexte de la fonte se perd si l’allongement se fait par le biais d’un glypheparamétré provenant d’une autre fonte dynamique extérieure.

Certains systèmes résolvent le problème d’extensibilité curviligne par la confectionpréalable de glyphes curvilignes pour certaines tailles, puis la composition à partir de laprimitive extensible et des portions linéaires au delà de ces tailles, ce qui viole la formecurvilinéaire de la lettre ou du symbole composé pour des tailles larges.

Une meilleure approche serait de créer une fonte dynamique [13], en paramétrant laprocédure de composition de chaque glyphe. Les paramètres introduits indiquent lataille ou la quantité d’extensibilité. Pour manipuler les élongations, on décompose lalettre en deux parties : le corps statique de la lettre et la partie élongation dynamique.Les deux parties seront ensuite combinées en se basant sur les concepts des fontes vir-tuelles.

79

Page 93: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Système de composition Système de composition de texte

Paramètres

Fonte arabe Kashida

Fonte virtuelle

?

@@R

Figure. 5.5 – Fonte virtuelle et kashida

5.10.2 Fonte virtuelle

Les fontes virtuelles ont été introduites en 1990 par D. Knuth [63] et sont inspiréesd’un programme similaire réalisé par David R. Fuchs [40]. Une fonte virtuelle, commeson nom l’indique, n’existe pas réellement. Elle est construite à partir d’autres fontesphysiques bien réelles, auxquelles on emprunte certains glyphes après d’éventuelles mo-difications. Les fontes virtuelles ne sont pas reconnues par TEX, qui ne connaît que desmétriques des boîtes, mais elles sont reconnues au niveau des programmes qui lisent lesfichiers DVI tels dvips ou xdvi.

Le principe est d’utiliser un processus de remplacement dans un fichier DVI. Un glyphede fonte virtuelle peut être remplacé par un code DVI plus intéressant. Ce code peut êtresimple comme la donnée d’un autre glyphe provenant d’une autre fonte, ou encore unecombinaison de plusieurs glyphes provenant de plusieurs fontes différentes, virtuellesou réelles, avec d’éventuelles transformations.

Le concept de fonte virtuelle nous servira pour définir une fonte arabe dynamique,dont les glyphes seront la combinaison des lettres non allongées et de kashida-s. Leslettres proviennent d’une fonte arabe statique. La kashida, ou la partie allongement, estun glyphe provenant d’une fonte dynamique où tous les glyphes sont paramétrés (voirfigure 5.5).

L’analyse contextuelle qui détermine les variantes de position de chaque lettre ainsi queles différentes ligatures seront définies dans la fonte virtuelle en se basant sur les conceptsde ligatures intelligentes de type LIG, /LIG, /LIG>, LIG/, LIG/>, /LIG/, /LIG/>, /LIG/>>définies par D. Knuth. Nous bénéficions d’une telle définition pour retrouver le contextede la fonte qui se perd si nous obtenons des allongements en ajoutant des glyphes pro-venant d’une fonte extérieure.

Là où la fonte virtuelle produit la combinaison de deux glyphes provenant de deuxfontes différentes, TEX ne voit qu’un seul caractère. Cela peut éviter des répercussionssémantiques au niveau de TEX résultant de l’existence de kashida-s.

Les fontes virtuelles sont présentes sous forme de métriques TFM et de fichiers VF qui

80

Page 94: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Système de composition Système de composition de texte

(MAPFONT D 0(FONTNAME arfont))

(MAPFONT D 1(FONTNAME kashida))

(CHARACTER D 104(MAP

(SELECTFONT D 1)(SETCHAR D 0)(SELECTFONT D 0)(SETCHAR D 104))

)Figure. 5.6 – Composition de caractèredans une fonte virtuelle

indiquent comment confectionner les glyphes. Ces fichiers VF ne sont pas humainementlisibles, on peut les décoder à l’aide de l’application vftovpl, qui les transforment enVPL (liste de propriétés virtuelles).

L’inconvénient de cette approche est que : si on fixe par exemple un allongement parligne, une fois la partie dynamique de la lettre à allonger est calculée, les glyphes de-viennent rigides. On aura besoin donc d’une autre fonte virtuelle pour un deuxièmeallongement, ce qui n’est pas pratique pour la composition des documents à très grandnombre de lignes. En plus, la fonte gère elle-même l’analyse contextuelle sans laissertrop d’initiatives aux systèmes de composition. Les ligatures sont définitivement liéesà la fonte, sans que le système puisse les activer ou les désactiver. Pour remédier à ceproblème, on peut définir plusieurs niveaux de ligatures gérés par plusieurs fontes. Unautre inconvénient est que TEX6 utilise toujours les formats de fonte METAFONT ouPostScript qui ne supportent que des encodages sur un seul octet. Le paquetage ba-bel [29] s’est largement amélioré au cours du temps pour fournir des solutions dansle cadre du multilinguisme. D’autres extensions tentent de satisfaire les besoins de cer-tains auteurs. Par exemple, celle tentant de satisfaire à la fois les auteurs souhaitant quela langue utilisée pour la bibliographie d’un ouvrage soit celle de l’ouvrage et ceux quipréfèrent que la langue utilisée pour décrire chaque référence soit celle de la référenceelle même [55].

Cependant, le format OpenType gère des suites de caractère Unicode. Un fichier de6Bien sûr, on ne parle pas ici des extensions de TEX.

81

Page 95: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Système de composition Système de composition de texte

fonte OpenType peut donc couvrir plusieurs langues et écritures. Le format OpenTypedevient de plus en plus le format standard des compositions typographiques modernes.Des développeurs étaient bien conscients du fait que les formats de fonte METAFONT etPostScript et leur système de transcodage étaient une impasse pour gérer des documentsmultilingues avec TEX.

5.10.3 PDF et texte

Lorsqu’on utilise une fonte virtuelle pour composer un glyphe à partir de deux autresprovenant de deux fontes différentes, pour D. Knuth c’était le résultat visuel qui compte.Lorsqu’on utilise dvips pour produire le fichier PostScript, le caractère est un assem-blage en code PostScript de deux glyphes, ce qui respect toujours le résultat visuel voulu.Cela même dans le cas où on convertit le ficher en PDF par ps2pdf ou Acrobat Distil-ler. Mais le problème se révèle lorsqu’on souhaite utiliser un PDF pour autre chose quesa destination d’origine, comme un format de présentation multiplate-forme, lui fairecontenir un texte accessible, c’est-à-dire, un texte qu’on peut exporter, copier-coller,indexer, etc.

Rappelons que pour représenter un texte par PDF Acrobat, deux cas peuvent se présen-ter :– le fichier PDF a été distillé à partir d’un fichier PostScript ;– le fichier PDF a été exporté d’une autre application.Un PDF distillé stocke les noms des glyphes. Adobe définissait une liste, appelée AdobeGlyph List (AGL), sous forme d’une table de nommage [3]. À chaque nom de glyphe, latable fait correspondre un ou plusieurs codes Unicode de caractères. La version la plusrécente de AGL date de l’an 2002. 4283 glyphes sont pris en charge. À chaque caractèreUnicode de point de code XXXX en hexadécimal est associé un nom de type uniXXXX.Acrobat Reader à partir de la version 4 interprète ces noms de glyphes. Si le glyphe estune ligature, le nom de glyphe est marqué par un sous tiret «_». Quand Acrobat Readerle trouve dans un nom de glyphe, il décompose le glyphe en caractères. Par exemple, s’iltrouve une ligature Th ornée T_h.swash, il décompose le glyphe en deux caractères : Tet h. Mais cela ne résout pas le problème qui nous occupe. Supposons qu’on a composéun «á» à l’aide d’une fonte virtuelle en combinant un «a» et un accent aigu «´». PourAcrobat le glyphe «á» composé n’est pas un mais l’assemblage de deux caractères, doncil n’y a plus de moyen pour Acrobat Reader de reconstituer la valeur Unicode. Si onexporte avec une copier-coller on obtient dans les meilleurs des cas un «a» suivi d’un«´».

Le fait que la kashida n’est pas un caractère en soi, met la composition des caractèresallongés à partir de deux glyphes dans l’impasse sémantique. Il existe une possibilité dedonner à une partie du texte une substitution invisible par l’opérateur ActualText [1].

82

Page 96: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Système de composition Système de composition de texte

(Dru)Tj/Span

<</ActualText (c)>>BDC (k-)

TjEMC

(ker)’Figure. 5.7 – Utilisation de l’opérateur ActualText

Cet opérateur peut servir aussi pour donner une sémantique aux éléments graphiquesou certains éléments qui ne peuvent pas être traduits en texte, la description traduit lecontenu de ces éléments. Par exemple, le mot «Arthur» est présenté dans un fichierPDF par une image représentant le caractère «A» suivi de la chaîne « rthur». Le mot«Arthur» n’est plus accessible. La solution consiste à remplacer l’image «A» par letexte qui traduit son contenu, c’est-à-dire le caractère. Le remplacement est au niveaudu contenu et non pas au niveau de la présentation.

Le code de la figure 5.7 montre un exemple d’utilisation de l’opérateur ActualTextpour indiquer le contenu correct du mot allemand «Drucker». Lorsque celui-ci subitune coupure après la lettre « c» son rendu visuel devient «Druk- » et «ker». Là où lelecteur voit «Druk- » et «ker», le mot à toujours sa sémantique d’origine «Drucker».

5.10.4 Omega

Omega, système de composition de documents multilingues, est une extension 16 bitsde TEX, développée par J. Plaice et Y. Haralambous. Omega utilise Unicode commereprésentation interne et autorise ainsi la composition de textes multilingues dans leslangues telles que l’arabe, le chinois ou les langues du continent indien.

Les premières versions d’Omega utilisent seulement les fichiers TFM/OFM. L’applica-tion odvips utilise les VF/OVF et les fontes PostScript Type 1. Les premières tentativespour l’adaptation du format OpenType à l’environnement TEX ont été menées par lesdéveloppeurs d’Omega. L’utilitaire makepfc se charge d’extraire les données à partir destables TTF ou OTF/CFF est génère une fonte PFC.

Les tables PFC peuvent être incorporées dans le fichier TTF ou structurées dans un fi-chier séparé. odvips découvrira le code de chaque caractère et cherchera les descriptionsdes glyphes dans le fichier PFC. Les descriptions des glyphes sont stockées dans la tableoCHR de PFC sous format Type 1 crypté.

Les OCP (Omega Compiled Process), ainsi que les OTP (Omega Translation Process) leformat lisible associé au format binaire OCP, permettent de modifier les flux de carac-tères que manipulent TEX. Ils permettent de transformer le codage d’entrée, qui peut

83

Page 97: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Système de composition Système de composition de texte

varier, au codage utilisé de manière interne par Omega (UCS2). Ils permettent aussi dechoisir les ligatures dans des écritures dans lesquelles elles sont beaucoup plus complexescomme l’écriture arabe. Le système Omega abandonne la rigidité des ligatures intelli-gentes et utilise des filtres internes qui fournissent les règles d’analyses contextuelles,ainsi que d’autres informations au système qui se charge de les appliquer.

Omega est devenu un processeur de textèmes (voir section 5.2.3).

5.10.5 XÝTEX

Le système X ETEX est une extension de TEX conçue, par J. Kew, pour accepter lescaractères Unicode [64]. Utiliser les fontes OpenType est un autre de ses avantages. Cesystème se diffère des autres qui ont essayé d’étendre les possibilités offertes par TEX enplusieurs points.

Le premier point : la commande \font a été étendue de façon à supplier les fontespar leurs vrais noms. Ainsi, on peut jouir de l’utilisation de toutes les fontes OpenTypeinstallées sur le système d’exploitation hôte. On n’a plus besoin d’aucun traitement oupréparation spécifique d’une fonte pour qu’elle soit utilisée avec X ETEX.

Le moteur de paragraphage ne fait plus référence à un fichier de métriques TFM commec’est le cas pour TEX. Mais il se rend directement au fichier de la fonte OpenType pouren extraire les métriques du texte et cela via le moteur de rendu ICU (voir figure 5.8).

Le deuxième point : ce système n’a pas essayé simplement d’étendre le nœud de ca-ractère de 8 à 16 bits, mais de le remplacer par un nœud de mot native_word_node. Leparagraphe n’est plus une suite de caractères mais une suite de mots. Les nœuds de motssont des « boîtes noires » dont X ETEX ne s’occupe que des métriques, et il n’essaye pasd’inspecter ce qu’il y a dedans. Le terme «boîtes noires » reflète la façon la plus naturelleet la plus conventionnelle de traiter un texte, la composition des mots est une opérationlinguistique déléguée au moteur de rendu ICU et à la fonte OpenType. Mais cela n’estpas tout à fait vrai. En fait, l’implantation de l’algorithme de césure de TEX ne peutêtre mis en œuvre sans la perquisition du contenu de ces boîtes. Une modification de laroutine implantant les motifs de césure était nécessaire. La routine doit d’abord retrou-ver le contenu des nœuds de mots et de remplacer leurs boîtes d’origines par d’autrespossibles fragments. Nous n’étions pas très loin de cette logique lorsque nous propo-sions de fouiner dans les boîtes des mots non pas à la recherche des points de césurepotentiels mais plutôt des lettres dont le glyphe par défaut peut être altéré par un autrepour assister à une bonne justification.

84

Page 98: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Système de composition Système de composition de texte

X XTE

Fonte OpenType

Moteur ICU

Figure. 5.8 – Architecture du moteur XÝTEX

85

Page 99: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Cha

pitr

e

6Moteur de paragraphage

Après avoir décrit le formalisme de la justification de texte arabe respectantcertaines règles de la calligraphie, on avait bien compris que pour obtenirune bonne typographie, il ne suffit pas d’avoir des glyphes de qualité. Il faut

aussi que les logiciels de PAO aient de meilleurs algorithmes de composition, tant pourles supports papier que pour le Web. En particulier, nous plaidons pour de meilleursalgorithmes de justification. Dans ce chapitre, on expose les différents algorithmes quis’imposent en matière de justification de texte. On présente par la suite une tentatived’améliorer la qualité de la typographie produite par l’algorithme de justification gé-néralement connu sous le nom d’optimum-fit. Cet algorithme sophistiqué découpe lesparagraphes en lignes du mieux qu’il peut, et cela en faisant le choix de la version op-timale entre plusieurs versions du paragraphe. On propose d’améliorer cet algorithmepour prendre en considération l’existence de variantes allographiques fournies par lafonte lors de la composition d’un texte arabe. Hors, l’utilisation des variantes de glyphesest régie par les règles évoquées dans le chapitre 4. Cela nous a incité à concevoir toutun modèle d’emploi de variantes basé sur un système de pénalités, auquel l’algorithmeoptimum-fit est parfaitement adapté. Les moteurs de rendu textuel ont une architecturegénéralement pilotée par la logique : « la fonte commande, le logiciel accommode ».Une telle logique n’est pas tout à fait assortie pour la composition d’un texte arabe lors-qu’il s’agit d’une mise en paragraphe. Nous adaptons plutôt une logique de compositionbasée sur le dialogue entre le logiciel et la fonte. Le système de composition fera le choixentre ce que la fonte impose et ce que le moteur de paragraphage prétend être le plusefficace.

L’approche adoptée peut bien être étendue pour la composition d’un texte multilingue.

86

Page 100: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Moteur de paragraphage de TEX Moteur de paragraphage

6.1 Moteur de paragraphage de TEX

D. Knuth, mécontent de la qualité dont était imprimée sa série de livres “The art ofcomputer programming1” consacra plusieurs années de sa vie, pour écrire le système decomposition TEX lui permettant d’obtenir un rendu correct du texte et des expressionsmathématiques pour la typographie professionnelle. D. Knuth a tout révélé en publiantle code de ce système dans – TEX, The Program [60].

Le lecteur francophone qui veut faire un voyage dans une partie du centre de TEX guidépar un professionnel du métier peut se reporter à l’article [45]. Ce dernier présenteune décortication de l’algorithme du code de composition du paragraphe. Par ailleurs,l’algorithme de paragraphage est probablement l’algorithme le plus important de TEX,un jugement porté par D. Knuth lui-même [60]. Il ne s’agit pas de simple justificationpar lignes mais une égalisation au niveau du paragraphe entier [59].

Par la suite, on essaye d’exposer en bref l’idée de D. Knuth. Un paragraphe est une listehorizontale qu’il faut découper en lignes. L’algorithme de Knuth avait deux objectifs :un temps de calcul raisonnable, et un résultat visuel satisfaisant.

6.1.1 Composition d’un paragraphe

La liste horizontale représentant le paragraphe n’est au départ qu’une longue liste chaî-née de nœuds : nœuds de caractères (char_node), nœuds de ligatures (ligature_node),nœuds discrétionnaires (disc_node), nœuds de mathématiques (math_node), nœuds deglues (glue_node), nœuds de pénalité (penalty_node), nœuds de crénage (kern_node) quipeut être un crénage explicite donné par la commande \kern ou implicite donné par lafonte. À partir de cette liste TEX va créer une autre liste de nœuds, appelés nœuds decoupures (break node). Ce type de nœuds est caractérisé par :– Le pointeur vers la position de la coupure dans la liste horizontale des nœuds qui peut

être un glue_node, math_node, disc_node ou un penalty_node si cette pénalité n’est pasinfinie.

– Le numéro de la ligne candidate qui suit ce point de coupure.– La classification de la qualité de composition de cette ligne, un paramètre entre 0 et 3.Au début de chaque paragraphe, TEX crée un nœud, dit actif (actif_node), le secondnœud actif est un nœud de coupure candidate, soit donc un nœud de glue, de césure oude discrétionnaire situé à une distance acceptable pour former une ligne potentielle (voirsection 6.4). Il peut y avoir plusieurs nœuds candidats adjacents au nœud de départ, vuque TEX peut dilater ou contracter les espaces inter-mots et vu la médiocrité que TEXtolèrera sur chaque ligne quand il choisit les coupures d’une ligne pour un paragraphe.La médiocrité est une mesure de combien l’espacement inter-mot dévie de les valeurs

1Une des références dans le domaine de l’algorithmique avancée.

87

Page 101: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Moteur de paragraphage de TEX Moteur de paragraphage

idéales des espaces. L’utilisateur peut rendre TEX plus ou moins tolérable en changeantla valeur par défaut du paramètre (pre)tolerance.

Chaque nœud actif créé pointe vers le suivant. On obtient ainsi une liste de nœudsactifs. Cette liste contient aussi les delta_node, un tel nœud apparaît uniquement entredeux nœuds actifs, pour aider l’algorithme à calculer la laideur (badness) des lignes indi-viduelles. Si p et r sont deux actif_node et q est un delta_node entre p et r alors link(p)=qet link(q)=r. delta_node contiendra six valeurs : la distance idéale entre p et r, la dilata-tion finie exprimée en pt, trois valeurs de dilatations infinies à l’ordre fil, fill, et filll, etune sixième valeur de contraction.

De ce fait, une ligne potentielle est une ligne avec une médiocrité tolérable par TEX.Les deux nœuds extrémités de la chaîne sont deux nœuds adjacents. Quand on s’éloigned’un nœud actif, c’est-à-dire à une distance suffisamment grande que la valeur de \hsize,on le désactive et on lui associe un nœud dit passif. Les nouveaux nœuds ainsi créésservent à déterminer d’autre nœuds actifs et ainsi de suite jusqu’à la fin du paragraphe.

La procédure try_break, le cœur de l’algorithme de paragraphage, teste si un point decoupure légale est faisable. En parcourant la liste des nœuds actifs pour voir si on peutconstruire des lignes acceptables entre ces nœuds et le nœud courant, si une telle com-position est possible on crée un nœud actif à ce point de coupure, si le point courantest trop loin d’un nœud actif on désactive ce dernier.

À chaque ligne candidate est associée une mesure de qualité de composition appeléedémérite. Le calcul du démérite tient compte de la laideur de la ligne potentielle, c’est-à-dire la différence entre la largeur idéale de la ligne candidate et la largeur du cadredu texte et des différentes pénalités provenant de \hyphenpenalty, \linepenalty,\doublehyphendemerits, \finalhyphendemerits, \adjdemerits, etc.

On construit un graphe acyclique à partir des différentes combinaisons des nœuds decoupure faisables obtenus. Les sommets de ce graphe sont les nœuds de coupures etles arêtes sont les paires des nœuds adjacents. À chaque arête on associe un poids nu-mérique, le démérite. Le problème revient donc à calculer le chemin le plus court dugraphe. Autrement dit, choisir entre toutes les versions des paragraphes candidates, ce-lui avec le moindre de démérite qui n’est autre que la somme des démérites des lignessegmentant le paragraphe.

Si le paragraphe contient n points de coupure, le nombre de situations qui doivent êtreévaluées naïvement est 2n. Cependant, en employant la méthode de programmationdynamique, la complexité de l’algorithme peut être réduite à O(n2). D’autres simplifi-cations peuvent être évoquées. Par exemple, on n’examine pas les cas extrêmement peuprobables, tels qu’une mise d’une coupure dans le premier mot d’un paragraphe. Celamène à un algorithme efficace dont le temps de fonctionnement est presque toujoursd’ordre n.

88

Page 102: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Moteur de paragraphage de TEX Moteur de paragraphage

6.1.2 Coupure de paragraphe en lignes

Avant de se donner aux techniques de la justification, un système de composition doitd’abord couper les paragraphes en lignes. Une coupure de ligne parvient généralementaprès une fin de mot, une ponctuation, ou un point de césure2. Parfois, la coupure entredeux mots est indésirable. Par exemple, entre le nom et le prénom d’une personne,ou à l’intérieur d’un mot composé. Une telle coupure peut être évitée par l’insertiond’espace insécable. Mais, la reconnaissance automatique d’une telle situation dépasseencore la plupart des systèmes de composition de textes et relève à une reconnaissancede la sémantique du texte composé. Couper un paragraphe en lignes est un problèmed’optimisation. Plusieurs algorithmes se présentes.

6.1.2.1 Algorithme glouton

La méthode la plus simple pour couper un paragraphe en lignes est d’utiliser l’algo-rithme glouton, appelé aussi first-fit. Cela consiste à mettre autant de mots sur la lignetant que possible. Une fois qu’il n’y a plus de place pour un mot, l’algorithme se placeau début de la ligne suivante. C’est un raisonnement ligne par ligne, où chaque ligne nepense qu’à elle-même. Le pseudo-code suivant implante l’algorithme glouton :

SpaceLeft := LineWidthfor each Word in Textif Width(Word) > SpaceLeft

insert Line_break before Word in TextSpaceLeft := LineWidth - Width(Word)

elseSpaceLeft := SpaceLeft - (Width(Word) + SpaceWidth)

Cette méthode est rapide et elle met la liste des mots à couper dans un minimum delignes. Mais le résultat est la plupart du temps un drapeau à droite irrégulier et déplai-sant.

6.1.2.2 Algorithme best-fit

Le best-fit est un autre algorithme basé sur un raisonnement ligne par ligne. Cependant,il ne le fait pas à la hâte, comme c’est le cas pour l’algorithme glouton. En revanche,il prend tout son temps pour trouver le bon réarrangement pour chaque ligne. Cepen-dant, aucune ligne ne se sacrifie pour l’autre ou pour l’allure générale du paragraphe.

Formellement, dans chaque ligne, on cherche à s’approcher le plus possible de la largeuridéale, en changeant le moins possible la valeur de l’espace inter-mots. En autorisant plu-

2On appelle ces endroits des points de « coupure légale ».

89

Page 103: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Moteur de paragraphage de TEX Moteur de paragraphage

sieurs stratégies : dilatation, contraction et césure. Cet algorithme considère plusieurspoints de coupure, et en choisit le meilleur endroit pour la coupure. Dans la pratique,les possibilités de coupure ne sont pas considérés uniquement à base de la laideur de laligne mais aussi en considérant les pénalités des coupures.

6.1.2.3 Algorithme optimum-fit

Des résultats nettement meilleurs que les deux précédents, peuvent être donnés parl’algorithme qui consiste à faire un raisonnement par paragraphe. Des lignes peuventsacrifier d’autres - pas nécessairement celles qui les suivent immédiatement - pour unrésultat optimal au niveau du paragraphe tout entier.

Supposons qu’on veut couper la liste xxx xx xx xxxxx sur une largeur de xxxxxx, lerésultat obtenu par l’algorithme glouton est :

xxx xxxxxxxxx

La ligne trop longue suivie d’une ligne trop courte forment un effet indésirable. Alorsque pour un raisonnement par paragraphe, le résultat obtenu est :

xxxxx xxxxxxx

L’algorithme optimum-fit est basé sur les techniques de la programmation dynamiquepour une optimisation globale de certaines fonctions de coût esthétique. L’optimum-fita été introduit la première fois par D. Knuth [59] puis il l’a implanté dans le systèmeTEX.

À une distance donnée du début de la ligne, on peut chercher une coupure. Plusieurscoupures peuvent être candidates.

– fixer un critère pour chaque ligne qu’on va appeler ei (erreur sur la ligne i).– Si ei = 0, la ligne est parfaite. Si ei ≥ 10000, la ligne est ratée.– trouver un arrangement qui minimise la somme totale des erreurs e =

∑ei.

Nous discuterons cet algorithme un peu plus en détails dans la section 6.4.

6.1.2.4 Modèle glue/penalty

Dans le modèle glue/penalty, un glyphe est représenté par une boîte de dimensions (lar-geur, hauteur, profondeur) fixes. Quant aux espaces, ou leurs équivalents entre deuxmots, sont représentées par des ressorts (glue). La notion de ressort est beaucoup plusgénérale que la notion d’espace. En plus de sa taille naturelle. Un ressort a deux autres

90

Page 104: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Moteur de paragraphage de TEX Moteur de paragraphage

attributs, son facteur d’étirement et son facteur de rétrécissement. Les ressorts ne de-viennent pas plus larges/étroits de manière égale. Ils deviennent plus large/étroit enproportion de leur étirement/rétrécissement. Par exemple, si on est en typographieanglo-saxonne, on ajoute normalement une espace supplémentaire après une marque deponctuation à la fin d’une phrase. C’est-à-dire que le ressort après la marque de ponc-tuation doit avoir un facteur d’étirement plus grand qu’une espace normale. La qualitéde composition d’une ligne se mesure entre autre par sa laideur ; sa quantité d’étire-ment/rétrécissement. Une bonne composition est celle où les ressorts rapprochent lemieux de leurs tailles naturelles.

Une pénalité est un élément qui peut être inclue dans une liste horizontale (ou verticale)pour décourager le système de composition de couper la liste à cet endroit ou l’encoura-ger. Une pénalité positive indique un mauvais point de coupure, tandis qu’une pénaliténégative indique un bon point de coupure. Une pénalité de 10000 ou plus (+∞) em-pêche une coupure, tandis qu’une pénalité de -10000 ou moins (−∞) force une coupure.À chaque point de coupure potentielle est associée une pénalité, qui peut être nulle. Laprésence d’une césure insert une pénalité non nulle et représente donc un coût. Deuxcésures consécutives ont un coût plus élevé en terme d’esthétique et insert donc unepénalité plus élevée.

La mesure de qualité d’une ligne est calculée en fonction de la laideur de ses ressorts etde l’ensemble des pénalités. La valeur calculée est en général appelée « démérite ».

6.1.3 Retour à Zapf et Thành

Parmi les tentatives considérables d’amélioration du moteur de paragraphage de TEXpour le typographie latine est celle de Hàn Thê Thành. Un tel perfectionnement est ba-sée sur le contrôle de la mise à l’échelle de glyphes. L’application des approches d’amé-lioration de la justification du texte latin à la typographie en caractères arabes n’estpas une bonne solution. En effet, Thành [81], et d’ailleurs Zapf [87], ont raisonné encalligraphie latine, pour laquelle il n’y a pas d’éléments similaires à la kashida dont lerôle entre autre est de donner le moyen de justifier les lignes. En écriture et en alphabetarabe, la kashida n’est pas reconnu comme caractère en soi. La kashida agit sur certainesportions de glyphe. L’allongement peut bien changer totalement la morphologie de ceglyphe (voir figure 6.1). Une mise à l’échelle horizontale pour élargir la chasse de lalettre ne serait pas une bonne manière. L’emploi des élongations en écriture arabe estrégi par des règles et des coutumes inspirées des manuels et des traités de la calligraphiearabe.

91

Page 105: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Allographe et paragraphage Moteur de paragraphage

Kaf finale non allongée

mise à l’échelle horizontale de la lettre Kaf

Kaf allongéeFigure. 6.1 – Allongement de la lettre Kaf

6.2 Allographe et paragraphage

Les contextes qui déterminent l’utilisation d’un allographe sont de nature diverse, allantde l’emploi des variantes allongées ou étroites lorsqu’il s’agit de justifier les fins de lignes,ou pour améliorer la lisibilité et enlever l’ambiguïté de lecture, à des contextes pluscomplexes et moins évidents [18].

L’algorithme de paragraphage, qu’il s’agit d’une simple justification par lignes ou d’uneégalisation par paragraphe, peut se servir d’autres variantes de glyphes plus larges ouplus étroites, pour obtenir la largeur voulue. Ces variantes peuvent être soit des al-lographes, soit des variantes allongées avec kashida. Dans ce cas, il faut faire atten-tion à ne pas violer certaines règles assez strictes portées sur l’utilisation de certainsallographes et qui répondent strictement à leur contexte (voir section 4.1.3). Heu-reusement que le format de fonte OpenType est doté de la table jalt (GSUB lookuptype 3) [6] qui définit un certains nombre de variantes pour certains glyphes d’un en-semble AlternateSubstFormat. Contrairement aux autres types de substitutions, cesvariantes ne sont pas labellisées. Apparemment, le choix et l’utilisation des glyphes estsont dédiés au système de composition qui peut s’en servir. Par exemple, un systèmewysiwyg (what you see is what you get) affichera toutes les variantes et laisse à l’utilisateurle choix d’une manière interactive, ou encore mieux, un moteur de paragraphage s’enservit automatiquement pour améliorer la justification.

Bien qu’il ne soit pas utilisée jusqu’à maintenant - à notre connaissance - par aucun dessystèmes de traitement de textes, elle nous servira à des fins de justification. Les variantescontextuelles peuvent être des éléments de la table calt quant aux variantes utiliséespour améliorer la justification peuvent être éléments de la table jalt. On utilisera labibliothèque libotf basée sur FreeType pour extraire le contenu de la table jalt. Dansune même fonte, un glyphe peut avoir plus qu’une variante dans la table jalt placéesdans un ordre quelconque puisque leur fonctionnalité sont équivalentes.

6.3 Textème et paragraphage

Le système Omega2 est basé sur le nouveau modèle de texte présenté dans la sec-tion 5.2.3. Un paragraphe est présenté par une suite de textèmes T = t1 . . . tm. Soient

92

Page 106: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Moteur de paragraphage optimum-fit Moteur de paragraphage

tk1 . . . tks des textèmes dont le champ glyphe admet une ou plusieurs variantes dans latable jalt, et ni est le nombre de ces variantes pour tki

. La prise en compte de toutes lescombinaisons de ces variantes compromettra la vitesse de calcul du graphe et d’égalisa-tion. On a besoin donc d’une manière de restreindre l’ensemble des variantes candidatespossibles afin d’optimiser le temps de calcul nécessaire. Une approche consiste à faire unraisonnement par classe, plutôt que de se focaliser sur chaque variante. Chaque classed’équivalence est un intervalle qui donne un sens commun aux glyphes qu’il contient.Deux allographes appartiennent à la même classe si la différence de leur chasses parrapport à la chasse du glyphe par défaut appartient au même intervalle. Le choix d’unintervalle plus étroit incite le système à prendre en compte plus de variantes, ainsi quele choix d’un intervalle plus laid tolère des classes avec des variantes de largeurs sensi-blement dissemblable en faveur de la complexité de calcul. Le choix d’un intervalle delargeur 0 prend en compte pratiquement toutes les variantes allographiques de la fonte.

6.4 Moteur de paragraphage optimum-fit

L’algorithme de paragraphage optimum-fit a été, et pendant une vingtaine d’année, leseul capable d’une égalisation par paragraphe. Il ne s’agit pas de simple justification parlignes mais une égalisation au niveau du paragraphe entier [59]. Ce même algorithme aété implanté par Adobe pour égaliser les blocs de textes avec le logiciel InDesign. PourD. Knuth, un paragraphe est modélisé par un graphe acyclique, les lignes candidatesreprésentent les arêtes du graphe, Un poids numérique est associé à chaque ligne, appelé« démérite ». Le paragraphe optimal n’est autre que le chemin le plus court du graphe.

Comment ce graphe est-il construit? et comment calcule-t-on le démérite associé àchaque arête de ce graphe?

Un paragraphe est une liste horizontale qu’il faut découper en lignes d’une manièreoptimale. Cette liste n’est au départ qu’une longue liste chaînée de nœuds.

Stratégie :

1. parcourir la liste horizontale des nœuds ;

2. parcourir la liste des nœuds de coupures faisables précédemment crées, pour toutpoint de coupure légal ;

3. vérifier si on peut former des lignes faisables entre ces nœuds et le point légalcourant ;

4. associer à chaque ligne faisable crée un coût ;

5. choisir la version de paragraphe avec le coût optimal.

Au début de chaque paragraphe, l’algorithme crée un nœud dit actif, le second nœudactif est un nœud de coupure candidate, soit donc un nœud de glue, de césure ou dediscrétionnaire situé à une distance acceptable pour former une ligne potentielle.

93

Page 107: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Moteur de paragraphage optimum-fit Moteur de paragraphage

Mais, qu’est-ce qu’une distance acceptable ?

Soit L la longueur idéale de l’espace inter-marges, et l la somme des largeurs naturellesdes matériels - boîtes et ressorts - constituant la ligne. Soit X (resp. Y) la somme desétirements (resp. des rétrécissements) des ressorts. Si l < L, c’est-à-dire que la ligne abesoin d’être dilatée, on prend r = L−l

X.

En pratique, la laideur (badness) d’une ligne est donnée par b = 100× r3. Si cette valeurdépasse 10000, elle est considérée comme infinie. On compare la laideur à une valeurtolerance donnée 100. Ce dernier paramètre détermine la médiocrité que l’algorithmetolèrera sur la laideur de chaque ligne. Si b < tolerance, la coupure est donc faisable.Une classe de composition est associée à chaque ligne suivant la valeur b :

Classes:decent (2) si 0 ≤ b ≤ 12

loose (1) si 12 < b < 100

very loose (0) si b ≥ 100

En avançant dans la liste horizontale des nœuds, l devient supérieur à L, c’est-à-dire quela ligne à besoin d’être contractée. Dans ce cas la valeur r = l−L

Y.

Classes:decent (2) si 0 ≤ b ≤ 12

tight (1) si b > 12

Si r > 1 on met b =∞+ 1, et on se prépare à désactiver le nœud actif de départ.

Si tout se passe bien, et la laideur est inférieure (pre)tolerance, c’est que ce nœud se situeà une distance acceptable pour former une ligne candidate. À chaque ligne candidate estassociée une valeur de démérite. Le calcul de cette valeur tient compte de la laideur dela ligne potentielle et des différentes pénalités provenant du point de coupure :– sur une césure ;– sur une double césure ;– sur un point aboutissant à deux lignes consécutives qui sont incompatibles visuelle-

ment.Vu que le système peut dilater ou contracter les espaces inter-mots et vu la médiocritétolérée sur chaque ligne, il peut y avoir plusieurs nœuds candidats adjacents au nœud dedépart. La liste des nœuds ainsi créé va ensuite être enchaînée.

Quand on s’éloigne d’un nœud actif de départ, c’est-à-dire à une distance suffisammentgrande que la valeur de L, on le désactive et on lui associe un nœud dit passif. Lesnouveaux nœuds ainsi créés servent à déterminer d’autres nœuds actifs et ainsi de suitejusqu’à la fin du paragraphe.

À partir des différentes combinaisons des nœuds de coupure faisables obtenus, on construitun graphe acyclique dont les sommets sont les nœuds de coupures et les arêtes sont les

94

Page 108: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Mise en œuvre d’un modèle pour la justification Moteur de paragraphage

paires des nœuds adjacents. À chaque arête est associé un poids numérique, le démérite.Le problème revient donc à calculer le chemin le plus court du graphe. Un problèmedont D. Knuth donne la solution dans son livre The art of computer programming [62],et une implantation dans le moteur de paragraphage de TEX. Un tel moteur choisitentre toutes les versions des paragraphes candidates, celle avec le moindre de déméritequi n’est autre que la somme des démérites des lignes segmentant le paragraphe.

Pseudo-code :

active = [0]; nwords := len(paragraph)for each w in range(1,nwords):# vérifier la faisabilité de la coupure après le mot wprint "Recent word",wfor a in active:line := paragraph[a:w+1]if w==nwords-1:

# considérer la dernière ligne comme parfaitebadness := 0

else:# calculer la laideur de la lignebadness := compute_badness(line)print "..line=",line,"; badness=",badnessif badness > tolerance :

# désactiver le noeud actifactive.deactivate(a)print "active point",a,"deactivated"

else:# calculer le coût de la coupure après le mot

update_demerit(a,w,badness)active.append(w)

6.5 Mise en œuvre d’un modèle pour la justification

L’écriture arabe est dotée d’une série de techniques issues de la tradition de l’écriture ma-nuelle pour réaliser la justification. Ces techniques évitent dans la mesure de possibleles insertions de blancs. Ceci procure un aspect équilibré car les espaces disgracieusessont évitées. Le chapitre 4 est une étude exhaustive de cet aspect des choses, dont l’ob-jectif était de déterminer les contextes auxquels répondent l’utilisation de la kashida etdes allographes, en vue d’implanter cette « grammaire graphique » dans un système decomposition de texte arabe.

La présente proposition se restreindra à une amélioration de l’algorithme de paragra-

95

Page 109: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Mise en œuvre d’un modèle pour la justification Moteur de paragraphage

phage optimum-fit. Cela en tenant en considération l’existence de variantes allogra-phiques fournit par la fonte OpenType.

6.5.1 Typographie dynamique

On essayera d’enrichir le graphe modélisant le paragarphe en y introduisant d’autressommets afin d’améliorer l’optimisation du paragraphe. Dans ce qui suit, on présentel’amélioration qu’on apporte à l’algorithme de paragraphage de optimum-fit. On sepermet d’utiliser une seule variante allongée par ligne et cela en conforme avec les règlesde la calligraphie arabe [25].

La variable l contient la largeur produite par le groupe de glyphes et ressorts sur laligne alors que L contient la valeur à laquelle la ligne courante doit être justifiée. Enparcourant la liste horizontale, et chaque fois qu’un nœud de glyphe est rencontré, onvérifie si la table jalt en fournit une autre variante. Tant qu’on n’a pas trouvé d’entréesdans jalt, on procède comme dans l’optimum-fit ordinaire, l’algorithme augmentela valeur l par la chasse du glyphe de ce nœud et on teste la faisabilité de coupurepour chaque point de coupure légale. Cette procédure consiste à parcourir la liste denœuds actifs et de répertorier les lignes que l’on peut composer entre chacun de cesnœuds actifs et le nœud courant. Quand on peut former une ligne entre un nœud actif,alors ce dernier devient actif à son tour et s’ajoute à la chaîne. Les nœuds actifs quisont trop éloignés du nœud courant sont désactivés. Dans le cas contraire où le glyphecourant a une variante allongée dans la table jalt. La différence entre les deux valeursdes deux chasses est calculée : la chasse du glyphe par défaut et la chasse de la varianteallographique. C’est la variable retard qui tient cette différence. La largeur des deuxlignes avancent avec un décalage de retard. La laideur de la ligne est donc calculée deuxfois et cela en tenant compte du retard produit par la variante allographique. Pour leteste de faisabilité, il y aura deux essais, un premier essai en faisant le calcul avec lachasse du glyphe par défaut, et une deuxième fois en faisant le calcul avec la chasse dela variante allographique. Si la différence calculée pour le premier cas est r1 = L − l

il sera pour le deuxième cas r2 = L − l + retard. Si tout se passe bien, et l’une desvaleurs des laideurs b1 ou b2 est inférieure à tolerance, c’est que le point courant estune coupure faisable. Plusieurs cas peuvent se présenter : cette faisabilité est le résultatdu calcul avec le glyphe par défaut ou le glyphe alternative, on crée alors un nœud actifet on le labellise pour indiquer que la composition est le résultat d’un parcourt de laliste en passant par le glyphe par défaut label0 ou en passant par le glyphe alternativelabel1. On indique pour le nœud actif ainsi crée la position du glyphe en question dansla liste horizontale. On va alors calculer le démérite d. Si le nœud récemment trouvé estissu des deux calculs, et les deux laideurs b1 et b2 satisfont la condition de faisabilité. Lesdeux démérites d1 et d2 seront calculés, mais on ne garde que le passage avec le moindre

96

Page 110: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Mise en œuvre d’un modèle pour la justification Moteur de paragraphage

démérite. Un cas échéant peut être aussi évoqué, celui où on trouve les deux déméritessont égaux à une valeur près, on garde la composition avec le glyphe non allongé. Biensûr, on préfère une composition qui tient dans la bonne largeur sans faire illusion à unallongement.

La ligne allongée peut très bien atteindre la fin de ligne souhaitée avant la ligne ordinaire.Dans ce cas, on est presque à la fin de la ligne hypothétique ordinaire, et au début de laligne qui suit la ligne hypothétique allongée. Si une variante de certain glyphe apparaîtici, Il sera répertorie, mais il sera associé au nœud de coupure récemment créé, et il nesera prise en compte que lorsqu’on cherche la faisabilité des lignes commençant par cedernier.

Quand on sera trop loin du nœud actif placé à l’origine, c’est-à-dire que b1 et b2 sontsupérieurs à tolerance, on le désactive, et retard est mis à zéro. On continue, et dès quel’on est de nouveau à une distance acceptable d’un nœud actif, on crée des nouveauxnœuds actifs, de même, dès que l’on est trop loin d’un nœud actif, on le désactive. Encontinuant ainsi, on arrive à la fin de paragraphe, que l’on déclare également nœud actif.

6.5.2 Allongements interdits

Dans la section 4.2.2, nous spécifions des règles concernant les contextes auxquels ré-pond l’utilisation des élongations : leurs contextes, les positions où peuvent intervenir,et leur nombre.

On associe des pénalités à chaque utilisation d’une variante allongée. Ces paramètresspécifient les démérites que le système répartit pour chaque coupure de ligne quandil coupe un paragraphe en lignes. Ces pénalités sont indépendantes du lieu de cou-pure. Augmenter les valeurs de ces paramètres demande au système d’essayer plus for-tement d’éviter les allongements non permises, même au coût d’autres considérationsesthétiques. Les démérites sont en unités de médiocrité au carré, donc l’utilisateur doitassigner une valeur plutôt large à ce paramètre - dans les milliers - pour qu’il ait unquelconque effet.

À ce stade, on distingue entre plusieurs sortes de pénalités.

6.5.3 Pénalités

Pénalité de position : Les propositions de la section 4.2.2 - d’ailleurs des traités histo-riques au sujet - sur les positions des allongements sur la ligne montrent des différencesdans les détails.

Au sens de justification, la forte présence de kashida-s en fin de ligne chez les calligraphesa un prétexte. Une élongation ne peut être estimée que vis-à-vis de la limite de la ligne.La kashida est déclenchée par la distance par rapport à la fin de ligne. Dans tout les

97

Page 111: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Mise en œuvre d’un modèle pour la justification Moteur de paragraphage

cas, la superposition de deux élongations sur deux lignes consécutives ne peut être vueque comme un défaut. Éviter l’effet d’escalier issu d’une telle superposition est souhaitépour obtenir un gris typographique uniforme.

Dans notre modèle, on associe une pénalité à la deuxième ligne sur laquelle se trouveune élongation qui se situe juste au-dessous d’une autre. La superposition de trois élon-gations évoque bien sûr une pénalité plus élevée.

Pénalité d’occurrence : Dans la section 4.2.2, nous donnons une énumération des oc-currences admises à l’élongation. En général, il ne faut pas abuser des allongements dansdes mots composés en deux et trois lettres. Les mots en quatre lettres sont les mots lesplus susceptibles d’être allongés, et il est préférable de porter la kashida sur la deuxièmelettre.

Dans notre modèle, on avance dans la liste horizontale, et on suit les glyphes au pasavec deux nœuds de retard. Cela nous permettra d’analyser le contexte d’un glyphelorsque celui ci a une entrée dans jalt. On distribue des pénalités dans le cas des allon-gements strictement interdits. Mais, on doit être avaricieux dans les autres cas pour nepas compromettre la qualité du gris typographique.

Pénalité sémantique : Contrairement aux types de pénalités précédemment évoqués,on introduit dans notre modèles des pénalités sémantiques qui dépendent cette fois cide l’endroit où la coupure a eu lieu. Augmenter la valeur de ces paramètres transmitun message au système de composition pour l’encourager à éviter certaines coupuressémantiquement interdites. Cela servira à interdire la coupure entre deux mots donnésoù une coupure n’est pas recommandée, par exemple, entre le nom et le prénom d’unepersonne ou à l’intérieur d’un mot composé. Ces types de pénalités ne sont pas im-plantés, faute du système TEX qui ne met pas au point des systèmes de reconnaissancesémantique de texte.

6.5.4 Just4ArT

Pour mettre en œuvre notre modèle, nous avons besoin fondamentalement de deuxcomposantes : une fonte adéquate au format OpenType et une technologie de rendutextuel adaptée. Pour la fonte, nous avons utilisé Arabic Typesetting distribuée avecVisual OpenType Layout Tool (VOLT). La fonte en question contient une table jaltspécialement pour l’arabe. Elle a été utilisée uniquement à titre d’illustration sans au-cune altération. Arabic Typesetting contient de nombreuses formes de glyphes, telsque des ligatures et des formes alternatives. Ces glyphes peuvent n’avoir pas de codeen Unicode. Cependant, ces glyphes ont des index de glyphe (glyph index). Les appli-cations y accèdent en exécutant une fonctionnalité OpenType qui leur fait référence,en particulier, les glyphes dans la table jalt. Cette fonctionnalité de la fonte ArabicTypesetting nous fournit certains glyphes alternatifs (voir la table 6.1). Le nombre de

98

Page 112: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Mise en œuvre d’un modèle pour la justification Moteur de paragraphage

Table. 6.1 – Table jalt de la fonte Arabic Typesetting

glyphes fournis est en quelque sorte très limité3. Nous avons aussi omis l’utilisation dela forme Alef allongé, en fait, nous supposons qu’un allongement doit être en avant.

Le deuxième élément dont nous avons besoin est un moteur de rendu textuel mettant enœuvre l’algorithme de coupure de paragraphe en lignes de D. Knuth et ayant l’avantagede prendre en charge ce qu’une fonte OpenType peut offrir comme fonctionnalités.Nous avons opté pour le système X ETEX.

L’implantation ne peut être réalisée sans des modifications profondes sous le capot de lafaçon avec laquelle X ETEX manipule un texte. Sachant que ce système altère le modèlede D. Knuth basé sur des nœuds de caractères et les remplacent avec des nœuds de mots,le modèle caractère/glyphe est implanté au niveau du moteur ICU [7] (voir figure 6.2).

6.5.5 OpenType via ICU

Alors que la mise en œuvre initiale de X ETEX était basé sur le système de rendu AT-SUI d’Apple, la disponibilité et l’émergence croissantes des fontes OpenType ont donnénaissance à une volonté chez J. Kew d’implanter également cette technologie. Le sys-tème a donc été étendu en y intégrant le moteur de rendu OpenType via ICU4.

X ETEX traite les mots comme des « boîtes noires » et il ne se demande que de leursmétriques. Aucune règle de substitution de glyphes n’est implantée au niveau du pro-gramme principal. À partir d’une liste de caractères, la classe OpenTypeLayoutEnginedu moteur ICU est utilisée pour rendre la liste des glyphes et leurs positions. La chaînede glyphes résultante est stockée dans les nœuds de « mot » dans la liste du paragraphequi sera traité par X ETEX. Lorsque la source (tex) fait appel à une fonte OpenType par-ticulière, X ETEX via ICU, cherche au sein de la fonte les règles nécessaires pour traitercorrectement les mots. Les règles de substitution sont définies « en dur » dans la table

3Nous sommes encours de développer une fonte respectant les règles de la calligraphie arabe.4International Components for Unicode (voir http://oss.software.ibm.com/icu/).

99

Page 113: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Mise en œuvre d’un modèle pour la justification Moteur de paragraphage

Moteur de

paragraphage

ICU

hmtx GSUB

Paragraphe

Figure. 6.2 – Architecture du moteur de paragraphe

GSUB de la fonte OpenType. Mais, la fonte ne peut manipuler que l’interaction entreglyphes, et elle n’a aucune connaissance préalable du texte qui va être composé parces glyphes, ou les stratégies de justification qui vont être adoptées par le système decomposition.

Malheureusement, au moment de la réalisation de cette implantation, le projet ICU

n’offrait pas encore de support pour la justification. Nous avons assisté la bibliothèquelibotf qui nous fournira les éléments de la table jalt. Ces éléments seront utiliséspour améliorer l’optimisation des paragraphes. Dans notre modèle, lorsque le moteurde paragraphage décide d’utiliser une variante de glyphe, ce choix doit être communiquéau module OpenTypeLayoutEngine pour altérer le glyphe par défaut suivant l’architec-ture de la figure 6.3. Une partie de la table GSUB, éventuellement de la table GPOS doitêtre flexible et ouverte aux propositions du moteur de paragraphage qui fait le choix desglyphes.

6.5.6 Résultats pratiques

Nous donnons un exemple illustrant la différence entre un paragraphe composé avecl’algorithme optimum-fit (voir figure 6.5) et le même paragraphe composé avec notrealgorithme amélioré Just4ArT5. Dans cet exemple (voir figure 6.4), on remarque quel’algorithme a choisi le glypheE au lieu de celui par défaut A dans la première ligneet la troisième ligne, et le glyphe C au lieu de D dans la deuxième ligne. Dans

5Justify just or just justify for an Arabic text in TEX on art. Just4ArT

100

Page 114: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Approche CurExt pour la justification Moteur de paragraphage

GSUBhmtx

Moteur de

jalt

paragraphage

ICU

Paragraphe

Figure. 6.3 – Architecture améliorée de moteur de paragraphe

la seconde ligne, il aurait pu choisir le glypheF au lieu de B Certainement, cettecomposition aurait introduit une pénalité de position puisqu’il est en dessous d’un al-longement dans la première ligne. Il aurait également choisi le glypheE à la place deA, une telle situation aurait pu introduire une autre pénalité de position, puisque il estau-dessus d’un allongement dans la troisième ligne du paragraphe.

6.6 Approche CurExt pour la justification

Le moteur OpenType pour la justification présenté dans la table JSTF ainsi que celui deGraphite adoptent une approche multi-niveaux suivant une suite de priorités. Chaqueniveau de priorité est basé sur une stratégie. La première stratégie de notre modèleest basée sur une optimisation au niveau du paragraphe tout entier et une utilisationdes variantes de glyphes. Ces variantes peuvent être des allographes ou des variantesallongées pré-confectionnées, et préparées dans la table jalt, à être employées pour lajustification. Malheureusement, c’est rare qu’on trouve une table jalt dans les fontescouramment utilisées. La plupart des concepteurs de fontes s’occupent rarement de cegenre de questions car traditionnellement c’est aux typographes de les résoudre. Nousestimons que les règles et les stratégies intervenant doivent faire partie intégrante dusystème de composition, c’est-à-dire que c’est au système de décider quand et commentun glyphe va contribuer à la justification : être altéré, être allongé ou autre. Mais cela neveut pas dire que la fonte est exonérée de toute responsabilité. Nous l’avons déjà dit, lesrègles de substitution sont définies « en dur » dans les tables OpenType. Pour aboutir àune solution, il faut que ces règles soient communicatives et prêtes à être modifiées encas de besoin.

101

Page 115: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Approche CurExt pour la justification Moteur de paragraphage

!"# $ %&'

() * +,(- ./0123-45.467869: %)&# $ %&

!" #$ %&' () * + ,- ./ 012 3 456 78 49: (; <=

>?(@AB' () *C(, ): (; < >D= E <= F

Figure. 6.4 – Paragraphe composé en optimum-fit amélioré

!"# $ %&'

() * +,(- ./0123-45.467869: %)&# $ %&

!" #$ %&' () * + ,- ./ 012 3 456 78 49: (; <=

>?(@AB' () *C(, )>DE: (; < = F <=

Figure. 6.5 – Paragraphe composé en optimum-fit ordinaire

Une deuxième solution moins coûteuse peut être utilisée. On tente de réopérer les lignesproduites par un algorithme optimum-fit ordinaire. On utilise une stratégie basée com-plètement sur des allongements par kashida-s pour étirer des glyphes, et non pas desaltérations. Dans ce cas, le système de composition se charge de sélectionner les glyphesà allonger et leur degré d’extensibilité. C’est d’ailleurs la façon avec laquelle le systèmeCurExt (voir chapitre 2) opère les expressions mathématiques et les symboles exten-sibles curvilignes. L’idée de CurExt est d’introduire un fichier de paramètres indiquant àla fonte dynamique la taille ou la quantité d’extensibilité des glyphes. La premier entraveface à cette approche si on veut l’appliquer dans un système de composition de texte estla conception d’une fonte dynamique en OpenType. Les auteurs de [26][70][20][21][38]ont choisi d’utiliser le générateur de fontes METAFONT ou PostScript, sûrement cela est

102

Page 116: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Approche CurExt pour la justification Moteur de paragraphage

dû aux possibilités offertes par ces formats permettant de faire appel à un fichier de pa-ramètres généré à la volée par leurs systèmes. Par exemple, le format PostScript Type 3autorise toutes les constructions de ce langage : la possibilité d’utiliser des variables, desboucles, des instructions conditionnelles et essentiellement la possibilité de paramétrerles procédures définissant des courbes. Cela est exploité pour concevoir des fontes avecdes aspects aléatoires, par exemple pour simuler l’écriture manuscrite [14][35], ou deprogrammer les glyphes à partir d’un ensemble de paramètres.

Malheureusement, le format Type 3 est abandonné de plus en plus, et on ne s’attendpas vraiment à une évolution. Adobe, le créateur de ce format est pleinement orientévers OpenType. Ce qui incite les développeurs à se détourner vers les formats de fontesintelligentes, comme OpenType. Mais, à l’heure actuelle, le format de fonte OpenTypen’est guère que des tables définissant des fonctionnalités, certes, avancées mais sans au-cune possibilité de paramétrage. Nous allons plutôt exploiter ces fonctionnalités de latypographie avancée d’OpenType au lieu d’essayer de paramétrer les glyphes.

6.6.1 Kashida en OpenType

Le standard Unicode assigne à la kashida le point de code U+0640 et le nom “Ara-bic Tatweel”, le glyphe associé avec cette valeur est (–), mais à des fins d’illustrationuniquement. En effet, Unicode n’est pas une fonte. Mais cette forme d’illustration estdevenue une habitude pour les concepteurs de fontes et les développeurs d’outils decomposition. Vraisemblablement, par méconnaissance ou par ignorance. Pourtant, onpeut faire mieux en OpenType. À la place du trait d’union rectiligne, on met une formecurviligne adaptée.

La succession de traits (kashida-s) rectilignes aboutit à un trait (kashida) plus étendu.Ce n’est pas le cas pour une kashida curviligne, mais cela peut être aisément résolu enutilisant les règles de substitution OpenType. Nous pré-confectionnons des kashida-savec des degrés d’extensibilité différents, que nous utiliserons dans le cas de succession.

6.6.2 CurExt en OpenType

L’algorithme optimum-fit découpe le paragraphe en lignes. On le laisse faire sans utiliserdes variantes de glyphes, on obtient une version optimale du paragraphe, en vue de cetalgorithme. Le résultat n’est pas forcement satisfaisant surtout pour une écriture cursiveoù ne peut pas découper des mots (voir figure 6.4). L’algorithme a donc besoin d’uncoup de pouce. On procède à un ajustement de chaque ligne si la ligne est trop courte.On ne le fait pas d’une façon « aveugle » mais en gardant l’œil sur ce qui c’est passé dansles autres lignes. Ce n’est plus le temps de dispersion aléatoire des kashida-s. La sélectiondes glyphes à allonger suit certaines règles :

103

Page 117: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

– se référer à la table 4.2 pour trouver les points d’allongement permis et leurs degrés ;– prendre soin à ne pas avoir une superposition de deux kashida-s sur deux lignes qui

se suivent ;– insister à ce que l’allongement produit soit suffisant à remplir le blanc opéré sur la

ligne, pour ne pas être obligé de chercher à allonger un deuxième glyphe dans lamême ligne.

On adopte une stratégie best-fit, pas pour trouver les points de coupure puisque cettetâche est déjà accomplie par l’optimum-fit. On l’utilisera pour retrouver le bon pointet le bon degré qui contribuent le mieux à la gestion du blanc. L’approche considèreplusieurs possibilités d’étirement et en choisit le meilleur, en vue des trois contraintescitées au-dessus. Pour se faire, deux types de pénalités peuvent être considérés :– pénaliser plus les allongements qui ne comblent pas parfaitement l’excès de blanc sur

la ligne ;– pénaliser plus les allongements situés au-dessus d’un autre allongement.

6.7 Justification de texte multilingue

L’amélioration des logiciels de composition de texte - en termes de qualité typogra-phique dans un contexte multilingue - est entrée dans une nouvelle ère au début desannées quatre-vingt-dix, à peu près en parallèle avec l’émergence d’Unicode.

Quand un texte au sein d’un même bloc mélange plusieurs directions, l’algorithme bidid’Unicode affiche chaque suite contiguë de caractères de même direction sous la formed’un ensemble de passages ou de segments directionnels (gauche-à-droite ou droite-à-gauche) distincts. Dans la majorité des cas, l’algorithme bidi traitera parfaitement cespassages ainsi que les caractères neutres comme les espaces et les signes de ponctuationqui se retrouvent parfois en pleine crise d’identité. L’algorithme qui découpera le pa-ragraphe en lignes ne se préoccupe pas en général de l’ordre d’affichage, puisqu’il vaprendre l’ensemble de boîtes représentant le texte dans l’ordre logique. Il en résulte quecertains passages vont être découpés et se retrouvés co-loger avec d’autres de différenteslangues. Quand deux segments provenant de deux mondes différents partagent la mêmeligne, et que cette ligne ait besoin d’être justifiée, on se retrouve face à la question, quelpassage prendra en charge la gestion du blanc sur la ligne ? Or chaque langue a sespropres stratégies et priorités pour procéder à la justification. Certaines de ces stratégiessont communes entre différents systèmes d’écritures, comme l’utilisation d’espacementet de variantes de glyphes, ou encore des manipulations de ligatures. La présence et laforce de ces techniques se diffèrent d’une langue à l’autre. Par exemple, le rôle de li-gatures pour l’arabe est beaucoup plus signifiant que pour le latin. Mais aussi, il y ades stratégies qui sont propres à certaines systèmes d’écritures comme la kashida pourl’arabe.

104

Page 118: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Le résultat de l’algorithme de justification, pour quelques systèmes, dépend du contextedirectionnel global du paragraphe, du bloc ou de la page auquel il s’applique. Toutefois,si on applique une approche de tolérance entre segments, on peut obtenir des résultatsencore plus satisfaisants. Une telle approche ne favorise pas un système d’écriture parrapport à un autre. La gestion de blanc sur une ligne à justifier, sur laquelle plusieurspassages cohabitent, peut être confiée entièrement à une stratégie et un segment donné,ou encore partagée entre différentes stratégies et différents segments. D’ailleurs, nousavons assisté à quel point cet esprit de sacrifice et de dialogue a donné de bons résultats,pour les algorithmes de coupure de paragraphe en lignes, dépassant largement ce quel’on fait avec les algorithmes basés sur un esprit glouton !

105

Page 119: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Conclusion

OBJECTIFS

Le but initial de cette thèse était de dynamiser les procédés typographiques de composi-tion de textes. Que ce soit pour le latin ou pour l’arabe, retrouver cet aspect dynamiqueest une aide essentielle pour renouer avec la qualité typographique dans le documentnumérique. Au début, et tout naturellement, nous avons pensé à concevoir des « fontesdynamiques » pour les mathématiques ainsi que pour le texte. Il est rapidement apparuqu’il n’était pas possible de s’attendre à des résultats satisfaisants en adossant unique-ment la machinerie et la technologie de fontes sans adapter les systèmes qui en faisaientusage. RESULTATS

Pour la composante scientifique, en particulier, les expressions mathématiques, et dansle but d’avoir une bonne qualité typographique, nous avons choisi les normes et lesprincipes de base du rendu visuel du système TEX, qui se présente comme le systèmele mieux adapté permettant d’accéder à une qualité de présentation exceptionnelle. Lesystème CurExt améliore la qualité de l’affichage des symboles curvilignes extensibles Adaptation du

système CurExtdans TEX. Il permet de faire les premiers pas dans la voie de la justification du textearabe en utilisant la kashida curviligne, ce qui permet de respecter certaines règlesdes allongements de la calligraphie arabe. Nous avons commencé par la réalisation de lacomposante dynamique de la fonte en PostScript, cette fonte fonctionne avec le système Fonte dynamique

en PostScriptCurExt que nous avons adapté pour la composition de certains symboles, tels que lesparenthèses et la kashida. L’approche et la technique sont faciles d’être généralisées àd’autres symboles extensibles de tailles variables. Aujourd’hui, le support du formatType 3 se réduit de plus en plus. Il semble bien que la pratique va finir par trancher enfaveur des formats de fontes intelligentes. Une adaptation de l’approche CurExt dans lecas du format OpenType est présentée comme dernière issue dans ce mémoire.

Puis, nous avons confectionné une fonte mathématique RamzArab en style Naskh au FontemathématiqueRamzArab en

OpenType

format OpenType. Elle répond aux exigences suivantes :– homogénéité : les symboles sont conçus avec la même plume. Ainsi, leurs formes,

leurs tailles, leurs graisses ainsi que leurs autres attributs sont homogènes ;– intégralité : elle contient en plus, des symboles alphabétiques en diverses variantes

spécifiques aux mathématiques arabes. Ces symboles sont soumis pour être inclus

106

Page 120: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

dans le standard Unicode, et ils sont acceptés. Cette fonte est offerte comme un pa-quetage utilisé par le système RyDArab. Elle est utilisée pour la présentation desexpressions mathématiques arabes sur le Web à travers Dadzilla. Elle peut bien sûrêtre utilisée par n’importe quel autre système de composition des expressions mathé-matiques dans un e-document scientifique arabe.

Notre passage de la typographie latine nous a été nécessaire, pour constater essentiel- Justification entypographie latinelement deux faits. Le premier est celui concernant l’écriture latine. Les techniques de

Gutenberg - mais pas toutes - ont toujours un champ d’application pour améliorer legris typographique d’un texte latin. La médecine inventée par des typographes commeZapf et Thành, à savoir la mise à l’échelle des glyphes, est valable à être tenue, mais avecla grande précaution et le bon usage. Le deuxième fait, est celui concernant la typo-graphie arabe. La disposition d’un certain nombre de programmes et de techniques dejustification de texte latin, ne doit pas amener à infliger l’écriture arabe pour s’imposerà de telles techniques. En particulier, la mise à l’échelle horizontale des glyphes n’estaucunement adaptable à l’arabe.

Notre conscience du grand danger que représentent les mauvaises habitudes pour jus- Justification entypographie arabetifier un texte, en particulier, arabe, nous a incité à chercher les bonnes manières de

justification, et on les a trouvé dans les pratiques des calligraphes. Ces règles ne pré-sentent pas uniquement une différence d’appréciation esthétique mais surtout une aideessentielle à la lisibilité et à la compréhension du texte. Nous avons tiré des règlesconcernant l’utilisation des allographes, des ligatures et des allongements curvilignesdes lettres dans un texte arabe. Notre but était, et il était en mesure, de se servir deces règles pour retrouver un formalisme et de déterminer les besoins précis auxquelsdevrait répondre notre modèle de justification de texte arabe.

Si on compare les architectures des moteurs de rendu textuel OpenType, AAT et Gra-phite, et les remèdes proposés pour les problèmes de lézardes dans un texte, on constatequ’il existe une volonté commune de retrouver la qualité de la typographie de Guten-berg. Les trois modèles présentent des similitudes, et des différences, dans leurs straté-gies. Actuellement, aucun des systèmes d’édition électronique n’en faisaient usage. Dupoint de vue théorique, un modèle de justification de texte dans une langue donnéedoit prendre en considération les traditions de son système d’écriture. Du point de vuetechnique, la mise en paragraphe d’un texte doit être basée sur de « bons » algorithmes.

Nous avons amélioré l’algorithme de pargraphage optimun-fit de D. E. Knuth pour Modèle de lajustification de texte

arabequ’il fasse usage des variantes de glyphes fournies par la fonte afin d’obtenir un gris ty-pographique plus régulier que celui produit par l’optimum-fit ordinaire. Ce qui nous apermit d’entreprendre un modèle prenant en charge les contraintes théoriques et tech-niques pour la justification de textes arabes.

Nous avons développé le système Just4ArT pour mettre œuvre ce modèle. Il est basé sur Just4ArT

107

Page 121: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

le système de composition de documents multilingues X ETEX. Le choix de ce systèmede base est guidé par le fait qu’il permet d’utiliser le format de fonte OpenType et le faitqu’il implante l’algorithme de paragraphage optimun-fit. En utilisant la fonte ArabicTypesetting pour évaluer notre implantation, nous nous sommes rendus compte à quelpoint la disposition d’une fonte respectant les règles de la calligraphie est devenu unbesoin crucial. Nous avons évoqué les bonnes directives pour se faire. PERSPECTIVES

En perspective, nous avons déjà anticipé deux projets pour le proche avenir : la coupure Coupure desexpressions

mathématiquesdes expressions mathématiques arabes en lignes, et la mise en œuvre d’un modèle dejustification dans un document multilingue et bidirectionnel. Justification et texte

bidirectionnelSi la table jalt de la fonte que nous avons utilisé ne présente que des variantes deglyphes arabes, sûrement, les variantes plus larges ou plus étroites peuvent être utiliséesaussi pour l’égalisation de ligne de texte latin. Cependant, cela doit être fait à base d’un Extension

formalisme de cette pratique propre à ce contexte.

Une deuxième étape entamée concernant l’utilisation de substitutions multiples deglyphes, comme les ligatures et les abréviations, pour améliorer la justification du texte Utilisation des

ligaturesarabe. Pour ce faire, il faut que le système soit capable d’activer ou de désactiver defaçon dynamique ces composantes, selon les exigences de chaque ligne de texte et enrespectant les traditions de l’écriture et les contraintes de lisibilité.

De nos jours, les concepteurs de sites Web peuvent spécifier les marges et la largeur Web

d’un paragraphe, contrôler l’espacement entre les glyphes et entre les mots. . ., grâceaux feuilles de style en cascade. En revanche, sur le Web, la taille, la résolution, et mêmela mise en page, peuvent varier avec le navigateur et le système utilisé pour visualiser lesite. Ainsi, le développement d’un système de justification efficace pour le Web devientun problème délicat.

La justification entreprit par notre modèle est une justification d’un texte rectangu- Effets spéciaux

laire avec une largeur quelconque donnée. À l’aide de la primitive \parshape, TEXpeut gérer un paragraphe dont la forme lui est précisée ligne par ligne. L’algorithmeoptimum-fit est capable de s’adapter à ces valeurs variables et par conséquent à desformes variées de paragraphe. Cependant, pour parachever des effets spéciaux d’un cotéou de l’autre du texte, on doit normalement faire beaucoup d’essais, insérer des crénagesdans plusieurs endroits ou même choisir des mots à la place d’autres pour articuler laforme générale. Il reste donc à trouver un algorithme capable de retrouver le meilleurréarrangement des mots pour achever la bonne justification du texte. APPLICATIONS

L’exercice typographique entreprit intéresse aujourd’hui aussi des chercheurs dans plu-sieurs spécialités, par exemple, la reconnaissance de l’écriture. En effet, les règles tirées Reconnaissance des

caractères arabespeuvent être très profitables pour la segmentation des tracés d’un texte lors de la numé-risation d’un manuscrit.

La consultation de certains documents d’archives manuscrits s’avère parfois très dif- Paléographie

108

Page 122: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

ficile. Pour franchir cette épreuve, la paléographie donne certaines clefs et points derepères afin de faciliter la lecture des textes anciens. Cependant, les lettres mutilées oudisparues ne pourront pas être restaurées tant qu’on ne procède de manière typogra-phique. Les règles, d’assimilation et de dissimulation de glyphes, de choix d’allographeset de présence de la kashida, seront très utiles pour le présage des parties manquantesdans un manuscrit.

La calligraphie arabe paraît aujourd’hui, comme un art menacé par la négligence dans Sauvegarde dupatrimoine de l’art

calligraphiqueplusieurs pays arabes. Les nouvelles techniques de la typographie ont fini peu à peu parla réduire en une simple curiosité parmi tant d’autres raretés exposées dans les muséesspécialisés et prisées par une minorité de professionnels et d’amateurs éclairés. Pratiquerde la typographie à base de la calligraphie, puis relever les difficultés techniques, aiderasensiblement à enlever l’indifférence, la méconnaissance et l’ignorance de la plupart desconcepteurs de fontes, et les développeurs de systèmes de compositions de textes, enversla calligraphie.

109

Page 123: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

Bibliographie

[1] Adobe Systems Incorporated. Document management – Portable document format– Part 1: PDF 1.7 First Edition, 2008.

[2] Adobe Systems Incorporated. PostScript Language Reference Manual. Second edi-tion, Addison-Wesley, 1992.

[3] Adobe Systems Incorporated. Unicode and Glyph Names. version 2.4, Last updatedseptember 2003.http://www.adobe.com/devnet/opentype/archives/glyph.html

[4] Apple. The ‘just’ table.http://developer.apple.com/textfonts/TTRefMan/RM06/Chap6just.html

[5] ISO. ISO 9036: information processing-Arabic 7 bits coded character set for informa-tion interchange. Genève, ISO, 1987.

[6] Microsoft. The OpenType Specification. version 1.4, 2002.http://www.microsoft.com/typography/otspec/default.htm

[7] SIL International. International Components For Unicode. version 4.0, 2008.

[8] The Unicode Consortium. The Unicode Standard. version 5.0, Addison-WesleyProfessional, 5th edition, 2006.

[9] Ron Ausbrooks, Bert Bos, Olga Caprotti, David Carlisle, Giorgi Chavchanidze,Ananth Coorg, Stphane Dalmas, Stan Devitt, Sam Dooley, Margaret Hinchcliffe,Patrick Ion, Michael Kohlhase, Azzeddine Lazrek, Dennis Leas, Paul Libbrecht,Manolis Mavrikis, Bruce Miller, Robert Miner, Murray Sargent, Kyle Siegrist,Neil Soiffer, Stephen Watt et Mohamed Zergaoui. Mathematical Markup Language(MathML). version 3.0, W3C Working Draft, World Wide Web Consortium, 2009.http://www.w3.org/TR/MathML3/mathml.pdf

[10] Abi Al‘abas Ahmed Bnu Ali Alqanqachandi (821h/1418). Sobh Ala‘cha fi Sina‘tAlincha. Version copiée de l’édition Al’amiriat avec des rectifications et une in-dexation détaillée, ministère de la culture et d’orientation nationale, l’institutionégyptienne générale de production, d’édition, d’impression et de distribution edi-tion.

110

Page 124: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

[11] Fayez Alhargan. http://www.linux.org.sa.

[12] Jacques André. Caractères numériques : introduction. Cahiers GUTenberg, Vol. 26,1997.

[13] Jacques André et Bruno Borghi. Dynamic fonts. Raster imaging and digital typo-graphy I. Cambridge University Press, pp. 198–204, 1989.

[14] Jacques André et Victor Ostromoukhov. PUNK : De METAFONT à PostScript. Ca-hiers GUTenberg, N 4, pp. 29–28, 1989.

[15] Jacques André. Ligatures & informatique. Cahiers GUTenberg, N 22, 1995.

[16] Patrick Andries. Entretien avec Ken Whistler, directeur technique du consortiumUnicode Document numérique, Vol. 6, pp. 329–351, 2002.

[17] Vlad Atanasiu. Le phénomène calligraphique à l’époque du sultanat mamluk. PhDthesis, 2003.

[18] Vlad Atanasiu. Allographic Biometrics and Behavior Synthesis. In EuroTEX’2003:14th European TEX Conference, pages 103-108, Brest, France, 2003.

[19] Gideon Avrahami et Vaughan Pratt Sub-pixel edge detection in character digitiza-tion. Raster imaging and digital typography II. Cambridge university press, 1991.

[20] Mostafa Banouni, Mohamed Elyaakoubi et Azzeddine Lazrek. Dynamic Arabicmathematical fonts. Lecture Notes in Computer Science (LNCS), Springer Verlag,Vol. 3130, pp. 149–157, ISBN 3-540-22801-2, 2004.

[21] Abdelouahad Bayar et Khalid Sami. An Optimal Way to Encode the Outlines ofVariable Sized Arabic Letters in a PostScript Font. WSCG, Czech, 2008.

[22] Abdelouahad Bayar et Khalid Sami. How a Font Can Respect Basic Rules of ArabicCalligraphy. International Arab Journal of e-Technology, Vol. 1, N 1, 2009.

[23] Mohamed J. E. Benatia, Azzeddine Lazrek et Khalid Sami. Arabic mathematicalsymbols in Unicode.

[24] Mohamed J. E. Benatia, Mohamed Hssini et Azzeddine Lazrek. Diacritical signsin Arabic e-document. CSPA’08, The 4th International Conference on ComputerScience Practice in Arabic, Doha, Qatar, 2008.

[25] Mohamed J. E. Benatia, Mohamed Elyaakoubi et Azzeddine Lazrek. Arabic TextJustification. TUG2006, Marrakech.

[26] Daniel M. Berry. Stretching Letter and Slantedbaseline Formatting for Arabic,Hebrew and Persian with ditroff/ffortid and Dynamic PostScript Fonts Software-Practice & Experience, N 29 : 15, 1999, pp. 1417–1457.

[27] Peter Bezier. Essai de définition numérique des courbes et des surfaces expérimentales.thèse de doctorat ès-sciences, Université Pierre et Marie Curie, 1977.

[28] Charles Bigelow et Kris Holmes. Création d’une police Unicode. Cahiers GUTen-berg, Vol. 20, 1995.

111

Page 125: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

[29] Johannes Braams. Babel, a multilingual package for use with LATEX’s standard docu-ment classes. 2006.

[30] Wlodzimierz Bzyl. The Tao of Fonts. TUGboat, Vol. 23, pp. 27–39, 2002.

[31] Florian Cajori. A history of mathematical notation. (The Open Court PublishingCompany, La Salle, 1928-1929) Dover Publications, NewYork, 1993.

[32] Tim Comber. The importance of text width and white space for online documenta-tion. School of Commerce and Management Papers, Southern Cross University,1994.

[33] Philippe Coueignoux. Character Generation by Computer. Computer Graphicsand Image Processing, Vol. 16, pp. 240–269, 1981.

[34] Luc Devroye. Formations les formats de fontes. Cahier GUTenberg, N 46-47, pp.149–166, 2006.

[35] Luc Devroye et Michael McDougall. Random fonts for the simulation of handwri-ting. Electronic Publishing–Origination, Dissemination, and Design, 8(4):281-294,1995.

[36] Mustapha Eddahibi, Azzeddine Lazrek et Khalid Sami. Arabic mathematical e-documents. Lecture Notes in Computer Science (LNCS), Springer Verlag, Vol.3130, pp. 158–168, 2004 International Conference on TEX, XML and Digital Ty-pography TUG2004, Xanthi, Greece, TUG2004 Preprints pp. 42–47, 2004.

[37] Mustapha Eddahibi. Étude et réalisation d’outils de codage et de composition due-document mathématique arabe. Thèse de doctorat, Université Cadi Ayyad, Mar-rakech, 2007.

[38] Hossam A. H. Fahmy et Ameer M. Sherif,. Parameterized Arabic font developmentfor AlQalam. TUGboat, Vol. 29, 2008.

[39] Jonathan Fine. Line breaking and page breaking. TUGboat, Vol. 21, N 3, pp.210–221, 2000.

[40] David R. Fuchs et Donald E. Knuth. Optimal prepaging and font caching. Vol. 7,N 1, pp. 62–79, 1985.

[41] Jakob Gonczarowski. A fast approach to auto-tracing, with parametric cubics. Rasterimaging and digital typography, Vol. 2, pp. 1–15. Cambridge university press,1991.

[42] Tereza Haralambous et Yannis Haralambous. Characters, Glyphs and Beyond. InProceedings of the Glyph and Typesetting Workshop, Kyoto, Japon, 2003.http://omega.enstb.org/yannis/pdf/kyoto-tereza.pdf

[43] Yannis Haralambous. Fontes & codages. O’Reilly, Paris, 2004.

[44] Yannis Haralambous. Tour du monde des ligatures. Cahiers Gutenberg, N 22, pp.69–80, 1995.

112

Page 126: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

[45] Yannis Haralambous. Voyage au centre de TEX. Cahiers GUTenberg N 44, 2004.

[46] Yannis Haralambous. Omega Becomes a Texteme Processor. EuroTEX, 2005.

[47] Yannis Haralambous. Une police mathématique pour la Société Mathématique deFrance : le SMF Baskerville. Cahiers GUTenberg, Vol. 32, pp. 5–19, 1999.

[48] Yannis Haralambous et John Plaice. Multilingual Typesetting with Ω, a Case Study:Arabic. Proceedings of the International Symposium on Multilingual InformationProcessing (Tsukuba), pp. 137–154, 1997.

[49] Yannis Haralambous. Simplification of the Arabic Script: Three Different Approachesand their Implementations.

[50] Yannis Haralambous et John Plaice. Ω, une extension de TEX incluant Unicode etdes filtres de type Lex. (Traduction française d’Eric Picheral). Cahiers GUTenberg,N 20, 1995.

[51] Yannis Haralambous. The Traditional Arabic Typecase Extended to the Unicode Setof Glyphs. Electronic Publishing, Vol. 8(2-3), pp. 111–123, 1995.

[52] Jost Hochuli et Robin Kinross. Designing books: practice and theory. London:Hyphen Press, 1996.

[53] Morten Hogholm. The breqn package. version 0.98a, 2008.

[54] M. Hosken, B. Hallissy, W. Cleveland, S. Correll et A. Ward. Graphite DescriptionLanguage. version 2.003, SIL Non-Roman Script Initiative (NRSI), 2007.

[55] Jean-Michel Hufflen. Vers une extension multilingue de BIBTEX. Cahiers GUTen-berg, N 39–40, 2001.

[56] Youssef Jabri. The Arabi system–TEX writes in Arabic and Farsi. TUGboat 27,International Conference on Digital Typography & Electronic Publishing: Loca-lization & Internationalization, TUG2006, Marrakesh, Morocco, 2006.

[57] Peter Karow. Le programme hz : micro-typographie pour photocomposition de hautniveau. Cahiers GUTenberg N 27, 1997.

[58] Robin Kinross. Unjustified text and the zero hour. Information Design Journal, Vol.7, N 3, pp. 243–252, 1994.

[59] Donald E. Knuth et Michael F. Plass. Breaking paragraphs into lines. Software:Practice & Experience, 11(11) : 1119–1184, 1981.

[60] Donald E. Knuth. TEX: The Program, Computers and Typesetting. Vol. B.

[61] Donald E. Knuth. The METAFONTbook. Stanford University.

[62] Donald E. Knuth. The art of computer programming. Vol. 4, Addison-WesleyProfessional, 2006.

[63] Donald E. Knuth. Virtual fonts: More Fun for Grand Wizards. TUGboat, Vol. 11,N 1, 1990.

113

Page 127: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

[64] Jonathan Kew. The Multilingual Lion: TEX learns to speak Unicode. 27th Internatio-nalization and Unicode Conference. Berlin, Germany, 2005.

[65] Klaus Lagally. ArabTEX–Typesetting Arabic with Vowels and Ligatures. EuroTEX’92(Prague), 1992.

[66] Ahmed Lakhdar-Ghazal. Arabe Standard Voyellé – Code Arabe. Institut d’Étudeset de Recherches pour l’Arabisation, Rabat, 1988.

[67] Azzeddine Lazrek. Vers un système de traitement du document scientifique arabe.Thèse d’État ès-Science, Université Cadi Ayyad, Marrakech, 2002.

[68] Azzeddine Lazrek. Aspects de la problématique de la confection d’une fonte pourles mathématiques arabes. Cahiers GUTenberg, Vol. 39-40, Le document au XXIe

siècle, pp. 51–62, 2001.

[69] Azzeddine Lazrek. A package for typesetting arabic mathematical formulas. DieTEXnische Komödie, DANTE e.V., Vol. 13. (2/2001), pp. 54–66, 2001.

[70] Azzeddine Lazrek. CurExt, Typesetting variable-sized curved symbols.EuroTEX2003 preprints, pp. 47–71.

[71] Franklin. Mark. Liang. Word Hy-phen-a-tion by Comput-er. PhD thesis, StanfordUniversity, 1983.

[72] Roland Meynet. L’écriture arabe en question. Publications du Centre CulturelUniversitaire, Dar El- Machreq Editeurs, Beyrouth, 1971.

[73] Shigeki Moro. Surface or Essence: Beyond the Coded Character Set Model. In Procee-dings of the Glyph and Typesetting Workshop, Kyoto, Japon, 2003.http://coe21.zinbun.kyoto-u.ac.jp/ws-type-2003.html.en

[74] Nicholas Vanderschantz. Reviewing the Understanding of the Effects of Spacing onChildren’s Eye Movements for on-Screen Reading. Working Paper Series, ISSN 1177-777X, 2008.

[75] Thomas W. Phinney. TrueType, PostScript Type 1 & OpenType: What’s the Diffe-rence?. version 2.00, 2001.

[76] Michael Plass et Maureen Stone. Curve-fitting with piecewise parametric cubics.Computer graphics, Vol. 17, pp. 229–239, 1983.

[77] Khalid Sami. Sur certains aspects de la formulation et de l’écriture de la mathématiqueen langue arabe. Thèse de doctorat, Université Catholique de Louvain, Louvain-La-Neuve, 1992.

[78] Muhammad Sarfraz et M. A. Khan. An Automatic Outline Fitting Algorithmfor Arabic Characters. Lecture Notes in Computer Science, Springer Ber-lin/Heidelberg, 2003.

[79] Muhammad Sarfraz et F. A. Razzak. A Web based system to capture outlines ofArabic fonts. Information Sciences – Informatics and Computer Science, Vol. 150,N 3-4, pp. 177–193, 2003.

114

Page 128: Rapport de these - ucam.ac.ma · Mohamed Elyaakoubi, Azzeddine Lazrek and Mostafa Banouni. Towards digital typography for Arabic text justification. (In Arabic) The 4th International

[80] Paul Stiff. The end of the line: A survey of unjustified typography. Information DesignJournal, Vol. 8, N 2, pp. 125–152, 1996

[81] Hàn Thê Thành. Améliorer la typographie de TEX. Cahiers Gutenberg, actes ducongrès GUT’99, N 32, 1999.

[82] Stephen M. Watt et Elena Smirnova. Context-Sensitive Mathematical Character Re-cognition. Proc. IAPR International Conference on Frontiers in Handwriting Re-cognition, (ICFHR 2008), Montreal, Canada, CENPARMI Concordia University,ISBN 1-895193-03-6. pp. 604–610, 2008.

[83] Stephen M. Watt et Elena Smirnova. Aspects of Mathematical Expression Analysis inArabic Handwriting. Proc. International Conference on Document Analysis andRecognition, pp. 1183-1187, (ICDAR), Curitiba, Brazil, IEEE Computer Society,2007.

[84] Ken Whistler et Mark Davis. Unicode Technical Report #17, Unicode CharacterEncoding Model. Unicode consortium, novembre 2008.http://unicode.org/reports/tr17/

[85] Adolf Wild. La typographie de la Bible de GUTENBERG. Cahiers Gutenberg, N 22,pp. 5–15, 1995.

[86] Fatima Yahya, Jamaludin Ali, Ahmad abdulmajid et Arsmah Ibrahim. An automa-tic generation of G1 curve fitting of Arabic characters using rational bezier cubic withweight adjustments. ICOQSIA, Penang, Malaysia, 2005.

[87] Hermann Zapf. About micro-typography and the hz-program. Electronic Publishing,Vol. 6(3), pp. 283–288, 1993.

115