Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData Class Reference

Used by PDF_A conversion functionality to hold and process all necessary data for specified font More...

Inherits System::Object.

Classes

class  CharCodeProcessor
 

Public Member Functions

virtual System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont > get_Font ()
 PDF font for which all that data is collected More...
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont > get_OriginalFont () const
 Original font for this font data object More...
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont > get_NewFontForProcessing () const
 New font which has substituted original font on processing step More...
 
System::ArrayPtr< int32_t > get_FontPageNumbers ()
 Contains all the pages(numbers) which references the specified font More...
 
System::ArrayPtr< System::SharedPtr< FontSymbol > > get_FontSymbols ()
 All the symbols which font has in document More...
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::CharSet > get_CharSet () const
 Holds new CharSet for Type1 fonts More...
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::CIDSet > get_CIDSet () const
 Holds new CIDSet for Type0 fonts More...
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font > get_NewFont () const
 If original PDF font must be substituted on next steps - this field must reference on new font. Used for glyph width processing functionality More...
 
bool get_FontRequiresCharSetCheck ()
 Detects if Type1 font is needed in CharSet checks More...
 
bool get_FontRequiresCIDSetCheck ()
 Detects if Type0 font is needed in CIDSet checks More...
 
bool get_FontRequiresCIDToGIDMapCheck ()
 Detects if Type0 font is needed in CIDToGIDMap checks More...
 
bool get_HasPUASymbols () const
 this flag tells are PUA symbols was detected More...
 
System::SharedPtr< System::Collections::Generic::SortedDictionary< char16_t, System::SharedPtr< FontSymbol > > > get_PUASymbols () const
 Contains all PUA symbols which font has More...
 
bool get_PossibleHasPUASymbols () const
 this flag tells that unicode substitutions for PUA symbols were observed during segments processing More...
 
FontSubstitutionReason get_ProcessingSubstitutionReason () const
 Why this font must be substituted on processing step More...
 
System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfDataStream > get_FontFileProgram () const
 
Aspose::Pdf::Engine::IO::ConvertStrategies::GlyphWidths::FontProgramSource get_FontProgramSource () const
 
System::SharedPtr< ConvertHelpers::IPostUpdateFontInfo > get_PostUpdateFontInfo () const
 returns IPostUpdateFontInfo member More...
 
System::SharedPtr< Aspose::Font::IFont > get_BinaryFont () const
 returns IPdfFont.Font member More...
 
 ConversionFontData (System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont > font, System::SharedPtr< IConversionFontDataUpdater > updater, int32_t initialPageNumber)
 
void SetNewFontForProcessing (System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont > newFont)
 Sets font which has substituted original font on processing step More...
 
void SetNewFont (System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font > font)
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::CIDToGIDMap > GetCIDToGIDMap ()
 Gets new CIDToGIDMap for Type0 fonts More...
 
System::String GetFontUnicodes ()
 
System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfString > GetAllFontText ()
 
void SetFontFileProgram (System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfDataStream > value)
 
System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfDataStream > GetFontFileProgram ()
 
void UpdateBinaryFont (System::SharedPtr< Aspose::Font::IFont > updatedFont)
 Designed to update _binaryFont member with IFont edited More...
 
void AddSegmentInfo (System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment > segment, System::SharedPtr< Page > page)
 
virtual void FreeUnusedMemory ()
 
virtual void FreePostUpdateUsedMemory ()
 
void PostUpdateFontProgram (System::SharedPtr< GlyphWidths::IFontDataUpdater > dataUpdater)
 
void PostUpdateCidSet ()
 
void PostUpdateCidMap ()
 
virtual void UpdateFontModifiedForcibly (System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont > newFont)
 Designed to update data for only such fonts, which object type (Type1Font, TrueTypeFont, etc) has been changed. Call of this method for any other font is strongly prohibited. More...
 
bool FontHasChar (char16_t symbol)
 
void AddPageNumber (int32_t num)
 
void PrepareToAccumulateStatistic ()
 
void InitPuaSymbolsData ()
 
void AddPuaSymbol (char16_t puaUnicode, System::SharedPtr< FontSymbol > symbol)
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API String ToString () const
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual ASPOSECPP_SHARED_API bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Protected Member Functions

void ProcessSegmentText (System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment > segment, System::SharedPtr< Page > page)
 
virtual void ProcessPdfSegmentText (System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfString > pdfText, System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment > segment, System::SharedPtr< Page > page)
 
void ProcessPdfString (System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfString > pdfText, System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment > segment, System::SharedPtr< Page > page)
 
virtual void ProcessUnicodeChar (System::SharedPtr< FontSymbol > fontSymbol, System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment > segment, System::SharedPtr< Page > page, int32_t index)
 
