Files
harbour-core/harbour/contrib/hbhpdf/3rd/libhpdf/hpdffont.h
Viktor Szakats 855b43fd69 2010-11-07 17:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbhpdf/hbhpdf.hbp
  * contrib/hbhpdf/hbhpdf.hbc

  * contrib/hbexpat/3rd/expat/expat.hbc
    ! Fixed for 'HB_BUILD_CONTRIB_DYN=yes'

  * external/Makefile
  - external/libhpdf
  + contrib/hbhpdf/3rd
  + contrib/hbhpdf/3rd/libhpdf
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.hbc
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
    * Moved to contrib local dir.
    + Added support for 'HB_BUILD_CONTRIB_DYN=yes'

  * contrib/hbhpdf/3rd/libhpdf/hpdf.h
    ! Fixed for dynamic build.
    ; TODO: Regenerate .dif. For me it restored original copy for some reason :(

  * contrib/hbsqlit3/hbsqlit3.hbc
  * contrib/sddsqlt3/sddsqlt3.hbc
    * Using .hbc file for 3rd party lib.

  * contrib/3rd/sqlite3/sqlite3.hbp
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
  * contrib/hbmzip/3rd/minizip/minizip.hbp
  * contrib/hbexpat/3rd/expat/expat.hbp
    ! Changed -warn=no to -warn=low, which is equivalent to 'HB_BUILD_WARN := no'
      in Makefile.
2010-11-07 16:14:20 +00:00

116 lines
3.3 KiB
C

/*
* << Haru Free PDF Library >> -- hpdf_font.h
*
* URL: http://libharu.org
*
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
* Copyright (c) 2007-2009 Antony Dovgal <tony@daylessday.org>
*
* 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_FONT_H
#define _HPDF_FONT_H
#include "hpdffond.h"
#ifdef __cplusplus
extern "C" {
#endif
/*----------------------------------------------------------------------------*/
/*----- Writing Mode ---------------------------------------------------------*/
typedef enum _HPDF_FontType {
HPDF_FONT_TYPE1 = 0,
HPDF_FONT_TRUETYPE,
HPDF_FONT_TYPE3,
HPDF_FONT_TYPE0_CID,
HPDF_FONT_TYPE0_TT,
HPDF_FONT_CID_TYPE0,
HPDF_FONT_CID_TYPE2,
HPDF_FONT_MMTYPE1
} HPDF_FontType;
typedef HPDF_Dict HPDF_Font;
typedef HPDF_TextWidth
(*HPDF_Font_TextWidths_Func) (HPDF_Font font,
const HPDF_BYTE *text,
HPDF_UINT len);
typedef HPDF_UINT
(*HPDF_Font_MeasureText_Func) (HPDF_Font font,
const HPDF_BYTE *text,
HPDF_UINT len,
HPDF_REAL width,
HPDF_REAL fontsize,
HPDF_REAL charspace,
HPDF_REAL wordspace,
HPDF_BOOL wordwrap,
HPDF_REAL *real_width);
typedef struct _HPDF_FontAttr_Rec *HPDF_FontAttr;
typedef struct _HPDF_FontAttr_Rec {
HPDF_FontType type;
HPDF_WritingMode writing_mode;
HPDF_Font_TextWidths_Func text_width_fn;
HPDF_Font_MeasureText_Func measure_text_fn;
HPDF_FontDef fontdef;
HPDF_Encoder encoder;
/* if the encoding-type is HPDF_ENCODER_TYPE_SINGLE_BYTE, the width of
* each charactors are cashed in 'widths'.
* when HPDF_ENCODER_TYPE_DOUBLE_BYTE the width is calculate each time.
*/
HPDF_INT16* widths;
HPDF_BYTE* used;
HPDF_Xref xref;
HPDF_Font descendant_font;
HPDF_Dict map_stream;
HPDF_Dict cmap_stream;
} HPDF_FontAttr_Rec;
HPDF_Font
HPDF_Type1Font_New (HPDF_MMgr mmgr,
HPDF_FontDef fontdef,
HPDF_Encoder encoder,
HPDF_Xref xref);
HPDF_Font
HPDF_TTFont_New (HPDF_MMgr mmgr,
HPDF_FontDef fontdef,
HPDF_Encoder encoder,
HPDF_Xref xref);
HPDF_Font
HPDF_Type0Font_New (HPDF_MMgr mmgr,
HPDF_FontDef fontdef,
HPDF_Encoder encoder,
HPDF_Xref xref);
HPDF_BOOL
HPDF_Font_Validate (HPDF_Font font);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _HPDF_FONT_H */