Your message dated Mon, 02 Feb 2026 08:34:01 +0000
with message-id <[email protected]>
and subject line Bug#893921: fixed in libharu 2.3.0+dfsg-1.1
has caused the Debian Bug report #893921,
regarding libharu: add support for free-form triangle shading objects
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
893921: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893921
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: libharu
Severity: wishlist
Tags: patch

Dear Maintainer,

I am working on an official Kitware-supported Debian/Ubuntu package for
the upcoming VTK 9. We are using a custom shading feature developed
in-house for libharu. We have submitted our changes upstream, but the
project has been abandoned and the patch will most likely never be
accepted. Please backport the included patch so that we can bring VTK 9
to Debian. Thank you for your support.


*** patches/0001-Add-support-for-free-form-triangle-Shading-objects.patch
>From 9e8ba2f5453552909e52fde5ec30856004a616d0 Mon Sep 17 00:00:00 2001
From: "David C. Lonie" <[email protected]>
Date: Wed, 10 May 2017 11:07:28 -0400
Subject: [PATCH] Add support for free-form triangle Shading objects.

---
 include/hpdf.h           |  24 ++++-
 include/hpdf_error.h     |   3 +
 include/hpdf_objects.h   |   2 +
 include/hpdf_pages.h     |   5 +
 include/hpdf_types.h     |  14 +++
 src/CMakeLists.txt       |   1 +
 src/hpdf_page_operator.c |  31 +++++++
 src/hpdf_pages.c         |  55 ++++++++++-
 src/hpdf_shading.c       | 231 +++++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 362 insertions(+), 4 deletions(-)
 create mode 100644 src/hpdf_shading.c

diff --git a/include/hpdf.h b/include/hpdf.h
index e369f67..40e3c41 100644
--- a/include/hpdf.h
+++ b/include/hpdf.h
@@ -77,6 +77,7 @@ typedef HPDF_HANDLE   HPDF_Dict;
 typedef HPDF_HANDLE   HPDF_EmbeddedFile;
 typedef HPDF_HANDLE   HPDF_OutputIntent;
 typedef HPDF_HANDLE   HPDF_Xref;
+typedef HPDF_HANDLE   HPDF_Shading;
 
 #else
 
@@ -1171,6 +1172,11 @@ HPDF_EXPORT(HPDF_STATUS)
 HPDF_Page_SetExtGState  (HPDF_Page        page,
                          HPDF_ExtGState   ext_gstate);
 
+/* sh */
+HPDF_EXPORT(HPDF_STATUS)
+HPDF_Page_SetShading  (HPDF_Page    page,
+                       HPDF_Shading shading);
+
 
 /*--- Special graphic state operator --------------------------------------*/
 
