48 static int compare(
const void *a,
const void *b);
259 class IPageLayoutData;
Definition edlvector.h:30
EDL Factory Interface allows one part of the EDL infrastructure to register class creation methods id...
Definition iedlfactory.h:31
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
Provides a representation of the analyzed page layout by organizing and allowing access to collection...
Definition text.h:274
virtual ~IPageLayoutData()
Definition text.h:276
virtual IPageLayoutNodeCollection getColumn(uint32 columnNumber)=0
Get a collection of IPageLayoutNodes, representing the content of the specified column number....
static JAWSMAKO_API IPageLayoutDataPtr create(IPageLayoutNodeCollection data)
Creation function for IPageLayoutData that provides a representation of the analyzed page layout,...
virtual uint32 getNumberOfColumns() const =0
Get the number of columns (this includes the root item)
Analyze the layout of a FixedPage, grouping together text deemed to be in horizontal and/or vertical ...
Definition text.h:362
static JAWSMAKO_API IPageLayoutPtr create(IEDLClassFactory *factory, const IDOMFixedPagePtr &page)
Creation function for an IPageLayout, a fixed page layout analyser Throws an IEDLError on failure.
virtual IPageLayoutNodeCollection getLayoutNodeCollection() const =0
Get a flat collection of page content nodes.
virtual String getPageText() const =0
Return all page text.
virtual void analyze(ePageAnalysis analysisToPerform=ePAAll)=0
Process the page find the blocks of text. Can optionally perform each analysis phase independently (w...
virtual IDOMFixedPagePtr getFixedPage() const =0
Get the FixedPage being processed.
virtual String getLayoutInfo() const =0
Get a textual description of the page content, useful for debugging purposes.
virtual void setLineSpacingThreshold(double threshold)=0
Set the threshold for spacing between successive text lines when concatenating them into a text run.
virtual void setVirtualSpaceThreshold(double virtualSpaceThreshold)=0
Set the virtual space threshold.
static JAWSMAKO_API IPageLayoutPtr create(IEDLClassFactory *factory, const CTextRunVect &runs)
Creation function for an IPageLayout, a fixed page layout analyser Throws an IEDLError on failure.
virtual ~IPageLayout()
Definition text.h:364
virtual IPageLayoutDataPtr getLayoutData() const =0
Get a processed representation of the page content.
virtual void setMultipleSpaceMode(bool multipleSpaces)=0
Set the multiple space mode for inserting virtual spaces.
Simple data type representing a part of an analyzed page.
Definition text.h:307
virtual FRect getPageBounds() const =0
Gets the page bounds of the node.
virtual ~IPageLayoutNode()
Definition text.h:309
virtual String getContent() const =0
Get the unicode string content of the node, if it's of type ePLTTextRun otherwise returns an empty st...
virtual ePageLayoutType getType() const =0
Get the type of node.
virtual IDOMGlyphsPtr getContentGlyphs() const =0
Get the IDOMGlyphsNode that represents the content of the node, if it's of type ePLTTextRun otherwise...
static JAWSMAKO_API IPageLayoutNodePtr create(FRect rect, ePageLayoutType type, String content, const IDOMGlyphsPtr &contentGlyphs, uint32 columnNumber)
Creation function for an IPageLayoutNode, a simple data type representing a part of an analyzed page.
virtual uint32 getColumnNumber() const =0
Get the column number that the node belongs to. Zero is the root element.
A run of text, containing unicode information, the position, transformation and bounds of the text.
Definition text.h:116
virtual double getSpaceWidthOnPage() const =0
Determine the width of a space in the font used for this run. If the font does not have a space chara...
virtual FPoint getLocalOrigin() const =0
Get the origin of the first character, in glyph-local coordinates.
virtual FRect getLocalBounds(bool tight=true) const =0
Get the bounds of the run, in glyph-local coordinates.
virtual U8String getUTF8() const =0
Get the Unicode string for the run as available, in UTF-8.
virtual double getFontHeightOnPage() const =0
Determine the height of the font used for this run.
virtual FMatrix getTransform() const =0
Get the transformation active where the glyph run is positioned, relative to the page....
FPoint getOriginOnPage() const
Get the origin of the first character, in page coordinates. Convenience.
Definition text.h:151
virtual FRect getBoundsOnPage(bool tight=true) const
Get the bounds of the run, in page coordinates. Convenience.
Definition text.h:173
virtual ~ITextRun()
Definition text.h:118
virtual CTextRunVect split()=0
Split the run into the smallest possible units, returning the split runs. If the run cannot be split,...
virtual double getSpaceWidth() const =0
Determine the width of a space in the font used for this run. If the font does not have a space chara...
virtual IDOMGlyphsPtr getGlyphs() const =0
Get the IDOMGlyphs node that represents this run.
virtual void getCornersOnPage(FPoint &p1, FPoint &p2, FPoint &p3, FPoint &p4, bool tight) const =0
Get the corner points of the run (in the clockwise order), in page coordinates.
virtual const String & getUnicode() const =0
Get the Unicode string for the run as available.
Perform text searching using the page information obtained from an IPageLayout.
Definition text.h:464
virtual CFPointVectVect search(const String &targetText, CEDLStringVect &found, bool caseSensitive, bool ignoreSpaces) const =0
Return a collection of quadpoint data covering all found text. Each entry in the CFPointVectVect repr...
virtual ~ITextSearch()
Definition text.h:466
static JAWSMAKO_API ITextSearchPtr create(IEDLClassFactory *factory, const IPageLayoutPtr &pageLayout)
Creation function for ITextSearch that performs text searching using page information obtained from a...
virtual CFPointVectVect search(const String &targetText, CEDLSysStringVect &found, bool caseSensitive, bool ignoreSpaces) const =0
Return a collection of quadpoint data covering all found text. Each entry in the CFPointVectVect repr...
Perform text selection using the page information obtained from an IPageLayout.
Definition text.h:509
virtual CFPointVect selectLines(const FPoint &startPoint, const FPoint &endPoint, String *selectedText) const =0
Return quadpoint data covering all text within the specified page start/end points,...
virtual CFPointVect selectArea(const FRect &pageArea, String *selectedText) const =0
Return quadpoint data covering all text within the specified page area, optionally returning the actu...
virtual ~ITextSelect()
Definition text.h:511
virtual String getTextAtRect(const FRect &pageArea, eLanguageType language=eLTArabic) const =0
Return the unicode string located within the bounds of 'pageArea', using the specified 'language' uni...
static JAWSMAKO_API ITextSelectPtr create(IEDLClassFactory *factory, const IPageLayoutPtr &pageLayout)
Creation function for an ITextSelect that performs text selection using page information obtained fro...
An interface into language specific unicode helpers.
Definition text.h:43
static JAWSMAKO_API IUnicodeHelperPtr create(eLanguageType language)
Creates a unicode helper for the specified language.
virtual wchar_t getNonContextualCharacter(const wchar_t ch) const =0
Performs a reverse mapping on a contextual character and returns the original.
virtual bool isCombiningCharacter(const wchar_t wchar) const =0
Returns true is wchar is within the language's combining character ranges.
virtual void applyContextualSubstitution(String &input) const =0
Applies the language's contextual substitution rules, in place.
virtual ~IUnicodeHelper()
Definition text.h:51
virtual bool hasContextualForms() const =0
Returns true if the language has contextual forms.
static JAWSMAKO_API bool isSpaceCharacter(wchar_t ch)
Returns true if ch is a unicode space character.
virtual String constructStringFromRuns(CTextRunVect &runs) const =0
Creates a string from a CTextRunVect by applying diacritic fixes and contextual substitution,...
virtual void applyDiacriticFixes(CTextRunVect &runs) const =0
Checks and attempts to fix diacritic characters that are incorrectly ordered.
PointTmpl< double > FPoint
Definition edlgeom.h:102
CTransformMatrix< double > FMatrix
Definition edlgeom.h:1208
RectTmpl< double > FRect
Definition edlgeom.h:338
CEDLVector< FPoint > CFPointVect
Definition edlgeom.h:106
CEDLVector< EDLString > CEDLStringVect
Definition edlstring.h:173
CEDLVector< EDLSysString > CEDLSysStringVect
Definition edlstring.h:174
unsigned int uint32
Definition edltypes.h:34
eLanguageType
Language types.
Definition text.h:33
@ eLTArabic
Arabic language type.
Definition text.h:34
EDLSysString U8String
A UTF-8 String.
Definition types.h:144
EDLString String
A wide character string (UTF-16 on Windows, UTF-32 on all other platforms)
Definition types.h:138
JawsMako interactive features.
Definition apexcustompostprocess.h:17
ePageAnalysis
IPageLayout analysis options.
Definition text.h:241
@ ePADefineReadingOrder
Sort the runs of text into a suitable reading order.
Definition text.h:246
@ ePAAll
Complete all page analysis steps (build, join and reorder text runs) in one operation.
Definition text.h:242
@ ePAJoinVRuns
Find all compatible vertical runs of text.
Definition text.h:245
@ ePABuildPage
Locate all glyphs nodes on the page.
Definition text.h:243
@ ePAJoinHRuns
Find all compatible horizonal runs of text.
Definition text.h:244
ePageLayoutType
IPageLayoutNode types.
Definition text.h:253
@ ePLTColumn
Column.
Definition text.h:255
@ ePLTTextRun
Run of text.
Definition text.h:256
@ ePLTRoot
Whole page.
Definition text.h:254
CEDLVector< CFPointVect > CFPointVectVect
Definition interactive.h:1253
CEDLVector< IPageLayoutNodePtr > IPageLayoutNodeCollection
Definition text.h:266
CEDLVector< ITextRunPtr > CTextRunVect
Definition types.h:171
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
#define JAWSMAKO_API
Definition types.h:29