When copying a slide from one presentation into another, the font of think-cell labels changes
Description
When copying slides from one presentation to another, the font style and/or the font size may change. In most cases, this is the expected behavior of PowerPoint. However, unexpected changes may occur when copying between PowerPoint's outdated ppt file format (default until Office 2003) and the modern pptx file format of PowerPoint 2007 and later versions.
Copying between modern pptx files
The font type changes if the text uses theme fonts and the theme fonts of source and destination files are different. This is the expected behavior.
Modern PowerPoint templates are based on Office document themes, which also define the theme fonts.
Check the PowerPoint font menu to see if a given text box uses a theme font. Theme fonts are listed in the separate Theme Fonts section of the menu, and (Headings) or (Body) is appended to the font name.
The font type used in think-cell labels is taken from the body text placeholder on the slide master of the PowerPoint presentation or template.
Use PowerPoint's paste options to control whether theme fonts are replaced.
- Use Destination Theme applies the theme font (and other theme settings) of the file you paste into. This is the default choice.
- Keep Source Formatting keeps the original font and other theme settings. To achieve this, PowerPoint implicitly copies the slide master of the source file to the destination file.
How to choose Keep Source Formatting depends on the Office version.
-
Office 2010 and later: Choose the paste option from Home > Clipboard > Paste Options (the little arrow below the Paste button).
Alternatively, use the Smart Tag that appears next to the pasted slide.
-
Office 2007: Use the Smart Tag that appears next to the pasted slide.
Copying between outdated ppt and modern pptx files
The font type and the font size may change unexpectedly. The problem does not happen with all ppt files, but if it does it is caused by PowerPoint and can be reproduced without think-cell.
Insert a text box with sample text into the original presentation. Copy it and paste it into the destination presentation. From the smart tag that appears after pasting, you can choose the following options:
Paste Option: 'Keep Source Formatting'
Office 2007: Even though you chose Keep Source Formatting, the font type may change to the destination's theme font and the size may change. This is a bug in Office 2007 and will not be fixed by Microsoft.
Office 2010 and later: This works as expected. If the font changes when using Office 2010, this is most likely due to a bug that has since been fixed by Microsoft. Install Microsoft's automatic updates for Office 2010 or at least KB2598346.
Paste Option: 'Use Destination Theme'
Office 2007 and later: The pasted text box has a font size that is retrieved from the default PowerPoint text style of the destination presentation. This default text style's formatting options are not the same as for
- the Default Text Box and Default Shape
- the Master Text Style in the Text Placeholder on the Slide Master.
Solutions if copying between outdated ppt and modern pptx files has unexpected results
Paste Option: 'Keep Source Formatting'
Office 2007: Update to Office 2010 or later. Microsoft does not publish fixes for Office 2007 any more (except for security updates). Many issues remain which are fixed only in more recent versions.
Paste Option: 'Use Destination Theme'
Office 2007 and later: The font size is determined by the default PowerPoint text style, which, to our knowledge and according to the information we received from Microsoft, cannot be accessed in the PowerPoint user interface. However, you can use VBA macros to display and change the font size of all indent levels of the default text style in the destination file.
Open the VBA editor with Alt+F11. Select your workbook and click on Insert > New module. Then paste one of the following macros and run it by clicking Run Macro or by pressing F5.
To display the PowerPoint default text style's font size (for all indent levels):
Sub DisplayDefaultTextSize()
Dim lvl As TextStyleLevel
For Each lvl In ActivePresentation.SlideMaster.TextStyles(ppDefaultStyle).Levels
Debug.Print lvl.Font.Size
Next
End Sub
To set the PowerPoint default text style's font size (for all indent levels):
Sub AdjustDefaultTextSize()
Dim lvl As TextStyleLevel
For Each lvl In ActivePresentation.SlideMaster.TextStyles(ppDefaultStyle).Levels
lvl.Font.Size = 14
Next
End Sub