Home Photos Files Resources Podcasts Videos Keyboard Spanish Courses Cursos en Ingls Translation Palabra del Da Dicho del Da


Typing Accented Characters on a PC's Keyboard

Web References
Typing Accent Marks and Diacritics
There are several programs available on the web that can help with the entry of special characters:
AllChars - Free under GNU Licence (Windows only)
PopChar - Shareware (Windows and Mac)

Microsoft Word

Microsoft Word and Outlook share a text editing engine and allow you to enter special characters in various ways.

Insert Character
This menu option allows you to use any character provided by the current font. However, it can be rather slow and tedious.

The Word AutoText feature allows you to associate a name with other text - or a single special character.
You can set up associations so that:
a' =
n' =

Entering Accenting Characters
Hitting - and then releasing - the key combination Ctrl+an accent character tells word to accent the next character typed.
Hence you can enter:
by typing Ctrl+apostrope followed by E, and
by typing Ctrl+tilde followed by n,

Macros can extend the capability of Word and save you a lot of time in typing and make the whole process of entering special keys faster and more intuitive.

The following MS Word macro provides a way to quickly produce all the special characters used in modern Spanish.

Just cut and paste the following text into the Word macro editor and assign a keyboard shortcut to the macro (Ctrl+Alt+~ suggested).

Option Explicit
Option Base 1

Rem ===================================
Rem Accent Previous Char
Rem Hotkey: Ctrl + Alt + ~
Rem ===================================
Public Sub AccentPreviousChar()
   Const strFindCharArry As String = "!?aeiouAEIOUnNwcC<>" ' Standard Keyboard Chars
   Const strReplCharArry As String = "ǫ" ' Equivalent Special/Accented Chars
   Dim cPrevChr As String
   Dim cReplChr As String
   Dim cFindChr As String
   Dim nIndx As Integer
   Dim nNumChars As Integer
   Dim bFound As Boolean

   With Selection
      If Len(.Text) > 1 Then  ' Cancel Selection
         .MoveRight Unit:=wdCharacter, Count:=1
      End If

      .MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend ' Select the Char
      cPrevChr = .Text  ' Should have just one character

      bFound = False
      nNumChars = Len(strFindCharArry)
      nIndx = 0
         nIndx = nIndx + 1    ' Increment
         cFindChr = Mid(strFindCharArry, nIndx, 1)
         If cFindChr = cPrevChr Then ' Found Match
           cReplChr = Mid(strReplCharArry, nIndx, 1)
           bFound = True
           Exit Do
         End If
      Loop Until nIndx >= nNumChars

      If bFound = False Then
         Application.StatusBar = "AccentPreviousChar: No Char Match for " + cPrevChr
         .Text = cReplChr  ' Replace it
         Application.StatusBar = "AccentPreviousChar: Replaced " + _
           cPrevChr + " with " + cReplChr
      End If
   .MoveRight Unit:=wdCharacter, Count:=1
   End With ' Selection
End Sub  ' AccentPreviousChar