Index: Makefile =================================================================== --- /dev/null +++ Makefile @@ -0,0 +1 @@ +include ../Makefile.common Index: abi_libs =================================================================== --- /dev/null +++ abi_libs @@ -0,0 +1 @@ +libhpdf-2.3.0.so Index: abi_symbols =================================================================== --- /dev/null +++ abi_symbols @@ -0,0 +1,606 @@ +libhpdf-2.3.0.so:ConvertDateToXMDate +libhpdf-2.3.0.so:ExtGState_Check +libhpdf-2.3.0.so:GetElement +libhpdf-2.3.0.so:HPDF_3DAnnotExData_New +libhpdf-2.3.0.so:HPDF_3DAnnotExData_Set3DMeasurement +libhpdf-2.3.0.so:HPDF_3DAnnot_New +libhpdf-2.3.0.so:HPDF_3DAnnot_Set3DView +libhpdf-2.3.0.so:HPDF_3DC3DMeasure_New +libhpdf-2.3.0.so:HPDF_3DC3DMeasure_SetProjectionAnotation +libhpdf-2.3.0.so:HPDF_3DC3DMeasure_SetText +libhpdf-2.3.0.so:HPDF_3DC3DMeasure_SetTextBoxSize +libhpdf-2.3.0.so:HPDF_3DMeasure_SetColor +libhpdf-2.3.0.so:HPDF_3DMeasure_SetName +libhpdf-2.3.0.so:HPDF_3DMeasure_SetTextSize +libhpdf-2.3.0.so:HPDF_3DView_Add3DC3DMeasure +libhpdf-2.3.0.so:HPDF_3DView_AddNode +libhpdf-2.3.0.so:HPDF_3DView_New +libhpdf-2.3.0.so:HPDF_3DView_SetBackgroundColor +libhpdf-2.3.0.so:HPDF_3DView_SetCamera +libhpdf-2.3.0.so:HPDF_3DView_SetLighting +libhpdf-2.3.0.so:HPDF_3DView_SetOrthogonalProjection +libhpdf-2.3.0.so:HPDF_3DView_SetPerspectiveProjection +libhpdf-2.3.0.so:HPDF_AToF +libhpdf-2.3.0.so:HPDF_AToI +libhpdf-2.3.0.so:HPDF_AddColorspaceFromProfile +libhpdf-2.3.0.so:HPDF_AddIntent +libhpdf-2.3.0.so:HPDF_AddPage +libhpdf-2.3.0.so:HPDF_AddPageLabel +libhpdf-2.3.0.so:HPDF_Annot_Set3DView +libhpdf-2.3.0.so:HPDF_Annot_SetCMYKColor +libhpdf-2.3.0.so:HPDF_Annot_SetGrayColor +libhpdf-2.3.0.so:HPDF_Annot_SetNoColor +libhpdf-2.3.0.so:HPDF_Annot_SetRGBColor +libhpdf-2.3.0.so:HPDF_Annotation_New +libhpdf-2.3.0.so:HPDF_Annotation_SetBorderStyle +libhpdf-2.3.0.so:HPDF_Annotation_Validate +libhpdf-2.3.0.so:HPDF_Array_Add +libhpdf-2.3.0.so:HPDF_Array_AddName +libhpdf-2.3.0.so:HPDF_Array_AddNumber +libhpdf-2.3.0.so:HPDF_Array_AddReal +libhpdf-2.3.0.so:HPDF_Array_Clear +libhpdf-2.3.0.so:HPDF_Array_Free +libhpdf-2.3.0.so:HPDF_Array_GetItem +libhpdf-2.3.0.so:HPDF_Array_Insert +libhpdf-2.3.0.so:HPDF_Array_Items +libhpdf-2.3.0.so:HPDF_Array_New +libhpdf-2.3.0.so:HPDF_Array_Write +libhpdf-2.3.0.so:HPDF_AttachFile +libhpdf-2.3.0.so:HPDF_Base14FontDef_FindBuiltinData +libhpdf-2.3.0.so:HPDF_Base14FontDef_New +libhpdf-2.3.0.so:HPDF_BasicEncoder_CopyMap +libhpdf-2.3.0.so:HPDF_BasicEncoder_FindBuiltinData +libhpdf-2.3.0.so:HPDF_BasicEncoder_Free +libhpdf-2.3.0.so:HPDF_BasicEncoder_New +libhpdf-2.3.0.so:HPDF_BasicEncoder_OverrideMap +libhpdf-2.3.0.so:HPDF_BasicEncoder_ToUnicode +libhpdf-2.3.0.so:HPDF_BasicEncoder_Write +libhpdf-2.3.0.so:HPDF_Binary_Free +libhpdf-2.3.0.so:HPDF_Binary_GetLen +libhpdf-2.3.0.so:HPDF_Binary_GetValue +libhpdf-2.3.0.so:HPDF_Binary_New +libhpdf-2.3.0.so:HPDF_Binary_SetValue +libhpdf-2.3.0.so:HPDF_Binary_Write +libhpdf-2.3.0.so:HPDF_Boolean_New +libhpdf-2.3.0.so:HPDF_Boolean_Write +libhpdf-2.3.0.so:HPDF_Box_Array_New +libhpdf-2.3.0.so:HPDF_CCITT_Data +libhpdf-2.3.0.so:HPDF_CIDFontDef_AddWidth +libhpdf-2.3.0.so:HPDF_CIDFontDef_ChangeStyle +libhpdf-2.3.0.so:HPDF_CIDFontDef_FreeFunc +libhpdf-2.3.0.so:HPDF_CIDFontDef_FreeWidth +libhpdf-2.3.0.so:HPDF_CIDFontDef_GetCIDWidth +libhpdf-2.3.0.so:HPDF_CIDFontDef_New +libhpdf-2.3.0.so:HPDF_CMapEncoder_AddCMap +libhpdf-2.3.0.so:HPDF_CMapEncoder_AddCodeSpaceRange +libhpdf-2.3.0.so:HPDF_CMapEncoder_AddJWWLineHead +libhpdf-2.3.0.so:HPDF_CMapEncoder_AddNotDefRange +libhpdf-2.3.0.so:HPDF_CMapEncoder_ByteType +libhpdf-2.3.0.so:HPDF_CMapEncoder_Free +libhpdf-2.3.0.so:HPDF_CMapEncoder_InitAttr +libhpdf-2.3.0.so:HPDF_CMapEncoder_New +libhpdf-2.3.0.so:HPDF_CMapEncoder_SetUnicodeArray +libhpdf-2.3.0.so:HPDF_CMapEncoder_ToCID +libhpdf-2.3.0.so:HPDF_CMapEncoder_ToUnicode +libhpdf-2.3.0.so:HPDF_CMapEncoder_Write +libhpdf-2.3.0.so:HPDF_CallbackReader_New +libhpdf-2.3.0.so:HPDF_CallbackWriter_New +libhpdf-2.3.0.so:HPDF_Catalog_AddPageLabel +libhpdf-2.3.0.so:HPDF_Catalog_GetNames +libhpdf-2.3.0.so:HPDF_Catalog_GetPageLayout +libhpdf-2.3.0.so:HPDF_Catalog_GetPageMode +libhpdf-2.3.0.so:HPDF_Catalog_GetRoot +libhpdf-2.3.0.so:HPDF_Catalog_GetViewerPreference +libhpdf-2.3.0.so:HPDF_Catalog_New +libhpdf-2.3.0.so:HPDF_Catalog_SetNames +libhpdf-2.3.0.so:HPDF_Catalog_SetOpenAction +libhpdf-2.3.0.so:HPDF_Catalog_SetPageLayout +libhpdf-2.3.0.so:HPDF_Catalog_SetPageMode +libhpdf-2.3.0.so:HPDF_Catalog_SetViewerPreference +libhpdf-2.3.0.so:HPDF_Catalog_Validate +libhpdf-2.3.0.so:HPDF_CheckError +libhpdf-2.3.0.so:HPDF_CopyError +libhpdf-2.3.0.so:HPDF_Create3DView +libhpdf-2.3.0.so:HPDF_CreateExtGState +libhpdf-2.3.0.so:HPDF_CreateJavaScript +libhpdf-2.3.0.so:HPDF_CreateOutline +libhpdf-2.3.0.so:HPDF_DESTINATION_TYPE_NAMES +libhpdf-2.3.0.so:HPDF_Destination_New +libhpdf-2.3.0.so:HPDF_Destination_SetFit +libhpdf-2.3.0.so:HPDF_Destination_SetFitB +libhpdf-2.3.0.so:HPDF_Destination_SetFitBH +libhpdf-2.3.0.so:HPDF_Destination_SetFitBV +libhpdf-2.3.0.so:HPDF_Destination_SetFitH +libhpdf-2.3.0.so:HPDF_Destination_SetFitR +libhpdf-2.3.0.so:HPDF_Destination_SetFitV +libhpdf-2.3.0.so:HPDF_Destination_SetXYZ +libhpdf-2.3.0.so:HPDF_Destination_Validate +libhpdf-2.3.0.so:HPDF_DictStream_New +libhpdf-2.3.0.so:HPDF_Dict_Add +libhpdf-2.3.0.so:HPDF_Dict_AddBoolean +libhpdf-2.3.0.so:HPDF_Dict_AddName +libhpdf-2.3.0.so:HPDF_Dict_AddNumber +libhpdf-2.3.0.so:HPDF_Dict_AddPoint3D +libhpdf-2.3.0.so:HPDF_Dict_AddReal +libhpdf-2.3.0.so:HPDF_Dict_Add_FilterParams +libhpdf-2.3.0.so:HPDF_Dict_Free +libhpdf-2.3.0.so:HPDF_Dict_GetItem +libhpdf-2.3.0.so:HPDF_Dict_GetKeyByObj +libhpdf-2.3.0.so:HPDF_Dict_New +libhpdf-2.3.0.so:HPDF_Dict_RemoveElement +libhpdf-2.3.0.so:HPDF_Dict_Write +libhpdf-2.3.0.so:HPDF_Doc_AddPagesTo +libhpdf-2.3.0.so:HPDF_Doc_FindEncoder +libhpdf-2.3.0.so:HPDF_Doc_FindFont +libhpdf-2.3.0.so:HPDF_Doc_FindFontDef +libhpdf-2.3.0.so:HPDF_Doc_GetCurrentPages +libhpdf-2.3.0.so:HPDF_Doc_PrepareEncryption +libhpdf-2.3.0.so:HPDF_Doc_RegisterEncoder +libhpdf-2.3.0.so:HPDF_Doc_RegisterFontDef +libhpdf-2.3.0.so:HPDF_Doc_SetCurrentPage +libhpdf-2.3.0.so:HPDF_Doc_SetCurrentPages +libhpdf-2.3.0.so:HPDF_Doc_SetEncryptOff +libhpdf-2.3.0.so:HPDF_Doc_SetEncryptOn +libhpdf-2.3.0.so:HPDF_Doc_Validate +libhpdf-2.3.0.so:HPDF_EmbeddedFile_New +libhpdf-2.3.0.so:HPDF_EmbeddedFile_Validate +libhpdf-2.3.0.so:HPDF_Encoder_ByteType +libhpdf-2.3.0.so:HPDF_Encoder_CheckJWWLineHead +libhpdf-2.3.0.so:HPDF_Encoder_Free +libhpdf-2.3.0.so:HPDF_Encoder_GetByteType +libhpdf-2.3.0.so:HPDF_Encoder_GetType +libhpdf-2.3.0.so:HPDF_Encoder_GetUnicode +libhpdf-2.3.0.so:HPDF_Encoder_GetWritingMode +libhpdf-2.3.0.so:HPDF_Encoder_SetParseText +libhpdf-2.3.0.so:HPDF_Encoder_ToUnicode +libhpdf-2.3.0.so:HPDF_Encoder_Validate +libhpdf-2.3.0.so:HPDF_EncryptDict_CreateID +libhpdf-2.3.0.so:HPDF_EncryptDict_GetAttr +libhpdf-2.3.0.so:HPDF_EncryptDict_New +libhpdf-2.3.0.so:HPDF_EncryptDict_OnFree +libhpdf-2.3.0.so:HPDF_EncryptDict_Prepare +libhpdf-2.3.0.so:HPDF_EncryptDict_SetPassword +libhpdf-2.3.0.so:HPDF_EncryptDict_Validate +libhpdf-2.3.0.so:HPDF_Encrypt_CreateEncryptionKey +libhpdf-2.3.0.so:HPDF_Encrypt_CreateOwnerKey +libhpdf-2.3.0.so:HPDF_Encrypt_CreateUserKey +libhpdf-2.3.0.so:HPDF_Encrypt_CryptBuf +libhpdf-2.3.0.so:HPDF_Encrypt_Init +libhpdf-2.3.0.so:HPDF_Encrypt_InitKey +libhpdf-2.3.0.so:HPDF_Encrypt_Reset +libhpdf-2.3.0.so:HPDF_Error_GetCode +libhpdf-2.3.0.so:HPDF_Error_GetDetailCode +libhpdf-2.3.0.so:HPDF_Error_Init +libhpdf-2.3.0.so:HPDF_Error_Reset +libhpdf-2.3.0.so:HPDF_ExtGState_New +libhpdf-2.3.0.so:HPDF_ExtGState_SetAlphaFill +libhpdf-2.3.0.so:HPDF_ExtGState_SetAlphaStroke +libhpdf-2.3.0.so:HPDF_ExtGState_SetBlendMode +libhpdf-2.3.0.so:HPDF_ExtGState_Validate +libhpdf-2.3.0.so:HPDF_FToA +libhpdf-2.3.0.so:HPDF_FileReader_New +libhpdf-2.3.0.so:HPDF_FileReader_ReadFunc +libhpdf-2.3.0.so:HPDF_FileReader_SeekFunc +libhpdf-2.3.0.so:HPDF_FileStream_FreeFunc +libhpdf-2.3.0.so:HPDF_FileStream_SizeFunc +libhpdf-2.3.0.so:HPDF_FileStream_TellFunc +libhpdf-2.3.0.so:HPDF_FileWriter_New +libhpdf-2.3.0.so:HPDF_FileWriter_WriteFunc +libhpdf-2.3.0.so:HPDF_FontDef_Cleanup +libhpdf-2.3.0.so:HPDF_FontDef_Free +libhpdf-2.3.0.so:HPDF_FontDef_Validate +libhpdf-2.3.0.so:HPDF_Font_GetAscent +libhpdf-2.3.0.so:HPDF_Font_GetBBox +libhpdf-2.3.0.so:HPDF_Font_GetCapHeight +libhpdf-2.3.0.so:HPDF_Font_GetDescent +libhpdf-2.3.0.so:HPDF_Font_GetEncodingName +libhpdf-2.3.0.so:HPDF_Font_GetFontName +libhpdf-2.3.0.so:HPDF_Font_GetUnicodeWidth +libhpdf-2.3.0.so:HPDF_Font_GetXHeight +libhpdf-2.3.0.so:HPDF_Font_MeasureText +libhpdf-2.3.0.so:HPDF_Font_TextWidth +libhpdf-2.3.0.so:HPDF_Font_Validate +libhpdf-2.3.0.so:HPDF_Free +libhpdf-2.3.0.so:HPDF_FreeDoc +libhpdf-2.3.0.so:HPDF_FreeDocAll +libhpdf-2.3.0.so:HPDF_FreeMem +libhpdf-2.3.0.so:HPDF_FreeTextAnnot_Set2PointCalloutLine +libhpdf-2.3.0.so:HPDF_FreeTextAnnot_Set3PointCalloutLine +libhpdf-2.3.0.so:HPDF_FreeTextAnnot_SetDefaultStyle +libhpdf-2.3.0.so:HPDF_FreeTextAnnot_SetLineEndingStyle +libhpdf-2.3.0.so:HPDF_GState_Free +libhpdf-2.3.0.so:HPDF_GState_New +libhpdf-2.3.0.so:HPDF_GetContents +libhpdf-2.3.0.so:HPDF_GetCurrentEncoder +libhpdf-2.3.0.so:HPDF_GetCurrentPage +libhpdf-2.3.0.so:HPDF_GetEncoder +libhpdf-2.3.0.so:HPDF_GetError +libhpdf-2.3.0.so:HPDF_GetErrorDetail +libhpdf-2.3.0.so:HPDF_GetFont +libhpdf-2.3.0.so:HPDF_GetFontDef +libhpdf-2.3.0.so:HPDF_GetInfoAttr +libhpdf-2.3.0.so:HPDF_GetMem +libhpdf-2.3.0.so:HPDF_GetPageByIndex +libhpdf-2.3.0.so:HPDF_GetPageLayout +libhpdf-2.3.0.so:HPDF_GetPageMode +libhpdf-2.3.0.so:HPDF_GetStreamSize +libhpdf-2.3.0.so:HPDF_GetTTFontDefFromFile +libhpdf-2.3.0.so:HPDF_GetVersion +libhpdf-2.3.0.so:HPDF_GetViewerPreference +libhpdf-2.3.0.so:HPDF_GryphNameToUnicode +libhpdf-2.3.0.so:HPDF_HasDoc +libhpdf-2.3.0.so:HPDF_ICC_LoadIccFromMem +libhpdf-2.3.0.so:HPDF_IToA +libhpdf-2.3.0.so:HPDF_IToA2 +libhpdf-2.3.0.so:HPDF_Image_AddSMask +libhpdf-2.3.0.so:HPDF_Image_GetBitsPerComponent +libhpdf-2.3.0.so:HPDF_Image_GetColorSpace +libhpdf-2.3.0.so:HPDF_Image_GetHeight +libhpdf-2.3.0.so:HPDF_Image_GetSize +libhpdf-2.3.0.so:HPDF_Image_GetSize2 +libhpdf-2.3.0.so:HPDF_Image_GetWidth +libhpdf-2.3.0.so:HPDF_Image_Load1BitImageFromMem +libhpdf-2.3.0.so:HPDF_Image_LoadJpegImage +libhpdf-2.3.0.so:HPDF_Image_LoadJpegImageFromMem +libhpdf-2.3.0.so:HPDF_Image_LoadPngImage +libhpdf-2.3.0.so:HPDF_Image_LoadRaw1BitImageFromMem +libhpdf-2.3.0.so:HPDF_Image_LoadRawImage +libhpdf-2.3.0.so:HPDF_Image_LoadRawImageFromMem +libhpdf-2.3.0.so:HPDF_Image_SetColorMask +libhpdf-2.3.0.so:HPDF_Image_SetColorSpace +libhpdf-2.3.0.so:HPDF_Image_SetMask +libhpdf-2.3.0.so:HPDF_Image_SetMaskImage +libhpdf-2.3.0.so:HPDF_Image_SetRenderingIntent +libhpdf-2.3.0.so:HPDF_Image_Validate +libhpdf-2.3.0.so:HPDF_Info_GetInfoAttr +libhpdf-2.3.0.so:HPDF_Info_SetInfoAttr +libhpdf-2.3.0.so:HPDF_Info_SetInfoDateAttr +libhpdf-2.3.0.so:HPDF_InsertPage +libhpdf-2.3.0.so:HPDF_LineAnnot_SetCaption +libhpdf-2.3.0.so:HPDF_LineAnnot_SetLeader +libhpdf-2.3.0.so:HPDF_LineAnnot_SetPosition +libhpdf-2.3.0.so:HPDF_LinkAnnot_New +libhpdf-2.3.0.so:HPDF_LinkAnnot_SetBorderStyle +libhpdf-2.3.0.so:HPDF_LinkAnnot_SetHighlightMode +libhpdf-2.3.0.so:HPDF_List_Add +libhpdf-2.3.0.so:HPDF_List_Clear +libhpdf-2.3.0.so:HPDF_List_Find +libhpdf-2.3.0.so:HPDF_List_Free +libhpdf-2.3.0.so:HPDF_List_Insert +libhpdf-2.3.0.so:HPDF_List_ItemAt +libhpdf-2.3.0.so:HPDF_List_New +libhpdf-2.3.0.so:HPDF_List_Remove +libhpdf-2.3.0.so:HPDF_List_RemoveByIndex +libhpdf-2.3.0.so:HPDF_LoadIccProfileFromFile +libhpdf-2.3.0.so:HPDF_LoadJpegImageFromFile +libhpdf-2.3.0.so:HPDF_LoadJpegImageFromMem +libhpdf-2.3.0.so:HPDF_LoadPngImageFromFile +libhpdf-2.3.0.so:HPDF_LoadPngImageFromFile2 +libhpdf-2.3.0.so:HPDF_LoadPngImageFromMem +libhpdf-2.3.0.so:HPDF_LoadRawImageFromFile +libhpdf-2.3.0.so:HPDF_LoadRawImageFromMem +libhpdf-2.3.0.so:HPDF_LoadTTFontFromFile +libhpdf-2.3.0.so:HPDF_LoadTTFontFromFile2 +libhpdf-2.3.0.so:HPDF_LoadType1FontFromFile +libhpdf-2.3.0.so:HPDF_LoadU3DFromFile +libhpdf-2.3.0.so:HPDF_LoadU3DFromMem +libhpdf-2.3.0.so:HPDF_MD5Final +libhpdf-2.3.0.so:HPDF_MD5Init +libhpdf-2.3.0.so:HPDF_MD5Update +libhpdf-2.3.0.so:HPDF_MMgr_Free +libhpdf-2.3.0.so:HPDF_MMgr_New +libhpdf-2.3.0.so:HPDF_MarkupAnnot_New +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetCloudEffect +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetCreationDate +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetIntent +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetInteriorCMYKColor +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetInteriorGrayColor +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetInteriorRGBColor +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetInteriorTransparent +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetPopup +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetRectDiff +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetSubject +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetTitle +libhpdf-2.3.0.so:HPDF_MarkupAnnot_SetTransparency +libhpdf-2.3.0.so:HPDF_MemCmp +libhpdf-2.3.0.so:HPDF_MemCpy +libhpdf-2.3.0.so:HPDF_MemSet +libhpdf-2.3.0.so:HPDF_MemStream_FreeData +libhpdf-2.3.0.so:HPDF_MemStream_FreeFunc +libhpdf-2.3.0.so:HPDF_MemStream_GetBufCount +libhpdf-2.3.0.so:HPDF_MemStream_GetBufPtr +libhpdf-2.3.0.so:HPDF_MemStream_GetBufSize +libhpdf-2.3.0.so:HPDF_MemStream_InWrite +libhpdf-2.3.0.so:HPDF_MemStream_New +libhpdf-2.3.0.so:HPDF_MemStream_ReadFunc +libhpdf-2.3.0.so:HPDF_MemStream_Rewrite +libhpdf-2.3.0.so:HPDF_MemStream_SeekFunc +libhpdf-2.3.0.so:HPDF_MemStream_SizeFunc +libhpdf-2.3.0.so:HPDF_MemStream_TellFunc +libhpdf-2.3.0.so:HPDF_MemStream_WriteFunc +libhpdf-2.3.0.so:HPDF_NameDict_GetNameTree +libhpdf-2.3.0.so:HPDF_NameDict_New +libhpdf-2.3.0.so:HPDF_NameDict_SetNameTree +libhpdf-2.3.0.so:HPDF_NameDict_Validate +libhpdf-2.3.0.so:HPDF_NameTree_Add +libhpdf-2.3.0.so:HPDF_NameTree_New +libhpdf-2.3.0.so:HPDF_NameTree_Validate +libhpdf-2.3.0.so:HPDF_Name_GetValue +libhpdf-2.3.0.so:HPDF_Name_New +libhpdf-2.3.0.so:HPDF_Name_SetValue +libhpdf-2.3.0.so:HPDF_Name_Write +libhpdf-2.3.0.so:HPDF_New +libhpdf-2.3.0.so:HPDF_NewDoc +libhpdf-2.3.0.so:HPDF_NewEx +libhpdf-2.3.0.so:HPDF_Null_New +libhpdf-2.3.0.so:HPDF_Number_New +libhpdf-2.3.0.so:HPDF_Number_SetValue +libhpdf-2.3.0.so:HPDF_Number_Write +libhpdf-2.3.0.so:HPDF_Obj_ForceFree +libhpdf-2.3.0.so:HPDF_Obj_Free +libhpdf-2.3.0.so:HPDF_Obj_Write +libhpdf-2.3.0.so:HPDF_Obj_WriteValue +libhpdf-2.3.0.so:HPDF_OutlineRoot_New +libhpdf-2.3.0.so:HPDF_Outline_GetFirst +libhpdf-2.3.0.so:HPDF_Outline_GetLast +libhpdf-2.3.0.so:HPDF_Outline_GetNext +libhpdf-2.3.0.so:HPDF_Outline_GetOpened +libhpdf-2.3.0.so:HPDF_Outline_GetParent +libhpdf-2.3.0.so:HPDF_Outline_GetPrev +libhpdf-2.3.0.so:HPDF_Outline_New +libhpdf-2.3.0.so:HPDF_Outline_SetDestination +libhpdf-2.3.0.so:HPDF_Outline_SetOpened +libhpdf-2.3.0.so:HPDF_Outline_Validate +libhpdf-2.3.0.so:HPDF_OutputIntent_New +libhpdf-2.3.0.so:HPDF_PD33DMeasure_New +libhpdf-2.3.0.so:HPDF_PDFA_AppendOutputIntents +libhpdf-2.3.0.so:HPDF_PDFA_GenerateID +libhpdf-2.3.0.so:HPDF_PDFA_SetPDFAConformance +libhpdf-2.3.0.so:HPDF_PadOrTrancatePasswd +libhpdf-2.3.0.so:HPDF_PageLabel_New +libhpdf-2.3.0.so:HPDF_Page_Arc +libhpdf-2.3.0.so:HPDF_Page_BeginText +libhpdf-2.3.0.so:HPDF_Page_CheckState +libhpdf-2.3.0.so:HPDF_Page_Circle +libhpdf-2.3.0.so:HPDF_Page_Clip +libhpdf-2.3.0.so:HPDF_Page_ClosePath +libhpdf-2.3.0.so:HPDF_Page_ClosePathEofillStroke +libhpdf-2.3.0.so:HPDF_Page_ClosePathFillStroke +libhpdf-2.3.0.so:HPDF_Page_ClosePathStroke +libhpdf-2.3.0.so:HPDF_Page_Concat +libhpdf-2.3.0.so:HPDF_Page_Create3DAnnot +libhpdf-2.3.0.so:HPDF_Page_Create3DAnnotExData +libhpdf-2.3.0.so:HPDF_Page_Create3DC3DMeasure +libhpdf-2.3.0.so:HPDF_Page_Create3DView +libhpdf-2.3.0.so:HPDF_Page_CreateCircleAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateDestination +libhpdf-2.3.0.so:HPDF_Page_CreateFreeTextAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateHighlightAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateLineAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateLinkAnnot +libhpdf-2.3.0.so:HPDF_Page_CreatePD33DMeasure +libhpdf-2.3.0.so:HPDF_Page_CreatePopupAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateProjectionAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateSquareAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateSquigglyAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateStampAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateStrikeOutAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateTextAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateTextMarkupAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateURILinkAnnot +libhpdf-2.3.0.so:HPDF_Page_CreateUnderlineAnnot +libhpdf-2.3.0.so:HPDF_Page_CurveTo +libhpdf-2.3.0.so:HPDF_Page_CurveTo2 +libhpdf-2.3.0.so:HPDF_Page_CurveTo3 +libhpdf-2.3.0.so:HPDF_Page_DrawImage +libhpdf-2.3.0.so:HPDF_Page_Ellipse +libhpdf-2.3.0.so:HPDF_Page_EndPath +libhpdf-2.3.0.so:HPDF_Page_EndText +libhpdf-2.3.0.so:HPDF_Page_Eoclip +libhpdf-2.3.0.so:HPDF_Page_Eofill +libhpdf-2.3.0.so:HPDF_Page_EofillStroke +libhpdf-2.3.0.so:HPDF_Page_ExecuteXObject +libhpdf-2.3.0.so:HPDF_Page_Fill +libhpdf-2.3.0.so:HPDF_Page_FillStroke +libhpdf-2.3.0.so:HPDF_Page_GRestore +libhpdf-2.3.0.so:HPDF_Page_GSave +libhpdf-2.3.0.so:HPDF_Page_GetCMYKFill +libhpdf-2.3.0.so:HPDF_Page_GetCMYKStroke +libhpdf-2.3.0.so:HPDF_Page_GetCharSpace +libhpdf-2.3.0.so:HPDF_Page_GetCurrentFont +libhpdf-2.3.0.so:HPDF_Page_GetCurrentFontSize +libhpdf-2.3.0.so:HPDF_Page_GetCurrentPos +libhpdf-2.3.0.so:HPDF_Page_GetCurrentPos2 +libhpdf-2.3.0.so:HPDF_Page_GetCurrentTextPos +libhpdf-2.3.0.so:HPDF_Page_GetCurrentTextPos2 +libhpdf-2.3.0.so:HPDF_Page_GetDash +libhpdf-2.3.0.so:HPDF_Page_GetExtGStateName +libhpdf-2.3.0.so:HPDF_Page_GetFillingColorSpace +libhpdf-2.3.0.so:HPDF_Page_GetFlat +libhpdf-2.3.0.so:HPDF_Page_GetGMode +libhpdf-2.3.0.so:HPDF_Page_GetGStateDepth +libhpdf-2.3.0.so:HPDF_Page_GetGrayFill +libhpdf-2.3.0.so:HPDF_Page_GetGrayStroke +libhpdf-2.3.0.so:HPDF_Page_GetHeight +libhpdf-2.3.0.so:HPDF_Page_GetHorizontalScalling +libhpdf-2.3.0.so:HPDF_Page_GetInheritableItem +libhpdf-2.3.0.so:HPDF_Page_GetLineCap +libhpdf-2.3.0.so:HPDF_Page_GetLineJoin +libhpdf-2.3.0.so:HPDF_Page_GetLineWidth +libhpdf-2.3.0.so:HPDF_Page_GetLocalFontName +libhpdf-2.3.0.so:HPDF_Page_GetMediaBox +libhpdf-2.3.0.so:HPDF_Page_GetMiterLimit +libhpdf-2.3.0.so:HPDF_Page_GetRGBFill +libhpdf-2.3.0.so:HPDF_Page_GetRGBStroke +libhpdf-2.3.0.so:HPDF_Page_GetShadingName +libhpdf-2.3.0.so:HPDF_Page_GetStrokingColorSpace +libhpdf-2.3.0.so:HPDF_Page_GetTextLeading +libhpdf-2.3.0.so:HPDF_Page_GetTextMatrix +libhpdf-2.3.0.so:HPDF_Page_GetTextRaise +libhpdf-2.3.0.so:HPDF_Page_GetTextRenderingMode +libhpdf-2.3.0.so:HPDF_Page_GetTextRise +libhpdf-2.3.0.so:HPDF_Page_GetTransMatrix +libhpdf-2.3.0.so:HPDF_Page_GetWidth +libhpdf-2.3.0.so:HPDF_Page_GetWordSpace +libhpdf-2.3.0.so:HPDF_Page_GetXObjectName +libhpdf-2.3.0.so:HPDF_Page_InsertBefore +libhpdf-2.3.0.so:HPDF_Page_Insert_Shared_Content_Stream +libhpdf-2.3.0.so:HPDF_Page_LineTo +libhpdf-2.3.0.so:HPDF_Page_MeasureText +libhpdf-2.3.0.so:HPDF_Page_MoveTextPos +libhpdf-2.3.0.so:HPDF_Page_MoveTextPos2 +libhpdf-2.3.0.so:HPDF_Page_MoveTo +libhpdf-2.3.0.so:HPDF_Page_MoveToNextLine +libhpdf-2.3.0.so:HPDF_Page_New +libhpdf-2.3.0.so:HPDF_Page_New_Content_Stream +libhpdf-2.3.0.so:HPDF_Page_Rectangle +libhpdf-2.3.0.so:HPDF_Page_SetBoxValue +libhpdf-2.3.0.so:HPDF_Page_SetCMYKFill +libhpdf-2.3.0.so:HPDF_Page_SetCMYKStroke +libhpdf-2.3.0.so:HPDF_Page_SetCharSpace +libhpdf-2.3.0.so:HPDF_Page_SetDash +libhpdf-2.3.0.so:HPDF_Page_SetExtGState +libhpdf-2.3.0.so:HPDF_Page_SetFilter +libhpdf-2.3.0.so:HPDF_Page_SetFlat +libhpdf-2.3.0.so:HPDF_Page_SetFontAndSize +libhpdf-2.3.0.so:HPDF_Page_SetGrayFill +libhpdf-2.3.0.so:HPDF_Page_SetGrayStroke +libhpdf-2.3.0.so:HPDF_Page_SetHeight +libhpdf-2.3.0.so:HPDF_Page_SetHorizontalScalling +libhpdf-2.3.0.so:HPDF_Page_SetLineCap +libhpdf-2.3.0.so:HPDF_Page_SetLineJoin +libhpdf-2.3.0.so:HPDF_Page_SetLineWidth +libhpdf-2.3.0.so:HPDF_Page_SetMiterLimit +libhpdf-2.3.0.so:HPDF_Page_SetRGBFill +libhpdf-2.3.0.so:HPDF_Page_SetRGBStroke +libhpdf-2.3.0.so:HPDF_Page_SetRotate +libhpdf-2.3.0.so:HPDF_Page_SetShading +libhpdf-2.3.0.so:HPDF_Page_SetSize +libhpdf-2.3.0.so:HPDF_Page_SetSlideShow +libhpdf-2.3.0.so:HPDF_Page_SetTextLeading +libhpdf-2.3.0.so:HPDF_Page_SetTextMatrix +libhpdf-2.3.0.so:HPDF_Page_SetTextRaise +libhpdf-2.3.0.so:HPDF_Page_SetTextRenderingMode +libhpdf-2.3.0.so:HPDF_Page_SetTextRise +libhpdf-2.3.0.so:HPDF_Page_SetWidth +libhpdf-2.3.0.so:HPDF_Page_SetWordSpace +libhpdf-2.3.0.so:HPDF_Page_SetZoom +libhpdf-2.3.0.so:HPDF_Page_ShowText +libhpdf-2.3.0.so:HPDF_Page_ShowTextNextLine +libhpdf-2.3.0.so:HPDF_Page_ShowTextNextLineEx +libhpdf-2.3.0.so:HPDF_Page_Stroke +libhpdf-2.3.0.so:HPDF_Page_TextOut +libhpdf-2.3.0.so:HPDF_Page_TextRect +libhpdf-2.3.0.so:HPDF_Page_TextWidth +libhpdf-2.3.0.so:HPDF_Page_Validate +libhpdf-2.3.0.so:HPDF_Pages_AddKids +libhpdf-2.3.0.so:HPDF_Pages_New +libhpdf-2.3.0.so:HPDF_Pages_Validate +libhpdf-2.3.0.so:HPDF_PopupAnnot_New +libhpdf-2.3.0.so:HPDF_PopupAnnot_SetOpened +libhpdf-2.3.0.so:HPDF_ProjectionAnnot_New +libhpdf-2.3.0.so:HPDF_ProjectionAnnot_SetExData +libhpdf-2.3.0.so:HPDF_Proxy_New +libhpdf-2.3.0.so:HPDF_RaiseError +libhpdf-2.3.0.so:HPDF_ReadFromStream +libhpdf-2.3.0.so:HPDF_Real_New +libhpdf-2.3.0.so:HPDF_Real_SetValue +libhpdf-2.3.0.so:HPDF_Real_Write +libhpdf-2.3.0.so:HPDF_ResetError +libhpdf-2.3.0.so:HPDF_ResetStream +libhpdf-2.3.0.so:HPDF_SaveToFile +libhpdf-2.3.0.so:HPDF_SaveToStream +libhpdf-2.3.0.so:HPDF_SetCompressionMode +libhpdf-2.3.0.so:HPDF_SetCurrentEncoder +libhpdf-2.3.0.so:HPDF_SetEncryptionMode +libhpdf-2.3.0.so:HPDF_SetError +libhpdf-2.3.0.so:HPDF_SetErrorHandler +libhpdf-2.3.0.so:HPDF_SetInfoAttr +libhpdf-2.3.0.so:HPDF_SetInfoDateAttr +libhpdf-2.3.0.so:HPDF_SetOpenAction +libhpdf-2.3.0.so:HPDF_SetPageLayout +libhpdf-2.3.0.so:HPDF_SetPageMode +libhpdf-2.3.0.so:HPDF_SetPagesConfiguration +libhpdf-2.3.0.so:HPDF_SetPassword +libhpdf-2.3.0.so:HPDF_SetPermission +libhpdf-2.3.0.so:HPDF_SetViewerPreference +libhpdf-2.3.0.so:HPDF_StampAnnot_New +libhpdf-2.3.0.so:HPDF_StrCmp +libhpdf-2.3.0.so:HPDF_StrCpy +libhpdf-2.3.0.so:HPDF_StrLen +libhpdf-2.3.0.so:HPDF_StrStr +libhpdf-2.3.0.so:HPDF_Stream_CcittToStream +libhpdf-2.3.0.so:HPDF_Stream_Free +libhpdf-2.3.0.so:HPDF_Stream_Read +libhpdf-2.3.0.so:HPDF_Stream_ReadLn +libhpdf-2.3.0.so:HPDF_Stream_Seek +libhpdf-2.3.0.so:HPDF_Stream_Size +libhpdf-2.3.0.so:HPDF_Stream_Tell +libhpdf-2.3.0.so:HPDF_Stream_Validate +libhpdf-2.3.0.so:HPDF_Stream_Write +libhpdf-2.3.0.so:HPDF_Stream_WriteBinary +libhpdf-2.3.0.so:HPDF_Stream_WriteChar +libhpdf-2.3.0.so:HPDF_Stream_WriteEscapeName +libhpdf-2.3.0.so:HPDF_Stream_WriteEscapeText +libhpdf-2.3.0.so:HPDF_Stream_WriteEscapeText2 +libhpdf-2.3.0.so:HPDF_Stream_WriteInt +libhpdf-2.3.0.so:HPDF_Stream_WriteReal +libhpdf-2.3.0.so:HPDF_Stream_WriteStr +libhpdf-2.3.0.so:HPDF_Stream_WriteToStream +libhpdf-2.3.0.so:HPDF_Stream_WriteToStreamWithDeflate +libhpdf-2.3.0.so:HPDF_Stream_WriteUChar +libhpdf-2.3.0.so:HPDF_Stream_WriteUInt +libhpdf-2.3.0.so:HPDF_String_Cmp +libhpdf-2.3.0.so:HPDF_String_Free +libhpdf-2.3.0.so:HPDF_String_New +libhpdf-2.3.0.so:HPDF_String_SetValue +libhpdf-2.3.0.so:HPDF_String_Write +libhpdf-2.3.0.so:HPDF_TTFontDef_GetCharBBox +libhpdf-2.3.0.so:HPDF_TTFontDef_GetCharWidth +libhpdf-2.3.0.so:HPDF_TTFontDef_GetGidWidth +libhpdf-2.3.0.so:HPDF_TTFontDef_GetGlyphid +libhpdf-2.3.0.so:HPDF_TTFontDef_Load +libhpdf-2.3.0.so:HPDF_TTFontDef_Load2 +libhpdf-2.3.0.so:HPDF_TTFontDef_New +libhpdf-2.3.0.so:HPDF_TTFontDef_SaveFontData +libhpdf-2.3.0.so:HPDF_TTFontDef_SetTagName +libhpdf-2.3.0.so:HPDF_TTFont_New +libhpdf-2.3.0.so:HPDF_TextAnnot_SetIcon +libhpdf-2.3.0.so:HPDF_TextAnnot_SetOpened +libhpdf-2.3.0.so:HPDF_TextMarkupAnnot_SetQuadPoints +libhpdf-2.3.0.so:HPDF_ToBox +libhpdf-2.3.0.so:HPDF_ToPoint +libhpdf-2.3.0.so:HPDF_ToRect +libhpdf-2.3.0.so:HPDF_Type0Font_New +libhpdf-2.3.0.so:HPDF_Type1FontDef_Duplicate +libhpdf-2.3.0.so:HPDF_Type1FontDef_GetWidth +libhpdf-2.3.0.so:HPDF_Type1FontDef_GetWidthByName +libhpdf-2.3.0.so:HPDF_Type1FontDef_Load +libhpdf-2.3.0.so:HPDF_Type1FontDef_New +libhpdf-2.3.0.so:HPDF_Type1FontDef_SetWidths +libhpdf-2.3.0.so:HPDF_Type1Font_New +libhpdf-2.3.0.so:HPDF_U3D_Add3DView +libhpdf-2.3.0.so:HPDF_U3D_AddOnInstanciate +libhpdf-2.3.0.so:HPDF_U3D_LoadU3D +libhpdf-2.3.0.so:HPDF_U3D_LoadU3DFromMem +libhpdf-2.3.0.so:HPDF_U3D_SetDefault3DView +libhpdf-2.3.0.so:HPDF_UInt16Swap +libhpdf-2.3.0.so:HPDF_URILinkAnnot_New +libhpdf-2.3.0.so:HPDF_UnicodeToGryphName +libhpdf-2.3.0.so:HPDF_UseCNSEncodings +libhpdf-2.3.0.so:HPDF_UseCNSFonts +libhpdf-2.3.0.so:HPDF_UseCNTEncodings +libhpdf-2.3.0.so:HPDF_UseCNTFonts +libhpdf-2.3.0.so:HPDF_UseJPEncodings +libhpdf-2.3.0.so:HPDF_UseJPFonts +libhpdf-2.3.0.so:HPDF_UseKREncodings +libhpdf-2.3.0.so:HPDF_UseKRFonts +libhpdf-2.3.0.so:HPDF_UseUTFEncodings +libhpdf-2.3.0.so:HPDF_Xref_Add +libhpdf-2.3.0.so:HPDF_Xref_Free +libhpdf-2.3.0.so:HPDF_Xref_GetEntry +libhpdf-2.3.0.so:HPDF_Xref_GetEntryByObjectId +libhpdf-2.3.0.so:HPDF_Xref_New +libhpdf-2.3.0.so:HPDF_Xref_WriteToStream +libhpdf-2.3.0.so:TIFFFaxBlackCodes +libhpdf-2.3.0.so:TIFFFaxWhiteCodes Index: abi_used_libs =================================================================== --- /dev/null +++ abi_used_libs @@ -0,0 +1,4 @@ +libc.so.6 +libm.so.6 +libpng16.so.16 +libz.so.1 Index: abi_used_symbols =================================================================== --- /dev/null +++ abi_used_symbols @@ -0,0 +1,51 @@ +libc.so.6:__assert_fail +libc.so.6:__errno_location +libc.so.6:__stack_chk_fail +libc.so.6:calloc +libc.so.6:ctime +libc.so.6:fclose +libc.so.6:feof +libc.so.6:ferror +libc.so.6:fopen +libc.so.6:fread +libc.so.6:free +libc.so.6:fseek +libc.so.6:ftell +libc.so.6:fwrite +libc.so.6:malloc +libc.so.6:memcmp +libc.so.6:memcpy +libc.so.6:memmove +libc.so.6:memset +libc.so.6:strcmp +libc.so.6:strlen +libc.so.6:time +libm.so.6:log10 +libm.so.6:pow +libm.so.6:sincos +libm.so.6:sqrtf +libpng16.so.16:png_create_info_struct +libpng16.so.16:png_create_read_struct +libpng16.so.16:png_destroy_read_struct +libpng16.so.16:png_get_IHDR +libpng16.so.16:png_get_PLTE +libpng16.so.16:png_get_color_type +libpng16.so.16:png_get_error_ptr +libpng16.so.16:png_get_image_height +libpng16.so.16:png_get_image_width +libpng16.so.16:png_get_interlace_type +libpng16.so.16:png_get_io_ptr +libpng16.so.16:png_get_rowbytes +libpng16.so.16:png_get_tRNS +libpng16.so.16:png_get_valid +libpng16.so.16:png_read_image +libpng16.so.16:png_read_info +libpng16.so.16:png_read_rows +libpng16.so.16:png_read_update_info +libpng16.so.16:png_set_read_fn +libpng16.so.16:png_set_sig_bytes +libpng16.so.16:png_set_strip_16 +libpng16.so.16:png_sig_cmp +libz.so.1:deflate +libz.so.1:deflateEnd +libz.so.1:deflateInit_ Index: files/Add-support-for-free-form-triangle-Shading-objects.patch =================================================================== --- /dev/null +++ files/Add-support-for-free-form-triangle-Shading-objects.patch @@ -0,0 +1,527 @@ +From 9e8ba2f5453552909e52fde5ec30856004a616d0 Mon Sep 17 00:00:00 2001 +From: "David C. Lonie" +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 ++ * Copyright (c) 2007-2009 Antony Dovgal ++ * Copyright (c) 2017 Kitware ++ * ++ * 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; ++} Index: files/Improve-small-number-writing-in-HPDF_FToA.patch =================================================================== --- /dev/null +++ files/Improve-small-number-writing-in-HPDF_FToA.patch @@ -0,0 +1,94 @@ +From fb11e6913f9da9ae350befa6deb560c10ac0afcd Mon Sep 17 00:00:00 2001 +From: Allison Vacanti +Date: Thu, 4 Oct 2018 13:12:01 -0400 +Subject: [PATCH] Improve small number writing in HPDF_FToA. + +This was truncating all numbers at 1e-5, now it ensures that 5 +significant figures will always be written for values > 1e-20. +--- + include/hpdf_consts.h | 2 +- + include/hpdf_types.h | 6 ++++++ + src/hpdf_utils.c | 23 ++++++++++++++++++++--- + 3 files changed, 27 insertions(+), 4 deletions(-) + +diff --git a/include/hpdf_consts.h b/include/hpdf_consts.h +index 2dbf396..d874f7f 100644 +--- a/include/hpdf_consts.h ++++ b/include/hpdf_consts.h +@@ -32,7 +32,7 @@ + /* buffer size which is required when we convert to character string. */ + #define HPDF_TMP_BUF_SIZ 512 + #define HPDF_SHORT_BUF_SIZ 32 +-#define HPDF_REAL_LEN 11 ++#define HPDF_REAL_LEN 64 + #define HPDF_INT_LEN 11 + #define HPDF_TEXT_DEFAULT_LEN 256 + #define HPDF_UNICODE_HEADER_LEN 2 +diff --git a/include/hpdf_types.h b/include/hpdf_types.h +index a35fe8f..ce5cbd7 100644 +--- a/include/hpdf_types.h ++++ b/include/hpdf_types.h +@@ -45,6 +45,12 @@ typedef signed int HPDF_INT; + typedef unsigned int HPDF_UINT; + + ++/* 64bit integer types ++ */ ++typedef signed long long HPDF_INT64; ++typedef unsigned long long HPDF_UINT64; ++ ++ + /* 32bit integer types + */ + typedef signed int HPDF_INT32; +diff --git a/src/hpdf_utils.c b/src/hpdf_utils.c +index 728da5a..6e9a8b7 100644 +--- a/src/hpdf_utils.c ++++ b/src/hpdf_utils.c +@@ -15,6 +15,7 @@ + * + */ + ++#include + #include + #include "hpdf_utils.h" + #include "hpdf_consts.h" +@@ -188,6 +189,10 @@ HPDF_FToA (char *s, + char* sptr = s; + char* t; + HPDF_UINT32 i; ++ HPDF_UINT32 prec; ++ HPDF_INT32 logVal; ++ HPDF_REAL roundInc; ++ HPDF_INT64 fShift; + + if (val > HPDF_LIMIT_MAX_REAL) + val = HPDF_LIMIT_MAX_REAL; +@@ -203,12 +208,24 @@ HPDF_FToA (char *s, + val = -val; + } + ++ /* Compute the decimal precision to write at least 5 significant figures */ ++ logVal = (HPDF_INT32)(val > 1e-20 ? log10(val) : 0.); ++ if (logVal >= 0) { ++ prec = 5; ++ } ++ else { ++ prec = -logVal + 5; ++ } ++ ++ roundInc = 0.5 * (1. / pow((HPDF_REAL)10, (HPDF_REAL)prec)); ++ fShift = (HPDF_INT64)pow((HPDF_REAL)10, (HPDF_REAL)prec); ++ + /* separate an integer part and a decimal part. */ +- int_val = (HPDF_INT32)(val + 0.000005); +- fpart_val = (HPDF_INT32)((HPDF_REAL)(val - int_val + 0.000005) * 100000); ++ int_val = (HPDF_INT64)(val + roundInc); ++ fpart_val = (HPDF_INT64)((HPDF_REAL)(val - int_val + roundInc) * fShift); + + /* process decimal part */ +- for (i = 0; i < 5; i++) { ++ for (i = 0; i < prec; i++) { + *t = (char)((char)(fpart_val % 10) + '0'); + fpart_val /= 10; + t--; Index: files/series =================================================================== --- /dev/null +++ files/series @@ -0,0 +1,2 @@ +Add-support-for-free-form-triangle-Shading-objects.patch +Improve-small-number-writing-in-HPDF_FToA.patch Index: package.yml =================================================================== --- /dev/null +++ package.yml @@ -0,0 +1,21 @@ +name : libharu +version : 2.3.0 +release : 1 +source : + - https://github.com/libharu/libharu/archive/RELEASE_2_3_0.tar.gz : 8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2 +license : Zlib +component : programming.library +homepage : http://libharu.org/ +summary : Free PDF library +description: | + Haru is a free, cross platform, open-sourced software library for generating PDF. +builddeps : + - pkgconfig(libpng) +libsplit : no +setup : | + %apply_patches + %reconfigure --disable-static +build : | + %make +install : | + %make_install Index: pspec_x86_64.xml =================================================================== --- /dev/null +++ pspec_x86_64.xml @@ -0,0 +1,81 @@ + + + libharu + http://libharu.org/ + + Alexander Vorobyev + avorobyev@protonmail.com + + Zlib + programming.library + Free PDF library + Haru is a free, cross platform, open-sourced software library for generating PDF. + + https://getsol.us/sources/README.Solus + + + libharu + Free PDF library + Haru is a free, cross platform, open-sourced software library for generating PDF. + + programming.library + + /usr/lib64/libhpdf-2.3.0.so + /usr/lib64/libhpdf.so + + + + libharu-devel + Development files for libharu + Haru is a free, cross platform, open-sourced software library for generating PDF. + + programming.devel + + libharu + + + /usr/include/hpdf.h + /usr/include/hpdf_3dmeasure.h + /usr/include/hpdf_annotation.h + /usr/include/hpdf_catalog.h + /usr/include/hpdf_conf.h + /usr/include/hpdf_config.h + /usr/include/hpdf_consts.h + /usr/include/hpdf_destination.h + /usr/include/hpdf_doc.h + /usr/include/hpdf_encoder.h + /usr/include/hpdf_encrypt.h + /usr/include/hpdf_encryptdict.h + /usr/include/hpdf_error.h + /usr/include/hpdf_exdata.h + /usr/include/hpdf_ext_gstate.h + /usr/include/hpdf_font.h + /usr/include/hpdf_fontdef.h + /usr/include/hpdf_gstate.h + /usr/include/hpdf_image.h + /usr/include/hpdf_info.h + /usr/include/hpdf_list.h + /usr/include/hpdf_mmgr.h + /usr/include/hpdf_namedict.h + /usr/include/hpdf_objects.h + /usr/include/hpdf_outline.h + /usr/include/hpdf_page_label.h + /usr/include/hpdf_pages.h + /usr/include/hpdf_pdfa.h + /usr/include/hpdf_streams.h + /usr/include/hpdf_types.h + /usr/include/hpdf_u3d.h + /usr/include/hpdf_utils.h + /usr/include/hpdf_version.h + + + + + 2021-02-14 + 2.3.0 + Packaging update + Alexander Vorobyev + avorobyev@protonmail.com + + + \ No newline at end of file