I wonder is there any good way to convert non-Unicode Hebrew (Bwhebb) to Unicode (such as SBL Hebrew and Ezra SIL) font?
I tried the macro I found in the help document, but it has problems.

Take Gen 6:5 for example,
Name:  Gen. 6.5.jpg
Views: 288
Size:  10.6 KB

After the conversion (I choose Ezra SIL in this case):
Name:  Gen. 6.5 Ezra.jpg
Views: 276
Size:  14.2 KB

I don't know what is the problem.

I use Microsoft Word 2010.

The code is attached below.

My second question is: How to remove all the vowels in this document? (I don't even care whether the vowels are correct or not. My purpose is to convert all the Hebrew words to Unicode and then remove all the vowels.)

Thank you very much!


Macro:

Sub ConvertAllBwHeb2Unicode()
ConvertBwHeb2Unicode "bwhebb", "Ezra SIL", True
End Sub




Sub ConvertBwHeb2Unicode(fromfont$, tofont$, doentirefile)


Dim o As Object


Dim ucstr As Variant


ReDim ucstr(1024) As Long


If (doentirefile = True) Then Selection.HomeKey Unit:=wdStory


Set o = CreateObject("bibleworks.automation")


Application.ScreenUpdating = True


icheck = 0


While (icheck = 0)


Selection.Find.ClearFormatting


With Selection.Find


.Font.Name = fromfont$


.Text = ""


.Replacement.Text = ""


.Forward = True


.Wrap = wdFindStop


.Format = True


.MatchCase = False


.MatchWholeWord = False


.MatchKashida = False


.MatchDiacritics = False


.MatchAlefHamza = False


.MatchControl = False


.MatchByte = False


.CorrectHangulEndings = False


.MatchAllWordForms = False


.MatchSoundsLike = False


.MatchWildcards = False


.MatchFuzzy = False


End With


If (Selection.Find.Execute = False) Then


icheck = 1


Else


istart = 1


iend = Selection.Characters.Count


ReDim ucstr(3 * iend + 2) As Long


ucstr(1) = iend


For i = istart To iend


ucstr(i + 1) = Asc(Selection.Characters(i))


Next i


o.BwHebb2Unicode ucstr


Rem Selection.Delete


Application.Keyboard (1037)


With Selection.Font


.NameFarEast = "SimSun"


.NameAscii = "Arial"


.NameOther = "Arial"


.Name = "Arial"


.Size = 10


.Bold = False


.Italic = False


.Underline = wdUnderlineNone


.UnderlineColor = wdColorAutomatic


.StrikeThrough = False


.DoubleStrikeThrough = False


.Outline = False


.Emboss = False


.Shadow = False


.Hidden = False


.SmallCaps = False


.AllCaps = False


.Color = wdColorAutomatic


.Engrave = False


.Superscript = False


.Subscript = False


.Spacing = 0


.Scaling = 100


.Position = 0


.Kerning = 0


.Animation = wdAnimationNone


.DisableCharacterSpaceGrid = False


.EmphasisMark = wdEmphasisMarkNone


.SizeBi = 14


.NameBi = tofont$


.BoldBi = False


.ItalicBi = False


End With


For i = 1 To ucstr(1)


s$ = ChrW(ucstr(i + 1))


Selection.TypeText Text:=s$


Next i


Application.Keyboard (1033)


End If


If (doentirefile = False) Then icheck = 1


Wend


Application.ScreenUpdating = True


Set bwutil = Nothing


End Sub