M-PS DT MAPPING UNICODE

De MappingDoc
Révision datée du 9 janvier 2019 à 17:10 par imported>Rdal (Génération de projets MAPDRAW)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Présentation / Objectif

L’objectif de ce document est de décrire comment utiliser la version UNICODE de MAPPING Suite.

Cette version permet de traiter des spools ayant n’importe quel type de page de code.

Les commandes de remaquettage de spools MAPPING UNICODE traitent uniquement des spools ayant une page de code UNICODE (UTF-16 ou UCS-2). Si le spool à traiter n’est pas dans cette page de code, il faudra au préalable utiliser une commande MAPPING de conversion.

L’intérêt principal de cette étape de conversion est qu’une unique maquette MAPDRAW générée en UNICODE pourra traiter des spools ayant des pages de code différentes (Occidentale, Japonaise, Chinoise…).

Pré-requis

Ce document s’adresse aux concepteurs de projets MAPDRAW et aux administrateurs de MAPPING. A ce titre, il est indispensable de connaître MAPDRAW et MAPPING.

Les logiciels de MAPPING Suite doivent être installés avec les versions suivantes :

  • iSeries : MAPPING minimum 6.0.1.16
  • Unix/Windows : MAPPING minimum 1.0.30
  • PC : MAPDRAW minimum 6.0.8.2.

Procédure MAPDRAW

Il faut utiliser la version Unicode de MAPDRAW: MapDrawU.exe.

Dans les Préférences de MAPDRAW, sélectionnez la page de code 1200 (correspond à la page de code UCS-2).

Il faut que les fichiers .PAG utilisés dans MAPDRAW soient UNICODE (UCS-2), donc créés avec la version Unicode de MAPPAGIFS.

Procédure iSeries

Paramétrage de l’environnement MAPPING

Accéder à l’écran de paramétrage de l’environnement (Option 14 puis option 1) et indiquer la valeur UCS2 dans le champ Support Unicode

Unicode enabled

Désormais, toutes les commandes MAPPING seront exécutées en version UNICODE.

Gestion UNICODE dans les commandes MAPPING

Si le CCSID du spool est précisé dans les attributs du spool, il sera utilisé par les commandes MAPPING pour faire la conversion de la page de code d’origine vers la page de code UCS-2.

Si le CCSID n’est pas renseigné, il faudra le renseigner dans les commandes MAPPING.

  • MAPCPYSPLF : Renseigner le champ Code Page (CP) dans la commande s’il n’est pas présent dans les attributs du spool.

Exemple de commande : MAPCPYSPLF SPLF(BARCODE) SPLNUM(1) JOB(QPADEV000B) JOBNUM(231768) USER(ADMIN) MAPNAM(SAMPLE) MAPSEQ(0010) CP(1027)

  • MAPSPLPDF : Renseigner le champ Code Page (CP) dans la commande s’il n’est pas présent dans les attributs du spool.

Exemple de commande : MAPSPLPDF SPLF(QPJOBLOG) SPLNUM(2) JOB(QPADEV0003) JOBNUM(012686) USER(ADMIN) MAPNAM(SAMPLE) MAPSEQ(0010) DELSPL(N) NAME(Unicode.pdf) PATH('/home/mapping/') CP(1027)

  • MAPPAGIFS : Renseigner le champ Code Page (CP) dans la commande s’il n’est pas présent dans les attributs du spool.

Exemple de commande : MAPPAGIFS SPLF(QPJOBLOG) SPLNUM(17) JOB(PCADMIN) JOBNUM(012460) USER(ADMIN) CP(1027)

Polices

Pour gérer l’impression de caractères, MAPPING utilise les polices Windows TTF. Lors de la génération d’une maquette MAPDRAW, ces fichiers TTF sont copiés dans le répertoire /home/mapping/ttf de l’IFS.

Procédure MAPPING UNIX / LINUX / WINDOWS

Paramétrage de l’environnement MAPPING

Accéder à l’écran de paramétrage de l’environnement et indiquer la valeur [UNICODE] à ON ou YES.

Unicode enabled