void ProcessCharSet (System::SharedPtr< FontSymbol > symbol, System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type1Font > type1Font)
 
void ProcessCIDSet (System::SharedPtr< FontSymbol > symbol, System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font > Type0Font)
 
void ProcessCidToGIDMap (System::SharedPtr< FontSymbol > symbol, System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font > type0Font)
 
void ProcessPuaSymbol (System::SharedPtr< FontSymbol > fontSymbol, System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment > segment, int32_t index, System::SharedPtr< Page > page)
 
virtual ~ConversionFontData ()
 

Protected Attributes

System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont > _font
 PDF font for which all tha data is collected More...
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont > _newFontForProcessing
 New font which has substituted original font on processing step More...
 
System::SharedPtr< System::Collections::Generic::List< int32_t > > _pageNumbers
 Contains all the pages(numbers) which references the specified font More...
 
System::ArrayPtr< uint8_t > _allDocumentFontChars
 Auxillary array to speed up collecting of all document's symbols for PDF font More...
 
int32_t _maxFontCharCode
 
System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< FontSymbol > > > _fontSymbols
 All text symbols More...
 
System::String _allFontUnicodes
 
System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfString > _allFontText
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::CharSet > _charSet
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::CIDSet > _cidSet
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::CIDToGIDMap > _cidToGidMap
 
System::SharedPtr< ConversionFontData::CharCodeProcessor_charCodeProcessor
 
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font > _newFont
 If original PDF font must be substituted on next steps - this field must reference on new font. Used for glyph width processing functionality More...
 
System::SharedPtr< IConversionFontDataUpdater_conversionUpdater
 This interface used for callback purposes More...
 
bool _hasPuaSymbols
 this flag tells are PUA symbols was detected More...
 
bool _possibleHasPuaSymbols
 this flag tells that unicode substitutions for PUA symbols were observed during segments processing More...
 
System::SharedPtr< System::Collections::Generic::SortedDictionary< char16_t, System::SharedPtr< FontSymbol > > > _puaSymbols
 Contains all PUA symbols which font has. Previously it was List<char>, new dictionary is needed to speed up processing of already processed text symbols (to skip additional operations for already processed symbols - now we need to process such symbol again only if this symbol is PUA) More...
 
FontSubstitutionReason _substitutionReason
 Why this font must be substituted on processing step More...
 
System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfDataStream > _fontFileProgram
 Font file program, which must be embedded into font at final font processing step. This field was added due to necessity to work with shared font programs. This field must hold up-to-date version of font file program for current font, all updates to font file program must affect only this field. More...
 
Aspose::Pdf::Engine::IO::ConvertStrategies::GlyphWidths::FontProgramSource _fontProgramSource
 Font program source, related to FontFileProgram - field name in FontDescriptor - FontFile, FontFile2, FontFile3 More...
 
System::SharedPtr< ConvertHelpers::IPostUpdateFontInfo > _postUpdateFontInfo
 IPostUpdateFontInfo member More...
 
System::SharedPtr< Aspose::Font::IFont > _binaryFont
 Field to hold IPdfFont.Font binary font object, the reason for this field - post-update functionality, which enforces to block usage of IPdfFont.Font member cause this member bay be unsynchronized with font program from same font(up-to-date version of this font program is holded by _fontFileProgram member in this class) More...
 

Additional Inherited Members

- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 

Detailed Description

Used by PDF_A conversion functionality to hold and process all necessary data for specified font

Constructor & Destructor Documentation

◆ ConversionFontData()

Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ConversionFontData ( System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont >  font,
System::SharedPtr< IConversionFontDataUpdater updater,
int32_t  initialPageNumber 
)

◆ ~ConversionFontData()

virtual Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::~ConversionFontData ( )
protectedvirtual

Member Function Documentation

◆ AddPageNumber()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::AddPageNumber ( int32_t  num)

◆ AddPuaSymbol()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::AddPuaSymbol ( char16_t  puaUnicode,
System::SharedPtr< FontSymbol symbol 
)

◆ AddSegmentInfo()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::AddSegmentInfo ( System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment >  segment,
System::SharedPtr< Page page 
)

◆ FontHasChar()

bool Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::FontHasChar ( char16_t  symbol)

◆ FreePostUpdateUsedMemory()

virtual void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::FreePostUpdateUsedMemory ( )
virtual

◆ FreeUnusedMemory()

virtual void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::FreeUnusedMemory ( )
virtual

◆ get_BinaryFont()

System::SharedPtr<Aspose::Font::IFont> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_BinaryFont ( ) const

returns IPdfFont.Font member

◆ get_CharSet()

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::CharSet> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_CharSet ( ) const

Holds new CharSet for Type1 fonts

