View Single Post
  #7   Report Post  
Klaus Linke
 
Posts: n/a
Default

Hi Omar,

The macro UnicodeToSymbolFont below should search for all Unicode =
characters that are also in the Symbol font, and replace them. The other =
macros below are called from that macro and therefore are needed, too.

If you want the symbols to act as if they had been inserted from the =
"Insert Symbol" dialog, you can run the macro "SymbolsProtect" from =
this thread:
http://groups-beta.google.com/group/.../browse_frm/t=
hread/7762b16e4666f49e/30cb8416aee6b859?tvc=3D1

For the other direction (Symbol font to Unicode), I've posted a macro =
he
http://www.google.com/groups?selm=3D...ews.t-online.=
com&rnum=3D4

Regards,
Klaus


Sub UnicodeToSymbolFont()
' Replaces Unicode symbols with symbols from the Symbol font
' in all of the doc (all story ranges).
Call U2S(&H2200, &H22) ' # FOR ALL
Call U2S(&H2203, &H24) ' # THERE EXISTS
Call U2S(&H220B, &H27) ' # CONTAINS AS MEMBER
Call U2S(&H2217, &H2A) ' # ASTERISK OPERATOR
Call U2S(&H2212, &H2D) ' # MINUS SIGN
Call U2S(&H2245, &H40) ' # APPROXIMATELY EQUAL TO
Call U2S(&H391, &H41) ' # GREEK CAPITAL LETTER ALPHA
Call U2S(&H392, &H42) ' # GREEK CAPITAL LETTER BETA
Call U2S(&H3A7, &H43) ' # GREEK CAPITAL LETTER CHI
Call U2S(&H394, &H44) ' # GREEK CAPITAL LETTER DELTA
Call U2S(&H2206, &H44) ' # INCREMENT
Call U2S(&H395, &H45) ' # GREEK CAPITAL LETTER EPSILON
Call U2S(&H3A6, &H46) ' # GREEK CAPITAL LETTER PHI
Call U2S(&H393, &H47) ' # GREEK CAPITAL LETTER GAMMA
Call U2S(&H397, &H48) ' # GREEK CAPITAL LETTER ETA
Call U2S(&H399, &H49) ' # GREEK CAPITAL LETTER IOTA
Call U2S(&H3D1, &H4A) ' # GREEK THETA SYMBOL
Call U2S(&H39A, &H4B) ' # GREEK CAPITAL LETTER KAPPA
Call U2S(&H39B, &H4C) ' # GREEK CAPITAL LETTER LAMDA
Call U2S(&H39C, &H4D) ' # GREEK CAPITAL LETTER MU
Call U2S(&H39D, &H4E) ' # GREEK CAPITAL LETTER NU
Call U2S(&H39F, &H4F) ' # GREEK CAPITAL LETTER OMICRON
Call U2S(&H3A0, &H50) ' # GREEK CAPITAL LETTER PI
Call U2S(&H398, &H51) ' # GREEK CAPITAL LETTER THETA
Call U2S(&H3A1, &H52) ' # GREEK CAPITAL LETTER RHO
Call U2S(&H3A3, &H53) ' # GREEK CAPITAL LETTER SIGMA
Call U2S(&H3A4, &H54) ' # GREEK CAPITAL LETTER TAU
Call U2S(&H3A5, &H55) ' # GREEK CAPITAL LETTER UPSILON
Call U2S(&H3C2, &H56) ' # GREEK SMALL LETTER FINAL SIGMA
Call U2S(&H3A9, &H57) ' # GREEK CAPITAL LETTER OMEGA
Call U2S(&H2126, &H57) ' # OHM SIGN
Call U2S(&H39E, &H58) ' # GREEK CAPITAL LETTER XI
Call U2S(&H3A8, &H59) ' # GREEK CAPITAL LETTER PSI
Call U2S(&H396, &H5A) ' # GREEK CAPITAL LETTER ZETA
Call U2S(&H2234, &H5C) ' # THEREFORE
Call U2S(&H22A5, &H5E) ' # UP TACK
Call U2S(&HF8E5, &H60) ' # RADICAL EXTENDER
Call U2S(&H3B1, &H61) ' # GREEK SMALL LETTER ALPHA
Call U2S(&H3B2, &H62) ' # GREEK SMALL LETTER BETA
Call U2S(&H3C7, &H63) ' # GREEK SMALL LETTER CHI
Call U2S(&H3B4, &H64) ' # GREEK SMALL LETTER DELTA
Call U2S(&H3B5, &H65) ' # GREEK SMALL LETTER EPSILON
Call U2S(&H3C6, &H66) ' # GREEK SMALL LETTER PHI
Call U2S(&H3B3, &H67) ' # GREEK SMALL LETTER GAMMA
Call U2S(&H3B7, &H68) ' # GREEK SMALL LETTER ETA
Call U2S(&H3B9, &H69) ' # GREEK SMALL LETTER IOTA
Call U2S(&H3D5, &H6A) ' # GREEK PHI SYMBOL
Call U2S(&H3BA, &H6B) ' # GREEK SMALL LETTER KAPPA
Call U2S(&H3BB, &H6C) ' # GREEK SMALL LETTER LAMDA
Call U2S(&HB5, &H6D) ' # MICRO SIGN
Call U2S(&H3BC, &H6D) ' # GREEK SMALL LETTER MU
Call U2S(&H3BD, &H6E) ' # GREEK SMALL LETTER NU
Call U2S(&H3BF, &H6F) ' # GREEK SMALL LETTER OMICRON
Call U2S(&H3C0, &H70) ' # GREEK SMALL LETTER PI
Call U2S(&H3B8, &H71) ' # GREEK SMALL LETTER THETA
Call U2S(&H3C1, &H72) ' # GREEK SMALL LETTER RHO
Call U2S(&H3C3, &H73) ' # GREEK SMALL LETTER SIGMA
Call U2S(&H3C4, &H74) ' # GREEK SMALL LETTER TAU
Call U2S(&H3C5, &H75) ' # GREEK SMALL LETTER UPSILON
Call U2S(&H3D6, &H76) ' # GREEK PI SYMBOL
Call U2S(&H3C9, &H77) ' # GREEK SMALL LETTER OMEGA
Call U2S(&H3BE, &H78) ' # GREEK SMALL LETTER XI
Call U2S(&H3C8, &H79) ' # GREEK SMALL LETTER PSI
Call U2S(&H3B6, &H7A) ' # GREEK SMALL LETTER ZETA
Call U2S(&H223C, &H7E) ' # TILDE OPERATOR
Call U2S(&H20AC, &HA0) ' # EURO SIGN
Call U2S(&H3D2, &HA1) ' # GREEK UPSILON WITH HOOK SYMBOL
Call U2S(&H2032, &HA2) ' # PRIME
Call U2S(&H2264, &HA3) ' # LESS-THAN OR EQUAL TO
Call U2S(&H2044, &HA4) ' # FRACTION SLASH
Call U2S(&H2215, &HA4) ' # DIVISION SLASH
Call U2S(&H221E, &HA5) ' # INFINITY
Call U2S(&H192, &HA6) ' # LATIN SMALL LETTER F WITH HOOK
Call U2S(&H2663, &HA7) ' # BLACK CLUB SUIT
Call U2S(&H2666, &HA8) ' # BLACK DIAMOND SUIT
Call U2S(&H2665, &HA9) ' # BLACK HEART SUIT
Call U2S(&H2660, &HAA) ' # BLACK SPADE SUIT
Call U2S(&H2194, &HAB) ' # LEFT RIGHT ARROW
Call U2S(&H2190, &HAC) ' # LEFTWARDS ARROW
Call U2S(&H2191, &HAD) ' # UPWARDS ARROW
Call U2S(&H2192, &HAE) ' # RIGHTWARDS ARROW
Call U2S(&H2193, &HAF) ' # DOWNWARDS ARROW
Call U2S(&H2033, &HB2) ' # DOUBLE PRIME
Call U2S(&H2265, &HB3) ' # GREATER-THAN OR EQUAL TO
Call U2S(&HD7, &HB4) ' # MULTIPLICATION SIGN
Call U2S(&H221D, &HB5) ' # PROPORTIONAL TO
Call U2S(&H2202, &HB6) ' # PARTIAL DIFFERENTIAL
Call U2S(&H2022, &HB7) ' # BULLET
Call U2S(&HF7, &HB8) ' # DIVISION SIGN
Call U2S(&H2260, &HB9) ' # NOT EQUAL TO
Call U2S(&H2261, &HBA) ' # IDENTICAL TO
Call U2S(&H2248, &HBB) ' # ALMOST EQUAL TO
Call U2S(&H2026, &HBC) ' # HORIZONTAL ELLIPSIS
Call U2S(&HF8E6, &HBD) ' # VERTICAL ARROW EXTENDER
Call U2S(&HF8E7, &HBE) ' # HORIZONTAL ARROW EXTENDER
Call U2S(&H21B5, &HBF) ' # DOWNWARDS ARROW WITH CORNER LEFTWARDS
Call U2S(&H2135, &HC0) ' # ALEF SYMBOL
Call U2S(&H2111, &HC1) ' # BLACK-LETTER CAPITAL I
Call U2S(&H211C, &HC2) ' # BLACK-LETTER CAPITAL R
Call U2S(&H2118, &HC3) ' # SCRIPT CAPITAL P
Call U2S(&H2297, &HC4) ' # CIRCLED TIMES
Call U2S(&H2295, &HC5) ' # CIRCLED PLUS
Call U2S(&H2205, &HC6) ' # EMPTY SET
Call U2S(&H2229, &HC7) ' # INTERSECTION
Call U2S(&H222A, &HC8) ' # UNION
Call U2S(&H2283, &HC9) ' # SUPERSET OF
Call U2S(&H2287, &HCA) ' # SUPERSET OF OR EQUAL TO
Call U2S(&H2284, &HCB) ' # NOT A SUBSET OF
Call U2S(&H2282, &HCC) ' # SUBSET OF
Call U2S(&H2286, &HCD) ' # SUBSET OF OR EQUAL TO
Call U2S(&H2208, &HCE) ' # ELEMENT OF
Call U2S(&H2209, &HCF) ' # NOT AN ELEMENT OF
Call U2S(&H2220, &HD0) ' # ANGLE
Call U2S(&H2207, &HD1) ' # NABLA
Call U2S(&HF6DA, &HD2) ' # REGISTERED SIGN SERIF
Call U2S(&HF6D9, &HD3) ' # COPYRIGHT SIGN SERIF
Call U2S(&HF6DB, &HD4) ' # TRADE MARK SIGN SERIF
Call U2S(&H220F, &HD5) ' # N-ARY PRODUCT
Call U2S(&H221A, &HD6) ' # SQUARE ROOT
Call U2S(&H22C5, &HD7) ' # DOT OPERATOR
Call U2S(&HAC, &HD8) ' # NOT SIGN
Call U2S(&H2227, &HD9) ' # LOGICAL AND
Call U2S(&H2228, &HDA) ' # LOGICAL OR
Call U2S(&H21D4, &HDB) ' # LEFT RIGHT DOUBLE ARROW
Call U2S(&H21D0, &HDC) ' # LEFTWARDS DOUBLE ARROW
Call U2S(&H21D1, &HDD) ' # UPWARDS DOUBLE ARROW
Call U2S(&H21D2, &HDE) ' # RIGHTWARDS DOUBLE ARROW
Call U2S(&H21D3, &HDF) ' # DOWNWARDS DOUBLE ARROW
Call U2S(&H25CA, &HE0) ' # LOZENGE
Call U2S(&H2329, &HE1) ' # LEFT-POINTING ANGLE BRACKET
Call U2S(&HF8E8, &HE2) ' # REGISTERED SIGN SANS SERIF
Call U2S(&HF8E9, &HE3) ' # COPYRIGHT SIGN SANS SERIF
Call U2S(&HF8EA, &HE4) ' # TRADE MARK SIGN SANS SERIF
Call U2S(&H2211, &HE5) ' # N-ARY SUMMATION
Call U2S(&HF8EB, &HE6) ' # LEFT PAREN TOP
Call U2S(&HF8EC, &HE7) ' # LEFT PAREN EXTENDER
Call U2S(&HF8ED, &HE8) ' # LEFT PAREN BOTTOM
Call U2S(&HF8EE, &HE9) ' # LEFT SQUARE BRACKET TOP
Call U2S(&HF8EF, &HEA) ' # LEFT SQUARE BRACKET EXTENDER
Call U2S(&HF8F0, &HEB) ' # LEFT SQUARE BRACKET BOTTOM
Call U2S(&HF8F1, &HEC) ' # LEFT CURLY BRACKET TOP
Call U2S(&HF8F2, &HED) ' # LEFT CURLY BRACKET MID
Call U2S(&HF8F3, &HEE) ' # LEFT CURLY BRACKET BOTTOM
Call U2S(&HF8F4, &HEF) ' # CURLY BRACKET EXTENDER
Call U2S(&H232A, &HF1) ' # RIGHT-POINTING ANGLE BRACKET
Call U2S(&H222B, &HF2) ' # INTEGRAL
Call U2S(&H2320, &HF3) ' # TOP HALF INTEGRAL
Call U2S(&HF8F5, &HF4) ' # INTEGRAL EXTENDER
Call U2S(&H2321, &HF5) ' # BOTTOM HALF INTEGRAL
Call U2S(&HF8F6, &HF6) ' # RIGHT PAREN TOP
Call U2S(&HF8F7, &HF7) ' # RIGHT PAREN EXTENDER
Call U2S(&HF8F8, &HF8) ' # RIGHT PAREN BOTTOM
Call U2S(&HF8F9, &HF9) ' # RIGHT SQUARE BRACKET TOP
Call U2S(&HF8FA, &HFA) ' # RIGHT SQUARE BRACKET EXTENDER
Call U2S(&HF8FB, &HFB) ' # RIGHT SQUARE BRACKET BOTTOM
Call U2S(&HF8FC, &HFC) ' # RIGHT CURLY BRACKET TOP
Call U2S(&HF8FD, &HFD) ' # RIGHT CURLY BRACKET MID
Call U2S(&HF8FE, &HFE) ' # RIGHT CURLY BRACKET BOTTOM
End Sub

