When you choose fonts for Office, it takes a different approach than selecting typefaces for an InDesign document. One obvious difference is that you only need to install the font for a design document on the computer where it’s being created. Using the same font in an Office program will require the font to be installed on every computer using the document. Clearly, this is a much more costly solution. Aside from that, let’s look at the pitfalls of choosing fonts for Office templates.
Choosing Fonts for Office – Designer Vanity
Designers from different geographic areas spec fonts differently. As one example, Toronto designers tend to focus on the practicalities of electronic document distribution. As a result, they will often choose Arial or Times New Roman for the user-filled portion of a template. By contrast, designers from New York focus on creating a distinct visual appearance. They choose unusual designer fonts. This creates logistical problems for their clients. They must spend money licensing for all workstations and then take time to install the fonts for each user.
Test fonts from small foundries to licensing a lot of copies. I’ve written about this issue before: Cross-platform Fonts from Small Foundries: Beware! In a mixed Windows/OS X environment, a poor quality font will not display correctly in documents that move between Mac and PC. One typical symptom is Italic text that displays as Roman or Bold when viewed on a different OS, or some similar weight/style mixup.
Choosing Fonts for Office – Collaboration
If the client uses Office documents for collaboration (Don’t know? You should be asking these questions!), you should seriously reconsider a “designer-y” font choice. When the documents arrive at your client’s client, that computer will not have the fonts and the document appearance will change drastically. Unlike web pages, Office documents do not have a font fallback setting. There is no practical way to preset which font will be substituted when the original is missing.
I know what you’re going to say next: “What about if we embed the fonts?” Here’s are several reasons why that probably will not work.
- Embedding only works with TrueType and TrueType-flavored OpenType. But you shouldn’t be using PostScript or PostScript-flavored OpenType for Office anyway. Microsoft’s support for that format is going away.
- Embedding doesn’t work at all in Office for Mac. OS X users cannot embed fonts in documents. Neither can they see the correct fonts in documents where the font is already embedded.
- Most typefaces have restrictive embedding permissions. So even if you can embed the font and your client can see it, they will not be able to edit the document using the embedded font. You can get around this if you contact the foundry and request a version with Editable or Installable permissions. Expect to pay a surcharge for this. Some foundries charge a lot for this service, because they’re concerned about losing sales to possible piracy.
Choosing Fonts for Office – Font Families
Designers are used to Single versions of fonts. The is where each font variant appears as a separate entry in the font list in Office. If you want to change to bold or italic, you select a different font from the list. Office doesn’t usually work this way and Office users are not used to this method.
When all four faces in a font family are installed, using the bold and italic buttons has the intended effect of switching fonts.
Instead, Office users are familiar with Family fonts. This is where where a group of (usually 4) fonts is linked. To get bold or Italic variants, they click on the Bold or Italic buttons, leaving the font name the same. The foundry usually creates the font families, though there are some type utilities available that let you make a family out of single fonts. RoboFont is one that works. Some other popular utilities do not do this correctly. Use them and you’ll end up with a family that only works on Windows or OS X, but not both.
If the font is not set up as a family-style font, then using the bold and italic buttons fakes the look with stroking and/or slanting the roman. The result is a disastrous visual effect.
In OS X, it’s not obvious when you are using single versus family fonts. OS X creates family groupings on the fly. In Windows, it’s easy: install the fonts, then look at the font menu in an Office program. A font family will only have one entry for the family, while singles will list every font variant. In this screen shot, the Arials are families. Arnhem and ATC Arquette are collections of single fonts:
The Arials are families, while Arnhem and ATC Arquette are singles.
The logical conclusion to the font family approach is that your client should almost never be licensing just one or two typefaces. If four family members are not installed, Office will fake them by stroking the font for bold and slanting it for italic. As you might guess, this looks ghastly and completely off-brand.
The exceptions to this rule are:
- If the document is a fillable form in Word or Excel. Those documents are typically locked so the user can’t change the font or its attributes.
- The the font is used only for Headings. These are usually bold and stay that way, so there is less chance of a user applying attributes.
In either of these 2 situations, you should be able to get away with licensing a single typeface instead of a complete family.
A font family with all 4 members installed. The bold and italic button work as expected.
Here is a family-style font with only the Roman installed. Using the bold or italic buttons gets you this dreadful look, plus an out-of-memory warning from Office.
If your design calls for an unusual mix of weights, like Light and Demibold instead of Regular and Bold, contact the foundry to request a custom family. There is normally a small charge for this service. However, if the licensing deal is large enough, the foundry may waive this.
Choosing Fonts for Office – 2 Solutions
To sum up, for each different font used in your design, your client should be licensing a complete family of 4 typefaces in TrueType or Truetype-flavored OpenType.
Brandwares is a font reseller and we’ve been speccing type for Office for years. If you choose us to create your templates, we can also source your client fonts in the correct format and family. This service includes free tech support. We’ll help your client with any installation or usage issues and communicate with the foundry, if necessary.
Working on your own? A simple way to eliminate all these issues is to design with the fonts that are already installed by Office. There are many faces more interesting than Arial and Times New Roman in this collection. The fonts that come with Office don’t require any additional licensing fee. They are already installed and they have relaxed embedding permissions to make collaboration easy. They are all high-quality typefaces licensed from major foundries like Monotype. Here is a list of the families that are useful for business communications (we left out Comic Sans!). For maximum compatibility among all versions of Office, use a font that is checked in every column.
Click to open PDF
It’s a challenge to create the absolute best quality logos for client files in Microsoft Office. Most artists choose bitmap formats for logos, usually JPEG format. Apparently this is some kind of received wisdom from artist to artist, because JPEG format is close to the worst possible format for logos. But I’ve already covered this subject in JPEG Logos? Fail! back in 2013.
Brandwares has used indexed-color PNG format for most line art (a term for non-photographic art that is mostly flat color areas). Most logos qualify as line art. But there are a couple of disadvantages to using any type of bitmap format for branding information.
With Office files, Microsoft is determined to foist image “compression” on us. I put compression in quotes because Microsoft’s solution is really downsampling by another name. Whatever the name, the results are blurry and absolutely do not reinforce the brand. All bitmap files will be downsampled unless the user chooses only a single file. You can’t protect the company logo, even with XML hacking. Let’s face it, sooner or later, bitmap logos will look like mush.
The other persistent problem with bitmap formats is what happens when you create a PDF from a document. Acrobat’s default settings assume you want to create a small file to post on a web page. This was a serious problem 20 years ago. So, once again, a software company’s helpful authoritarianism leads to default settings that cream the logos in any Office file.
Vector Formats for Best Quality Logos
For many years, we at Brandwares were aware that a vector format was a potential way out of this. Vector formats are naturals for line art, because they easily handle geometric shapes with simple coloring. But there are relatively few vector formats from which to choose, and the available formats didn’t seem up to the job.
One grandaddy of vector formats is the EPS file. Well-known to designers, the EPS doesn’t get great support in Office programs. Printing them at high resolution requires PostScript support from the printer, which is dicey in most business offices. Office programs can’t ungroup them, so adding theme color support in an Office file is out of the question.
CGM was an early contender, and is still used in technical applications. But it never got support in common file formats. SVG is making inroads on the web, but Office is only beginning to support the format.
Let’s be honest, Microsoft offers the best support to the formats it invents. For vector graphics, that is WMF and EMF. WMF is a 16-bit format that was invented in the ’90s. In practice, it’s not too useful today. All too often, WMF files do not render the inside curve of shapes like O or D. In addition, Adobe Illustrator’s WMF export is horrendous, turning every curve into a series of angled straight lines. Corel Draw does a better export, but the format is limited by its 16-bit capacity.
The format we’re left with is EMF (Enhanced MetaFile). We’ve tried EMFs exported by Illustrator, but they aren’t so great. Illustrator’s curve accuracy goes down the toilet when it exports as EMF, even though it puts Corel Draw to shame. But at this point, we realized that there might be other programs that could do a better job with EMFs.
And there is! Forget Illustrator, forget Corel Draw! For now, the king of the EMF planet is the freeware program Inkscape! This open source vector illustration package creates top-notch EMF (and SVG) graphics and can import Illustrator AI and EPS graphic files. InkScape features much better curve accuracy than Illustrator can export. Here’s the complete workflow to create a robust logo that is a small file size and sharp at any resolution and has a transparent background and will never get downsampled by Office or Acrobat!
Best Quality Logos, Step-by-Step:
You’ll need a piece of artwork in Adobe Illustrator (.ai) or Illustrator EPS (.eps) to try this out. You can download Inkscape for OS X or for Windows.
- In Illustrator, open the .ai or .eps file and choose the Selection tool (dark arrow). Click on the logo. If the logo outlines are selected when you do this, go to step 3. However, if clicking on the logo activates a rectangle around the logo, proceed to step 2.
- The rectangle that gets selected is a clipping mask and/or a compound path boundary. In Illustrator, choose Object>Clipping Path>Release. You might have to do this several times, until all clipping masks are removed. Select the rectangles. If part of the logo also gets selected when you choose a rectangle, you’re not done. When you can select just the boundary rectangles, delete them. If you neglect this step, PowerPoint can resize the clipping mask which makes the logo look cropped.
Depending on the logo, you may also need to release the Compound Paths on the same menu. Doing this will cause the inside of A, O, D, etc. to fill in. If this happens select the paths for letter outline and the inside and choose Object>Compound Path>Make. Compound paths don’t cause problems around single letters, but they may cause issues around large groups of shapes.
- Save the file and close Illustrator.
- Open the file in InkScape. (Inkscape prefers more recent formats of .ai. If you see an import error message, try saving the file in Illustrator to a newer format)
- Choose File>Document Properties.
- On the Page tab of the dialog, expand the line Resize page to content by clicking on the plus sign.
- Change the units dropdown to in (inches)
- Set each of the 4 margin fields to 0.01 to add 1/100″ to the logo area.
- Click on Resize page to drawing or selection, then close the dialog.
- Choose File>Save As… and set Save as type: to Enhanced Metafile (*.emf). Save the file and close InkScape.
- Open PowerPoint, choose Insert>Picture and place the logo file. If it is the correct color you’re done. However, if you need to key part of the logo to the presentation theme, or if you need transparency in part of the logo, continue with the next step.
- With the logo selected, choose Picture Tools>Group>Ungroup. PowerPoint will pop up a notice: This is an imported picture, not a group. Do you want to convert it to a Microsoft Office drawing object? Click on Yes
- Once again, choose Drawing Tools>Group>Ungroup. Yes, you have to do it twice! This time, the drawing is actually ungrouped.
Best Quality Logos Extended
Once the file is ungrouped, you can key part or all of it to a theme color. If your presentation contains multiple color themes, then changing themes will change the keyed logo element automatically. This can be a slick trick for presentations with different sections in different code colors.
The layout for these slides is identical. Each uses a different color theme that varies one code color.
Transparency is not supported in most EMF exports, but by importing and ungrouping the logo, you can add transparency back in. In PowerPoint, choose Drawing Tools>Shape Fill>More Fill Colors…, then set the Transparency slider. This works the other way around from Illustrator, but the units are the same. If the Illustrator file used 40% Opacity, set 60% Transparency in PowerPoint.
From L to R: each character has 10% more transparency. You can’t get this by adding transparency in Illustrator, you must re-create it in Office.
EMF are not a great candidate for objects like disclaimers. Each letter includes one or 2 complex curves, so a paragraph of text will be much larger that the same disclaimer rendered as an indexed-color PNG or even a JPEG of the same text. But for logos, they’re pretty great. You get the same small file size and pin-sharp appearance regardless of how much you enlarge it. Applying image compression or printing to a low-res PDF leaves EMF logos in pristine condition. It’s by far easiest way to create the best quality logos for Microsoft Office.
You have a crucial thesis or presentation that’s due in the morning, but when you try to open it, you get a message saying the file has an error. It may seem like the end of the road, but with a little XML hacking, you can repair your file in just a few minutes and be back to work. Document repair is something you can do yourself.
First, let’s look at different causes of file corruption. The number one cause is working on files while they are on temporary or removable media. A USB or flash drive is a convenient way to carry data. The common alternative is to keep your information in the Cloud. But both of these are hazardous if you’re editing files. Accidentally ejecting a USB stick or losing your Internet connection while a file is open in Office is a near-guarantee of corruption. This type of corruption is also disastrous, because the file contents are so thoroughly scrambled, there is no way to recover the data.
But there are also files that get scrambled by software and usually these are recoverable. We’ll use the same techniques covered in previous posts. Windows users should review XML Hacking: An Introduction, while OS X hackers need to follow these instructions: XML Hacking: Editing in OS X
Is the File Recoverable?
When opened in Office, unrecoverable files may give you errors like these:
The first step is to rename a copy of the file with a .zip ending and expand it. An unrecoverable file (one scrambled by a USB or Cloud drive) will almost always raise an Zip error. Cut your losses, you’re not going to be able to fix this. As a second-best alternative, try opening the original damaged file in NotePad (on Windows) or Text Edit (OS X) to recover whatever text you can. You also might be able to extract some contents by opening in a different word processor, like Pages on a Mac.
By contrast, if you see the following messages, document repair is possible:
You can see that the first 2 messages are generic, while the second 2 give a specific location for the error. This means the file is at least partially readable by the program.
There are quite a few document repair articles on the web that are worth reading for the variety of tools that people are using. I prefer a combination of a good text editor (NotePad++ on Windows, BBEdit on OS X), plus a modern browser like FireFox or Chrome. The text editor is where you do the editing, while the browser parses the XML and finds any errors.
You’ve already unzipped the document or presentation, now look for the XML portion that contains the error. Most of the time, with a Word file, document.xml will be the culprit. Open document.xml in the text editor and Prettify (NotePad++) or Tidy (BBEdit) it to make it readable. A raw document.xml file only has 2 lines, which is why the XML errors are invariably reported as being on line 2. Making the text readable also adds useful line numbers to error reports, making the errors much quicker to find. Now the file should look like this:
Save document.xml, then open it in your choice of browser. This is how FireFox and Chrome show where the first error is:
As you can see, the report is a little more informative in FireFox. The error is a mismatched tag: a tag was opened but not closed. It expected to see the closing tag </mc:Fallback> and it tells you exactly where it thought that tag should be. The arrow points to the first character that is in error. The correct way to interpret this is that the expected end tag should be inserted immediately before the tag pointed to.
Document Repair Technique
Here’s what the error location looks like in the text editor:
Then here is what it looks like after inserting the closing tag (you can copy and paste directly from the browser window):
Save document.xml in the text editor, then refresh the browser. The next error is shown:
Repeat the steps. Some files have only a couple of errors, others may have dozens. You’ll know when you’re done, because refreshing the browser will give you a different screen, displaying the XML instead of an error message:
Rebuild the File
Close the text editor and browser, then re-zip the folders and [Content_Types].xml, giving the zip file a new name and a file ending that matches the original. Open it to ensure it works. Office does not tolerate XML errors well and doesn’t give you clear error messages, so if the file doesn’t open, you missed something. In addition, Mac users have to use Terminal to zip and view files, as noted on the XML Hacking: Editing in OS X page.
Lots of people ask “How can I prevent this?”, but there isn’t a really good answer. If a file can be repaired, it’s almost always due to a program bug that writes malformed XML. In the Word file used for example, this is often when a placed graphic has no fallback information, which is supposed to help with graphic depiction in older file formats. It appears that the program omits the closing fallback tags when saving and you get the error. It’s not your fault, but Microsoft has not been able to find and eliminate this bug since the 2007 version.
OS X versions of Microsoft Office have always been the poor step-children in the Microsoft family. Always missing important features found only in the Windows alternatives. One of these obvious disparities has been in the area of linked Excel charts. In Windows, Microsoft uses their OLE technology to allow, for instance, an Excel workbook to be linked to a PowerPoint presentation.
The Excel workbook can still be edited independently. The charts can be revised based on new data, and when the presentation is opened, the updated information will be displayed. This is a powerful tool in many situations where information is changing rapidly and the presentation must stay current. This approach also leverages the inheritance of data. This allows users to have only one data source that drives updates in many different places.
Of course, OLE being a proprietary Microsoft technology, it has almost no support on other operating systems. The only way it appears in OS X is if an individual software vendor creates an instance that works with their code. Office for Mac has had its own tiny version of OLE that allows some, but not all the features found in Windows. You could only insert Office objects (forget about PDFs) and you couldn’t link, only embed.
Until now. With the release of Office 2016 for Mac, the tiniest crack of linkability has finally opened. Try these steps: Open Excel 2016 for Mac and create a chart. Select that chart and copy it. Open a presentation in PowerPoint and click on the down-pointing arrowhead beside the Paste button. Now your options include all of the following:
- Use Destination Theme & Embed Workbook
- Keep Source Formatting & Embed Workbook
- Use Destination Theme & Link Data
- Keep Source Formatting & Link Data
- Paste as Picture
Options 1, 2 and 5 have always been available. The news is with 3 and 4, where linked data for charts becomes a new possibility. But along with this fresh opportunity comes a problem that hasn’t been addressed by Microsoft. It’s very nice to link charts, but the Microsoft default is always to hard code the link path. This means that moving the presentation and Excel source to a different computer destroys the links. The charts are no longer editable, because the link path has changed.
Remember the poor step-child analogy? Here it is again: Windows versions of PowerPoint allow you to edit the links in the program so you can fix the path problem. But no such facility exists on the Mac. To update those linked Excel charts, you need to … hack the XML!
If you’re new to XML hacking, please read my introduction to the subject. Since this topic is specific to OS X, it’s also vital to read XML Hacking: Editing in OS X as well. I assume that you have figured out the correct path to the Excel file on the computer where the presentation has been moved.
Updating linked Excel Charts with XML Editing
After unzipping the presentation, you’re going to look inside the folders for ppt/charts/rels. Office XML files are full of rels folders that contain the relationships between the components of the document. Each chart in the presentation consists of a file i.e. chart1.xml with a corresponding chart1.xml.rels inside the rels folder. The number in the chart name increments for each additional chart linked.
The contents of chart1.xml.rels looks like this:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Relationship Id="rId1" Type="http://schemas.microsoft.com/office/2011/relationships/chartStyle" Target="style1.xml" />
<Relationship Id="rId2" Type="http://schemas.microsoft.com/office/2011/relationships/chartColorStyle" Target="colors1.xml" />
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" Target="file://localhost/Users/server/Documents/Dockets/Test/Excel/LinkTest.xlsx" TargetMode="External" />
The lines of code are long, please scroll to see where I’ve bolded the path and file name, this is the section you have to modify to update the linked Excel chart.
Just as a comparison, here’s the analogous information from a PowerPoint 2010 file. In this case, there is not a chart folder containing chart.xml files. Instead, the charts are part of the slide files and are found in slide1.xml. The rels file is slide1.xml.rels and it looks like this:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" Target="file:///I:\Dockets\Test\Excel\ExcelLink2010.xlsx!Sheet1!%5bExcelLink2010.xlsx%5dSheet1%20Chart%201" TargetMode="External"/>
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Target="../slideLayouts/slideLayout7.xml"/>
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing" Target="../drawings/vmlDrawing1.vml"/>
<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.emf"/>
A close examination shows that much of the same information in a Mac file is also here, but the file and path is Windows-style. Using this information, you’re ready to update those linked Excel charts with the best of them!
When you’re hand-editing Office files in Windows, it’s pretty straight-forward: unzip file > edit > rezip, you’re done. Editing in OS X requires a couple of extra precautions needed. This is because the graphical user interface adds Mac attributes to files and plants hidden files in folders. Office will not tolerate either of these:
XML error message in 2008
XML error message in 2011
XML error message in 2016
If you use OS X’s Archive Utility to unzip or zip the files, Word will refuse to open the resulting file. On top of that, if you look in any of the folders using the Finder, a hidden .DS_Store file will be created in the folder. When re-zipped, Word will not accept the extra file and again report an XML error. The solution to these issues is to use the command line, like the Unix warrior you want to be! Remember to run each Terminal command by pressing the Return key after typing the command.
A valuable utility for this is OpenTerminalHere. Open any Finder window, click on OpenTerminalHere and a terminal window opens pointed to the Finder window. So download and install it, then follow these steps to open, edit and re-zip Office files:
- Move a copy of the Office document (let’s call it TestDoc.docx) to a separate folder and open that folder in the Finder.
- Click on OpenTerminalHere to open a copy of Terminal aimed at the folder.
- In the Terminal, type
then press Return. The file is unzipped into several folders plus a file called [Content_Types].xml.
- Do not look in any of the folders using the Finder, or you’ll have to start over. To examine a folder’s contents, use the Terminal to change the folder, then list the contents:
- To go back up to the previous folder, type:
- To edit the files, open your text editor, then navigate using the File>Open dialog to find the file. Edit the file, then save and close.
- When you’re all done, double-check that terminal is pointing at the original folder holding the documents and the expanded folders. If you’re unsure, close terminal, then click on OpenTerminalHere to reopen in the right spot.
- In Terminal, re-zip the files with this style of command:
zip -r RevisedDoc.dotx [Content_Types].xml _rels docProps word
This example is for Word, but the correct syntax after zip -r is to type the name of the final document, followed by the file and folders, each separated by a space. The file is reassembled into an Office file.
- Test that you can open it. If you get an XML error notice, re-read the above steps and try again.
Please note: these editing techniques are required when editing in OS X with Word, PowerPoint and Excel documents and templates, plus Office Theme files (the kind exported from PowerPoint that combine all Theme elements.
If, on the other hand, you are editing a Font Theme or a Color Theme, those are simple XML files. They don’t need to be unzipped or re-zipped and Office doesn’t seem to care about OS X attributes attached to them. These plain XML files don’t need to be handled through the terminal, just use the Finder.
Next time, we’ll be looking at managing Word styles in OS X. Finally, a way to get rid of the zombie styles automatically created by Word! Happy hacking!
March 2016 Update
An (somewhat lame) alternative to working entirely in Terminal is to work on a network disk. Then you can open Terminal in your choice of folder and run the command:
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
While this will prevent future generation of the .DS_Store files in that folder and any subfolders, it’s very likely you already have such files, since they’re created almost as soon as you view a folder’s contents in the Finder. So I recommend that while Terminal is open, you also run:
defaults write com.apple.finder AppleShowAllFiles YES
The second line restarts the finder to force a refresh of the view. Now you can see any .DS_Store files and delete them before re-zipping the files into an Office document. You’ll have still have to do the zipping in Terminal. Also, no .DS_Store files means OpenTerminalHere doesn’t work, so you’ll have to navigate manually via Terminal commands. Now you know why this is a lame alternative.
If you try this technique, you can always restore the clean file view by running:
defaults write com.apple.finder AppleShowAllFiles NO
May 2016 Update
BBEdit 11 now has the ability to open and edit Office files directly, avoiding all of the above hassle. However, you still have to be a little careful about your working procedure:
- Open your Office file in BBEdit 11. In the left-hand pane, you’ll see a folder tree of the files contained within, so no unzipping is required
- Select the file you want to edit. The file opens in the main BBEdit window, displaying two lines. The first is the XML header, the second is the actual content.
- Click at the left end of the second line.
- Choose Markup>Utilities>Format… (Format with three dots after it, the plain Format command will wreck your document!)
- Very Important: Uncheck the first Option Normalize tag case. Leaving this option checked will cause Office to see an XML error in the file!
- Change Mode to Strict Hierarchical and click on Format. The XML is formatted as indented multi-line text.
Make your edits and save. It’s not necessary to linearize the XML. The Office program will do that anyway the first time you save it. However, if you like to leave things exactly the way you found them, click in from of the first line of content (after the header line), choose Markup>Utilities>Format… again, change the Mode to Compact and click on the Format button. Save the file and test.
Font themes are one of the simpler theme elements in Open Office XML, but for some baffling reason, Mac Office users can’t create one. It’s odd enough that the only Mac program that can create a color theme is PowerPoint, but even it can’t provide an escape from Calibri and Arial! So I’m going to show you how to do it on your own.
Let’s start with a dead-simple font theme. Here’s the minimal file that Office will read:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:fontScheme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Test">
You can create this in any text editor, including TextEdit in plain text mode (don’t try this with an rtf file). However, by default TextEdit will change the necessary straight quotes to smart quotes, producing a file that Office will not recognize. If you’re using Text Edit, make sure you visit both TextEdit>Preferences and TextEdit>Edit>Substitutions and turn off Smart Quotes in both locations.
Now that you’re set up to edit, copy and paste the font theme file. The <a:latin> tag is the standard font for your theme. <a:majorFont> is for headings and <a:minorFont> for text. Fill in <a:ea> with a font that supports Chinese or Japanese (ea stands for East Asian), if you want to support those languages. The <a:cs> tag stands for complex scripts: Arabic, Thai, Hebrew and many more. For more detail on non-European language support in font themes, please see my article XML Hacking: Font Themes Complete. Or you can just leave those tags blank if you have a predictable user base that won’t require them.
A common mistake is to get too specific with the font name in font themes. The name is only the base font name as displayed in Powerpoint’s font menu. “Open Sans” will work, but “Open Sans Extrabold” will cause Word 2011 to display a blank space where the font theme should be, while Word 2016 will simply ignore the entire file.
Save the file as a text file with a .xml ending and give it the name you want to appear in the user interface. “Brandwares.xml” will appear in the Font Theme menu as Brandwares.
For Office 2016, save this file to Users/YourUserName/Library/Group Containers/UBF8T346G9.Office/User Content/Themes/Theme Fonts. For Office 2011, save it to Users/YourUserName/Library/Application Support/Microsoft/Office/User Templates/My Themes/Theme Fonts. In current versions of OS X, the user Library is hidden by default. To open it, hold down the Alt key, while clicking on the Go menu and choosing Library.
Once it’s correctly installed, it will show in PowerPoint’s Slide Master view under the Fonts dropdown. A new Custom group will appear at the top of the list, with your font theme in it. Once you apply it and a color theme to a presentation, you can save as a theme file and distribute that to your users, it will contain the font theme you just created. Happy hacking!
Font Themes – An Alternate Method
March 2017 edit: If you have any problems creating a font theme from scratch, here’s a workaround. Open an existing font theme that come with Office and edit the font names to the ones you want to use. These files are the verbose style discussed in this article: XML Hacking: Font Themes Complete. For most uses, you only need to set the a:latin font in the a:majorfont and a:minorfont sections. Here’s where you can find the Microsoft Font Themes:
Office 2011 for Mac – Open Applications/Microsoft Office 2011/Office/Media/Office Themes/Theme Fonts and copy any of the XML files.
Office 2016 for Mac – Open Applications, then right-click on Microsoft PowerPoint and choose Show Package Contents. Open Contents/Resources/Office Themes/Theme Colors and copy any of the XML files in there.
Here are the locations for 32-bit versions of Windows. If you’re using a 64-bit version of Windows, check the same path inside C:\Program Files (x86).
Office 2007 for Windows – Open C:\Program Files\Microsoft Office\Document Themes 12\Theme Fonts.
Office 2010 for Windows – Open C:\Program Files\Microsoft Office\Document Themes 14\Theme Fonts.
Office 2013 for Windows – Open C:\Program Files\Microsoft Office\root\Document Themes 15\Theme Fonts.
Office 2016 for Windows – Open C:\Program Files\Microsoft Office\root\Document Themes 16\Theme Fonts.
Custom Table Styles are probably one of the more detailed hacks you’ll have to write. See the constructions details in my previous post. Besides the basic table format, there are 6 optional format layers you need to at least consider. In a minimal table style, you’ll need to include at least the Header Row, First Column and Banded Rows. Most users will expect to see these options. Total Rows, Last Columns and Banded Columns are less requested, you only need to include them if a design or client specifically requires them.
As mentioned in part 1, if you haven’t hacked XML before, please read XML Hacking: An Introduction. If you’re using a Mac, you should also read XML Hacking: Editing in OS X. In addition, an essential companion to this pair of articles is the post on setting Default Table Text, which is set in a different XML component..
Let’s take a look at how our work appears in the PowerPoint interface. First, we’ll insert a plain vanilla table. By default this takes on colors and fonts from the current PowerPoint theme:
Next, we choose the Table Tools>Design tab, open the Table Styles gallery. Up at the top a new Custom section has appeared with our new custom table style:
Select the custom table style and the default table changes to match our design. This screen shot has all formatting options turned off, so effectively we are seeing the Whole Table formatting only.
Options: Banded Rows and Header
Using the options panel in the upper left corner, we can add some of optional formatting layers we created in XML. First, let’s turn on banded rows. If you remember, we only formatted odd-numbered rows, so the banding only changes rows 1 and 3 in our example:
Next, we’ll leave banded rows on and also add the Header row. This row doesn’t count as part of the table body, so the banding moves down 1 row:
Options: First and Last Columns
Next, we’ll turn off banded rows, leave the Header as is and add the first column:
Here’s the table with First and Last Columns checked:
Options: Header and Total
And finally, Header and Total Rows:
As you can see, with some pre-planning, one table style can cover quite a few related table looks. The layer options for different features make the table useful for many different purposes and the options panel makes it fast and easy for users to try different combinations. This feature is a major advance over tables in PowerPoint 2003 and earlier, which were quite crude by comparison.Table styles work the same way in Word, PowerPoint and Excel. While Word and Excel include table style editors in their interface, PowerPoint needs to be hacked to create them. Happy hacking!
In my last post, I looked at adding extra color themes to PowerPoint masters. But any color theme can only hold a maximum of 10 colors (not counting the hyperlink colors, which are not available in the color picker). Sometimes designers create an expanded palette and they don’t like to be told “Sorry, we can only fit 10, we’ll have to throw out the rest.”, especially after the design has already been approved by the client.
Fortunately, most versions of PowerPoint have a hidden capacity to add up to 50 custom colors. These form a new row below the theme colors and above the stock Microsoft row. Oct.15, 2015 edit: Chris Robinson brought it to my attention that custom colors are not supported in PowerPoint 2008 or 2011 for OS X. While these versions will open a presentation with custom colors, the colors do not get added to the color picker. Here’s what the color picker in every other variety of PowerPoint looks like after adding custom colors:
Custom Colors in PowerPoint
If you’re new to XML hacking, be sure to read my Introduction to the subject first. If you’re editing on a Mac, there are some other considerations covered in this article.
As with the extra color themes we looked at last time, custom colors are added to the XML theme files found in ppt>theme. I mentioned in the last article, presentations always include a default Office theme as a fallback and this theme is always last in the list. So in a presentation with 1 color theme, there will be a theme1.xml and a theme2.xml inside the theme folder. Ignore theme2.xml and customize only theme1.xml.
Custom colors are the last category in a theme file, so it’s easy to find. As before, we expand the PowerPoint file (really a zip archive with a different file ending), open ppt/theme, open theme1.xml in a text editor and reflow the text to be humanly readable. Then scroll all the way down to the end. An unmodified file will only display the <a:extraClrSchemeLst/> stub to which you add custom color themes. To add custom colors, we add a new branch to the tree. Between <a:extraClrSchemeLst/> and </a:theme>, we type a new entry: <a:custClrLst>. This is followed by our custom color definitions and the closing tag </a:custClrLst>. Here’s what a list of custom colors as seen in the screenshot above would look like in XML:
A nice feature here is that, unlike color themes, you can actually supply a name for the color. This is followed a hexadecimal RGB color value, as used in web design. This list has only 8 colors, but there is room for up to 50 in the custom color area. If you read the last article about color themes, you’ll soon realize that each theme file can have a different set of custom colors that goes with it as well. The combination of themes and custom colors gives you 18 colors per theme to play with, almost enough for the most color-crazed designer.
Custom colors can be added to the theme1.xml file in Word and Excel using exactly the same syntax. The colors appear in the color picker as expected in Word but are completely ignored in Excel. It doesn’t complain or raise an error, it just won’t display anything but the standard color dialog. My thanks to Timothy Rylatt for pointing this out.
Unlike theme colors, custom colors are not automatically applied to charts. Automatic chart coloring in PowerPoint, Excel and Word is limited to 6 settable colors (see this post for chart coloring details). After that, the host program starts generating automatic variants based on the theme. However, for the detail-oriented among us, manual recoloring of data series with custom colors is very convenient and miles above the previous technique, inputting RGB values from text.
Next time, I’ll tackle formatting custom table formats in XML. This is a complex subject, so it will take at least 2 posts. Stay tuned!
With the introduction of Office 2007, Microsoft changed the basic file format that underlies Word, PowerPoint and Excel. Instead of the proprietary and mostly undocumented format that ruled from Office 97 to Office 2003, Microsoft made a smart decision and switched to XML. This is tagged text, similar in structure and concept to HTML code with which you may already be familiar.
XML opens up a world of possibilities for automated document construction, but that’s a topic for another day. The everyday relevance for you and I is that if a Word or PowerPoint file isn’t doing what you need it to do and there are no tools in the program for the job, we can now dive in a edit the file ourselves. If you’re a point-and-click user, this is probably not thrilling. But if you’re a hacker at heart, a midnight coder or just a curious tinkerer, you can do some cool stuff.
The main tool you’re going to need is a text editor. While you can get away for a while with Notepad or TextEdit, those simple text editors don’t quite have the tools that get the job done efficiently. On Mac, I use BBEdit and on Windows I reach for Notepad++. BBEdit is reasonably-priced shareware and Notepad++ is freeware. They have a similar style of operation, so if you’re a cross-platform hacker it’s easy to switch between them. Notepad++ uses a plugin system, so you can add tools. For this job, you’re definitely going to want the free XML plugin.
Word, Excel and PowerPoint files in the new format are actually simple Zip files with a different file ending. Getting into them couldn’t be easier: if you’re using Windows, add .zip to the end of the file (a copy of the file, if it’s anything important). You’ll get a warning from your OS, but you know what you’re doing! Now unzip it. Out pop several folders of XML, plus a top-level file or two.
Inside a simple Word file. The document text is stored in document.xml.
Nov. 14, 2015 edit: OS X requires somewhat more care with handling expanded Office files, or they won’t open. Please see this article for the best procedure on a Mac.
Select one of the files and open it in your text editor. All the files have been linearized to minimize file size. This is where your XML tools come into play. In Notepad++, choose Plugins>XML Tools>Pretty Print (XML Only – with line breaks). If you’re using BBEdit, choose Markup>Tidy>Reflow Document. Now you have a nicely indented, easy-to-read page to edit. When you’re done, it’s not necessary to re-linearize. Word, PowerPoint or Excel will do that for you later.
For people using Window’s built-in zip utility, there is an easy mistake to watch out for. By default, unzipping a file in Windows creates a new folder named for the file being expanded. If, when you’re re-assembling the file, you include this top-level folder, PowerPoint will raise an error about unreadable content in the presentation. To avoid this, first open the folder that Windows created. Select the _rels, docProps and ppt folders, plus the [Content_Types].xml file, then create a zip file from them.
XML hacking is useful for Excel or Word when you want to add additional color themes or when you need to rescue a corrupt document. But it really shines with PowerPoint, allowing you to create custom table formats, extra custom colors that don’t fit into a theme, setting the default text size for tables and charts and much more. This technique separates the PowerPoint pros from the wannabes.
In my next post, I’ll get into the specifics of some cool XML hacking Office tricks. In the mean time, check out text editors and XML tools so you’re ready to hack!
A plain vanilla PowerPoint file: more complex than Word.
Love it or hate it, but Microsoft has made decisions on how you should work with office software. Working within their limitations, your users can have productive careers and get things done. Ignore the limits and you are sentencing your users to hours of formatting hell. A prime example is Office charts
Office charts should have 6 colors maximum. The is a rule made by Microsoft. The exception to this rule is charts in Excel 2003 and earlier, which can have a maximum of 56 colors (see my previous posts for the details on Excel 2003). The following applies to Microsoft Word, but it’s more often a problem in PowerPoint.
If you design charts with more than 6 colors, you are forcing your users to either:
- copy, paste and reformat a sample chart into the one they want, or
- manually enter the colors for the series above 6 from a reference table of RGB values.
Neither of these could be considered a PowerPoint “Standard Operating Procedures”. Both workarounds are slow and error-prone.
Office Charts in Office 2003 for Windows or 2004 for Mac
PowerPoint 2003 Some color palette slots are used for as many as 3 functions. This makes it tricky to design a color sequence that works for all purposes.
PowerPoint only has code in place to automatically assign 6 palette colors to charts. In PowerPoint 2007 and higher, these are 6 distinct colors that are only used for charts and object fills. In PowerPoint 2003 and earlier, the chart colors are taken from the 8-color palette that is used for other elements as well. This has consequences you have not considered. Here’s how it works:
PowerPoint 2003 and earlier have color palettes with 8 colors maximum. In order, the colors are used for Backgrounds, Text and lines, Shadows, Title text, Fills, Accent, Accent and Hyperlink and finally Accent and followed hyperlink. Applying the recommended color position to a presentation element will mean that that element can be automatically updated if the palette is changed. This is a handy way to create color-coded sections in a presentation.
However, the same colors are used for Office charts. The colors are assigned in this order: Chart Color #1 is always taken from the Fill position. CC#2 is Accent, CC#3 is Accent and hyperlink, CC#4 is Accent and followed hyperlink, CC#5 is Shadows and CC#6 is Title text. Therefore, if you have designed a series of chart colors that is different from the code colors used the the presentation, you must give your users one of two headaches:
User headache number 1: You assign the color palette positions to create an automatically-filled chart, then manually assign all other presentation elements with RGB colors. This means new charts look swell, but color-coded sections cannot be easily updated. In fact, the colors of the entire presentation are must be updated manually element by element. Slow!
User headache number 2: You assign the color palette positions to the correct elements i.e., Title text is filled from the Title text palette position. New charts come in with goofy colors and each series must be manually reassigned from RGB values.
For PowerPoint 2003 and earlier, Microsoft has decided you only need 8 colors for everything. Designing with more colors does not make it a better design. It just makes it harder to use.
Office Charts in Office 2007/2010/2013/2016 for Windows or 2008/2011/2016 for Mac
For PowerPoint 2007 and later, Microsoft has decided you only need 12 colors for the presentation. Fortunately, now there is separation between color functions, with 2 colors for backgrounds, 2 for text, 6 for charts and fills and 2 specifically for hyperlinks. But you still only get 6 automatic chart colors. And in Office charts as in so many Office features, if it isn’t automatic, it’s a time-waster. So the advice still holds that speccing more colors is really imposing lower productivity on your users.
Charts apply this sequence in a predictable way. In a standard column chart, the leftmost column is color #1, with each extra column getting the next color in the sequence. Stacked columns display color #1 as the bottom layer and pie charts apply color #1 to the first pie segment, and by default this pie segment has its left border at 0 degrees, pointing straight up. If you design the presentation with this in mind, implementation is easy for the user.
In Office 2007 and later, there is one potential workaround that gives users access to 10 additional colors. It’s the Custom Color XML hack. This hack adds colors to the color picker in Windows and in Office 2016 for Mac. These colors cannot fill charts automatically and they will not show in the Office 2008 or 2011 for Mac color picker. However, it’s still a less cumbersome workaround than the 2 kludges I mentioned at the start of this article.
Are these limitation fair? No. Are Microsoft’s choices well considered? Not really. Are you going to change the way PowerPoint works by ignoring its limitations? Sadly, the answer is also no.
My recommendation is to incorporate a little Zen into your attitude, accept that PowerPoint (particularly the 2003 and earlier versions) is a deeply flawed and limited program. Then go and create some great Office chart designs with 6 colors or less that are easy to use.