Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
cmap [2020/02/23 11:16]
christian
cmap [2020/02/23 13:37]
christian [Monster from the wild]
Line 126: Line 126:
 ===== Monster from the wild ===== ===== Monster from the wild =====
  
-Sometimes CMaps define mappings which are not covered by the codespace rangesThis can be seen very often in the wild. These illegal mappings are collected into the ''#unmapped'' variable of a Mappings object. +CMaps are not well definedTherefore, there are some interesting variations of them in the wild. Here is a small selection of some issues.
 ==== Mappings outside the codespace ==== ==== Mappings outside the codespace ====
  
-single byte mappings in a double byte codespace+<code postscript> 
 +%... 
 +1 begincodespacerange 
 +<0000> <FFFF> 
 +endcodespacerange 
 +27 beginbfchar 
 +<20> <0020> 
 +<2E> <002E> 
 +<43> <0043> 
 +<44> <0044> 
 +<45> <0045> 
 +%... 
 +</code>
  
-==== Wrong PostScript ====+Here are single byte mappings in a double byte codespace which is not correct according to the documentation.
  
-using /find instead of /findresource +This can be seen often. These illegal mappings are collected into the ''#unmapped'' variable of a Mappings object. 
 + 
 +==== Wrong PostScript ====
  
-See [[postscript#exception_handling_example]]+On one occasion, I saw a CMap where the PostScript used a non-existing operator (''/find'' instead of ''/findresource''). See the [[postscript#exception_handling_example]] on the PostScript page.
 ==== Prevent copying ==== ==== Prevent copying ====
  
  • cmap.txt
  • Last modified: 2020/02/23 14:33
  • by christian