What’s New in JAWS 6.1: Unicode Support

One of the things I really like about JAWS 6.1 is Unicode support. Uni-who? Unicode. If you want to learn all there is to know about Unicode, stroll on over to the [Unicode Home Page](http://www.unicode.org/ “Visit the Unicode Home Page”) or [Wikipedia](http://en.wikipedia.org/wiki/Unicode “Read the Unicode entry at Wikipedia”). If you don’t….

You’ve heard of ASCII and ANSI, right? ASCII and ANSI are character sets. The ANSI character set includes anything you can type on the keyboard: A, B, C, 1, 2, 3, question mark, exclamation point, etc. It also includes commonly-used symbols that don’t have keys on the keyboard, like the cent symbol, the degree symbol, and various accented letters. The problem is, there is a heck of a lot it doesn’t include, such as mathematical symbols and characters from other alphabets. The solution to this problem is Unicode. To quote [unicode.org](http://www.unicode.org/standard/WhatIsUnicode.html “What is Unicode?”):


Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language.

That certainly sounds like a pitch from a late-night infomercial, doesn’t it? But the numbers back up the claim: [Unicode 4.0](http://www.unicode.org/versions/Unicode4.0.0/ “Unicode 4.0.0 at unicode.org”) contains 96,248 symbols, and [4.1](http://www.unicode.org/versions/Unicode4.1.0/ “Unicode 4.1.0 at unicode.org”) added 1273 more!

Thanks to Unicode, I can create a document filled with special symbols and/or foreign language characters and know that it will be properly displayed on the screen of pretty much any user who reads it. And thanks to JAWS 6.1, you can access it. That said, as with all things, there are a couple of “buts” to keep in mind:

But #1: You must have Windows XP, 2000, or NT in order to run the Unicode version of JAWS 6.1.

But #2: The number of Unicode characters is approaching 100,000. Which ones should Freedom Scientific include? All of them? Yeah, right… JAWS 6.1 has Unicode support—not knowledge of all 100,000 characters. Fortunately, you can tell it how to handle the characters you need, which is what the rest of this article is all about.

Adding symbols to be spoken


When you want to tell JAWS how to speak a particular Unicode character, you need to know the following:

  • What that character’s number is
  • What synthesizer and language you will be using when you encounter that character
  • What you want JAWS to say when it encounters that character

For example, let’s say that you are working with a mathematical document and that document includes the square root sign. The square root sign is Unicode character 221a. When JAWS encounters the square root sign, you want JAWS to say “Square root.” And the synthesizer you use is Eloquence, American English. Okay, with this information in mind, let’s get started.

Step 1: Locate the JAWS symbol file for your synthesizer


The first place to look for your synthesizer’s symbol file is in your user settings folder, because that’s where JAWS looks first. The quickest way to get into your user settings folder is to go to your Start menu and locate the JAWS 6.1 submenu. There you should find “Explore JAWS,” and in there you should find an item labeled “Explore My Settings.” When you press Enter on “Explore My Settings,” you should find yourself in a list view. You are looking for a file that ends in .sbl. In the case of Eloquence, you want eloq.sbl. If it’s not there, go back to Explore JAWS and this time select Explore Shared Settings. If you do have to go to Explore Shared Settings, consider copying the synthesizer symbol file to your user settings folder and performing the steps that follow using the user settings copy.

Step 2: Make an entry for your character


Once you have found the needed .sbl file, press Enter to open it. If this is the first time you’ve opened an .sbl file, Windows won’t know what to do with it and should place you in an Open With dialog box. My recommendation is to choose Notepad.

Each .sbl file is arranged in sections based on the languages that synthesizer supports. In this example, we are using the American English version of Eloquence, so locate [American English]. Then move to the bottom of that section and add the following line:

U+221a = Square root

At this point, you’ve told American English Eloquence how to speak the square root symbol. If you want British English to also be able to handle the square root symbol, locate the British English section and add the same entry to the end. If you want French to be able to handle it as well, move to the end of that section and add something like:

U+221a = Racine carrée

(Please note, I do not speak French—or for that matter, math. I used Google Translate to translate “square root” into French and then searched for “racine carrée” to see if my results included lots of French math sites, which they did. If my French is incorrect, my apologies).

Step 3: Quit and restart JAWS and see if it worked


If you tried the example above, see how JAWS pronounces the following:

√5

If you were successful, JAWS should have announced “square root 5”—or racine carrée… Nevermind. If you arrow character by character, you’ll find that the square root symbol is treated just like any other character.

What’s that symbol’s code?


Now in the example above, I told you that Unicode character 221a is the square root symbol. What if you had come across that symbol, knew it to be a square root symbol, and needed to find out its number so that you could add it to your .sbl file? Beginning with JAWS 6.1, you can just ask JAWS by reading the character (NumPad 5) three times quickly. Before you do, however, you need to set up JAWS so that it announces hexadecimal values rather than decimal values. Hexa what? You and I count using decimal, or base 10, numbers: 0, 1, 2, 3, and so on, through 9. After 9 we need two digits, so we place a 1 at the beginning and start over with 0, 1, 2, 3 and so on. Hexadecimal—the numbering system of computer geeks—is base 16. In hex, as it’s often called, you start with 0, 1, 2, 3 and so on, but after 9 comes A (which is our 10), B (which is our 11), and so on through F (which is our 15). After F, you need two digits, so you place a 1 at the beginning and start over with 0, 1, 2, 3, and so on. So a hex 10 is our 16. Hex let’s you cram larger values into smaller spaces.

Regardless, the bottom line is this: Unicode character numbers are written in hex, so you need to obtain a hex value when you press NumPad 5 three times quickly. To tell JAWS that you want hex values, get into the Configuration Manager. From there, get into the Set Options menu and choose Graphics and Symbols. Check the checkbox labeled “Speak Character Value in Hex.” Press the OK button and exit the Configuration Manager—be sure to save your changes. Now when you NumPad 5 three times on the square root symbol, JAWS will tell you that it’s “character U+221a hex.”

What’s that symbol?


Let’s say that you stumble across Unicode character 221a in a dark alley, how are you supposed to know that it’s the square root symbol? Check out the [Unicode Character Search page](http://www.fileformat.info/info/unicode/char/search.htm “Search for Unicode characters by number”) at fileformat.info. Move to the edit box labeled “Query” and punch in the number, e.g. 221a. When you press the Search button, it will look like you haven’t moved, but the results are displayed in a table at the bottom of the page.

How can I insert Unicode characters into my documents?


That, I’m afraid, depends on the software. It’s pretty easy in Microsoft Word, however: Just type the number (in hex) and press Alt X. The numbers you type will be converted into the appropriate symbol.

I’m a mathematician, math student, or other smart person. Do I really need to manually enter all of those symbols into my .sbl file?


No. I have converted the Unicode 2200 table into a format that is ready to copy and paste directly into the appropriate section of your .sbl file. [Download math.txt](http://www.carrolltech.org/pub/math.txt “Math Unicode Symbols”), if you’re interested. It was actually pretty easy, thanks to the folks at [Duxbury](http://www.duxburysystems.com “Duxbury Systems, Inc.”). If you’re wondering what braille translation software has to do with getting JAWS to recognize Unicode characters: Duxbury has its own character set, DUSCI, which you can use to insert special symbols into your Duxbury documents. The tables they provide in their help file happen to include the Unicode character numbers, so it was just a matter of pasting the table into Excel, removing unwanted columns, adding a column of equal signs, and exporting the results to a text file. I have pasted the entire contents of math.txt into the American English section of my eloq.sbl file and now JAWS says all sorts of mathy things it didn’t used to!

What about braille?


There is a similar procedure to add Unicode characters to the translation table, and it is documented in the JAWS help file in the section called “Adding and Modifying Braille symbols.” Because my ability to read braille is limited to the ANSI character set (grin), I am hoping that someone else at All About Access—or maybe Darrell at [Blind Access Journal](http://nu7i.blogspot.com/ “Darrell Shandrow’s Blog”)—will write more on this important topic.
—jd, no longer the “hermit queen”

One Response to “What’s New in JAWS 6.1: Unicode Support”

  1. Joanie Says:

    I just found another cool resource: the Character Names Index at unicode.org. In the article I told you how to find out the code number for the symbol you were on, and how to find out what symbol is represented by a given code. But I neglected to tell you what to do if you don’t yet have the symbol and don’t know its code. That’s where the Characters Names Index comes in handy. I followed the link for O-Z and did a find for “root.” I found the codes for square root, cube root, and fourth root.

    Also, I just went back and tried to search for the phrase “square root” at the Unicode Search Page I mentioned above. I should have tried that earlier. That works like a charm too. Lots of ways to find the symbols you need and their codes!!
    —jd

Leave a Reply

You must be logged in to post a comment.


Bad Behavior has blocked 446 access attempts in the last 7 days.