Genii Weblog

Seven and a half years later and still non-native

Fri 13 Nov 2015, 02:12 PM



by Ben Langhinrichs
Back in April of 2008, I wrote a blog post called Help make sure PNG is stored natively in 8.5. The issue then, and still now in Notes 9.0.1, is that while Notes rich text stores and renders PNG graphics perfectly well, when a user actually imports a PNG graphic from the Notes client, it is converted and saved as a JPEG file. Aside from other more minor issues, this means that transparency is lost, thus wrecking many images. As a simple example, consider this logo as it appears above converted to JPG and below stored natively as PNG. 

Inline JPEG image

While it is true that Midas will handle this now (and has since 2008, btw), I am not suggesting you run out and buy Midas for this. I am suggesting the IBM fix the Import. It is easy to do, as I know because it took only a couple of hours to fix the functionality in Midas once I realized that the native format was available. It uses image segments just like the JPG and GIF files do, with the addition of an oddly undocumented but easy to discern CDPNGHEADER record. I have even included the relevant undocumented pieces needed in the same format that the C API uses.

/* Defining undefined ODS elements */
#define SIG_CD_PNGHEADER      (82 | BYTERECORDLENGTH)

#define CDIMAGETYPE_PNG   4

typedef struct
  {
  BSIG  Header;       /* Signature and Length */
  WORD  ImageType;    /* Type of image (e.g., PNG, etc.) */
  DWORD ImageDataSize;    /* Size (in bytes) of the image data */
  DWORD SegCount;     /* Number of CDIMAGESEGMENT records expected to follow */
  DWORD Flags;        /* Flags (currently unused) */
  DWORD Reserved;     /* Reserved for future use */
  } CDPNGHEADER;


Please, IBM, fix the import. Don't make Notes look even more antiquated, clunky and obsolete than many people already think it is. Please!

Copyright © 2015 Genii Software Ltd.

What has been said:


1085.1. Stevan Bajić
(14/11/2015 08:58)

The proper procedure would be to open a PMR. Unfortunately I don't think that this will lead to a solution for this issue. As so often, unfortunately IBM will make nothing.


1085.2. Ben Langhinrichs
(11/14/2015 03:17 PM)

The problem is, it is operating as designed. They made a choice to support backward compatibility. I am asking that they change their minds, but I couldn't get a PMR opened on that basis. Not that I really think they will fix it, but once in a while I hope somebody will say "Why not?" and actually do something.


1085.3. Stevan Bajić
(14/11/2015 16:22)

I admire how you have not given up.

My experience in the past has learned me that the number of licenses or very serious (and very public) security holes result in changes to the code. Okay okay. PMR and SPR and all that other stuff too but rather modest.


1085.4. JP Liggett
(11/17/2015 07:59 AM)

I agree with you Ben, I hope IBM considers this update, it makes sense.