I'm trying to replace fonts, and I keep getting this message that I'm trying
to replace a double-byte font with a single-byte font. But the genius of the
whole system is: they don't tell you which ones are single and which ones
are double. How do I know?
http://www.pptfaq.com/FAQ00287.htm might give you some ideas for replacing
the font.
--
Echo [MS PPT MVP] http://www.echosvoice.com
What's new in PPT 2007? http://www.echosvoice.com/2007.htm
Fixing PowerPoint Annoyances http://tinyurl.com/36grcd
PowerPoint 2007 Complete Makeover Kit http://tinyurl.com/32a7nx
"Kamran" <Kam...@discussions.microsoft.com> wrote in message
news:62336238-B5AA-4838...@microsoft.com...
For starters, any Unicode and most Chinese/Japanese/Korean (CJK) fonts will be
doublebyte.
Here's a little trick, though. Run the following VBA code on a COPY of your
presntation. It simply asks PPT to replace each font in the presentation with
Arial (change the Replacement:="Arial" line if you want a different font).
PPT won't error but it won't replace doublebyte fonts with single byte fonts.
After you run the code, choose Format, Replace fonts. What you'll have left in
the upper list box is Arial (of course) plus your double-byte font names.
Sub FiddleDaFonts()
Dim x As Long
On Error Resume Next
With ActivePresentation
With .Fonts
For x = 1 To .Count
With .Item(x)
Debug.Print .Name
ActivePresentation.Fonts.Replace _
Original:=.Name, Replacement:="Arial"
End With
Next
End With
End With
End Sub
==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/
PPTools add-ins for PowerPoint
http://www.pptools.com/
Arial is a double byte font - I believe
cheers
TAJ Simmons
PowerPoint Master
http://www.awesomebackgrounds.com
awesome - powerpoint templates,
powerpoint backgrounds, free samples, ppt tutorials...
"Kamran" <Kam...@discussions.microsoft.com> wrote in message
news:62336238-B5AA-4838...@microsoft.com...
Unicode, at least in some versions, and I don't think Unicode is exactly the
same as double-byte, at least not from PPT's POV.
Interesting though ... in 2007, when you do Replace Fonts, it only shows you
acceptable replacement fonts in the lower dropdown box when you choose a
unicode font in the upper one. Nice touch.
FWIW, PPT gives me the "you're trying to replace a double-byte font" message
when I try to replace Arial Unicode with Arial.
So I guess I always associated Arial Unicode with double-byte and consider
"regular" Arial a single-byte font.
Hmmm.
Have you checked the current version of Arial on your system with the font
properties extension? I'm sure it was once non-unicode/non-doublebyte. But
given the size and the number of glyphs it includes now, it simply can't be
single-byte (which'd be limited to 255 characters)
I suspect that we're getting the generic "Can't do that, boss" font error and
it's just badly/vaguely worded.
Ya think they let the "File not found" guy near the keyboard again?
First, in PPT 2003 and 2007, if I set text in MS Arial Unicode, then try to do
Replace Fonts, it only offers me (what I think are) Unicode fonts in the
Replace With dropdown.
It also restricts the Replace With choices in some other circumstances.
Next, doublebyte is not the same as Unicode, at least not in the usual way
"doublebyte" is used.
This is probably way oversimplified, but in Unicode, every character is a two
byte number that tells the system where the font stores the info needed to draw
the character.
Before Unicode, languages like Chinese/Japanese/Korean (CJK) used a different
type of encoding to point to the right character info in a font.
You might have a string of single bytes; these would point to the same
characters as our usual Western fonts. Then there might be a couple of "flag"
or "shift" bytes, an ESC character followed by another byte, for example.
This'd tell the system to shift to doublebyte mode; from then until another
shift sequence came by, the system would read the first byte of each character
pair as a pointer to the character TABLE, and the next byte as the pointer to
the character within that table.
Kinda like:
Letter 001
Letter 008
Letter 042
YO! SHIFT IN!
Page 012 Letter 008
Page 018 Letter 003
YO! SHIFT OUT!
Letter 018
Letter 012
etc., with none of the numbers > 256
Where Unicode is more like:
Letter 02345
Letter 00002
Letter 73459
and so on with none of the numbers greater than umptybazillion.
OK. So what, right? ;-)
Well, with all that shiftystuff, traditional doublebyte is fragile. Lose one
byte at the wrong time and your text is hosed.
And there were quite a few different doublebyte encoding systems; in Japanese,
they were all similar enough that it was VERY difficult (impossible in some
cases) to tell accurately which you were looking at. And all just different
enough that if you guessed wrong (or your PC did) you got gibberish.
So I'm guessing that MS is trying to guarantee first and foremost that they
don't mung our text. That'd mean not allowing us to substitute just any
doublebyte font for any other. The encoding would have to match or at least be
compatible.
And of course, substituting a single byte for a double byte font would
virtually guarantee that the text would get hosed, so they don't want to do
that either.
I suppose they could let you choose a different font on a provisional basis,
then read through all the text in the file and if there's so much as one non-
latin character that isn't available in the new font, kibosh the deal, but
that'd be slow, error prone, almost as frustrating to the user and would take a
lot of dev time to implement; time they could put to use against features/bugs
that'd affect far more people.
And why not let us sub Unicode fonts for any ol' double byte font? Because
there's no one-to-one match between characters and there's no guarantee that a
unicode font would even HAVE the needed characters. Hardly any of them have
the whole universe of possible characters, y'see. MS Arial Uni's the exception
(and wouldja lookit the SIZE of that thing!).
Arial has 1674 characters, Arial UNI 50,000+
Unicode fonts also have named groups and the font properties tell you whether
the font contains the characters in a given group, so PPT might be looking at
the original font and only presenting possible replacements that support the
same groups. If the original font is available; if not, we're back to the
original problem of working out what encoding's used, if we can, and whether
the characters needed by each character in each bit of text in the presentation
are supported by the chosen substitute font. And again, I figure that's too
much work and too likely to fail. So we get the PPT "Nuh-uh, not gonna"
instead.
Not that any of this helps solve the problem of course ... but I guess it's
interesting to know the breed of dog that's sunk its teeth into your butt and
why he's mad at you if you can't get him to turn loose in any case.
Lucy
--
Lucy Thomson
PowerPoint MVP
MOS Master Instructor
www.aneasiertomorrow.com.au
"Steve Rindsberg" <ab...@localhost.com> wrote in message
news:VA.0000538...@localhost.com...
Sharing (or getting it written coherently enough to share) helps me
understand it. Or understand what I don't understand. ;-)
TAJ