summarylogtreecommitdiffstats
path: root/bug124350.patch
blob: 802e39f1a23b0e601c850e46bccd9f798f922b4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- a/lib/Text/PDF/TTFont0.pm	2016-08-04 18:49:53.000000000 +0200
+++ b/lib/Text/PDF/TTFont0.pm	2018-02-02 15:27:58.315775700 +0200
@@ -109,9 +109,11 @@
         $unistr = '/CIDInit /ProcSet findresource being 12 dict begin begincmap
 /CIDSystemInfo << /Registry (' . $self->{'BaseFont'}->val . '+0) /Ordering (XYZ)
 /Supplement 0 >> def
-/CMapName /' . $self->{'BaseFont'}->val . '+0 def
-1 begincodespacerange <';
-        $unistr .= sprintf("%04x> <%04x> endcodespacerange\n", 1, $num - 1);
+/CMapName /' . $self->{'BaseFont'}->val . '+0 def /CMapType 2 def
+1 begincodespacerange ';
+        $unistr .= sprintf("<%04X> <%04X> endcodespacerange\n", 1, $num - 1);
+        $unistr .= $num - $i > 100 ? 100 : $num - $i;
+        $unistr .= " beginbfrange\n";
         for ($i = 1; $i < $num; $i++)
         {
             if ($i % 100 == 0)
@@ -120,9 +122,9 @@
                 $unistr .= $num - $i > 100 ? 100 : $num - $i;
                 $unistr .= " beginbfrange\n";
             }
-            $unistr .= sprintf("<%04x> <%04x> <%04x>\n", $i, $i, $rev[$i]);
+            $unistr .= sprintf("<%04X> <%04X> <%04X>\n", $i, $i, $rev[$i]);
         }
-        $unistr .= "endbfrange\nendcmap CMapName currendict /CMap defineresource pop end end";
+        $unistr .= "endbfrange\nendcmap CMapName currendict /CMap defineresource pop end end\n";
         $touni = PDFDict();
         $parent->new_obj($touni);
         $touni->{' stream'} = $unistr;