This presentation might contain Far East (or Asian) text and formats that PowerPoint can't display
Asian/Double-Byte fonts can't be replaced
You open a PowerPoint file that uses an Asian language font on a non-Asian system and PowerPoint warns you that the file may contain Far East text or formats that PowerPoint can't display.
It does this even when the text in the presentation seems to use only standard western language characters.
PowerPoint won't allow you to substitute a different font in order to get rid of this message (it tells you that it can't replace double-byte fonts with single byte ones.)
Solution 1: It wants double bytes, GIVE it double bytes
One helpful Powerpoint user came up with this suggestion (you know who you are, Jeff):
Make sure you have Arial Unicode installed. If it's not already installed as part of Office 2000 or later, you can find it here.
( But Microsoft may have since removed this ... sorry. See the bottom of the page for more info about Arial Unicode )
Since unicode fonts can contain all necessary characters for Asian text, PowerPoint should allow you to substitute Arial Unicode. This should make the warning messages stop, at least on any system with Arial Unicode installed.
If the presentation was originally created on a Japanese/Korean/Chinese version of PowerPoint, there may be an option to save using only non-asian characters/fonts. Have the user open the file, choose File, Save As and check the Save As types for something like "Western characters only" or similar options.
How to install Arial Unicode
Arial Unicode MS is included with most of the Office 2000 and later versions but isn't usually installed by default. The exact steps you'll follow to install it may vary depending on which version of Office you have, in general:
- Insert the Office CD and let setup start (or run SETUP.EXE from it if it doesn't automatically run)
- Click Add or Remove Features
- Click the + next to Office Tools
- Click the + next to International Support
- Set Universal Font to: Run From My Computer
- Don't change anything else (unless you specifically want to add/remove other stuff while you're there)
- Click Update Now
When Setup finishes, Arial Unicode MS will be available to PowerPoint and other programs.
Solution 2: Substitute, Search and Destroy
PowerPoint newsgroup regular Barry Guyer came up with this clever solution:
Choose Format, Replace Fonts. In the upper list box, you'll see a list of all the fonts used in the presentation. Any missing fonts will have a ? icon next to them. PowerPoint won't let you substitute other fonts for the Far East ones. That's how you figure out which ones are Far East to start with.
Check each object in the presentation (including the ones on the slide and notes masters). You're looking for any objects that use the Far East fonts. When you find an object that uses them, you'll need to create a new object identical to the one that uses the Asian font, but with a Western font instead. Just copying and editing the object won't do it.
Solution 3: Set the dogs ... er ... Macros on it, Henry!
Building on Shyam Pillai's suggestions (see below) we've added a new feature to the free PPTools Starter Set. In order to help solve problems like this one, we've added automatic "round-trip" to html and back with font replacement.
See StarterSet Overview and scroll to the bottom of the page for instructions.
This will generally root out all instances of Far East fonts, but the presentation may still contain references to fonts that it doesn't actually use. We're looking into ways of eliminating these as well.
Solution 4: Mother please! I'd rather do it mySELF!
If you have PowerPoint 2000/2002/2003/2007, try this workaround from MVP Shyam Pillai:
This makes use of the PPT-HTML-PPT round tripping feature in PowerPoint [Note: this workaround won't work in PowerPoint 97 or earlier.]
- Open the presentation
- Export the presenation as a Web Page and quit PowerPoint.
- Open the created HTML files (slide0001.htm, slide0002.htm etc) in a text editor (Notepad).
- Find and replace instances of font name with a single byte font name. e.g. Arial Unicode MS with Arial.
- Save the files.
- Launch PowerPoint, select File | Open and click on the Webpage exported earlier.
- PowerPoint will open this file as a presenation.
- Save this file as a presentation.
You will notice the fonts have been replaced with the equivalent one provided in Step 4. It is a lot easier to isolate the slides with the unicode font export them only and then reimport them back.
A few things to watch out for (thanks for these, Freddy!):
- Since you're search/replacing all instances of the font names, you'll also replace font names that happen to be in your presentation's text.
- If you search for e.g. "Times" and replace it with "Times New Roman" then repeat the search, you may end up with a presentation that thinks it needs "Times New Roman New Roman".
- Some font names may be encoded (ie, if the font has a name that includes CJK characters).
Solution 5: Baffle it with old technology
We love this one. It's so totally brilliant, so totally outside the box. It won't work for every presentation, but it might be just the thing for yours.
Craig, who came up with it, reasoned that the ability to use double-byte fonts appeared in PowerPoint 97, and so earlier versions of PowerPoint wouldn't support them. So saving to an earlier version might force PowerPoint to ditch the double-byte fonts, if only to maintain compatibility.
He chose File, Save As, picked "PowerPoint 95" as the "Save As" type, gave the file a new name and saved.
NOTE: The "hybrid" dual-file formats like "Powerpoint xxx & PowerPoint 95" won't work.. It's GOT to be "PowerPoint 95" plain and simple. Any version of PowerPoint through 2003 has this option.
And sure enough, it works. When he opened the file back into a current version of PowerPoint, it did a conversion back to the current format and the double-byte fonts were gone.
As he was careful to mention, this only works on slide shows that don't use features not supported by PowerPoint 95 (various animations and semI-transparent colors, possibly multipe masters, etc.) Or worst case, you might have to re-apply these features after you re-open the saved presentation.
And note that versions of PowerPoint after 2003 can't save or open PowerPoint 95 format files, so this trick won't work there.
Solution 6: Beat it some more with VBA
This macro tries to change the name of each "Far East" font to "Arial". Substitute another font name if you like.
Sub FarEastFontsToArial() Dim oSh As Shape Dim oSl As Slide For Each oSl In ActivePresentation.Slides For Each oSh In oSl.Shapes If oSh.HasTextFrame Then oSh.TextFrame.TextRange.Font.NameFarEast = "Arial" End If Next Next For Each oSh In ActivePresentation.SlideMaster.Shapes If oSh.HasTextFrame Then oSh.TextFrame.TextRange.Font.NameFarEast = "Arial" End If Next If ActivePresentation.HasTitleMaster Then For Each oSh In ActivePresentation.TitleMaster.Shapes If oSh.HasTextFrame Then oSh.TextFrame.TextRange.Font.NameFarEast = "Arial" End If Next End If End Sub
And if all else fails, use Mike's Divide 'n Conquer
Save two copies of your presentation. Delete the first half of the slides from one, the second half from the other. Check each half to see if either has any reference to far east fonts. If it does, keep dividing in half this way until you've narrowed it down to just the slide or slides with the far-east fonts called for. Go back to your original presentation, re-create this slide or slides (not copy, re-create from scratch). Then delete the original slide.
What's all this about double-byte fonts and Unicode fonts, anyway?
In case you'd like to know more about all of this, here are a few useful resources:
- helpware.net's Unicode page
- Wikipedia's Double Byte Character Set (DBCS) page
- Understanding Unicode at CoderSource.net
See How do I use VBA code in PowerPoint? to
learn how to use this example code.