Mako 7.3.0 API
JawsMako::IFontProcessorDeferredTransform Class Referenceabstract

A transform for performing font subsetting and merging, but it only replaces modified fonts with placeholders. These fonts will /not/ be usable until finaliseFonts() is called. More...

#include <transforms.h>

Inheritance diagram for JawsMako::IFontProcessorDeferredTransform:

Public Member Functions

virtual void finaliseFonts ()=0
 Finalise any fonts, ensuring that any placeholders have now been populated with real font data.
 
virtual void setShouldSubset (bool subset)=0
 Set whether or not subsetting should be performed. The default is true.
 
virtual void setShouldMerge (bool merge)=0
 Set whether or not font merging should be performed. The default is true.
 
virtual bool shouldMerge ()=0
 Determine if font merging has been enabled. More...
 
virtual bool shouldSubset ()=0
 Determine if font subsetting has been enabled. More...
 
- Public Member Functions inherited from JawsMako::ITransform
virtual IDOMBrushPtr transform (const IDOMBrushPtr &brush, eBrushUsage usage=eBUGeneral, const CTransformState &state=CTransformState())=0
 Apply the transform to the given brush, if applicable. These transforms are thread safe. More...
 
virtual IDOMImagePtr transform (const IDOMImagePtr &image, const CTransformState &state=CTransformState())=0
 Apply the transform to the given image, if applicable. These transforms are thread safe. More...
 
virtual IDOMColorPtr transform (const IDOMColorPtr &color, const CTransformState &state=CTransformState())=0
 Apply the transform to the given color, if applicable. These transforms are thread safe. More...
 
virtual IDOMColorSpacePtr transform (const IDOMColorSpacePtr &colorSpace, const CTransformState &state=CTransformState())=0
 Apply the transform to the given colorspace, if applicable. These transforms are thread safe. More...
 
virtual IDOMNodePtr transform (const IDOMNodePtr &node, bool &changed, bool transformChildren=true, const CTransformState &state=CTransformState())=0
 Apply the transform to the given node, if applicable. These transforms are thread safe, providing no other transforms are being applied to the same nodes at the same time. More...
 
virtual void transformPage (const IPagePtr &page, bool transformContent=true, bool transformAnnotations=true)=0
 Apply the transform to the given page, if applicable. These transforms are thread safe, providing no other transforms are being applied to the same nodes at the same time. The transform will also apply to the annotations appearances. More...
 
virtual void flushCaches ()=0
 Flush the caches used by the transform. Most transforms cache recently transformed results to improve the performance of repeated transformations of equivalent results. However, it is possible that some cached results may point to entities that no longer exist, such as content inside an XPS file that no longer exists. If you are deleting or replacing files where transforms have been used, it is advisable to invoke this routine to clear the caches.
 
virtual void setProgressMonitor (const IProgressMonitorPtr &progressMonitor)=0
 Set the IProgressMonitor object for this transform to allow for monitoring the progress of the transform. More...
 
- Public Member Functions inherited from IRCObject
virtual void addRef () const =0
 Increases the reference count of the actual object pointed to. This would take place during an assignment or copying.
 
virtual bool decRef () const =0
 Decreases the reference count of the actual object pointed to. When the reference count falls to Zero, it deletes the actual object pointed to. More...
 
virtual int32 getRefCount () const =0
 Retrieve the current reference count of the actual object pointed to. More...
 

Static Public Member Functions

static JAWSMAKO_API IFontProcessorDeferredTransformPtr create (const IJawsMakoPtr &jawsMako, const IAbortPtr &abort=IAbortPtr())
 Create the transform. More...
 

Additional Inherited Members

- Protected Member Functions inherited from IRCObject
virtual ~IRCObject ()
 Virtual destructor.
 

Detailed Description

A transform for performing font subsetting and merging, but it only replaces modified fonts with placeholders. These fonts will /not/ be usable until finaliseFonts() is called.

That is, the results of invoking transform() are not complete and should not be used for other purposes until finaliseFonts() is invoked. As such, it is not safe to use this transform in an ITransformChain with other transforms that may need to use the font information.

This transform exists so that many pages may be transformed before font changes are committed. This means that a single subset of a font may be generated for a batch of pages, or a single merged font for a batch of pages. This generates more efficient results than IFontProcessorTransform can provide. Please see the description of IFontProcessor for further details.

To use this transform effectively, apply it to as large a series of objects as possible, and then invoke finaliseFonts() to complete the operation and fully populate the merged or subsetted fonts.

Internally, the IFontProcessorTransform uses this transform internally, simply invoking finaliseFonts() before returning control to the caller.

Member Function Documentation

◆ create()

static JAWSMAKO_API IFontProcessorDeferredTransformPtr JawsMako::IFontProcessorDeferredTransform::create ( const IJawsMakoPtr &  jawsMako,
const IAbortPtr &  abort = IAbortPtr() 
)
static

Create the transform.

Parameters
jawsMakoThe JawsMako instance.
abortAn abort callback handler.
Returns
The new instance.

◆ shouldMerge()

virtual bool JawsMako::IFontProcessorDeferredTransform::shouldMerge ( )
pure virtual

Determine if font merging has been enabled.

Returns
bool Whether or not font merging has been enabled.

◆ shouldSubset()

virtual bool JawsMako::IFontProcessorDeferredTransform::shouldSubset ( )
pure virtual

Determine if font subsetting has been enabled.

Returns
bool Whether or not font subsetting has been enabled.

The documentation for this class was generated from the following file: