tibbs / rpms / xournal

Forked from rpms/xournal 6 years ago
Clone
Rick L. Vinyard, Jr 50e3d2b
--- a/src/xo-print.c
Rick L. Vinyard, Jr 50e3d2b
+++ b/src/xo-print.c
Rick L. Vinyard, Jr 50e3d2b
@@ -761,7 +761,7 @@ int pdf_draw_bitmap_background(struct Page *pg, GString *str,
Rick L. Vinyard, Jr 50e3d2b
 
Rick L. Vinyard, Jr 50e3d2b
   make_xref(xref, xref->last+1, pdfbuf->len);
Rick L. Vinyard, Jr 50e3d2b
   g_string_append_printf(pdfbuf, 
Rick L. Vinyard, Jr 50e3d2b
-    "%d 0 obj\n<< /Length %d /Filter /FlateDecode /Type /Xobject "
Rick L. Vinyard, Jr 50e3d2b
+    "%d 0 obj\n<< /Length %zu /Filter /FlateDecode /Type /Xobject "
Rick L. Vinyard, Jr 50e3d2b
     "/Subtype /Image /Width %d /Height %d /ColorSpace /DeviceRGB "
Rick L. Vinyard, Jr 50e3d2b
     "/BitsPerComponent 8 >> stream\n",
Rick L. Vinyard, Jr 50e3d2b
     xref->last, zpix->len, width, height);
Rick L. Vinyard, Jr 50e3d2b
@@ -840,8 +840,10 @@ void embed_pdffont(GString *pdfbuf, struct XrefTable *xref, struct PdfFont *font
Rick L. Vinyard, Jr 50e3d2b
   gboolean fallback, is_binary;
Rick L. Vinyard, Jr 50e3d2b
   guchar encoding[256];
Rick L. Vinyard, Jr 50e3d2b
   gushort glyphs[256];
Rick L. Vinyard, Jr 50e3d2b
-  int i, j, num, len1, len2;
Rick L. Vinyard, Jr 50e3d2b
-  gsize len;
Rick L. Vinyard, Jr 50e3d2b
+  int i, j, num;
Rick L. Vinyard, Jr 50e3d2b
+  guint32 len1, len2;
Rick L. Vinyard, Jr 50e3d2b
+  guint32 tt_len;
Rick L. Vinyard, Jr 50e3d2b
+  gsize t1_len;
Rick L. Vinyard, Jr 50e3d2b
   TrueTypeFont *ttfnt;
Rick L. Vinyard, Jr 50e3d2b
   char *seg1, *seg2;
Rick L. Vinyard, Jr 50e3d2b
   char *fontdata, *p;
Rick L. Vinyard, Jr 50e3d2b
@@ -862,14 +864,14 @@ void embed_pdffont(GString *pdfbuf, struct XrefTable *xref, struct PdfFont *font
Rick L. Vinyard, Jr 50e3d2b
       }
Rick L. Vinyard, Jr 50e3d2b
     font->num_glyphs_used = num-1;
Rick L. Vinyard, Jr 50e3d2b
     if (OpenTTFont(font->filename, 0, &ttfnt) == SF_OK) {
Rick L. Vinyard, Jr 50e3d2b
-      if (CreateTTFromTTGlyphs_tomemory(ttfnt, (guint8**)&fontdata, &len, glyphs, encoding, num, 
Rick L. Vinyard, Jr 50e3d2b
+      if (CreateTTFromTTGlyphs_tomemory(ttfnt, (guint8**)&fontdata, &tt_len, glyphs, encoding, num, 
Rick L. Vinyard, Jr 50e3d2b
                    0, NULL, TTCF_AutoName | TTCF_IncludeOS2) == SF_OK) {
Rick L. Vinyard, Jr 50e3d2b
         make_xref(xref, xref->last+1, pdfbuf->len);
Rick L. Vinyard, Jr 50e3d2b
         nobj_fontprog = xref->last;
Rick L. Vinyard, Jr 50e3d2b
         g_string_append_printf(pdfbuf, 
Rick L. Vinyard, Jr 50e3d2b
-          "%d 0 obj\n<< /Length %d /Length1 %d >> stream\n",
Rick L. Vinyard, Jr 50e3d2b
-          nobj_fontprog, (int)len, (int)len);
Rick L. Vinyard, Jr 50e3d2b
-        g_string_append_len(pdfbuf, fontdata, len);
Rick L. Vinyard, Jr 50e3d2b
+          "%d 0 obj\n<< /Length %u /Length1 %u >> stream\n",
Rick L. Vinyard, Jr 50e3d2b
+          nobj_fontprog, tt_len, tt_len);
Rick L. Vinyard, Jr 50e3d2b
+        g_string_append_len(pdfbuf, fontdata, tt_len);
Rick L. Vinyard, Jr 50e3d2b
         g_string_append(pdfbuf, "endstream\nendobj\n");
Rick L. Vinyard, Jr 50e3d2b
         g_free(fontdata);
Rick L. Vinyard, Jr 50e3d2b
       }
Rick L. Vinyard, Jr 50e3d2b
@@ -879,7 +881,7 @@ void embed_pdffont(GString *pdfbuf, struct XrefTable *xref, struct PdfFont *font
Rick L. Vinyard, Jr 50e3d2b
     else fallback = TRUE;
Rick L. Vinyard, Jr 50e3d2b
   } else {
Rick L. Vinyard, Jr 50e3d2b
   // embed the font file: Type1 case
Rick L. Vinyard, Jr 50e3d2b
-    if (g_file_get_contents(font->filename, &fontdata, &len, NULL) && len>=8) {
Rick L. Vinyard, Jr 50e3d2b
+    if (g_file_get_contents(font->filename, &fontdata, &t1_len, NULL) && t1_len>=8) {
Rick L. Vinyard, Jr 50e3d2b
       if (fontdata[0]==(char)0x80 && fontdata[1]==(char)0x01) {
Rick L. Vinyard, Jr 50e3d2b
         is_binary = TRUE;
Rick L. Vinyard, Jr 50e3d2b
         len1 = pfb_get_length((unsigned char *)fontdata+2);
Rick L. Vinyard, Jr 50e3d2b
@@ -898,7 +900,7 @@ void embed_pdffont(GString *pdfbuf, struct XrefTable *xref, struct PdfFont *font
Rick L. Vinyard, Jr 50e3d2b
           if (*p=='\n' || *p=='\r') p++;
Rick L. Vinyard, Jr 50e3d2b
           if (*p=='\n' || *p=='\r') p++;
Rick L. Vinyard, Jr 50e3d2b
           len1 = p-fontdata;
Rick L. Vinyard, Jr 50e3d2b
-          p = g_strrstr_len(fontdata, len, T1_SEGMENT_3_END);
Rick L. Vinyard, Jr 50e3d2b
+          p = g_strrstr_len(fontdata, t1_len, T1_SEGMENT_3_END);
Rick L. Vinyard, Jr 50e3d2b
           if (p==NULL) fallback = TRUE;
Rick L. Vinyard, Jr 50e3d2b
           else {
Rick L. Vinyard, Jr 50e3d2b
             // rewind 512 zeros
Rick L. Vinyard, Jr 50e3d2b
@@ -936,7 +938,7 @@ void embed_pdffont(GString *pdfbuf, struct XrefTable *xref, struct PdfFont *font
Rick L. Vinyard, Jr 50e3d2b
         make_xref(xref, xref->last+1, pdfbuf->len);
Rick L. Vinyard, Jr 50e3d2b
         nobj_fontprog = xref->last;
Rick L. Vinyard, Jr 50e3d2b
         g_string_append_printf(pdfbuf, 
Rick L. Vinyard, Jr 50e3d2b
-          "%d 0 obj\n<< /Length %d /Length1 %d /Length2 %d /Length3 0 >> stream\n",
Rick L. Vinyard, Jr 50e3d2b
+          "%d 0 obj\n<< /Length %u /Length1 %u /Length2 %u /Length3 0 >> stream\n",
Rick L. Vinyard, Jr 50e3d2b
           nobj_fontprog, len1+len2, len1, len2);
Rick L. Vinyard, Jr 50e3d2b
         g_string_append_len(pdfbuf, seg1, len1);
Rick L. Vinyard, Jr 50e3d2b
         g_string_append_len(pdfbuf, seg2, len2);
Rick L. Vinyard, Jr 50e3d2b
@@ -1258,7 +1260,7 @@ gboolean print_to_pdf(char *filename)
Rick L. Vinyard, Jr 50e3d2b
       tmpstr = make_pdfprefix(pdfinfo.pages+(pg->bg->file_page_seq-1),
Rick L. Vinyard, Jr 50e3d2b
                               pg->width, pg->height);
Rick L. Vinyard, Jr 50e3d2b
       g_string_append_printf(pdfbuf,
Rick L. Vinyard, Jr 50e3d2b
-        "%d 0 obj\n<< /Length %d >> stream\n%s\nendstream\nendobj\n",
Rick L. Vinyard, Jr 50e3d2b
+        "%d 0 obj\n<< /Length %zu >> stream\n%s\nendstream\nendobj\n",
Rick L. Vinyard, Jr 50e3d2b
         n_obj_prefix, tmpstr->len, tmpstr->str);
Rick L. Vinyard, Jr 50e3d2b
       g_string_free(tmpstr, TRUE);
Rick L. Vinyard, Jr 50e3d2b
       g_string_prepend(pgstrm, "Q Q Q ");
Rick L. Vinyard, Jr 50e3d2b
@@ -1276,7 +1278,7 @@ gboolean print_to_pdf(char *filename)
Rick L. Vinyard, Jr 50e3d2b
     
Rick L. Vinyard, Jr 50e3d2b
     make_xref(&xref, xref.last+1, pdfbuf->len);
Rick L. Vinyard, Jr 50e3d2b
     g_string_append_printf(pdfbuf, 
Rick L. Vinyard, Jr 50e3d2b
-      "%d 0 obj\n<< /Length %d /Filter /FlateDecode>> stream\n",
Rick L. Vinyard, Jr 50e3d2b
+      "%d 0 obj\n<< /Length %zu /Filter /FlateDecode>> stream\n",
Rick L. Vinyard, Jr 50e3d2b
       xref.last, zpgstrm->len);
Rick L. Vinyard, Jr 50e3d2b
     g_string_append_len(pdfbuf, zpgstrm->str, zpgstrm->len);
Rick L. Vinyard, Jr 50e3d2b
     g_string_free(zpgstrm, TRUE);