Désormais, toutes les commandes MAPPING seront exécutées en version UNICODE.

Il est également possible de laisser ce paramètre à OFF et d’ajouter dans les commandes MAPPING le paramètre –ucs2 pour exécuter la version UNICODE.

Polices

Pour gérer l’impression de caractères, MAPPING utilise les polices Windows TTF. Lors de la génération d’une maquette MAPDRAW, ces fichiers TTF seront copiés dans le répertoire précisé par la variable [PATH_FONT] du mapping.conf.

Gestion UNICODE dans les commandes MAPPING

La version UNICODE de MAPCPYSPLF traite uniquement des fichiers qui sont dans la page de code UCS-2. Si le fichier à traiter est dans une page de code différente, vous devez le convertir au préalable par l’intermédiaire d’une commande MAPPING (MAPPAGIFS ou MAPCONVERTU).

  • MAPCPYSPLF :

Etant donné que la version UNICODE de MAPCPYSPLF traite uniquement des fichiers UCS-2, il n'y a pas de paramètre particulier à préciser.

Si vous n’avez pas précisé [UNICODE]=ON dans les variables d’environnement MAPPING, vous devez ajouter –ucs2 à la commande.

  • MAPPAGIFS :

Cette commande crée les fichiers PAG à destination de MAPDRAW. Etant donné que MAPDRAW UNICODE utilise uniquement des fichiers PAG au format UCS-2, vous devrez donc exécuter la commande MAPPAGIFS en version UNICODE.

Si vous avez précisé [UNICODE]=ON dans les variables d’environnement MAPPING, l’interface graphique du MAPPAGIFS permettra de spécifier la page de code d’origine du fichier.

Si vous exécutez MAPPAGIFS en ligne de commande, vous devez préciser la page de code d’origine du fichier avec le paramètre –codepage.

Si vous n’avez pas précisé [UNICODE]=ON dans les variables d’environnement MAPPING, vous devez ajouter –ucs2 à la commande.

Si le fichier d’origine est un fichier PCL ou AFPDS, il faut ajouter le paramètre –isPCL.

Exemple : Conversion de UTF-8 vers UCS-2

mappagifs –infile:/tmp/utf8.txt –outfile:/tmp/ucs2.pag –codepage:UTF8
  • MAPCONVERTU :

Cette commande convertit un fichier texte d’une page de code donnée vers une autre page de code. Cette commande permet donc de convertir le fichier à traiter de sa page de code d’origine vers la page de code UCS-2 dans l’objectif d’utiliser la commande MAPCPYSPLF en version UNICODE.

Exemple : Conversion de UTF-8 vers UCS-2

mapconvertu –infile:/tmp/utf8.txt –outfile:/tmp/ucs2.txt –from:UTF8 –to:UCS2 -ucs2

Conversion de Latin1 vers UCS-2

mapconvertu –infile:/tmp/latin1.txt –outfile:/tmp/ucs2.txt –from:1252 –to:UCS2 –ucs2	

Conversion de EBCDIC 1147 vers ASCII 1252

mapconvertu –infile:/tmp/latin1.txt –outfile:/tmp/ucs2.txt –from:1147 –to:1252 –ucs2

Pages de code

Liste des pages de code utilisables dans les commandes MAPPING.

PAGE DE CODE TYPE DETAIL
UTF8 UNICODE Code page unicode
UTF16 UNICODE Code page unicode (UCS2=UTF16=1200)
UCS2 UNICODE Code page unicode (UCS2=UTF16=1200)
37 SB EBCDIC USA, Canada, Netherlands, Portugal, Brazil, Australia, New Zealand
273 SB EBCDIC Austria, Germany
285 SB EBCDIC UK
290 SB EBCDIC Japanese Katana Host Extended SBCS
297 SB EBCDIC French
300 SB EBCDIC Japanese Latin Hoxt Double-Byte including 4370 UDC
420 SB EBCDIC Arabic
424 SB EBCDIC Hebrew
500 SB EBCDIC Belgium, Canada, Switzerland, International Latin-1
833 SB EBCDIC Korean Host Extended SBCS
834 DB EBCDIC Korean Host Double-Byte including 1880 UDC
835 DB EBCDIC Traditional Chinese Host Double-Byte including 6204 UDC
836 SB EBCDIC Simplified Chinese Host Extended SBCS
838 SB EBCDIC Thailand Host Extended SBCS
850 ISO/WIN Latin 1 Countries
870 SB EBCDIC Latin 2 EBCDIC Multilingual
874 ISO/WIN Thailand PC Data Extended SBCS
875 SB EBCDIC Greek EBCDIC
932 ISO/WIN Japanese PC Data Mixed including 1880 UDC
933 DB EBCDIC Korean Host Mixed 1880 UDC
935 DB EBCDIC Simplified Chinese Host Mixed 1880 UDC
936 ISO / WIN Simplified Chinese PC Data Mixed including 1880 UDC - GBK
937 DB EBCDIC Traditional Chinese Host Mixed including 6204 UCD
939 DB EBCDIC Japanese Latin–Kanji Host mixed incuding 4370 UDC
949 ISO / WIN IBM Korean Code - PC Data Mixed including 1880 UDC
950 ISO / WIN Traditional Chinese PC Data mixed for IBM BIG-5
1025 SB EBCDIC Cyrillic Multilingual (Russian,Ukrainian, etc)
1026 SB EBCDIC Turkey Latin 5
1027 SB EBCDIC Japanese Latin Host Extended SBCS. Equivalent to CCSID 5035
1130 SB EBCDIC Vietnamese
1140 SB EBCDIC USA, Canada, Netherlands, Portugal, Brazil, Australia, New Zealand
1141 SB EBCDIC Austria, Germany
1142 SB EBCDIC Denmark, Norway
1143 SB EBCDIC Finland, Sweden
1144 SB EBCDIC Italy
1145 SB EBCDIC Spain, Latin America (Spanish)
1147 SB EBCDIC France
1148 SB EBCDIC International 1
1153 SB EBCDIC Latin-2 - EBCDIC Multilingual with euro
1154 SB EBCDIC Cyrillic Multilingual with euro
1155 SB EBCDIC Turkey Latin 5 with euro
1200 ISO / WIN Code page UNICODE (UCS2=UTF16=1200)
1250 ISO / WIN MS Windows Latin-2
1251 ISO / WIN MS Windows, Cyrillic
1252 ISO / WIN MS Windows, Latin-1
1253 ISO / WIN MS Windows, Greek
1254 ISO / WIN MS Windows, Turkey
1255 ISO / WIN MS Windows, Hebrew
1256 ISO / WIN MS Windows, Arabic (string type 5)
1257 ISO / WIN MS Windows, Baltic
1258 ISO / WIN MS Windows, Vietnam
88592 ISO ISO 8859-2 Central Europe
HKSCS ISO BIG5 + Hong Kong characters

La liste des CCSID est disponible à l'adresse suivante : http://www-306.ibm.com/software/globalization/ccsid/ccsid_registered.jsp

Polices

Lorsque vous sélectionnez une police dans une maquette MAPDRAW, il faut contrôler que cette police possède les caractères que vous souhaitez imprimer. En effet, la majeur partie des polices Windows ne sont pas UNICODE, elles ne contiennent pas tous les caractères de toutes les pages de code.

Pour contrôler une police Windows, lancez le programme « Table des caractères ». (Menu Démarrer -> Programmes -> Accessoires -> Outil Système -> Table des caractères). Sélectionnez ensuite la police, puis le Jeu de caractères Unicode et vérifier que les caractères que vous souhaitez imprimer sont bien présents dans la liste.

Il y a très peu de polices complètement Unicode, la plus connue est « Arial Unicode MS » dont la taille est supérieure à 22 Mo.

En général, il existe des polices spécifiques pour les pages de code dont l’encodage des caractères nécessite plus d’un octet, en effet :

  • La police Ms Mincho contient uniquement les caractères Japonais et Occidentaux.
  • Les polices SimHei et SimSun contiennent uniquement les caractères Chinois Simplifié, Chinois Traditionnel et Occidentaux.

