Symbols Processing, JFW, build 45 Symbol processing is now functional. There are additional settings in each of the synth driver ini files (the ones specified on the driver= line of jfw.ini). For each context, there is a JAWSPunctuation= line. (This is in addition to the Punctuation= line which controls synth punctuation only.) Settings are 0 through 3, which correspond to None, Some, Most, and All respectively. These choices also appear in the new "Text processing" dialog box in the JFW Options menu. The JAWSPunctuation= line does not have to be added to existing Synth.ini files, it will automatically default to "Most" if the line does not exist. The line will be added automatically by JFW whenever "OK" is selected in the Text Processing Dialog. A new line in the Option section of .jcf files controls whether JAWS or synthesizer punctuation processing is used. JAWSPunctuationEnabled= 1 means to use JAWS punctuation processing. "0" means just pass the punctuation symbols through to the synthesizer and let it handle it, which is what JFW has been doing up until now. In order for JAWS punctuation processing to function, there needs to be a symbols.ini file in the active language's settings directory, e.g. \jfw\settings\enu\symbols.ini. There is one section in this file for each synthesizer type. e.g. [Accent Symbols]. There is also a section called [Synonyms] with lines of the form acntsa17=accent kre=dectalk which says that the names to the left of the equal sign are synonyms for the names to the right. This means that the [Accent Symbols] section will be used for the acntsa17 driver and that the [Dectalk Symbols] section will be used for the KRE driver. Each [XXX Symbols] section contains a line of the form: SynthPunctuation=1 which indicates what that synthesizer's punctuation setting should be when JAWS punctuation processing is enabled. This may need to be adjusted for your synthesizer: if you hear some symbols spoken twice, or not spoken when they should be, then this may be set wrong. If you hear too much punctuation (symbols spoken twice) then decrement this setting, e.g. "SynthPunctuation=0". If you do not hear enough punctuation then increment this value, e.g. "SynthPunctuation=2". Each [XXX Symbols] section consists primarily of lines of the form symbol1=! 10000011 exclaim symbol2=" 10000011 quote The Symbol1, Symbol2, ... tags are arbitrarily assigned, but each must appear only once in each section. The information following the = can be divided into three parts, separated from one another by a space. First comes the symbol itself. Next eight digits (either 0 or 1), and lastly the word or words which should be spoken as this symbol's name. The eight digits indicate how this symbol should be processed in each of the four punctuation modes (All, Most, Some, and None). The first pair control behavior when punctuation is set to all (3), the second pair when it is set to Most (2) and so on. The first of each bit pair controls whether or not the symbols name should be spoken when the symbol is encountered. The name is spoken when the bit is set to 1, it is not spoken when it is set to 0. The second bit of the pair determines whether or not the symbol itself is sent out to the synthesizer. When this bit is 1, the symbol is stripped out, when it is 0, it is sent to the synth. There are some special lines in the [XXX Symbols] section which indicate what should be spoken when certain other things are encountered in the text. Dot=dot Point=point NumericComma=Comma NumericColon=Colon Space=space Blank=blank