◆ get_CIDSet()

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::CIDSet> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_CIDSet ( ) const

Holds new CIDSet for Type0 fonts

◆ get_Font()

virtual System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_Font ( )
virtual

PDF font for which all that data is collected

◆ get_FontFileProgram()

System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfDataStream> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_FontFileProgram ( ) const

◆ get_FontPageNumbers()

System::ArrayPtr<int32_t> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_FontPageNumbers ( )

Contains all the pages(numbers) which references the specified font

◆ get_FontProgramSource()

Aspose::Pdf::Engine::IO::ConvertStrategies::GlyphWidths::FontProgramSource Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_FontProgramSource ( ) const

◆ get_FontRequiresCharSetCheck()

bool Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_FontRequiresCharSetCheck ( )

Detects if Type1 font is needed in CharSet checks

◆ get_FontRequiresCIDSetCheck()

bool Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_FontRequiresCIDSetCheck ( )

Detects if Type0 font is needed in CIDSet checks

◆ get_FontRequiresCIDToGIDMapCheck()

bool Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_FontRequiresCIDToGIDMapCheck ( )

Detects if Type0 font is needed in CIDToGIDMap checks

◆ get_FontSymbols()

System::ArrayPtr<System::SharedPtr<FontSymbol> > Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_FontSymbols ( )

All the symbols which font has in document

◆ get_HasPUASymbols()

bool Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_HasPUASymbols ( ) const

this flag tells are PUA symbols was detected

◆ get_NewFont()

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_NewFont ( ) const

If original PDF font must be substituted on next steps - this field must reference on new font. Used for glyph width processing functionality

◆ get_NewFontForProcessing()

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_NewFontForProcessing ( ) const

New font which has substituted original font on processing step

◆ get_OriginalFont()

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_OriginalFont ( ) const

Original font for this font data object

◆ get_PossibleHasPUASymbols()

bool Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_PossibleHasPUASymbols ( ) const

this flag tells that unicode substitutions for PUA symbols were observed during segments processing

◆ get_PostUpdateFontInfo()

System::SharedPtr<ConvertHelpers::IPostUpdateFontInfo> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_PostUpdateFontInfo ( ) const

returns IPostUpdateFontInfo member

◆ get_ProcessingSubstitutionReason()

FontSubstitutionReason Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_ProcessingSubstitutionReason ( ) const

Why this font must be substituted on processing step

◆ get_PUASymbols()

System::SharedPtr<System::Collections::Generic::SortedDictionary<char16_t, System::SharedPtr<FontSymbol> > > Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::get_PUASymbols ( ) const

Contains all PUA symbols which font has

◆ GetAllFontText()

System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfString> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::GetAllFontText ( )

◆ GetCIDToGIDMap()

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::CIDToGIDMap> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::GetCIDToGIDMap ( )

Gets new CIDToGIDMap for Type0 fonts

◆ GetFontFileProgram()

System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfDataStream> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::GetFontFileProgram ( )

◆ GetFontUnicodes()

System::String Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::GetFontUnicodes ( )

◆ InitPuaSymbolsData()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::InitPuaSymbolsData ( )

◆ PostUpdateCidMap()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::PostUpdateCidMap ( )

◆ PostUpdateCidSet()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::PostUpdateCidSet ( )

◆ PostUpdateFontProgram()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::PostUpdateFontProgram ( System::SharedPtr< GlyphWidths::IFontDataUpdater >  dataUpdater)

◆ PrepareToAccumulateStatistic()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::PrepareToAccumulateStatistic ( )

◆ ProcessCharSet()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ProcessCharSet ( System::SharedPtr< FontSymbol symbol,
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type1Font >  type1Font 
)
protected

◆ ProcessCIDSet()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ProcessCIDSet ( System::SharedPtr< FontSymbol symbol,
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font >  Type0Font 
)
protected

◆ ProcessCidToGIDMap()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ProcessCidToGIDMap ( System::SharedPtr< FontSymbol symbol,
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font >  type0Font 
)
protected

◆ ProcessPdfSegmentText()

virtual void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ProcessPdfSegmentText ( System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfString >  pdfText,
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment >  segment,
System::SharedPtr< Page page 
)
protectedvirtual

◆ ProcessPdfString()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ProcessPdfString ( System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfString >  pdfText,
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment >  segment,
System::SharedPtr< Page page 
)
protected

◆ ProcessPuaSymbol()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ProcessPuaSymbol ( System::SharedPtr< FontSymbol fontSymbol,
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment >  segment,
int32_t  index,
System::SharedPtr< Page page 
)
protected

◆ ProcessSegmentText()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ProcessSegmentText ( System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment >  segment,
System::SharedPtr< Page page 
)
protected

◆ ProcessUnicodeChar()

