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

Go to the source code of this file.


struct  vcl::TrueTypeCreator


namespace  vcl


#define CMAP_PAIR_INIT   500
#define CMAP_PAIR_INCR   500


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 void * vcl::smalloc (sal_uInt32 size)
static void * vcl::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, AbstractTrueTypeFont *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...


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 315 of file ttcr.cxx.


#define CMAP_PAIR_INIT   500

Definition at line 314 of file ttcr.cxx.



Definition at line 313 of file ttcr.cxx.



Definition at line 312 of file ttcr.cxx.

Function Documentation

◆ TrueTypeCreatorDispose()

void TrueTypeCreatorDispose ( vcl::TrueTypeCreator _this)

TrueTypeCreator destructor.

It calls destructors for all TrueTypeTables added to it.

Definition at line 1459 of file ttcr.cxx.

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

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

◆ TrueTypeTableDispose()

void TrueTypeTableDispose ( void *  arg)

Destructor for the TrueTypeTable object.

Definition at line 1468 of file ttcr.cxx.

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

Referenced by vcl::TrueTypeCreatorNewEmpty().