|
MUSX Document Model
|
Represents the default font settings for a particular element type. More...
#include <CommonClasses.h>
Inheritance diagram for musx::dom::FontInfo:Public Member Functions | |
| FontInfo (const DocumentWeakPtr &document, bool sizeIsPercent=false) | |
| constructor | |
| bool | isSame (const FontInfo &src) const |
| Return true if the two fonts represent the same font. | |
| bool | getSizeIsPercent () const |
| If true, the size of this font is calculated as a percent of the preceding font size (in an Enigma string) | |
| std::string | getName () const |
| Get the name of the font. | |
| void | setFontIdByName (const std::string &name) |
| Sets the id of the font from a string name. | |
| void | setEnigmaStyles (uint16_t efx) |
| Set style effects based on a bitmask. This is mainly useful for capturing text styles from enigma strings. (See musx::util::EnigmaString::parseStyleCommand.) | |
| uint16_t | getEnigmaStyles () const |
| Returns the font styles as an nfx bitmask. | |
| bool | calcIsDefaultMusic () const |
| Calculates if this is the default music font. | |
| bool | calcIsSymbolFont () const |
| Calculates if this is a symbol font. (See others::FontDefinition::calcIsSymbolFont.) | |
| std::optional< std::filesystem::path > | calcSMuFLMetaDataPath () const |
| Returns the filepath of the SMuFL font's metadata json file, if any. | |
| bool | calcIsSMuFL () const |
| Calculates whether this is a SMuFL font. | |
Public Member Functions inherited from musx::dom::CommonClassBase | |
| CommonClassBase (const DocumentWeakPtr &document) | |
| Constructs a CommonClassBase object. | |
Public Member Functions inherited from musx::dom::EnigmaBase | |
| Cmper | getSourcePartId () const |
| Gets the source partId for this instance. If an instance is fully shared with the score, the source is SCORE_PARTID. If an instance is partially shared or non shared, the source is the ID of the part that sourced it. | |
| ShareMode | getShareMode () const |
| Gets the sharing mode for this instance. | |
| const SharedNodes & | getUnlinkedNodes () const |
Gets the unlinked nodes for this instance. (Only populated for ShareMode::Partial) | |
| void | addUnlinkedNode (const std::string &nodeName) |
| Adds a shared node for this instance. | |
| virtual void | integrityCheck (const std::shared_ptr< EnigmaBase > &ptrToThis) |
| Performs a final consistency check after population. | |
| virtual bool | requireAllFields () const |
| Returns true if all fields are required for valid input. | |
Public Member Functions inherited from musx::dom::DocumentElement | |
| virtual | ~DocumentElement () noexcept(false)=default |
| Virtual destructor for polymorphic behavior. | |
| DocumentPtr | getDocument () const |
| Gets a reference to the Document. | |
| Cmper | getPartId () const |
| Gets the part id associated with this instance. | |
Static Public Member Functions | |
| static std::optional< std::filesystem::path > | calcSMuFLMetaDataPath (const std::string &fontName) |
| Returns the filepath of the SMuFL font's metadata json file, if any. | |
| static std::vector< std::filesystem::path > | calcSMuFLPaths () |
| Returns the standard SMuFL font folder. | |
| static const xml::XmlElementArray< FontInfo > & | xmlMappingArray () |
| Required for musx::factory::FieldPopulator. | |
Public Attributes | |
| Cmper | fontId {} |
| Font identifier. This is a Cmper for others::FontDefinition. | |
| int | fontSize {} |
| Font size or percent (where 100 is 100%) of preceding font size. (See getSizeIsPercent.) | |
| bool | bold {} |
| Bold effect. | |
| bool | italic {} |
| Italic effect. | |
| bool | underline {} |
| Underline effect. | |
| bool | strikeout {} |
| Strikeout effect. | |
| bool | absolute {} |
| Fixed size effect. | |
| bool | hidden {} |
| Hidden effect. | |
Additional Inherited Members | |
Public Types inherited from musx::dom::EnigmaBase | |
| enum class | ShareMode { All , Partial , None } |
| Describes how this instance is shared between part and score. More... | |
| using | SharedNodes = std::set< std::string > |
| The container type for shared nodes. | |
Protected Member Functions inherited from musx::dom::CommonClassBase | |
| ShareMode | getShareMode () const |
| Gets the sharing mode for this instance. | |
| const SharedNodes & | getUnlinkedNodes () const |
Gets the unlinked nodes for this instance. (Only populated for ShareMode::Partial) | |
Protected Member Functions inherited from musx::dom::EnigmaBase | |
| EnigmaBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the base class. | |
| EnigmaBase (const EnigmaBase &)=default | |
| explicit default copy constructor | |
| EnigmaBase (EnigmaBase &&) noexcept=default | |
| explicit default move constructor | |
| EnigmaBase & | operator= (const EnigmaBase &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| EnigmaBase & | operator= (EnigmaBase &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Protected Member Functions inherited from musx::dom::DocumentElement | |
| DocumentElement (const DocumentWeakPtr &document, Cmper partId) | |
| Constructs the document element. | |
| DocumentElement (const DocumentElement &)=default | |
| explicit default copy constructor | |
| DocumentElement (DocumentElement &&) noexcept=default | |
| explicit default move constructor | |
| DocumentElement & | operator= (const DocumentElement &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| DocumentElement & | operator= (DocumentElement &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Represents the default font settings for a particular element type.
The FontInfo struct holds information about font properties, such as the font ID, size, and styles like bold, italic, underline, strikeout, fixed size, and visibility.
|
inline |
constructor
| document | the document containing the font |
| sizeIsPercent | if true, the size is a percent relative to the preceding font size in an Enigma string. |
|
static |
Returns the filepath of the SMuFL font's metadata json file, if any.
| fontName | The font name to find. |
|
static |
Returns the standard SMuFL font folder.
| std::string musx::dom::FontInfo::getName | ( | ) | const |
Get the name of the font.
|
inline |
Return true if the two fonts represent the same font.
| src | The input font to compare with. |
|
inline |
Set style effects based on a bitmask. This is mainly useful for capturing text styles from enigma strings. (See musx::util::EnigmaString::parseStyleCommand.)
| efx | A 16-bit integer representing style effects with specific bit masks. |
| void musx::dom::FontInfo::setFontIdByName | ( | const std::string & | name | ) |
Sets the id of the font from a string name.
| name | The font name to find. |
| std::invalid_parameter | if the name is not found. |