M-PS DT MAPPING UNICODE
Sommaire
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
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.
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.