Font.h
1 // Copyright 2001-2022 Aspose Pty Ltd. All Rights Reserved.
3 //
4 // This file is part of Aspose.Words. The source code in this file
5 // is only intended as a supplement to the documentation, and is provided
6 // "as is", without warranty of any kind, either expressed or implied.
9 #pragma once
10 
11 #include <system/enum_helpers.h>
12 #include <system/array.h>
13 #include <cstdint>
14 
15 #include <Aspose.Words.Cpp/Themes/ThemeFont.h>
16 #include <Aspose.Words.Cpp/Themes/ThemeColor.h>
17 #include <Aspose.Words.Cpp/Underline.h>
18 #include <Aspose.Words.Cpp/TextEffect.h>
19 #include <Aspose.Words.Cpp/TextDmlEffect.h>
20 #include <Aspose.Words.Cpp/EmphasisMark.h>
21 #include <Aspose.Words.Cpp/StyleIdentifier.h>
22 #include <Aspose.Words.Cpp/IShadingAttrSource.h>
23 #include <Aspose.Words.Cpp/IBorderAttrSource.h>
24 #include <Aspose.Words.Cpp/Drawing/Core/IFillable.h>
25 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
26 
27 namespace Aspose
28 {
29 
30 namespace Words
31 {
32 
33 class Border;
34 enum class BorderType;
35 
36 namespace Drawing
37 {
38 
39 namespace Core
40 {
41 namespace Dml
42 {
43 namespace Colors
44 {
45 class DmlColor;
46 }
47 
48 namespace Themes
49 {
50 class IThemeProvider;
51 }
52 }
53 enum class FillTypeCore;
54 class IFill;
55 }
56 class Fill;
57 class GradientStopCollection;
58 enum class GradientStyle;
59 enum class GradientVariant;
60 enum class PatternType;
61 enum class PresetTexture;
62 
63 enum class TextureAlignment;
64 }
65 
66 class Shading;
67 class Style;
68 
69 }
70 }
71 namespace System
72 {
73 namespace Collections
74 {
75 namespace Generic
76 {
77 template <typename, typename> class SortedList;
78 }
79 }
80 namespace Drawing
81 {
82 class Color;
83 
84 }
85 }
86 
87 namespace Aspose {
88 
89 namespace Words {
90 
152 class ASPOSE_WORDS_SHARED_CLASS Font : public Aspose::Words::IBorderAttrSource, public Aspose::Words::IShadingAttrSource, public Aspose::Words::Drawing::Core::IFillable
153 {
154  typedef Font ThisType;
155  typedef Aspose::Words::IBorderAttrSource BaseType;
156  typedef Aspose::Words::IShadingAttrSource BaseType1;
157  typedef Aspose::Words::Drawing::Core::IFillable BaseType2;
158 
159  typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2> ThisTypeBaseTypesInfo;
160  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
161 
162 public:
163 
202  ASPOSE_WORDS_SHARED_API System::String get_Name();
203 
205  ASPOSE_WORDS_SHARED_API void set_Name(const System::String& value);
206 
236  ASPOSE_WORDS_SHARED_API System::String get_NameAscii();
237 
239  ASPOSE_WORDS_SHARED_API void set_NameAscii(const System::String& value);
240 
279  ASPOSE_WORDS_SHARED_API System::String get_NameBi();
280 
282  ASPOSE_WORDS_SHARED_API void set_NameBi(const System::String& value);
283 
314  ASPOSE_WORDS_SHARED_API System::String get_NameFarEast();
315 
317  ASPOSE_WORDS_SHARED_API void set_NameFarEast(const System::String& value);
318 
348  ASPOSE_WORDS_SHARED_API System::String get_NameOther();
349 
351  ASPOSE_WORDS_SHARED_API void set_NameOther(const System::String& value);
352 
455 
457  ASPOSE_WORDS_SHARED_API void set_ThemeFont(Aspose::Words::Themes::ThemeFont value);
458 
545 
547  ASPOSE_WORDS_SHARED_API void set_ThemeFontAscii(Aspose::Words::Themes::ThemeFont value);
548 
634 
636  ASPOSE_WORDS_SHARED_API void set_ThemeFontFarEast(Aspose::Words::Themes::ThemeFont value);
637 
724 
726  ASPOSE_WORDS_SHARED_API void set_ThemeFontOther(Aspose::Words::Themes::ThemeFont value);
727 
814 
816  ASPOSE_WORDS_SHARED_API void set_ThemeFontBi(Aspose::Words::Themes::ThemeFont value);
817 
851  ASPOSE_WORDS_SHARED_API double get_Size();
852 
854  ASPOSE_WORDS_SHARED_API void set_Size(double value);
855 
892  ASPOSE_WORDS_SHARED_API double get_SizeBi();
893 
895  ASPOSE_WORDS_SHARED_API void set_SizeBi(double value);
896 
916  ASPOSE_WORDS_SHARED_API bool get_Bold();
917 
919  ASPOSE_WORDS_SHARED_API void set_Bold(bool value);
920 
957  ASPOSE_WORDS_SHARED_API bool get_BoldBi();
958 
960  ASPOSE_WORDS_SHARED_API void set_BoldBi(bool value);
961 
977  ASPOSE_WORDS_SHARED_API bool get_Italic();
978 
980  ASPOSE_WORDS_SHARED_API void set_Italic(bool value);
981 
1018  ASPOSE_WORDS_SHARED_API bool get_ItalicBi();
1019 
1021  ASPOSE_WORDS_SHARED_API void set_ItalicBi(bool value);
1022 
1061  ASPOSE_WORDS_SHARED_API System::Drawing::Color get_Color();
1062 
1064  ASPOSE_WORDS_SHARED_API void set_Color(System::Drawing::Color value);
1065 
1168 
1170  ASPOSE_WORDS_SHARED_API void set_ThemeColor(Aspose::Words::Themes::ThemeColor value);
1171 
1199  ASPOSE_WORDS_SHARED_API double get_TintAndShade();
1200 
1202  ASPOSE_WORDS_SHARED_API void set_TintAndShade(double value);
1203 
1242  ASPOSE_WORDS_SHARED_API System::Drawing::Color get_AutoColor();
1243 
1265  ASPOSE_WORDS_SHARED_API bool get_StrikeThrough();
1266 
1268  ASPOSE_WORDS_SHARED_API void set_StrikeThrough(bool value);
1269 
1291  ASPOSE_WORDS_SHARED_API bool get_DoubleStrikeThrough();
1292 
1294  ASPOSE_WORDS_SHARED_API void set_DoubleStrikeThrough(bool value);
1295 
1314  ASPOSE_WORDS_SHARED_API bool get_Shadow();
1315 
1317  ASPOSE_WORDS_SHARED_API void set_Shadow(bool value);
1318 
1338  ASPOSE_WORDS_SHARED_API bool get_Outline();
1339 
1341  ASPOSE_WORDS_SHARED_API void set_Outline(bool value);
1342 
1369  ASPOSE_WORDS_SHARED_API bool get_Emboss();
1370 
1372  ASPOSE_WORDS_SHARED_API void set_Emboss(bool value);
1373 
1400  ASPOSE_WORDS_SHARED_API bool get_Engrave();
1401 
1403  ASPOSE_WORDS_SHARED_API void set_Engrave(bool value);
1404 
1440  ASPOSE_WORDS_SHARED_API bool get_Superscript();
1441 
1443  ASPOSE_WORDS_SHARED_API void set_Superscript(bool value);
1444 
1480  ASPOSE_WORDS_SHARED_API bool get_Subscript();
1481 
1483  ASPOSE_WORDS_SHARED_API void set_Subscript(bool value);
1484 
1512  ASPOSE_WORDS_SHARED_API bool get_SmallCaps();
1513 
1515  ASPOSE_WORDS_SHARED_API void set_SmallCaps(bool value);
1516 
1544  ASPOSE_WORDS_SHARED_API bool get_AllCaps();
1545 
1547  ASPOSE_WORDS_SHARED_API void set_AllCaps(bool value);
1548 
1790  ASPOSE_WORDS_SHARED_API bool get_Hidden();
1791 
1793  ASPOSE_WORDS_SHARED_API void set_Hidden(bool value);
1794 
1846  ASPOSE_WORDS_SHARED_API Aspose::Words::Underline get_Underline();
1847 
1849  ASPOSE_WORDS_SHARED_API void set_Underline(Aspose::Words::Underline value);
1850 
1867  ASPOSE_WORDS_SHARED_API System::Drawing::Color get_UnderlineColor();
1868 
1870  ASPOSE_WORDS_SHARED_API void set_UnderlineColor(System::Drawing::Color value);
1871 
1895  ASPOSE_WORDS_SHARED_API int32_t get_Scaling();
1896 
1898  ASPOSE_WORDS_SHARED_API void set_Scaling(int32_t value);
1899 
1923  ASPOSE_WORDS_SHARED_API double get_Spacing();
1924 
1926  ASPOSE_WORDS_SHARED_API void set_Spacing(double value);
1927 
1944  ASPOSE_WORDS_SHARED_API double get_LineSpacing();
1945 
1982  ASPOSE_WORDS_SHARED_API double get_Position();
1983 
1985  ASPOSE_WORDS_SHARED_API void set_Position(double value);
1986 
2013  ASPOSE_WORDS_SHARED_API double get_Kerning();
2014 
2016  ASPOSE_WORDS_SHARED_API void set_Kerning(double value);
2017 
2035  ASPOSE_WORDS_SHARED_API System::Drawing::Color get_HighlightColor();
2036 
2038  ASPOSE_WORDS_SHARED_API void set_HighlightColor(System::Drawing::Color value);
2039 
2057  ASPOSE_WORDS_SHARED_API Aspose::Words::TextEffect get_TextEffect();
2058 
2060  ASPOSE_WORDS_SHARED_API void set_TextEffect(Aspose::Words::TextEffect value);
2061 
2064 
2111  ASPOSE_WORDS_SHARED_API bool get_Bidi();
2112 
2114  ASPOSE_WORDS_SHARED_API void set_Bidi(bool value);
2115 
2132  ASPOSE_WORDS_SHARED_API bool get_ComplexScript();
2133 
2135  ASPOSE_WORDS_SHARED_API void set_ComplexScript(bool value);
2136 
2155  ASPOSE_WORDS_SHARED_API bool get_NoProofing();
2156 
2158  ASPOSE_WORDS_SHARED_API void set_NoProofing(bool value);
2159 
2180  ASPOSE_WORDS_SHARED_API int32_t get_LocaleId();
2181 
2183  ASPOSE_WORDS_SHARED_API void set_LocaleId(int32_t value);
2184 
2221  ASPOSE_WORDS_SHARED_API int32_t get_LocaleIdBi();
2222 
2224  ASPOSE_WORDS_SHARED_API void set_LocaleIdBi(int32_t value);
2225 
2254  ASPOSE_WORDS_SHARED_API int32_t get_LocaleIdFarEast();
2255 
2257  ASPOSE_WORDS_SHARED_API void set_LocaleIdFarEast(int32_t value);
2258 
2277 
2301 
2333 
2335  ASPOSE_WORDS_SHARED_API void set_Style(const System::SharedPtr<Aspose::Words::Style>& value);
2336 
2372  ASPOSE_WORDS_SHARED_API System::String get_StyleName();
2373 
2375  ASPOSE_WORDS_SHARED_API void set_StyleName(const System::String& value);
2376 
2413 
2415  ASPOSE_WORDS_SHARED_API void set_StyleIdentifier(Aspose::Words::StyleIdentifier value);
2416 
2419  ASPOSE_WORDS_SHARED_API bool get_SnapToGrid();
2420 
2423  ASPOSE_WORDS_SHARED_API void set_SnapToGrid(bool value);
2424 
2445 
2447  ASPOSE_WORDS_SHARED_API void set_EmphasisMark(Aspose::Words::EmphasisMark value);
2448 
2475  ASPOSE_WORDS_SHARED_API void ClearFormatting();
2476 
2497  ASPOSE_WORDS_SHARED_API bool HasDmlEffect(Aspose::Words::TextDmlEffect dmlEffectType);
2498 
2499 protected:
2500 
2501  virtual ASPOSE_WORDS_SHARED_API ~Font();
2502 
2503 private:
2504 
2506  System::Drawing::Color get_FilledColor() override;
2507  void set_FilledColor(System::Drawing::Color ) override;
2508  bool get_On() override;
2509  void set_On(bool ) override;
2510  double get_Opacity() override;
2511  void set_Opacity(double ) override;
2512  System::ArrayPtr<uint8_t> get_FillableImageBytes() override;
2513  Aspose::Words::Drawing::TextureAlignment get_TextureAlignment() override;
2514  void set_TextureAlignment(Aspose::Words::Drawing::TextureAlignment ) override;
2515  double get_GradientAngle() override;
2516  void set_GradientAngle(double ) override;
2517  Aspose::Words::Drawing::GradientVariant get_GradientVariant() override;
2518  Aspose::Words::Drawing::GradientStyle get_GradientStyle() override;
2520  System::Drawing::Color get_FillableForeColor() override;
2521  void set_FillableForeColor(System::Drawing::Color ) override;
2522  System::Drawing::Color get_FillableBackColor() override;
2523  void set_FillableBackColor(System::Drawing::Color ) override;
2524  bool get_FillableVisible() override;
2525  void set_FillableVisible(bool ) override;
2526  double get_FillableTransparency() override;
2527  void set_FillableTransparency(double ) override;
2528  bool get_RotateWithObject() override;
2529  void set_RotateWithObject(bool ) override;
2530  Aspose::Words::Drawing::Core::FillTypeCore get_FillType() override;
2532 
2539 
2540  System::SharedPtr<System::Object> GetDirectBorderAttr(int32_t ) override;
2541  System::SharedPtr<System::Object> FetchInheritedBorderAttr(int32_t ) override;
2542  void SetBorderAttr(int32_t , System::SharedPtr<System::Object> ) override;
2543  System::SharedPtr<System::Object> FetchInheritedShadingAttr(int32_t ) override;
2544  void Solid() override;
2545  Aspose::Words::Drawing::PresetTexture GetPresetTexture() override;
2546  Aspose::Words::Drawing::PatternType GetPatternType() override;
2547  void PresetTextured(Aspose::Words::Drawing::PresetTexture ) override;
2548  void Patterned(Aspose::Words::Drawing::PatternType ) override;
2550  void OneColorGradient(Aspose::Words::Drawing::GradientStyle , Aspose::Words::Drawing::GradientVariant , double ) override;
2551  void SetImage(System::ArrayPtr<uint8_t> ) override;
2554  void SetTransparency(System::SharedPtr<Aspose::Words::Drawing::Core::Dml::Colors::DmlColor> , double ) override;
2555 
2556 };
2557 
2558 }
2559 }