LibreOffice Module vcl (master)  1
Classes | Namespaces | Macros | Functions | Variables
ttcr.cxx File Reference
#include <assert.h>
#include "ttcr.hxx"
#include "list.h"
#include <string.h>
Include dependency graph for ttcr.cxx:

Go to the source code of this file.

Classes

struct  vcl::TrueTypeCreator
 
struct  vcl::TableEntry
 
struct  vcl::CmapSubTable
 
struct  vcl::table_cmap
 
struct  vcl::tdata_generic
 
struct  vcl::tdata_loca
 
struct  vcl::tdata_post
 

Namespaces

 vcl
 

Macros

#define CMAP_SUBTABLE_INIT   10
 
#define CMAP_SUBTABLE_INCR   10
 
#define CMAP_PAIR_INIT   500
 
#define CMAP_PAIR_INCR   500
 

Functions

static sal_Int16 vcl::GetInt16 (const sal_uInt8 *ptr, sal_uInt32 offset)
 
static sal_uInt16 vcl::GetUInt16 (const sal_uInt8 *ptr, sal_uInt32 offset)
 
static void vcl::PutInt16 (sal_Int16 val, sal_uInt8 *ptr, sal_uInt32 offset)
 
static void vcl::PutUInt16 (sal_uInt16 val, sal_uInt8 *ptr, sal_uInt32 offset)
 
static void vcl::PutUInt32 (sal_uInt32 val, sal_uInt8 *ptr, sal_uInt32 offset)
 
static int vcl::TableEntryCompareF (const void *l, const void *r)
 
static int vcl::NameRecordCompareF (const void *l, const void *r)
 
static sal_uInt32 vcl::CheckSum (sal_uInt32 *ptr, sal_uInt32 length)
 
static voidvcl::smalloc (sal_uInt32 size)
 
static voidvcl::scalloc (sal_uInt32 n, sal_uInt32 size)
 
void vcl::TrueTypeCreatorNewEmpty (sal_uInt32 tag, TrueTypeCreator **_this)
 TrueTypeCreator constructor. More...
 
void vcl::AddTable (TrueTypeCreator *_this, TrueTypeTable *table)
 Adds a TrueType table to the TrueType creator. More...
 
void vcl::RemoveTable (TrueTypeCreator *_this, sal_uInt32 tag)
 Removes a TrueType table from the TrueType creator if it is stored there. More...
 
static void vcl::ProcessTables (TrueTypeCreator *)
 
SFErrCodes vcl::StreamToMemory (TrueTypeCreator *_this, sal_uInt8 **ptr, sal_uInt32 *length)
 Writes a TrueType font generated by the TrueTypeCreator to a segment of memory that this method allocates. More...
 
SFErrCodes vcl::StreamToFile (TrueTypeCreator *_this, const char *fname)
 Writes a TrueType font generated by the TrueTypeCreator to a file. More...
 
static sal_uInt8vcl::ttmalloc (sal_uInt32 nbytes)
 
static void vcl::FreeGlyphData (void *ptr)
 
static void vcl::TrueTypeTableDispose_generic (TrueTypeTable *_this)
 
static void vcl::TrueTypeTableDispose_head (TrueTypeTable *_this)
 
static void vcl::TrueTypeTableDispose_hhea (TrueTypeTable *_this)
 
static void vcl::TrueTypeTableDispose_loca (TrueTypeTable *_this)
 
static void vcl::TrueTypeTableDispose_maxp (TrueTypeTable *_this)
 
static void vcl::TrueTypeTableDispose_glyf (TrueTypeTable *_this)
 
static void vcl::TrueTypeTableDispose_cmap (TrueTypeTable *_this)
 
static void vcl::TrueTypeTableDispose_name (TrueTypeTable *_this)
 
static void vcl::TrueTypeTableDispose_post (TrueTypeTable *_this)
 
