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>
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 void | setIgnoreUnembeddedFonts (bool ignore)=0 |
Set whether or not fonts that are not marked for embedding should be ignored by this transform. The default is false. | |
virtual void | setIgnoreRestrictedFonts (bool ignore)=0 |
Set whether or not fonts that are marked as restricted should be ignored by this transform. The default is false. | |
virtual void | setIgnoreFonts (const CU8StringVect &ignoreFonts)=0 |
Specify a list of font names that should not be processed by this transform. A font will be ignored if its PostScript name matches any string in this vector. The default is an empty vector. | |
virtual bool | shouldMerge ()=0 |
Determine if font merging has been enabled. | |
virtual bool | shouldSubset ()=0 |
Determine if font subsetting has been enabled. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
virtual int32 | getRefCount () const =0 |
Retrieve the current reference count of the actual object pointed to. | |
Static Public Member Functions | |
static JAWSMAKO_API IFontProcessorDeferredTransformPtr | create (const IJawsMakoPtr &jawsMako, const IAbortPtr &abort=IAbortPtr()) |
Create the transform. | |
Additional Inherited Members | |
Protected Member Functions inherited from IRCObject | |
virtual | ~IRCObject () |
Virtual destructor. | |
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.
|
static |
Create the transform.
jawsMako | The JawsMako instance. |
abort | An abort callback handler. |
|
pure virtual |
Determine if font merging has been enabled.
|
pure virtual |
Determine if font subsetting has been enabled.