Carte heuristique autour d’Unicode

Cette carte a pour vocation de présenter sous forme graphique toutes les ressources que l’on peut mobiliser sur le Web à propos d’Unicode (et plus particulièrement à propos d’Unicode en bibliothèque).

Chaque branche principale privilégie une approche et des besoins d’utilisateurs différents :

Se renseigner sur Unicode recense des définitions générales de premier niveau et des ressources bibliographiques sur la question ;

Utiliser Unicode décline les outils nécessaires à la saisie ou à la lecture de textes dans un autre alphabet, tant pour les usagers des bibliothèques ou le grand public que pour les professionnels ayant à cataloguer des documents en caractères non latins ;

– Enfin, Quelles ressources pour quel alphabet vous offre un panorama des outils classés par langues ou alphabets non latin (asiatique, cyrillique, arabe et grec principalement).

Cliquez sur l’image pour ouvrir la carte et naviguer dans l’arborescence dynamique !

Carte heuristique sur Unicode en bibliothèque

Panorama des ressources recensées autour d'Unicode

Petite légende à l’intention des lecteurs qui ne sont pas familiers des cartes heuristiques :

– En cliquant sur les + et les placés aux embranchements, vous pouvez à l’envi naviguer dans l’arborescence et déployer plus ou moins chaque branche ;

– Une petite flèche  en haut à droite des bulles de la carte signifie qu’un lien actif vers un site ou une ressource en ligne prolonge la branche de la carte sur le Web ;

– Une petite « fiche » jaune placée dans la bulle ouvre une note explicative quand le curseur de la souris glisse dessus ;

– Un petit trombone dans une bulle indique qu’un document y est attaché.

Unicode pour les Nuls

Qui n’a jamais reçu un message électronique illisible ou essayé en vain d’afficher en caractères lisibles une page Internet où tous les caractères accentués sont remplacés par d’étranges combinaisons (comme « Ã© » pour les accents aigus), dans le meilleur des cas, quand des rectangles vides ne remplacent pas bonnement et simplement des caractères ou des symboles ?

Comment ça marche ?

Commençons par le commencement… et les principes fondamentaux de l’informatique. Toutes les données que nous voyons s’afficher sur les écrans de nos ordinateurs sont en réalité le résultat d’un codage en chiffres. L’informatique est basée sur le concept de langage binaire. Chaque chiffre binaire est appelé bit, un octet regroupant 8 bits. Aujourd’hui, la quasi totalité des microprocesseurs – les composants d’ordinateur exécutant les instructions – travaillent avec des mots de 8, 16, 32 ou 64 bits. Avec 2 bits, on peut avoir quatre « états » différents : 00, 01, 10, 11.  Avec 3 bits, huit états différents : 000, 001, 010, 011, 100, 101, 110, 111. Avec 8 bits, on aura 256 possibilités.

Un caractère est donc codé par une série de « 0 » ou de « 1 ».  Ainsi, en supposant des caractères définis sur un octet, la suite : 0111 0001 va définir la lettre « q » dans le codage ASCII sur 8 bits. C’est ce que l’on appelle le codage binaire du caractère.

Assez souvent, les logiciels de nos ordinateurs sont paramétrés sur un codage de 8 bits, c’est pour cela que l’on voit parfois apparaître dans les options de paramétrage le champ « UTF 8 » (pour UCS Transformation Format). C’est un des formats de codage les plus courants, qui gère tous les caractères Unicode dans les systèmes ASCII préexistants. Comme Monsieur Jourdain, nous faisons donc quotidiennement de l’Unicode sans le savoir, tout simplement parce que la mention « Unicode » se cache sous le pseudo d’ « UTF 8 » ! Deux autres formes de codage d’Unicode en UTF existent : UTF 32 et UTF 16. Par ailleurs, le standard Unicode se conforme à la norme ISO/CEI 1046 pour affecter (donner un numéro) et nommer les caractères.

On peut définir un jeu de caractères comme la combinaison entre un répertoire de caractères et les codages correspondants. Un répertoire de caractères, c’est une liste comportant un glyphe pour chaque caractère, un nom pour chaque caractère et éventuellement certaines caractéristiques d’utilisation de ce jeu de caractères par rapport au répertoire.

Avant l’invention d’Unicode, des centaines de systèmes de codage de caractères ont été créés, souvent incompatibles entre eux. Lorsque mon ordinateur affiche de manière altérée des caractères accentués, c’est qu’il utilise pour lire l’information un autre standard d’encodage que celui avec lequel elle a été codée.

Unicode et ses apports

Le standard Unicode constitue une révolution car il spécifie un numéro unique pour chaque caractère, quelle que soit la plate-forme, quel que soit le logiciel et quelle que soit la langue. Son originalité réside dans le fait qu’il prend en charge à la fois la gestion du codage, la directionnalité (c’est-à-dire qu’il gère aussi bien les langues s’écrivant de gauche à droite que celles, comme l’hébreu, s’écrivant de droite à gauche) et les caractères écrits de façon différente selon leur position dans le mot (en arabe, par exemple). Unicode définit des conversions exactes entre son répertoire et d’autres normes largement répandues.

D’un point de vue économique, Unicode permet donc aux développeurs et vendeurs de logiciels informatique de viser un marché international, puisque les métadonnées, grâce à Unicode, deviennent lisibles partout, car tous les caractères utilisés dans toutes les langues du monde peuvent être codés en Unicode.

Unicode, c’est donc l’universalité, l’unicité, l’efficacité, la stabilité, la convertibilité.

« Abece : Dorbs un rutala myusu barnim / pa I. Ritina paraugim sast. latgalisu skolu darbiniki; - Pleskava, 1920 ».

♦ Pour aller plus loin :

Pour en savoir plus sur les applications pratiques d’Unicode, consulter sur notre blog les billets sur les claviers virtuels et les applications pratiques d’Unicode sur Internet.

Un vaste répertoire en ligne de fontes Unicode. Consulté le 23 juin 2010.

Une base de données des glyphes spécifiques aux différentes langues utilisant alphabet latin ou cyrillique. Consulté le 23 juin 2010.

Le site personnel d’Alan Wood, avec pages de tests, conseils et liens vers les polices permettant d’afficher les blocs d’Unicode. Consulté le 23 juin 2010.

Un site proposant les images de l’ensemble des caractères d’Unicode. Consulté le 23 juin 2010.

L’article de Wikipédia sur Unicode. [en ligne] Consulté le 23 juin 2010.

ANDRIES, Patrick. « Introduction à Unicode et à l’ISO 10646 ». Document numérique, 2002/3-4, Volume 6, p. 51-88. [en ligne] Consulté le 05 juin 2010.

ANDRIES, Patrick. « Unicode ». Encyclopédie Larousse en ligne, 15 avril 2008. [en ligne] Consulté le 6 juin 2010.

ANDRIES, Patrick. Unicode 5.O en pratique : codage des caractères et internationalisation des logiciels et des documents. Paris, Dunod, 2008, 399 p.

CONSORTIUM UNICODE. The Unicode Standard, Version 5.0. Addison-Wesley, Boston, 2007, 1 472 p.

DESRICHARD, Yves. « Petit précis de codage des caractères ». BBF, 2007, n° 3, p. 22-27. [en ligne] Consulté le 16 juin 2010.

Fiche pratique : Unicode au quotidien

Après une petite mise au point dans « Unicode pour les Nuls », voici une présentation du versant « pratique » d’Unicode, applicable aussi bien dans un traitement de texte que dans un logiciel de messagerie, au quotidien (car ces outils font aussi partie de l’ordinaire des bibliothèques !). Pour ce billet, le guide Unicode 5.0 en pratique : codage des caractères et internationaliation des logiciels et des documents de Patrick Andries nous a été très utile.

Ma police est-elle « Unicode-compatible » ?