@@ -1450,7 +1456,23 @@ HPDF_Page_SetCMYKStroke  (HPDF_Page  page,
 
 /*--- Shading patterns ---------------------------------------------------*/
 
-/* sh --not implemented yet */
+/* Notes for docs:
+ * - ShadingType must be HPDF_SHADING_FREE_FORM_TRIANGLE_MESH (the only
+ *   defined option...)
+ * - colorSpace must be HPDF_CS_DEVICE_RGB for now.
+ */
+HPDF_EXPORT(HPDF_Shading)
+HPDF_Shading_New  (HPDF_Doc         pdf,
+                   HPDF_ShadingType type,
+                   HPDF_ColorSpace  colorSpace,
+                   HPDF_REAL xMin, HPDF_REAL xMax,
+                   HPDF_REAL yMin, HPDF_REAL yMax);
+
+HPDF_EXPORT(HPDF_STATUS)
+HPDF_Shading_AddVertexRGB(HPDF_Shading shading,
+                          HPDF_Shading_FreeFormTriangleMeshEdgeFlag edgeFlag,
+                          HPDF_REAL x, HPDF_REAL y,
+                          HPDF_UINT8 r, HPDF_UINT8 g, HPDF_UINT8 b);
 
 /*--- In-line images -----------------------------------------------------*/
 
diff --git a/include/hpdf_error.h b/include/hpdf_error.h
index b04e2cd..ef4fa61 100644
--- a/include/hpdf_error.h
+++ b/include/hpdf_error.h
@@ -145,6 +145,9 @@ extern "C" {
 #define HPDF_INVALID_U3D_DATA                     0x1083
 #define HPDF_NAME_CANNOT_GET_NAMES                0x1084
 #define HPDF_INVALID_ICC_COMPONENT_NUM            0x1085
+/*                                                0x1086 */
+/*                                                0x1087 */
+#define HPDF_INVALID_SHADING_TYPE                 0x1088
 
 /*---------------------------------------------------------------------------*/
 
diff --git a/include/hpdf_objects.h b/include/hpdf_objects.h
index 525adda..b16de02 100644
--- a/include/hpdf_objects.h
+++ b/include/hpdf_objects.h
@@ -61,6 +61,7 @@ extern "C" {
 #define  HPDF_OSUBCLASS_EXT_GSTATE_R  0x0B00  /* read only object */
 #define  HPDF_OSUBCLASS_NAMEDICT      0x0C00
 #define  HPDF_OSUBCLASS_NAMETREE      0x0D00
+#define  HPDF_OSUBCLASS_SHADING       0x0E00
 
 
 
@@ -595,6 +596,7 @@ typedef HPDF_Array HPDF_Destination;
 typedef HPDF_Dict  HPDF_U3D;
 typedef HPDF_Dict  HPDF_OutputIntent;
 typedef HPDF_Dict  HPDF_JavaScript;
+typedef HPDF_Dict  HPDF_Shading;
 
 #ifdef __cplusplus
 }
diff --git a/include/hpdf_pages.h b/include/hpdf_pages.h
index 44b816c..60b1d84 100644
--- a/include/hpdf_pages.h
+++ b/include/hpdf_pages.h
@@ -55,6 +55,7 @@ typedef struct _HPDF_PageAttr_Rec {
     HPDF_Dict          fonts;
     HPDF_Dict          xobjects;
     HPDF_Dict          ext_gstates;
+    HPDF_Dict          shadings;
     HPDF_GState        gstate;
     HPDF_Point         str_pos;
     HPDF_Point         cur_pos;
@@ -101,6 +102,10 @@ const char*
 HPDF_Page_GetExtGStateName  (HPDF_Page       page,
                              HPDF_ExtGState  gstate);
 
+const char*
+HPDF_Page_GetShadingName  (HPDF_Page    page,
+                           HPDF_Shading shading);
+
 
 HPDF_Box
 HPDF_Page_GetMediaBox  (HPDF_Page    page);
diff --git a/include/hpdf_types.h b/include/hpdf_types.h
index 8b3e0a8..a2e2157 100644
--- a/include/hpdf_types.h
+++ b/include/hpdf_types.h
@@ -557,6 +557,20 @@ typedef enum _HPDF_NameDictKey {
     HPDF_NAME_EOF
 } HPDF_NameDictKey;
 
+/*----------------------------------------------------------------------------*/
+
+typedef enum _HPDF_ShadingType {
+  HPDF_SHADING_FREE_FORM_TRIANGLE_MESH = 4 /* TODO the rest */
+} HPDF_ShadingType;
+
+typedef enum _HPDF_Shading_FreeFormTriangleMeshEdgeFlag {
+  HPDF_FREE_FORM_TRI_MESH_EDGEFLAG_NO_CONNECTION = 0,
+  HPDF_FREE_FORM_TRI_MESH_EDGEFLAG_BC,
+  HPDF_FREE_FORM_TRI_MESH_EDGEFLAG_AC
+} HPDF_Shading_FreeFormTriangleMeshEdgeFlag;
+
+/*----------------------------------------------------------------------------*/
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9d2a604..71c7d10 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -56,6 +56,7 @@ set(
        hpdf_page_operator.c
        hpdf_pages.c
        hpdf_real.c
+       hpdf_shading.c
        hpdf_streams.c
        hpdf_string.c
        hpdf_u3d.c
diff --git a/src/hpdf_page_operator.c b/src/hpdf_page_operator.c
index 23f5920..dda1078 100644
--- a/src/hpdf_page_operator.c
+++ b/src/hpdf_page_operator.c
@@ -312,6 +312,37 @@ HPDF_Page_SetExtGState  (HPDF_Page        page,
     return ret;
 }
 
+/* sh */
+HPDF_EXPORT(HPDF_STATUS)
+HPDF_Page_SetShading  (HPDF_Page    page,
+                       HPDF_Shading shading)
+{
+    HPDF_STATUS ret = HPDF_Page_CheckState (page, HPDF_GMODE_PAGE_DESCRIPTION);
+    HPDF_PageAttr attr;
+    const char *local_name;
+
+    HPDF_PTRACE ((" HPDF_Page_SetShading\n"));
+
+    if (ret != HPDF_OK)
+        return ret;
+
+    if (page->mmgr != shading->mmgr)
+        return HPDF_RaiseError (page->error, HPDF_INVALID_OBJECT, 0);
+
+    attr = (HPDF_PageAttr)page->attr;
+    local_name = HPDF_Page_GetShadingName (page, shading);
+
+    if (!local_name)
+        return HPDF_CheckError (page->error);
+
+    if (HPDF_Stream_WriteEscapeName (attr->stream, local_name) != HPDF_OK)
+        return HPDF_CheckError (page->error);
+
+    if (HPDF_Stream_WriteStr (attr->stream, " sh\012") != HPDF_OK)
+        return HPDF_CheckError (page->error);
+
+    return ret;
+}
 
 /*--- Special graphic state operator --------------------------------------*/
 
diff --git a/src/hpdf_pages.c b/src/hpdf_pages.c
index fcc9b5c..c0a7c4f 100644
--- a/src/hpdf_pages.c
+++ b/src/hpdf_pages.c
@@ -514,7 +514,7 @@ HPDF_Page_GetLocalFontName  (HPDF_Page  page,
     /* search font-object from font-resource */
     key = HPDF_Dict_GetKeyByObj (attr->fonts, font);
     if (!key) {
-        /* if the font is not resisterd in font-resource, register font to
+        /* if the font is not registered in font-resource, register font to
          * font-resource.
          */
         char fontName[HPDF_LIMIT_MAX_NAME_LEN + 1];
@@ -603,7 +603,7 @@ HPDF_Page_GetXObjectName  (HPDF_Page     page,
     /* search xobject-object from xobject-resource */
     key = HPDF_Dict_GetKeyByObj (attr->xobjects, xobj);
     if (!key) {
-        /* if the xobject is not resisterd in xobject-resource, register
+        /* if the xobject is not registered in xobject-resource, register
          * xobject to xobject-resource.
          */
         char xobj_name[HPDF_LIMIT_MAX_NAME_LEN + 1];
@@ -654,7 +654,7 @@ HPDF_Page_GetExtGStateName  (HPDF_Page       page,
     /* search ext_gstate-object from ext_gstate-resource */
     key = HPDF_Dict_GetKeyByObj (attr->ext_gstates, state);
     if (!key) {
-        /* if the ext-gstate is not resisterd in ext-gstate resource, register
+        /* if the ext-gstate is not registered in ext-gstate resource, register
          *  to ext-gstate resource.
          */
         char ext_gstate_name[HPDF_LIMIT_MAX_NAME_LEN + 1];
@@ -673,6 +673,55 @@ HPDF_Page_GetExtGStateName  (HPDF_Page       page,
     return key;
 }
 
+const char*
+HPDF_Page_GetShadingName  (HPDF_Page    page,
+                           HPDF_Shading shading)
+{
+    HPDF_PageAttr attr = (HPDF_PageAttr )page->attr;
+    const char *key;
+
+    HPDF_PTRACE((" HPDF_Page_GetShadingName\n"));
+
+    if (!attr->shadings) {
+        HPDF_Dict resources;
+        HPDF_Dict shadings;
+
+        resources = HPDF_Page_GetInheritableItem (page, "Resources",
+                                                  HPDF_OCLASS_DICT);
+        if (!resources)
+            return NULL;
+
+        shadings = HPDF_Dict_New (page->mmgr);
+        if (!shadings)
+            return NULL;
+
+        if (HPDF_Dict_Add (resources, "Shading", shadings) != HPDF_OK)
+            return NULL;
+
+        attr->shadings = shadings;
+    }
+
+    /* search shading-object from shading-resource */
+    key = HPDF_Dict_GetKeyByObj (attr->shadings, shading);
+    if (!key) {
+        /* if the shading is not registered in shadings resource, register
+         *  to shadings resource.
+         */
+        char shading_str[HPDF_LIMIT_MAX_NAME_LEN + 1];
+        char *ptr;
+        char *end_ptr = shading_str + HPDF_LIMIT_MAX_NAME_LEN;
+
+        ptr = (char *)HPDF_StrCpy (shading_str, "Sh", end_ptr);
+        HPDF_IToA (ptr, attr->shadings->list->count, end_ptr);
+
+        if (HPDF_Dict_Add (attr->shadings, shading_str, shading) != HPDF_OK)
+            return NULL;
+
+        key = HPDF_Dict_GetKeyByObj (attr->shadings, shading);
+    }
+
+    return key;
+}
 
 static HPDF_STATUS
 AddAnnotation  (HPDF_Page        page,
diff --git a/src/hpdf_shading.c b/src/hpdf_shading.c
new file mode 100644
index 0000000..53204c0
--- /dev/null
+++ b/src/hpdf_shading.c
@@ -0,0 +1,231 @@
+/*
+ * << Haru Free PDF Library >> -- hpdf_shading.c
+ *
+ * URL: http://libharu.org
+ *
+ * Copyright (c) 1999-2006 Takeshi Kanno <[email protected]>
+ * Copyright (c) 2007-2009 Antony Dovgal <[email protected]>
+ * Copyright (c) 2017 Kitware <[email protected]>
+ *
+ * Permission to use, copy, modify, distribute and sell this software
+ * and its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation.
+ * It is provided "as is" without express or implied warranty.
+ *
+ */
+
+#include "hpdf.h"
+#include "hpdf_utils.h"
+
+#include "assert.h"
+
+typedef struct _RGBVertex
+{
+  HPDF_UINT8 EdgeFlag;
+  HPDF_UINT32 X;
+  HPDF_UINT32 Y;
+  HPDF_UINT8 RGB[3];
+} RGBVertex;
+
+static const char *COL_CMYK = "DeviceCMYK";
+static const char *COL_RGB = "DeviceRGB";
+static const char *COL_GRAY = "DeviceGray";
+
+/* bbox is filled with xMin, xMax, yMin, yMax */
+static HPDF_BOOL _GetDecodeArrayVertexValues(HPDF_Shading shading,
+                                             HPDF_REAL *bbox)
+{
+  HPDF_Array decodeArray;
+  HPDF_Real r;
+  int i;
+
+  if (!shading) {
+    return HPDF_FALSE;
+  }
+
+  decodeArray = (HPDF_Array)(HPDF_Dict_GetItem(shading, "Decode",
+                                               HPDF_OCLASS_ARRAY));
+  if (!decodeArray) {
+    return HPDF_FALSE;
+  }
+
+  for (i = 0; i < 4; ++i)
+  {
+    r = HPDF_Array_GetItem(decodeArray, i, HPDF_OCLASS_REAL);
+    if (!r) {
+      return HPDF_FALSE;
+    }
+
+    bbox[i] = r->value;
+  }
+
+  return HPDF_TRUE;
+}
+
+static void UINT32Swap (HPDF_UINT32  *value)
+{
+  HPDF_BYTE b[4];
+
+  HPDF_MemCpy (b, (HPDF_BYTE *)value, 4);
+  *value = (HPDF_UINT32)((HPDF_UINT32)b[0] << 24 |
+           (HPDF_UINT32)b[1] << 16 |
+           (HPDF_UINT32)b[2] << 8 |
+           (HPDF_UINT32)b[3]);
+}
+
+/* Encode a position coordinate for writing */
+static HPDF_UINT32 _EncodeValue(HPDF_REAL x, HPDF_REAL xMin, HPDF_REAL xMax)
+{
+  HPDF_DOUBLE norm = (x - xMin) / (xMax - xMin);
+  HPDF_DOUBLE max = (HPDF_DOUBLE)(0xFFFFFFFF);
+  HPDF_UINT32 enc = (HPDF_UINT32)(norm * max);
+  UINT32Swap(&enc);
+  return enc;
+}
+
+HPDF_EXPORT(HPDF_Shading)
+HPDF_Shading_New  (HPDF_Doc         pdf,
+                   HPDF_ShadingType type,
+                   HPDF_ColorSpace  colorSpace,
+                   HPDF_REAL xMin, HPDF_REAL xMax,
+                   HPDF_REAL yMin, HPDF_REAL yMax)
+{
+  HPDF_Shading shading;
+  HPDF_Array decodeArray;
+  HPDF_STATUS ret = HPDF_OK;
+  int i;
+
+  HPDF_PTRACE((" HPDF_Shading_New\n"));
+
+  if (!HPDF_HasDoc(pdf)) {
+    return NULL;
+  }
+
+  /* Validate shading type: */
+  switch (type)
+  {
+    case HPDF_SHADING_FREE_FORM_TRIANGLE_MESH:
+      break;
+
+    default:
+      HPDF_SetError (pdf->mmgr->error, HPDF_INVALID_SHADING_TYPE, 0);
+      return NULL;
+  }
+
+  decodeArray = HPDF_Array_New(pdf->mmgr);
+  if (!decodeArray) {
+    return NULL;
+  }
+
+  /* X-range */
+  ret += HPDF_Array_AddReal(decodeArray, xMin);
+  ret += HPDF_Array_AddReal(decodeArray, xMax);
+
+  /* Y-range */
+  ret += HPDF_Array_AddReal(decodeArray, yMin);
+  ret += HPDF_Array_AddReal(decodeArray, yMax);
+
+  const char *colName = NULL;
+  switch (colorSpace) {
+    case HPDF_CS_DEVICE_RGB:
+      colName = COL_RGB;
+      for (i = 0; i < 3; ++i) {
+        ret += HPDF_Array_AddReal(decodeArray, 0.0);
+        ret += HPDF_Array_AddReal(decodeArray, 1.0);
+      }
+      break;
+
+    default:
+      HPDF_SetError(pdf->mmgr->error, HPDF_INVALID_COLOR_SPACE, 0);
+      return NULL;
+  }
+
+  if (ret != HPDF_OK) {
+    return NULL;
+  }
+
+  shading = HPDF_DictStream_New(pdf->mmgr, pdf->xref);
+  if (!shading) {
+    return NULL;
+  }
+
+  shading->header.obj_class |= HPDF_OSUBCLASS_SHADING;
+  ret += HPDF_Dict_AddNumber(shading, "ShadingType", type);
+  ret += HPDF_Dict_AddName(shading, "ColorSpace", colName);
+
+  switch (type)
+  {
+    case HPDF_SHADING_FREE_FORM_TRIANGLE_MESH:
+      ret += HPDF_Dict_AddNumber(shading, "BitsPerCoordinate", 32);
+      ret += HPDF_Dict_AddNumber(shading, "BitsPerComponent", 8);
+      ret += HPDF_Dict_AddNumber(shading, "BitsPerFlag", 8);
+      ret += HPDF_Dict_Add(shading, "Decode", decodeArray);
+      break;
+
+    default:
+      HPDF_SetError (pdf->mmgr->error, HPDF_INVALID_SHADING_TYPE, 0);
+      return NULL;
+  }
+
+  if (ret != HPDF_OK) {
+    return NULL;
+  }
+
+  return shading;
+}
+
+HPDF_EXPORT(HPDF_STATUS)
+HPDF_Shading_AddVertexRGB(HPDF_Shading shading,
+                          HPDF_Shading_FreeFormTriangleMeshEdgeFlag edgeFlag,
+                          HPDF_REAL x, HPDF_REAL y,
+                          HPDF_UINT8 r, HPDF_UINT8 g, HPDF_UINT8 b)
+{
+  HPDF_STATUS ret = HPDF_OK;
+  RGBVertex vert;
+  float bbox[4];
+
+  HPDF_PTRACE((" HPDF_Shading_AddVertexRGB\n"));
+
+  if (!shading) {
+    return HPDF_INVALID_OBJECT;
+  }
+
+  if (_GetDecodeArrayVertexValues(shading, bbox) != HPDF_TRUE) {
+    return HPDF_SetError(shading->error, HPDF_INVALID_OBJECT, 0);
+  }
+
+  vert.EdgeFlag = (HPDF_UINT8)edgeFlag;
+  vert.X = _EncodeValue(x, bbox[0], bbox[1]);
+  vert.Y = _EncodeValue(y, bbox[2], bbox[3]);
+  vert.RGB[0] = r;
+  vert.RGB[1] = g;
+  vert.RGB[2] = b;
+
+  ret = HPDF_Stream_Write(shading->stream,
+                          (HPDF_BYTE*)(&vert.EdgeFlag), sizeof(vert.EdgeFlag));
+  if (ret != HPDF_OK)
+  {
+    return ret;
+  }
+
+  ret = HPDF_Stream_Write(shading->stream,
+                          (HPDF_BYTE*)(&vert.X), sizeof(vert.X));
+  if (ret != HPDF_OK)
+  {
+    return ret;
+  }
+
+  ret = HPDF_Stream_Write(shading->stream,
+                          (HPDF_BYTE*)(&vert.Y), sizeof(vert.Y));
+  if (ret != HPDF_OK)
+  {
+    return ret;
+  }
+
+  ret = HPDF_Stream_Write(shading->stream,
+                          (HPDF_BYTE*)(&vert.RGB), sizeof(vert.RGB));
+
+  return ret;
+}
-- 
2.16.2



-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.15.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

--- End Message ---
--- Begin Message ---
Source: libharu
Source-Version: 2.3.0+dfsg-1.1
Done: Andreas Tille <[email protected]>

We believe that the bug you reported is fixed in the latest version of
libharu, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Tille <[email protected]> (supplier of updated libharu package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 23 Jan 2026 08:35:18 +0100
Source: libharu
Architecture: source
Version: 2.3.0+dfsg-1.1
Distribution: unstable
Urgency: medium
Maintainer: Johan Van de Wauw <[email protected]>
Changed-By: Andreas Tille <[email protected]>
Closes: 893921 1046982
Changes:
 libharu (2.3.0+dfsg-1.1) unstable; urgency=medium
 .
   * Non-maintainer upload.
 .
   [ Debian Janitor ]
   * Trim trailing whitespace.
   * Bump debhelper from deprecated 9 to 12.
   * Set debhelper-compat version in Build-Depends.
   * Drop unnecessary dependency on dh-autoreconf.
   * Drop unnecessary dh arguments: --parallel
   * Remove obsolete field Name from debian/upstream/metadata (already present 
in
     machine-readable debian/copyright).
 .
   [ Andreas Tille ]
   * Secure URI in Homepage
   * d/watch: version=5
   * d/copyright:
      - Remove redundant comment
      - also remove .github
   * Fix clean target
     Closes: #1046982
   * Standards-Version: 4.7.3 (routine-update)
   * debhelper-compat 13 (routine-update)
   * Remove Priority field to comply with Debian Policy 4.7.3 (routine-
     update)
   * Update lintian override info format in d/libhpdf-2.3.0.lintian-overrides
   * debian/not-installed: Do not install *.a and *.la
 .
   [ David C. Lonie ]
   * Add support for free-form triangle Shading objects.
     Closes: #893921
Checksums-Sha1:
 268cac7febb13edcbef0ce04105837675ed1894c 1962 libharu_2.3.0+dfsg-1.1.dsc
 ca66d505d6f7db771d69c568b7447cb7b5c595e9 12592 
libharu_2.3.0+dfsg-1.1.debian.tar.xz
 eea4c02c630271206203460220a9135a8531923d 6162 
libharu_2.3.0+dfsg-1.1_amd64.buildinfo
Checksums-Sha256:
 03da6bffb75e9e0c1a0cbee976d6acacfa3485065481b2a6b01a1c935ab6239c 1962 
libharu_2.3.0+dfsg-1.1.dsc
 ff6e194c39fb9ae2d7e254e99cfe7853dc6a4540ddf0b1efbd54b2f1ce9e8ab9 12592 
libharu_2.3.0+dfsg-1.1.debian.tar.xz
 d9d1907ac9a9991982a55cdc296b648730428ba365608d7aab67a94e233fdcad 6162 
libharu_2.3.0+dfsg-1.1_amd64.buildinfo
Files:
 1e2267b117f87aa71eddfc9212cc7115 1962 libs optional libharu_2.3.0+dfsg-1.1.dsc
 fc88522d5a868352e8c2c62122ceceda 12592 libs optional 
libharu_2.3.0+dfsg-1.1.debian.tar.xz
 bbfdfd8d0df98e4538fe785b4ddad289 6162 libs optional 
libharu_2.3.0+dfsg-1.1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmlzJu0RHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtGn7w//TSuVbsRLlhuIJEUSOthNUnubyQscwEDn
vGqtxDKE5zRzK5IR21B9tEdMIOXZCwLLbhvaYvbYRunZeUJKxoZ48o+TEj0iKe25
qcAVJ8ATmO4u5qjgNgierKrAhlUYWu2H8O2s/JEDXsAMFPp9g9qJgeoVTq0unqkk
85lwNO8T92jH8x+G1uO7/g55r15tPfO+Yoc1Z8mJuPLsDNNz0iVX24BZnVlF6ZlV
l4LOdrUySRh8g1RInuRQr05oThGAEl3ax1Hb+YPGvCkTNUz089Hl5MQXOmPUNY9x
fBjBWv2EHUBw4FHcGBg+cyPPQKzhiK9DLfIznBDA78w5bN8vRJs3A9UVMAa4XhJr
jqKV5lUe2p1+qcAZHxFxN9Gts+gAwvp6BgQfAf04+mkYuMdcloxzgPYzlYD7Ru8p
tKeegHX6fQD//0RPdqYXHb0Z/hXJWSwewdrCjBUvUZA9/h3xPukuLpklSzFCpEkX
Vwgja7H3+ucvCYSmJiG3/vxWSozZUOwC5NEw/ID+cAYOECv8GVrWIBpSOjq67nih
Vu7rerVwZpzwghj9BUJiWEPva2UU38EQkCglLR+ZXJRr4IvUE4SjkYy5s+UlCa0Q
aQGHjKNEKtwDySAkUQU6u3V6mrX2/bnIwLDB0HeN2Ga1n0sxsW947mFnG4dbNxCT
IsCorToD8ZE=
=a0Kt
-----END PGP SIGNATURE-----

Attachment: pgpwK02A2Fg6G.pgp
Description: PGP signature


--- End Message ---

Reply via email to