Dear Fereshteh,
By default font, I mean, if you simply set any of the TextFrame.Text, Paragraph.Text or Portion.Text property without specifying any font, then Aspose.Slides will take it Arial by default.
I can’t reproduce the bug regarding the invalid font namely “times”. The code below, first generate presentation namely m_show from scratch and then add a table with two rows and set text in each of the cell. Then it writes the presentation on disk with the name outShow.ppt, if you see it by opening, you will see that font is Arial
Moving onward, it changes the master of the m_show slides using the exact code provided by you except I modified your foreach loop and write the presentation with the name outShow2.ppt.
As you can see in outShow2.ppt, no invalid font name appeared, it is still Arial.
I have attached both the ppt files including source files namely NielsenTemplatePPT.ppt
string dirPath = @"D:\downloads\";
Presentation m_show = new Presentation();
Slide m_showSld = m_show.GetSlideByPosition(1);
//Add a table
Aspose.Slides.Table m_showTbl = m_showSld.Shapes.AddTable(500, 500, 5000, 1000, 1, 2);
//m_showTbl.SetBorders(0, Color.Black);
//Add a text in first cell
Aspose.Slides.Cell m_showTblCell = m_showTbl.GetCell(0, 0);
m_showTblCell.TextFrame.Text = "Is my market share growing or declining?";
//Add text in second cell
m_showTblCell = m_showTbl.GetCell(0, 1);
m_showTblCell.TextFrame.Text = "DOLLARS - PHILADELPHIA CENSUS TA - ALL PURPOSE BAKING MIX - 4 W/E 02-24-07";
//Write the presentation on disk to view
m_show.Write(@"c:\outShow.ppt");
//Change its template
Presentation m_masterTemplate = new Presentation(dirPath + "NielsenTemplatePPT.ppt");
Slide clonedSlide = m_masterTemplate.CloneSlide(m_masterTemplate.GetSlideByPosition(1),
m_show.Slides.LastSlidePosition + 1, m_show, new System.Collections.SortedList());
// Now m_show contains 1 extra slide (cloned) + 1 logo master from m_masterTemplate.
// Replace master for m_show own slides and then
// delete the slide (not master) which was cloned from m_masterTemplate.
Slide logoMaster = m_show.GetSlideById(clonedSlide.MasterId);
for (int i = 1; i <= m_show.Slides.LastSlidePosition; i++)
{
Slide slide = m_show.GetSlideByPosition(i);
slide.ChangeMaster(logoMaster);
}
//foreach (Slide slide in m_show.Slides)
// slide.ChangeMaster(logoMaster);
m_show.Slides.Remove(clonedSlide);
m_show.DeleteUnusedMasters();
m_show.Write(@"c:\outShow2.ppt");