;; Copyright (c) 2003 University of Helsinki ;; All rights reserved. ;; ;; The licence for this file is GNU General Public Licence, ;; (it's too closely aped from the original Emacspeak 17.0 fragment to ;; be anything else.) ;; either version 2, or (at your option) any later version. ;; The code comes WITHOUT ANY WARRANTY. ;; ;; Author: Nicholas Volk, ;; modified from emacspeak-speak.el to rename letters (defvar dtk-character-to-speech-table (make-vector 256 "") "Maps characters to pronunciation strings.") (declaim (special dtk-character-to-speech-table )) ;;; Assign entries in the table: (defun dtk-speak-setup-character-table () "Setup pronunciations in the character table for the Dectalk." (let ((table dtk-character-to-speech-table)) (aset table 0 "control ät") (aset table 1 "control a") (aset table 2 "control b") (aset table 3 "control c") (aset table 4 "control d") (aset table 5 "control e") (aset table 6 "control f") (aset table 7 "control g") (aset table 8 "control h") (aset table 9 "tabulattori") (aset table 10 "rivinvaihto") (aset table 11 "control k") (aset table 12 "control l") (aset table 13 "control m") (aset table 14 "control n") (aset table 15 "control o") (aset table 16 "control p") (aset table 17 "control q") (aset table 18 "control r") (aset table 19 "control s") (aset table 20 "control t") (aset table 21 "control u") (aset table 22 "control v") (aset table 23 "control w") (aset table 24 "control x") (aset table 25 "control y") (aset table 26 "control z") (aset table 27 "escape") (aset table 28 "control[*]kenoviiva") (aset table 29 "control[*]oikea hakasulku") (aset table 30 "control[*]hattu") (aset table 31 "control[*]alaviiva") (aset table 32 "välilyönti") (aset table 33 "huutomerkki") (aset table 34 "lainausmerkki") (aset table 35 "puntamerkki") (aset table 36 "dollarimerkki") (aset table 37 "prosenttimerkki") (aset table 38 "et-merkki") (aset table 39 "heittomerkki") (aset table 40 "vasen[*]sulku") (aset table 41 "oikea[*]sulku") (aset table 42 "asteriksi") (aset table 43 "plus") (aset table 44 "pilkku") (aset table 45 "viiva") (aset table 46 "piste") (aset table 47 "jakoviiva") (aset table 48 "nolla") (aset table 49 "yksi") (aset table 50 "kaksi") (aset table 51 "kolme") (aset table 52 "neljä") (aset table 53 "viisi") (aset table 54 "kuusi") (aset table 55 "seitsemän") (aset table 56 "kahdeksan") (aset table 57 "yhdeksän") (aset table 58 "kaksoispiste") (aset table 59 "puolipiste") (aset table 60 "pienempi[*]kuin") (aset table 61 "onyhtäsuurikuin") (aset table 62 "suurempi[*]kuin") (aset table 63 "kysymysmerkki") (aset table 64 "ät") (aset table 65 "iso[*]a") (aset table 66 "iso[*]b") (aset table 67 "iso[*]c") (aset table 68 "iso[*]d") (aset table 69 "iso[*]e") (aset table 70 "iso[*]f") (aset table 71 "iso[*]g") (aset table 72 "iso[*]h") (aset table 73 "iso[*]i") (aset table 74 "iso[*]j") (aset table 75 "iso[*]k") (aset table 76 "iso[*]l") (aset table 77 "iso[*]m") (aset table 78 "iso[*]m") (aset table 79 "iso[*]o") (aset table 80 "iso[*]p") (aset table 81 "iso[*]q") (aset table 82 "iso[*]r") (aset table 83 "iso[*]s") (aset table 84 "iso[*]t") (aset table 85 "iso[*]u") (aset table 86 "iso[*]v") (aset table 87 "iso[*]w") (aset table 88 "iso[*]x") (aset table 89 "iso[*]y") (aset table 90 "iso[*]z") (aset table 91 "vasen[*]hakasulku") (aset table 92 "kenoviiva") (aset table 93 "oikea[*]hakasulku") (aset table 94 "hattu") (aset table 95 "alaviiva") (aset table 96 "takaperoinen[*]heittomerkki") (aset table 97 "a") (aset table 98 "b") (aset table 99 "c") (aset table 100 "d") (aset table 101 "e") (aset table 102 "f") (aset table 103 "g") (aset table 104 "h") (aset table 105 "i") (aset table 106 "j") (aset table 107 "k") (aset table 108 "l") (aset table 109 "m") (aset table 110 "n") (aset table 111 "o") (aset table 112 "p") (aset table 113 "q") (aset table 114 "r") (aset table 115 "s") (aset table 116 "t") (aset table 117 "u") (aset table 118 "v") (aset table 119 "w") (aset table 120 "x") (aset table 121 "y") (aset table 122 "z") (aset table 123 "vasen[*]aaltosulku") (aset table 124 "piippu") (aset table 125 "oikea[*]aaltosulku") (aset table 126 "tilde") (aset table 127 "takavälilyönti") ;; backspace ;;; Characters with the 8th bit set: (aset table 128 " oktaali 200 ") (aset table 129 " ") ;shows up on WWW pages (aset table 130 " oktaali 202 ") (aset table 131 " oktaali 203 ") (aset table 132 " oktaali 204 ") (aset table 133 " oktaali 205 ") (aset table 134 " oktaali 206 ") (aset table 135 " oktaali 207 ") (aset table 136 " oktaali 210 ") (aset table 137 " oktaali 211 ") (aset table 138 " oktaali 212 ") (aset table 139 " oktaali 213 ") (aset table 140 " oktaali 214 ") (aset table 141 " oktaali 215 ") (aset table 142 " oktaali 216 ") (aset table 143 " oktaali 217 ") (aset table 144 " oktaali 220 ") (aset table 145 " oktaali 221 ") (aset table 146 " ' ") (aset table 147 " lainausmerkki ") (aset table 148 " oktaali 224 ") (aset table 149 " oktaali 225 ") (aset table 150 " oktaali 226 ") (aset table 151 " oktaali 227 ") (aset table 152 " oktaali 230 ") (aset table 153 " oktaali 231 ") (aset table 154 " oktaali 232 ") (aset table 155 " oktaali 233 ") (aset table 156 " oktaali 234 ") (aset table 157 " oktaali 235 ") (aset table 158 " oktaali 236 ") (aset table 159 " oktaali 237 ") (aset table 160 " ") ;non breaking space (aset table 161 " oktaali 241 ") (aset table 162 " oktaali 242 ") (aset table 163 " oktaali 243 ") (aset table 164 " oktaali 244 ") (aset table 165 " oktaali 245 ") (aset table 166 " oktaali 246 ") (aset table 167 " oktaali 247 ") (aset table 168 " oktaali 250 ") (aset table 169 " copyright ") ;copyright sign (aset table 170 " oktaali 252 ") (aset table 171 " oktaali 253 ") (aset table 172 " oktaali 254 ") (aset table 173 "-") ;soft hyphen (aset table 174 " (R) ") ;registered sign (aset table 175 " oktaali 257 ") (aset table 176 " oktaali 260 ") (aset table 177 " oktaali 261 ") (aset table 178 " oktaali 262 ") (aset table 179 " oktaali 263 ") (aset table 180 " oktaali 264 ") (aset table 181 " oktaali 265 ") (aset table 182 " oktaali 266 ") (aset table 183 " oktaali 267 ") (aset table 184 " oktaali 270 ") (aset table 185 " oktaali 271 ") (aset table 186 " oktaali 272 ") (aset table 187 " oktaali 273 ") (aset table 188 " oktaali 274 ") (aset table 189 " oktaali 275 ") (aset table 190 " oktaali 276 ") (aset table 191 " oktaali 277 ") (aset table 192 " oktaali 300 ") (aset table 193 " oktaali 301 ") (aset table 194 " oktaali 302 ") (aset table 195 " oktaali 303 ") (aset table 196 " oktaali 304 ") (aset table 197 " oktaali 305 ") (aset table 198 " oktaali 306 ") (aset table 199 " oktaali 307 ") (aset table 200 " oktaali 310 ") (aset table 201 " oktaali 311 ") (aset table 202 " oktaali 312 ") (aset table 203 " oktaali 313 ") (aset table 204 " oktaali 314 ") (aset table 205 " oktaali 315 ") (aset table 206 " oktaali 316 ") (aset table 207 " oktaali 317 ") (aset table 208 " oktaali 320 ") (aset table 209 " oktaali 321 ") (aset table 210 " oktaali 322 ") (aset table 211 " oktaali 323 ") (aset table 212 " oktaali 324 ") (aset table 213 " oktaali 325 ") (aset table 214 " oktaali 326 ") (aset table 215 " oktaali 327 ") (aset table 216 " oktaali 330 ") (aset table 217 " oktaali 331 ") (aset table 218 " oktaali 332 ") (aset table 219 " oktaali 333 ") (aset table 220 " oktaali 334 ") (aset table 221 " oktaali 335 ") (aset table 222 " oktaali 336 ") (aset table 223 " oktaali 337 ") (aset table 224 " oktaali 340 ") (aset table 225 " oktaali 341 ") (aset table 226 " oktaali 342 ") (aset table 227 " oktaali 343 ") (aset table 228 " oktaali 344 ") (aset table 229 " oktaali 345 ") (aset table 230 " oktaali 346 ") (aset table 231 " oktaali 347 ") (aset table 232 " oktaali 350 ") (aset table 233 " oktaali 351 ") (aset table 234 " oktaali 352 ") (aset table 235 " oktaali 353 ") (aset table 236 " oktaali 354 ") (aset table 237 " oktaali 355 ") (aset table 238 " oktaali 356 ") (aset table 239 " oktaali 357 ") (aset table 240 " oktaali 360 ") (aset table 241 " oktaali 361 ") (aset table 242 " oktaali 362 ") (aset table 243 " oktaali 363 ") (aset table 244 " oktaali 364 ") (aset table 245 " oktaali 365 ") (aset table 246 " oktaali 366 ") (aset table 247 " oktaali 367 ") (aset table 248 " oktaali 370 ") (aset table 249 " oktaali 371 ") (aset table 250 " oktaali 372 ") (aset table 251 " oktaali 373 ") (aset table 252 " oktaali 374 ") (aset table 253 " oktaali 375 ") (aset table 254 " oktaali 376 ") (aset table 255 " oktaali 377 "))) (dtk-speak-setup-character-table) (defvar dtk-iso-ascii-character-to-speech-table (and (boundp 'dtk-character-to-speech-table) (vectorp dtk-character-to-speech-table) (copy-sequence dtk-character-to-speech-table)) "Table that records how ISO ascii characters are spoken.") (defsubst dtk-char-to-speech (char) "Translate CHAR to speech string." (declare (special dtk-character-to-speech-table)) (if (> char 127 ) (format "oktaali %o" char ) (aref dtk-character-to-speech-table char )))