diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 3e1b645f5a..d088a496a4 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,55 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-05-17 18:45 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) + + harbour/contrib/hbhpdf + + harbour/contrib/hbhpdf/harupdf.c + + harbour/contrib/hbhpdf/hpdf.h + Initial upload of wrappers for HaruPDF Library (http://sourceforge.net/projects/libharu/). + + harbour/contrib/hbhpdf/tests + + harbour/contrib/hbhpdf/tests/harupdf.prg + + harbour/contrib/hbhpdf/tests/harupdf.ch + Test program. + + harbour/contrib/hbhpdf/tests/32_32_color.dat + + harbour/contrib/hbhpdf/tests/32_32_gray.dat + + harbour/contrib/hbhpdf/tests/32_32_rgb.dat + + harbour/contrib/hbhpdf/tests/a010013l.afm + + harbour/contrib/hbhpdf/tests/a010013l.pfb + + harbour/contrib/hbhpdf/tests/basn0g01.png + + harbour/contrib/hbhpdf/tests/basn0g02.png + + harbour/contrib/hbhpdf/tests/basn0g04.png + + harbour/contrib/hbhpdf/tests/basn0g08.png + + harbour/contrib/hbhpdf/tests/basn2c08.png + + harbour/contrib/hbhpdf/tests/basn0g16.png + + harbour/contrib/hbhpdf/tests/basn2c16.png + + harbour/contrib/hbhpdf/tests/basn3p01.png + + harbour/contrib/hbhpdf/tests/basn3p02.png + + harbour/contrib/hbhpdf/tests/basn3p04.png + + harbour/contrib/hbhpdf/tests/basn3p08.png + + harbour/contrib/hbhpdf/tests/basn4a08.png + + harbour/contrib/hbhpdf/tests/basn4a16.png + + harbour/contrib/hbhpdf/tests/basn6a08.png + + harbour/contrib/hbhpdf/tests/basn6a16.png + + harbour/contrib/hbhpdf/tests/maskimage.png + + harbour/contrib/hbhpdf/tests/cp932.txt + + harbour/contrib/hbhpdf/tests/cp936.txt + + harbour/contrib/hbhpdf/tests/elic_jp.txt + + harbour/contrib/hbhpdf/tests/euc.txt + + harbour/contrib/hbhpdf/tests/gray.jpg + + harbour/contrib/hbhpdf/tests/rgb.jpg + + harbour/contrib/hbhpdf/tests/penguinattack.ttf + + harbour/contrib/hbhpdf/tests/sjis.txt + Needed files to run the haruprf.prg. Files are pulled from HaruPDF library distribution. + + /* + NOTE! this library need distribution from : + http://sourceforge.net/projects/libharu/ + The distribution contains libpng.lib and zlib.lib for Windows. + + Viktor, please put copyright notices and all other necessary batch files + to build this library. + */ + 2008-05-17 15:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/hbppgen.c * cleaned code used to locate ChangeLog file diff --git a/harbour/contrib/hbhpdf/harupdf.c b/harbour/contrib/hbhpdf/harupdf.c new file mode 100644 index 0000000000..e620b57c02 --- /dev/null +++ b/harbour/contrib/hbhpdf/harupdf.c @@ -0,0 +1,1802 @@ +/* + * $Id$ + */ +/* + * Copyright 2008 Pritpal Bedi + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option ) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/ ). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// +// HaruLib (x)Harbour Wrappers +// . +// http://sourceforge.net/projects/libharu/ +// +// Pritpal Bedi +// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// (x)Harbour headers +// +#include "hbapi.h" +#include "hbapiitm.h" + +// harupdf header +// +#include "hpdf.h" +//----------------------------------------------------------------------// +/* + Most of the functions return hStatus == HPDF_OK or ERROR Code +*/ +//----------------------------------------------------------------------// +// HPdf_New() -> hDoc +// +HB_FUNC( HPDF_NEW ) +{ + hb_retnl( (long) HPDF_New( NULL, NULL ) ); +} +//----------------------------------------------------------------------// +// HPdf_Free( hDoc ) -> NIL +// +HB_FUNC( HPDF_FREE ) +{ + HPDF_Free( (HPDF_Doc) hb_parnl( 1 ) ); +} +//----------------------------------------------------------------------// +// HPdf_NewDoc( hDoc ) -> hStatus +// +HB_FUNC( HPDF_NEWDOC ) +{ + hb_retnl( (long) HPDF_NewDoc( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_FreeDoc( hNewDoc ) -> NIL +// +HB_FUNC( HPDF_FREEDOC ) +{ + HPDF_FreeDoc( (HPDF_Doc) hb_parnl( 1 ) ); +} +//----------------------------------------------------------------------// +// HPdf_FreeDocAll() -> NIL +// +HB_FUNC( HPDF_FREEDOCALL ) +{ + HPDF_FreeDocAll( (HPDF_Doc) hb_parnl( 1 ) ); +} +//----------------------------------------------------------------------// +// HPdf_SaveToFile( hDoc, cFileToSave ) -> hStatus +// +HB_FUNC( HPDF_SAVETOFILE ) +{ + hb_retnl( (long) HPDF_SaveToFile( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SaveToStream( hDoc ) -> hStatus +// +HB_FUNC( HPDF_SAVETOSTREAM ) +{ + hb_retnl( (long) HPDF_SaveToStream( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetStreamSize( hDoc ) -> nSize +// +HB_FUNC( HPDF_GETSTREAMSIZE ) +{ + hb_retnl( (long) HPDF_GetStreamSize( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_ReadFromStream( hDoc, @cBuffer ) -> nBytesRead +// +HB_FUNC( HPDF_READFROMSTREAM ) +{ + HPDF_UINT32 size = strlen( hb_parc( 2 ) ); + HPDF_ReadFromStream( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ), &size ); + hb_retnl( size ); +} +//----------------------------------------------------------------------// +// HPdf_ResetStream( hDoc ) -> hStatus +// +HB_FUNC( HPDF_RESETSTREAM ) +{ + hb_retnl( (long) HPDF_ResetStream( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_HasDoc( hDoc ) -> lHasDoc +// +HB_FUNC( HPDF_HASDOC ) +{ + hb_retl( HPDF_HasDoc( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetErrorHandler( hDoc, procErrHandler ) -> hStatus +// +HB_FUNC( HPDF_SETERRORHANDLER ) +{ + hb_retnl( (long) HPDF_SetErrorHandler( (HPDF_Doc) hb_parnl( 1 ), (HPDF_Error_Handler) hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetError( hDoc ) -> nErrorCode +// +HB_FUNC( HPDF_GETERROR ) +{ + hb_retnl( (long) HPDF_GetError( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_ResetError( hDoc ) -> NIL +// +HB_FUNC( HPDF_RESETERROR ) +{ + HPDF_ResetError( (HPDF_Doc) hb_parnl( 1 ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetPagesConfiguration( hDoc, nPagePerPages ) -> hStatus +// +HB_FUNC( HPDF_SETPAGESCONFIGURATION ) +{ + hb_retnl( (long) HPDF_SetPagesConfiguration( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetPageLayout( hDoc, nLayout ) -> hStatus +// nLayout == +// HPDF_PAGE_LAYOUT_SINGLE 0 +// HPDF_PAGE_LAYOUT_ONE_COLUMN 1 +// HPDF_PAGE_LAYOUT_TWO_COLUMN_LEFT 2 +// HPDF_PAGE_LAYOUT_TWO_COLUMN_RIGHT 3 +// HPDF_PAGE_LAYOUT_EOF 4 +// +HB_FUNC( HPDF_SETPAGELAYOUT ) +{ + hb_retnl( (long) HPDF_SetPageLayout( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetPageLayout( hDoc ) -> nLayout +// +HB_FUNC( HPDF_GETPAGELAYOUT ) +{ + hb_retni( (long) HPDF_GetPageLayout( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetPageMode( hDoc, nPageMode ) -> hStatus +// nPageMode == +// HPDF_PAGE_MODE_USE_NONE 0 Display the document with neither outline nor thumbnail. +// HPDF_PAGE_MODE_USE_OUTLINE 1 Display the document with outline pane. +// HPDF_PAGE_MODE_USE_THUMBS 2 Display the document with thumbnail pane. +// HPDF_PAGE_MODE_FULL_SCREEN 3 Display the document with full screen mode. +// HPDF_PAGE_MODE_EOF 4 +// +HB_FUNC( HPDF_SETPAGEMODE ) +{ + hb_retnl( (long) HPDF_SetPageMode( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetPageMode( hDoc ) -> nPageMode +// +HB_FUNC( HPDF_GETPAGEMODE ) +{ + hb_retni( (long) HPDF_GetPageMode( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetOpenAction( hDoc, hDestn ) -> hStatus +// +HB_FUNC( HPDF_SETOPENACTION ) +{ + hb_retnl( (long) HPDF_SetOpenAction( (HPDF_Doc) hb_parnl( 1 ), (HPDF_Destination) hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetCurrentPage( hDoc ) -> hPage +// +HB_FUNC( HPDF_GETCURRENTPAGE ) +{ + hb_retnl( (long) HPDF_GetCurrentPage( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_AddPage( hDoc ) -> hPage +// +HB_FUNC( HPDF_ADDPAGE ) +{ + hb_retnl( (long) HPDF_AddPage( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_InsertPage( hDoc, hPage ) -> hPageInserted : Just before hPage +// +HB_FUNC( HPDF_INSERTPAGE ) +{ + hb_retnl( (long) HPDF_InsertPage( (HPDF_Doc) hb_parnl( 1 ), (HPDF_Page)hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetFont( hDoc, cFontName, cEncoding ) -> hFont +// +HB_FUNC( HPDF_GETFONT ) +{ + hb_retnl( (long) HPDF_GetFont( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ), hb_parc( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_LoadTypeIFontFromFile( hDoc, cAFMFileName, cPFA_PFBFileName ) -> cFontName +// +HB_FUNC( HPDF_LOADTYPE1FONTFROMFILE ) +{ + hb_retc( HPDF_LoadType1FontFromFile( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ), hb_parc( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_LoadTTFontFromFile( hDoc, cTTFontFileName, lEmbed ) -> cFontName +// +HB_FUNC( HPDF_LOADTTFONTFROMFILE ) +{ + hb_retc( HPDF_LoadTTFontFromFile( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ), hb_parl( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_LoadTTFontFromFile2( hDoc, cTTFontFileName, nIndexInFile, lEmbed ) -> cFontName +// +HB_FUNC( HPDF_LOADTTFONTFROMFILE2 ) +{ + hb_retc( HPDF_LoadTTFontFromFile2( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ), hb_parni( 3 ), hb_parl( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_AddPageLabel( hDoc, nPageNum, nPgNoStyle, nFirstPageInRange, cPrefixToLabel ) -> hStatus +// nPgNoStyle +// HPDF_PAGE_NUM_STYLE_DECIMAL 1 Page label is displayed by Arabic numerals. +// HPDF_PAGE_NUM_STYLE_UPPER_ROMAN 2 Page label is displayed by Uppercase roman numerals. +// HPDF_PAGE_NUM_STYLE_LOWER_ROMAN 3 Page label is displayed by Lowercase roman numerals. +// HPDF_PAGE_NUM_STYLE_UPPER_LETTERS 4 Page label is displayed by Uppercase letters (using A to Z). +// HPDF_PAGE_NUM_STYLE_LOWER_LETTERS 5 Page label is displayed by Lowercase letters (using a to z). +// +HB_FUNC( HPDF_ADDPAGELABEL ) +{ + hb_retnl( (long) HPDF_AddPageLabel( (HPDF_Doc) hb_parni( 1 ), hb_parni( 2 ), hb_parni( 3 ), hb_parni( 4 ), hb_parc( 5 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_UseJPFonts( hDoc ) -> hSttaus +// +HB_FUNC( HPDF_USEJPFONTS ) +{ + hb_retnl( (long) HPDF_UseJPFonts( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_UseKRFonts( hDoc ) -> hSttaus +// +HB_FUNC( HPDF_USEKRFONTS ) +{ + hb_retnl( (long) HPDF_UseKRFonts( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_UseCNSFonts( hDoc ) -> hStatus +// +HB_FUNC( HPDF_USECNSFONTS ) +{ + hb_retnl( (long) HPDF_UseCNSFonts( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_UseCNTFonts( hDoc ) -> hStatus +// +HB_FUNC( HPDF_USECNTFONTS ) +{ + hb_retnl( (long) HPDF_UseCNTFonts( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_CreateExtGState( hDoc ) -> hExtGState +// +HB_FUNC( HPDF_CREATEEXTGSTATE ) +{ + hb_retnl( (long) HPDF_CreateExtGState( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_CreateOutline( hDoc, hParentOutline, cTitle, hEncoder ) -> hOutline +// +HB_FUNC( HPDF_CREATEOUTLINE ) +{ + hb_retnl( (long) HPDF_CreateOutline( (HPDF_Doc) hb_parnl( 1 ),(HPDF_Outline) hb_parnl( 2 ), hb_parc( 3 ), (HPDF_Encoder) hb_parnl( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetEncoder( hDoc, cEncoding ) -> hEncoder +// +HB_FUNC( HPDF_GETENCODER ) +{ + hb_retnl( (long) HPDF_GetEncoder( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetCurrentEncoder( hDoc ) -> hEncoder +// +HB_FUNC( HPDF_GETCURRENTENCODER ) +{ + hb_retnl( (long) HPDF_GetCurrentEncoder( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetCurrentEncoder( hDoc, hEncoder ) -> hOutline +// +HB_FUNC( HPDF_SETCURRENTENCODER ) +{ + hb_retnl( (long) HPDF_SetCurrentEncoder( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_UseJPEncodings( hDoc ) -> hStatus +// +HB_FUNC( HPDF_USEJPENCODINGS ) +{ + hb_retnl( (long) HPDF_UseJPEncodings( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_UseKREncodings( hDoc ) -> hStatus +// +HB_FUNC( HPDF_USEKRENCODINGS ) +{ + hb_retnl( (long) HPDF_UseKREncodings( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_UseCNSEncodings( hDoc ) -> hStatus +// +HB_FUNC( HPDF_USECNSENCODINGS ) +{ + hb_retnl( (long) HPDF_UseCNSEncodings( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_UseCNTEncodings( hDoc ) -> hStatus +// +HB_FUNC( HPDF_USECNTENCODINGS ) +{ + hb_retnl( (long) HPDF_UseCNTEncodings( (HPDF_Doc) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_LoadPngImageFromFile( hDoc, cPNGFileName ) -> hImage +// +HB_FUNC( HPDF_LOADPNGIMAGEFROMFILE ) +{ + hb_retnl( (long) HPDF_LoadPngImageFromFile( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_LoadPngImageFromFile2( hDoc, cPNGFileName ) -> hImage +// +HB_FUNC( HPDF_LOADPNGIMAGEFROMFILE2 ) +{ + hb_retnl( (long) HPDF_LoadPngImageFromFile2( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_LoadRawImageFromFile( hDoc, cImageFileName, nWidth, nHeight, nColorSpace ) -> hImage +// nColorSpace +// HPDF_CS_DEVICE_GRAY +// HPDF_CS_DEVICE_RGB +// HPDF_CS_DEVICE_CMYK +// +HB_FUNC( HPDF_LOADRAWIMAGEFROMFILE ) +{ + hb_retnl( (long) HPDF_LoadRawImageFromFile( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ), hb_parni( 3 ), hb_parni( 4 ), (HPDF_ColorSpace) hb_parni( 5 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_LoadRawImageFromMem( hDoc, cBuffer, nWidth, nHeight, nColorSpace, nBitsPerComponents ) -> hImage +// +HB_FUNC( HPDF_LOADRAWIMAGEFROMMEM ) +{ + hb_retnl( (long) HPDF_LoadRawImageFromMem( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ), hb_parni( 3 ), hb_parni( 4 ), (HPDF_ColorSpace) hb_parni( 5 ), hb_parni( 6 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_LoadJPEGImageFromFile( hDoc, cHPEGFileName ) -> hImage +// +HB_FUNC( HPDF_LOADJPEGIMAGEFROMFILE ) +{ + hb_retnl( (long) HPDF_LoadJpegImageFromFile( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetInfoAttr( hDoc, nInfoType, cInfo ) -> hSttaus +// nInfoType == +// HPDF_INFO_AUTHOR +// HPDF_INFO_CREATOR +// HPDF_INFO_TITLE +// HPDF_INFO_SUBJECT +// HPDF_INFO_KEYWORDS +// +HB_FUNC( HPDF_SETINFOATTR ) +{ + hb_retnl( (long) HPDF_SetInfoAttr( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ), hb_parc( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_GetInfoAttr( hDoc, nInfoType ) -> cInfo +// +HB_FUNC( HPDF_GETINFOATTR ) +{ + hb_retc( HPDF_GetInfoAttr( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetInfoDateAttr( hDoc, nInfoType, aDateValues ) -> hStatus +// nInfoType == +// HPDF_INFO_CREATION_DATE +// HPDF_INFO_MOD_DATE +// +HB_FUNC( HPDF_SETINFODATEATTR ) +{ + HPDF_Date date; + + date.year = hb_parni( 2,1 ); + date.month = hb_parni( 2,2 ); + date.day = hb_parni( 2,3 ); + date.hour = hb_parni( 2,4 ); + date.minutes = hb_parni( 2,5 ); + date.seconds = hb_parni( 2,6 ); + + hb_retnl( (long) HPDF_SetInfoDateAttr( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ), date ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetPassword( hDoc, cOwnerPassword = NO NIL, cUserPassword = CANBE NIL ) -> hStatus +// +HB_FUNC( HPDF_SETPASSWORD ) +{ + hb_retnl( (long) HPDF_SetPassword( (HPDF_Doc) hb_parnl( 1 ), hb_parc( 2 ), hb_parc( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetPermission( hDoc, nPermission ) -> hStatus +// nPermission == +// HPDF_ENABLE_READ 1 user can read the document. +// HPDF_ENABLE_PRINT 2 user can print the document. +// HPDF_ENABLE_EDIT_ALL 3 user can edit the contents of the document other than annotations, form fields. +// HPDF_ENABLE_COPY 4 user can copy the text and the graphics of the document. +// HPDF_ENABLE_EDIT 5 user can add or modify the annotations and form fields of the document. +// +HB_FUNC( HPDF_SETPERMISSION ) +{ + hb_retnl( (long) HPDF_SetPermission( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetEncryptionMode( hDoc, nEncMode, nKeyLen ) -> hSttaus +// nEncMode == +// HPDF_ENCRYPT_R2 1 Use "Revision 2" algorithm. +// The length of key is automatically set to 5(40bit). +// HPDF_ENCRYPT_R3 2 Use "Revision 3" algorithm. +// Between 5(40bit) and 16(128bit) can be specified for length of the key +// +HB_FUNC( HPDF_SETENCRYPTIONMODE ) +{ + hb_retnl( (long) HPDF_SetEncryptionMode( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ), hb_parni( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_SetCompressionMode( hDoc, nCompMode ) -> hStatus +// nCompMode == +// HPDF_COMP_NONE 1 All contents are not compressed. +// HPDF_COMP_TEXT 2 Compress the contents stream of the page. +// HPDF_COMP_IMAGE 3 Compress the streams of the image objects. +// HPDF_COMP_METADATA 4 Other stream datas (fonts, cmaps and so on) are compressed. +// HPDF_COMP_ALL 5 All stream datas are compressed. (The same as "HPDF_COMP_TEXT | HPDF_COMP_IMAGE | HPDF_COMP_METADATA") +// +HB_FUNC( HPDF_SETCOMPRESSIONMODE ) +{ + hb_retnl( (long) HPDF_SetCompressionMode( (HPDF_Doc) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// Page Handelling +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPdf_Page_SetWidth( hPage, nWidth ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETWIDTH ) +{ + hb_retnl( (long) HPDF_Page_SetWidth( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_SetHeight( hPage, nHeight ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETHEIGHT ) +{ + hb_retnl( (long) HPDF_Page_SetHeight( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_SetSize( hPage, nSize, nOrientation = 1 Portrait, 2 Landscape ) -> hStatis +// nSize == +// HPDF_PAGE_SIZE_LETTER 1 8ス x 11 (Inches) 612 x 792 +// HPDF_PAGE_SIZE_LEGAL 2 8ス x 14 (Inches) 612 x 1008 +// HPDF_PAGE_SIZE_A3 3 297 ラ 420 (mm) 841.89 x 1199.551 +// HPDF_PAGE_SIZE_A4 4 210 ラ 297 (mm) 595.276 x 841.89 +// HPDF_PAGE_SIZE_A5 5 148 ラ 210 (mm) 419.528 x 595.276 +// HPDF_PAGE_SIZE_B4 6 250 ラ 353 (mm) 708.661 x 1000.63 +// HPDF_PAGE_SIZE_B5 7 176 ラ 250 (mm) 498.898 x 708.661 +// HPDF_PAGE_SIZE_EXECUTIVE 8 7ス x 10ス (Inches) 522 x 756 +// HPDF_PAGE_SIZE_US4x6 9 4 x 6 (Inches) 288 x 432 +// HPDF_PAGE_SIZE_US4x8 10 4 x 8 (Inches) 288 x 576 +// HPDF_PAGE_SIZE_US5x7 11 5 x 7 (Inches) 360 x 504 +// HPDF_PAGE_SIZE_COMM10 12 4.125 x 9.5 (Inches) 297x 684 +// +HB_FUNC( HPDF_PAGE_SETSIZE ) +{ + hb_retnl( (long) HPDF_Page_SetSize( (HPDF_Page) hb_parnl( 1 ), hb_parni( 2 ), hb_parni( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_SetRotate( hPage, nAngle = 0-360 ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETROTATE ) +{ + hb_retnl( (long) HPDF_Page_SetRotate( (HPDF_Page) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetWidth( hPage ) -> nWidth +// +HB_FUNC( HPDF_PAGE_GETWIDTH ) +{ + hb_retnd( (long) HPDF_Page_GetWidth( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetHeight( hPage ) -> nHeight +// +HB_FUNC( HPDF_PAGE_GETHEIGHT ) +{ + hb_retnd( (long) HPDF_Page_GetHeight( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_CreateDestination( hPage ) -> hDestn +// +HB_FUNC( HPDF_PAGE_CREATEDESTINATION ) +{ + hb_retnl( (long) HPDF_Page_CreateDestination( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_CreateAnnot( hPage, aRect[nLeft,nTop,nRight,nBottom], cText, cEncoder ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CREATETEXTANNOT ) +{ + HPDF_Rect rc; + + rc.left = hb_parnl( 2,1 ); + rc.top = hb_parnl( 2,2 ); + rc.right = hb_parnl( 2,3 ); + rc.bottom = hb_parnl( 2,4 ); + + hb_retnl( (long) HPDF_Page_CreateTextAnnot( (HPDF_Page) hb_parnl( 1 ), rc, hb_parc( 3 ), (HPDF_Encoder) hb_parnl( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_CreateLinkAnnot( hPage, aRect, hDestn) -> hStatus +// +HB_FUNC( HPDF_PAGE_CREATELINKANNOT ) +{ + HPDF_Rect rc; + + rc.left = hb_parnl( 2,1 ); + rc.top = hb_parnl( 2,2 ); + rc.right = hb_parnl( 2,3 ); + rc.bottom = hb_parnl( 2,4 ); + + hb_retnl( (long) HPDF_Page_CreateLinkAnnot( (HPDF_Page) hb_parnl( 1 ), rc, (HPDF_Destination) hb_parnl( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_CreateURILinkAnnot( hPage, aRect, cURI ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CREATEURILINKANNOT ) +{ + HPDF_Rect rc; + + rc.left = hb_parnl( 2,1 ); + rc.top = hb_parnl( 2,2 ); + rc.right = hb_parnl( 2,3 ); + rc.bottom = hb_parnl( 2,4 ); + + hb_retnl( (long) HPDF_Page_CreateURILinkAnnot( (HPDF_Page) hb_parnl( 1 ), rc, hb_parc( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_TextWidth( hPage, cText ) -> nTextWidth +// +HB_FUNC( HPDF_PAGE_TEXTWIDTH ) +{ + hb_retnl( (long) HPDF_Page_TextWidth( (HPDF_Page) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_MeasureText( hPage, cText, nWidth, lWordWrap ) -> nByteLenOfTextToFitWidth +// +HB_FUNC( HPDF_PAGE_MEASURETEXT ) +{ + hb_retnl( (long) HPDF_Page_MeasureText( (HPDF_Page) hb_parnl( 1 ), hb_parc( 2 ), hb_parnd( 3 ), hb_parl( 4 ), NULL ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetMode( hPage ) -> nGraphicMode +// +HB_FUNC( HPDF_PAGE_GETGMODE ) +{ + hb_retnl( (long) HPDF_Page_GetGMode( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetCurrentPos( hPage ) -> aCurPos[ nX, nY ] +// +HB_FUNC( HPDF_PAGE_GETCURRENTPOS ) +{ + HPDF_Point pt; + PHB_ITEM info = hb_itemArrayNew( 2 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + pt = HPDF_Page_GetCurrentPos( (HPDF_Page) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, pt.x ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, pt.y ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetCurrentTextPos( hPage ) -> aCurTextPos[ nX, nY ] +// +HB_FUNC( HPDF_PAGE_GETCURRENTTEXTPOS ) +{ + HPDF_Point pt; + PHB_ITEM info = hb_itemArrayNew( 2 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + pt = HPDF_Page_GetCurrentTextPos( (HPDF_Page) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, pt.x ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, pt.y ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetCurrentFont( hPage ) -> hFont +// +HB_FUNC( HPDF_PAGE_GETCURRENTFONT ) +{ + hb_retnl( (long) HPDF_Page_GetCurrentFont( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetCurrentFontSize( hPage ) -> nFontSize +// +HB_FUNC( HPDF_PAGE_GETCURRENTFONTSIZE ) +{ + hb_retnd( (long) HPDF_Page_GetCurrentFontSize( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetTransMatrix( hPage ) -> aMatrix[ ] +// +HB_FUNC( HPDF_PAGE_GETTRANSMATRIX ) +{ + HPDF_TransMatrix matrix; + PHB_ITEM info = hb_itemArrayNew( 6 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + matrix = HPDF_Page_GetTransMatrix( (HPDF_Page) hb_parnl( 1 ) ) ; + + hb_arraySet( info, 1, hb_itemPutND( temp, matrix.a ) ); + hb_arraySet( info, 2, hb_itemPutND( temp, matrix.b ) ); + hb_arraySet( info, 3, hb_itemPutND( temp, matrix.c ) ); + hb_arraySet( info, 4, hb_itemPutND( temp, matrix.d ) ); + hb_arraySet( info, 5, hb_itemPutND( temp, matrix.x ) ); + hb_arraySet( info, 6, hb_itemPutND( temp, matrix.y ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetLineWidth( hPage ) -> nLineWidth +// +HB_FUNC( HPDF_PAGE_GETLINEWIDTH ) +{ + hb_retnd( (long) HPDF_Page_GetLineWidth( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetLineCap( hPage ) -> nLineCapStyle +// +HB_FUNC( HPDF_PAGE_GETLINECAP ) +{ + hb_retnl( (long) HPDF_Page_GetLineCap( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetLineJoin( hPage ) -> nLineJoinStyle +// +HB_FUNC( HPDF_PAGE_GETLINEJOIN ) +{ + hb_retnl( (long) HPDF_Page_GetLineJoin( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetMiterLimit( hPage ) -> nMiterLimit +// +HB_FUNC( HPDF_PAGE_GETMITERLIMIT ) +{ + hb_retnl( (long) HPDF_Page_GetMiterLimit( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetDash( hPage ) -> aDash +// +HB_FUNC( HPDF_PAGE_GETDASH ) +{ + HPDF_DashMode dash; + PHB_ITEM info = hb_itemArrayNew( 10 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + dash = HPDF_Page_GetDash( (HPDF_Page) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, dash.ptn[0] ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, dash.ptn[1] ) ); + hb_arraySet( info, 3, hb_itemPutNI( temp, dash.ptn[2] ) ); + hb_arraySet( info, 4, hb_itemPutNI( temp, dash.ptn[3] ) ); + hb_arraySet( info, 5, hb_itemPutNI( temp, dash.ptn[4] ) ); + hb_arraySet( info, 6, hb_itemPutNI( temp, dash.ptn[5] ) ); + hb_arraySet( info, 7, hb_itemPutNI( temp, dash.ptn[6] ) ); + hb_arraySet( info, 8, hb_itemPutNI( temp, dash.ptn[7] ) ); + hb_arraySet( info, 9, hb_itemPutND( temp, dash.num_ptn ) ); + hb_arraySet( info,10, hb_itemPutND( temp, dash.phase ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetFlat( hPage ) -> nCurFlatness +// +HB_FUNC( HPDF_PAGE_GETFLAT ) +{ + hb_retnd( (long) HPDF_Page_GetFlat( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetCharSpace( hPage ) -> nCurCharSpace +// +HB_FUNC( HPDF_PAGE_GETCHARSPACE ) +{ + hb_retnd( (long) HPDF_Page_GetCharSpace( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetWordSpace( hPage ) -> nCurWordSpace +// +HB_FUNC( HPDF_PAGE_GETWORDSPACE ) +{ + hb_retnd( (long) HPDF_Page_GetWordSpace( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetHorizontalScalling( hPage ) -> nHorzScaling +// +HB_FUNC( HPDF_PAGE_GETHORIZONTALSCALLING ) +{ + hb_retnd( (long) HPDF_Page_GetHorizontalScalling( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetTextLeading( hPage ) -> nTextLeading +// +HB_FUNC( HPDF_PAGE_GETTEXTLEADING ) +{ + hb_retnd( (long) HPDF_Page_GetTextLeading( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetTextRenderingMode( hPage ) -> nTextRenderingMode +// +HB_FUNC( HPDF_PAGE_GETTEXTRENDERINGMODE ) +{ + hb_retnd( (long) HPDF_Page_GetTextRenderingMode( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetTextRise( hPage ) -> nTextRise +// +HB_FUNC( HPDF_PAGE_GETTEXTRISE ) +{ + hb_retnd( (long) HPDF_Page_GetTextRise( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetRGBFill( hPage ) -> aRGBFill[ nRed, nGreen, nBlue ] +// +HB_FUNC( HPDF_PAGE_GETRGBFILL ) +{ + HPDF_RGBColor rgb; + PHB_ITEM info = hb_itemArrayNew( 3 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + rgb = HPDF_Page_GetRGBFill( (HPDF_Page) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, rgb.r ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, rgb.g ) ); + hb_arraySet( info, 3, hb_itemPutNI( temp, rgb.b ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetRGBStroke( hPage ) -> aRGBStroke[ nRed, nGreen, nBlue ] +// +HB_FUNC( HPDF_PAGE_GETRGBSTROKE ) +{ + HPDF_RGBColor rgb; + PHB_ITEM info = hb_itemArrayNew( 3 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + rgb = HPDF_Page_GetRGBStroke( (HPDF_Page) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, rgb.r ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, rgb.g ) ); + hb_arraySet( info, 3, hb_itemPutNI( temp, rgb.b ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetCMYKFill( hPage ) -> aCMYKFill[ nC, nM, nY, nK ] +// +HB_FUNC( HPDF_PAGE_GETCMYKFILL ) +{ + HPDF_CMYKColor cmyk; + PHB_ITEM info = hb_itemArrayNew( 4 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + cmyk = HPDF_Page_GetCMYKFill( (HPDF_Page) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, cmyk.c ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, cmyk.m ) ); + hb_arraySet( info, 3, hb_itemPutNI( temp, cmyk.y ) ); + hb_arraySet( info, 4, hb_itemPutNI( temp, cmyk.k ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetCMYKStroke( hPage ) -> aCMYKStroke[ nC, nM, nY, nK ] +// +HB_FUNC( HPDF_PAGE_GETCMYKSTROKE ) +{ + HPDF_CMYKColor cmyk; + PHB_ITEM info = hb_itemArrayNew( 4 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + cmyk = HPDF_Page_GetCMYKStroke( (HPDF_Page) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, cmyk.c ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, cmyk.m ) ); + hb_arraySet( info, 3, hb_itemPutNI( temp, cmyk.y ) ); + hb_arraySet( info, 4, hb_itemPutNI( temp, cmyk.k ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetGrayFill( hPage ) -> nGrayFillValue +// +HB_FUNC( HPDF_PAGE_GETGRAYFILL ) +{ + hb_retnd( (long) HPDF_Page_GetGrayFill( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetGrayStroke( hPage ) -> nGrayStrokeValue +// +HB_FUNC( HPDF_PAGE_GETGRAYSTROKE ) +{ + hb_retnd( (long) HPDF_Page_GetGrayStroke( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetStrokingColorSpace( hPage ) -> nStrokingSpace +// +HB_FUNC( HPDF_PAGE_GETSTROKINGCOLORSPACE ) +{ + hb_retnd( (long) HPDF_Page_GetStrokingColorSpace( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetFillingColorSpace( hPage ) -> nFillingColorSpace +// +HB_FUNC( HPDF_PAGE_GETFILLINGCOLORSPACE ) +{ + hb_retnd( (long) HPDF_Page_GetFillingColorSpace( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetTextMatrix( hPage ) -> aMatrix[ ] +// +HB_FUNC( HPDF_PAGE_GETTEXTMATRIX ) +{ + HPDF_TransMatrix matrix; + PHB_ITEM info = hb_itemArrayNew( 6 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + matrix = HPDF_Page_GetTextMatrix( (HPDF_Page) hb_parnl( 1 ) ) ; + + hb_arraySet( info, 1, hb_itemPutND( temp, matrix.a ) ); + hb_arraySet( info, 2, hb_itemPutND( temp, matrix.b ) ); + hb_arraySet( info, 3, hb_itemPutND( temp, matrix.c ) ); + hb_arraySet( info, 4, hb_itemPutND( temp, matrix.d ) ); + hb_arraySet( info, 5, hb_itemPutND( temp, matrix.x ) ); + hb_arraySet( info, 6, hb_itemPutND( temp, matrix.y ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPdf_Page_GetGStateDepth( hPage ) -> nGStateDepth +// +HB_FUNC( HPDF_PAGE_GETGSTATEDEPTH ) +{ + hb_retni( (long) HPDF_Page_GetGStateDepth( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPdf_Page_SetSlideShow( hPage, nType, nDurationPerFrame, nTranstnTime = 1 Second ) -> hStatus +// nType == +// HPDF_TS_WIPE_RIGHT +// HPDF_TS_WIPE_UP +// HPDF_TS_WIPE_LEFT +// HPDF_TS_WIPE_DOWN +// HPDF_TS_BARN_DOORS_HORIZONTAL_OUT +// HPDF_TS_BARN_DOORS_HORIZONTAL_IN +// HPDF_TS_BARN_DOORS_VERTICAL_OUT +// HPDF_TS_BARN_DOORS_VERTICAL_IN +// HPDF_TS_BOX_OUT +// HPDF_TS_BOX_IN +// HPDF_TS_BLINDS_HORIZONTAL +// HPDF_TS_BLINDS_VERTICAL +// HPDF_TS_DISSOLVE +// HPDF_TS_GLITTER_RIGHT +// HPDF_TS_GLITTER_DOWN +// HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT +// HPDF_TS_REPLACE +// +HB_FUNC( HPDF_PAGE_SETSLIDESHOW ) +{ + hb_retnl( (long) HPDF_Page_SetSlideShow( (HPDF_Page) hb_parnl( 1 ), hb_parni( 2 ), hb_parnd( 3 ), hb_parnd( 4 ) ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// GRAPHICS +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPDF_Page_SetLineWidth( hPage, nLineWidth ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETLINEWIDTH ) +{ + hb_retnl( (long) HPDF_Page_SetLineWidth( (HPDF_Page) hb_parnl( 1 ),hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetLineCap( hPage, nLineCap ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETLINECAP ) +{ + hb_retnl( (long) HPDF_Page_SetLineCap( (HPDF_Page) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetLineJoin( hPage, nLineJoin ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETLINEJOIN ) +{ + hb_retnl( (long) HPDF_Page_SetLineJoin( (HPDF_Page) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetMiterLimit( hPage, nMiterLimit ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETMITERLIMIT ) +{ + hb_retnl( (long) HPDF_Page_SetMiterLimit( (HPDF_Page) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetDash( hPage, aDash, nNumPoints, nStartFrom ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETDASH ) +{ + HPDF_DashMode dash; + int nPtns = hb_parni( 3 ); + int i; + + for ( i = 0; i < nPtns; i++ ) + { + dash.ptn[ i ] = hb_parni( 2, i+1 ); + } + + hb_retnl( (long) HPDF_Page_SetDash( (HPDF_Page) hb_parnl( 1 ), dash.ptn, nPtns, hb_parni( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetExtGState( hPage, hGState ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETEXTGSTATE ) +{ + hb_retnl( (long) HPDF_Page_SetExtGState( (HPDF_Page) hb_parnl( 1 ), (HPDF_ExtGState)hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_GSave( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_GSAVE ) +{ + hb_retnl( (long) HPDF_Page_GSave( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_GRestore( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_GRESTORE ) +{ + hb_retnl( (long) HPDF_Page_GRestore( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Concat( hPage, nA, nB, nC, nD, nX, nY ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CONCAT ) +{ + hb_retnl( (long) HPDF_Page_Concat( (HPDF_Page) hb_parnl( 1 ), + hb_parnd( 2 ), + hb_parnd( 3 ), + hb_parnd( 4 ), + hb_parnd( 5 ), + hb_parnd( 6 ), + hb_parnd( 7 ) + ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_MoveTo( hPage, nX, nY ) -> hStatus +// +HB_FUNC( HPDF_PAGE_MOVETO ) +{ + hb_retnl( (long) HPDF_Page_MoveTo( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_LineTo( hPage, nX, nY ) -> hStatus +// +HB_FUNC( HPDF_PAGE_LINETO ) +{ + hb_retnl( (long) HPDF_Page_LineTo( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_CurveTo( hPage, nX1, nY1, nX2, nY2, nX3, nY3 ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CURVETO ) +{ + hb_retnl( (long) HPDF_Page_CurveTo( (HPDF_Page) hb_parnl( 1 ), + hb_parnd( 2 ), + hb_parnd( 3 ), + hb_parnd( 4 ), + hb_parnd( 5 ), + hb_parnd( 6 ), + hb_parnd( 7 ) + ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_CurveTo2( hPage, nX2, nY2, nX3, nY3 ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CURVETO2 ) +{ + hb_retnl( (long) HPDF_Page_CurveTo2( (HPDF_Page) hb_parnl( 1 ), + hb_parnd( 2 ), + hb_parnd( 3 ), + hb_parnd( 4 ), + hb_parnd( 5 ) + ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_CurveTo3( hPage, nX1, nY1, nX3, nY3 ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CURVETO3 ) +{ + hb_retnl( (long) HPDF_Page_CurveTo3( (HPDF_Page) hb_parnl( 1 ), + hb_parnd( 2 ), + hb_parnd( 3 ), + hb_parnd( 4 ), + hb_parnd( 5 ) + ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_ClosePath( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CLOSEPATH ) +{ + hb_retnl( (long) HPDF_Page_ClosePath( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Rectangle( hPage, nX, nY, nWidth, nHeight ) -> hStatus +// +HB_FUNC( HPDF_PAGE_RECTANGLE ) +{ + hb_retnl( (long) HPDF_Page_Rectangle( (HPDF_Page) hb_parnl( 1 ),hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Stroke( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_STROKE ) +{ + hb_retnl( (long) HPDF_Page_Stroke( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_ClosePathStroke( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CLOSEPATHSTROKE ) +{ + hb_retnl( (long) HPDF_Page_ClosePathStroke( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetFontAndSize( hPage, hFont, nSize ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETFONTANDSIZE ) +{ + hb_retnl( (long) HPDF_Page_SetFontAndSize( (HPDF_Page) hb_parnl( 1 ), (HPDF_Font)hb_parnl( 2 ), hb_parnd( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_BeginText( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_BEGINTEXT ) +{ + hb_retnl( (long) HPDF_Page_BeginText( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_EndText( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_ENDTEXT ) +{ + hb_retnl( (long) HPDF_Page_EndText( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_TextOut( hPage, nX, nY, cText ) -> hStatus +// +HB_FUNC( HPDF_PAGE_TEXTOUT ) +{ + hb_retnl( (long) HPDF_Page_TextOut( (HPDF_Page) hb_parnl( 1 ),hb_parnd( 2 ), hb_parnd( 3 ), hb_parc( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_MoveTextPos( hPage, nX, nY ) -> hStatus +// +HB_FUNC( HPDF_PAGE_MOVETEXTPOS ) +{ + hb_retnl( (long) HPDF_Page_MoveTextPos( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_ShowText( hPage, cText ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SHOWTEXT ) +{ + hb_retnl( (long) HPDF_Page_ShowText( (HPDF_Page) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Fill( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_FILL ) +{ + hb_retnl( (long) HPDF_Page_Fill( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Eofill( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_EOFILL ) +{ + hb_retnl( (long) HPDF_Page_Eofill( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_FillStroke( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_FILLSTROKE ) +{ + hb_retnl( (long) HPDF_Page_FillStroke( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_EofillStroke( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_EOFILLSTROKE ) +{ + hb_retnl( (long) HPDF_Page_EofillStroke( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_ClosePathFillStroke( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CLOSEPATHFILLSTROKE ) +{ + hb_retnl( (long) HPDF_Page_ClosePathFillStroke( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_ClosePathEofillStroke( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CLOSEPATHEOFILLSTROKE ) +{ + hb_retnl( (long) HPDF_Page_ClosePathEofillStroke( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_EndPath( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_ENDPATH ) +{ + hb_retnl( (long) HPDF_Page_EndPath( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Clip( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CLIP ) +{ + hb_retnl( (long) HPDF_Page_Clip( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Eoclip( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_EOCLIP ) +{ + hb_retnl( (long) HPDF_Page_Eoclip( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetCharSpace( hPage, nSpaceWidth ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETCHARSPACE ) +{ + hb_retnl( (long) HPDF_Page_SetCharSpace( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetWordSpace( hPage, nSpaceWidth ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETWORDSPACE ) +{ + hb_retnl( (long) HPDF_Page_SetWordSpace( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetHorizontalScalling( hPage, nHorzScale ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETHORIZONTALSCALLING ) +{ + hb_retnl( (long) HPDF_Page_SetHorizontalScalling( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetTextLeading( hPage, nTextLeading ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETTEXTLEADING ) +{ + hb_retnl( (long) HPDF_Page_SetTextLeading( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetTextRenderingMode( hPage, nTextRenderingMode ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETTEXTRENDERINGMODE ) +{ + hb_retnl( (long) HPDF_Page_SetTextRenderingMode( (HPDF_Page) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetTextRise( hPage, nTextRise ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETTEXTRISE ) +{ + hb_retnl( (long) HPDF_Page_SetTextRise( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_MoveTextPos2( hPage, nX, nY ) -> hStatus +// +HB_FUNC( HPDF_PAGE_MOVETEXTPOS2 ) +{ + hb_retnl( (long) HPDF_Page_MoveTextPos2( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetTextMatrix( hPage ) -> hStatus --------tobedone--------- +// +HB_FUNC( HPDF_PAGE_SETTEXTMATRIX ) +{ + hb_retnl( (long) HPDF_Page_SetTextMatrix( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ), hb_parnd( 6 ), hb_parnd( 7 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_MoveToNextLine( hPage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_MOVETONEXTLINE ) +{ + hb_retnl( (long) HPDF_Page_MoveToNextLine( (HPDF_Page) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_ShowTextNextLine( hPage, cText ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SHOWTEXTNEXTLINE ) +{ + hb_retnl( (long) HPDF_Page_ShowTextNextLine( (HPDF_Page) hb_parnl( 1 ), hb_parc( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_ShowTextNextLineEx( hPage, nWordSpace, nCharSpace, cText ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SHOWTEXTNEXTLINEEX ) +{ + hb_retnl( (long) HPDF_Page_ShowTextNextLineEx( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parc( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetGrayFill( hPage, nGrayFill ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETGRAYFILL ) +{ + hb_retnl( (long) HPDF_Page_SetGrayFill( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetGrayStroke( hPage, nGrayStroke ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETGRAYSTROKE ) +{ + hb_retnl( (long) HPDF_Page_SetGrayStroke( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetRGBFill( hPage, nRGBRed, nRGBGreen, nRGBBlue ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETRGBFILL ) +{ + hb_retnl( (long) HPDF_Page_SetRGBFill( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetRGBStroke( hPage, nRGBRed, nRGBGreen, nRGBBlue ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETRGBSTROKE ) +{ + hb_retnl( (long) HPDF_Page_SetRGBStroke( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetCMYKFill( hPage, nC, nM, nY, nK ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETCMYKFILL ) +{ + hb_retnl( (long) HPDF_Page_SetCMYKFill( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_SetCMYKStroke( hPage, nC, nM, nY, nK ) -> hStatus +// +HB_FUNC( HPDF_PAGE_SETCMYKSTROKE ) +{ + hb_retnl( (long) HPDF_Page_SetCMYKStroke( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_ExecuteXObject( hPage, hImage ) -> hStatus +// +HB_FUNC( HPDF_PAGE_EXECUTEXOBJECT ) +{ + hb_retnl( (long) HPDF_Page_ExecuteXObject( (HPDF_Page) hb_parnl( 1 ), (HPDF_Image) hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_DrawImage( hPage, hImage, nX, nY, nWidth, nHeight ) -> hStatus +// +HB_FUNC( HPDF_PAGE_DRAWIMAGE ) +{ + hb_retnl( (long) HPDF_Page_DrawImage( (HPDF_Page) hb_parnl( 1 ), (HPDF_Image) hb_parnl( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ), hb_parnd( 6 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Circle( hPage, nX, nY, nRay ) -> hStatus +// +HB_FUNC( HPDF_PAGE_CIRCLE ) +{ + hb_retnl( (long) HPDF_Page_Circle( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Arc( hPage, nX, nY, nRay, nAngle1, nAngle2 ) -> hStatus +// +HB_FUNC( HPDF_PAGE_ARC ) +{ + hb_retnl( (long) HPDF_Page_Arc( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ), hb_parnd( 6 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_Ellipse( hPage, nX, nY, nxRay, nyRay ) -> hStatus +// +HB_FUNC( HPDF_PAGE_ELLIPSE ) +{ + hb_retnl( (long) HPDF_Page_Ellipse( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Page_TextRect( hPage, nLeft, nTop, nRight, nBottom, cText, nAlign ) -> hStatus +// +HB_FUNC( HPDF_PAGE_TEXTRECT ) +{ + hb_retnl( (long) HPDF_Page_TextRect( (HPDF_Page) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ), hb_parc( 6 ), hb_parni( 7 ), NULL ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// FONTS +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPDF_Font_GetFontName( hFont ) -> cFontName +// +HB_FUNC( HPDF_FONT_GETFONTNAME ) +{ + hb_retc( HPDF_Font_GetFontName( (HPDF_Font) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Font_GetEncodingName( hFont ) -> cEncoding +// +HB_FUNC( HPDF_FONT_GETENCODINGNAME ) +{ + hb_retc( HPDF_Font_GetEncodingName( (HPDF_Font) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Font_GetUnicodeWidth( hFont, hUnicode ) -> nCharWidth +// +HB_FUNC( HPDF_FONT_GETUNICODEWIDTH ) +{ + hb_retnl( (long) HPDF_Font_GetUnicodeWidth( (HPDF_Font) hb_parnl( 1 ), (HPDF_UNICODE)hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Font_GetBBox( hFont ) -> aRect +// +HB_FUNC( HPDF_FONT_GETBBOX ) +{ + HPDF_Box rc; + PHB_ITEM info = hb_itemArrayNew( 4 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + rc = HPDF_Font_GetBBox( (HPDF_Font) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutND( temp, rc.left ) ); + hb_arraySet( info, 2, hb_itemPutND( temp, rc.top ) ); + hb_arraySet( info, 3, hb_itemPutND( temp, rc.right ) ); + hb_arraySet( info, 4, hb_itemPutND( temp, rc.bottom ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPDF_Font_GetAscent( hFont ) -> nAscent +// +HB_FUNC( HPDF_FONT_GETASCENT ) +{ + hb_retni( (long) HPDF_Font_GetAscent( (HPDF_Font) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Font_GetDescent( hFont ) -> nDescent +// +HB_FUNC( HPDF_FONT_GETDESCENT ) +{ + hb_retni( (long) HPDF_Font_GetDescent( (HPDF_Font) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Font_GetXHeight( hFont ) -> nXHeight +// +HB_FUNC( HPDF_FONT_GETXHEIGHT ) +{ + hb_retnl( (long) HPDF_Font_GetXHeight( (HPDF_Font) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Font_GetCapHeight( hFont ) -> nCapsHeight +// +HB_FUNC( HPDF_FONT_GETCAPHEIGHT ) +{ + hb_retnl( (long) HPDF_Font_GetCapHeight( (HPDF_Font) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Font_TextWidth( hFont, cText, nWidth ) -> aTextWidth[ nNumChars, nNumWords, nWidth, nNumSpace ] +// +HB_FUNC( HPDF_FONT_TEXTWIDTH ) +{ + HPDF_TextWidth tw; + PHB_ITEM info = hb_itemArrayNew( 4 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + tw = HPDF_Font_TextWidth( (HPDF_Font) hb_parnl( 1 ), hb_parc( 2 ), hb_parni( 3 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, tw.numchars ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, tw.numwords ) ); + hb_arraySet( info, 3, hb_itemPutNI( temp, tw.width ) ); + hb_arraySet( info, 4, hb_itemPutNI( temp, tw.numspace ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPDF_Font_MeasureText( hFont, cText, nTextLen, nWidth, nFontSize, nCharSpace, nWordSpace, lWordWrap ) -> nByteLengthTobeIncludedInWidth +// +HB_FUNC( HPDF_FONT_MEASURETEXT ) +{ + hb_retni( HPDF_Font_MeasureText( (HPDF_Font) hb_parnl( 1 ), + hb_parc ( 2 ), + hb_parni( 3 ), + hb_parnd( 4 ), + hb_parnd( 5 ), + hb_parnd( 6 ), + hb_parnd( 7 ), + hb_parl ( 8 ), + NULL ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// ENCODING +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPDF_Encoder_GetType( hEncoder ) -> nEncoderType +// nEncoderType == +// HPDF_ENCODER_TYPE_SINGLE_BYTE 1 This encoder is an encoder for single byte characters. +// HPDF_ENCODER_TYPE_DOUBLE_BYTE 2 This encoder is an encoder for multi byte characters. +// HPDF_ENCODER_TYPE_UNINITIALIZED 3 This encoder is uninitialized. (May be it is an encoder for multi byte characters.) +// HPDF_ENCODER_UNKNOWN 4 Invalid encoder. +// +HB_FUNC( HPDF_ENCODER_GETTYPE ) +{ + hb_retni( (long) HPDF_Encoder_GetType( (HPDF_Encoder) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Encoder_GetByteType( hEncoder, cText, nIndex ) -> nByteType +// nByteType +// HPDF_BYTE_TYPE_SINGLE 1 Single byte character. +// HPDF_BYTE_TYPE_LEAD 2 Lead byte of a double-byte character. +// HPDF_BYTE_TYPE_TRIAL 3 Trailing byte of a double-byte character. +// HPDF_BYTE_TYPE_UNKNOWN 4 Invalid encoder or cannot judge the byte type. +// +HB_FUNC( HPDF_ENCODER_GETBYTETYPE ) +{ + hb_retni( (long) HPDF_Encoder_GetByteType( (HPDF_Encoder) hb_parnl( 1 ), hb_parc( 2 ), hb_parni( 3 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Encoder_GetUnicode( hEncoder, nCode ) -> nUnicode +// +HB_FUNC( HPDF_ENCODER_GETUNICODE ) +{ + hb_retni( (long) HPDF_Encoder_GetUnicode( (HPDF_Encoder) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Encoder_GetWritingMode( hEncoder ) -> nWriteMode +// nWriteMode == +// HPDF_WMODE_HORIZONTAL 1 horizontal writing mode. +// HPDF_WMODE_VERTICAL 2 vertical writing mode; +// +HB_FUNC( HPDF_ENCODER_GETWRITINGMODE ) +{ + hb_retni( (long) HPDF_Encoder_GetWritingMode( (HPDF_Encoder) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// ANNOTATION +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPDF_LinkAnnot_SetHighlightMode( hAnnot, nHilightMode ) -> hStatus +// nHilightMode == +// HPDF_ANNOT_NO_HIGHTLIGHT 1 No highlighting. +// HPDF_ANNOT_INVERT_BOX 2 Invert the contents of the area of annotation. +// HPDF_ANNOT_INVERT_BORDER 3 Invert the annotation痴 border. +// HPDF_ANNOT_DOWN_APPEARANCE 4 Dent the annotation. +// +HB_FUNC( HPDF_LINKANNOT_SETHIGHLIGHTMODE ) +{ + hb_retnl( (long) HPDF_LinkAnnot_SetHighlightMode( (HPDF_Annotation) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_LinkAnnot_SetBorderStyle( hAnnot, nWidth, nDashOn, nDashOff ) -> hStatus +// +HB_FUNC( HPDF_LINKANNOT_SETBORDERSTYLE ) +{ + hb_retnl( (long) HPDF_LinkAnnot_SetBorderStyle( (HPDF_Annotation) hb_parnl( 1 ), hb_parnd( 2 ), hb_parni( 3 ), hb_parni( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_TextAnnot_SetIcon( hAnnot, nIconID ) -> hStatus +// nIconID +// HPDF_ANNOT_ICON_COMMENT +// HPDF_ANNOT_ICON_KEY +// HPDF_ANNOT_ICON_NOTE +// HPDF_ANNOT_ICON_HELP +// HPDF_ANNOT_ICON_NEW_PARAGRAPH +// HPDF_ANNOT_ICON_PARAGRAPH +// HPDF_ANNOT_ICON_INSERT +// +HB_FUNC( HPDF_TEXTANNOT_SETICON ) +{ + hb_retnl( (long) HPDF_TextAnnot_SetIcon( (HPDF_Annotation) hb_parnl( 1 ), (HPDF_AnnotIcon) hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_TextAnnot_SetOpened( hAnnot, lOpened ) -> hStatus +// +HB_FUNC( HPDF_TEXTANNOT_SETOPENED ) +{ + hb_retnl( (long) HPDF_TextAnnot_SetOpened( (HPDF_Annotation) hb_parnl( 1 ), hb_parl( 2 ) ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// OUTLINE +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPDF_Outline_SetOpened( hOutline, lShowOpened ) -> hStatus +// +HB_FUNC( HPDF_OUTLINE_SETOPENED ) +{ + hb_retnl( (long) HPDF_Outline_SetOpened( (HPDF_Outline) hb_parnl( 1 ), hb_parl( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Outline_SetDestination( hOutline, hDestn ) -> hStatus +// +HB_FUNC( HPDF_OUTLINE_SETDESTINATION ) +{ + hb_retnl( (long) HPDF_Outline_SetDestination( (HPDF_Outline) hb_parnl( 1 ), (HPDF_Destination) hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// DESTINATION +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPDF_Destination_SetXYZ( hDestn, nLeft, nTop, nZoom ) -> hStatus +// +HB_FUNC( HPDF_DESTINATION_SETXYZ ) +{ + hb_retnl( (long) HPDF_Destination_SetXYZ( (HPDF_Destination) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Destination_SetFit( hDestn ) -> hStatus +// +HB_FUNC( HPDF_DESTINATION_SETFIT ) +{ + hb_retnl( (long) HPDF_Destination_SetFit( (HPDF_Destination) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Destination_SetFitH( hDestn, nTop ) -> hStatus +// +HB_FUNC( HPDF_DESTINATION_SETFITH ) +{ + hb_retnl( (long) HPDF_Destination_SetFitH( (HPDF_Destination) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Destination_SetFitV( hDestn, nLeft ) -> hStatus +// +HB_FUNC( HPDF_DESTINATION_SETFITV ) +{ + hb_retnl( (long) HPDF_Destination_SetFitV( (HPDF_Destination) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Destination_SetFitR( hDestn, nLeft, nBottom, nRight, nTop ) -> hStatus +// +HB_FUNC( HPDF_DESTINATION_SETFITR ) +{ + hb_retnl( (long) HPDF_Destination_SetFitR( (HPDF_Destination) hb_parnl( 1 ), hb_parnd( 2 ), hb_parnd( 3 ), hb_parnd( 4 ), hb_parnd( 5 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Destination_SetFitB( hDestn ) -> hStatus +// +HB_FUNC( HPDF_DESTINATION_SETFITB ) +{ + hb_retnl( (long) HPDF_Destination_SetFitB( (HPDF_Destination) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Destination_SetFitBH( hDestn, nTop ) -> hStatus +// +HB_FUNC( HPDF_DESTINATION_SETFITBH ) +{ + hb_retnl( (long) HPDF_Destination_SetFitBH( (HPDF_Destination) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Destination_SetFitBV( hDestn, nTop ) -> hStatus +// +HB_FUNC( HPDF_DESTINATION_SETFITBV ) +{ + hb_retnl( (long) HPDF_Destination_SetFitBV( (HPDF_Destination) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// IMAGE +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPDF_Image_GetSize( hImage ) -> aSize[ nW, nH ] +// +HB_FUNC( HPDF_IMAGE_GETSIZE ) +{ + HPDF_Point pt; + PHB_ITEM info = hb_itemArrayNew( 2 ); + PHB_ITEM temp = hb_itemNew( NULL ); + + pt = HPDF_Image_GetSize( (HPDF_Image) hb_parnl( 1 ) ); + + hb_arraySet( info, 1, hb_itemPutNI( temp, pt.x ) ); + hb_arraySet( info, 2, hb_itemPutNI( temp, pt.y ) ); + + hb_itemRelease( temp ); + hb_itemReturn( info ); + hb_itemRelease( info ); +} +//----------------------------------------------------------------------// +// HPDF_Image_GetWidth( hImage ) -> nWidth +// +HB_FUNC( HPDF_IMAGE_GETWIDTH ) +{ + hb_retni( HPDF_Image_GetWidth( (HPDF_Image) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Image_GetHeight( hImage ) -> nHeight +// +HB_FUNC( HPDF_IMAGE_GETHEIGHT ) +{ + hb_retni( HPDF_Image_GetHeight( (HPDF_Image) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Image_GetBitsPerComponent( hImage ) -> nBitsPerComponent +// +HB_FUNC( HPDF_IMAGE_GETBITSPERCOMPONENT ) +{ + hb_retni( HPDF_Image_GetBitsPerComponent( (HPDF_Image) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Image_GetColorSpace( hImage ) -> nColorSpace +// +HB_FUNC( HPDF_IMAGE_GETCOLORSPACE ) +{ + hb_retc( HPDF_Image_GetColorSpace( (HPDF_Image) hb_parnl( 1 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_Image_SetColorMask( hImage, nRGB_R_Min, nRGB_R_Max, nRGB_G_Min, nRGB_G_Max, nRGB_B_Min, nRGB_B_Max ) +// +HB_FUNC( HPDF_IMAGE_SETCOLORMASK ) +{ + hb_retnl( (long) HPDF_Image_SetColorMask( (HPDF_Image) hb_parnl( 1 ), + hb_parni( 2 ), + hb_parni( 3 ), + hb_parni( 4 ), + hb_parni( 5 ), + hb_parni( 6 ), + hb_parni( 7 ) + ) ); +} +//----------------------------------------------------------------------// +// HPDF_Image_SetMaskImage( hImage, hImageMask ) -> hStatus +// +HB_FUNC( HPDF_IMAGE_SETMASKIMAGE ) +{ + hb_retnl( (long) HPDF_Image_SetMaskImage( (HPDF_Image) hb_parnl( 1 ), (HPDF_Image) hb_parnl( 2 ) ) ); +} +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// ExtGState +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// HPDF_ExtGState_SetAlphaStroke( hGState, nValue ) -> hStatus +// +HB_FUNC( HPDF_EXTGSTATE_SETALPHASTROKE ) +{ + hb_retnl( (long) HPDF_ExtGState_SetAlphaStroke( (HPDF_ExtGState) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_ExtGState_SetAlphaFill( hGState, nValue ) -> hStatus +// +HB_FUNC( HPDF_EXTGSTATE_SETALPHAFILL ) +{ + hb_retnl( (long) HPDF_ExtGState_SetAlphaFill( (HPDF_ExtGState) hb_parnl( 1 ), hb_parnd( 2 ) ) ); +} +//----------------------------------------------------------------------// +// HPDF_ExtGState_SetBlendMode( hGState, nBlendMode ) -> hStatus +// nBlendMode == +// HPDF_BM_NORMAL +// HPDF_BM_MULTIPLY +// HPDF_BM_SCREEN +// HPDF_BM_OVERLAY +// HPDF_BM_DARKEN +// HPDF_BM_LIGHTEN +// HPDF_BM_COLOR_DODGE +// HPDF_BM_COLOR_BUM +// HPDF_BM_HARD_LIGHT +// HPDF_BM_SOFT_LIGHT +// HPDF_BM_DIFFERENCE +// HPDF_BM_EXCLUSHON +// +HB_FUNC( HPDF_EXTGSTATE_SETBLENDMODE ) +{ + hb_retnl( (long) HPDF_ExtGState_SetBlendMode( (HPDF_ExtGState) hb_parnl( 1 ), hb_parni( 2 ) ) ); +} +//----------------------------------------------------------------------// + + + diff --git a/harbour/contrib/hbhpdf/hpdf.h b/harbour/contrib/hbhpdf/hpdf.h new file mode 100644 index 0000000000..c849db8aac --- /dev/null +++ b/harbour/contrib/hbhpdf/hpdf.h @@ -0,0 +1,1227 @@ +/* + * << Haru Free PDF Library 2.0.8 >> -- hpdf.h + * + * URL http://libharu.sourceforge.net/ + * + * Copyright (c) 1999-2006 Takeshi Kanno + * + * 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. + * + */ + +#ifndef _HPDF_H +#define _HPDF_H + +#ifdef HPDF_DLL_MAKE +# define HPDF_EXPORT(A) __declspec(dllexport) A __stdcall +#else +# ifdef HPDF_DLL_MAKE_CDECL +# define HPDF_EXPORT(A) __declspec(dllexport) A +# else +# ifdef HPDF_SHARED_MAKE +# define HPDF_EXPORT(A) extern A +# endif /* HPDF_SHARED_MAKE */ +# endif /* HPDF_DLL_MAKE_CDECL */ +#endif /* HPDF_DLL_MAKE */ + +#ifdef HPDF_DLL +# define HPDF_SHARED +# define HPDF_EXPORT(A) __declspec(dllimport) A __stdcall +#else +# ifdef HPDF_DLL_CDECL +# define HPDF_SHARED +# define HPDF_EXPORT(A) __declspec(dllimport) A +# endif /* HPDF_DLL_CDECL */ +#endif /* HPDF_DLL */ + +#ifdef HPDF_SHARED + +#ifndef HPDF_EXPORT +#define HPDF_EXPORT(A) extern A +#endif /* HPDF_EXPORT */ + +#include "hpdf_consts.h" +#include "hpdf_types.h" + +typedef void *HPDF_HANDLE; +typedef HPDF_HANDLE HPDF_Doc; +typedef HPDF_HANDLE HPDF_Page; +typedef HPDF_HANDLE HPDF_Pages; +typedef HPDF_HANDLE HPDF_Stream; +typedef HPDF_HANDLE HPDF_Image; +typedef HPDF_HANDLE HPDF_Font; +typedef HPDF_HANDLE HPDF_Outline; +typedef HPDF_HANDLE HPDF_Encoder; +typedef HPDF_HANDLE HPDF_Destination; +typedef HPDF_HANDLE HPDF_XObject; +typedef HPDF_HANDLE HPDF_Annotation; +typedef HPDF_HANDLE HPDF_ExtGState; + +#else + +#ifndef HPDF_EXPORT +#define HPDF_EXPORT(A) A +#endif /* HPDF_EXPORT */ + +#include "hpdf_consts.h" +#include "hpdf_doc.h" + +#endif /* HPDF_SHARED */ + +#ifdef __cplusplus +extern "C" { +#endif + +HPDF_EXPORT(const char *) +HPDF_GetVersion (void); + + +HPDF_EXPORT(HPDF_Doc) +HPDF_NewEx (HPDF_Error_Handler user_error_fn, + HPDF_Alloc_Func user_alloc_fn, + HPDF_Free_Func user_free_fn, + HPDF_UINT mem_pool_buf_size, + void *user_data); + +HPDF_EXPORT(HPDF_Doc) +HPDF_New (HPDF_Error_Handler user_error_fn, + void *user_data); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetErrorHandler (HPDF_Doc pdf, + HPDF_Error_Handler user_error_fn); + + +HPDF_EXPORT(void) +HPDF_Free (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_NewDoc (HPDF_Doc pdf); + + +HPDF_EXPORT(void) +HPDF_FreeDoc (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_BOOL) +HPDF_HasDoc (HPDF_Doc pdf); + + +HPDF_EXPORT(void) +HPDF_FreeDocAll (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SaveToStream (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_UINT32) +HPDF_GetStreamSize (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_ReadFromStream (HPDF_Doc pdf, + HPDF_BYTE *buf, + HPDF_UINT32 *size); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_ResetStream (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SaveToFile (HPDF_Doc pdf, + const char *file_name); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_GetError (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_GetErrorDetail (HPDF_Doc pdf); + +HPDF_EXPORT(void) +HPDF_ResetError (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetPagesConfiguration (HPDF_Doc pdf, + HPDF_UINT page_per_pages); + + +HPDF_EXPORT(HPDF_Page) +HPDF_GetPageByIndex (HPDF_Doc pdf, + HPDF_UINT index); + + +/*---------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ + +HPDF_EXPORT(HPDF_PageLayout) +HPDF_GetPageLayout (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetPageLayout (HPDF_Doc pdf, + HPDF_PageLayout layout); + + +HPDF_EXPORT(HPDF_PageMode) +HPDF_GetPageMode (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetPageMode (HPDF_Doc pdf, + HPDF_PageMode mode); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_GetViewerPreference (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetViewerPreference (HPDF_Doc pdf, + HPDF_UINT value); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetOpenAction (HPDF_Doc pdf, + HPDF_Destination open_action); + + +/*---------------------------------------------------------------------------*/ +/*----- page handling -------------------------------------------------------*/ + + +HPDF_EXPORT(HPDF_Page) +HPDF_GetCurrentPage (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_Page) +HPDF_AddPage (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_Page) +HPDF_InsertPage (HPDF_Doc pdf, + HPDF_Page page); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetWidth (HPDF_Page page, + HPDF_REAL value); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetHeight (HPDF_Page page, + HPDF_REAL value); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetSize (HPDF_Page page, + HPDF_PageSizes size, + HPDF_PageDirection direction); + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetRotate (HPDF_Page page, + HPDF_UINT16 angle); + +/*---------------------------------------------------------------------------*/ +/*----- font handling -------------------------------------------------------*/ + + +HPDF_EXPORT(HPDF_Font) +HPDF_GetFont (HPDF_Doc pdf, + const char *font_name, + const char *encoding_name); + + +HPDF_EXPORT(const char*) +HPDF_LoadType1FontFromFile (HPDF_Doc pdf, + const char *afm_file_name, + const char *data_file_name); + + +HPDF_EXPORT(const char*) +HPDF_LoadTTFontFromFile (HPDF_Doc pdf, + const char *file_name, + HPDF_BOOL embedding); + + +HPDF_EXPORT(const char*) +HPDF_LoadTTFontFromFile2 (HPDF_Doc pdf, + const char *file_name, + HPDF_UINT index, + HPDF_BOOL embedding); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_AddPageLabel (HPDF_Doc pdf, + HPDF_UINT page_num, + HPDF_PageNumStyle style, + HPDF_UINT first_page, + const char *prefix); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_UseJPFonts (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_UseKRFonts (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_UseCNSFonts (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_UseCNTFonts (HPDF_Doc pdf); + + +/*--------------------------------------------------------------------------*/ +/*----- outline ------------------------------------------------------------*/ + + +HPDF_EXPORT(HPDF_Outline) +HPDF_CreateOutline (HPDF_Doc pdf, + HPDF_Outline parent, + const char *title, + HPDF_Encoder encoder); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Outline_SetOpened (HPDF_Outline outline, + HPDF_BOOL opened); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Outline_SetDestination (HPDF_Outline outline, + HPDF_Destination dst); + + +/*--------------------------------------------------------------------------*/ +/*----- destination --------------------------------------------------------*/ + +HPDF_EXPORT(HPDF_Destination) +HPDF_Page_CreateDestination (HPDF_Page page); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Destination_SetXYZ (HPDF_Destination dst, + HPDF_REAL left, + HPDF_REAL top, + HPDF_REAL zoom); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Destination_SetFit (HPDF_Destination dst); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Destination_SetFitH (HPDF_Destination dst, + HPDF_REAL top); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Destination_SetFitV (HPDF_Destination dst, + HPDF_REAL left); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Destination_SetFitR (HPDF_Destination dst, + HPDF_REAL left, + HPDF_REAL bottom, + HPDF_REAL right, + HPDF_REAL top); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Destination_SetFitB (HPDF_Destination dst); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Destination_SetFitBH (HPDF_Destination dst, + HPDF_REAL top); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Destination_SetFitBV (HPDF_Destination dst, + HPDF_REAL left); + +/*--------------------------------------------------------------------------*/ +/*----- encoder ------------------------------------------------------------*/ + +HPDF_EXPORT(HPDF_Encoder) +HPDF_GetEncoder (HPDF_Doc pdf, + const char *encoding_name); + + +HPDF_EXPORT(HPDF_Encoder) +HPDF_GetCurrentEncoder (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetCurrentEncoder (HPDF_Doc pdf, + const char *encoding_name); + + +HPDF_EXPORT(HPDF_EncoderType) +HPDF_Encoder_GetType (HPDF_Encoder encoder); + + +HPDF_EXPORT(HPDF_ByteType) +HPDF_Encoder_GetByteType (HPDF_Encoder encoder, + const char *text, + HPDF_UINT index); + + +HPDF_EXPORT(HPDF_UNICODE) +HPDF_Encoder_GetUnicode (HPDF_Encoder encoder, + HPDF_UINT16 code); + + +HPDF_EXPORT(HPDF_WritingMode) +HPDF_Encoder_GetWritingMode (HPDF_Encoder encoder); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_UseJPEncodings (HPDF_Doc pdf); + + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_UseKREncodings (HPDF_Doc pdf); + + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_UseCNSEncodings (HPDF_Doc pdf); + + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_UseCNTEncodings (HPDF_Doc pdf); + + +/*--------------------------------------------------------------------------*/ +/*----- annotation ---------------------------------------------------------*/ + +HPDF_EXPORT(HPDF_Annotation) +HPDF_Page_CreateTextAnnot (HPDF_Page page, + HPDF_Rect rect, + const char *text, + HPDF_Encoder encoder); + + +HPDF_EXPORT(HPDF_Annotation) +HPDF_Page_CreateLinkAnnot (HPDF_Page page, + HPDF_Rect rect, + HPDF_Destination dst); + + +HPDF_EXPORT(HPDF_Annotation) +HPDF_Page_CreateURILinkAnnot (HPDF_Page page, + HPDF_Rect rect, + const char *uri); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_LinkAnnot_SetHighlightMode (HPDF_Annotation annot, + HPDF_AnnotHighlightMode mode); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_LinkAnnot_SetBorderStyle (HPDF_Annotation annot, + HPDF_REAL width, + HPDF_UINT16 dash_on, + HPDF_UINT16 dash_off); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_TextAnnot_SetIcon (HPDF_Annotation annot, + HPDF_AnnotIcon icon); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_TextAnnot_SetOpened (HPDF_Annotation annot, + HPDF_BOOL opened); + + + +/*--------------------------------------------------------------------------*/ +/*----- image data ---------------------------------------------------------*/ + +HPDF_EXPORT(HPDF_Image) +HPDF_LoadPngImageFromFile (HPDF_Doc pdf, + const char *filename); + + +HPDF_EXPORT(HPDF_Image) +HPDF_LoadPngImageFromFile2 (HPDF_Doc pdf, + const char *filename); + + +HPDF_EXPORT(HPDF_Image) +HPDF_LoadJpegImageFromFile (HPDF_Doc pdf, + const char *filename); + + +HPDF_EXPORT(HPDF_Image) +HPDF_LoadRawImageFromFile (HPDF_Doc pdf, + const char *filename, + HPDF_UINT width, + HPDF_UINT height, + HPDF_ColorSpace color_space); + + +HPDF_EXPORT(HPDF_Image) +HPDF_LoadRawImageFromMem (HPDF_Doc pdf, + const HPDF_BYTE *buf, + HPDF_UINT width, + HPDF_UINT height, + HPDF_ColorSpace color_space, + HPDF_UINT bits_per_component); + + +HPDF_EXPORT(HPDF_Point) +HPDF_Image_GetSize (HPDF_Image image); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Image_GetSize2 (HPDF_Image image, HPDF_Point *size); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_Image_GetWidth (HPDF_Image image); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_Image_GetHeight (HPDF_Image image); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_Image_GetBitsPerComponent (HPDF_Image image); + + +HPDF_EXPORT(const char*) +HPDF_Image_GetColorSpace (HPDF_Image image); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Image_SetColorMask (HPDF_Image image, + HPDF_UINT rmin, + HPDF_UINT rmax, + HPDF_UINT gmin, + HPDF_UINT gmax, + HPDF_UINT bmin, + HPDF_UINT bmax); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Image_SetMaskImage (HPDF_Image image, + HPDF_Image mask_image); + + +/*--------------------------------------------------------------------------*/ +/*----- info dictionary ----------------------------------------------------*/ + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetInfoAttr (HPDF_Doc pdf, + HPDF_InfoType type, + const char *value); + + +HPDF_EXPORT(const char*) +HPDF_GetInfoAttr (HPDF_Doc pdf, + HPDF_InfoType type); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetInfoDateAttr (HPDF_Doc pdf, + HPDF_InfoType type, + HPDF_Date value); + + +/*--------------------------------------------------------------------------*/ +/*----- encryption ---------------------------------------------------------*/ + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetPassword (HPDF_Doc pdf, + const char *owner_passwd, + const char *user_passwd); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetPermission (HPDF_Doc pdf, + HPDF_UINT permission); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetEncryptionMode (HPDF_Doc pdf, + HPDF_EncryptMode mode, + HPDF_UINT key_len); + + +/*--------------------------------------------------------------------------*/ +/*----- compression --------------------------------------------------------*/ + +HPDF_EXPORT(HPDF_STATUS) +HPDF_SetCompressionMode (HPDF_Doc pdf, + HPDF_UINT mode); + + +/*--------------------------------------------------------------------------*/ +/*----- font ---------------------------------------------------------------*/ + +HPDF_EXPORT(const char*) +HPDF_Font_GetFontName (HPDF_Font font); + + +HPDF_EXPORT(const char*) +HPDF_Font_GetEncodingName (HPDF_Font font); + + +HPDF_EXPORT(HPDF_INT) +HPDF_Font_GetUnicodeWidth (HPDF_Font font, + HPDF_UNICODE code); + +HPDF_EXPORT(HPDF_Box) +HPDF_Font_GetBBox (HPDF_Font font); + + +HPDF_EXPORT(HPDF_INT) +HPDF_Font_GetAscent (HPDF_Font font); + + +HPDF_EXPORT(HPDF_INT) +HPDF_Font_GetDescent (HPDF_Font font); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_Font_GetXHeight (HPDF_Font font); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_Font_GetCapHeight (HPDF_Font font); + + +HPDF_EXPORT(HPDF_TextWidth) +HPDF_Font_TextWidth (HPDF_Font font, + const HPDF_BYTE *text, + HPDF_UINT len); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_Font_MeasureText (HPDF_Font font, + const HPDF_BYTE *text, + HPDF_UINT len, + HPDF_REAL width, + HPDF_REAL font_size, + HPDF_REAL char_space, + HPDF_REAL word_space, + HPDF_BOOL wordwrap, + HPDF_REAL *real_width); + + +/*--------------------------------------------------------------------------*/ +/*----- extended graphics state --------------------------------------------*/ + +HPDF_EXPORT(HPDF_ExtGState) +HPDF_CreateExtGState (HPDF_Doc pdf); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_ExtGState_SetAlphaStroke (HPDF_ExtGState ext_gstate, + HPDF_REAL value); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_ExtGState_SetAlphaFill (HPDF_ExtGState ext_gstate, + HPDF_REAL value); + + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_ExtGState_SetBlendMode (HPDF_ExtGState ext_gstate, + HPDF_BlendMode mode); + + +/*--------------------------------------------------------------------------*/ +/*--------------------------------------------------------------------------*/ + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_TextWidth (HPDF_Page page, + const char *text); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_Page_MeasureText (HPDF_Page page, + const char *text, + HPDF_REAL width, + HPDF_BOOL wordwrap, + HPDF_REAL *real_width); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetWidth (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetHeight (HPDF_Page page); + + +HPDF_EXPORT(HPDF_UINT16) +HPDF_Page_GetGMode (HPDF_Page page); + + +HPDF_EXPORT(HPDF_Point) +HPDF_Page_GetCurrentPos (HPDF_Page page); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_GetCurrentPos2 (HPDF_Page page, + HPDF_Point *pos); + + +HPDF_EXPORT(HPDF_Point) +HPDF_Page_GetCurrentTextPos (HPDF_Page page); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_GetCurrentTextPos2 (HPDF_Page page, + HPDF_Point *pos); + + +HPDF_EXPORT(HPDF_Font) +HPDF_Page_GetCurrentFont (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetCurrentFontSize (HPDF_Page page); + + +HPDF_EXPORT(HPDF_TransMatrix) +HPDF_Page_GetTransMatrix (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetLineWidth (HPDF_Page page); + + +HPDF_EXPORT(HPDF_LineCap) +HPDF_Page_GetLineCap (HPDF_Page page); + + +HPDF_EXPORT(HPDF_LineJoin) +HPDF_Page_GetLineJoin (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetMiterLimit (HPDF_Page page); + + +HPDF_EXPORT(HPDF_DashMode) +HPDF_Page_GetDash (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetFlat (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetCharSpace (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetWordSpace (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetHorizontalScalling (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetTextLeading (HPDF_Page page); + + +HPDF_EXPORT(HPDF_TextRenderingMode) +HPDF_Page_GetTextRenderingMode (HPDF_Page page); + + +/* This function is obsolete. Use HPDF_Page_GetTextRise. */ +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetTextRaise (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetTextRise (HPDF_Page page); + + +HPDF_EXPORT(HPDF_RGBColor) +HPDF_Page_GetRGBFill (HPDF_Page page); + + +HPDF_EXPORT(HPDF_RGBColor) +HPDF_Page_GetRGBStroke (HPDF_Page page); + + +HPDF_EXPORT(HPDF_CMYKColor) +HPDF_Page_GetCMYKFill (HPDF_Page page); + + +HPDF_EXPORT(HPDF_CMYKColor) +HPDF_Page_GetCMYKStroke (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetGrayFill (HPDF_Page page); + + +HPDF_EXPORT(HPDF_REAL) +HPDF_Page_GetGrayStroke (HPDF_Page page); + + +HPDF_EXPORT(HPDF_ColorSpace) +HPDF_Page_GetStrokingColorSpace (HPDF_Page page); + + +HPDF_EXPORT(HPDF_ColorSpace) +HPDF_Page_GetFillingColorSpace (HPDF_Page page); + + +HPDF_EXPORT(HPDF_TransMatrix) +HPDF_Page_GetTextMatrix (HPDF_Page page); + + +HPDF_EXPORT(HPDF_UINT) +HPDF_Page_GetGStateDepth (HPDF_Page page); + + +/*--------------------------------------------------------------------------*/ +/*----- GRAPHICS OPERATORS -------------------------------------------------*/ + + +/*--- General graphics state ---------------------------------------------*/ + +/* w */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetLineWidth (HPDF_Page page, + HPDF_REAL line_width); + +/* J */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetLineCap (HPDF_Page page, + HPDF_LineCap line_cap); + +/* j */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetLineJoin (HPDF_Page page, + HPDF_LineJoin line_join); + +/* M */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetMiterLimit (HPDF_Page page, + HPDF_REAL miter_limit); + +/* d */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetDash (HPDF_Page page, + const HPDF_UINT16 *dash_ptn, + HPDF_UINT num_param, + HPDF_UINT phase); + + + +/* ri --not implemented yet */ + +/* i */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetFlat (HPDF_Page page, + HPDF_REAL flatness); + +/* gs */ + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetExtGState (HPDF_Page page, + HPDF_ExtGState ext_gstate); + + +/*--- Special graphic state operator --------------------------------------*/ + +/* q */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_GSave (HPDF_Page page); + +/* Q */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_GRestore (HPDF_Page page); + +/* cm */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Concat (HPDF_Page page, + HPDF_REAL a, + HPDF_REAL b, + HPDF_REAL c, + HPDF_REAL d, + HPDF_REAL x, + HPDF_REAL y); + +/*--- Path construction operator ------------------------------------------*/ + +/* m */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_MoveTo (HPDF_Page page, + HPDF_REAL x, + HPDF_REAL y); + +/* l */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_LineTo (HPDF_Page page, + HPDF_REAL x, + HPDF_REAL y); + +/* c */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_CurveTo (HPDF_Page page, + HPDF_REAL x1, + HPDF_REAL y1, + HPDF_REAL x2, + HPDF_REAL y2, + HPDF_REAL x3, + HPDF_REAL y3); + +/* v */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_CurveTo2 (HPDF_Page page, + HPDF_REAL x2, + HPDF_REAL y2, + HPDF_REAL x3, + HPDF_REAL y3); + +/* y */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_CurveTo3 (HPDF_Page page, + HPDF_REAL x1, + HPDF_REAL y1, + HPDF_REAL x3, + HPDF_REAL y3); + +/* h */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_ClosePath (HPDF_Page page); + +/* re */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Rectangle (HPDF_Page page, + HPDF_REAL x, + HPDF_REAL y, + HPDF_REAL width, + HPDF_REAL height); + + +/*--- Path painting operator ---------------------------------------------*/ + +/* S */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Stroke (HPDF_Page page); + +/* s */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_ClosePathStroke (HPDF_Page page); + +/* f */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Fill (HPDF_Page page); + +/* f* */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Eofill (HPDF_Page page); + +/* B */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_FillStroke (HPDF_Page page); + +/* B* */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_EofillStroke (HPDF_Page page); + +/* b */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_ClosePathFillStroke (HPDF_Page page); + +/* b* */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_ClosePathEofillStroke (HPDF_Page page); + +/* n */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_EndPath (HPDF_Page page); + + +/*--- Clipping paths operator --------------------------------------------*/ + +/* W */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Clip (HPDF_Page page); + +/* W* */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Eoclip (HPDF_Page page); + + +/*--- Text object operator -----------------------------------------------*/ + +/* BT */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_BeginText (HPDF_Page page); + +/* ET */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_EndText (HPDF_Page page); + +/*--- Text state ---------------------------------------------------------*/ + +/* Tc */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetCharSpace (HPDF_Page page, + HPDF_REAL value); + +/* Tw */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetWordSpace (HPDF_Page page, + HPDF_REAL value); + +/* Tz */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetHorizontalScalling (HPDF_Page page, + HPDF_REAL value); + +/* TL */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetTextLeading (HPDF_Page page, + HPDF_REAL value); + +/* Tf */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetFontAndSize (HPDF_Page page, + HPDF_Font font, + HPDF_REAL size); + +/* Tr */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetTextRenderingMode (HPDF_Page page, + HPDF_TextRenderingMode mode); + +/* Ts */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetTextRise (HPDF_Page page, + HPDF_REAL value); + +/* This function is obsolete. Use HPDF_Page_SetTextRise. */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetTextRaise (HPDF_Page page, + HPDF_REAL value); + +/*--- Text positioning ---------------------------------------------------*/ + +/* Td */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_MoveTextPos (HPDF_Page page, + HPDF_REAL x, + HPDF_REAL y); + +/* TD */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_MoveTextPos2 (HPDF_Page page, + HPDF_REAL x, + HPDF_REAL y); + +/* Tm */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetTextMatrix (HPDF_Page page, + HPDF_REAL a, + HPDF_REAL b, + HPDF_REAL c, + HPDF_REAL d, + HPDF_REAL x, + HPDF_REAL y); + + +/* T* */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_MoveToNextLine (HPDF_Page page); + +/*--- Text showing -------------------------------------------------------*/ + +/* Tj */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_ShowText (HPDF_Page page, + const char *text); + +/* TJ */ + +/* ' */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_ShowTextNextLine (HPDF_Page page, + const char *text); + +/* " */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_ShowTextNextLineEx (HPDF_Page page, + HPDF_REAL word_space, + HPDF_REAL char_space, + const char *text); + + +/*--- Color showing ------------------------------------------------------*/ + +/* cs --not implemented yet */ +/* CS --not implemented yet */ +/* sc --not implemented yet */ +/* scn --not implemented yet */ +/* SC --not implemented yet */ +/* SCN --not implemented yet */ + +/* g */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetGrayFill (HPDF_Page page, + HPDF_REAL gray); + +/* G */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetGrayStroke (HPDF_Page page, + HPDF_REAL gray); + +/* rg */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetRGBFill (HPDF_Page page, + HPDF_REAL r, + HPDF_REAL g, + HPDF_REAL b); + +/* RG */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetRGBStroke (HPDF_Page page, + HPDF_REAL r, + HPDF_REAL g, + HPDF_REAL b); + +/* k */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetCMYKFill (HPDF_Page page, + HPDF_REAL c, + HPDF_REAL m, + HPDF_REAL y, + HPDF_REAL k); + +/* K */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetCMYKStroke (HPDF_Page page, + HPDF_REAL c, + HPDF_REAL m, + HPDF_REAL y, + HPDF_REAL k); + +/*--- Shading patterns ---------------------------------------------------*/ + +/* sh --not implemented yet */ + +/*--- In-line images -----------------------------------------------------*/ + +/* BI --not implemented yet */ +/* ID --not implemented yet */ +/* EI --not implemented yet */ + +/*--- XObjects -----------------------------------------------------------*/ + +/* Do */ +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_ExecuteXObject (HPDF_Page page, + HPDF_XObject obj); + +/*--- Marked content -----------------------------------------------------*/ + +/* BMC --not implemented yet */ +/* BDC --not implemented yet */ +/* EMC --not implemented yet */ +/* MP --not implemented yet */ +/* DP --not implemented yet */ + +/*--- Compatibility ------------------------------------------------------*/ + +/* BX --not implemented yet */ +/* EX --not implemented yet */ + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_DrawImage (HPDF_Page page, + HPDF_Image image, + HPDF_REAL x, + HPDF_REAL y, + HPDF_REAL width, + HPDF_REAL height); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Circle (HPDF_Page page, + HPDF_REAL x, + HPDF_REAL y, + HPDF_REAL ray); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Ellipse (HPDF_Page page, + HPDF_REAL x, + HPDF_REAL y, + HPDF_REAL xray, + HPDF_REAL yray); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_Arc (HPDF_Page page, + HPDF_REAL x, + HPDF_REAL y, + HPDF_REAL ray, + HPDF_REAL ang1, + HPDF_REAL ang2); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_TextOut (HPDF_Page page, + HPDF_REAL xpos, + HPDF_REAL ypos, + const char *text); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_TextRect (HPDF_Page page, + HPDF_REAL left, + HPDF_REAL top, + HPDF_REAL right, + HPDF_REAL bottom, + const char *text, + HPDF_TextAlignment align, + HPDF_UINT *len); + + +HPDF_EXPORT(HPDF_STATUS) +HPDF_Page_SetSlideShow (HPDF_Page page, + HPDF_TransitionStyle type, + HPDF_REAL disp_time, + HPDF_REAL trans_time); + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _HPDF_H */ + diff --git a/harbour/contrib/hbhpdf/tests/32_32_2color.dat b/harbour/contrib/hbhpdf/tests/32_32_2color.dat new file mode 100644 index 0000000000..77cef94be7 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/32_32_2color.dat differ diff --git a/harbour/contrib/hbhpdf/tests/32_32_gray.dat b/harbour/contrib/hbhpdf/tests/32_32_gray.dat new file mode 100644 index 0000000000..82ea9e5ef0 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/32_32_gray.dat differ diff --git a/harbour/contrib/hbhpdf/tests/32_32_rgb.dat b/harbour/contrib/hbhpdf/tests/32_32_rgb.dat new file mode 100644 index 0000000000..f728d48eb3 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/32_32_rgb.dat differ diff --git a/harbour/contrib/hbhpdf/tests/a010013l.afm b/harbour/contrib/hbhpdf/tests/a010013l.afm new file mode 100644 index 0000000000..dd4d2c280f --- /dev/null +++ b/harbour/contrib/hbhpdf/tests/a010013l.afm @@ -0,0 +1,1569 @@ +StartFontMetrics 2.0 +Comment Generated by pfaedit +Comment Creation Date: Thu Dec 26 23:03:13 2002 +FontName URWGothicL-Book +FullName URW Gothic L Book +FamilyName URW Gothic L +Weight Book +Notice (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development; Cyrillic glyphs added by Valek Filippov (C) 2001-2002) +ItalicAngle 0 +IsFixedPitch false +UnderlinePosition -96 +UnderlineThickness 58 +Version 1.06 +EncodingScheme AdobeStandardEncoding +FontBBox -115 -240 1151 1009 +CapHeight 739 +XHeight 547 +Ascender 739 +Descender -192 +StartCharMetrics 560 +C 0 ; WX 277 ; N .notdef ; B 0 0 0 0 ; +C 32 ; WX 277 ; N space ; B 0 0 0 0 ; +C 33 ; WX 295 ; N exclam ; B 111 0 185 739 ; +C 34 ; WX 309 ; N quotedbl ; B 74 513 237 739 ; +C 35 ; WX 554 ; N numbersign ; B 5 0 549 739 ; +C 36 ; WX 554 ; N dollar ; B 74 -56 479 810 ; +C 37 ; WX 775 ; N percent ; B 13 -13 752 749 ; +C 38 ; WX 757 ; N ampersand ; B 57 -13 735 752 ; +C 39 ; WX 351 ; N quoteright ; B 91 547 253 739 ; +C 40 ; WX 369 ; N parenleft ; B 57 -125 335 739 ; +C 41 ; WX 369 ; N parenright ; B 34 -125 312 739 ; +C 42 ; WX 425 ; N asterisk ; B 64 468 360 752 ; +C 43 ; WX 606 ; N plus ; B 51 49 555 557 ; +C 44 ; WX 277 ; N comma ; B 91 -67 253 126 ; +C 45 ; WX 332 ; N hyphen ; B 31 233 302 296 ; +C 46 ; WX 277 ; N period ; B 101 0 175 126 ; +C 47 ; WX 437 ; N slash ; B 40 -128 397 739 ; +C 48 ; WX 554 ; N zero ; B 30 -13 525 752 ; +C 49 ; WX 554 ; N one ; B 155 0 354 739 ; +C 50 ; WX 554 ; N two ; B 33 0 506 752 ; +C 51 ; WX 554 ; N three ; B 33 -13 504 752 ; +C 52 ; WX 554 ; N four ; B 12 0 527 739 ; +C 53 ; WX 554 ; N five ; B 26 -13 528 739 ; +C 54 ; WX 554 ; N six ; B 25 -13 529 739 ; +C 55 ; WX 554 ; N seven ; B 64 0 490 739 ; +C 56 ; WX 554 ; N eight ; B 42 -13 512 752 ; +C 57 ; WX 554 ; N nine ; B 25 0 529 752 ; +C 58 ; WX 277 ; N colon ; B 101 0 175 507 ; +C 59 ; WX 277 ; N semicolon ; B 41 -67 203 507 ; +C 60 ; WX 606 ; N less ; B 49 37 558 565 ; +C 61 ; WX 606 ; N equal ; B 51 164 555 436 ; +C 62 ; WX 606 ; N greater ; B 48 37 557 565 ; +C 63 ; WX 591 ; N question ; B 65 0 525 752 ; +C 64 ; WX 867 ; N at ; B 71 -13 797 752 ; +C 65 ; WX 740 ; N A ; B 11 0 729 739 ; +C 66 ; WX 574 ; N B ; B 76 0 544 739 ; +C 67 ; WX 813 ; N C ; B 44 -13 770 752 ; +C 68 ; WX 744 ; N D ; B 76 0 700 739 ; +C 69 ; WX 536 ; N E ; B 76 0 480 739 ; +C 70 ; WX 485 ; N F ; B 76 0 451 739 ; +C 71 ; WX 872 ; N G ; B 44 -13 831 752 ; +C 72 ; WX 683 ; N H ; B 76 0 607 739 ; +C 73 ; WX 226 ; N I ; B 76 0 150 739 ; L J IJ ; +C 74 ; WX 482 ; N J ; B 11 -14 406 739 ; +C 75 ; WX 591 ; N K ; B 76 0 585 739 ; +C 76 ; WX 462 ; N L ; B 76 0 456 739 ; +C 77 ; WX 919 ; N M ; B 76 0 843 739 ; +C 78 ; WX 740 ; N N ; B 76 0 664 739 ; +C 79 ; WX 869 ; N O ; B 44 -13 825 752 ; +C 80 ; WX 592 ; N P ; B 76 0 565 739 ; +C 81 ; WX 871 ; N Q ; B 44 -13 839 752 ; +C 82 ; WX 607 ; N R ; B 76 0 577 739 ; +C 83 ; WX 498 ; N S ; B 22 -13 476 752 ; +C 84 ; WX 426 ; N T ; B 7 0 419 739 ; +C 85 ; WX 655 ; N U ; B 76 -13 579 739 ; +C 86 ; WX 702 ; N V ; B 10 0 692 739 ; +C 87 ; WX 960 ; N W ; B 10 0 950 739 ; +C 88 ; WX 609 ; N X ; B 8 0 601 739 ; +C 89 ; WX 592 ; N Y ; B 2 0 590 739 ; +C 90 ; WX 480 ; N Z ; B 17 0 474 739 ; +C 91 ; WX 351 ; N bracketleft ; B 112 -125 313 739 ; +C 92 ; WX 605 ; N backslash ; B 84 0 464 739 ; +C 93 ; WX 351 ; N bracketright ; B 38 -125 239 739 ; +C 94 ; WX 606 ; N asciicircum ; B 18 180 588 739 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -67 ; +C 96 ; WX 351 ; N quoteleft ; B 98 547 260 739 ; +C 97 ; WX 683 ; N a ; B 42 -13 620 560 ; +C 98 ; WX 682 ; N b ; B 63 -13 640 739 ; +C 99 ; WX 647 ; N c ; B 42 -13 608 560 ; +C 100 ; WX 685 ; N d ; B 42 -13 622 739 ; +C 101 ; WX 650 ; N e ; B 42 -13 611 560 ; +C 102 ; WX 314 ; N f ; B 16 0 311 739 ; L l fl ; L i fi ; +C 103 ; WX 673 ; N g ; B 42 -215 610 560 ; +C 104 ; WX 610 ; N h ; B 63 0 547 739 ; +C 105 ; WX 200 ; N i ; B 63 0 137 739 ; L j ij ; +C 106 ; WX 203 ; N j ; B -45 -192 140 739 ; +C 107 ; WX 502 ; N k ; B 63 0 497 739 ; +C 108 ; WX 200 ; N l ; B 63 0 137 739 ; +C 109 ; WX 938 ; N m ; B 63 0 875 561 ; +C 110 ; WX 610 ; N n ; B 63 0 547 560 ; +C 111 ; WX 655 ; N o ; B 42 -13 613 560 ; +C 112 ; WX 682 ; N p ; B 63 -192 640 560 ; +C 113 ; WX 682 ; N q ; B 42 -192 619 560 ; +C 114 ; WX 301 ; N r ; B 63 0 292 560 ; +C 115 ; WX 388 ; N s ; B 18 -13 361 560 ; +C 116 ; WX 339 ; N t ; B 12 0 327 739 ; +C 117 ; WX 608 ; N u ; B 63 -13 545 547 ; +C 118 ; WX 554 ; N v ; B 8 0 546 547 ; +C 119 ; WX 831 ; N w ; B 7 0 824 547 ; +C 120 ; WX 480 ; N x ; B 8 0 472 547 ; +C 121 ; WX 536 ; N y ; B 9 -192 527 547 ; +C 122 ; WX 425 ; N z ; B 10 0 415 547 ; +C 123 ; WX 351 ; N braceleft ; B 37 -126 271 739 ; +C 124 ; WX 672 ; N bar ; B 304 0 368 739 ; +C 125 ; WX 351 ; N braceright ; B 38 -126 269 739 ; +C 126 ; WX 606 ; N asciitilde ; B 51 210 555 390 ; +C 161 ; WX 295 ; N exclamdown ; B 111 -192 185 547 ; +C 162 ; WX 554 ; N cent ; B 45 62 509 707 ; +C 163 ; WX 554 ; N sterling ; B 18 0 592 752 ; +C 164 ; WX 166 ; N fraction ; B -115 0 281 739 ; +C 165 ; WX 554 ; N yen ; B 0 0 589 739 ; +C 166 ; WX 554 ; N florin ; B 18 -153 546 818 ; +C 167 ; WX 615 ; N section ; B 87 -141 529 752 ; +C 168 ; WX 554 ; N currency ; B 26 50 528 553 ; +C 169 ; WX 198 ; N quotesingle ; B 74 513 124 739 ; +C 170 ; WX 502 ; N quotedblleft ; B 96 547 406 739 ; +C 171 ; WX 425 ; N guillemotleft ; B 40 99 385 499 ; +C 172 ; WX 251 ; N guilsinglleft ; B 40 99 211 499 ; +C 173 ; WX 251 ; N guilsinglright ; B 40 99 211 499 ; +C 174 ; WX 487 ; N fi ; B 13 0 424 739 ; +C 175 ; WX 485 ; N fl ; B 13 0 422 739 ; +C 177 ; WX 500 ; N endash ; B 0 233 500 296 ; +C 178 ; WX 553 ; N dagger ; B 59 -133 494 739 ; +C 179 ; WX 553 ; N daggerdbl ; B 59 -133 494 739 ; +C 180 ; WX 277 ; N periodcentered ; B 101 229 175 355 ; +C 182 ; WX 564 ; N paragraph ; B 37 -133 491 739 ; +C 183 ; WX 606 ; N bullet ; B 118 118 488 488 ; +C 184 ; WX 354 ; N quotesinglbase ; B 89 -67 251 126 ; +C 185 ; WX 502 ; N quotedblbase ; B 89 -67 398 126 ; +C 186 ; WX 484 ; N quotedblright ; B 87 547 393 739 ; +C 187 ; WX 425 ; N guillemotright ; B 40 99 385 499 ; +C 188 ; WX 1000 ; N ellipsis ; B 130 0 870 126 ; +C 189 ; WX 1174 ; N perthousand ; B 13 -13 1151 749 ; +C 191 ; WX 591 ; N questiondown ; B 66 -205 526 547 ; +C 193 ; WX 378 ; N grave ; B 74 610 304 776 ; +C 194 ; WX 375 ; N acute ; B 74 610 301 782 ; +C 195 ; WX 502 ; N circumflex ; B 74 623 428 749 ; +C 196 ; WX 439 ; N tilde ; B 75 633 365 728 ; +C 197 ; WX 485 ; N macron ; B 74 643 411 707 ; +C 198 ; WX 453 ; N breve ; B 74 623 378 743 ; +C 199 ; WX 222 ; N dotaccent ; B 74 623 148 749 ; +C 200 ; WX 369 ; N dieresis ; B 74 623 295 749 ; +C 202 ; WX 332 ; N ring ; B 74 610 258 794 ; +C 203 ; WX 324 ; N cedilla ; B 74 -213 250 0 ; +C 205 ; WX 552 ; N hungarumlaut ; B 74 610 479 780 ; +C 206 ; WX 302 ; N ogonek ; B 74 -191 228 0 ; +C 207 ; WX 502 ; N caron ; B 74 623 428 749 ; +C 208 ; WX 1000 ; N emdash ; B 0 233 1000 296 ; +C 225 ; WX 992 ; N AE ; B 11 0 936 739 ; +C 227 ; WX 369 ; N ordfeminine ; B 31 319 339 745 ; +C 232 ; WX 517 ; N Lslash ; B 26 0 502 739 ; +C 233 ; WX 868 ; N Oslash ; B 44 -83 824 821 ; +C 234 ; WX 1194 ; N OE ; B 44 -13 1138 752 ; +C 235 ; WX 369 ; N ordmasculine ; B 32 319 337 745 ; +C 241 ; WX 1157 ; N ae ; B 42 -13 1118 560 ; +C 245 ; WX 200 ; N dotlessi ; B 63 0 137 547 ; +C 248 ; WX 300 ; N lslash ; B 36 0 270 739 ; +C 249 ; WX 653 ; N oslash ; B 42 -39 611 594 ; +C 250 ; WX 1137 ; N oe ; B 42 -13 1098 560 ; +C 251 ; WX 554 ; N germandbls ; B 59 -13 524 752 ; +C -1 ; WX 740 ; N Adieresis ; B 11 0 729 931 ; +C -1 ; WX 740 ; N Aacute ; B 11 0 729 964 ; +C -1 ; WX 740 ; N Agrave ; B 11 0 729 958 ; +C -1 ; WX 740 ; N Acircumflex ; B 11 0 729 931 ; +C -1 ; WX 740 ; N Abreve ; B 11 0 729 925 ; +C -1 ; WX 740 ; N Atilde ; B 11 0 729 910 ; +C -1 ; WX 740 ; N Aring ; B 11 0 729 976 ; +C -1 ; WX 740 ; N Aogonek ; B 11 -191 760 739 ; +C -1 ; WX 813 ; N Ccedilla ; B 44 -240 770 752 ; +C -1 ; WX 813 ; N Cacute ; B 44 -13 770 964 ; +C -1 ; WX 813 ; N Ccaron ; B 44 -13 770 931 ; +C -1 ; WX 744 ; N Dcaron ; B 76 0 700 931 ; +C -1 ; WX 536 ; N Edieresis ; B 76 0 480 931 ; +C -1 ; WX 536 ; N Eacute ; B 76 0 480 964 ; +C -1 ; WX 536 ; N Egrave ; B 76 0 480 958 ; +C -1 ; WX 536 ; N Ecircumflex ; B 76 0 480 931 ; +C -1 ; WX 536 ; N Ecaron ; B 76 0 480 931 ; +C -1 ; WX 536 ; N Edotaccent ; B 76 0 480 931 ; +C -1 ; WX 536 ; N Eogonek ; B 76 -191 511 739 ; +C -1 ; WX 872 ; N Gbreve ; B 44 -13 831 925 ; +C -1 ; WX 226 ; N Idieresis ; B 3 0 224 931 ; +C -1 ; WX 226 ; N Iacute ; B -1 0 226 964 ; +C -1 ; WX 226 ; N Igrave ; B -2 0 228 958 ; +C -1 ; WX 226 ; N Icircumflex ; B -64 0 290 931 ; +C -1 ; WX 226 ; N Idotaccent ; B 76 0 150 931 ; +C -1 ; WX 462 ; N Lacute ; B 76 0 456 964 ; +C -1 ; WX 462 ; N Lcaron ; B 76 0 456 739 ; +C -1 ; WX 740 ; N Nacute ; B 76 0 664 964 ; +C -1 ; WX 740 ; N Ncaron ; B 76 0 664 931 ; +C -1 ; WX 740 ; N Ntilde ; B 76 0 664 910 ; +C -1 ; WX 869 ; N Odieresis ; B 44 -13 825 931 ; +C -1 ; WX 869 ; N Oacute ; B 44 -13 825 964 ; +C -1 ; WX 869 ; N Ograve ; B 44 -13 825 958 ; +C -1 ; WX 869 ; N Ocircumflex ; B 44 -13 825 931 ; +C -1 ; WX 869 ; N Otilde ; B 44 -13 825 910 ; +C -1 ; WX 869 ; N Ohungarumlaut ; B 44 -13 825 962 ; +C -1 ; WX 607 ; N Racute ; B 76 0 577 964 ; +C -1 ; WX 607 ; N Rcaron ; B 76 0 577 931 ; +C -1 ; WX 498 ; N Sacute ; B 22 -13 476 964 ; +C -1 ; WX 498 ; N Scaron ; B 22 -13 476 931 ; +C -1 ; WX 498 ; N Scedilla ; B 22 -213 476 752 ; +C -1 ; WX 426 ; N Tcaron ; B 7 0 419 931 ; +C -1 ; WX 655 ; N Udieresis ; B 76 -13 579 931 ; +C -1 ; WX 655 ; N Uacute ; B 76 -13 579 964 ; +C -1 ; WX 655 ; N Ugrave ; B 76 -13 579 958 ; +C -1 ; WX 655 ; N Ucircumflex ; B 76 -13 579 931 ; +C -1 ; WX 655 ; N Uring ; B 76 -13 579 976 ; +C -1 ; WX 655 ; N Uhungarumlaut ; B 76 -13 579 962 ; +C -1 ; WX 592 ; N Yacute ; B 2 0 590 964 ; +C -1 ; WX 480 ; N Zacute ; B 17 0 474 964 ; +C -1 ; WX 480 ; N Zcaron ; B 17 0 474 931 ; +C -1 ; WX 480 ; N Zdotaccent ; B 17 0 474 931 ; +C -1 ; WX 740 ; N Amacron ; B 11 0 729 889 ; +C -1 ; WX 426 ; N Tcommaaccent ; B 7 -225 419 739 ; +C -1 ; WX 592 ; N Ydieresis ; B 2 0 590 931 ; +C -1 ; WX 536 ; N Emacron ; B 76 0 480 889 ; +C -1 ; WX 226 ; N Imacron ; B -56 0 281 889 ; +C -1 ; WX 226 ; N Iogonek ; B 27 -191 181 739 ; +C -1 ; WX 591 ; N Kcommaaccent ; B 76 -225 585 739 ; +C -1 ; WX 462 ; N Lcommaaccent ; B 76 -225 456 739 ; +C -1 ; WX 740 ; N Ncommaaccent ; B 76 -225 664 739 ; +C -1 ; WX 869 ; N Omacron ; B 44 -13 825 889 ; +C -1 ; WX 607 ; N Rcommaaccent ; B 76 -225 577 739 ; +C -1 ; WX 872 ; N Gcommaaccent ; B 44 -225 831 752 ; +C -1 ; WX 655 ; N Umacron ; B 76 -13 579 889 ; +C -1 ; WX 655 ; N Uogonek ; B 76 -191 579 739 ; +C -1 ; WX 683 ; N adieresis ; B 42 -13 620 749 ; +C -1 ; WX 683 ; N aacute ; B 42 -13 620 782 ; +C -1 ; WX 683 ; N agrave ; B 42 -13 620 776 ; +C -1 ; WX 683 ; N acircumflex ; B 42 -13 620 749 ; +C -1 ; WX 683 ; N abreve ; B 42 -13 620 743 ; +C -1 ; WX 683 ; N atilde ; B 42 -13 620 728 ; +C -1 ; WX 683 ; N aring ; B 42 -13 620 794 ; +C -1 ; WX 683 ; N aogonek ; B 42 -191 651 560 ; +C -1 ; WX 647 ; N cacute ; B 42 -13 608 782 ; +C -1 ; WX 647 ; N ccaron ; B 42 -13 608 749 ; +C -1 ; WX 647 ; N ccedilla ; B 42 -224 608 560 ; +C -1 ; WX 725 ; N dcaron ; B 42 -13 765 739 ; +C -1 ; WX 650 ; N edieresis ; B 42 -13 611 749 ; +C -1 ; WX 650 ; N eacute ; B 42 -13 611 782 ; +C -1 ; WX 650 ; N egrave ; B 42 -13 611 776 ; +C -1 ; WX 650 ; N ecircumflex ; B 42 -13 611 749 ; +C -1 ; WX 650 ; N ecaron ; B 42 -13 611 749 ; +C -1 ; WX 650 ; N edotaccent ; B 42 -13 611 749 ; +C -1 ; WX 650 ; N eogonek ; B 42 -191 611 560 ; +C -1 ; WX 673 ; N gbreve ; B 42 -215 610 743 ; +C -1 ; WX 200 ; N idieresis ; B -10 0 211 749 ; +C -1 ; WX 200 ; N iacute ; B -13 0 214 782 ; +C -1 ; WX 200 ; N igrave ; B -15 0 215 776 ; +C -1 ; WX 200 ; N icircumflex ; B -77 0 277 749 ; +C -1 ; WX 200 ; N lacute ; B -14 0 213 964 ; +C -1 ; WX 245 ; N lcaron ; B 63 0 285 739 ; +C -1 ; WX 610 ; N nacute ; B 63 0 547 782 ; +C -1 ; WX 610 ; N ncaron ; B 63 0 547 749 ; +C -1 ; WX 610 ; N ntilde ; B 63 0 547 728 ; +C -1 ; WX 655 ; N odieresis ; B 42 -13 613 749 ; +C -1 ; WX 655 ; N oacute ; B 42 -13 613 782 ; +C -1 ; WX 655 ; N ograve ; B 42 -13 613 776 ; +C -1 ; WX 655 ; N ocircumflex ; B 42 -13 613 749 ; +C -1 ; WX 655 ; N otilde ; B 42 -13 613 728 ; +C -1 ; WX 655 ; N ohungarumlaut ; B 42 -13 613 780 ; +C -1 ; WX 301 ; N racute ; B 63 0 324 782 ; +C -1 ; WX 388 ; N sacute ; B 18 -13 361 782 ; +C -1 ; WX 388 ; N scaron ; B 17 -13 371 749 ; +C -1 ; WX 388 ; N scommaaccent ; B 18 -225 361 560 ; +C -1 ; WX 339 ; N tcaron ; B 12 0 379 739 ; +C -1 ; WX 608 ; N udieresis ; B 63 -13 545 749 ; +C -1 ; WX 608 ; N uacute ; B 63 -13 545 782 ; +C -1 ; WX 608 ; N ugrave ; B 63 -13 545 776 ; +C -1 ; WX 608 ; N ucircumflex ; B 63 -13 545 749 ; +C -1 ; WX 608 ; N uring ; B 63 -13 545 794 ; +C -1 ; WX 608 ; N uhungarumlaut ; B 63 -13 547 780 ; +C -1 ; WX 536 ; N yacute ; B 9 -192 527 782 ; +C -1 ; WX 425 ; N zacute ; B 10 0 415 782 ; +C -1 ; WX 425 ; N zcaron ; B 10 0 415 749 ; +C -1 ; WX 425 ; N zdotaccent ; B 10 0 415 749 ; +C -1 ; WX 536 ; N ydieresis ; B 9 -192 527 749 ; +C -1 ; WX 339 ; N tcommaaccent ; B 12 -225 327 739 ; +C -1 ; WX 683 ; N amacron ; B 42 -13 620 707 ; +C -1 ; WX 650 ; N emacron ; B 42 -13 611 707 ; +C -1 ; WX 200 ; N imacron ; B -69 0 268 707 ; +C -1 ; WX 502 ; N kcommaaccent ; B 63 -225 497 739 ; +C -1 ; WX 200 ; N lcommaaccent ; B 26 -225 148 739 ; +C -1 ; WX 610 ; N ncommaaccent ; B 63 -225 547 560 ; +C -1 ; WX 655 ; N omacron ; B 42 -13 613 707 ; +C -1 ; WX 301 ; N rcommaaccent ; B 63 -225 292 560 ; +C -1 ; WX 608 ; N umacron ; B 63 -13 545 707 ; +C -1 ; WX 608 ; N uogonek ; B 63 -191 576 547 ; +C -1 ; WX 301 ; N rcaron ; B 10 0 364 749 ; +C -1 ; WX 388 ; N scedilla ; B 17 -213 361 560 ; +C -1 ; WX 673 ; N gcommaaccent ; B 42 -215 610 790 ; +C -1 ; WX 200 ; N iogonek ; B 14 -191 168 739 ; +C -1 ; WX 498 ; N Scommaaccent ; B 22 -225 476 752 ; +C -1 ; WX 790 ; N Eth ; B 26 0 746 739 ; +C -1 ; WX 790 ; N Dcroat ; B 26 0 746 739 ; +C -1 ; WX 592 ; N Thorn ; B 76 0 565 739 ; +C -1 ; WX 685 ; N dcroat ; B 42 -13 685 739 ; +C -1 ; WX 655 ; N eth ; B 42 -13 613 756 ; +C -1 ; WX 682 ; N thorn ; B 63 -192 640 739 ; +C -1 ; WX 554 ; N Euro ; B -32 -13 573 752 ; +C -1 ; WX 332 ; N onesuperior ; B 98 288 233 739 ; +C -1 ; WX 332 ; N twosuperior ; B 12 288 320 747 ; +C -1 ; WX 332 ; N threesuperior ; B 13 280 319 747 ; +C -1 ; WX 400 ; N degree ; B 50 380 350 686 ; +C -1 ; WX 606 ; N minus ; B 51 267 555 341 ; +C -1 ; WX 606 ; N multiply ; B 51 48 555 551 ; +C -1 ; WX 606 ; N divide ; B 51 112 555 496 ; +C -1 ; WX 1000 ; N trademark ; B 63 340 938 739 ; +C -1 ; WX 606 ; N plusminus ; B 51 0 555 585 ; +C -1 ; WX 831 ; N onehalf ; B 96 0 814 739 ; +C -1 ; WX 831 ; N onequarter ; B 101 0 803 739 ; +C -1 ; WX 831 ; N threequarters ; B 13 0 803 747 ; +C -1 ; WX 351 ; N commaaccent ; B 101 -225 223 -53 ; +C -1 ; WX 747 ; N copyright ; B -9 -13 755 752 ; +C -1 ; WX 747 ; N registered ; B -9 -13 755 752 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N uni2206 ; B 6 0 608 688 ; +C -1 ; WX 549 ; N notequal ; B 25 42 529 558 ; +C -1 ; WX 549 ; N radical ; B 10 -35 515 913 ; +C -1 ; WX 549 ; N lessequal ; B 26 0 530 646 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 530 646 ; +C -1 ; WX 606 ; N logicalnot ; B 51 148 555 436 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 672 ; N brokenbar ; B 304 0 368 739 ; +C -1 ; WX 608 ; N mu ; B 63 -192 545 547 ; +C -1 ; WX 740 ; N afii10017 ; B 11 0 729 739 ; +C -1 ; WX 571 ; N afii10018 ; B 76 0 544 739 ; +C -1 ; WX 571 ; N afii10019 ; B 76 0 544 739 ; +C -1 ; WX 487 ; N afii10020 ; B 76 0 480 739 ; +C -1 ; WX 848 ; N afii10021 ; B 66 -126 781 739 ; +C -1 ; WX 536 ; N afii10022 ; B 76 0 480 739 ; +C -1 ; WX 536 ; N afii10023 ; B 76 0 480 924 ; +C -1 ; WX 974 ; N afii10024 ; B 45 0 934 739 ; +C -1 ; WX 665 ; N afii10025 ; B 58 -13 622 752 ; +C -1 ; WX 663 ; N afii10026 ; B 76 0 587 739 ; +C -1 ; WX 663 ; N afii10027 ; B 76 0 587 919 ; +C -1 ; WX 591 ; N afii10028 ; B 76 0 570 739 ; +C -1 ; WX 702 ; N afii10029 ; B 35 0 665 739 ; +C -1 ; WX 919 ; N afii10030 ; B 106 0 813 739 ; +C -1 ; WX 683 ; N afii10031 ; B 76 0 607 739 ; +C -1 ; WX 869 ; N afii10032 ; B 44 -13 825 752 ; +C -1 ; WX 683 ; N afii10033 ; B 76 0 607 739 ; +C -1 ; WX 592 ; N afii10034 ; B 76 0 565 739 ; +C -1 ; WX 813 ; N afii10035 ; B 44 -13 770 752 ; +C -1 ; WX 466 ; N afii10036 ; B 7 0 459 739 ; +C -1 ; WX 596 ; N afii10037 ; B 4 0 592 739 ; +C -1 ; WX 825 ; N afii10038 ; B 47 -42 785 794 ; +C -1 ; WX 609 ; N afii10039 ; B 8 0 601 739 ; +C -1 ; WX 712 ; N afii10040 ; B 76 -140 668 739 ; +C -1 ; WX 635 ; N afii10041 ; B 66 0 559 741 ; +C -1 ; WX 964 ; N afii10042 ; B 76 0 888 739 ; +C -1 ; WX 983 ; N afii10043 ; B 76 -140 949 739 ; +C -1 ; WX 710 ; N afii10044 ; B 6 0 683 739 ; +C -1 ; WX 742 ; N afii10045 ; B 76 0 666 739 ; +C -1 ; WX 571 ; N afii10046 ; B 76 0 544 739 ; +C -1 ; WX 814 ; N afii10047 ; B 44 -13 770 752 ; +C -1 ; WX 1081 ; N afii10048 ; B 76 -13 1037 752 ; +C -1 ; WX 604 ; N afii10049 ; B 27 0 528 739 ; +C -1 ; WX 683 ; N afii10065 ; B 42 -13 620 560 ; +C -1 ; WX 656 ; N afii10066 ; B 45 -13 618 784 ; +C -1 ; WX 473 ; N afii10067 ; B 63 0 439 547 ; +C -1 ; WX 369 ; N afii10068 ; B 63 0 364 547 ; +C -1 ; WX 668 ; N afii10069 ; B 27 -120 641 547 ; +C -1 ; WX 650 ; N afii10070 ; B 42 -13 611 560 ; +C -1 ; WX 650 ; N afii10071 ; B 42 -13 611 749 ; +C -1 ; WX 768 ; N afii10072 ; B 7 0 761 548 ; +C -1 ; WX 458 ; N afii10073 ; B 27 -13 431 560 ; +C -1 ; WX 608 ; N afii10074 ; B 63 0 545 548 ; +C -1 ; WX 608 ; N afii10075 ; B 63 0 545 733 ; +C -1 ; WX 477 ; N afii10076 ; B 63 0 467 549 ; +C -1 ; WX 554 ; N afii10077 ; B 8 0 546 547 ; +C -1 ; WX 690 ; N afii10078 ; B 63 0 627 549 ; +C -1 ; WX 544 ; N afii10079 ; B 63 0 481 547 ; +C -1 ; WX 655 ; N afii10080 ; B 42 -13 613 560 ; +C -1 ; WX 549 ; N afii10081 ; B 63 0 486 547 ; +C -1 ; WX 682 ; N afii10082 ; B 63 -192 640 560 ; +C -1 ; WX 647 ; N afii10083 ; B 42 -13 608 560 ; +C -1 ; WX 362 ; N afii10084 ; B 6 0 356 547 ; +C -1 ; WX 536 ; N afii10085 ; B 9 -192 527 547 ; +C -1 ; WX 728 ; N afii10086 ; B 42 -108 686 631 ; +C -1 ; WX 480 ; N afii10087 ; B 8 0 472 547 ; +C -1 ; WX 560 ; N afii10088 ; B 63 -129 533 547 ; +C -1 ; WX 500 ; N afii10089 ; B 34 0 437 547 ; +C -1 ; WX 822 ; N afii10090 ; B 63 0 759 548 ; +C -1 ; WX 882 ; N afii10091 ; B 63 -129 825 547 ; +C -1 ; WX 556 ; N afii10092 ; B 6 0 529 547 ; +C -1 ; WX 620 ; N afii10093 ; B 63 0 567 547 ; +C -1 ; WX 466 ; N afii10094 ; B 63 0 439 547 ; +C -1 ; WX 650 ; N afii10095 ; B 42 -13 608 560 ; +C -1 ; WX 853 ; N afii10096 ; B 63 -13 796 560 ; +C -1 ; WX 502 ; N afii10097 ; B 35 0 439 547 ; +C -1 ; WX 536 ; N uni0400 ; B 76 0 480 958 ; +C -1 ; WX 426 ; N afii10051 ; B 7 0 419 739 ; +C -1 ; WX 487 ; N afii10052 ; B 76 0 480 954 ; +C -1 ; WX 814 ; N afii10053 ; B 44 -13 770 752 ; +C -1 ; WX 498 ; N afii10054 ; B 22 -13 476 752 ; +C -1 ; WX 226 ; N afii10055 ; B 76 0 150 739 ; +C -1 ; WX 226 ; N afii10056 ; B 2 0 223 905 ; +C -1 ; WX 482 ; N afii10057 ; B 11 -14 406 739 ; +C -1 ; WX 906 ; N afii10058 ; B 11 -1 885 739 ; +C -1 ; WX 957 ; N afii10059 ; B 76 0 910 739 ; +C -1 ; WX 426 ; N afii10060 ; B 7 0 419 739 ; +C -1 ; WX 591 ; N afii10061 ; B 76 0 585 954 ; +C -1 ; WX 740 ; N uni040D ; B 76 0 664 1005 ; +C -1 ; WX 596 ; N afii10062 ; B 4 0 592 906 ; +C -1 ; WX 683 ; N afii10145 ; B 76 -140 607 739 ; +C -1 ; WX 650 ; N uni0450 ; B 42 -13 611 813 ; +C -1 ; WX 610 ; N afii10099 ; B 9 0 546 739 ; +C -1 ; WX 369 ; N afii10100 ; B 63 0 364 788 ; +C -1 ; WX 650 ; N afii10101 ; B 42 -13 608 560 ; +C -1 ; WX 388 ; N afii10102 ; B 18 -13 361 560 ; +C -1 ; WX 200 ; N afii10103 ; B 63 0 137 739 ; +C -1 ; WX 200 ; N afii10104 ; B -10 0 211 749 ; +C -1 ; WX 203 ; N afii10105 ; B -45 -192 140 739 ; +C -1 ; WX 678 ; N afii10106 ; B 8 0 652 547 ; +C -1 ; WX 694 ; N afii10107 ; B 63 0 664 547 ; +C -1 ; WX 610 ; N afii10108 ; B 9 0 546 739 ; +C -1 ; WX 502 ; N afii10109 ; B 63 0 497 788 ; +C -1 ; WX 608 ; N uni045D ; B 63 0 545 760 ; +C -1 ; WX 536 ; N afii10110 ; B 9 -192 527 733 ; +C -1 ; WX 529 ; N afii10193 ; B 63 -140 466 547 ; +C -1 ; WX 571 ; N uni048C ; B 4 0 544 739 ; +C -1 ; WX 466 ; N uni048D ; B 3 0 439 547 ; +C -1 ; WX 592 ; N uni048E ; B 76 0 565 739 ; +C -1 ; WX 682 ; N uni048F ; B 63 -192 640 560 ; +C -1 ; WX 487 ; N afii10050 ; B 76 0 480 805 ; +C -1 ; WX 369 ; N afii10098 ; B 63 0 364 610 ; +C -1 ; WX 487 ; N uni0492 ; B 10 0 480 739 ; +C -1 ; WX 369 ; N uni0493 ; B 3 0 364 547 ; +C -1 ; WX 487 ; N uni0494 ; B 76 0 480 739 ; +C -1 ; WX 369 ; N uni0495 ; B 63 0 364 547 ; +C -1 ; WX 974 ; N uni0496 ; B 10 0 964 739 ; +C -1 ; WX 808 ; N uni0497 ; B 7 -129 807 549 ; +C -1 ; WX 559 ; N uni0498 ; B 44 -8 515 752 ; +C -1 ; WX 400 ; N uni0499 ; B 27 -13 373 560 ; +C -1 ; WX 591 ; N uni049A ; B 76 0 585 739 ; +C -1 ; WX 502 ; N uni049B ; B 63 0 497 549 ; +C -1 ; WX 591 ; N uni049C ; B 76 0 585 739 ; +C -1 ; WX 502 ; N uni049D ; B 63 0 497 549 ; +C -1 ; WX 591 ; N uni049E ; B 6 0 585 739 ; +C -1 ; WX 502 ; N uni049F ; B 4 0 497 549 ; +C -1 ; WX 591 ; N uni04A0 ; B 76 0 585 739 ; +C -1 ; WX 502 ; N uni04A1 ; B 63 0 497 549 ; +C -1 ; WX 683 ; N uni04A2 ; B 76 0 607 739 ; +C -1 ; WX 529 ; N uni04A3 ; B 63 0 466 547 ; +C -1 ; WX 844 ; N uni04A4 ; B 76 0 819 739 ; +C -1 ; WX 529 ; N uni04A5 ; B 63 0 466 547 ; +C -1 ; WX 683 ; N uni04A6 ; B 76 0 607 739 ; +C -1 ; WX 529 ; N uni04A7 ; B 63 0 466 547 ; +C -1 ; WX 813 ; N uni04A8 ; B 44 -13 770 752 ; +C -1 ; WX 647 ; N uni04A9 ; B 42 -13 608 560 ; +C -1 ; WX 813 ; N uni04AA ; B 44 -13 770 752 ; +C -1 ; WX 647 ; N uni04AB ; B 42 -13 608 560 ; +C -1 ; WX 426 ; N uni04AC ; B 7 0 419 739 ; +C -1 ; WX 362 ; N uni04AD ; B 6 0 356 547 ; +C -1 ; WX 592 ; N uni04AE ; B 2 0 590 739 ; +C -1 ; WX 554 ; N uni04AF ; B 8 -192 546 547 ; +C -1 ; WX 592 ; N uni04B0 ; B 2 0 590 739 ; +C -1 ; WX 554 ; N uni04B1 ; B 8 -192 546 547 ; +C -1 ; WX 609 ; N uni04B2 ; B 8 0 601 739 ; +C -1 ; WX 480 ; N uni04B3 ; B 8 0 472 547 ; +C -1 ; WX 742 ; N uni04B4 ; B 76 -140 698 739 ; +C -1 ; WX 590 ; N uni04B5 ; B 63 -129 563 547 ; +C -1 ; WX 635 ; N uni04B6 ; B 66 0 559 741 ; +C -1 ; WX 500 ; N uni04B7 ; B 34 0 437 547 ; +C -1 ; WX 635 ; N uni04B8 ; B 66 1 559 742 ; +C -1 ; WX 500 ; N uni04B9 ; B 34 1 437 548 ; +C -1 ; WX 635 ; N uni04BA ; B 66 0 559 741 ; +C -1 ; WX 500 ; N uni04BB ; B 34 0 437 547 ; +C -1 ; WX 813 ; N uni04BC ; B 44 -13 770 752 ; +C -1 ; WX 647 ; N uni04BD ; B 42 -13 608 560 ; +C -1 ; WX 813 ; N uni04BE ; B 44 -13 770 752 ; +C -1 ; WX 647 ; N uni04BF ; B 42 -13 608 560 ; +C -1 ; WX 226 ; N uni04C0 ; B 76 0 150 739 ; +C -1 ; WX 974 ; N uni04C1 ; B 10 0 964 959 ; +C -1 ; WX 808 ; N uni04C2 ; B 7 0 801 767 ; +C -1 ; WX 591 ; N uni04C3 ; B 76 0 585 739 ; +C -1 ; WX 502 ; N uni04C4 ; B 63 0 497 549 ; +C -1 ; WX 683 ; N uni04C7 ; B 76 0 607 739 ; +C -1 ; WX 529 ; N uni04C8 ; B 63 0 466 547 ; +C -1 ; WX 635 ; N uni04CB ; B 66 0 559 741 ; +C -1 ; WX 500 ; N uni04CC ; B 34 0 437 547 ; +C -1 ; WX 740 ; N uni04D0 ; B 11 0 729 912 ; +C -1 ; WX 683 ; N uni04D1 ; B 42 -13 620 767 ; +C -1 ; WX 740 ; N uni04D2 ; B 11 0 729 918 ; +C -1 ; WX 683 ; N uni04D3 ; B 42 -13 620 773 ; +C -1 ; WX 992 ; N uni04D4 ; B 11 0 936 739 ; +C -1 ; WX 1157 ; N uni04D5 ; B 42 -13 1118 560 ; +C -1 ; WX 536 ; N uni04D6 ; B 76 0 480 912 ; +C -1 ; WX 650 ; N uni04D7 ; B 42 -13 611 767 ; +C -1 ; WX 872 ; N uni04D8 ; B 44 -13 831 752 ; +C -1 ; WX 647 ; N afii10846 ; B 27 -13 608 560 ; +C -1 ; WX 872 ; N uni04DA ; B 44 -13 831 958 ; +C -1 ; WX 647 ; N uni04DB ; B 27 -13 608 766 ; +C -1 ; WX 974 ; N uni04DC ; B 10 0 964 965 ; +C -1 ; WX 808 ; N uni04DD ; B 7 0 801 773 ; +C -1 ; WX 559 ; N uni04DE ; B 44 -8 515 965 ; +C -1 ; WX 400 ; N uni04DF ; B 27 -13 373 773 ; +C -1 ; WX 559 ; N uni04E0 ; B 44 -8 515 752 ; +C -1 ; WX 400 ; N uni04E1 ; B 27 -13 373 560 ; +C -1 ; WX 740 ; N uni04E2 ; B 76 0 664 903 ; +C -1 ; WX 608 ; N uni04E3 ; B 63 0 545 652 ; +C -1 ; WX 740 ; N uni04E4 ; B 76 0 664 965 ; +C -1 ; WX 608 ; N uni04E5 ; B 63 0 545 713 ; +C -1 ; WX 869 ; N uni04E6 ; B 44 -13 825 965 ; +C -1 ; WX 655 ; N uni04E7 ; B 42 -13 613 773 ; +C -1 ; WX 869 ; N uni04E8 ; B 44 -13 825 752 ; +C -1 ; WX 655 ; N uni04E9 ; B 42 -13 613 560 ; +C -1 ; WX 869 ; N uni04EA ; B 44 -13 825 965 ; +C -1 ; WX 655 ; N uni04EB ; B 42 -13 613 773 ; +C -1 ; WX 814 ; N uni04EC ; B 44 -13 770 965 ; +C -1 ; WX 650 ; N uni04ED ; B 42 -13 608 773 ; +C -1 ; WX 596 ; N uni04EE ; B 4 0 592 903 ; +C -1 ; WX 536 ; N uni04EF ; B 9 -192 527 711 ; +C -1 ; WX 596 ; N uni04F0 ; B 4 0 592 965 ; +C -1 ; WX 536 ; N uni04F1 ; B 9 -192 527 773 ; +C -1 ; WX 596 ; N uni04F2 ; B 4 0 592 1009 ; +C -1 ; WX 536 ; N uni04F3 ; B 9 -192 527 817 ; +C -1 ; WX 635 ; N uni04F4 ; B 66 0 559 965 ; +C -1 ; WX 500 ; N uni04F5 ; B 34 0 437 773 ; +C -1 ; WX 778 ; N uni04F8 ; B 76 0 666 965 ; +C -1 ; WX 635 ; N uni04F9 ; B 63 0 557 773 ; +C -1 ; WX 813 ; N Ccircumflex ; B 44 -13 770 965 ; +C -1 ; WX 647 ; N ccircumflex ; B 42 -13 608 773 ; +C -1 ; WX 813 ; N Cdotaccent ; B 44 -13 770 965 ; +C -1 ; WX 647 ; N cdotaccent ; B 42 -13 608 773 ; +C -1 ; WX 536 ; N Ebreve ; B 76 0 480 959 ; +C -1 ; WX 650 ; N ebreve ; B 42 -13 611 767 ; +C -1 ; WX 872 ; N Gcircumflex ; B 44 -13 831 965 ; +C -1 ; WX 673 ; N gcircumflex ; B 42 -215 610 773 ; +C -1 ; WX 872 ; N Gdotaccent ; B 44 -13 831 965 ; +C -1 ; WX 673 ; N gdotaccent ; B 42 -215 610 773 ; +C -1 ; WX 683 ; N Hcircumflex ; B 76 0 607 965 ; +C -1 ; WX 610 ; N hcircumflex ; B 63 0 547 965 ; +C -1 ; WX 683 ; N Hbar ; B 12 0 674 739 ; +C -1 ; WX 610 ; N hbar ; B 9 0 546 739 ; +C -1 ; WX 226 ; N Itilde ; B -32 0 258 887 ; +C -1 ; WX 200 ; N itilde ; B -45 0 245 742 ; +C -1 ; WX 226 ; N Ibreve ; B -39 0 265 912 ; +C -1 ; WX 200 ; N ibreve ; B -52 0 252 767 ; +C -1 ; WX 686 ; N IJ ; B 76 -14 606 739 ; +C -1 ; WX 330 ; N ij ; B 63 -192 266 739 ; +C -1 ; WX 482 ; N Jcircumflex ; B 11 -14 546 965 ; +C -1 ; WX 203 ; N jcircumflex ; B -74 -192 280 777 ; +C -1 ; WX 502 ; N kgreenlandic ; B 63 0 497 549 ; +C -1 ; WX 462 ; N Ldot ; B 76 0 456 739 ; +C -1 ; WX 320 ; N ldot ; B 63 0 285 739 ; +C -1 ; WX 610 ; N napostrophe ; B 63 0 547 560 ; +C -1 ; WX 740 ; N Eng ; B 76 0 664 739 ; +C -1 ; WX 610 ; N eng ; B 63 0 547 560 ; +C -1 ; WX 869 ; N Obreve ; B 44 -13 825 959 ; +C -1 ; WX 655 ; N obreve ; B 42 -13 613 767 ; +C -1 ; WX 498 ; N Scircumflex ; B 22 -13 476 965 ; +C -1 ; WX 388 ; N scircumflex ; B 18 -13 407 773 ; +C -1 ; WX 426 ; N uni0162 ; B 7 -213 419 739 ; +C -1 ; WX 339 ; N uni0163 ; B 12 -213 327 739 ; +C -1 ; WX 426 ; N Tbar ; B 7 0 419 739 ; +C -1 ; WX 339 ; N tbar ; B 12 0 327 739 ; +C -1 ; WX 655 ; N Utilde ; B 76 -13 579 934 ; +C -1 ; WX 608 ; N utilde ; B 63 -13 545 742 ; +C -1 ; WX 655 ; N Ubreve ; B 76 -13 579 959 ; +C -1 ; WX 608 ; N ubreve ; B 63 -13 545 767 ; +C -1 ; WX 960 ; N Wcircumflex ; B 10 0 950 965 ; +C -1 ; WX 831 ; N wcircumflex ; B 7 0 824 773 ; +C -1 ; WX 592 ; N Ycircumflex ; B 2 0 590 965 ; +C -1 ; WX 536 ; N ycircumflex ; B 9 -192 527 773 ; +C -1 ; WX 314 ; N longs ; B 16 0 311 739 ; +C -1 ; WX 1017 ; N afii61352 ; B 35 0 951 739 ; +C -1 ; WX 768 ; N infinity ; B 42 130 720 520 ; +EndCharMetrics +StartKernData +StartKernPairs 983 +KPX quoteright y -21 +KPX quoteright w -19 +KPX quoteright v -21 +KPX quoteright t -32 +KPX quoteright s -27 +KPX quoteright r -30 +KPX quoteright period -80 +KPX quoteright o -55 +KPX quoteright d -56 +KPX quoteright comma -100 +KPX quoteright Aring -105 +KPX quoteright Adieresis -105 +KPX quoteright Aacute -105 +KPX quoteright AE -183 +KPX quoteright A -105 +KPX comma quoteright -19 +KPX comma quotedblright -17 +KPX comma one -64 +KPX hyphen Y -43 +KPX hyphen W 4 +KPX hyphen V -24 +KPX hyphen T -11 +KPX hyphen Aring 13 +KPX hyphen Adieresis 13 +KPX hyphen Aacute 13 +KPX hyphen AE -21 +KPX hyphen A 13 +KPX period quoteright -58 +KPX period quotedblright -56 +KPX period one -100 +KPX zero seven -30 +KPX zero one -66 +KPX zero four 22 +KPX one zero -27 +KPX one two -51 +KPX one three -55 +KPX one six -49 +KPX one seven -88 +KPX one period -58 +KPX one one -133 +KPX one nine -52 +KPX one four -62 +KPX one five -46 +KPX one eight -46 +KPX one comma -77 +KPX two seven -35 +KPX two one -81 +KPX two four -19 +KPX three seven -51 +KPX three one -91 +KPX three four 12 +KPX four seven -35 +KPX four one -81 +KPX four four 24 +KPX five seven -32 +KPX five one -77 +KPX five four 24 +KPX six seven -64 +KPX six one -94 +KPX six four 24 +KPX seven two -27 +KPX seven three -42 +KPX seven six -60 +KPX seven seven -20 +KPX seven period -115 +KPX seven one -65 +KPX seven four -81 +KPX seven five -47 +KPX seven eight -41 +KPX seven comma -133 +KPX seven colon -75 +KPX eight seven -43 +KPX eight one -84 +KPX eight four 17 +KPX nine seven -31 +KPX nine one -77 +KPX nine four -33 +KPX A y -37 +KPX A w -33 +KPX A v -39 +KPX A u -15 +KPX A t -28 +KPX A quoteright -92 +KPX A quotedblright -90 +KPX A q -21 +KPX A period 13 +KPX A o -20 +KPX A hyphen 13 +KPX A guilsinglleft -22 +KPX A guillemotleft -22 +KPX A g -23 +KPX A e -21 +KPX A d -21 +KPX A comma -5 +KPX A ccedilla -22 +KPX A c -22 +KPX A b 5 +KPX A a -20 +KPX A Y -77 +KPX A W -47 +KPX A V -72 +KPX A Ugrave -29 +KPX A Udieresis -29 +KPX A Ucircumflex -29 +KPX A Uacute -29 +KPX A U -29 +KPX A T -50 +KPX A Q -38 +KPX A Odieresis -38 +KPX A O -38 +KPX A G -38 +KPX A Ccedilla -37 +KPX A C -36 +KPX B Y -26 +KPX B W -2 +KPX B V -24 +KPX B Oslash 9 +KPX B Ograve 6 +KPX B Odieresis 6 +KPX B Ocircumflex 6 +KPX B Oacute 6 +KPX B OE 7 +KPX B O 6 +KPX B Atilde -8 +KPX B Aring -8 +KPX B Adieresis -8 +KPX B Acircumflex -8 +KPX B Aacute -8 +KPX B AE -21 +KPX B A -8 +KPX C Odieresis -18 +KPX C Oacute -18 +KPX C O -18 +KPX C Aring -22 +KPX C Adieresis -22 +KPX C Aacute -22 +KPX C AE -45 +KPX C A -22 +KPX D Y -44 +KPX D X -29 +KPX D W -14 +KPX D V -36 +KPX D T -40 +KPX D J -5 +KPX D Atilde -37 +KPX D Aring -37 +KPX D Agrave -37 +KPX D Adieresis -37 +KPX D Acircumflex -37 +KPX D Aacute -37 +KPX D A -37 +KPX F u -11 +KPX F r -11 +KPX F period -80 +KPX F oslash -5 +KPX F oe -3 +KPX F odieresis -3 +KPX F oacute -3 +KPX F o -3 +KPX F j -7 +KPX F i -5 +KPX F hyphen 23 +KPX F eacute -3 +KPX F e -3 +KPX F comma -98 +KPX F aring -3 +KPX F ae -3 +KPX F adieresis -3 +KPX F aacute -3 +KPX F a -3 +KPX F J -55 +KPX F Atilde -56 +KPX F Aring -56 +KPX F Agrave -56 +KPX F Adieresis -56 +KPX F Acircumflex -56 +KPX F Aacute -56 +KPX F A -56 +KPX G Y -48 +KPX G W -22 +KPX G V -43 +KPX G T -45 +KPX G Atilde -40 +KPX G Aring -40 +KPX G Agrave -40 +KPX G Adieresis -40 +KPX G Acircumflex -40 +KPX G Aacute -40 +KPX G AE -64 +KPX G A -40 +KPX J Aring -27 +KPX J Adieresis -27 +KPX J AE -39 +KPX J A -27 +KPX K y -44 +KPX K udieresis -38 +KPX K u -38 +KPX K odieresis -44 +KPX K oacute -44 +KPX K o -44 +KPX K hyphen -29 +KPX K e -45 +KPX K aring -44 +KPX K ae -44 +KPX K adieresis -44 +KPX K a -44 +KPX K T 37 +KPX K S -16 +KPX K Odieresis -38 +KPX K Oacute -38 +KPX K OE -37 +KPX K O -38 +KPX K G -38 +KPX K C -36 +KPX L y -59 +KPX L udieresis -14 +KPX L u -14 +KPX L quoteright -116 +KPX L quotedblright -114 +KPX L hyphen -79 +KPX L Y -88 +KPX L W -59 +KPX L V -100 +KPX L Udieresis -25 +KPX L U -25 +KPX L T -47 +KPX L S 7 +KPX L Otilde -49 +KPX L Ograve -49 +KPX L Odieresis -49 +KPX L Ocircumflex -49 +KPX L Oacute -49 +KPX L O -49 +KPX L G -48 +KPX L Ccedilla -49 +KPX L C -46 +KPX L Aring 34 +KPX L Adieresis 34 +KPX L Aacute 34 +KPX L AE 34 +KPX L A 34 +KPX N udieresis 13 +KPX N u 13 +KPX N period 3 +KPX N oslash 9 +KPX N odieresis 8 +KPX N oacute 8 +KPX N o 8 +KPX N eacute 7 +KPX N e 7 +KPX N comma -15 +KPX N aring 8 +KPX N ae 7 +KPX N adieresis 8 +KPX N aacute 8 +KPX N a 8 +KPX N Odieresis 9 +KPX N Oacute 9 +KPX N O 9 +KPX N G 9 +KPX N Ccedilla 11 +KPX N C 10 +KPX N AE -1 +KPX O Y -46 +KPX O X -31 +KPX O W -16 +KPX O V -38 +KPX O T -42 +KPX O Aring -39 +KPX O Adieresis -39 +KPX O Aacute -39 +KPX O AE -68 +KPX O A -39 +KPX P period -106 +KPX P oslash -19 +KPX P oe -15 +KPX P odieresis -15 +KPX P oacute -15 +KPX P o -15 +KPX P hyphen -4 +KPX P eacute -15 +KPX P e -15 +KPX P comma -125 +KPX P aring -16 +KPX P ae -16 +KPX P adieresis -16 +KPX P aacute -16 +KPX P a -16 +KPX P J -68 +KPX P Aring -61 +KPX P Adieresis -61 +KPX P Aacute -61 +KPX P AE -108 +KPX P A -61 +KPX R y 20 +KPX R udieresis 7 +KPX R uacute 7 +KPX R u 7 +KPX R oe -7 +KPX R odieresis -7 +KPX R oacute -7 +KPX R o -7 +KPX R hyphen 3 +KPX R eacute -7 +KPX R e -7 +KPX R aring -7 +KPX R ae -7 +KPX R adieresis -7 +KPX R aacute -7 +KPX R a -7 +KPX R Y -14 +KPX R W -3 +KPX R V -11 +KPX R Udieresis 11 +KPX R U 11 +KPX R T -4 +KPX R Odieresis 2 +KPX R Oacute 2 +KPX R OE 2 +KPX R O 2 +KPX R G 1 +KPX R Ccedilla 3 +KPX R C 2 +KPX S t 17 +KPX S Y -10 +KPX S W 3 +KPX S V -9 +KPX S T 3 +KPX S Aring -5 +KPX S Adieresis -5 +KPX S Aacute -5 +KPX S AE -16 +KPX S A -5 +KPX T y -50 +KPX T w -49 +KPX T v -50 +KPX T u -40 +KPX T semicolon -62 +KPX T s -32 +KPX T r -33 +KPX T period -47 +KPX T oslash -45 +KPX T o -48 +KPX T j 6 +KPX T i 8 +KPX T hyphen -11 +KPX T guilsinglleft -42 +KPX T guillemotleft -42 +KPX T g -48 +KPX T e -48 +KPX T comma -65 +KPX T colon -53 +KPX T c -49 +KPX T ae -48 +KPX T a -48 +KPX T Y 38 +KPX T W 35 +KPX T V 34 +KPX T Otilde -42 +KPX T Oslash -38 +KPX T Ograve -42 +KPX T Odieresis -42 +KPX T Ocircumflex -42 +KPX T Oacute -42 +KPX T OE -40 +KPX T O -42 +KPX T J -49 +KPX T G -41 +KPX T C -40 +KPX T Atilde -50 +KPX T Aring -50 +KPX T Agrave -50 +KPX T Adieresis -50 +KPX T Acircumflex -50 +KPX T Aacute -50 +KPX T AE -51 +KPX T A -50 +KPX U r 13 +KPX U period -15 +KPX U p 13 +KPX U n 13 +KPX U m 13 +KPX U comma -36 +KPX U Atilde -30 +KPX U Aring -30 +KPX U Adieresis -30 +KPX U Acircumflex -30 +KPX U Aacute -30 +KPX U AE -50 +KPX U A -30 +KPX V y -8 +KPX V u -34 +KPX V semicolon -70 +KPX V r -32 +KPX V period -92 +KPX V oslash -58 +KPX V o -59 +KPX V i 6 +KPX V hyphen -25 +KPX V guilsinglleft -49 +KPX V guillemotleft -49 +KPX V g -59 +KPX V e -59 +KPX V comma -110 +KPX V colon -60 +KPX V ae -59 +KPX V a -59 +KPX V T 35 +KPX V S -12 +KPX V Otilde -39 +KPX V Oslash -35 +KPX V Ograve -39 +KPX V Odieresis -39 +KPX V Ocircumflex -39 +KPX V Oacute -39 +KPX V O -39 +KPX V G -38 +KPX V C -37 +KPX V Atilde -72 +KPX V Aring -72 +KPX V Agrave -72 +KPX V Adieresis -72 +KPX V Acircumflex -72 +KPX V Aacute -72 +KPX V AE -118 +KPX V A -72 +KPX W y 4 +KPX W u -21 +KPX W semicolon -47 +KPX W r -15 +KPX W period -53 +KPX W oslash -28 +KPX W o -30 +KPX W i 6 +KPX W hyphen 3 +KPX W guilsinglleft -21 +KPX W guillemotleft -21 +KPX W g -30 +KPX W e -30 +KPX W comma -71 +KPX W colon -38 +KPX W ae -30 +KPX W a -30 +KPX W T 35 +KPX W Otilde -16 +KPX W Oslash -12 +KPX W Ograve -16 +KPX W Odieresis -16 +KPX W Ocircumflex -16 +KPX W Oacute -16 +KPX W O -16 +KPX W G -15 +KPX W C -14 +KPX W Atilde -48 +KPX W Aring -48 +KPX W Agrave -48 +KPX W Adieresis -48 +KPX W Acircumflex -48 +KPX W Aacute -48 +KPX W AE -73 +KPX W A -48 +KPX X y -37 +KPX X u -29 +KPX X o -36 +KPX X hyphen -17 +KPX X e -37 +KPX X a -36 +KPX X Q -30 +KPX X Odieresis -31 +KPX X O -31 +KPX X C -29 +KPX Y v -14 +KPX Y u -40 +KPX Y semicolon -78 +KPX Y period -89 +KPX Y p -38 +KPX Y oslash -66 +KPX Y o -68 +KPX Y i 10 +KPX Y hyphen -45 +KPX Y guilsinglleft -62 +KPX Y guillemotleft -63 +KPX Y g -68 +KPX Y e -68 +KPX Y comma -107 +KPX Y colon -69 +KPX Y ae -68 +KPX Y a -68 +KPX Y T 39 +KPX Y S -13 +KPX Y Otilde -46 +KPX Y Oslash -42 +KPX Y Ograve -46 +KPX Y Odieresis -46 +KPX Y Ocircumflex -46 +KPX Y Oacute -46 +KPX Y O -46 +KPX Y G -46 +KPX Y C -44 +KPX Y Atilde -78 +KPX Y Aring -78 +KPX Y Agrave -78 +KPX Y Adieresis -78 +KPX Y Acircumflex -78 +KPX Y Aacute -78 +KPX Y AE -93 +KPX Y A -78 +KPX Z y -8 +KPX Z v -8 +KPX quoteleft Y 2 +KPX quoteleft W 14 +KPX quoteleft V 6 +KPX quoteleft T -17 +KPX quoteleft Aring -92 +KPX quoteleft Adieresis -92 +KPX quoteleft Aacute -92 +KPX quoteleft AE -170 +KPX quoteleft A -92 +KPX a y 5 +KPX a w 6 +KPX a v 5 +KPX a quoteright -7 +KPX a j 14 +KPX b y -23 +KPX b w -19 +KPX b v -25 +KPX c k -4 +KPX c h -4 +KPX e y -23 +KPX e x -20 +KPX e w -20 +KPX e v -24 +KPX e t -23 +KPX e quoteright -31 +KPX f t 34 +KPX f s 13 +KPX f quoteright -5 +KPX f oslash -24 +KPX f oe -19 +KPX f odieresis -19 +KPX f oacute -19 +KPX f o -19 +KPX f l 9 +KPX f j 7 +KPX f i 9 +KPX f f 32 +KPX f eacute -19 +KPX f e -19 +KPX f aring -20 +KPX f ae -21 +KPX f adieresis -20 +KPX f aacute -20 +KPX f a -20 +KPX g r 16 +KPX g odieresis 7 +KPX g oacute 7 +KPX g l 16 +KPX g eacute 7 +KPX g e 7 +KPX g aring 7 +KPX g ae 7 +KPX g adieresis 7 +KPX g a 7 +KPX h y -17 +KPX h quoteright -30 +KPX i j 13 +KPX i T 8 +KPX k udieresis 1 +KPX k u 1 +KPX k s -5 +KPX k period -7 +KPX k odieresis -28 +KPX k oacute -28 +KPX k o -28 +KPX k hyphen -36 +KPX k g -29 +KPX k eacute -28 +KPX k e -28 +KPX k comma -21 +KPX k aring -28 +KPX k ae -28 +KPX k adieresis -28 +KPX k aacute -28 +KPX k a -28 +KPX l y 5 +KPX l v 5 +KPX m y -15 +KPX m w -12 +KPX m v -17 +KPX m p 14 +KPX n y -17 +KPX n w -14 +KPX n v -19 +KPX n quoteright -30 +KPX n p 13 +KPX n T -41 +KPX o y -21 +KPX o x -18 +KPX o w -18 +KPX o v -24 +KPX o t -22 +KPX o quoteright -31 +KPX o T -47 +KPX p y -23 +KPX p t -23 +KPX q u 13 +KPX q c 7 +KPX r z 27 +KPX r y 32 +KPX r x 31 +KPX r w 33 +KPX r v 32 +KPX r u 6 +KPX r t 31 +KPX r semicolon -24 +KPX r s 8 +KPX r r 6 +KPX r quoteright -8 +KPX r q -29 +KPX r period -53 +KPX r p 6 +KPX r oslash -33 +KPX r ograve -28 +KPX r oe -27 +KPX r odieresis -28 +KPX r ocircumflex -28 +KPX r oacute -28 +KPX r o -28 +KPX r n 6 +KPX r m 6 +KPX r l 6 +KPX r k 6 +KPX r j 4 +KPX r i 6 +KPX r hyphen -19 +KPX r h 6 +KPX r g -18 +KPX r f 29 +KPX r egrave -28 +KPX r ecircumflex -28 +KPX r eacute -28 +KPX r e -28 +KPX r d -29 +KPX r comma -70 +KPX r colon -12 +KPX r ccedilla -25 +KPX r c -30 +KPX r aring -28 +KPX r agrave -28 +KPX r ae -28 +KPX r adieresis -28 +KPX r acircumflex -28 +KPX r aacute -28 +KPX r a -28 +KPX s t 8 +KPX s quoteright -16 +KPX t semicolon -25 +KPX t quoteright -9 +KPX t odieresis -24 +KPX t oacute -24 +KPX t o -24 +KPX t h 4 +KPX t eacute -24 +KPX t e -24 +KPX t colon -13 +KPX t aring -25 +KPX t ae -25 +KPX t adieresis -25 +KPX t aacute -25 +KPX t a -25 +KPX t S 14 +KPX u quoteright -7 +KPX v semicolon -31 +KPX v s -2 +KPX v period -70 +KPX v oslash -24 +KPX v ograve -25 +KPX v odieresis -25 +KPX v oacute -25 +KPX v o -25 +KPX v l 6 +KPX v g -21 +KPX v egrave -25 +KPX v ecircumflex -25 +KPX v eacute -25 +KPX v e -25 +KPX v comma -87 +KPX v colon -21 +KPX v c -26 +KPX v atilde -25 +KPX v aring -25 +KPX v agrave -25 +KPX v ae -25 +KPX v adieresis -25 +KPX v acircumflex -25 +KPX v aacute -25 +KPX v a -25 +KPX w semicolon -29 +KPX w period -62 +KPX w oslash -19 +KPX w ograve -20 +KPX w odieresis -20 +KPX w oacute -20 +KPX w o -20 +KPX w l 7 +KPX w hyphen 6 +KPX w g -18 +KPX w egrave -20 +KPX w ecircumflex -20 +KPX w eacute -20 +KPX w e -20 +KPX w comma -79 +KPX w colon -19 +KPX w c -21 +KPX w atilde -20 +KPX w aring -20 +KPX w agrave -20 +KPX w ae -20 +KPX w adieresis -20 +KPX w acircumflex -20 +KPX w aacute -20 +KPX w a -20 +KPX x q -19 +KPX x o -19 +KPX x eacute -19 +KPX x e -19 +KPX x c -20 +KPX x a -19 +KPX y semicolon -31 +KPX y s -3 +KPX y period -72 +KPX y oslash -25 +KPX y ograve -26 +KPX y odieresis -26 +KPX y oacute -26 +KPX y o -26 +KPX y l 6 +KPX y g -22 +KPX y egrave -26 +KPX y ecircumflex -26 +KPX y eacute -26 +KPX y e -26 +KPX y comma -89 +KPX y colon -21 +KPX y c -27 +KPX y atilde -26 +KPX y aring -26 +KPX y agrave -26 +KPX y ae -26 +KPX y adieresis -26 +KPX y acircumflex -26 +KPX y aacute -26 +KPX y a -26 +KPX quotedblleft W 12 +KPX quotedblleft V 3 +KPX quotedblleft T -19 +KPX quotedblleft Aring -95 +KPX quotedblleft Adieresis -95 +KPX quotedblleft Aacute -95 +KPX quotedblleft AE -172 +KPX quotedblleft A -95 +KPX guilsinglright Y -61 +KPX guilsinglright W -21 +KPX guilsinglright V -48 +KPX guilsinglright T -41 +KPX guilsinglright Aring -22 +KPX guilsinglright Adieresis -22 +KPX guilsinglright Aacute -22 +KPX guilsinglright AE -60 +KPX guilsinglright A -22 +KPX quotedblbase Y -93 +KPX quotedblbase W -57 +KPX quotedblbase V -96 +KPX quotedblbase T -52 +KPX quotedblbase AE -8 +KPX quotedblbase A 6 +KPX quotedblright Y -4 +KPX quotedblright W 7 +KPX quotedblright T -5 +KPX quotedblright Aring -101 +KPX quotedblright Adieresis -101 +KPX quotedblright Aacute -101 +KPX quotedblright AE -179 +KPX quotedblright A -101 +KPX guillemotright Y -62 +KPX guillemotright W -21 +KPX guillemotright V -48 +KPX guillemotright T -42 +KPX guillemotright Aring -22 +KPX guillemotright Adieresis -22 +KPX guillemotright Aacute -22 +KPX guillemotright AE -60 +KPX guillemotright A -22 +KPX Oslash A -36 +KPX ae y -22 +KPX ae w -20 +KPX ae v -23 +KPX Adieresis y -37 +KPX Adieresis w -33 +KPX Adieresis v -39 +KPX Adieresis u -15 +KPX Adieresis t -28 +KPX Adieresis quoteright -92 +KPX Adieresis quotedblright -90 +KPX Adieresis q -21 +KPX Adieresis period 13 +KPX Adieresis o -20 +KPX Adieresis hyphen 13 +KPX Adieresis guilsinglleft -22 +KPX Adieresis guillemotleft -22 +KPX Adieresis g -23 +KPX Adieresis d -21 +KPX Adieresis comma -5 +KPX Adieresis c -22 +KPX Adieresis b 5 +KPX Adieresis a -20 +KPX Adieresis Y -77 +KPX Adieresis W -47 +KPX Adieresis V -72 +KPX Adieresis U -29 +KPX Adieresis T -50 +KPX Adieresis Q -38 +KPX Adieresis O -38 +KPX Adieresis G -38 +KPX Adieresis C -36 +KPX Aacute y -37 +KPX Aacute w -33 +KPX Aacute v -39 +KPX Aacute u -15 +KPX Aacute t -28 +KPX Aacute quoteright -92 +KPX Aacute q -21 +KPX Aacute period 13 +KPX Aacute o -20 +KPX Aacute hyphen 13 +KPX Aacute guilsinglleft -22 +KPX Aacute guillemotleft -22 +KPX Aacute g -23 +KPX Aacute e -21 +KPX Aacute d -21 +KPX Aacute comma -5 +KPX Aacute c -22 +KPX Aacute b 5 +KPX Aacute a -20 +KPX Aacute Y -77 +KPX Aacute W -47 +KPX Aacute V -72 +KPX Aacute U -29 +KPX Aacute T -50 +KPX Aacute Q -38 +KPX Aacute O -38 +KPX Aacute G -38 +KPX Aacute C -36 +KPX Agrave period 13 +KPX Agrave comma -5 +KPX Agrave Y -77 +KPX Agrave W -47 +KPX Agrave V -72 +KPX Agrave U -29 +KPX Agrave T -50 +KPX Agrave Q -38 +KPX Agrave O -38 +KPX Agrave G -38 +KPX Agrave C -36 +KPX Acircumflex period 13 +KPX Acircumflex comma -5 +KPX Acircumflex Y -77 +KPX Acircumflex W -47 +KPX Acircumflex V -72 +KPX Acircumflex U -29 +KPX Acircumflex T -50 +KPX Acircumflex Q -38 +KPX Acircumflex O -38 +KPX Acircumflex G -38 +KPX Acircumflex C -36 +KPX Atilde period 13 +KPX Atilde comma -5 +KPX Atilde Y -77 +KPX Atilde W -47 +KPX Atilde V -72 +KPX Atilde U -29 +KPX Atilde T -50 +KPX Atilde Q -38 +KPX Atilde O -38 +KPX Atilde G -38 +KPX Atilde C -36 +KPX Aring y -37 +KPX Aring w -33 +KPX Aring v -39 +KPX Aring u -15 +KPX Aring t -28 +KPX Aring quoteright -92 +KPX Aring quotedblright -90 +KPX Aring q -21 +KPX Aring period 13 +KPX Aring o -20 +KPX Aring hyphen 13 +KPX Aring guilsinglleft -22 +KPX Aring guillemotleft -22 +KPX Aring g -23 +KPX Aring e -21 +KPX Aring d -21 +KPX Aring comma -5 +KPX Aring c -22 +KPX Aring b 5 +KPX Aring a -20 +KPX Aring Y -77 +KPX Aring W -47 +KPX Aring V -72 +KPX Aring U -29 +KPX Aring T -50 +KPX Aring Q -38 +KPX Aring O -38 +KPX Aring G -38 +KPX Aring C -36 +KPX Ccedilla A -22 +KPX Odieresis Y -46 +KPX Odieresis X -31 +KPX Odieresis W -16 +KPX Odieresis V -38 +KPX Odieresis T -42 +KPX Odieresis A -39 +KPX Oacute Y -46 +KPX Oacute W -16 +KPX Oacute V -38 +KPX Oacute T -42 +KPX Oacute A -39 +KPX Ograve Y -46 +KPX Ograve V -38 +KPX Ograve T -42 +KPX Ocircumflex Y -46 +KPX Ocircumflex V -38 +KPX Ocircumflex T -42 +KPX Otilde Y -46 +KPX Otilde V -38 +KPX Otilde T -42 +KPX Udieresis r 13 +KPX Udieresis period -15 +KPX Udieresis p 13 +KPX Udieresis n 13 +KPX Udieresis m 13 +KPX Udieresis comma -36 +KPX Udieresis b 13 +KPX Udieresis A -30 +KPX Uacute r 13 +KPX Uacute period -15 +KPX Uacute p 13 +KPX Uacute n 13 +KPX Uacute m 13 +KPX Uacute comma -36 +KPX Uacute A -30 +KPX Ugrave A -30 +KPX Ucircumflex A -30 +KPX adieresis y 5 +KPX adieresis w 6 +KPX adieresis v 5 +KPX aacute y 5 +KPX aacute w 6 +KPX aacute v 5 +KPX agrave y 5 +KPX agrave w 6 +KPX agrave v 5 +KPX aring y 5 +KPX aring w 6 +KPX aring v 5 +KPX eacute y -23 +KPX eacute w -20 +KPX eacute v -24 +KPX ecircumflex y -23 +KPX ecircumflex w -20 +KPX ecircumflex v -24 +KPX odieresis y -21 +KPX odieresis x -18 +KPX odieresis w -18 +KPX odieresis v -24 +KPX odieresis t -22 +KPX oacute y -21 +KPX oacute w -18 +KPX oacute v -24 +KPX ograve y -21 +KPX ograve w -18 +KPX ograve v -24 +KPX ocircumflex t -22 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/harbour/contrib/hbhpdf/tests/a010013l.pfb b/harbour/contrib/hbhpdf/tests/a010013l.pfb new file mode 100644 index 0000000000..0f23987371 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/a010013l.pfb differ diff --git a/harbour/contrib/hbhpdf/tests/basn0g01.png b/harbour/contrib/hbhpdf/tests/basn0g01.png new file mode 100644 index 0000000000..1d722423aa Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn0g01.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn0g02.png b/harbour/contrib/hbhpdf/tests/basn0g02.png new file mode 100644 index 0000000000..508332418f Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn0g02.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn0g04.png b/harbour/contrib/hbhpdf/tests/basn0g04.png new file mode 100644 index 0000000000..0bf3687863 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn0g04.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn0g08.png b/harbour/contrib/hbhpdf/tests/basn0g08.png new file mode 100644 index 0000000000..23c82379a2 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn0g08.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn0g16.png b/harbour/contrib/hbhpdf/tests/basn0g16.png new file mode 100644 index 0000000000..e7c82f78eb Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn0g16.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn2c08.png b/harbour/contrib/hbhpdf/tests/basn2c08.png new file mode 100644 index 0000000000..db5ad15865 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn2c08.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn2c16.png b/harbour/contrib/hbhpdf/tests/basn2c16.png new file mode 100644 index 0000000000..50c1cb91a0 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn2c16.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn3p01.png b/harbour/contrib/hbhpdf/tests/basn3p01.png new file mode 100644 index 0000000000..b145c2b8ef Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn3p01.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn3p02.png b/harbour/contrib/hbhpdf/tests/basn3p02.png new file mode 100644 index 0000000000..8985b3d818 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn3p02.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn3p04.png b/harbour/contrib/hbhpdf/tests/basn3p04.png new file mode 100644 index 0000000000..0fbf9e827b Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn3p04.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn3p08.png b/harbour/contrib/hbhpdf/tests/basn3p08.png new file mode 100644 index 0000000000..0ddad07e5f Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn3p08.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn4a08.png b/harbour/contrib/hbhpdf/tests/basn4a08.png new file mode 100644 index 0000000000..3e13052201 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn4a08.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn4a16.png b/harbour/contrib/hbhpdf/tests/basn4a16.png new file mode 100644 index 0000000000..8243644d07 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn4a16.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn6a08.png b/harbour/contrib/hbhpdf/tests/basn6a08.png new file mode 100644 index 0000000000..e608738763 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn6a08.png differ diff --git a/harbour/contrib/hbhpdf/tests/basn6a16.png b/harbour/contrib/hbhpdf/tests/basn6a16.png new file mode 100644 index 0000000000..984a99525f Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/basn6a16.png differ diff --git a/harbour/contrib/hbhpdf/tests/cp932.txt b/harbour/contrib/hbhpdf/tests/cp932.txt new file mode 100644 index 0000000000..0000f50d51 --- /dev/null +++ b/harbour/contrib/hbhpdf/tests/cp932.txt @@ -0,0 +1,10 @@ +(こんにちは。) +(おはようございます。) +(こんばんは。) +(はじめまして、どうぞよろしく。) +(お帰りなさい。) +(おやすみなさい。) +(さようなら。) +(お元気ですか。) +(お久しぶり。) +(お邪魔します。) diff --git a/harbour/contrib/hbhpdf/tests/cp936.txt b/harbour/contrib/hbhpdf/tests/cp936.txt new file mode 100644 index 0000000000..d27b7ab469 --- /dev/null +++ b/harbour/contrib/hbhpdf/tests/cp936.txt @@ -0,0 +1,10 @@ +ト羲テ」。 +ヤ酲マコテ」。 +ヘノマコテ」。 +ト羲テ」ャヌカ犹リユユ。」 +サリタエチヒ。」 +ヘーイ。」 +ヤルシ」。 +ノフ蠎テツ」ソ +コテセテイサシ」。 +エネナチヒ。」 \ No newline at end of file diff --git a/harbour/contrib/hbhpdf/tests/elic_jp.txt b/harbour/contrib/hbhpdf/tests/elic_jp.txt new file mode 100644 index 0000000000..f509f9c859 --- /dev/null +++ b/harbour/contrib/hbhpdf/tests/elic_jp.txt @@ -0,0 +1,10 @@ +。ハ、ウ、、ヒ、チ、マ。」。ヒ +。ハ、ェ、マ、隍ヲ、エ、カ、、、゙、ケ。」。ヒ +。ハ、ウ、、ミ、、マ。」。ヒ +。ハ、マ、ク、皃゙、キ、ニ。「、ノ、ヲ、セ、隍、キ、ッ。」。ヒ +。ハ、ェオ「、熙ハ、オ、、。」。ヒ +。ハ、ェ、荀ケ、゚、ハ、オ、、。」。ヒ +。ハ、オ、隍ヲ、ハ、鬘」。ヒ +。ハ、ェクオオ、、ヌ、ケ、ォ。」。ヒ +。ハ、ェオラ、キ、ヨ、遙」。ヒ +。ハ、ェシルヒ筅キ、゙、ケ。」。ヒ diff --git a/harbour/contrib/hbhpdf/tests/euc.txt b/harbour/contrib/hbhpdf/tests/euc.txt new file mode 100644 index 0000000000..4e0fd0c8b5 --- /dev/null +++ b/harbour/contrib/hbhpdf/tests/euc.txt @@ -0,0 +1 @@ +・「・皈・ワタヨ、、、ハ、「、、、ヲ、ィ、ェ。」ノ筅ュチ、ヒセョ・ィ・モ、筅ェ、隍、、ヌ、。」 \ No newline at end of file diff --git a/harbour/contrib/hbhpdf/tests/gray.jpg b/harbour/contrib/hbhpdf/tests/gray.jpg new file mode 100644 index 0000000000..09da027273 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/gray.jpg differ diff --git a/harbour/contrib/hbhpdf/tests/harupdf.ch b/harbour/contrib/hbhpdf/tests/harupdf.ch new file mode 100644 index 0000000000..8a78b4f41e --- /dev/null +++ b/harbour/contrib/hbhpdf/tests/harupdf.ch @@ -0,0 +1,802 @@ +/* + * $Id$ + */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option ) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/ ). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// +// Collected by Pritpal Bedi +// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// + +// HPDF_InfoType +#define HPDF_INFO_CREATION_DATE 0 +#define HPDF_INFO_MOD_DATE 1 +#define HPDF_INFO_AUTHOR 2 +#define HPDF_INFO_CREATOR 3 +#define HPDF_INFO_PRODUCER 4 +#define HPDF_INFO_TITLE 5 +#define HPDF_INFO_SUBJECT 6 +#define HPDF_INFO_KEYWORDS 7 +#define HPDF_INFO_EOF 8 + +// HPDF_PdfVer +#define HPDF_VER_12 0 +#define HPDF_VER_13 1 +#define HPDF_VER_14 2 +#define HPDF_VER_15 3 +#define HPDF_VER_16 4 +#define HPDF_VER_EOF 5 + +// HPDF_EncryptMode +#define HPDF_ENCRYPT_R2 2 +#define HPDF_ENCRYPT_R3 3 + +// HPDF_ColorSpace +#define HPDF_CS_DEVICE_GRAY 0 +#define HPDF_CS_DEVICE_RGB 1 +#define HPDF_CS_DEVICE_CMYK 2 +#define HPDF_CS_CAL_GRAY 3 +#define HPDF_CS_CAL_RGB 4 +#define HPDF_CS_LAB 5 +#define HPDF_CS_ICC_BASED 6 +#define HPDF_CS_SEPARATION 7 +#define HPDF_CS_DEVICE_N 8 +#define HPDF_CS_INDEXED 9 +#define HPDF_CS_PATTERN 10 +#define HPDF_CS_EOF 11 + +// HPDF_LineCap +#define HPDF_BUTT_END 0 +#define HPDF_ROUND_END 1 +#define HPDF_PROJECTING_SCUARE_END 2 +#define HPDF_LINECAP_EOF 3 + +// HPDF_LineJoin +#define HPDF_MITER_JOIN 0 +#define HPDF_ROUND_JOIN 1 +#define HPDF_BEVEL_JOIN 2 +#define HPDF_LINEJOIN_EOF 3 + +// HPDF_TextRenderingMode +#define HPDF_FILL 0 +#define HPDF_STROKE 1 +#define HPDF_FILL_THEN_STROKE 2 +#define HPDF_INVISIBLE 3 +#define HPDF_FILL_CLIPPING 4 +#define HPDF_STROKE_CLIPPING 5 +#define HPDF_FILL_STROKE_CLIPPING 6 +#define HPDF_CLIPPING 7 +#define HPDF_RENDERING_MODE_EOF 8 + +// HPDF_WritingMode +#define HPDF_WMODE_HORIZONTAL 0 +#define HPDF_WMODE_VERTICAL 1 +#define HPDF_WMODE_EOF 2 + +// HPDF_PageLayout +#define HPDF_PAGE_LAYOUT_SINGLE 0 +#define HPDF_PAGE_LAYOUT_ONE_COLUMN 1 +#define HPDF_PAGE_LAYOUT_TWO_COLUMN_LEFT 2 +#define HPDF_PAGE_LAYOUT_TWO_COLUMN_RIGHT 3 +#define HPDF_PAGE_LAYOUT_EOF 4 + +// HPDF_PageMode +#define HPDF_PAGE_MODE_USE_NONE 0 +#define HPDF_PAGE_MODE_USE_OUTLINE 1 +#define HPDF_PAGE_MODE_USE_THUMBS 2 +#define HPDF_PAGE_MODE_FULL_SCREEN 3 +#define HPDF_PAGE_MODE_EOF 4 + +// HPDF_PageNumStyle +#define HPDF_PAGE_NUM_STYLE_DECIMAL 0 +#define HPDF_PAGE_NUM_STYLE_UPPER_ROMAN 1 +#define HPDF_PAGE_NUM_STYLE_LOWER_ROMAN 2 +#define HPDF_PAGE_NUM_STYLE_UPPER_LETTERS 3 +#define HPDF_PAGE_NUM_STYLE_LOWER_LETTERS 4 +#define HPDF_PAGE_NUM_STYLE_EOF 5 + +// HPDF_DestinationType +#define HPDF_XYZ 0 +#define HPDF_FIT 1 +#define HPDF_FIT_H 2 +#define HPDF_FIT_V 3 +#define HPDF_FIT_R 4 +#define HPDF_FIT_B 5 +#define HPDF_FIT_BH 6 +#define HPDF_FIT_BV 7 +#define HPDF_DST_EOF 8 + +// HPDF_AnnotType +#define HPDF_ANNOT_TEXT_NOTES 0 +#define HPDF_ANNOT_LINK 1 +#define HPDF_ANNOT_SOUND 2 +#define HPDF_ANNOT_FREE_TEXT 3 +#define HPDF_ANNOT_STAMP 4 +#define HPDF_ANNOT_SQUARE 5 +#define HPDF_ANNOT_CIRCLE 6 +#define HPDF_ANNOT_STRIKE_OUT 7 +#define HPDF_ANNOT_HIGHTLIGHT 8 +#define HPDF_ANNOT_UNDERLINE 9 +#define HPDF_ANNOT_INK 10 +#define HPDF_ANNOT_FILE_ATTACHMENT 11 +#define HPDF_ANNOT_POPUP 12 + +// HPDF_AnnotFlgs +#define HPDF_ANNOT_INVISIBLE 0 +#define HPDF_ANNOT_HIDDEN 1 +#define HPDF_ANNOT_PRINT 2 +#define HPDF_ANNOT_NOZOOM 3 +#define HPDF_ANNOT_NOROTATE 4 +#define HPDF_ANNOT_NOVIEW 5 +#define HPDF_ANNOT_READONLY 6 + +// HPDF_AnnotHighlightMode +#define HPDF_ANNOT_NO_HIGHTLIGHT 0 +#define HPDF_ANNOT_INVERT_BOX 1 +#define HPDF_ANNOT_INVERT_BORDER 2 +#define HPDF_ANNOT_DOWN_APPEARANCE 3 +#define HPDF_ANNOT_HIGHTLIGHT_MODE_EOF 4 + +// HPDF_AnnotIcon +#define HPDF_ANNOT_ICON_COMMENT 0 +#define HPDF_ANNOT_ICON_KEY 1 +#define HPDF_ANNOT_ICON_NOTE 2 +#define HPDF_ANNOT_ICON_HELP 3 +#define HPDF_ANNOT_ICON_NEW_PARAGRAPH 4 +#define HPDF_ANNOT_ICON_PARAGRAPH 5 +#define HPDF_ANNOT_ICON_INSERT 6 +#define HPDF_ANNOT_ICON_EOF 7 + + +// HPDF_BSSubtype +#define HPDF_BS_SOLID 0 +#define HPDF_BS_DASHED 1 +#define HPDF_BS_BEVELED 2 +#define HPDF_BS_INSET 3 +#define HPDF_BS_UNDERLINED 4 + + +// HPDF_BlendMode +#define HPDF_BM_NORMAL 0 +#define HPDF_BM_MULTIPLY 1 +#define HPDF_BM_SCREEN 2 +#define HPDF_BM_OVERLAY 3 +#define HPDF_BM_DARKEN 4 +#define HPDF_BM_LIGHTEN 5 +#define HPDF_BM_COLOR_DODGE 6 +#define HPDF_BM_COLOR_BUM 7 +#define HPDF_BM_HARD_LIGHT 8 +#define HPDF_BM_SOFT_LIGHT 9 +#define HPDF_BM_DIFFERENCE 10 +#define HPDF_BM_EXCLUSHON 11 +#define HPDF_BM_EOF 12 + +// HPDF_TransitionStyle +#define HPDF_TS_WIPE_RIGHT 0 +#define HPDF_TS_WIPE_UP 1 +#define HPDF_TS_WIPE_LEFT 2 +#define HPDF_TS_WIPE_DOWN 3 +#define HPDF_TS_BARN_DOORS_HORIZONTAL_OUT 4 +#define HPDF_TS_BARN_DOORS_HORIZONTAL_IN 5 +#define HPDF_TS_BARN_DOORS_VERTICAL_OUT 6 +#define HPDF_TS_BARN_DOORS_VERTICAL_IN 7 +#define HPDF_TS_BOX_OUT 8 +#define HPDF_TS_BOX_IN 9 +#define HPDF_TS_BLINDS_HORIZONTAL 10 +#define HPDF_TS_BLINDS_VERTICAL 11 +#define HPDF_TS_DISSOLVE 12 +#define HPDF_TS_GLITTER_RIGHT 13 +#define HPDF_TS_GLITTER_DOWN 14 +#define HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT 15 +#define HPDF_TS_REPLACE 16 +#define HPDF_TS_EOF 17 + +// HPDF_PageSizes +#define HPDF_PAGE_SIZE_LETTER 0 +#define HPDF_PAGE_SIZE_LEGAL 1 +#define HPDF_PAGE_SIZE_A3 2 +#define HPDF_PAGE_SIZE_A4 3 +#define HPDF_PAGE_SIZE_A5 4 +#define HPDF_PAGE_SIZE_B4 5 +#define HPDF_PAGE_SIZE_B5 6 +#define HPDF_PAGE_SIZE_EXECUTIVE 7 +#define HPDF_PAGE_SIZE_US4x6 8 +#define HPDF_PAGE_SIZE_US4x8 9 +#define HPDF_PAGE_SIZE_US5x7 10 +#define HPDF_PAGE_SIZE_COMM10 11 +#define HPDF_PAGE_SIZE_EOF 12 + + +// HPDF_PageDirection +#define HPDF_PAGE_PORTRAIT 0 +#define HPDF_PAGE_LANDSCAPE 1 + + +//typedef enum _HPDF_EncoderType +#define HPDF_ENCODER_TYPE_SINGLE_BYTE 0 +#define HPDF_ENCODER_TYPE_DOUBLE_BYTE 1 +#define HPDF_ENCODER_TYPE_UNINITIALIZED 2 +#define HPDF_ENCODER_UNKNOWN 3 + + +// HPDF_ByteType +#define HPDF_BYTE_TYPE_SINGLE 0 +#define HPDF_BYTE_TYPE_LEAD 1 +#define HPDF_BYTE_TYPE_TRIAL 2 +#define HPDF_BYTE_TYPE_UNKNOWN 3 + + +// HPDF_TextAlignment +#define HPDF_TALIGN_LEFT 0 +#define HPDF_TALIGN_RIGHT 1 +#define HPDF_TALIGN_CENTER 2 +#define HPDF_TALIGN_JUSTIFY 3 + +//----------------------------------------------------------------------// + +#define HPDF_TRUE 1 +#define HPDF_FALSE 0 + +#define HPDF_OK 0 +#define HPDF_NOERROR 0 + +/* 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_INT_LEN 11 +#define HPDF_TEXT_DEFAULT_LEN 256 +#define HPDF_UNICODE_HEADER_LEN 2 +#define HPDF_DATE_TIME_STR_LEN 23 + +/* length of each item defined in PDF */ +#define HPDF_BYTE_OFFSET_LEN 10 +#define HPDF_OBJ_ID_LEN 7 +#define HPDF_GEN_NO_LEN 5 + +/* default value of Graphic State */ +#define HPDF_DEF_FONT "Helvetica" +#define HPDF_DEF_PAGE_LAYOUT HPDF_PAGE_LAYOUT_SINGLE +#define HPDF_DEF_PAGE_MODE HPDF_PAGE_MODE_USE_NONE +#define HPDF_DEF_WORDSPACE 0 +#define HPDF_DEF_CHARSPACE 0 +#define HPDF_DEF_FONTSIZE 10 +#define HPDF_DEF_HSCALING 100 +#define HPDF_DEF_LEADING 0 +#define HPDF_DEF_RENDERING_MODE HPDF_FILL +#define HPDF_DEF_RISE 0 +#define HPDF_DEF_RAISE HPDF_DEF_RISE +#define HPDF_DEF_LINEWIDTH 1 +#define HPDF_DEF_LINECAP HPDF_BUTT_END +#define HPDF_DEF_LINEJOIN HPDF_MITER_JOIN +#define HPDF_DEF_MITERLIMIT 10 +#define HPDF_DEF_FLATNESS 1 +#define HPDF_DEF_PAGE_NUM 1 + +#define HPDF_BS_DEF_WIDTH 1 + +/* defalt page-size */ +#define HPDF_DEF_PAGE_WIDTH 595.276F +#define HPDF_DEF_PAGE_HEIGHT 841.89F + +#define HPDF_VERSION_TEXT "2.0.8" + +/*---------------------------------------------------------------------------*/ +/*----- compression mode ----------------------------------------------------*/ + +#define HPDF_COMP_NONE 0x00 +#define HPDF_COMP_TEXT 0x01 +#define HPDF_COMP_IMAGE 0x02 +#define HPDF_COMP_METADATA 0x04 +#define HPDF_COMP_ALL 0x0F +/* #define HPDF_COMP_BEST_COMPRESS 0x10 + * #define HPDF_COMP_BEST_SPEED 0x20 + */ +#define HPDF_COMP_MASK 0xFF + + +/*----------------------------------------------------------------------------*/ +/*----- permission flags (only Revision 2 is supported)-----------------------*/ + +#define HPDF_ENABLE_READ 0 +#define HPDF_ENABLE_PRINT 4 +#define HPDF_ENABLE_EDIT_ALL 8 +#define HPDF_ENABLE_COPY 16 +#define HPDF_ENABLE_EDIT 32 + + +/*----------------------------------------------------------------------------*/ +/*------ viewer preferences definitions --------------------------------------*/ + +#define HPDF_HIDE_TOOLBAR 1 +#define HPDF_HIDE_MENUBAR 2 +#define HPDF_HIDE_WINDOW_UI 4 +#define HPDF_FIT_WINDOW 8 +#define HPDF_CENTER_WINDOW 16 + + +/*---------------------------------------------------------------------------*/ +/*------ limitation of object implementation (PDF1.4) -----------------------*/ + +#define HPDF_LIMIT_MAX_INT 2147483647 +#define HPDF_LIMIT_MIN_INT -2147483647 + +#define HPDF_LIMIT_MAX_REAL 32767 +#define HPDF_LIMIT_MIN_REAL -32767 + +#define HPDF_LIMIT_MAX_STRING_LEN 65535 +#define HPDF_LIMIT_MAX_NAME_LEN 127 + +#define HPDF_LIMIT_MAX_ARRAY 8191 +#define HPDF_LIMIT_MAX_DICT_ELEMENT 4095 +#define HPDF_LIMIT_MAX_XREF_ELEMENT 8388607 +#define HPDF_LIMIT_MAX_GSTATE 28 +#define HPDF_LIMIT_MAX_DEVICE_N 8 +#define HPDF_LIMIT_MAX_DEVICE_N_V15 32 +#define HPDF_LIMIT_MAX_CID 65535 +#define HPDF_MAX_GENERATION_NUM 65535 + +#define HPDF_MIN_PAGE_HEIGHT 3 +#define HPDF_MIN_PAGE_WIDTH 3 +#define HPDF_MAX_PAGE_HEIGHT 14400 +#define HPDF_MAX_PAGE_WIDTH 14400 +#define HPDF_MIN_MAGNIFICATION_FACTOR 8 +#define HPDF_MAX_MAGNIFICATION_FACTOR 3200 + +/*---------------------------------------------------------------------------*/ +/*------ limitation of various properties -----------------------------------*/ + +#define HPDF_MIN_PAGE_SIZE 3 +#define HPDF_MAX_PAGE_SIZE 14400 +#define HPDF_MIN_HORIZONTALSCALING 10 +#define HPDF_MAX_HORIZONTALSCALING 300 +#define HPDF_MIN_WORDSPACE -30 +#define HPDF_MAX_WORDSPACE 300 +#define HPDF_MIN_CHARSPACE -30 +#define HPDF_MAX_CHARSPACE 300 +#define HPDF_MAX_FONTSIZE 300 +#define HPDF_MAX_ZOOMSIZE 10 +#define HPDF_MAX_LEADING 300 +#define HPDF_MAX_LINEWIDTH 100 +#define HPDF_MAX_DASH_PATTERN 100 + +#define HPDF_MAX_JWW_NUM 128 + +/*----------------------------------------------------------------------------*/ +/*----- country code definition ----------------------------------------------*/ + +#define HPDF_COUNTRY_AF "AF" /* AFGHANISTAN */ +#define HPDF_COUNTRY_AL "AL" /* ALBANIA */ +#define HPDF_COUNTRY_DZ "DZ" /* ALGERIA */ +#define HPDF_COUNTRY_AS "AS" /* AMERICAN SAMOA */ +#define HPDF_COUNTRY_AD "AD" /* ANDORRA */ +#define HPDF_COUNTRY_AO "AO" /* ANGOLA */ +#define HPDF_COUNTRY_AI "AI" /* ANGUILLA */ +#define HPDF_COUNTRY_AQ "AQ" /* ANTARCTICA */ +#define HPDF_COUNTRY_AG "AG" /* ANTIGUA AND BARBUDA */ +#define HPDF_COUNTRY_AR "AR" /* ARGENTINA */ +#define HPDF_COUNTRY_AM "AM" /* ARMENIA */ +#define HPDF_COUNTRY_AW "AW" /* ARUBA */ +#define HPDF_COUNTRY_AU "AU" /* AUSTRALIA */ +#define HPDF_COUNTRY_AT "AT" /* AUSTRIA */ +#define HPDF_COUNTRY_AZ "AZ" /* AZERBAIJAN */ +#define HPDF_COUNTRY_BS "BS" /* BAHAMAS */ +#define HPDF_COUNTRY_BH "BH" /* BAHRAIN */ +#define HPDF_COUNTRY_BD "BD" /* BANGLADESH */ +#define HPDF_COUNTRY_BB "BB" /* BARBADOS */ +#define HPDF_COUNTRY_BY "BY" /* BELARUS */ +#define HPDF_COUNTRY_BE "BE" /* BELGIUM */ +#define HPDF_COUNTRY_BZ "BZ" /* BELIZE */ +#define HPDF_COUNTRY_BJ "BJ" /* BENIN */ +#define HPDF_COUNTRY_BM "BM" /* BERMUDA */ +#define HPDF_COUNTRY_BT "BT" /* BHUTAN */ +#define HPDF_COUNTRY_BO "BO" /* BOLIVIA */ +#define HPDF_COUNTRY_BA "BA" /* BOSNIA AND HERZEGOWINA */ +#define HPDF_COUNTRY_BW "BW" /* BOTSWANA */ +#define HPDF_COUNTRY_BV "BV" /* BOUVET ISLAND */ +#define HPDF_COUNTRY_BR "BR" /* BRAZIL */ +#define HPDF_COUNTRY_IO "IO" /* BRITISH INDIAN OCEAN TERRITORY */ +#define HPDF_COUNTRY_BN "BN" /* BRUNEI DARUSSALAM */ +#define HPDF_COUNTRY_BG "BG" /* BULGARIA */ +#define HPDF_COUNTRY_BF "BF" /* BURKINA FASO */ +#define HPDF_COUNTRY_BI "BI" /* BURUNDI */ +#define HPDF_COUNTRY_KH "KH" /* CAMBODIA */ +#define HPDF_COUNTRY_CM "CM" /* CAMEROON */ +#define HPDF_COUNTRY_CA "CA" /* CANADA */ +#define HPDF_COUNTRY_CV "CV" /* CAPE VERDE */ +#define HPDF_COUNTRY_KY "KY" /* CAYMAN ISLANDS */ +#define HPDF_COUNTRY_CF "CF" /* CENTRAL AFRICAN REPUBLIC */ +#define HPDF_COUNTRY_TD "TD" /* CHAD */ +#define HPDF_COUNTRY_CL "CL" /* CHILE */ +#define HPDF_COUNTRY_CN "CN" /* CHINA */ +#define HPDF_COUNTRY_CX "CX" /* CHRISTMAS ISLAND */ +#define HPDF_COUNTRY_CC "CC" /* COCOS (KEELING) ISLANDS */ +#define HPDF_COUNTRY_CO "CO" /* COLOMBIA */ +#define HPDF_COUNTRY_KM "KM" /* COMOROS */ +#define HPDF_COUNTRY_CG "CG" /* CONGO */ +#define HPDF_COUNTRY_CK "CK" /* COOK ISLANDS */ +#define HPDF_COUNTRY_CR "CR" /* COSTA RICA */ +#define HPDF_COUNTRY_CI "CI" /* COTE D'IVOIRE */ +#define HPDF_COUNTRY_HR "HR" /* CROATIA (local name: Hrvatska) */ +#define HPDF_COUNTRY_CU "CU" /* CUBA */ +#define HPDF_COUNTRY_CY "CY" /* CYPRUS */ +#define HPDF_COUNTRY_CZ "CZ" /* CZECH REPUBLIC */ +#define HPDF_COUNTRY_DK "DK" /* DENMARK */ +#define HPDF_COUNTRY_DJ "DJ" /* DJIBOUTI */ +#define HPDF_COUNTRY_DM "DM" /* DOMINICA */ +#define HPDF_COUNTRY_DO "DO" /* DOMINICAN REPUBLIC */ +#define HPDF_COUNTRY_TP "TP" /* EAST TIMOR */ +#define HPDF_COUNTRY_EC "EC" /* ECUADOR */ +#define HPDF_COUNTRY_EG "EG" /* EGYPT */ +#define HPDF_COUNTRY_SV "SV" /* EL SALVADOR */ +#define HPDF_COUNTRY_GQ "GQ" /* EQUATORIAL GUINEA */ +#define HPDF_COUNTRY_ER "ER" /* ERITREA */ +#define HPDF_COUNTRY_EE "EE" /* ESTONIA */ +#define HPDF_COUNTRY_ET "ET" /* ETHIOPIA */ +#define HPDF_COUNTRY_FK "FK" /* FALKLAND ISLANDS (MALVINAS) */ +#define HPDF_COUNTRY_FO "FO" /* FAROE ISLANDS */ +#define HPDF_COUNTRY_FJ "FJ" /* FIJI */ +#define HPDF_COUNTRY_FI "FI" /* FINLAND */ +#define HPDF_COUNTRY_FR "FR" /* FRANCE */ +#define HPDF_COUNTRY_FX "FX" /* FRANCE, METROPOLITAN */ +#define HPDF_COUNTRY_GF "GF" /* FRENCH GUIANA */ +#define HPDF_COUNTRY_PF "PF" /* FRENCH POLYNESIA */ +#define HPDF_COUNTRY_TF "TF" /* FRENCH SOUTHERN TERRITORIES */ +#define HPDF_COUNTRY_GA "GA" /* GABON */ +#define HPDF_COUNTRY_GM "GM" /* GAMBIA */ +#define HPDF_COUNTRY_GE "GE" /* GEORGIA */ +#define HPDF_COUNTRY_DE "DE" /* GERMANY */ +#define HPDF_COUNTRY_GH "GH" /* GHANA */ +#define HPDF_COUNTRY_GI "GI" /* GIBRALTAR */ +#define HPDF_COUNTRY_GR "GR" /* GREECE */ +#define HPDF_COUNTRY_GL "GL" /* GREENLAND */ +#define HPDF_COUNTRY_GD "GD" /* GRENADA */ +#define HPDF_COUNTRY_GP "GP" /* GUADELOUPE */ +#define HPDF_COUNTRY_GU "GU" /* GUAM */ +#define HPDF_COUNTRY_GT "GT" /* GUATEMALA */ +#define HPDF_COUNTRY_GN "GN" /* GUINEA */ +#define HPDF_COUNTRY_GW "GW" /* GUINEA-BISSAU */ +#define HPDF_COUNTRY_GY "GY" /* GUYANA */ +#define HPDF_COUNTRY_HT "HT" /* HAITI */ +#define HPDF_COUNTRY_HM "HM" /* HEARD AND MC DONALD ISLANDS */ +#define HPDF_COUNTRY_HN "HN" /* HONDURAS */ +#define HPDF_COUNTRY_HK "HK" /* HONG KONG */ +#define HPDF_COUNTRY_HU "HU" /* HUNGARY */ +#define HPDF_COUNTRY_IS "IS" /* ICELAND */ +#define HPDF_COUNTRY_IN "IN" /* INDIA */ +#define HPDF_COUNTRY_ID "ID" /* INDONESIA */ +#define HPDF_COUNTRY_IR "IR" /* IRAN (ISLAMIC REPUBLIC OF) */ +#define HPDF_COUNTRY_IQ "IQ" /* IRAQ */ +#define HPDF_COUNTRY_IE "IE" /* IRELAND */ +#define HPDF_COUNTRY_IL "IL" /* ISRAEL */ +#define HPDF_COUNTRY_IT "IT" /* ITALY */ +#define HPDF_COUNTRY_JM "JM" /* JAMAICA */ +#define HPDF_COUNTRY_JP "JP" /* JAPAN */ +#define HPDF_COUNTRY_JO "JO" /* JORDAN */ +#define HPDF_COUNTRY_KZ "KZ" /* KAZAKHSTAN */ +#define HPDF_COUNTRY_KE "KE" /* KENYA */ +#define HPDF_COUNTRY_KI "KI" /* KIRIBATI */ +#define HPDF_COUNTRY_KP "KP" /* KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF */ +#define HPDF_COUNTRY_KR "KR" /* KOREA, REPUBLIC OF */ +#define HPDF_COUNTRY_KW "KW" /* KUWAIT */ +#define HPDF_COUNTRY_KG "KG" /* KYRGYZSTAN */ +#define HPDF_COUNTRY_LA "LA" /* LAO PEOPLE'S DEMOCRATIC REPUBLIC */ +#define HPDF_COUNTRY_LV "LV" /* LATVIA */ +#define HPDF_COUNTRY_LB "LB" /* LEBANON */ +#define HPDF_COUNTRY_LS "LS" /* LESOTHO */ +#define HPDF_COUNTRY_LR "LR" /* LIBERIA */ +#define HPDF_COUNTRY_LY "LY" /* LIBYAN ARAB JAMAHIRIYA */ +#define HPDF_COUNTRY_LI "LI" /* LIECHTENSTEIN */ +#define HPDF_COUNTRY_LT "LT" /* LITHUANIA */ +#define HPDF_COUNTRY_LU "LU" /* LUXEMBOURG */ +#define HPDF_COUNTRY_MO "MO" /* MACAU */ +#define HPDF_COUNTRY_MK "MK" /* MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF */ +#define HPDF_COUNTRY_MG "MG" /* MADAGASCAR */ +#define HPDF_COUNTRY_MW "MW" /* MALAWI */ +#define HPDF_COUNTRY_MY "MY" /* MALAYSIA */ +#define HPDF_COUNTRY_MV "MV" /* MALDIVES */ +#define HPDF_COUNTRY_ML "ML" /* MALI */ +#define HPDF_COUNTRY_MT "MT" /* MALTA */ +#define HPDF_COUNTRY_MH "MH" /* MARSHALL ISLANDS */ +#define HPDF_COUNTRY_MQ "MQ" /* MARTINIQUE */ +#define HPDF_COUNTRY_MR "MR" /* MAURITANIA */ +#define HPDF_COUNTRY_MU "MU" /* MAURITIUS */ +#define HPDF_COUNTRY_YT "YT" /* MAYOTTE */ +#define HPDF_COUNTRY_MX "MX" /* MEXICO */ +#define HPDF_COUNTRY_FM "FM" /* MICRONESIA, FEDERATED STATES OF */ +#define HPDF_COUNTRY_MD "MD" /* MOLDOVA, REPUBLIC OF */ +#define HPDF_COUNTRY_MC "MC" /* MONACO */ +#define HPDF_COUNTRY_MN "MN" /* MONGOLIA */ +#define HPDF_COUNTRY_MS "MS" /* MONTSERRAT */ +#define HPDF_COUNTRY_MA "MA" /* MOROCCO */ +#define HPDF_COUNTRY_MZ "MZ" /* MOZAMBIQUE */ +#define HPDF_COUNTRY_MM "MM" /* MYANMAR */ +#define HPDF_COUNTRY_NA "NA" /* NAMIBIA */ +#define HPDF_COUNTRY_NR "NR" /* NAURU */ +#define HPDF_COUNTRY_NP "NP" /* NEPAL */ +#define HPDF_COUNTRY_NL "NL" /* NETHERLANDS */ +#define HPDF_COUNTRY_AN "AN" /* NETHERLANDS ANTILLES */ +#define HPDF_COUNTRY_NC "NC" /* NEW CALEDONIA */ +#define HPDF_COUNTRY_NZ "NZ" /* NEW ZEALAND */ +#define HPDF_COUNTRY_NI "NI" /* NICARAGUA */ +#define HPDF_COUNTRY_NE "NE" /* NIGER */ +#define HPDF_COUNTRY_NG "NG" /* NIGERIA */ +#define HPDF_COUNTRY_NU "NU" /* NIUE */ +#define HPDF_COUNTRY_NF "NF" /* NORFOLK ISLAND */ +#define HPDF_COUNTRY_MP "MP" /* NORTHERN MARIANA ISLANDS */ +#define HPDF_COUNTRY_NO "NO" /* NORWAY */ +#define HPDF_COUNTRY_OM "OM" /* OMAN */ +#define HPDF_COUNTRY_PK "PK" /* PAKISTAN */ +#define HPDF_COUNTRY_PW "PW" /* PALAU */ +#define HPDF_COUNTRY_PA "PA" /* PANAMA */ +#define HPDF_COUNTRY_PG "PG" /* PAPUA NEW GUINEA */ +#define HPDF_COUNTRY_PY "PY" /* PARAGUAY */ +#define HPDF_COUNTRY_PE "PE" /* PERU */ +#define HPDF_COUNTRY_PH "PH" /* PHILIPPINES */ +#define HPDF_COUNTRY_PN "PN" /* PITCAIRN */ +#define HPDF_COUNTRY_PL "PL" /* POLAND */ +#define HPDF_COUNTRY_PT "PT" /* PORTUGAL */ +#define HPDF_COUNTRY_PR "PR" /* PUERTO RICO */ +#define HPDF_COUNTRY_QA "QA" /* QATAR */ +#define HPDF_COUNTRY_RE "RE" /* REUNION */ +#define HPDF_COUNTRY_RO "RO" /* ROMANIA */ +#define HPDF_COUNTRY_RU "RU" /* RUSSIAN FEDERATION */ +#define HPDF_COUNTRY_RW "RW" /* RWANDA */ +#define HPDF_COUNTRY_KN "KN" /* SAINT KITTS AND NEVIS */ +#define HPDF_COUNTRY_LC "LC" /* SAINT LUCIA */ +#define HPDF_COUNTRY_VC "VC" /* SAINT VINCENT AND THE GRENADINES */ +#define HPDF_COUNTRY_WS "WS" /* SAMOA */ +#define HPDF_COUNTRY_SM "SM" /* SAN MARINO */ +#define HPDF_COUNTRY_ST "ST" /* SAO TOME AND PRINCIPE */ +#define HPDF_COUNTRY_SA "SA" /* SAUDI ARABIA */ +#define HPDF_COUNTRY_SN "SN" /* SENEGAL */ +#define HPDF_COUNTRY_SC "SC" /* SEYCHELLES */ +#define HPDF_COUNTRY_SL "SL" /* SIERRA LEONE */ +#define HPDF_COUNTRY_SG "SG" /* SINGAPORE */ +#define HPDF_COUNTRY_SK "SK" /* SLOVAKIA (Slovak Republic) */ +#define HPDF_COUNTRY_SI "SI" /* SLOVENIA */ +#define HPDF_COUNTRY_SB "SB" /* SOLOMON ISLANDS */ +#define HPDF_COUNTRY_SO "SO" /* SOMALIA */ +#define HPDF_COUNTRY_ZA "ZA" /* SOUTH AFRICA */ +#define HPDF_COUNTRY_ES "ES" /* SPAIN */ +#define HPDF_COUNTRY_LK "LK" /* SRI LANKA */ +#define HPDF_COUNTRY_SH "SH" /* ST. HELENA */ +#define HPDF_COUNTRY_PM "PM" /* ST. PIERRE AND MIQUELON */ +#define HPDF_COUNTRY_SD "SD" /* SUDAN */ +#define HPDF_COUNTRY_SR "SR" /* SURINAME */ +#define HPDF_COUNTRY_SJ "SJ" /* SVALBARD AND JAN MAYEN ISLANDS */ +#define HPDF_COUNTRY_SZ "SZ" /* SWAZILAND */ +#define HPDF_COUNTRY_SE "SE" /* SWEDEN */ +#define HPDF_COUNTRY_CH "CH" /* SWITZERLAND */ +#define HPDF_COUNTRY_SY "SY" /* SYRIAN ARAB REPUBLIC */ +#define HPDF_COUNTRY_TW "TW" /* TAIWAN, PROVINCE OF CHINA */ +#define HPDF_COUNTRY_TJ "TJ" /* TAJIKISTAN */ +#define HPDF_COUNTRY_TZ "TZ" /* TANZANIA, UNITED REPUBLIC OF */ +#define HPDF_COUNTRY_TH "TH" /* THAILAND */ +#define HPDF_COUNTRY_TG "TG" /* TOGO */ +#define HPDF_COUNTRY_TK "TK" /* TOKELAU */ +#define HPDF_COUNTRY_TO "TO" /* TONGA */ +#define HPDF_COUNTRY_TT "TT" /* TRINIDAD AND TOBAGO */ +#define HPDF_COUNTRY_TN "TN" /* TUNISIA */ +#define HPDF_COUNTRY_TR "TR" /* TURKEY */ +#define HPDF_COUNTRY_TM "TM" /* TURKMENISTAN */ +#define HPDF_COUNTRY_TC "TC" /* TURKS AND CAICOS ISLANDS */ +#define HPDF_COUNTRY_TV "TV" /* TUVALU */ +#define HPDF_COUNTRY_UG "UG" /* UGANDA */ +#define HPDF_COUNTRY_UA "UA" /* UKRAINE */ +#define HPDF_COUNTRY_AE "AE" /* UNITED ARAB EMIRATES */ +#define HPDF_COUNTRY_GB "GB" /* UNITED KINGDOM */ +#define HPDF_COUNTRY_US "US" /* UNITED STATES */ +#define HPDF_COUNTRY_UM "UM" /* UNITED STATES MINOR OUTLYING ISLANDS */ +#define HPDF_COUNTRY_UY "UY" /* URUGUAY */ +#define HPDF_COUNTRY_UZ "UZ" /* UZBEKISTAN */ +#define HPDF_COUNTRY_VU "VU" /* VANUATU */ +#define HPDF_COUNTRY_VA "VA" /* VATICAN CITY STATE (HOLY SEE) */ +#define HPDF_COUNTRY_VE "VE" /* VENEZUELA */ +#define HPDF_COUNTRY_VN "VN" /* VIET NAM */ +#define HPDF_COUNTRY_VG "VG" /* VIRGIN ISLANDS (BRITISH) */ +#define HPDF_COUNTRY_VI "VI" /* VIRGIN ISLANDS (U.S.) */ +#define HPDF_COUNTRY_WF "WF" /* WALLIS AND FUTUNA ISLANDS */ +#define HPDF_COUNTRY_EH "EH" /* WESTERN SAHARA */ +#define HPDF_COUNTRY_YE "YE" /* YEMEN */ +#define HPDF_COUNTRY_YU "YU" /* YUGOSLAVIA */ +#define HPDF_COUNTRY_ZR "ZR" /* ZAIRE */ +#define HPDF_COUNTRY_ZM "ZM" /* ZAMBIA */ +#define HPDF_COUNTRY_ZW "ZW" /* ZIMBABWE */ + +/*----------------------------------------------------------------------------*/ +/*----- lang code definition -------------------------------------------------*/ + +#define HPDF_LANG_AA "aa" /* Afar */ +#define HPDF_LANG_AB "ab" /* Abkhazian */ +#define HPDF_LANG_AF "af" /* Afrikaans */ +#define HPDF_LANG_AM "am" /* Amharic */ +#define HPDF_LANG_AR "ar" /* Arabic */ +#define HPDF_LANG_AS "as" /* Assamese */ +#define HPDF_LANG_AY "ay" /* Aymara */ +#define HPDF_LANG_AZ "az" /* Azerbaijani */ +#define HPDF_LANG_BA "ba" /* Bashkir */ +#define HPDF_LANG_BE "be" /* Byelorussian */ +#define HPDF_LANG_BG "bg" /* Bulgarian */ +#define HPDF_LANG_BH "bh" /* Bihari */ +#define HPDF_LANG_BI "bi" /* Bislama */ +#define HPDF_LANG_BN "bn" /* Bengali Bangla */ +#define HPDF_LANG_BO "bo" /* Tibetan */ +#define HPDF_LANG_BR "br" /* Breton */ +#define HPDF_LANG_CA "ca" /* Catalan */ +#define HPDF_LANG_CO "co" /* Corsican */ +#define HPDF_LANG_CS "cs" /* Czech */ +#define HPDF_LANG_CY "cy" /* Welsh */ +#define HPDF_LANG_DA "da" /* Danish */ +#define HPDF_LANG_DE "de" /* German */ +#define HPDF_LANG_DZ "dz" /* Bhutani */ +#define HPDF_LANG_EL "el" /* Greek */ +#define HPDF_LANG_EN "en" /* English */ +#define HPDF_LANG_EO "eo" /* Esperanto */ +#define HPDF_LANG_ES "es" /* Spanish */ +#define HPDF_LANG_ET "et" /* Estonian */ +#define HPDF_LANG_EU "eu" /* Basque */ +#define HPDF_LANG_FA "fa" /* Persian */ +#define HPDF_LANG_FI "fi" /* Finnish */ +#define HPDF_LANG_FJ "fj" /* Fiji */ +#define HPDF_LANG_FO "fo" /* Faeroese */ +#define HPDF_LANG_FR "fr" /* French */ +#define HPDF_LANG_FY "fy" /* Frisian */ +#define HPDF_LANG_GA "ga" /* Irish */ +#define HPDF_LANG_GD "gd" /* Scots Gaelic */ +#define HPDF_LANG_GL "gl" /* Galician */ +#define HPDF_LANG_GN "gn" /* Guarani */ +#define HPDF_LANG_GU "gu" /* Gujarati */ +#define HPDF_LANG_HA "ha" /* Hausa */ +#define HPDF_LANG_HI "hi" /* Hindi */ +#define HPDF_LANG_HR "hr" /* Croatian */ +#define HPDF_LANG_HU "hu" /* Hungarian */ +#define HPDF_LANG_HY "hy" /* Armenian */ +#define HPDF_LANG_IA "ia" /* Interlingua */ +#define HPDF_LANG_IE "ie" /* Interlingue */ +#define HPDF_LANG_IK "ik" /* Inupiak */ +#define HPDF_LANG_IN "in" /* Indonesian */ +#define HPDF_LANG_IS "is" /* Icelandic */ +#define HPDF_LANG_IT "it" /* Italian */ +#define HPDF_LANG_IW "iw" /* Hebrew */ +#define HPDF_LANG_JA "ja" /* Japanese */ +#define HPDF_LANG_JI "ji" /* Yiddish */ +#define HPDF_LANG_JW "jw" /* Javanese */ +#define HPDF_LANG_KA "ka" /* Georgian */ +#define HPDF_LANG_KK "kk" /* Kazakh */ +#define HPDF_LANG_KL "kl" /* Greenlandic */ +#define HPDF_LANG_KM "km" /* Cambodian */ +#define HPDF_LANG_KN "kn" /* Kannada */ +#define HPDF_LANG_KO "ko" /* Korean */ +#define HPDF_LANG_KS "ks" /* Kashmiri */ +#define HPDF_LANG_KU "ku" /* Kurdish */ +#define HPDF_LANG_KY "ky" /* Kirghiz */ +#define HPDF_LANG_LA "la" /* Latin */ +#define HPDF_LANG_LN "ln" /* Lingala */ +#define HPDF_LANG_LO "lo" /* Laothian */ +#define HPDF_LANG_LT "lt" /* Lithuanian */ +#define HPDF_LANG_LV "lv" /* Latvian,Lettish */ +#define HPDF_LANG_MG "mg" /* Malagasy */ +#define HPDF_LANG_MI "mi" /* Maori */ +#define HPDF_LANG_MK "mk" /* Macedonian */ +#define HPDF_LANG_ML "ml" /* Malayalam */ +#define HPDF_LANG_MN "mn" /* Mongolian */ +#define HPDF_LANG_MO "mo" /* Moldavian */ +#define HPDF_LANG_MR "mr" /* Marathi */ +#define HPDF_LANG_MS "ms" /* Malay */ +#define HPDF_LANG_MT "mt" /* Maltese */ +#define HPDF_LANG_MY "my" /* Burmese */ +#define HPDF_LANG_NA "na" /* Nauru */ +#define HPDF_LANG_NE "ne" /* Nepali */ +#define HPDF_LANG_NL "nl" /* Dutch */ +#define HPDF_LANG_NO "no" /* Norwegian */ +#define HPDF_LANG_OC "oc" /* Occitan */ +#define HPDF_LANG_OM "om" /* (Afan)Oromo */ +#define HPDF_LANG_OR "or" /* Oriya */ +#define HPDF_LANG_PA "pa" /* Punjabi */ +#define HPDF_LANG_PL "pl" /* Polish */ +#define HPDF_LANG_PS "ps" /* Pashto,Pushto */ +#define HPDF_LANG_PT "pt" /* Portuguese */ +#define HPDF_LANG_QU "qu" /* Quechua */ +#define HPDF_LANG_RM "rm" /* Rhaeto-Romance */ +#define HPDF_LANG_RN "rn" /* Kirundi */ +#define HPDF_LANG_RO "ro" /* Romanian */ +#define HPDF_LANG_RU "ru" /* Russian */ +#define HPDF_LANG_RW "rw" /* Kinyarwanda */ +#define HPDF_LANG_SA "sa" /* Sanskrit */ +#define HPDF_LANG_SD "sd" /* Sindhi */ +#define HPDF_LANG_SG "sg" /* Sangro */ +#define HPDF_LANG_SH "sh" /* Serbo-Croatian */ +#define HPDF_LANG_SI "si" /* Singhalese */ +#define HPDF_LANG_SK "sk" /* Slovak */ +#define HPDF_LANG_SL "sl" /* Slovenian */ +#define HPDF_LANG_SM "sm" /* Samoan */ +#define HPDF_LANG_SN "sn" /* Shona */ +#define HPDF_LANG_SO "so" /* Somali */ +#define HPDF_LANG_SQ "sq" /* Albanian */ +#define HPDF_LANG_SR "sr" /* Serbian */ +#define HPDF_LANG_SS "ss" /* Siswati */ +#define HPDF_LANG_ST "st" /* Sesotho */ +#define HPDF_LANG_SU "su" /* Sundanese */ +#define HPDF_LANG_SV "sv" /* Swedish */ +#define HPDF_LANG_SW "sw" /* Swahili */ +#define HPDF_LANG_TA "ta" /* Tamil */ +#define HPDF_LANG_TE "te" /* Tegulu */ +#define HPDF_LANG_TG "tg" /* Tajik */ +#define HPDF_LANG_TH "th" /* Thai */ +#define HPDF_LANG_TI "ti" /* Tigrinya */ +#define HPDF_LANG_TK "tk" /* Turkmen */ +#define HPDF_LANG_TL "tl" /* Tagalog */ +#define HPDF_LANG_TN "tn" /* Setswanato Tonga */ +#define HPDF_LANG_TR "tr" /* Turkish */ +#define HPDF_LANG_TS "ts" /* Tsonga */ +#define HPDF_LANG_TT "tt" /* Tatar */ +#define HPDF_LANG_TW "tw" /* Twi */ +#define HPDF_LANG_UK "uk" /* Ukrainian */ +#define HPDF_LANG_UR "ur" /* Urdu */ +#define HPDF_LANG_UZ "uz" /* Uzbek */ +#define HPDF_LANG_VI "vi" /* Vietnamese */ +#define HPDF_LANG_VO "vo" /* Volapuk */ +#define HPDF_LANG_WO "wo" /* Wolof */ +#define HPDF_LANG_XH "xh" /* Xhosa */ +#define HPDF_LANG_YO "yo" /* Yoruba */ +#define HPDF_LANG_ZH "zh" /* Chinese */ +#define HPDF_LANG_ZU "zu" /* Zulu */ + + +/*----------------------------------------------------------------------------*/ +/*----- Graphis mode ---------------------------------------------------------*/ + +#define HPDF_GMODE_PAGE_DESCRIPTION 0x0001 +#define HPDF_GMODE_PATH_OBJECT 0x0002 +#define HPDF_GMODE_TEXT_OBJECT 0x0004 +#define HPDF_GMODE_CLIPPING_PATH 0x0008 +#define HPDF_GMODE_SHADING 0x0010 +#define HPDF_GMODE_INLINE_IMAGE 0x0020 +#define HPDF_GMODE_EXTERNAL_OBJECT 0x0040 + +//----------------------------------------------------------------------// diff --git a/harbour/contrib/hbhpdf/tests/harupdf.prg b/harbour/contrib/hbhpdf/tests/harupdf.prg new file mode 100644 index 0000000000..f36c156e0f --- /dev/null +++ b/harbour/contrib/hbhpdf/tests/harupdf.prg @@ -0,0 +1,1435 @@ +/* + * $Id$ + */ +/* + * Copyright 2008 Pritpal Bedi + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option ) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/ ). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +// +// HaruPdf.prg +// +// Pritpal Bedi +// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// +//----------------------------------------------------------------------// + +#include 'harupdf.ch' +#ifdef __oHARBOUR__ +#include 'xhb.ch' +#endif +//----------------------------------------------------------------------// + +Function Main( cFileToSave ) + + if empty( cFileToSave ) + cFileToSave := CurDrive()+'\myharu.pdf' + endif + + if DesignHaruPDF( cFileToSave ) + Alert( 'PDF File <'+cFileToSave+'> is Created!' ) + + else + Alert( 'Some problems in creating the PDF!' ) + + endif + + Return nil + +//----------------------------------------------------------------------// + +Function DesignHaruPDF( cFileToSave ) + Local i, page, height, width, def_font, tw, samp_text, font + Local page_title := 'Vouch' + Local font_list := { ; + "Courier", ; + "Courier-Bold", ; + "Courier-Oblique", ; + "Courier-BoldOblique", ; + "Helvetica", ; + "Helvetica-Bold", ; + "Helvetica-Oblique", ; + "Helvetica-BoldOblique", ; + "Times-Roman", ; + "Times-Bold", ; + "Times-Italic", ; + "Times-BoldItalic", ; + "Symbol", ; + "ZapfDingbats" ; + } + + Local pdf := HPDF_New() + + if pdf == NIL + alert( ' Pdf could not been created!' ) + return nil + endif + + /* set compression mode */ + HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL ) + + /* + // Passwords and Permissions + // + HPDF_SetPassword(pdf, 'owner','user' ) + HPDF_SetPermission(pdf, HPDF_ENABLE_READ) // cannot print + HPDF_SetEncryptionMode(pdf, HPDF_ENCRYPT_R3, 16) + */ + + page := HPDF_AddPage(pdf) + height := HPDF_Page_GetHeight(page) + width := HPDF_Page_GetWidth(page) + + /* Print the lines of the page. */ + HPDF_Page_SetLineWidth( page, 1 ) + HPDF_Page_Rectangle( page, 50, 50, width - 100, height - 110 ) + HPDF_Page_Stroke( page ) + + /* Print the title of the page(with positioning center). */ + def_font = HPDF_GetFont( pdf, "Helvetica", NIL ) + + HPDF_Page_SetFontAndSize( page, def_font, 24 ) + tw := HPDF_Page_TextWidth( page, page_title ) + HPDF_Page_BeginText( page ) + HPDF_Page_TextOut( page, (width - tw) / 2, height - 50, page_title ) + HPDF_Page_EndText( page ) + + /* output subtitle. */ + HPDF_Page_BeginText( page ) + HPDF_Page_SetFontAndSize( page, def_font, 16 ) + HPDF_Page_TextOut( page, 60, height - 80, "") + HPDF_Page_EndText( page ) + + HPDF_Page_BeginText( page ) + HPDF_Page_MoveTextPos( page, 60, height - 105 ) + + + for i := 1 to len( font_list ) + samp_text := "abcdefgABCDEFG12345!#$%&+-@?" + font := HPDF_GetFont( pdf, font_list[ i ], NIL ) + + + HPDF_Page_SetFontAndSize( page, def_font, 9 ) + HPDF_Page_ShowText( page, font_list[ i ] ) + HPDF_Page_MoveTextPos( page, 0, -18 ) + + + HPDF_Page_SetFontAndSize( page, font, 20 ) + HPDF_Page_ShowText( page, samp_text ) + HPDF_Page_MoveTextPos( page, 0, -20 ) + next + HPDF_Page_EndText( page ) + + Page_Lines( pdf ) + + Page_Text( pdf ) + + Page_TextScaling( pdf ) + + Page_Graphics( pdf ) + + Page_Annotation( pdf ) + + Page_Images( pdf ) + + // Commentout the following line if you need ASCII chart by Codepages + //Page_CodePages( pdf ) + + HPDF_SaveToFile( pdf, cFileToSave ) + + HPDF_Free( pdf ) + + Return file( cFileToSave ) +//----------------------------------------------------------------------// +Static Function Page_Lines( pdf ) + Local page_title := "Line Example" + Local font, page, fname + + Local DASH_MODE1 := {3} + Local DASH_MODE2 := {3, 7} + Local DASH_MODE3 := {8, 7, 2, 7} + + Local x, y, x1, y1, x2, y2, x3, y3, tw + + /* create default-font */ + font := HPDF_GetFont( pdf, "Helvetica", NIL ) + + /* add a new page object. */ + page := HPDF_AddPage(pdf) + + /* print the lines of the page. */ + HPDF_Page_SetLineWidth(page, 1) + HPDF_Page_Rectangle(page, 50, 50, HPDF_Page_GetWidth(page) - 100,; + HPDF_Page_GetHeight(page) - 110) + HPDF_Page_Stroke(page) + + /* print the title of the page(with positioning center). */ + HPDF_Page_SetFontAndSize(page, font, 24) + tw = HPDF_Page_TextWidth(page, page_title) + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page,(HPDF_Page_GetWidth(page) - tw) / 2, ; + HPDF_Page_GetHeight(page) - 50) + HPDF_Page_ShowText(page, page_title) + HPDF_Page_EndText(page) + + HPDF_Page_SetFontAndSize(page, font, 10) + + /* Draw verious widths of lines. */ + HPDF_Page_SetLineWidth(page, 0) + draw_line(page, 60, 770, "line width = 0") + + HPDF_Page_SetLineWidth(page, 1.0) + draw_line(page, 60, 740, "line width = 1.0") + + HPDF_Page_SetLineWidth(page, 2.0) + draw_line(page, 60, 710, "line width = 2.0") + + /* Line dash pattern */ + HPDF_Page_SetLineWidth(page, 1.0) + + HPDF_Page_SetDash(page, DASH_MODE1, 1, 1) + draw_line(page, 60, 680, "dash_ptn=[3], phase=1 -- 2 on, 3 off, 3 on...") + + HPDF_Page_SetDash(page, DASH_MODE2, 2, 2) + draw_line(page, 60, 650, "dash_ptn=[7, 3], phase=2 -- 5 on 3 off, 7 on,...") + + HPDF_Page_SetDash(page, DASH_MODE3, 4, 0) + draw_line(page, 60, 620, "dash_ptn=[8, 7, 2, 7], phase=0") + + HPDF_Page_SetDash(page, NIL, 0, 0) + + HPDF_Page_SetLineWidth(page, 30) + HPDF_Page_SetRGBStroke(page, 0.0, 0.5, 0.0) + + /* Line Cap Style */ + HPDF_Page_SetLineCap(page, HPDF_BUTT_END) + draw_line2(page, 60, 570, "PDF_BUTT_END") + + HPDF_Page_SetLineCap(page, HPDF_ROUND_END) + draw_line2(page, 60, 505, "PDF_ROUND_END") + + HPDF_Page_SetLineCap(page, HPDF_PROJECTING_SCUARE_END) + draw_line2(page, 60, 440, "PDF_PROJECTING_SCUARE_END") + + /* Line Join Style */ + HPDF_Page_SetLineWidth(page, 30) + HPDF_Page_SetRGBStroke(page, 0.0, 0.0, 0.5) + + HPDF_Page_SetLineJoin(page, HPDF_MITER_JOIN) + HPDF_Page_MoveTo(page, 120, 300) + HPDF_Page_LineTo(page, 160, 340) + HPDF_Page_LineTo(page, 200, 300) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 60, 360) + HPDF_Page_ShowText(page, "PDF_MITER_JOIN") + HPDF_Page_EndText(page) + + HPDF_Page_SetLineJoin(page, HPDF_ROUND_JOIN) + HPDF_Page_MoveTo(page, 120, 195) + HPDF_Page_LineTo(page, 160, 235) + HPDF_Page_LineTo(page, 200, 195) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 60, 255) + HPDF_Page_ShowText(page, "PDF_ROUND_JOIN") + HPDF_Page_EndText(page) + + HPDF_Page_SetLineJoin(page, HPDF_BEVEL_JOIN) + HPDF_Page_MoveTo(page, 120, 90) + HPDF_Page_LineTo(page, 160, 130) + HPDF_Page_LineTo(page, 200, 90) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 60, 150) + HPDF_Page_ShowText(page, "PDF_BEVEL_JOIN") + HPDF_Page_EndText(page) + + /* Draw Rectangle */ + HPDF_Page_SetLineWidth(page, 2) + HPDF_Page_SetRGBStroke(page, 0, 0, 0) + HPDF_Page_SetRGBFill(page, 0.75, 0.0, 0.0) + + draw_rect(page, 300, 770, "Stroke") + HPDF_Page_Stroke(page) + + draw_rect(page, 300, 720, "Fill") + HPDF_Page_Fill(page) + + draw_rect(page, 300, 670, "Fill then Stroke") + HPDF_Page_FillStroke(page) + + /* Clip Rect */ + HPDF_Page_GSave(page) /* Save the current graphic state */ + draw_rect(page, 300, 620, "Clip Rectangle") + HPDF_Page_Clip(page) + HPDF_Page_Stroke(page) + HPDF_Page_SetFontAndSize(page, font, 13) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 290, 600) + HPDF_Page_SetTextLeading(page, 12) + HPDF_Page_ShowText(page, "Clip Clip Clip Clip Clip Clipi Clip Clip Clip") + HPDF_Page_ShowTextNextLine(page, "Clip Clip Clip Clip Clip Clip Clip Clip Clip") + HPDF_Page_ShowTextNextLine(page, "Clip Clip Clip Clip Clip Clip Clip Clip Clip") + HPDF_Page_EndText(page) + HPDF_Page_GRestore(page) + + /* Curve Example(CurveTo2) */ + x := 330 + y := 440 + x1 := 430 + y1 := 530 + x2 := 480 + y2 := 470 + x3 := 480 + y3 := 90 + + HPDF_Page_SetRGBFill(page, 0, 0, 0) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 300, 540) + HPDF_Page_ShowText(page, "CurveTo2(x1, y1, x2. y2)") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x + 5, y - 5) + HPDF_Page_ShowText(page, "Current point") + HPDF_Page_MoveTextPos(page, x1 - x, y1 - y) + HPDF_Page_ShowText(page, "(x1, y1)") + HPDF_Page_MoveTextPos(page, x2 - x1, y2 - y1) + HPDF_Page_ShowText(page, "(x2, y2)") + HPDF_Page_EndText(page) + + HPDF_Page_SetDash(page, DASH_MODE1, 1, 0) + + HPDF_Page_SetLineWidth(page, 0.5) + HPDF_Page_MoveTo(page, x1, y1) + HPDF_Page_LineTo(page, x2, y2) + HPDF_Page_Stroke(page) + + HPDF_Page_SetDash(page, NIL, 0, 0) + + HPDF_Page_SetLineWidth(page, 1.5) + + HPDF_Page_MoveTo(page, x, y) + HPDF_Page_CurveTo2(page, x1, y1, x2, y2) + HPDF_Page_Stroke(page) + + /* Curve Example(CurveTo3) */ + y -= 150 + y1 -= 150 + y2 -= 150 + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 300, 390) + HPDF_Page_ShowText(page, "CurveTo3(x1, y1, x2. y2)") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x + 5, y - 5) + HPDF_Page_ShowText(page, "Current point") + HPDF_Page_MoveTextPos(page, x1 - x, y1 - y) + HPDF_Page_ShowText(page, "(x1, y1)") + HPDF_Page_MoveTextPos(page, x2 - x1, y2 - y1) + HPDF_Page_ShowText(page, "(x2, y2)") + HPDF_Page_EndText(page) + + HPDF_Page_SetDash(page, DASH_MODE1, 1, 0) + + HPDF_Page_SetLineWidth(page, 0.5) + HPDF_Page_MoveTo(page, x, y) + HPDF_Page_LineTo(page, x1, y1) + HPDF_Page_Stroke(page) + + HPDF_Page_SetDash(page, NIL, 0, 0) + + HPDF_Page_SetLineWidth(page, 1.5) + HPDF_Page_MoveTo(page, x, y) + HPDF_Page_CurveTo3(page, x1, y1, x2, y2) + HPDF_Page_Stroke(page) + + /* Curve Example(CurveTo) */ + y -= 150 + y1 -= 160 + y2 -= 130 + x2 += 10 + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 300, 240) + HPDF_Page_ShowText(page, "CurveTo(x1, y1, x2. y2, x3, y3)") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x + 5, y - 5) + HPDF_Page_ShowText(page, "Current point") + HPDF_Page_MoveTextPos(page, x1 - x, y1 - y) + HPDF_Page_ShowText(page, "(x1, y1)") + HPDF_Page_MoveTextPos(page, x2 - x1, y2 - y1) + HPDF_Page_ShowText(page, "(x2, y2)") + HPDF_Page_MoveTextPos(page, x3 - x2, y3 - y2) + HPDF_Page_ShowText(page, "(x3, y3)") + HPDF_Page_EndText(page) + + HPDF_Page_SetDash(page, DASH_MODE1, 1, 0) + + HPDF_Page_SetLineWidth(page, 0.5) + HPDF_Page_MoveTo(page, x, y) + HPDF_Page_LineTo(page, x1, y1) + HPDF_Page_Stroke(page) + HPDF_Page_MoveTo(page, x2, y2) + HPDF_Page_LineTo(page, x3, y3) + HPDF_Page_Stroke(page) + + HPDF_Page_SetDash(page, NIL, 0, 0) + + HPDF_Page_SetLineWidth(page, 1.5) + HPDF_Page_MoveTo(page, x, y) + HPDF_Page_CurveTo(page, x1, y1, x2, y2, x3, y3) + HPDF_Page_Stroke(page) + + RETURN NIL +//----------------------------------------------------------------------// +static function draw_rect( page, x, y, label ) + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x, y - 10) + HPDF_Page_ShowText(page, label) + HPDF_Page_EndText(page) + + HPDF_Page_Rectangle(page, x, y - 40, 220, 25) + Return nil +//----------------------------------------------------------------------// +Static Function draw_line( page, x, y, label ) + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x, y - 10) + HPDF_Page_ShowText(page, label) + HPDF_Page_EndText(page) + + HPDF_Page_MoveTo(page, x, y - 15) + HPDF_Page_LineTo(page, x + 220, y - 15) + HPDF_Page_Stroke(page) + Return nil +//----------------------------------------------------------------------// +Static Function draw_line2( page, x, y, label ) + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x, y) + HPDF_Page_ShowText(page, label) + HPDF_Page_EndText(page) + + HPDF_Page_MoveTo(page, x + 30, y - 25) + HPDF_Page_LineTo(page, x + 160, y - 25) + HPDF_Page_Stroke(page) + Return NIL +//----------------------------------------------------------------------// +Static Function Page_Text( pdf ) + Local page, page_height, font, rect := array( 4 ) + Local SAMP_TXT := "The quick brown fox jumps over the lazy dog. " + Local angle1, angle2, rad1, rad2,i,x,y,buf + + /* add a new page object. */ + page = HPDF_AddPage(pdf) + HPDF_Page_SetSize(page, HPDF_PAGE_SIZE_A5, HPDF_PAGE_PORTRAIT) + + //print_grid( pdf, page ) + + page_height := HPDF_Page_GetHeight(page) + + font := HPDF_GetFont(pdf, "Helvetica", NIL) + HPDF_Page_SetTextLeading(page, 20) + + #define rLEFT 1 + #define rTOP 2 + #define rRIGHT 3 + #define rBOTTOM 4 + + /* text_rect method */ + + /* HPDF_TALIGN_LEFT */ + rect[ rLEFT ] := 25 + rect[ rTOP ] := 545 + rect[ rRIGHT ] := 200 + rect[ rBOTTOM ] := rect[ 2 ] - 40 + + HPDF_Page_Rectangle(page, rect[ rLEFT ], rect[ rBOTTOM ], rect[ rRIGHT ] - rect[ rLEFT ], ; + rect[ rTOP ] - rect[ rBOTTOM ] ) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + + HPDF_Page_SetFontAndSize(page, font, 10) + HPDF_Page_TextOut(page, rect[ rLEFT ], rect[ rTOP ] + 3, "HPDF_TALIGN_LEFT") + + HPDF_Page_SetFontAndSize(page, font, 13) + HPDF_Page_TextRect(page, rect[ rLEFT ], rect[ rTOP ], rect[ rRIGHT ], rect[ rBOTTOM ],; + SAMP_TXT, HPDF_TALIGN_LEFT, NIL) + + HPDF_Page_EndText(page) + + /* HPDF_TALIGN_RIGTH */ + rect[ rLEFT ] := 220 + rect[ rRIGHT ] := 395 + + HPDF_Page_Rectangle( page, rect[ rLEFT ], rect[ rBOTTOM ], rect[ rRIGHT ] - rect[ rLEFT ], ; + rect[ rTOP ] - rect[ rBOTTOM ]) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + + HPDF_Page_SetFontAndSize(page, font, 10) + HPDF_Page_TextOut(page, rect[ rLEFT ], rect[ rTOP ] + 3, "HPDF_TALIGN_RIGTH") + + HPDF_Page_SetFontAndSize(page, font, 13) + HPDF_Page_TextRect(page, rect[ rLEFT ], rect[ rTOP ], rect[ rRIGHT ], rect[ rBOTTOM ], ; + SAMP_TXT, HPDF_TALIGN_RIGHT, NIL) + + HPDF_Page_EndText(page) + + /* HPDF_TALIGN_CENTER */ + rect[ rLEFT ] := 25 + rect[ rTOP ] := 475 + rect[ rRIGHT ] := 200 + rect[ rBOTTOM ] := rect[ rTOP ] - 40 + + HPDF_Page_Rectangle(page, rect[ rLEFT ], rect[ rBOTTOM ], rect[ rRIGHT ] - rect[ rLEFT ], ; + rect[ rTOP ] - rect[ rBOTTOM ]) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + + HPDF_Page_SetFontAndSize(page, font, 10) + HPDF_Page_TextOut(page, rect[ rLEFT ], rect[ rTOP ] + 3, "HPDF_TALIGN_CENTER") + + HPDF_Page_SetFontAndSize(page, font, 13) + HPDF_Page_TextRect(page, rect[ rLEFT ], rect[ rTOP ], rect[ rRIGHT ], rect[ rBOTTOM ],; + SAMP_TXT, HPDF_TALIGN_CENTER, NIL) + + HPDF_Page_EndText(page) + + /* HPDF_TALIGN_JUSTIFY */ + rect[ rLEFT ] := 220 + rect[ rRIGHT ] := 395 + + HPDF_Page_Rectangle(page, rect[ rLEFT ], rect[ rBOTTOM ], rect[ rRIGHT ] - rect[ rLEFT ],; + rect[ rTOP ] - rect[ rBOTTOM ]) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + + HPDF_Page_SetFontAndSize(page, font, 10) + HPDF_Page_TextOut(page, rect[ rLEFT ], rect[ rTOP ] + 3, "HPDF_TALIGN_JUSTIFY") + + HPDF_Page_SetFontAndSize(page, font, 13) + HPDF_Page_TextRect(page, rect[ rLEFT ], rect[ rTOP ], rect[ rRIGHT ], rect[ rBOTTOM ], ; + SAMP_TXT, HPDF_TALIGN_JUSTIFY, NIL) + + HPDF_Page_EndText(page) + + /* Skewed coordinate system */ + HPDF_Page_GSave(page) + + angle1 := 5 + angle2 := 10 + rad1 := angle1 / 180 * 3.141592 + rad2 := angle2 / 180 * 3.141592 + + HPDF_Page_Concat(page, 1, tan(rad1), tan(rad2), 1, 25, 350) + rect[ rLEFT ] := 0 + rect[ rTOP ] := 40 + rect[ rRIGHT ] := 175 + rect[ rBOTTOM ] := 0 + + HPDF_Page_Rectangle(page, rect[ rLEFT ], rect[ rBOTTOM ], rect[ rRIGHT ] - rect[ rLEFT ],; + rect[ rTOP ] - rect[ rBOTTOM ]) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + + HPDF_Page_SetFontAndSize(page, font, 10) + HPDF_Page_TextOut(page, rect[ rLEFT ], rect[ rTOP ] + 3, "Skewed coordinate system") + + HPDF_Page_SetFontAndSize(page, font, 13) + HPDF_Page_TextRect(page, rect[ rLEFT ], rect[ rTOP ], rect[ rRIGHT ], rect[ rBOTTOM ], ; + SAMP_TXT, HPDF_TALIGN_LEFT, NIL) + + HPDF_Page_EndText(page) + + HPDF_Page_GRestore(page) + + + /* Rotated coordinate system */ + HPDF_Page_GSave(page) + + angle1 := 5 + rad1 := angle1 / 180 * 3.141592 + + HPDF_Page_Concat(page, cos(rad1), sin(rad1), -sin(rad1), cos(rad1), 220, 350) + rect[ rLEFT ] := 0 + rect[ rTOP ] := 40 + rect[ rRIGHT ] := 175 + rect[ rBOTTOM ] := 0 + + HPDF_Page_Rectangle(page, rect[ rLEFT ], rect[ rBOTTOM ], rect[ rRIGHT ] - rect[ rLEFT ], ; + rect[ rTOP ] - rect[ rBOTTOM ]) + HPDF_Page_Stroke(page) + + HPDF_Page_BeginText(page) + + HPDF_Page_SetFontAndSize(page, font, 10) + HPDF_Page_TextOut(page, rect[ rLEFT ], rect[ rTOP ] + 3, "Rotated coordinate system") + + HPDF_Page_SetFontAndSize(page, font, 13) + HPDF_Page_TextRect(page, rect[ rLEFT ], rect[ rTOP ], rect[ rRIGHT ], rect[ rBOTTOM ], ; + SAMP_TXT, HPDF_TALIGN_LEFT, NIL) + + HPDF_Page_EndText(page) + + HPDF_Page_GRestore(page) + + + /* text along a circle */ + HPDF_Page_SetGrayStroke(page, 0) + HPDF_Page_Circle(page, 210, 190, 145) + HPDF_Page_Circle(page, 210, 190, 113) + HPDF_Page_Stroke(page) + + angle1 := 360 /(len(SAMP_TXT)) + angle2 := 180 + + HPDF_Page_BeginText(page) + font := HPDF_GetFont(pdf, "Courier-Bold", NIL) + HPDF_Page_SetFontAndSize(page, font, 30) + + for i := 0 to len(SAMP_TXT) + rad1 :=(angle2 - 90) / 180 * 3.141592 + rad2 := angle2 / 180 * 3.141592 + + x := 210 + cos(rad2) * 122 + y := 190 + sin(rad2) * 122 + + HPDF_Page_SetTextMatrix(page, cos(rad1), sin(rad1), -sin(rad1), cos(rad1), x, y) + + buf := substr( SAMP_TXT,i, 1 ) + HPDF_Page_ShowText(page, buf) + angle2 -= angle1 + next + + HPDF_Page_EndText(page) + + Return nil +//----------------------------------------------------------------------// +Static Function PrintText( page) + Local buf + Local pos := HPDF_Page_GetCurrentTextPos( page ) + + static no := 0 + no++ + + buf := ltrim( str( no ) )+ ' '+ltrim(str(pos[1]))+' '+ltrim(str(pos[2])) + + HPDF_Page_ShowText(page, buf) + Return nil +//----------------------------------------------------------------------// +Static Function Page_TextScaling( pdf ) + Local font, page, tw, angle1, angle2, buf, len, fsize, i, r, b, g, yPos, rad1, rad2 + Local samp_text := "abcdefgABCDEFG123!#$%&+-@?" + Local samp_text2 := "The quick brown fox jumps over the lazy dog." + Local page_title := "Text Demo" + + /* set compression mode */ + //HPDF_SetCompressionMode(pdf, HPDF_COMP_ALL) + + /* create default-font */ + font = HPDF_GetFont(pdf, "Helvetica", NIL) + + /* add a new page object. */ + page = HPDF_AddPage(pdf) + + /* draw grid to the page */ + //print_grid(pdf, page) + + /* print the lines of the page. + HPDF_Page_SetLineWidth(page, 1) + HPDF_Page_Rectangle(page, 50, 50, HPDF_Page_GetWidth(page) - 100, + HPDF_Page_GetHeight(page) - 110) + HPDF_Page_Stroke(page) + */ + + /* print the title of the page(with positioning center). */ + HPDF_Page_SetFontAndSize(page, font, 24) + tw = HPDF_Page_TextWidth(page, page_title) + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page,(HPDF_Page_GetWidth(page) - tw) / 2,; + HPDF_Page_GetHeight(page) - 50, page_title) + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 60, HPDF_Page_GetHeight(page) - 60) + + /* + * font size + */ + fsize := 8 + do while (fsize < 60) + /* set style and size of font. */ + HPDF_Page_SetFontAndSize(page, font, fsize) + + /* set the position of the text. */ + HPDF_Page_MoveTextPos(page, 0, -5 - fsize) + + /* measure the number of characters which included in the page. */ + buf := samp_text + len := HPDF_Page_MeasureText(page, samp_text, ; + HPDF_Page_GetWidth(page) - 120, .F., NIL) + + HPDF_Page_ShowText(page, buf) + + /* print the description. */ + HPDF_Page_MoveTextPos(page, 0, -10) + HPDF_Page_SetFontAndSize(page, font, 8) + buf := "Fontsize="+ltrim( str( fsize ) ) + + HPDF_Page_ShowText(page, buf) + + fsize *= 1.5 + enddo + + /* + * font color + */ + HPDF_Page_SetFontAndSize(page, font, 8) + HPDF_Page_MoveTextPos(page, 0, -30) + HPDF_Page_ShowText(page, "Font color") + + HPDF_Page_SetFontAndSize(page, font, 18) + HPDF_Page_MoveTextPos(page, 0, -20) + len := len( samp_text ) + for i := 1 to len + r := i / len + g := 1 -(i / len) + buf := substr( samp_text, i, 1 ) + + HPDF_Page_SetRGBFill(page, r, g, 0.0) + HPDF_Page_ShowText(page, buf) + next + HPDF_Page_MoveTextPos(page, 0, -25) + + for i := 1 to len + r := i /len + b := 1 -(i /len) + buf := substr( samp_text, i, 1 ) + + HPDF_Page_SetRGBFill(page, r, 0.0, b) + HPDF_Page_ShowText(page, buf) + next + HPDF_Page_MoveTextPos(page, 0, -25) + + for i = 1 to len + b := i /len + g := 1 -(i /len) + buf := substr( samp_text, i, 1 ) + + HPDF_Page_SetRGBFill(page, 0.0, g, b) + HPDF_Page_ShowText(page, buf) + next + + HPDF_Page_EndText(page) + + ypos := 450 + + /* + * Font rendering mode + */ + HPDF_Page_SetFontAndSize(page, font, 32) + HPDF_Page_SetRGBFill(page, 0.5, 0.5, 0.0) + HPDF_Page_SetLineWidth(page, 1.5) + + /* PDF_FILL */ + show_description(page, 60, ypos, "RenderingMode=PDF_FILL") + HPDF_Page_SetTextRenderingMode(page, HPDF_FILL) + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, ypos, "ABCabc123") + HPDF_Page_EndText(page) + + /* PDF_STROKE */ + show_description(page, 60, ypos - 50, "RenderingMode=PDF_STROKE") + HPDF_Page_SetTextRenderingMode(page, HPDF_STROKE) + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, ypos - 50, "ABCabc123") + HPDF_Page_EndText(page) + + /* PDF_FILL_THEN_STROKE */ + show_description(page, 60, ypos - 100, "RenderingMode=PDF_FILL_THEN_STROKE") + HPDF_Page_SetTextRenderingMode(page, HPDF_FILL_THEN_STROKE) + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, ypos - 100, "ABCabc123") + HPDF_Page_EndText(page) + + /* PDF_FILL_CLIPPING */ + show_description(page, 60, ypos - 150, "RenderingMode=PDF_FILL_CLIPPING") + HPDF_Page_GSave(page) + HPDF_Page_SetTextRenderingMode(page, HPDF_FILL_CLIPPING) + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, ypos - 150, "ABCabc123") + HPDF_Page_EndText(page) + show_stripe_pattern(page, 60, ypos - 150) + HPDF_Page_GRestore(page) + + /* PDF_STROKE_CLIPPING */ + show_description(page, 60, ypos - 200, "RenderingMode=PDF_STROKE_CLIPPING") + HPDF_Page_GSave(page) + HPDF_Page_SetTextRenderingMode(page, HPDF_STROKE_CLIPPING) + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, ypos - 200, "ABCabc123") + HPDF_Page_EndText(page) + show_stripe_pattern(page, 60, ypos - 200) + HPDF_Page_GRestore(page) + + /* PDF_FILL_STROKE_CLIPPING */ + show_description(page, 60, ypos - 250, "RenderingMode=PDF_FILL_STROKE_CLIPPING") + HPDF_Page_GSave(page) + HPDF_Page_SetTextRenderingMode(page, HPDF_FILL_STROKE_CLIPPING) + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, ypos - 250, "ABCabc123") + HPDF_Page_EndText(page) + show_stripe_pattern(page, 60, ypos - 250) + HPDF_Page_GRestore(page) + + /* Reset text attributes */ + HPDF_Page_SetTextRenderingMode(page, HPDF_FILL) + HPDF_Page_SetRGBFill(page, 0, 0, 0) + HPDF_Page_SetFontAndSize(page, font, 30) + + + /* + * Rotating text + */ + angle1 := 30 /* A rotation of 30 degrees. */ + rad1 := angle1 / 180 * 3.141592 /* Calcurate the radian value. */ + + show_description(page, 320, ypos - 60, "Rotating text") + HPDF_Page_BeginText(page) + HPDF_Page_SetTextMatrix(page, cos(rad1), sin(rad1), -sin(rad1), cos(rad1), 330, ypos - 60) + HPDF_Page_ShowText(page, "ABCabc123") + HPDF_Page_EndText(page) + + + /* + * Skewing text. + */ + show_description(page, 320, ypos - 120, "Skewing text") + HPDF_Page_BeginText(page) + + angle1 = 10 + angle2 = 20 + rad1 = angle1 / 180 * 3.141592 + rad2 = angle2 / 180 * 3.141592 + + HPDF_Page_SetTextMatrix(page, 1, tan(rad1), tan(rad2), 1, 320, ypos - 120) + HPDF_Page_ShowText(page, "ABCabc123") + HPDF_Page_EndText(page) + + + /* + * scaling text(X direction) + */ + show_description(page, 320, ypos - 175, "Scaling text(X direction)") + HPDF_Page_BeginText(page) + HPDF_Page_SetTextMatrix(page, 1.5, 0, 0, 1, 320, ypos - 175) + HPDF_Page_ShowText(page, "ABCabc12") + HPDF_Page_EndText(page) + + + /* + * scaling text(Y direction) + */ + show_description(page, 320, ypos - 250, "Scaling text(Y direction)") + HPDF_Page_BeginText(page) + HPDF_Page_SetTextMatrix(page, 1, 0, 0, 2, 320, ypos - 250) + HPDF_Page_ShowText(page, "ABCabc123") + HPDF_Page_EndText(page) + + + /* + * char spacing, word spacing + */ + + show_description(page, 60, 140, "char-spacing 0") + show_description(page, 60, 100, "char-spacing 1.5") + show_description(page, 60, 60, "char-spacing 1.5, word-spacing 2.5") + + HPDF_Page_SetFontAndSize(page, font, 20) + HPDF_Page_SetRGBFill(page, 0.1, 0.3, 0.1) + + /* char-spacing 0 */ + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, 140, samp_text2) + HPDF_Page_EndText(page) + + /* char-spacing 1.5 */ + HPDF_Page_SetCharSpace(page, 1.5) + + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, 100, samp_text2) + HPDF_Page_EndText(page) + + /* char-spacing 1.5, word-spacing 3.5 */ + HPDF_Page_SetWordSpace(page, 2.5) + + HPDF_Page_BeginText(page) + HPDF_Page_TextOut(page, 60, 60, samp_text2) + HPDF_Page_EndText(page) + + //HPDF_SetCompressionMode(pdf, nComp) + + Return nil +//----------------------------------------------------------------------// +Static Function show_stripe_pattern( page, x, y) + Local iy := 0 + + do while(iy < 50) + HPDF_Page_SetRGBStroke(page, 0.0, 0.0, 0.5) + HPDF_Page_SetLineWidth(page, 1) + HPDF_Page_MoveTo(page, x, y + iy) + HPDF_Page_LineTo(page, x + HPDF_Page_TextWidth(page, "ABCabc123"), y + iy) + HPDF_Page_Stroke(page) + iy += 3 + enddo + + HPDF_Page_SetLineWidth(page, 2.5) + Return nil +//----------------------------------------------------------------------// +static function show_description( page, x, y, text ) + Local fsize := HPDF_Page_GetCurrentFontSize( page) + Local font := HPDF_Page_GetCurrentFont(page) + Local c := HPDF_Page_GetRGBFill(page) + + HPDF_Page_BeginText(page) + HPDF_Page_SetRGBFill(page, 0, 0, 0) + HPDF_Page_SetTextRenderingMode(page, HPDF_FILL) + HPDF_Page_SetFontAndSize(page, font, 10) + HPDF_Page_TextOut(page, x, y - 12, text) + HPDF_Page_EndText(page) + + HPDF_Page_SetFontAndSize(page, font, fsize) + HPDF_Page_SetRGBFill(page, c[1], c[2], c[3]) + Return nil +//----------------------------------------------------------------------// +#define PAGE_WIDTH 420 +#define PAGE_HEIGHT 400 +#define CELL_WIDTH 20 +#define CELL_HEIGHT 20 +#define CELL_HEADER 10 + +Static function Page_CodePages( pdf ) + Local page, outline, font2, font_name, root, i, font, dst, fname + Local cResPath := "c:\harbour\contrib\hbhpdf\tests\" + Local cAfm := cResPath+"a010013l.afm" + Local cPfb := cResPath+"a010013l.pfb" + Local encodings := { ; + "StandardEncoding",; + "MacRomanEncoding",; + "WinAnsiEncoding", ; + "ISO8859-2", ; + "ISO8859-3", ; + "ISO8859-4", ; + "ISO8859-5", ; + "ISO8859-9", ; + "ISO8859-10", ; + "ISO8859-13", ; + "ISO8859-14", ; + "ISO8859-15", ; + "ISO8859-16", ; + "CP1250", ; + "CP1251", ; + "CP1252", ; + "CP1254", ; + "CP1257", ; + "KOI8-R", ; + "Symbol-Set", ; + "ZapfDingbats-Set" } + + /* Set page mode to use outlines. */ + HPDF_SetPageMode(pdf, HPDF_PAGE_MODE_USE_OUTLINE) + + /* get default font */ + font := HPDF_GetFont(pdf, "Helvetica", NIL) + + /* load font object */ + font_name := HPDF_LoadType1FontFromFile(pdf, cAfm, cPfb ) + + /* create outline root. */ + root = HPDF_CreateOutline(pdf, NIL, "Encoding list", NIL) + HPDF_Outline_SetOpened(root, .t.) + + for i := 1 to len( encodings ) + page = HPDF_AddPage(pdf) + + HPDF_Page_SetWidth(page, PAGE_WIDTH) + HPDF_Page_SetHeight(page, PAGE_HEIGHT) + + outline = HPDF_CreateOutline(pdf, root, encodings[i], NIL) + dst = HPDF_Page_CreateDestination(page) + HPDF_Destination_SetXYZ(dst, 0, HPDF_Page_GetHeight(page), 1) + + /* HPDF_Destination_SetFitB(dst) */ + HPDF_Outline_SetDestination(outline, dst) + + HPDF_Page_SetFontAndSize(page, font, 15) + draw_graph(page) + + HPDF_Page_BeginText(page) + HPDF_Page_SetFontAndSize(page, font, 20) + HPDF_Page_MoveTextPos(page, 40, PAGE_HEIGHT - 50) + HPDF_Page_ShowText(page, encodings[i] ) + HPDF_Page_ShowText(page, " Encoding" ) + HPDF_Page_EndText(page) + + if (encodings[i] == "Symbol-Set") + font2 = HPDF_GetFont(pdf, "Symbol", NIL) + elseif (encodings[i] == "ZapfDingbats-Set") + font2 = HPDF_GetFont(pdf, "ZapfDingbats", NIL) + else + font2 = HPDF_GetFont(pdf, font_name, encodings[i]) + endif + + HPDF_Page_SetFontAndSize(page, font2, 14) + draw_fonts(page) + next + + return nil +//----------------------------------------------------------------------// +static function draw_graph( page ) + Local buf, i, x, y + + /* Draw 16 X 15 cells */ + + /* Draw vertical lines. */ + HPDF_Page_SetLineWidth(page, 0.5) + + for i := 0 to 17 + x = i * CELL_WIDTH + 40; + + HPDF_Page_MoveTo(page, x, PAGE_HEIGHT - 60) + HPDF_Page_LineTo(page, x, 40) + HPDF_Page_Stroke(page) + + if (i > 0 .and. i <= 16) + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x + 5, PAGE_HEIGHT - 75) + buf := NumToHex( i-1 ) + HPDF_Page_ShowText(page, buf) + HPDF_Page_EndText(page) + endif + next + + /* Draw horizontal lines. */ + for i := 0 to 15 + y := i * CELL_HEIGHT + 40 + + HPDF_Page_MoveTo(page, 40, y) + HPDF_Page_LineTo(page, PAGE_WIDTH - 40, y) + HPDF_Page_Stroke(page) + + if (i < 14) + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, 45, y + 5) + buf := NumToHex( 15-i ) + HPDF_Page_ShowText(page, buf) + HPDF_Page_EndText(page) + endif + next + Return nil +//----------------------------------------------------------------------// +Static function draw_fonts(page) + Local i,j,buf, x, y, d + + HPDF_Page_BeginText(page) + + /* Draw all character from 0x20 to 0xFF to the canvas. */ + for i := 1 to 16 + for j := 1 to 16 + y = PAGE_HEIGHT - 55 - ((i - 1) * CELL_HEIGHT) + x = j * CELL_WIDTH + 50 + + buf := (i - 1) * 16 + (j - 1) + if (buf >= 32) + d := x - HPDF_Page_TextWidth( page, chr( buf ) ) / 2 + HPDF_Page_TextOut( page, d, y, chr( buf ) ) + endif + next + next + + HPDF_Page_EndText(page) + + Return nil +//----------------------------------------------------------------------// +Static Function Page_Graphics( pdf ) + Local page, pos + + /* add a new page object. */ + page := HPDF_AddPage(pdf) + + HPDF_Page_SetHeight(page, 220) + HPDF_Page_SetWidth(page, 200) + + /* draw grid to the page */ + //print_grid(pdf, page) + + /* draw pie chart + * + * A: 45% Red + * B: 25% Blue + * C: 15% green + * D: other yellow + */ + + /* A */ + HPDF_Page_SetRGBFill(page, 1.0, 0, 0) + HPDF_Page_MoveTo(page, 100, 100) + HPDF_Page_LineTo(page, 100, 180) + HPDF_Page_Arc(page, 100, 100, 80, 0, 360 * 0.45) + pos := HPDF_Page_GetCurrentPos(page) + HPDF_Page_LineTo(page, 100, 100) + HPDF_Page_Fill(page) + + /* B */ + HPDF_Page_SetRGBFill(page, 0, 0, 1.0) + HPDF_Page_MoveTo(page, 100, 100) + HPDF_Page_LineTo(page, pos[1], pos[2]) + HPDF_Page_Arc(page, 100, 100, 80, 360 * 0.45, 360 * 0.7) + pos := HPDF_Page_GetCurrentPos(page) + HPDF_Page_LineTo(page, 100, 100) + HPDF_Page_Fill(page) + + /* C */ + HPDF_Page_SetRGBFill(page, 0, 1.0, 0) + HPDF_Page_MoveTo(page, 100, 100) + HPDF_Page_LineTo(page, pos[1], pos[2]) + HPDF_Page_Arc(page, 100, 100, 80, 360 * 0.7, 360 * 0.85) + pos := HPDF_Page_GetCurrentPos(page) + HPDF_Page_LineTo(page, 100, 100) + HPDF_Page_Fill(page) + + /* D */ + HPDF_Page_SetRGBFill(page, 1.0, 1.0, 0) + HPDF_Page_MoveTo(page, 100, 100) + HPDF_Page_LineTo(page, pos[1], pos[2]) + HPDF_Page_Arc(page, 100, 100, 80, 360 * 0.85, 360) + pos := HPDF_Page_GetCurrentPos(page) + HPDF_Page_LineTo(page, 100, 100) + HPDF_Page_Fill(page) + + /* draw center circle */ + HPDF_Page_SetGrayStroke(page, 0) + HPDF_Page_SetGrayFill(page, 1) + HPDF_Page_Circle(page, 100, 100, 30) + HPDF_Page_Fill(page) + + Return nil +//----------------------------------------------------------------------// +Static Function Page_Annotation( pdf ) + Local rect1 := {50 , 350, 150, 400} + Local rect2 := {210, 350, 350, 400} + Local rect3 := {50 , 250, 150, 300} + Local rect4 := {210, 250, 350, 300} + Local rect5 := {50 , 150, 150, 200} + Local rect6 := {210, 150, 350, 200} + Local rect7 := {50 , 50 , 150, 100} + Local rect8 := {210, 50 , 350, 100} + + Local page, font, encoding, annot + + /* use Times-Roman font. */ + font = HPDF_GetFont(pdf, "Times-Roman", "WinAnsiEncoding") + + page = HPDF_AddPage(pdf) + + HPDF_Page_SetWidth(page, 400) + HPDF_Page_SetHeight(page, 500) + + HPDF_Page_BeginText(page) + HPDF_Page_SetFontAndSize(page, font, 16) + HPDF_Page_MoveTextPos(page, 130, 450) + HPDF_Page_ShowText(page, "Annotation Demo") + HPDF_Page_EndText(page) + + + annot = HPDF_Page_CreateTextAnnot(page, rect1, ; + "Annotation with Comment Icons"+chr(13)+chr(10)+; + "This annotation set to be opened initially.",; + NIL) + + HPDF_TextAnnot_SetIcon(annot, HPDF_ANNOT_ICON_COMMENT) + HPDF_TextAnnot_SetOpened(annot, HPDF_TRUE) + + annot = HPDF_Page_CreateTextAnnot(page, rect2, "Annotation with Key Icon", NIL) + HPDF_TextAnnot_SetIcon(annot, HPDF_ANNOT_ICON_PARAGRAPH) + + annot = HPDF_Page_CreateTextAnnot(page, rect3, "Annotation with Note Icon", NIL) + HPDF_TextAnnot_SetIcon(annot, HPDF_ANNOT_ICON_NOTE) + + annot = HPDF_Page_CreateTextAnnot(page, rect4, "Annotation with Help Icon", NIL) + HPDF_TextAnnot_SetIcon(annot, HPDF_ANNOT_ICON_HELP) + + annot = HPDF_Page_CreateTextAnnot(page, rect5, "Annotation with NewParagraph Icon", NIL) + HPDF_TextAnnot_SetIcon(annot, HPDF_ANNOT_ICON_NEW_PARAGRAPH) + + annot = HPDF_Page_CreateTextAnnot(page, rect6, "Annotation with Paragraph Icon", NIL) + HPDF_TextAnnot_SetIcon(annot, HPDF_ANNOT_ICON_PARAGRAPH) + + annot = HPDF_Page_CreateTextAnnot(page, rect7, "Annotation with Insert Icon", NIL) + HPDF_TextAnnot_SetIcon(annot, HPDF_ANNOT_ICON_INSERT) + + encoding = HPDF_GetEncoder(pdf, "ISO8859-2") + + HPDF_Page_CreateTextAnnot(page, rect8,"Annotation with ISO8859 text モヤユヨラリル", encoding) + + HPDF_Page_SetFontAndSize(page, font, 11) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, rect1[1] + 35, rect1[2] - 20) + HPDF_Page_ShowText(page, "Comment Icon.") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, rect2[1] + 35, rect2[2] - 20) + HPDF_Page_ShowText(page, "Key Icon") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, rect3[1] + 35, rect3[2] - 20) + HPDF_Page_ShowText(page, "Note Icon.") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, rect4[1] + 35, rect4[2] - 20) + HPDF_Page_ShowText(page, "Help Icon") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, rect5[1] + 35, rect5[2] - 20) + HPDF_Page_ShowText(page, "NewParagraph Icon") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, rect6[1] + 35, rect6[2] - 20) + HPDF_Page_ShowText(page, "Paragraph Icon") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, rect7[1] + 35, rect7[2] - 20) + HPDF_Page_ShowText(page, "Insert Icon") + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, rect8[1] + 35, rect8[2] - 20) + HPDF_Page_ShowText(page, "Text Icon(ISO8859-2 text)") + HPDF_Page_EndText(page) + + Return nil +//----------------------------------------------------------------------// +#define NULL NIL +//----------------------------------------------------------------------// +Static function Page_Images( pdf ) + Local font, page, dst, image, image1, image2, image3 + Local x, y, angle, angle1, angle2, rad, rad1, rad2, iw, ih + Local cImagePath := "c:\harbour\contrib\hbhpdf\tests\" + + /* create default-font */ + font := HPDF_GetFont(pdf, "Helvetica", NULL) + + /* add a new page object. */ + page := HPDF_AddPage(pdf) + + HPDF_Page_SetWidth(page, 550) + HPDF_Page_SetHeight(page, 500) + + dst := HPDF_Page_CreateDestination(page) + HPDF_Destination_SetXYZ(dst, 0, HPDF_Page_GetHeight(page), 1) + HPDF_SetOpenAction(pdf, dst) + + HPDF_Page_BeginText(page) + HPDF_Page_SetFontAndSize(page, font, 20) + HPDF_Page_MoveTextPos(page, 220, HPDF_Page_GetHeight(page) - 70) + HPDF_Page_ShowText(page, "ImageDemo") + HPDF_Page_EndText(page) + + /* load image file. */ + image := HPDF_LoadPngImageFromFile(pdf, cImagePath+"basn3p02.png") + + /* image1 is masked by image2. */ + image1 := HPDF_LoadPngImageFromFile(pdf, cImagePath+"basn3p02.png") + + /* image2 is a mask image. */ + image2 := HPDF_LoadPngImageFromFile(pdf, cImagePath+"basn0g01.png") + + /* image3 is a RGB-color image. we use this image for color-mask + * demo. + */ + image3 = HPDF_LoadPngImageFromFile(pdf, cImagePath+"maskimage.png") + + iw := HPDF_Image_GetWidth(image) + ih := HPDF_Image_GetHeight(image) + HPDF_Page_SetLineWidth(page, 0.5) + + x := 100 + y := HPDF_Page_GetHeight(page) - 150; + + /* Draw image to the canvas.(normal-mode with actual size.)*/ + HPDF_Page_DrawImage(page, image, x, y, iw, ih) + + show_description_1(page, x, y, "Actual Size") + + x += 150 + + /* Scalling image(X direction) */ + HPDF_Page_DrawImage(page, image, x, y, iw * 1.5, ih) + + show_description_1(page, x, y, "Scalling image(X direction)") + + x += 150 + + /* Scalling image(Y direction). */ + HPDF_Page_DrawImage(page, image, x, y, iw, ih * 1.5) + show_description_1(page, x, y, "Scalling image(Y direction)") + + x := 100 + y -= 120 + + /* Skewing image. */ + angle1 := 10 + angle2 := 20 + rad1 := angle1 / 180 * 3.141592 + rad2 := angle2 / 180 * 3.141592 + + HPDF_Page_GSave(page) + HPDF_Page_Concat(page, iw, tan(rad1) * iw, tan(rad2) * ih, ih, x, y) + HPDF_Page_ExecuteXObject(page, image) + HPDF_Page_GRestore(page) + + show_description_1(page, x, y, "Skewing image") + + x += 150 + + /* Rotating image */ + angle = 30 /* rotation of 30 degrees. */ + rad = angle / 180 * 3.141592 /* Calcurate the radian value. */ + + HPDF_Page_GSave(page) + HPDF_Page_Concat(page, iw * cos(rad), ; + iw * sin(rad), ; + ih * -sin(rad), ; + ih * cos(rad), ; + x, y) + HPDF_Page_ExecuteXObject(page, image) + HPDF_Page_GRestore(page) + + show_description_1(page, x, y, "Rotating image") + + x += 150 + + /* draw masked image. */ + + /* Set image2 to the mask image of image1 */ + HPDF_Image_SetMaskImage(image1, image2) + + HPDF_Page_SetRGBFill(page, 0, 0, 0) + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x - 6, y + 14) + HPDF_Page_ShowText(page, "MASKMASK") + HPDF_Page_EndText(page) + + HPDF_Page_DrawImage(page, image1, x - 3, y - 3, iw + 6, ih + 6) + + show_description_1(page, x, y, "masked image") + + x := 100 + y -= 120 + + /* color mask. */ + HPDF_Page_SetRGBFill(page, 0, 0, 0) + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x - 6, y + 14) + HPDF_Page_ShowText(page, "MASKMASK") + HPDF_Page_EndText(page) + + HPDF_Image_SetColorMask(image3, 0, 255, 0, 0, 0, 255) + HPDF_Page_DrawImage(page, image3, x, y, iw, ih) + + show_description_1(page, x, y, "Color Mask") + + Return nil +//----------------------------------------------------------------------// +Static function show_description_1( page, x, y, text ) + Local buf + + HPDF_Page_MoveTo(page, x, y - 10) + HPDF_Page_LineTo(page, x, y + 10) + HPDF_Page_MoveTo(page, x - 10, y) + HPDF_Page_LineTo(page, x + 10, y) + HPDF_Page_Stroke(page) + + HPDF_Page_SetFontAndSize(page, HPDF_Page_GetCurrentFont(page), 8) + HPDF_Page_SetRGBFill(page, 0, 0, 0) + + HPDF_Page_BeginText(page) + + buf := "x="+ltrim(str(x,10,0))+",y="+ltrim(str(y,10,0)) + + HPDF_Page_MoveTextPos(page, x - HPDF_Page_TextWidth(page, buf) - 5, y - 10) + HPDF_Page_ShowText(page, buf) + HPDF_Page_EndText(page) + + HPDF_Page_BeginText(page) + HPDF_Page_MoveTextPos(page, x - 20, y - 25) + HPDF_Page_ShowText(page, text) + HPDF_Page_EndText(page) + + Return nil +//----------------------------------------------------------------------// diff --git a/harbour/contrib/hbhpdf/tests/maskimage.png b/harbour/contrib/hbhpdf/tests/maskimage.png new file mode 100644 index 0000000000..d896abadb7 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/maskimage.png differ diff --git a/harbour/contrib/hbhpdf/tests/penguinattack.ttf b/harbour/contrib/hbhpdf/tests/penguinattack.ttf new file mode 100644 index 0000000000..622ae2d634 Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/penguinattack.ttf differ diff --git a/harbour/contrib/hbhpdf/tests/rgb.jpg b/harbour/contrib/hbhpdf/tests/rgb.jpg new file mode 100644 index 0000000000..fb83e3e82a Binary files /dev/null and b/harbour/contrib/hbhpdf/tests/rgb.jpg differ diff --git a/harbour/contrib/hbhpdf/tests/sjis.txt b/harbour/contrib/hbhpdf/tests/sjis.txt new file mode 100644 index 0000000000..a76ec3b9bf --- /dev/null +++ b/harbour/contrib/hbhpdf/tests/sjis.txt @@ -0,0 +1 @@ +アメンボ赤いなあいうえお。浮き藻に小エビもおよいでる。 \ No newline at end of file