Il existe plusieurs façon de vérifier que notre police préférée peut être utilisée avec des textes Unicode. Pour les ordinateurs qui tournent sous Windows, il faut au préalable télécharger et installer librement un logiciel Microsoft. Une fois ces étapes franchies, il suffit d’aller sur une police (dans le répertoire « Polices » du panneau de configuration), de faire apparaître le menu contextuel en faisant un clic droit et de choisir « Propriétés ». Une boîte de dialogue apparaît. Il convient de choisir l’onglet « CharSet / Unicode » pour vérifier que le premier encadré porte bien une mention du type « Font Encoding Type : Unicode ISO 10646-2 ». Les encarts suivants dans la fenêtre indiquent quels caractères cette police supporte  (latins mais aussi bien souvent cyrilliques, grecs, turcs etc.).

Pour les addicts d’autres systèmes d’exploitation que Windows, il existe une deuxième solution pour vérifier que l’on utilise une police « Unicode-compatible », grâce à l‘outil « BabelMap » (répertorié dans les signets, rubrique Outils). Il faut le télécharger, puis l’installer et le démarrer. Allez dans « Outils » puis « Analyse de police ». Il est alors possible d’analyser la police et de voir tous les blocs Unicode qu’elle prend en charge. Si les caractères affichés pour un bloc dans « L’échantillon de texte » présenté en dessous ne correspondent pas aux noms de caractères (par exemple : vous voyez des caractères en arabe quand l’intitulé parle de « latin… »), votre police n’est pas Unicode-compatible.

NB : cette interface, contrairement à celle de Microsoft, est entièrement traduite en français !

Comment saisir des caractères Unicode ?

Il existe plusieurs possibilités pour saisir des caractères Unicode, selon le logiciel, la plate-forme, le document que l’on veut rédiger. Nous ne parlons pas ici des langues idéographiques, qui disposent de ressources supplémentaires.

– La méthode la plus simple consiste à utiliser le clavier « normal », grâce à une combinaison de touches affectée à un caractère. Cette combinaison comprends souvent les touches « Alt », « Alt Gr » ou « Ctrl ». Ainsi, la valeur hexadécimale correspondant à « È » est « Alt+0200 ». Néanmoins, si cette méthode est facile à maîtriser, elle n’est valable que lorsqu’on utilise un petit nombre de caractères Unicode de façon très courante. Dans le cas inverse, retenir de mémoire toutes les combinaisons attachées aux caractères devient vite un casse-tête.

