An abstract class providing an interface to a "Glyphs" node. Glyphs nodes are used to represent a run of uniformly formatted text from a single font. Text runs are broken by line advances and formatting changes. When a text run is broken, a new Glyphs node will be created to describe the text from the change point onwards. More...
#include <idomglyphs.h>
Classes | |
class | Data |
Initialization data. More... | |
Public Types | |
enum | eStyleSimulations |
Specifies a style simulation for a glyphs node. | |
Public Member Functions | |
virtual uint8 | getBidiLevel () const =0 |
Retrieves the bidiLevel of the text run. | |
virtual void | setBidiLevel (uint8 bidiLevel)=0 |
Sets the bidiLevel for this run of text. | |
virtual const EDLSysString & | getCaretStops () const =0 |
Retrieves the XPS-specific caret stop specification for a run of glyphs. | |
virtual void | setCaretStops (const EDLSysString &caretStops)=0 |
Sets the XPS-specific caret stop specification for a run of glyphs. | |
virtual const EDLString & | getDeviceFontName () const =0 |
Retrieves the XPS-specific device font name. The device font name, which uniquely identifies a specific device font. The identifier is typically defined by a hardware vendor or font vendor. | |
virtual void | setDeviceFontName (const EDLString &name)=0 |
Sets the the XPS-specific device font name The device font name, which uniquely identifies a specific device font. The identifier is typically defined by a hardware vendor or font vendor. | |
virtual double | getFontRenderingEmSize () const =0 |
Retrieves the font rendering em size in drawing surface units. The font rendering em size is expressed as a floating point value in units of the effective coordinate space. A value of 0 results in no visible text. | |
virtual void | setFontRenderingEmSize (double emSize)=0 |
Sets the font rendering em size in drawing surface units. The font rendering em size is expressed as a floating point value in units of the effective coordinate space. A value of 0 results in no visible text. | |
virtual IDOMFontPtr | getFont () const =0 |
Retrieves a pointer to the font object describing the font in which the text is displayed. | |
virtual void | setFont (const IDOMFontPtr &font)=0 |
Sets the font object to be used to display the text. | |
virtual uint32 | getFontIndex () const =0 |
Retrieves the font index. | |
virtual void | setFontIndex (uint32 index)=0 |
Sets the font index. | |
virtual double | getOriginX () const =0 |
Retrieves the x-coordinate of the first glyph in the run, in units of the effective coordinate space. The first glyph is placed so that the leading edge of its advance vector and its baseline intersect with the point defined by the originX and originY coordinates. | |
virtual void | setOriginX (double originX)=0 |
Sets the x-coordinate of the first glyph in the run, in units of the effective coordinate space. The first glyph is placed so that the leading edge of its advance vector and its baseline intersect with the point defined by the originX and originY coordinates. | |
virtual double | getOriginY () const =0 |
Retrieves the y-coordinate of the first glyph in the run, in units of the effective coordinate space. The first glyph is placed so that the leading edge of its advance vector and its baseline intersect with the point defined by the originX and originY coordinates. | |
virtual void | setOriginY (double originY)=0 |
Sets the y-coordinate of the first glyph in the run, in units of the effective coordinate space. The first glyph is placed so that the leading edge of its advance vector and its baseline intersect with the point defined by the originX and originY coordinates. | |
virtual bool | getIsSideways () const =0 |
Indicates that a glyph is turned on its side, with the origin being defined as the top center of the unturned glyph. | |
virtual void | setIsSideways (bool isSideways)=0 |
Sets the IsSideways value. See getIsSideways for a description of the effects of IsSideways. | |
virtual const EDLSysString & | getIndices () const =0 |
Retrieves a Unicode string that represents the text of the run of glyphs. | |
virtual void | setIndices (const EDLSysString &indices)=0 |
Sets the glyphs indices. | |
virtual const EDLString & | getUnicodeString () const =0 |
Gets the Unicode string that represents the text of the run of glyphs. | |
virtual void | setUnicodeString (const EDLString &unicodeString)=0 |
Sets the Unicode string that represents the text of the run of glyphs. | |
virtual IGlyphsClustersPtr | getClusters () const =0 |
Unpack the UnicodeString and Indices strings into a set of clusters representing the smallest units of information in the text. This form combines the unicode and indices information such that they are more easily edited together. The returned IGlyphsCluster instance can be edited freely; a new instance is returned on every call. However, for the changes to have effect, setClusters() must be called to repopulate the UnicodeString and Indices. | |
virtual void | setClusters (const IGlyphsClustersPtr &clusters)=0 |
Populate the glyphs node UnicodeString and Indices from the given set of glyphs clusters. | |
virtual eStyleSimulations | getStyleSimulations () const =0 |
Retrieves the style simulation value. | |
virtual void | setStyleSimulations (eStyleSimulations styleSimulations)=0 |
Retrieves the style simulation value. | |
virtual const FMatrix & | getRenderTransform () const =0 |
Retrieves the render transform matrix of the Glyphs node and its children. The render transform establishes a new coordinate frame for the child and descendants of the Glyphs node. The render transform also affects clip and opacity masks, fill, x-origin, y-origin, the actual shape of the individual glyphs and the advance widths. The render transform also affects the font size and values specified by the indices setting. | |
virtual void | setRenderTransform (const FMatrix &matrix)=0 |
Sets the render transform matrix of the Glyphs node and its children. The render transform establishes a new coordinate frame for the child and descendants of the Glyphs node. The render transform also affects clip and opacity masks, fill, x-origin, y-origin, the actual shape of the individual glyphs and the advance widths. The render transform also affects the font size and values specified by the indices setting. | |
virtual float | getOpacity () const =0 |
Retrieves the opacity value of the Glyphs node. The opacity value defines the uniform transparency of the canvas. The opacity value is a number between 0 (fully transparent) and 1 (fully opaque). Values outside this range are invalid. The default value is 1.0. | |
virtual void | setOpacity (float opc)=0 |
Sets the opacity value of the Glyphs node. The opacity value defines the uniform transparency of the canvas. The opacity value is a number between 0 (fully transparent) and 1 (fully opaque). Values outside this range are invalid. The default value is 1.0. Will return 0.0 if the node is intended to be inivisible (see #setIsInivisible()). | |
virtual eBlendMode | getBlendMode () const =0 |
Gets the blend mode to be used for rendering this node. | |
virtual void | setBlendMode (eBlendMode blendMode)=0 |
Sets the blend mode to be used for rendering this node. Note: modes other than Normal are not directly representable in XPS. | |
virtual IDOMTargetPtr | getNavigateLink () const =0 |
Retrieves the target of a hyperlink. | |
virtual void | setNavigateLink (const IDOMTargetPtr &target)=0 |
Sets the target of a hyperlink. | |
virtual const EDLString & | getLanguage () const =0 |
Retrieves the default language of the Glyphs element and any of its children. | |
virtual void | setLanguage (const EDLString &lang)=0 |
Sets the default language of the Glyphs element and any of its children. | |
virtual IDOMBrushPtr | getOpacityMask () const =0 |
Retrieves the opacity mask for the node. The opacity mask specifies a mask of alpha values that is applied to the glyphs in the same fashion as the opacity setting, but allowing different alpha values for different areas of the canvas. | |
virtual void | setOpacityMask (const IDOMBrushPtr &ptrOpacityMask)=0 |
Sets the opacity mask for the node. The opacity mask specifies a mask of alpha values that is applied to the glyphs in the same fashion as the opacity setting, but allowing different alpha values for different areas of the canvas. | |
virtual IDOMPathGeometryPtr | getClip () const =0 |
Retrieves the clip for the Glyphs node. The clip limits the rendered region of the glyph. | |
virtual void | setClip (const IDOMPathGeometryPtr &ptrClip)=0 |
Sets the clip for the Glyphs node. The clip limits the rendered region of the glyph. | |
virtual IDOMBrushPtr | getFill () const =0 |
Retrieves the fill brush used to fill the shape of the rendered glyphs. | |
virtual void | setFill (const IDOMBrushPtr &ptrFill)=0 |
Sets the fill brush used to fill the shape of the rendered glyphs. | |
virtual IDOMGlyph::CDOMGlyphDataVect | getFlattenedGlyphInfo () const =0 |
Retrieves the flattened glyph information, indicating every glyph that results from painting this glyphs nodes. The results are provided as a simple vector of IDOMGlyph::Data objects, laid out according to the glyphs node with offsets, glyph positioning, advance, bounds, unicode (if present) and glyph ID information computed. | |
virtual bool | getIsCharPath () const =0 |
Retrieves a Boolean value which indicates if this Glyphs node is intended to draw a path. | |
virtual void | setIsCharPath (bool isCharPath)=0 |
Sets the flag to indicate if this glyph is intended to draw a path. | |
virtual bool | getIsInvisible () const =0 |
Retrieves a Boolean value which indicates if this Glyphs node is intended to be invisible. | |
virtual void | setIsInvisible (bool isInvisible)=0 |
Sets the flag to indicate if this glyph is intended to be invisible. | |
virtual IDOMPathNodePtr | getEquivalentPath () const =0 |
Get a graphically equivalent path node for the glyphs node, with all glyphs converted to path geometry. Not possible for glyphs nodes using Type 3 fonts, and will result in an exception. | |
virtual IDOMNodePtr | split () const =0 |
Split the glyphs node into a series of glyph nodes each consisting of the smallest possible unit. | |
virtual IDOMNodePtr | hardSplit () const =0 |
Split the glyphs node into a series of glyph nodes each consisting of single glyphs. | |
virtual bool | validateInstructions () const =0 |
Validate glyph instructions. | |
virtual bool | getFillOverprints () const =0 |
Retrieves whether or not the fill should overprint. Overprinting is honored only for rendering, PDF and PostScript output. It will also be honored should any output need to render as part of producing the output. | |
virtual void | setFillOverprints (bool overprint=true)=0 |
Sets whether or not the fill should overprint. Overprinting is honored only for rendering, PDF and PostScript output. It will also be honored should any output need to render as part of producing the output. | |
virtual bool | getOverprintMode () const =0 |
Retrieves whether or not overprint should obey PDF/PS overprint mode semantics. PDF and PostScript support a manner of overprinting for CMYK scenarios where an individual CMYK component may overprint if that channel is zero and the rendering target is also the same CMYK color space (excluding some transparency group scenarios). Setting overprint mode to true enables this feature. | |
virtual void | setOverprintMode (bool mode=true)=0 |
Sets whether or not overprint should obey PDF/PS overprint mode semantics. PDF and PostScript support a manner of overprinting for CMYK scenarios where an individual CMYK component may overprint if that channel is zero and the rendering target is also the same CMYK color space (excluding some transparency group scenarios). Setting overprint mode to true enables this feature. | |
virtual eRenderingIntent | getRenderingIntent () const =0 |
Get the rendering intent for the node if present. The rendering intent is used whenever the node requires color conversion to a different color space. Set eRenderingIntentUnset to unset the rendering intent, in which a default will be chosen based on the color space in use. This setting is honored only for rendering, color conversion, PDF or PostScript output. | |
virtual void | setRenderingIntent (eRenderingIntent intent)=0 |
Set or clear the rendering intent for the node. The rendering intent is used whenever the node requires color conversion to a different color space. Set eRenderingIntentUnset to unset the rendering intent, in which a default will be chosen based on the color space in use. This setting is honored only for rendering, color conversion, PDF or PostScript output. | |
virtual eBlackPointCompensation | getBlackPointCompensation () const =0 |
Get the black point compensation for the node. The black point compensation setting is used whenever the node requires color conversion to a different color space and affects how dark regions are handled. This setting is honored only for rendering, color conversion, PDF or PostScript output. | |
virtual void | setBlackPointCompensation (eBlackPointCompensation compensation)=0 |
Set the black point compensation for the node. The black point compensation setting is used whenever the node requires color conversion to a different color space and affects how dark regions are handled. This setting is honored only for rendering, color conversion, PDF or PostScript output. | |
Public Member Functions inherited from IDOMNode | |
virtual | ~IDOMNode () |
virtual destructor | |
virtual DOMid | getDOMid () const =0 |
Retrieves the node ID. | |
virtual void | setDOMid (DOMid id)=0 |
Sets the node ID. | |
virtual eDOMNodeType | getNodeType () const =0 |
Retrieves the DOM node type. | |
virtual bool | getProperty (const EDLSysString &propertyName, PValue &propertyValue) const =0 |
Retrieves the value of a property. The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on. | |
virtual void | setProperty (const EDLSysString &propertyName, const PValue &propertyValue)=0 |
Sets the value of a property. The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on. | |
virtual void | removeProperty (const EDLSysString &propertyName)=0 |
Removes property. | |
virtual IEDLSysStringCollectionEnumPtr | getPropertyCollectionEnum ()=0 |
Retrieves a navigable list of the property names stored on this node. | |
virtual bool | hasChildNodes () const =0 |
Function that indicates whether this node is a parent to other nodes. | |
virtual IDOMNodePtr | getParentNode () const =0 |
Gets the parent node of this node. | |
virtual IDOMNodePtr | getFirstChild () const =0 |
Gets the first child node of this node. | |
virtual IDOMNodePtr | getLastChild () const =0 |
Gets the last child node of this node. | |
virtual IDOMNodePtr | getNextChild (const IDOMNodePtr &child) const =0 |
Gets the child node which follows the node passed in. | |
virtual IDOMNodePtr | getPreviousChild (const IDOMNodePtr &child) const =0 |
Gets the child node which precedes the node passed in. | |
virtual IDOMNodePtr | getPreviousSibling () const =0 |
Retrieves the node's previous sibling node. | |
virtual IDOMNodePtr | getNextSibling () const =0 |
Retrieves node's next sibling node. | |
virtual void | appendChild (const IDOMNodePtr &child)=0 |
Appends a node to the end of the node's child list. | |
virtual void | insertChild (const IDOMNodePtr &ptrPreviousSibling, const IDOMNodePtr &child, bool bCheckComplete=true)=0 |
Insert a child node after ptrPreviousSibling. | |
virtual IDOMNodePtr | extractChild (const IDOMNodePtr &child)=0 |
Extracts (that is, finds and removes) a child node from the node children. After extraction the child node is no longer a part of the DOM. If no node is specified, the first available node will be extracted from the node's children. | |
virtual void | replaceChild (const IDOMNodePtr &oldChild, const IDOMNodePtr &newChild)=0 |
Replaces the child node with another. | |
virtual bool | isComplete () const =0 |
Signals the completeness of the node. A complete node is one that has no more children to be added to it. | |
virtual void | setComplete ()=0 |
Sets the node's completeness status to "true". | |
virtual IDOMNodeFlags * | getFlags ()=0 |
Retrieves the node's flags property. | |
virtual void | setParentNode (const IDOMNodePtr &ptrParent)=0 |
Sets the parent node. | |
virtual void | setPreviousSibling (const IDOMNodePtr &ptrPreviousSibling)=0 |
Sets the previous sibling node. | |
virtual void | setNextSibling (const IDOMNodePtr &ptrNextSibling)=0 |
Sets the next sibling node. | |
virtual bool | isAncestor (const IDOMNodePtr &ptrCandidate)=0 |
Function tests whether a candidate node is a descendant of the node. | |
virtual FRect | getBounds (bool applyTransform=true, bool applyClip=true) |
Find the conservative bounding box of the marking content of the node. | |
virtual bool | copyNodeData (IDOMNode *pSourceNode)=0 |
Copy the properties collection, the flags and the DOM ID from the given source node to this one. | |
virtual IDOMNodePtr | cloneNode (IEDLClassFactory *pFactory) const =0 |
Simpified node cloning. An exception of type IEDLError will be thrown on failure. | |
virtual IDOMNodePtr | cloneTree (IEDLClassFactory *pFactory) const =0 |
Clone the tree of nodes beginning at this node. An exception of type IEDLError will be thrown on failure. | |
virtual void | cloneTreeAndAppend (IEDLClassFactory *pFactory, const IDOMNodePtr &dest) const =0 |
Clone the tree of nodes beginning at this node, and append the result to the destination tree. | |
virtual void | completeTree ()=0 |
Mark the entire tree from this point as complete. You should not ordinarily need to call this function. | |
virtual void | removeCompleteFlagFromTree ()=0 |
Mark the entire tree from this point as complete. | |
virtual void | findChildrenOfType (eDOMNodeType type, CDOMNodeVect &nodes, bool searchForms=false)=0 |
Find all children of this node with the given type, appending to the given vector. Does not descend into brushes. | |
virtual void | walkTree (WalkTreeFunc func, void *priv, bool descendIntoBrushes=false, bool descendIntoForms=false)=0 |
Walk through the DOM calling a given function on each node. The function is allowed to: | |
virtual void | notifyOnDestruct (NodeDeleteFunc func, void *priv)=0 |
Register interest in being told when this node is about to be destroyed. | |
virtual void | unregisterNotify (NodeDeleteFunc func, void *priv)=0 |
Unregister interest in being told when this node is about to be destroyed. | |
Public Member Functions inherited from IEDLObject | |
virtual const CClassID & | getClassID () const =0 |
Returns class ID of IEDLObject. | |
virtual bool | init (CClassParams *pData) |
The init() method is called to perform any post-construction initialization of an IEDLObject that has been created by the EDL class factory, before it is actually returned by the factory. | |
virtual bool | clone (IEDLObjectPtr &ptrObject, IEDLClassFactory *pFactory) |
Create a copy of EDLObject. | |
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 EDL_API IDOMGlyphsPtr | create (IEDLClassFactory *pFactory, const EDLString &unicodeString, double size, const FPoint &position, const IDOMBrushPtr &brush, const IDOMFontPtr &font, uint32 fontIndex=0, eStyleSimulations styleSimulations=eSSNone, const FMatrix renderTransform=FMatrix(), const IDOMPathGeometryPtr &clip=IDOMPathGeometryPtr(), float opacity=1.0f) |
Simplified creator for a glyphs object Throws an IEDLError on failure. | |
static const CClassID & | classID () |
Retrieves class id of IDOM. | |
Static Public Member Functions inherited from IDOMNode | |
static EDL_API FMatrix | effectiveTransformationOfNode (const IDOMNodePtr &node) |
Attempt to find the effective transformation matrix external to the specified node relative to either a containing page or ultimate parent. | |
Additional Inherited Members | |
Protected Member Functions inherited from IRCObject | |
virtual | ~IRCObject () |
Virtual destructor. | |
An abstract class providing an interface to a "Glyphs" node. Glyphs nodes are used to represent a run of uniformly formatted text from a single font. Text runs are broken by line advances and formatting changes. When a text run is broken, a new Glyphs node will be created to describe the text from the change point onwards.
A Glyphs node may describe an extended run of text or a single character, depending on the document formatting. The set of properties of a Glyphs node allows for a complete description of the glyph characteristics, such as the fill and opacity of the text, as well as clipping information.
A Glyphs node also allows the specification of a Unicode string and supports bidirectional and vertical text.
Some properties of the Glyphs node are composable, meaning that the markings rendered to the page are determined by a combination of the property and all the like-named properties of the Glyphs node's parent.
Errors are via exceptions of type IEDLError.
|
inlinestatic |
Retrieves class id of IDOM.
|
static |
Simplified creator for a glyphs object Throws an IEDLError on failure.
pFactory | The factory to use. |
position | The desired position for the glyphs. |
unicodeString | The text to be used. |
size | The font size to use, in ems. |
brush | The fill brush to use. |
font | The font to use. |
fontIndex | The index of the font to use, if the font is within a truetype collection. |
styleSimulations | The desired style simulations effect. |
renderTransform | The render transform to use. |
clip | The geometry to use for clipping. NULL if no clip. |
opacity | The opacity to use. |
|
pure virtual |
Retrieves the bidiLevel of the text run.
The bidi (bi-directional) level specifies the Unicode bi-directional nesting level. A value of 0 implies left-to-right text, while a value of 1 implies right-to-left text. Right-to-left text places the run origin at the right side of the first glyph, with positive advance widths representing advances to the left, so that subsequent glyphs are placed to the left of the previous glyph.
|
pure virtual |
Get the black point compensation for the node. The black point compensation setting is used whenever the node requires color conversion to a different color space and affects how dark regions are handled. This setting is honored only for rendering, color conversion, PDF or PostScript output.
|
pure virtual |
Gets the blend mode to be used for rendering this node.
|
pure virtual |
Retrieves the XPS-specific caret stop specification for a run of glyphs.
Caret stops identify the positions within the sequence of Unicode characters at which a text-selection tool may place a text-editing caret. Potential caret-stop positions are identified by their indices into the UTF-16 code units represented by the unicodeString attribute value. When this value is missing, the test in the UnicodeString attribute must be interpreted as having a caret stop between every Unicode UTF-16 code unit and at the beginning and end of the text.
Because it is legal to place the caret before any of the UTF-16 code units in the Unicode string if the caretStops attribute is omitted, omitting the caretStops attribute is equivalent to specifying a string that has all the bits set to 1.
If there are insufficient flags in the caretStops string to correspond to all the UTF-16 code units in the Unicode string, all remaining UTF-16 code units in the Unicode string MUST be considered valid caret stops.
|
pure virtual |
Retrieves the clip for the Glyphs node. The clip limits the rendered region of the glyph.
|
pure virtual |
Unpack the UnicodeString and Indices strings into a set of clusters representing the smallest units of information in the text. This form combines the unicode and indices information such that they are more easily edited together. The returned IGlyphsCluster instance can be edited freely; a new instance is returned on every call. However, for the changes to have effect, setClusters() must be called to repopulate the UnicodeString and Indices.
|
pure virtual |
Retrieves the XPS-specific device font name. The device font name, which uniquely identifies a specific device font. The identifier is typically defined by a hardware vendor or font vendor.
|
pure virtual |
Get a graphically equivalent path node for the glyphs node, with all glyphs converted to path geometry. Not possible for glyphs nodes using Type 3 fonts, and will result in an exception.
|
pure virtual |
Retrieves the fill brush used to fill the shape of the rendered glyphs.
|
pure virtual |
Retrieves whether or not the fill should overprint. Overprinting is honored only for rendering, PDF and PostScript output. It will also be honored should any output need to render as part of producing the output.
|
pure virtual |
Retrieves the flattened glyph information, indicating every glyph that results from painting this glyphs nodes. The results are provided as a simple vector of IDOMGlyph::Data objects, laid out according to the glyphs node with offsets, glyph positioning, advance, bounds, unicode (if present) and glyph ID information computed.
|
pure virtual |
Retrieves a pointer to the font object describing the font in which the text is displayed.
|
pure virtual |
Retrieves the font index.
|
pure virtual |
Retrieves the font rendering em size in drawing surface units. The font rendering em size is expressed as a floating point value in units of the effective coordinate space. A value of 0 results in no visible text.
|
pure virtual |
Retrieves a Unicode string that represents the text of the run of glyphs.
|
pure virtual |
Retrieves a Boolean value which indicates if this Glyphs node is intended to draw a path.
|
pure virtual |
Retrieves a Boolean value which indicates if this Glyphs node is intended to be invisible.
|
pure virtual |
Indicates that a glyph is turned on its side, with the origin being defined as the top center of the unturned glyph.
Glyphs for text in vertical writing are normally represented by rotating the co-ordinate system and using the isSideways attribute. Glyph runs with isSideways set to true will be rotated 90 degrees counter-clockwise and placed so that the sideways baseline origin is coincident with the normal origin of the character, as modified by the offset vector in the indices attribute. The advance setting places the nominal origin of the next character a distance along the direction of the progression of the run. The direction of the advance setting is unaffected by isSideways, however the method by which the size of the advance vector is chosen is different.
For example, to represent a run of characters top to bottom of a page, a render transform can be used to rotate the coordinate system 90 degrees clockwise. originX and originY can be used to specify a position at the top of the column of text. Text from a vertical writing system can then be written using a glyphs run with isSideways set to true. The individual glyphs appear in the normal orientation because the rotation is effected by the isSideways attribute undoes the effect of the render transform.
|
pure virtual |
Retrieves the default language of the Glyphs element and any of its children.
The default language is specified according to RFC 3066. English is defined as en_GB and American English as en_US. There is no default setting. If the language is not known it is set to und (undetermined). For further information see http://www.w3.org/International/articles/language-tags/
|
pure virtual |
Retrieves the target of a hyperlink.
|
pure virtual |
Retrieves the opacity value of the Glyphs node. The opacity value defines the uniform transparency of the canvas. The opacity value is a number between 0 (fully transparent) and 1 (fully opaque). Values outside this range are invalid. The default value is 1.0.
|
pure virtual |
Retrieves the opacity mask for the node. The opacity mask specifies a mask of alpha values that is applied to the glyphs in the same fashion as the opacity setting, but allowing different alpha values for different areas of the canvas.
|
pure virtual |
Retrieves the x-coordinate of the first glyph in the run, in units of the effective coordinate space. The first glyph is placed so that the leading edge of its advance vector and its baseline intersect with the point defined by the originX and originY coordinates.
|
pure virtual |
Retrieves the y-coordinate of the first glyph in the run, in units of the effective coordinate space. The first glyph is placed so that the leading edge of its advance vector and its baseline intersect with the point defined by the originX and originY coordinates.
|
pure virtual |
Retrieves whether or not overprint should obey PDF/PS overprint mode semantics. PDF and PostScript support a manner of overprinting for CMYK scenarios where an individual CMYK component may overprint if that channel is zero and the rendering target is also the same CMYK color space (excluding some transparency group scenarios). Setting overprint mode to true enables this feature.
|
pure virtual |
Get the rendering intent for the node if present. The rendering intent is used whenever the node requires color conversion to a different color space. Set eRenderingIntentUnset to unset the rendering intent, in which a default will be chosen based on the color space in use. This setting is honored only for rendering, color conversion, PDF or PostScript output.
|
pure virtual |
Retrieves the render transform matrix of the Glyphs node and its children. The render transform establishes a new coordinate frame for the child and descendants of the Glyphs node. The render transform also affects clip and opacity masks, fill, x-origin, y-origin, the actual shape of the individual glyphs and the advance widths. The render transform also affects the font size and values specified by the indices setting.
|
pure virtual |
Retrieves the style simulation value.
Synthetic style simulations can be applied to the shape of the glyphs by using the Style Simulations function. Style simulations can be applied to the designed style of a font. The default value for Style Simulations is eSSNone, that is, the shapes of the glyphs are not modified. When eSSBold is set, the glyphs are geometrically widened by 1% of the em size, so that the centres of strokes remain at the same position. This leaves the baseline origin unmodified. The bounding box grows 1% all around for a total of 2% horizontal and 2% vertical. As a result the character height, and the advance width of each glyph are increased by 2% of the em size.
When eSSItalic is set, italicization is applied to glyphs with an IsSideways value of false. Italicization is applied by skewing the top edge of the bounding box by 20 degrees to the right, relative to the baseline of the character. Glyphs with an IsSideways value of true are italicized by skewing the right edge of the bounding box by 20 degrees down, relative to the baseline origin of the glyph. The character height and advance width are not modified.
It is possible to apply both bold and italic simulations to the glyphs by setting eSSBoldItalic.
|
pure virtual |
Gets the Unicode string that represents the text of the run of glyphs.
|
pure virtual |
Split the glyphs node into a series of glyph nodes each consisting of single glyphs.
As per split above, however here we allow unicode information to be lost in order to ensure that each glyphs node in the split result consists of a single glyph only.
The behaviour for hardSplit() only differs from split() if there is a case where one or more unicode characters is mapped to multiple glyphs in a single cluster. In this case, the cluster will be broken apart, and the unicode is lost.
Useful where it is imperative that each glyph node consists of a single glyph.
|
pure virtual |
Sets the bidiLevel for this run of text.
The bidi (bi-directional) level specifies the Unicode bi-directional nesting level. A value of 0 implies left-to-right text, while a value of 1 implies right-to-left text. Right-to-left text places the run origin at the right side of the first glyph, with positive advance widths representing advances to the left, so that subsequent glyphs are placed to the left of the previous glyph.
bidiLevel | The new bidiLevel value. |
|
pure virtual |
Set the black point compensation for the node. The black point compensation setting is used whenever the node requires color conversion to a different color space and affects how dark regions are handled. This setting is honored only for rendering, color conversion, PDF or PostScript output.
compensation | The desired black point compensation setting, or eBPCUnset to clear. |
|
pure virtual |
Sets the blend mode to be used for rendering this node. Note: modes other than Normal are not directly representable in XPS.
blendMode | The new blend mode. |
|
pure virtual |
Sets the XPS-specific caret stop specification for a run of glyphs.
Caret stops identify the positions within the sequence of Unicode characters at which a text-selection tool may place a text-editing caret. Potential caret-stop positions are identified by their indices into the UTF-16 code units represented by the unicodeString attribute value. When this value is missing, the test in the UnicodeString attribute must be interpreted as having a caret stop between every Unicode UTF-16 code unit and at the beginning and end of the text.
Because it is legal to place the caret before any of the UTF-16 code units in the Unicode string if the caretStops attribute is omitted, omitting the caretStops attribute is equivalent to specifying a string that has all the bits set to 1.
If there are insufficient flags in the caretStops string to correspond to all the UTF-16 code units in the Unicode string, all remaining UTF-16 code units in the Unicode string MUST be considered valid caret stops.
caretStops | The caret stops specification expressed as a string. |
The caretStops attribute contains an array of boolean bit-flags, which is represented as a string of hexadecimal characters. The caretStops attribute includes a final flag for placement of the caret following the final UTF-16 code unit in the Unicode string. Each hexadecimal character in the caretStops value represents the flags for four UTF-16 code units in the Unicode string, with the highest-order bit representing the first UTF-16 code unit. Any unused bits in the last UTF-16 code unit must be 0. For example if caretStops is set to "f7" (that is, 1111 0111), in reference to the run of glyphs, "Not here.", it means that it is valid to place the caret stop in any position in the run of text except for directly before the "h" of "here".
|
pure virtual |
Sets the clip for the Glyphs node. The clip limits the rendered region of the glyph.
ptrClip | Smart pointer to the new clip information, or NULL to clear. |
|
pure virtual |
Populate the glyphs node UnicodeString and Indices from the given set of glyphs clusters.
clusters | The clusters to use |
|
pure virtual |
Sets the the XPS-specific device font name The device font name, which uniquely identifies a specific device font. The identifier is typically defined by a hardware vendor or font vendor.
name | The new device font name, or an empty string to clear. |
|
pure virtual |
Sets the fill brush used to fill the shape of the rendered glyphs.
ptrFill | Smart pointer to the new fill brush. |
|
pure virtual |
Sets whether or not the fill should overprint. Overprinting is honored only for rendering, PDF and PostScript output. It will also be honored should any output need to render as part of producing the output.
overprint | The desired overprint. |
|
pure virtual |
Sets the font object to be used to display the text.
font | Smart pointer to the new font object to use. Must not be NULL. |
|
pure virtual |
Sets the font index.
index | The new font index value. |
|
pure virtual |
Sets the font rendering em size in drawing surface units. The font rendering em size is expressed as a floating point value in units of the effective coordinate space. A value of 0 results in no visible text.
emSize | The new font rendering em size value. |
|
pure virtual |
Sets the glyphs indices.
indices | The string specifying the indices. Within the string, each glyph specification is separated by a semicolon. |
|
pure virtual |
Sets the flag to indicate if this glyph is intended to draw a path.
isCharPath | True if this node is a charpath, false otherwise. |
|
pure virtual |
Sets the flag to indicate if this glyph is intended to be invisible.
isInvisible | True if this node is to be considered invisible, false otherwise. |
|
pure virtual |
Sets the IsSideways value. See getIsSideways for a description of the effects of IsSideways.
isSideways | The new IsSideways value. |
|
pure virtual |
Sets the default language of the Glyphs element and any of its children.
The default language is specified according to RFC 3066. English is defined as en_GB and American English as en_US. There is no default setting. If the language is not known it is set to und (undetermined). For further information see http://www.w3.org/International/articles/language-tags/ @param lang The new default language string.
|
pure virtual |
Sets the target of a hyperlink.
target | The target to associate with the node, or NULL to clear. |
|
pure virtual |
Sets the opacity value of the Glyphs node. The opacity value defines the uniform transparency of the canvas. The opacity value is a number between 0 (fully transparent) and 1 (fully opaque). Values outside this range are invalid. The default value is 1.0. Will return 0.0 if the node is intended to be inivisible (see #setIsInivisible()).
opc | The new opacity value. |
|
pure virtual |
Sets the opacity mask for the node. The opacity mask specifies a mask of alpha values that is applied to the glyphs in the same fashion as the opacity setting, but allowing different alpha values for different areas of the canvas.
ptrOpacityMask | Smart pointer to a brush representing the new opacity mask for the node, or null to clear. |
|
pure virtual |
Sets the x-coordinate of the first glyph in the run, in units of the effective coordinate space. The first glyph is placed so that the leading edge of its advance vector and its baseline intersect with the point defined by the originX and originY coordinates.
originX | The new x-coordinate for the first glyph in the text run. |
|
pure virtual |
Sets the y-coordinate of the first glyph in the run, in units of the effective coordinate space. The first glyph is placed so that the leading edge of its advance vector and its baseline intersect with the point defined by the originX and originY coordinates.
originY | The new y-coordinate for the first glyph in the text run. |
|
pure virtual |
Sets whether or not overprint should obey PDF/PS overprint mode semantics. PDF and PostScript support a manner of overprinting for CMYK scenarios where an individual CMYK component may overprint if that channel is zero and the rendering target is also the same CMYK color space (excluding some transparency group scenarios). Setting overprint mode to true enables this feature.
mode | The desired overprint mode |
|
pure virtual |
Set or clear the rendering intent for the node. The rendering intent is used whenever the node requires color conversion to a different color space. Set eRenderingIntentUnset to unset the rendering intent, in which a default will be chosen based on the color space in use. This setting is honored only for rendering, color conversion, PDF or PostScript output.
intent | The desired rendering intent, or eRenderingIntentUnset to clear. |
|
pure virtual |
Sets the render transform matrix of the Glyphs node and its children. The render transform establishes a new coordinate frame for the child and descendants of the Glyphs node. The render transform also affects clip and opacity masks, fill, x-origin, y-origin, the actual shape of the individual glyphs and the advance widths. The render transform also affects the font size and values specified by the indices setting.
matrix | the new render transform matrix. |
|
pure virtual |
Retrieves the style simulation value.
Synthetic style simulations can be applied to the shape of the glyphs by using the Style Simulations function. Style simulations can be applied to the designed style of a font. The default value for Style Simulations is eStyleSimulationsNone, that is, the shapes of the glyphs are not modified. When eSSBold is set, the glyphs are geometrically widened by 1% of the em size, so that the centres of strokes remain at the same position. This leaves the baseline origin unmodified. The bounding box grows 1% all around for a total of 2% horizontal and 2% vertical. As a result the character height, and the advance width of each glyph are increased by 2% of the em size.
When eSSItalic is set, italicization is applied to glyphs with an IsSideways value of false. Italicization is applied by skewing the top edge of the bounding box by 20 degrees to the right, relative to the baseline of the character. Glyphs with an IsSideways value of true are italicized by skewing the right edge of the bounding box by 20 degrees down, relative to the baseline origin of the glyph. The character height and advance width are not modified.
It is possible to apply both bold and italic simulations to the glyphs by setting eSSBoldItalic.
styleSimulations | The new style simulation setting. |
|
pure virtual |
Sets the Unicode string that represents the text of the run of glyphs.
unicodeString | The Unicode string to set. |
|
pure virtual |
Split the glyphs node into a series of glyph nodes each consisting of the smallest possible unit.
The resulting glyphs nodes may still consist of multiple unicode codepoints per node if the combinations of code points results in a single glyph (such as for ligatures). Similarly the resulting glyphs nodes may still consist of multiple individual glyphs with a single code point (such as for combining characters). Regardless, the resulting glyphs nodes are split to the smallest form that can be interpreted on their own.
If the glyphs node cannot be further split (for example if it is already in it's simplest form), then the returned result will be this glyphs node.
If the glyphs node can be split, the returned node will be an IDOMGroupNode or one of it's subclasses, with the split glyphs present as children of that group.
Depending on the brushes or transparency that may be used with the glyphs node, the group may be a simple IDOMGroup, an IDOMCanvas or alternatively an IDOMTransparency group. In any case, the simplest form that can be used will be used. The transform for the glyphs node will be moved to the group.
|
pure virtual |
Validate glyph instructions.
Applies only to TrueType glyphs. Not possible for glyphs nodes using Type 3 fonts, and will result in an exception. This will attempt to detect some cases of broken instructions (hints) by rendering each glyph in the glyphs node and return a boolean value to indicate if any issues were found.
Note that while this function may be useful to detect general issues with fonts/glyph instructions it cannot detect issues seen only when rendering at a specific resolution and point size.