HomeProductsDownloadOrderSupportSearch
  
 
 Myriad Blog 1.3.0 Thursday, Mar 28th, 2024 at 09:29pm 

Monday, Jan 21st, 2013 at 05:04pm
PDFtoMusic et CID Type 2

 
Dans de rares fichiers PDF, les glyphes n'étaient pas retrouvés correctement. Ces fichiers contiennent des polices au format CID type 2, sans table de correspondance (cmap) entre le code du caractère et le numéro du glyphe.  
 
Dans ce cas, il peut y avoir une table de correspondance spéciale (CIDtoGID) permettant de faire la relation. Les divers visualiseurs de PDF sur Windows ou MacOS gèrent tout cela correctement.  
 
Nous avons donc essayé de suivre la documentation, sans succès. Les recherches sur Internet de code source relatif à cette fonctionnalité semblaient confirmer ce que nous faisions, et pourtant cela ne fonctionnait pas.
 
C'est alors que nous nous sommes rendu compte que la table CIDtoGID n'était pas constituée de valeurs "short" (2 octets) mais de valeurs "long" (4 octets), contrairement à ce qu'affirme la doc  
(j'ai écrit en gras pour que les moteurs de recherche le voient bien, et que cela puisse aider d'autres programmeurs à l'avenir).
 
En modifiant cela, tout s'est alors mis à fonctionner. On peut imaginer que les auteurs des fichiers source que nous avions trouvés avaient eux aussi suivi la doc, et ne s'étaient jamais aperçu de l'erreur, cette partie de leur programme n'ayant probablement jamais été testée.
 
Nous avons cependant trouvé qu'une seule référence au fait que les éléments de la table fassent 4 octets au lieu de 2. Au fin fond d'un code source d'un module Java de gestion des PDF, le programmeur semblait avoir réalisé le problème, et multipliait l'index par deux afin de retomber sur le bon élément de table.
 
Il semblerait donc que nous ne soyons pas très nombreux à avoir exploré cette partie du format PDF. A moins que quelque chose nous ait échappé, ou que nous ne possédions pas la bonne version de la documentation de chez Adobe.
by Olivier Guillion


Most recent first
Oldest first

Top of page
Legal information Cookies Last update:  (c) Myriad