– La technique de l’appel de caractères s’approche beaucoup, dans la méthode et les inconvénients,  de ce premier mode de saisie. Il s’agit d’appeler un caractère en composant son code sous forme de chaîne de caractères (par exemple « &#x00c8 » correspond à un « È », qui sera réinterprété comme tel dans les éditeurs HTML et XML).

– Pour contourner cette difficulté mnémotechnique, certains logiciels proposent un menu (c’est le cas de l’éditeur HTML de Mozilla, Composeur, par exemple), dans lequel il faut aller chercher l’option qui insère un caractère choisit. Cela peut également devenir rapidement fastidieux, d’autant plus que souvent, les éditeurs ne proposent qu’un nombre de caractères très limité.

– La technique de la sélection à partir d’un tableau (comme dans la version gratuite de WordPress par exemple) s’en approche beaucoup : à travers un menu, on appelle une grille,  dans laquelle on choisit le caractère que l’on veut. Contrairement au simple menu décrit précédemment, le choix est plus étendu. C’est le cas sous Open Office, quand on fait « Insertion / Caractères spéciaux ».

– Enfin, mixant la solution « tableau »  à l’écran et utilisation du clavier via une combinaison de touches, la technique du clavier virtuel a tendance à se développer, comme nous l’avons détaillé dans un autre billet qui traite aussi de l’utilisation de ce type de matériel en bibliothèque.

♦ Pour aller plus loin :

ANDRIES, Patrick. Unicode 5.O en pratique : codage des caractères et internationalisation des logiciels et des documents. Paris, Dunod, 2008, 399 p.

L’outil BabelMap, à télécharger gratuitement.

L’accessibilité multilingue des sites web (1) : lire une page web multi-écritures

La généralisation d’Unicode est encore incomplète et nombre de pages web utilisent encore des codages hétérogènes qui peuvent poser des problèmes d’affichage. Les sites des principales bibliothèques russes, par exemple, utilisent la norme win-1251 pour le codage des caractères cyrilliques (Bibliothèque nationale de Russie à Saint-Pétersbourg et Bibliothèque d’État de Russie à Moscou). L’internaute doit donc s’assurer que les paramètres de son navigateur sont réglés sur la détection automatique des caractères, ou au besoin, modifier lui-même la norme d’affichage.

Sous Firefox : Affichage/Encodage des caractères, puis sélection du jeu de caractères approprié.

Sous Internet Explorer : Affichage/Code puis sélection du jeu de caractères approprié.

Si des problèmes persistent, cela s’explique par l’absence de polices Unicode dans le système de l’ordinateur utilisé, ou bien l’absence de police supportant les caractères de l’écriture recherchée, notamment des polices CJK pour les écritures idéographiques d’Europe orientale. Il faut alors installer les polices appropriées, sous Internet Explorer comme sous Mozilla Firefox, dans le menu Outils/Options/Contenu/Police.

Billet de 1 rouble soviétique de 1961 : dans le cadre central sur fond blanc, la mention « un rouble » en russe est traduite dans les langues principales des différentes républiques de l’URSS
Billet de 1 rouble soviétique de 1961 : dans le cadre central sur fond blanc, la mention « un rouble » en russe est traduite dans les langues principales des différentes républiques de l’URSS.

Pour aller plus loin :

Fiche pratique pour l’affichage de caractères non latins, sur le site du Conseil national de recherches Canada. [en ligne] Consulté le 22 juin 2010.

Fiche pratique de la Bibliothèque du Congrès (en anglais). [en ligne] Consulté le 22 juin 2010.

Précautions particulières pour l’installation de polices Unicode supportant les écritures idéographiques sur le site du Council on East Asian Libraries (en anglais). [en ligne] Consulté le 22 juin 2010.

L’accessibilité multilingue des sites web (2) : construire une page web multilingue

Une page web multilingue doit intégrer des polices supportant les caractères propres à chaque écriture. La police la plus complète est la police Arial MS Unicode. Pour pouvoir jouer des différents jeux typographiques, la programmation devra donc s’assurer que les caractères propres à chaque écriture ou à chaque langue sont inclus dans les polices de caractère qu’il souhaite utiliser.

La page doit également intégrer, dans son architecture, les habitudes de lecture de l’écriture visée : lecture de droite à gauche pour l’hébreu et l’arabe, lecture verticale pour le chinois par exemple. En conséquence, la disposition des différentes cellules pourra être inversée : menu principal à droite et à gauche, transformation de bandeaux horizontaux en colonnes. La norme W3C s’efforce d’harmoniser les pratiques d’internationalisation des pages web pour faciliter la navigation et les conversions, notamment la reconnaissance automatique de l’encodage par les navigateurs.

Forme à imprimer

Forme à imprimer

Pour aller plus loin :

Le site de W3C. Consulté le 22 juin 2010. Voir notamment :

Généralités sur l’encodage

Généralités sur l’encodage en version française

Code des caractères en HTML et CSS

Spécification du codage dans les entêtes HTML

Base de données des glyphes spécifiques aux différentes langues utilisant alphabet latin ou cyrillique. [en ligne] Consulté le 22 juin 2010.

Le site personnel d’Alan Wood, recensant les différents blocs d’Unicode avec pages de tests, conseils et liens vers les polices. [en ligne] Consulté le 22 juin 2010.

Tutoriel sur les principes d’internationalisation des pages web. [en ligne] Consulté le 22 juin 2010.