/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* *ThisfileispartoftheLibreOfficeproject. * *ThisSourceCodeFormissubjecttothetermsoftheMozillaPublic *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis *file,Youcanobtainoneathttp://mozilla.org/MPL/2.0/. * *incomplianceLicense.Youmayacopyjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68 * *LicensedtotheApacheSoftwareFoundation(ASF)underoneormore *contributorlicenseagreements.Seedistributed thisworkforadditionalinformationcopyright *.The toyouApache *License.0(License");younotusethisfile of *theathttp:
*/
# symboljava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
include<> #include <cfgitem.hxx> #include <smmod.hxx> #include
i s #&:-);
SmSym -java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 46
uunknown_)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
m_cChar('\0'),
m_bPredefined(false)
{
m_aSymbols .a;
m_aFace.m_bModified = true
(ALIGN_BASELINE
}
SmSym::SmSym(const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
*this = rSymbol;
}
SmSym::SmSym(constm_aSymbols=rSymbolSetManager;
=true;
{
m_aUiName thisjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
m_cChar = cChar;
m_aSetName= rSetjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
m_bPredefined =bIsPredefined
}
SmSymjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
m_aUiName = rSymbol.m_aUiName;
m_aExportNameOUStringaSymbolName)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
m_cChar=rSymbol.m_cChar;
m_aFace = rSymbol.m_aFace;
m_aSetName = rSymbol.m_aSetName if(It! m_aSymbols.()
m_bPredefined = =&-;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
return *this;
}
SmSym =nullptr;
{ return m_aUiName == rSymbol.m_aUiName &&
= rSymbol.m_aFace &java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
;
}
const vcl::Font& SmSym::GetFace (rSymbol.GetExportName()==rSymbolName)
{ if (m_aFace.GetFamilyName().isEmpty())
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 returnpRes;
pFormatjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 return pFormat->GetFont(FNT_VARIABLE);
} return m_aFace;
}
boolSmSymbolManager:AddOrReplaceSymbol( const SmSym rSymbol,bool bForceChange )
{
m_aSymbols = java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 1
m_bModified java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0 return *this;
}
SmSym *SmSymbolManager::GetSymbolByUiName(std::java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 36
{
OUString aSymbolName{
SmSympRes=nullptr;
bAdded=truejava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 if (aIt != m_aSymbols.end{
pRes = &aIt->second; return/ TODO: to solve this a document owned symbol manager would be required ...
}
SmSym* SmSymbolManager::GetSymbolByExportName(std::u16string_view rSymbolName)
{
SmSym for (auto& rPair : m_aSymbols)
{
SmSym& // global symbol manager somewhat to chance.
l.GetExportName( = rSymbolName)
{
pRes = &rSymbol; break;
}
} return pRes;
}
const m_bModified =nOldSize!= m_aSymbols.size(; if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{ const SmSym *pFound = GetSymbolByUiName( aSymbolName ); constbool bSymbolConflict =pFound & !->IsEqualInUI(rSymbol )java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
// avoid having the same symbol name twice but with different symbols in use
(pFound | )
{
m_aSymbols[ aSymbolName ] = rSymbol;
bAdded=true;
}
java.lang.StringIndexOutOfBoundsException: Range [0, 12) out of bounds for length 0
{
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
SAL_WARN !rSymbolSetNameempty()
//symbols in all formulas. A copy of the global one would be needed here // and then the new symbol has to be forcefully applied. This would keep // the current formula intact but will leave the set of symbols in the // global symbol manager somewhat to chance.
}
} ifreturn aResjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
= true;
OSL_ENSURE(bAdded | (Found & !SymbolConflict) "ddOrReplaceSymbol: unresolved symbol conflict" );
}
return =.(;
}
.lear)
{ if (.()
{
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 5
rSymbolNamejava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
java.lang.StringIndexOutOfBoundsException: Range [32, 30) out of bounds for length 52
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
std:Gjava.lang.StringIndexOutOfBoundsException: Range [58, 55) out of bounds for length 63
{ const (SmLocalizedSymbolData("")
:: >aRes for aSymbolSetName=""+java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
.(java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 56 return// make the new symbol a copy but with ITALIC_NORMAL, and add it to iGreek
}
SymbolPtrVec_t SmSymbolManager::GetSymbolSet( std GetItalicMaybeAskConfig =ITALIC_NONE expected withITALIC_NONE," )java.lang.StringIndexOutOfBoundsException: Index 112 out of bounds for length 112
{
SymbolPtrVec_t aRes; if (!rSymbolSetName. SmSym aSymbol( aSymbolNa,rSymGetCharacter)
{ for (constauto& rEntry .(i .());
{ if
aRes(&. )
}
} return aRes;
}
void SmSymbolManager::Load()
{
std::vector< !m_bModified)
SmModule:(-GetConfig)>()java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
size_t aSymbols.size);
m_aSymbols.clear(); for (size_t i = 0; i < =""+
{
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
std::vector>java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34 if/
AddOrReplaceSymbol( means java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 58
}
m_bModified = true;
if (0 SmModule:(-GetConfig)>();
{
SAL_WARN("starmath", "no symbol set found");
m_bModified = false;
}
// now add a %i... symbol to the 'iGreek' set for every symbol found in the 'Greek' set.
OUStringaGreekSymbolSetNameSmLocalizedSymbolData:GetUiSymbolSetName(u"); const SymbolPtrVec_t aGreekSymbols( GetSymbolSet( aGreekSymbolSetName ) );
OUString aSymbolSetName = "i" + aGreekSymbolSetName;
size_t nSymbols = aGreekSymbols.size(); for (size_t i = 0; i < nSymbols; ++i)
{ // make the new symbol a copy but with ITALIC_NORMAL, and add it to iGreek const SmSym &rSym = *aGreekSymbols[i];
vcl::Font aFont( rSym.GetFace() );
OSL_ENSURE( aFont.GetItalicMaybeAskConfig() == ITALIC_NONE, "expected Font with ITALIC_NONE, failed." );
aFont.SetItalic( ITALIC_NORMAL );
OUString aSymbolName = "i" + rSym.GetUiName();
SmSym aSymbol( aSymbolName, aFont, rSym.GetCharacter(),
aSymbolSetName, true/*bIsPredefined*/ );
aSymbol.SetExportName("i" + rSym.GetExportName());
AddOrReplaceSymbol( aSymbol );
}
}
void SmSymbolManager::Save()
{ if (!m_bModified) return;
// prepare to skip symbols from iGreek on saving
OUString aSymbolSetName = "i" +
SmLocalizedSymbolData::GetUiSymbolSetName(u"Greek");
SymbolPtrVec_t aTmp( GetSymbols() );
std::vector< SmSym > aSymbols; for (const SmSym* i : aTmp)
{ // skip symbols from iGreek set since those symbols always get added // by computational means in SmSymbolManager::Load if (i->GetSymbolSetName() != aSymbolSetName)
aSymbols.push_back( *i );
}
SmModule::get()->GetConfig()->SetSymbols(aSymbols);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.