Sub LoopStoryRanges_U2S(myMacro As String, myArg1 As Variant, myArg2 As =
Variant)
' used to loop all story ranges
Dim myStoryRange As Range
For Each myStoryRange In ActiveDocument.StoryRanges
Application.Run myMacro, myStoryRange, myArg1, myArg2
While Not (myStoryRange.NextStoryRange Is Nothing)
Set myStoryRange =3D myStoryRange.NextStoryRange
Application.Run myMacro, myStoryRange, myArg1, myArg2
Wend
Next myStoryRange
End Sub

Sub U2S_Range(myRange As Range, Uni As Variant, Sym As Variant)
' This macro does the real work...
myRange.Find.ClearFormatting
myRange.Find.Replacement.ClearFormatting
myRange.Find.Replacement.Font.Name =3D "Symbol"
' If you run into cases where the Symbol font isn't applied, you might
' experiment with the lines below:
' Selection.Find.Replacement.Font.NameAscii =3D "Symbol"
' Selection.Find.Replacement.Font.NameBi =3D "Symbol"
' Selection.Find.Replacement.Font.NameFarEast =3D "Symbol"
' Selection.Find.Replacement.Font.NameOther =3D "Symbol"
With myRange.Find
.Text =3D ChrW(Uni)
If Sym 94 Then
.Replacement.Text =3D ChrW(Sym)
Else
.Replacement.Text =3D "^^"
End If
.Forward =3D True
.Wrap =3D wdFindContinue
.Format =3D True
.MatchCase =3D True
.MatchWholeWord =3D False
.MatchByte =3D False
.MatchWildcards =3D False
.MatchSoundsLike =3D False
.MatchAllWordForms =3D False
End With
myRange.Find.Execute Replace:=3DwdReplaceAll
End Sub

