25#include <osl/diagnose.h>
30 m_aSetName(OUString(
"unknown")),
47 const OUString& rSet,
bool bIsPredefined)
70 SM_MOD()->GetSymbolManager().SetModified(
true);
114 SmSym *pRes =
nullptr;
115 SymbolMap_t::iterator aIt(
m_aSymbols.find( rSymbolName ) );
127 aRes.push_back( &rEntry.second );
137 const OUString& aSymbolName( rSymbol.
GetName() );
141 const bool bSymbolConflict = pFound && !pFound->
IsEqualInUI( rSymbol );
144 if (!pFound || bForceChange)
149 else if (bSymbolConflict)
152 SAL_WARN(
"starmath",
"symbol conflict, different symbol with same name found!");
159 OSL_ENSURE( bAdded,
"failed to add symbol" );
162 OSL_ENSURE( bAdded || (pFound && !bSymbolConflict),
"AddOrReplaceSymbol: unresolved symbol conflict" );
171 if (!rSymbolName.isEmpty())
182 std::set< OUString > aRes;
184 aRes.insert( rEntry.second.GetSymbolSetName() );
192 if (!rSymbolSetName.empty())
196 if (rEntry.second.GetSymbolSetName() == rSymbolSetName)
197 aRes.push_back( &rEntry.second );
206 std::vector< SmSym > aSymbols;
209 size_t nSymbolCount = aSymbols.size();
212 for (
size_t i = 0;
i < nSymbolCount; ++
i)
214 const SmSym &rSym = aSymbols[
i];
215 OSL_ENSURE( !rSym.
GetName().isEmpty(),
"symbol without name!" );
221 if (0 == nSymbolCount)
223 SAL_WARN(
"starmath",
"no symbol set found");
230 OUString aSymbolSetName =
"i" + aGreekSymbolSetName;
231 size_t nSymbols = aGreekSymbols.size();
232 for (
size_t i = 0;
i < nSymbols; ++
i)
235 const SmSym &rSym = *aGreekSymbols[
i];
239 OUString aSymbolName =
"i" + rSym.
GetName();
241 aSymbolSetName,
true );
255 OUString aSymbolSetName =
"i" +
259 std::vector< SmSym > aSymbols;
260 for (
const SmSym*
i : aTmp)
264 if (
i->GetSymbolSetName() != aSymbolSetName)
265 aSymbols.push_back( *
i );
void SetSymbols(const std::vector< SmSym > &rNewSymbols)
void GetSymbols(std::vector< SmSym > &rSymbols) const
SmSym & operator=(const SmSym &rSymbol)
const OUString & GetSymbolSetName() const
const OUString & GetName() const
sal_UCS4 GetCharacter() const
const vcl::Font & GetFace() const
bool IsEqualInUI(const SmSym &rSymbol) const
SymbolPtrVec_t GetSymbolSet(std::u16string_view rSymbolSetName)
bool AddOrReplaceSymbol(const SmSym &rSymbol, bool bForceChange=false)
void RemoveSymbol(const OUString &rSymbolName)
SmSym * GetSymbolByName(const OUString &rSymbolName)
std::set< OUString > GetSymbolSetNames() const
SymbolPtrVec_t GetSymbols() const
SmSymbolManager & operator=(const SmSymbolManager &rSymbolSetManager)
void SetTransparent(bool bTransparent)
void SetItalic(FontItalic)
void SetAlignment(TextAlign)
#define SAL_WARN(area, stream)
OUString GetUiSymbolSetName(std::u16string_view rExportName)
std::vector< const SmSym * > SymbolPtrVec_t