virtual void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::ProcessUnicodeChar ( System::SharedPtr< FontSymbol fontSymbol,
System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment >  segment,
System::SharedPtr< Page page,
int32_t  index 
)
protectedvirtual

◆ SetFontFileProgram()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::SetFontFileProgram ( System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfDataStream >  value)

◆ SetNewFont()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::SetNewFont ( System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font >  font)

◆ SetNewFontForProcessing()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::SetNewFontForProcessing ( System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont >  newFont)

Sets font which has substituted original font on processing step

Parameters
newFont

◆ UpdateBinaryFont()

void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::UpdateBinaryFont ( System::SharedPtr< Aspose::Font::IFont >  updatedFont)

Designed to update _binaryFont member with IFont edited

Parameters
updatedFontIFont modified by conversion functionality

◆ UpdateFontModifiedForcibly()

virtual void Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::UpdateFontModifiedForcibly ( System::SharedPtr< Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont >  newFont)
virtual

Designed to update data for only such fonts, which object type (Type1Font, TrueTypeFont, etc) has been changed. Call of this method for any other font is strongly prohibited.

Parameters
newFontfont to update data for

Member Data Documentation

◆ _allDocumentFontChars

System::ArrayPtr<uint8_t> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_allDocumentFontChars
protected

Auxillary array to speed up collecting of all document's symbols for PDF font

◆ _allFontText

System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfString> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_allFontText
protected

◆ _allFontUnicodes

System::String Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_allFontUnicodes
protected

◆ _binaryFont

System::SharedPtr<Aspose::Font::IFont> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_binaryFont
protected

Field to hold IPdfFont.Font binary font object, the reason for this field - post-update functionality, which enforces to block usage of IPdfFont.Font member cause this member bay be unsynchronized with font program from same font(up-to-date version of this font program is holded by _fontFileProgram member in this class)

◆ _charCodeProcessor

System::SharedPtr<ConversionFontData::CharCodeProcessor> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_charCodeProcessor
protected

◆ _charSet

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::CharSet> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_charSet
protected

◆ _cidSet

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::CIDSet> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_cidSet
protected

◆ _cidToGidMap

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::CIDToGIDMap> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_cidToGidMap
protected

◆ _conversionUpdater

System::SharedPtr<IConversionFontDataUpdater> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_conversionUpdater
protected

This interface used for callback purposes

◆ _font

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_font
protected

PDF font for which all tha data is collected

◆ _fontFileProgram

System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfDataStream> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_fontFileProgram
protected

Font file program, which must be embedded into font at final font processing step. This field was added due to necessity to work with shared font programs. This field must hold up-to-date version of font file program for current font, all updates to font file program must affect only this field.

◆ _fontProgramSource

Aspose::Pdf::Engine::IO::ConvertStrategies::GlyphWidths::FontProgramSource Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_fontProgramSource
protected

Font program source, related to FontFileProgram - field name in FontDescriptor - FontFile, FontFile2, FontFile3

◆ _fontSymbols

System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<FontSymbol> > > Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_fontSymbols
protected

All text symbols

◆ _hasPuaSymbols

bool Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_hasPuaSymbols
protected

this flag tells are PUA symbols was detected

◆ _maxFontCharCode

int32_t Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_maxFontCharCode
protected

◆ _newFont

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::Type0Font> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_newFont
protected

If original PDF font must be substituted on next steps - this field must reference on new font. Used for glyph width processing functionality

◆ _newFontForProcessing

System::SharedPtr<Aspose::Pdf::Engine::CommonData::Text::Fonts::IPdfFont> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_newFontForProcessing
protected

New font which has substituted original font on processing step

◆ _pageNumbers

System::SharedPtr<System::Collections::Generic::List<int32_t> > Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_pageNumbers
protected

Contains all the pages(numbers) which references the specified font

◆ _possibleHasPuaSymbols

bool Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_possibleHasPuaSymbols
protected

this flag tells that unicode substitutions for PUA symbols were observed during segments processing

◆ _postUpdateFontInfo

System::SharedPtr<ConvertHelpers::IPostUpdateFontInfo> Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_postUpdateFontInfo
protected

IPostUpdateFontInfo member

◆ _puaSymbols

System::SharedPtr<System::Collections::Generic::SortedDictionary<char16_t, System::SharedPtr<FontSymbol> > > Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_puaSymbols
protected

Contains all PUA symbols which font has. Previously it was List<char>, new dictionary is needed to speed up processing of already processed text symbols (to skip additional operations for already processed symbols - now we need to process such symbol again only if this symbol is PUA)

◆ _substitutionReason

FontSubstitutionReason Aspose::Pdf::Engine::IO::ConvertStrategies::ConversionFontData::_substitutionReason
protected

Why this font must be substituted on processing step