static int vcl::GetRawData_generic (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
static int vcl::GetRawData_head (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
static int vcl::GetRawData_hhea (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
static int vcl::GetRawData_loca (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
static int vcl::GetRawData_maxp (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
static int vcl::GetRawData_glyf (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
static sal_uInt8vcl::PackCmapType0 (CmapSubTable const *s, sal_uInt32 *length)
 
static sal_uInt8vcl::PackCmapType6 (CmapSubTable const *s, sal_uInt32 *length)
 
static sal_uInt8vcl::PackCmap (CmapSubTable const *s, sal_uInt32 *length)
 
static int vcl::GetRawData_cmap (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
static int vcl::GetRawData_name (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
static int vcl::GetRawData_post (TrueTypeTable *_this, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 
TrueTypeTable * vcl::TrueTypeTableNew (sal_uInt32 tag, sal_uInt32 nbytes, const sal_uInt8 *ptr)
 Creates a new raw TrueType table. More...
 
TrueTypeTable * vcl::TrueTypeTableNew_head (sal_uInt32 fontRevision, sal_uInt16 flags, sal_uInt16 unitsPerEm, const sal_uInt8 *created, sal_uInt16 macStyle, sal_uInt16 lowestRecPPEM, sal_Int16 fontDirectionHint)
 Creates a new 'head' table for a TrueType font. More...
 
TrueTypeTable * vcl::TrueTypeTableNew_hhea (sal_Int16 ascender, sal_Int16 descender, sal_Int16 linegap, sal_Int16 caretSlopeRise, sal_Int16 caretSlopeRun)
 Creates a new 'hhea' table for a TrueType font. More...
 
TrueTypeTable * vcl::TrueTypeTableNew_loca ()
 Creates a new empty 'loca' table for a TrueType font. More...
 
TrueTypeTable * vcl::TrueTypeTableNew_maxp (const sal_uInt8 *maxp, int size)
 Creates a new 'maxp' table based on an existing maxp table. More...
 
TrueTypeTable * vcl::TrueTypeTableNew_glyf ()
 Creates a new empty 'glyf' table. More...
 
TrueTypeTable * vcl::TrueTypeTableNew_cmap ()
 Creates a new empty 'cmap' table. More...
 
static void vcl::DisposeNameRecord (void *ptr)
 
static NameRecord * vcl::NameRecordNewCopy (NameRecord const *nr)
 
TrueTypeTable * vcl::TrueTypeTableNew_name (int n, NameRecord const *nr)
 Creates a new 'name' table. More...
 
TrueTypeTable * vcl::TrueTypeTableNew_post (sal_Int32 format, sal_Int32 italicAngle, sal_Int16 underlinePosition, sal_Int16 underlineThickness, sal_uInt32 isFixedPitch)
 Creates a new 'post' table of one of the supported formats. More...
 
int vcl::GetRawData (TrueTypeTable *, sal_uInt8 **ptr, sal_uInt32 *len, sal_uInt32 *tag)
 This function converts the data of a TrueType table to a raw array of bytes. More...
 
void vcl::cmapAdd (TrueTypeTable *, sal_uInt32 id, sal_uInt32 c, sal_uInt32 g)
 Add a character/glyph pair to a cmap table. More...
 
sal_uInt32 vcl::glyfAdd (TrueTypeTable *, GlyphData *glyphdata, TrueTypeFont *fnt)
 Add a glyph to a glyf table. More...
 
sal_uInt32 vcl::glyfCount (const TrueTypeTable *)
 Query the number of glyphs currently stored in the 'glyf' table. More...
 
static TrueTypeTable * vcl::FindTable (TrueTypeCreator *tt, sal_uInt32 tag)
 
void TrueTypeCreatorDispose (vcl::TrueTypeCreator *_this)
 TrueTypeCreator destructor. More...
 
void TrueTypeTableDispose (void *arg)
 Destructor for the TrueTypeTable object. More...
 

Variables

struct {
   sal_uInt32   vcl::tag
 
   void(*   vcl::f )(TrueTypeTable *)
 
vcl::vtable1 []
 
struct {
   sal_uInt32   vcl::tag
 
   int(*   vcl::f )(TrueTypeTable *, sal_uInt8
      **, sal_uInt32 *, sal_uInt32 *)
 
vcl::vtable2 []
 

Macro Definition Documentation

#define CMAP_PAIR_INCR   500

Definition at line 308 of file ttcr.cxx.

Referenced by vcl::cmapAdd().

#define CMAP_PAIR_INIT   500

Definition at line 307 of file ttcr.cxx.

Referenced by vcl::cmapAdd().

#define CMAP_SUBTABLE_INCR   10

Definition at line 306 of file ttcr.cxx.

Referenced by vcl::cmapAdd().

#define CMAP_SUBTABLE_INIT   10

Definition at line 305 of file ttcr.cxx.

Referenced by vcl::TrueTypeTableNew_cmap().

Function Documentation

void TrueTypeCreatorDispose ( vcl::TrueTypeCreator _this)

TrueTypeCreator destructor.

It calls destructors for all TrueTypeTables added to it.

Definition at line 1416 of file ttcr.cxx.

References listDispose(), and vcl::TrueTypeCreator::tables.

Referenced by vcl::CreateT42FromTTGlyphs(), and vcl::CreateTTFromTTGlyphs().

void TrueTypeTableDispose ( void arg)

Destructor for the TrueTypeTable object.

Definition at line 1425 of file ttcr.cxx.

References i, vcl::TrueTypeTable::rawdata, SAL_N_ELEMENTS, vcl::TrueTypeTable::tag, and vcl::vtable1.

Referenced by vcl::TrueTypeCreatorNewEmpty().