Sub U2S(Uni As Long, Sym As Long)
' run macro U2S_Range, with Uni and Sym, on all story ranges:
Call LoopStoryRanges_U2S("U2S_Range", Uni, Sym)
End Sub





"Omar Menjivar" wrote:
I should have been a bit more clear as to what i'm trying to do. My =

document=20
contains for example the "greaterthanequalto", "lessthanequalto" and =

the "mu"=20
symbols in Arial, Time New Roman or Helvitica font. I want to be able =

to=20
convert all these symbols to be Symbol font. In other words, i want =

all my=20
symbols in my document to be converted to the "Symbol Font" not the =

unicode=20
symbols. Your help is greatly appreciated!!!
=20
"Jay Freedman" wrote:
=20
Omar Menjivar wrote:
Hello all,

I've got a large document that has many symbols in different fonts. =

I
would like to convert all non-Symbol font character/symbols to the
Symbol font. Can anyone help?

Omar Menjivar

=20
I'll have to assume that all of the symbols you need actually appear =

as
characters in the Symbol font (which is not really a very extensive
collection -- there are many more in the large Unicode fonts such as =

Arial
Unicode MS and Lucida Sans Unicode).
=20
If you can locate what you need, then the article at
http://word.mvps.org/FAQs/MacrosVBA/...aceSymbols.htm describes =

how to
make the changes.
=20
--=20
Regards,
Jay Freedman
Microsoft Word MVP FAQ: http://word.mvps.org
=20
=20