aboutsummaryrefslogtreecommitdiff
path: root/print/ghostscript8/files/patch-lib::gs_ttf.ps
blob: aeec34bd0c602d86c6f0e739e515aec3db768e9d (plain) (blame)
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
30
31
32
33
--- lib/gs_ttf.ps.orig	Sat Feb 14 04:43:51 2004
+++ lib/gs_ttf.ps	Mon Jun  7 12:51:44 2004
@@ -519,7 +519,7 @@
   (maxp) 1 index
   (name) 1 index
   (OS/2) 1 index
-  (post) 1 index
+  (post) { .readbigtable }
   (vhea) 1 index
 	% Big tables
   (glyf) { .readbigtable }
@@ -854,10 +854,17 @@
   } ifelse
 		% Stack: ... /FontInfo mark key1 value1 ...
   post null ne {
-    /ItalicAngle post 4 gets32 65536.0 div
-    /isFixedPitch post 12 getu32 0 ne
-    /UnderlinePosition post 8 gets16 upem div
-    /UnderlineThickness post 10 gets16 upem div
+    post type /arraytype eq {
+      % this post table is a big table. /post should be [(...) ...]
+      % data we actually need here should be first one in array.
+      /posttable post 1 get def
+    } {
+      /posttable post def
+    } ifelse
+    /ItalicAngle posttable 4 gets32 65536.0 div
+    /isFixedPitch posttable 12 getu32 0 ne
+    /UnderlinePosition posttable 8 gets16 upem div
+    /UnderlineThickness posttable 10 gets16 upem div
   } if
   counttomark 0 ne { .dicttomark } { pop pop } ifelse
   /XUID [orgXUID 42 curxuid]