Astuce : Si vous utilisez une police qui ne contient pas les caractères que vous devez imprimer, MAPPING va alors utiliser une police par défaut pour imprimer ces caractères. Cette police doit se trouver dans le répertoire ttf utilisé par MAPPING et doit avoir comme nom _mapdefault.ttf. Nous vous conseillons d’utiliser pour cela la police Arial Unicode MS.ttf, copiez le fichier ARIALUNI.ttf de votre répertoire C:\WINDOWS\FONTS dans le répertoire ttf du serveur MAPPING, puis renommez-le en _mapdefault.ttf.

Attention : gras et italique Les styles Gras et Italique ne sont pas disponibles pour toutes les TTF. Si vous utilisez un de ces styles avec une police qui ne le possède pas, vous aurez un message d’avertissement lors de la génération de votre maquette et ce style ne sera pas appliqué lors de l’impression.

Attention : copyright Certaines polices sont protégées par copyright. Si vous souhaitez utiliser ces polices, il vous faudra en acquérir les droits.

Remarque : Les polices TTC (True Type Collection) et TTE (EUCD : User Defined characters) sont supportées pas MAPPING.

Génération des polices

En raison de la taille des polices Unicode (par exemple la police Arial Unicode pèse 22731 Ko, alors que la police chinoise SimSun pèse 10000 Ko), il n’est pas possible d’envoyer le fichier de police complet à l’imprimante. Donc, une nouvelle police est recrée pour chaque job contenant seulement les caractères nécessaires pour le job actuel. Par exemple, si c’est la police Arial Unicode qui est utilisée pour le job et qu’il faut imprimer 10 caractères différents, MAPPING va créer une nouvelle police Arial Unicode contenant seulement 10 caractères et va l’envoyer à l’imprimante. Cela veut donc dire que la taille des polices est vraiment petite. De plus, les polices sont téléchargées une fois par job quelque soit le nombre de pages.

Les avantages sont les suivants :

  • Réduction de la taille du flux de données. Il n’est pas nécessaire d’envoyer la police Unicode TTF complète à l’imprimante.
  • Possibilité d’associer plusieurs pages de code dans le même fichier spool (chinois + arabe + japonais...)
  • Autonomie par rapport aux modèles d’imprimantes. L’imprimante ne doit pas nécessairement gérer les caractères Unicode et ne nécessitent pas non plus de mémoire supplémentaire pour contenir les polices.
  • Possibilité d’utiliser toute police Microsoft.
  • Possibilité de générer des flux de données Unicode multiples en sortie : PCL5, PDF, ZPL2, Intermec, Datamax.
  • Le process est transparent pour le client qui ne doit pas se soucier de l’envoi des ressources à chaque imprimante.

Génération de projets MAPDRAW

Le temps de génération et d’importation de projets MAPDRAW peut-être long en version UNICODE, ceci est du à la copie des polices TTF Windows sur le serveur MAPPING. En effet, si vous utilisez la police Arial Unicode MS par exemple, lorsque vous allez générer votre projet, cette police sera copiée sur le serveur, vous allez donc copier 22Mo.

Pour réduire le temps de génération, vous pouvez décocher dans la boite de dialogue de génération la génération des polices. En effet, il suffit de générer une fois les polices sur le serveur pour qu’elles soient toujours présentes.

Limitations de la version UNICODE

  • Le pourcentage de déformation en hauteur des zones est limité à 200 %.
  • Les zones de texte en partie MAP sont limitées à 1 ligne et 1 seule sélection de police.
  • La version UNICODE n’est pas disponible pour les langages AFPDS, TEC et EPL.
  • Les graphiques complexes ne sont pas supportés en UNICODE aujourd’hui.
  • L’option « Caractères pas lignes » des zones utilisant la police « Courier New » n’est pas disponible.

Mode Page de Code

Le mode page de code (avant mode Unicode) d’impression de spools DBCS (Chinois Simplifié, Chinois Traditionnel et Japonais) utilisant les fichiers TBL n’est plus supporté par MAPPING.