'MacroName:Latin2AboriginalSyllabic 'MacroDescription:Automatically untransliterate a field with Latin characters into Canadian Aboriginal Syllabic characters 'Macro created by: Joel Hahn 'Macro last modified: 15 September 2021 Option Explicit Option Compare Binary Declare Function TransInuktitut(sField As String) As String Global sCtry As String Sub Main Dim sField As String Dim bool As Integer Dim sTranslit As String Dim i As Integer Dim CharacterSet As Integer Dim sLang As String Dim CS As Object On Error Resume Next Set CS = GetObject(,"Connex.Client") On Error GoTo 0 If CS Is Nothing Then Set CS = CreateObject("Connex.Client") End If ' Select Case CS.ItemType ' Case -1, 5 To 13, 15 To 16, 21 To 25 ' MsgBox "Not viewing a MARC record. Exiting..." ' Exit Sub ' End Select bool = CS.GetFixedField("Lang", sLang) ' Select Case sLang ' Case "cre" ' Cree ' CharacterSet = 0 ' Case "iku" 'Inuktitut ' CharacterSet = 1 ' Case "oji" 'Ojibwe ' CharacterSet = 2 ' Case Else 'Set the default transliteration table selection ' 0 = OtherLang ' 1 = AnotherLang CharacterSet = 1 ' End Select bool = CS.GetFixedField("Ctry", sCtry) Dim CharSets(2) As String CharSets(0) = "Cree" CharSets(1) = "Inuktitut" CharSets(2) = "Ojibwe" ' Begin Dialog newdlg 183, 60, "Transliteration Options" ' OkButton 35, 42, 50, 14 ' CancelButton 95, 42, 50, 14 ' Text 3, 3, 177, 10, "Please select the LC OtherLang transliteration table to use:" ' DropListBox 52, 11, 78, 98, CharSets(), .Langs ' End Dialog ' Dim CharSelect As newdlg ' CharSelect.Langs = CharacterSet ' response = Dialog(CharSelect) ' If response = 0 Then ' Exit Sub ' End If ' CharacterSet = CharSelect.Langs bool = CS.GetFieldLine(CS.CursorRow, sField) If InStr(sField, "Data contains non-latin script") Then MsgBox "The selected field already contains vernacular data. Exiting..." Exit Sub ElseIf sField = Chr(252) & Chr(252) & Chr(252) & " " Or Trim(Mid(sField, 6)) = "" Then MsgBox "The selected field contains no data. Exiting..." Exit Sub End If For i = 1 to 5 If Asc(Mid(sField, i, 1)) = 252 Then sTranslit = sTranslit & "∎" Else sTranslit = sTranslit & Mid(sField, i, 1) End If Next 'Select Case CharacterSet ' Case 0 ' sTranslit = sTranslit & TransCree(sField) ' Case 1 sTranslit = sTranslit & TransInuktitut(sField) ' Case 2 ' sTranslit = sTranslit & TransOjibwe(sField) ' Case Else ' Exit Sub ' End Select bool = CS.AddFieldLine(CS.CursorRow, sTranslit) CS.SendKeys "%ekl", -1 End Sub '################################################################################ Function TransInuktitut(sField As String) As String Dim i As Long Dim sNewField As String sNewField = "" i = 6 Do If Mid(sField, i, 1) = Chr(223) Then sNewField = sNewField & "ǂ" & Mid(sField, i+1, 1) i = i + 2 Else dim b : b = Mid(sField, i, 1) dim c : if i < Len(sField) Then c = Mid(sField, i, 2) If InStr(" !@#$%^*()[]{};:.,/?\=+" & Chr(34), Mid(sField, i, 1)) Then sNewField = sNewField & Mid(sField, i, 1) ElseIf Mid(sField, i, 1) = "-" Then sNewField = sNewField & Mid(sField, i, 1) '"᐀" ElseIf InStr("0123456789", Mid(sField, i, 1)) Then sNewField = sNewField & Mid(sField, i, 1) ElseIf LCase(Mid(sField, i, 1)) = "a" Then If LCase(Mid(sField, i+1, 1)) = "i" Then sNewField = sNewField & "ᐁ" i = i + 1 ElseIf LCase(Mid(sField, i+1, 2)) = "ai" Then sNewField = sNewField & "ᐂ" i = i + 2 ElseIf LCase(Mid(sField, i+1, 1)) = "a" Then sNewField = sNewField & "ᐋ" i = i + 1 Else sNewField = sNewField & "ᐊ" End If ElseIf LCase(Mid(sField, i, 1)) = "i" Then If LCase(Mid(sField, i+1, 1)) = "i" Then sNewField = sNewField & "ᐄ" i = i + 1 Else sNewField = sNewField & "ᐃ" End If ElseIf LCase(Mid(sField, i, 1)) = "u" Then If LCase(Mid(sField, i+1, 1)) = "u" Then sNewField = sNewField & "ᐆ" i = i + 1 Else sNewField = sNewField & "ᐅ" End If ElseIf LCase(Mid(sField, i, 1)) = "p" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᐯ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᐰ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᐹ" i = i + 2 Else sNewField = sNewField & "ᐸ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᐲ" i = i + 2 Else sNewField = sNewField & "ᐱ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᐴ" i = i + 2 Else sNewField = sNewField & "ᐳ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᑉ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "t" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᑌ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᑍ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᑖ" i = i + 2 Else sNewField = sNewField & "ᑕ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᑏ" i = i + 2 Else sNewField = sNewField & "ᑎ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᑑ" i = i + 2 Else sNewField = sNewField & "ᑐ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᑦ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "k" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᑫ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᑬ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᑳ" i = i + 2 Else sNewField = sNewField & "ᑲ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᑮ" i = i + 2 Else sNewField = sNewField & "ᑭ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᑰ" i = i + 2 Else sNewField = sNewField & "ᑯ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᒃ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "g" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᒉ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᒊ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᒑ" i = i + 2 Else sNewField = sNewField & "ᒐ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᒌ" i = i + 2 Else sNewField = sNewField & "ᒋ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᒎ" i = i + 2 Else sNewField = sNewField & "ᒍ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᒡ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "m" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᒣ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᒤ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᒫ" i = i + 2 Else sNewField = sNewField & "ᒪ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᒦ" i = i + 2 Else sNewField = sNewField & "ᒥ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᒨ" i = i + 2 Else sNewField = sNewField & "ᒧ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᒻ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 3)) = "nng" Then If LCase(Mid(sField, i+3, 1)) = "a" Then If LCase(Mid(sField, i+4, 1)) = "i" Then sNewField = sNewField & "∎" i = i + 4 ElseIf LCase(Mid(sField, i+4, 2)) = "ai" Then sNewField = sNewField & "∎" i = i + 5 ElseIf LCase(Mid(sField, i+4, 1)) = "a" Then sNewField = sNewField & "ᙶ" i = i + 4 Else sNewField = sNewField & "ᙵ" i = i + 3 End If ElseIf LCase(Mid(sField, i+3, 1)) = "i" Then If LCase(Mid(sField, i+4, 1)) = "i" Then sNewField = sNewField & "ᙲ" i = i + 4 Else sNewField = sNewField & "ᙱ" i = i + 3 End If ElseIf LCase(Mid(sField, i+3, 1)) = "u" Then If LCase(Mid(sField, i+4, 1)) = "u" Then sNewField = sNewField & "ᙴ" i = i + 4 Else sNewField = sNewField & "ᙳ" i = i + 3 End If ElseIf Not LCase(Mid(sField, i+3, 1)) Like "[aiu]" Then sNewField = sNewField & "ᖖ" i = i + 3 Else sNewField = sNewField & "∎" i = i + 3 End If ElseIf LCase(Mid(sField, i, 2)) = "ng" Then If LCase(Mid(sField, i+2, 1)) = "a" Then If LCase(Mid(sField, i+3, 1)) = "i" Then sNewField = sNewField & "ᙰ" i = i + 3 ElseIf LCase(Mid(sField, i+3, 2)) = "ai" Then sNewField = sNewField & "ᖎ" i = i + 4 ElseIf LCase(Mid(sField, i+3, 1)) = "a" Then sNewField = sNewField & "ᖔ" i = i + 3 Else sNewField = sNewField & "ᖓ" i = i + 2 End If ElseIf LCase(Mid(sField, i+2, 1)) = "i" Then If LCase(Mid(sField, i+3, 1)) = "i" Then sNewField = sNewField & "ᖐ" i = i + 3 Else sNewField = sNewField & "ᖏ" i = i + 2 End If ElseIf LCase(Mid(sField, i+2, 1)) = "u" Then If LCase(Mid(sField, i+3, 1)) = "u" Then sNewField = sNewField & "ᖒ" i = i + 3 Else sNewField = sNewField & "ᖑ" i = i + 2 End If ElseIf Not LCase(Mid(sField, i+2, 1)) Like "[aiu]" Then sNewField = sNewField & "ᖕ" i = i + 1 Else sNewField = sNewField & "∎" i = i + 1 End If ElseIf LCase(Mid(sField, i, 1)) = "n" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᓀ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᓁ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᓈ" i = i + 2 Else sNewField = sNewField & "ᓇ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᓃ" i = i + 2 Else sNewField = sNewField & "ᓂ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᓅ" i = i + 2 Else sNewField = sNewField & "ᓄ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᓐ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "s" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᓭ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᓮ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᓵ" i = i + 2 Else sNewField = sNewField & "ᓴ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᓰ" i = i + 2 Else sNewField = sNewField & "ᓯ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᓲ" i = i + 2 Else sNewField = sNewField & "ᓱ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᔅ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "l" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᓓ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᓔ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᓛ" i = i + 2 Else sNewField = sNewField & "ᓚ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᓖ" i = i + 2 Else sNewField = sNewField & "ᓕ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᓘ" i = i + 2 Else sNewField = sNewField & "ᓗ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᓪ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "j" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᔦ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᔧ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᔮ" i = i + 2 Else sNewField = sNewField & "ᔭ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᔩ" i = i + 2 Else sNewField = sNewField & "ᔨ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᔫ" i = i + 2 Else sNewField = sNewField & "ᔪ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᔾ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "v" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᕓ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᕔ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᕚ" i = i + 2 Else sNewField = sNewField & "ᕙ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᕖ" i = i + 2 Else sNewField = sNewField & "ᕕ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᕘ" i = i + 2 Else sNewField = sNewField & "ᕗ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᕝ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "r" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᕂ" 'ALA-LC transliteration shows the glyph of 1543; Unicode says Inuktitut uses 1542, and the pattern of reflection for other letters agrees i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᕅ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᕌ" i = i + 2 Else sNewField = sNewField & "ᕋ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᕇ" i = i + 2 Else sNewField = sNewField & "ᕆ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᕉ" i = i + 2 Else sNewField = sNewField & "ᕈ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᕐ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "q" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᙯ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "ᕾ" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᖄ" i = i + 2 Else sNewField = sNewField & "ᖃ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᖀ" i = i + 2 Else sNewField = sNewField & "ᕿ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᖂ" i = i + 2 Else sNewField = sNewField & "ᖁ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᖅ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "&" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "∎" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "∎" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᖥ" i = i + 2 Else sNewField = sNewField & "ᖤ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᖡ" i = i + 2 Else sNewField = sNewField & "ᖠ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᖣ" i = i + 2 Else sNewField = sNewField & "ᖢ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then sNewField = sNewField & "ᖦ" Else sNewField = sNewField & "∎" End If ElseIf LCase(Mid(sField, i, 1)) = "h" Then If LCase(Mid(sField, i+1, 1)) = "a" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᕴ" i = i + 2 ElseIf LCase(Mid(sField, i+2, 2)) = "ai" Then sNewField = sNewField & "∎" i = i + 3 ElseIf LCase(Mid(sField, i+2, 1)) = "a" Then sNewField = sNewField & "ᕺ" i = i + 2 Else sNewField = sNewField & "ᕹ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "i" Then If LCase(Mid(sField, i+2, 1)) = "i" Then sNewField = sNewField & "ᕶ" i = i + 2 Else sNewField = sNewField & "ᕵ" i = i + 1 End If ElseIf LCase(Mid(sField, i+1, 1)) = "u" Then If LCase(Mid(sField, i+2, 1)) = "u" Then sNewField = sNewField & "ᕸ" i = i + 2 Else sNewField = sNewField & "ᕷ" i = i + 1 End If ElseIf Not LCase(Mid(sField, i+1, 1)) Like "[aiu]" Then If sCtry = "nuc" Then sNewField = sNewField & "ᕼ" 'used in Nunavut Else sNewField = sNewField & "ᕻ" 'used in Nunavik region of Quebec End If Else sNewField = sNewField & "∎" End If Else sNewField = sNewField & "∎" End If i = i + 1 End If Loop While i <= Len(sField) TransInuktitut = sNewField End Function '################################################################################