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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
$NetBSD: patch-ab,v 1.1 2005/09/05 14:42:42 jmmv Exp $
Patch to fix CAN-2005-2097. The patch in #163920 doesn't apply to
gpdf, since gpdf uses the gnome print api for rendering. The crux of
that patch is to avoid using the FoFi (font file) classes for fixing
up the embedded truetype font, but instead pass the font to freetype
directly. This patch does the same thing for the gpdf rendering code.
Kristian Høgsberg <krh@redhat.com>
--- xpdf/GPOutputDev.cc.krh 2005-08-01 11:44:43.000000000 -0400
+++ xpdf/GPOutputDev.cc 2005-08-01 11:45:32.000000000 -0400
@@ -258,9 +258,6 @@
}
case fontTrueType: {
FoFiTrueType *ff;
- gint fd;
- gchar *temp_name;
- FILE *f;
gushort *code_to_gid;
ff = FoFiTrueType::make((char *)contents, length);
@@ -269,16 +266,7 @@
code_to_gid = ((Gfx8BitFont *)font)->getCodeToGIDMap(ff); // this is g(oo)malloc'd
- fd = g_file_open_tmp("gpdf-ttf-XXXXXX", &temp_name, NULL);
- f = fdopen(fd, "wb");
- ff->writeTTF(&fileWrite, f);
delete ff;
- g_free(contents);
- fclose(f);
-
- g_file_get_contents(temp_name, (gchar **)&contents, &length, NULL);
- unlink(temp_name);
- g_free(temp_name);
gff = gpdf_font_face_download((const guchar *)font_name,
(const guchar *)"",
@@ -324,28 +312,8 @@
break;
}
case fontCIDType2: {
- FoFiTrueType *ff;
- gint fd;
- gchar *temp_name;
- FILE *f;
gint n_cids;
gushort *code_to_gid;
-
- ff = FoFiTrueType::make((char *)contents, length);
- if (!ff)
- return getFontFaceFallback(font);
-
- fd = g_file_open_tmp("gpdf-ttf-XXXXXX", &temp_name, NULL);
- f = fdopen(fd, "wb");
- ff->writeTTF(&fileWrite, f);
- delete ff;
- g_free(contents);
- fclose(f);
-
- g_file_get_contents(temp_name, (gchar **)&contents, &length, NULL);
- unlink(temp_name);
- g_free(temp_name);
-
gff = gpdf_font_face_download((const guchar *)font_name,
(const guchar *)"",
GNOME_FONT_REGULAR, FALSE,
|