This article was previously published under Q160022
This article has been archived. It is offered "as is" and will no longer be updated.
For a Microsoft Word 2002 version of this article, see 290978.
When you format text with a symbol font, such as Wingdings, and then changeto a non-symbol font such as Times New Roman, the text is replaced with boxcharacters.
Word displays the box characters after it translates the symbol font to itsUnicode equivalent.
This problem occurs when you do the following:
Format text using a symbol font, such as Wingdings.
Select the text from Step 1 and apply a non-symbol font, such as Times New Roman.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact a Microsoft Certified Partner or Microsoft Advisory Services. For more information, visit these Microsoft Web sites:
For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS The following Microsoft Visual Basic for Applications macro converts thesymbol characters to non-symbol characters:
NOTE: Select the square characters before you run the following macro.
Sub ConvertSymbol() Dim dlg As Object Dim NoFC As Integer Dim SCP As Integer Dim StartRange As Range Dim UniCodeNum As Integer ' Temporarily disable Screen Updating Application.ScreenUpdating = False ' Temporarily disable Smart Cut & Paste If Options.SmartCutPaste = True Then SCP = 1 Options.SmartCutPaste = False End If ' Temporarily display field text If ActiveWindow.View.ShowFieldCodes = False Then NoFC = 1 ActiveWindow.View.ShowFieldCodes = True End If ' Set StartRange variable to current selection's range Set StartRange = Selection.Range Selection.Collapse ' Select first, then each next character in user-defined selection Selection.MoveRight unit:=wdCharacter, Extend:=wdExtend While Selection.End <= StartRange.End And _ ActiveDocument.Content.End > Selection.End ' If the character is a space, then move to next character Set dlg = Dialogs(wdDialogInsertSymbol) UniCodeNum = dlg.charnum If UniCodeNum = 32 Then Selection.Collapse Selection.MoveRight unit:=wdCharacter, Extend:=wdMove Selection.MoveRight unit:=wdCharacter, Extend:=wdExtend End If ' Loop, converting symbol Unicode characters to ASCII characters Set dlg = Dialogs(wdDialogInsertSymbol) UniCodeNum = dlg.charnum While UniCodeNum < 0 And Selection.End <= StartRange.End _ And ActiveDocument.Content.End > Selection.End Selection.Delete Selection.InsertAfter (ChrW(UniCodeNum + 4096)) Selection.Collapse (wdCollapseEnd) Selection.MoveRight unit:=wdCharacter, Extend:=wdExtend Set dlg = Dialogs(wdDialogInsertSymbol) UniCodeNum = dlg.charnum Wend Selection.Collapse (wdCollapseEnd) Selection.MoveRight unit:=wdCharacter, Extend:=wdExtend Wend ' Reset Word document settings If SCP = 1 Then Options.SmartCutPaste = True If NoFC = 1 Then ActiveWindow.View.ShowFieldCodes = False Selection.Collapse (wdCollapseStart) Selection.MoveLeft unit:=wdCharacter Application.ScreenUpdating = TrueEnd Sub
The following table lists common symbol and non-symbol fonts.
Symbol Fonts Non-Symbol Fonts --------------------------------------------------------- Bookshelf Symbol 3 Arial Marlett Book Antiqua Monotype Sorts Bookman Old Style MS Outlook Century Schoolbook MT Extra Courier New Symbol Garamond Wingdings Times New Roman
Unicode is a 16-bit character set designed to cover all the world's majorliving languages, in addition to scientific symbols and dead languages thatare the subject of scholarly interest. It eliminates the complexity ofmulti-byte character sets that are currently used on UNIX and Windows tosupport Asian languages. A consortium of companies including Apple,Microsoft, Hewlett-Packard (HP), Digital, and IBM created Unicode. Thesecompanies used information from the ISO-10646 standard to produce a singlestandard in 1993. Unicode is the basis for the Windows NT operating system.
Unicode is a 16-bit character set where all characters occupy the samespace. The first 256 values are the same as the ISO-Latin character set,which is also the basis for the ANSI character set used in Windows 3.1 andWindows 95. However, Unicode defines 34,168 distinct coded characters. Inmost character sets, a single value is often assigned to several characters.For example, in ASCII a "-" is used to represent a hyphen, a minus sign, adash, and a non-breaking hyphen. In Unicode, each meaning is given its owncode; that is, a hyphen is represented by a character different from aminus sign, and so forth. The Unicode standard contains only one instanceof each character and assigns it a unique name and code value. It alsosupports "combining" accent characters, which follow the base characterthat they are to modify.
For more information about Unicode, visit the Unicode Web site at: