11 #include <system/string.h>
12 #include <system/collections/list.h>
13 #include <system/collections/ienumerable.h>
16 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
18 namespace System {
namespace Collections {
namespace Generic {
template <
typename>
class IEnumerator; } } }
19 namespace Aspose {
namespace Words {
namespace Fonts {
class FontInfo; } } }
20 namespace Aspose {
namespace Words {
namespace Fonts {
class EmbeddedFontCollector; } } }
21 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Reader {
namespace Word60 {
class Word60ListHelper; } } } } } }
22 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Reader {
class RunPrReader; } } } } }
23 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Reader {
class StyleReader; } } } } }
24 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Writer {
class RunPrWriter; } } } } }
25 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Writer {
class StyleWriter; } } } } }
26 namespace Aspose {
namespace Words {
class DocumentBase; } }
27 namespace Aspose {
namespace Words {
namespace Validation {
class DocumentPostLoader; } } }
28 namespace Aspose {
namespace Words {
namespace Validation {
class DocumentValidator; } } }
29 namespace Aspose {
namespace Words {
class NodeImporter; } }
30 namespace Aspose {
namespace Words {
namespace RW {
namespace Odt {
namespace Reader {
class OdtFontFaceDeclsReader; } } } } }
31 namespace Aspose {
namespace Words {
namespace RW {
namespace Docx {
namespace Reader {
class DocxFontTableReader; } } } } }
32 namespace Aspose {
namespace Words {
namespace RW {
namespace Docx {
namespace Writer {
class DocxFontTableWriter; } } } } }
33 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
class DocPrFiler; } } } }
34 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
class FontInfoFiler; } } } }
35 namespace Aspose {
namespace Words {
namespace RW {
namespace Doc {
namespace Writer {
class DocWriter; } } } } }
36 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Reader {
class RtfFontCodeResolver; } } } } }
37 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Writer {
class RtfDocPrWriter; } } } } }
38 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Writer {
class RtfHeaderWriter; } } } } }
39 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Writer {
class RtfRunPrWriter; } } } } }
40 namespace Aspose {
namespace Words {
namespace RW {
namespace Rtf {
namespace Writer {
class RtfWriterContext; } } } } }
41 namespace Aspose {
namespace Words {
namespace RW {
namespace Wml {
namespace Reader {
class WmlFontsReader; } } } } }
42 namespace System {
namespace Collections {
namespace Generic {
template <
typename,
typename>
class SortedList; } } }
43 namespace Aspose {
namespace Collections {
class StringToIntDictionary; } }
44 namespace Aspose {
namespace Collections {
namespace Generic {
template <
typename>
class ISetGeneric; } } }
45 namespace Aspose {
namespace Words {
namespace Settings {
class DocPr; } } }
107 ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
109 friend class Aspose::Words::Fonts::EmbeddedFontCollector;
110 friend class Aspose::Words::RW::Doc::Reader::Word60::Word60ListHelper;
111 friend class Aspose::Words::RW::Doc::Reader::RunPrReader;
112 friend class Aspose::Words::RW::Doc::Reader::StyleReader;
113 friend class Aspose::Words::RW::Doc::Writer::RunPrWriter;
114 friend class Aspose::Words::RW::Doc::Writer::StyleWriter;
116 friend class Aspose::Words::Validation::DocumentPostLoader;
117 friend class Aspose::Words::Validation::DocumentValidator;
119 friend class Aspose::Words::RW::Odt::Reader::OdtFontFaceDeclsReader;
120 friend class Aspose::Words::RW::Docx::Reader::DocxFontTableReader;
121 friend class Aspose::Words::RW::Docx::Writer::DocxFontTableWriter;
122 friend class Aspose::Words::RW::Doc::DocPrFiler;
123 friend class Aspose::Words::RW::Doc::FontInfoFiler;
124 friend class Aspose::Words::RW::Doc::Writer::DocWriter;
125 friend class Aspose::Words::RW::Rtf::Reader::RtfFontCodeResolver;
126 friend class Aspose::Words::RW::Rtf::Writer::RtfDocPrWriter;
127 friend class Aspose::Words::RW::Rtf::Writer::RtfHeaderWriter;
128 friend class Aspose::Words::RW::Rtf::Writer::RtfRunPrWriter;
129 friend class Aspose::Words::RW::Rtf::Writer::RtfWriterContext;
130 friend class Aspose::Words::RW::Wml::Reader::WmlFontsReader;
409 int32_t NameToCode(System::String name);
410 System::String CodeToName(int32_t fontCode);
411 int32_t Merge(System::SharedPtr<
Aspose::Words::Fonts::
FontInfo> fontInfo);
413 void UpdateToUsedFonts(System::SharedPtr<
Aspose::Collections::Generic::ISetGeneric<System::String>> usedFontNames);
416 void RemoveEmbeddedFonts();
417 bool HasEmbeddedFonts();
418 void RemoveUnusedFonts(System::SharedPtr<System::Collections::Generic::SortedList<int32_t, int32_t>> validFontIndexes);
419 void UpdateEmbedFontOptions(System::SharedPtr<
Aspose::Words::Settings::DocPr> docPr);
425 System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<
Aspose::Words::Fonts::
FontInfo>>> mItems;
426 System::SharedPtr<
Aspose::Collections::StringToIntDictionary> mFontNameToItemIndex;
427 System::SharedPtr<System::Collections::Generic::List<System::String>> mExternalCodeToFontName;
428 System::SharedPtr<
Aspose::Collections::StringToIntDictionary> mFontAltNameToItemIndex;
429 bool mEmbedTrueTypeFonts;
430 bool mEmbedSystemFonts;
431 bool mSaveSubsetFonts;
435 void FindNewAndUsedExistingFonts(System::SharedPtr<
Aspose::Collections::Generic::ISetGeneric<System::String>> usedFontNames, System::SharedPtr<System::Collections::Generic::List<System::String>> newFontNames, System::SharedPtr<System::Collections::Generic::SortedList<int32_t, int32_t>> validFontIndexes);
436 void AddNewFonts(System::SharedPtr<System::Collections::Generic::List<System::String>> newFontNames);