Ticket #9744: 0001-My-first-commit-in-the-branch.patch
File 0001-My-first-commit-in-the-branch.patch, 52.6 KB (added by , 11 years ago) |
---|
-
src/bin/keymap/Keymap.cpp
From 2c6da222b4daa6fce128418024c8267ebd6988b7 Mon Sep 17 00:00:00 2001 From: Hristos Maretsikos <chrisgrelec@sch.gr> Date: Sat, 8 Jun 2013 15:27:06 +0300 Subject: [PATCH 1/8] My first commit in the branch --- src/bin/keymap/Keymap.cpp | 995 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 983 insertions(+), 12 deletions(-) diff --git a/src/bin/keymap/Keymap.cpp b/src/bin/keymap/Keymap.cpp index c90fce0..5bde632 100644
a b 1 1 /* 2 * Copyright 2004-201 2, Haiku, Inc. All Rights Reserved.2 * Copyright 2004-2013, Haiku, Inc. All Rights Reserved. 3 3 * Distributed under the terms of the MIT License. 4 4 * 5 5 * Authors: 6 6 * Jérôme Duval 7 7 * Axel Dörfler, axeld@pinc-software.de. 8 * John Scipione, jscipione@gmail.com 8 * John Scipione, jscipione@gmail.com. 9 * Hristos Maretsikos, chrisgrelec@sch.gr. 9 10 */ 10 11 11 12 … … const char keyPattern[] = "Key[[:space:]]+\\([[:alnum:]]+\\)[[:space:]]+=" 72 73 73 74 const char acutePattern[] = "Acute[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 74 75 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 76 const char acutesmoothPattern[] = "AcuteSmooth[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 77 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 78 const char acuteroughPattern[] = "AcuteRough[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 79 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 80 const char acutediaeresisPattern[] = "AcuteDiaeresis[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 81 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 82 const char acutesubscriptPattern[] = "AcuteSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 83 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 84 const char acutesmoothsubscriptPattern[] = "AcuteSmoothSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 85 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 86 const char acuteroughsubscriptPattern[] = "AcuteRoughSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 87 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 75 88 const char gravePattern[] = "Grave[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 76 89 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 90 const char gravesmoothPattern[] = "GraveSmooth[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 91 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 92 const char graveroughPattern[] = "GraveRough[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 93 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 94 const char gravediaeresisPattern[] = "GraveDiaeresis[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 95 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 96 const char gravesubscriptPattern[] = "GraveSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 97 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 98 const char gravesmoothsubscriptPattern[] = "GraveSmoothSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 99 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 100 const char graveroughsubscriptPattern[] = "GraveRoughSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 101 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 102 const char smoothPattern[] = "Smooth[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 103 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 104 const char smoothcircumflexPattern[] = "SmoothCircumflex[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 105 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 106 const char smoothsubscriptPattern[] = "SmoothSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 107 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 108 const char smoothcircumflexsubscriptPattern[] = "SmoothCircumflexSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 109 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 110 const char roughPattern[] = "Rough[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 111 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 112 const char roughcircumflexPattern[] = "RoughCircumflex[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 113 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 114 const char roughsubscriptPattern[] = "RoughSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 115 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 116 const char roughcircumflexsubscriptPattern[] = "RoughCircumflexSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 117 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 77 118 const char circumflexPattern[] = "Circumflex[[:space:]]+\\([[:alnum:]]" 78 119 "+\\|'.*'\\)[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 120 const char circumflexdiaeresisPattern[] = "CircumflexDiaeresis[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 121 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 122 const char circumflexsubscriptPattern[] = "CircumflexSubscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 123 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 79 124 const char diaeresisPattern[] = "Diaeresis[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 80 125 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 126 const char diaeresisaccentPattern[] = "DiaeresisAccent[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 127 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 81 128 const char tildePattern[] = "Tilde[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 82 129 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 130 const char accentPattern[] = "Accent[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 131 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 132 const char macronPattern[] = "Macron[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 133 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 134 const char brevePattern[] = "Breve[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 135 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 136 const char subscriptPattern[] = "Subscript[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)" 137 "[[:space:]]+=[[:space:]]+\\([[:alnum:]]+\\|'.*'\\)[[:space:]]+"; 83 138 const char acutetabPattern[] = "AcuteTab[[:space:]]+=" 84 139 "[[:space:]]+\\([[:alnum:]-]*\\)" 85 140 "[[:space:]]*\\([[:alnum:]-]*\\)" … … const char acutetabPattern[] = "AcuteTab[[:space:]]+=" 90 145 "[[:space:]]*\\([[:alnum:]-]*\\)" 91 146 "[[:space:]]*\\([[:alnum:]-]*\\)" 92 147 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 148 const char acutesmoothtabPattern[] = "AcuteSmoothTab[[:space:]]+=" 149 "[[:space:]]+\\([[:alnum:]-]*\\)" 150 "[[:space:]]*\\([[:alnum:]-]*\\)" 151 "[[:space:]]*\\([[:alnum:]-]*\\)" 152 "[[:space:]]*\\([[:alnum:]-]*\\)" 153 "[[:space:]]*\\([[:alnum:]-]*\\)" 154 "[[:space:]]*\\([[:alnum:]-]*\\)" 155 "[[:space:]]*\\([[:alnum:]-]*\\)" 156 "[[:space:]]*\\([[:alnum:]-]*\\)" 157 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 158 const char acuteroughtabPattern[] = "AcuteRoughTab[[:space:]]+=" 159 "[[:space:]]+\\([[:alnum:]-]*\\)" 160 "[[:space:]]*\\([[:alnum:]-]*\\)" 161 "[[:space:]]*\\([[:alnum:]-]*\\)" 162 "[[:space:]]*\\([[:alnum:]-]*\\)" 163 "[[:space:]]*\\([[:alnum:]-]*\\)" 164 "[[:space:]]*\\([[:alnum:]-]*\\)" 165 "[[:space:]]*\\([[:alnum:]-]*\\)" 166 "[[:space:]]*\\([[:alnum:]-]*\\)" 167 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 168 const char acutediaeresistabPattern[] = "AcuteDiaeresisTab[[:space:]]+=" 169 "[[:space:]]+\\([[:alnum:]-]*\\)" 170 "[[:space:]]*\\([[:alnum:]-]*\\)" 171 "[[:space:]]*\\([[:alnum:]-]*\\)" 172 "[[:space:]]*\\([[:alnum:]-]*\\)" 173 "[[:space:]]*\\([[:alnum:]-]*\\)" 174 "[[:space:]]*\\([[:alnum:]-]*\\)" 175 "[[:space:]]*\\([[:alnum:]-]*\\)" 176 "[[:space:]]*\\([[:alnum:]-]*\\)" 177 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 178 const char acutesubscripttabPattern[] = "AcuteSubscriptTab[[:space:]]+=" 179 "[[:space:]]+\\([[:alnum:]-]*\\)" 180 "[[:space:]]*\\([[:alnum:]-]*\\)" 181 "[[:space:]]*\\([[:alnum:]-]*\\)" 182 "[[:space:]]*\\([[:alnum:]-]*\\)" 183 "[[:space:]]*\\([[:alnum:]-]*\\)" 184 "[[:space:]]*\\([[:alnum:]-]*\\)" 185 "[[:space:]]*\\([[:alnum:]-]*\\)" 186 "[[:space:]]*\\([[:alnum:]-]*\\)" 187 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 188 const char acutesmoothsubscripttabPattern[] = "AcuteSmoothSubscriptTab[[:space:]]+=" 189 "[[:space:]]+\\([[:alnum:]-]*\\)" 190 "[[:space:]]*\\([[:alnum:]-]*\\)" 191 "[[:space:]]*\\([[:alnum:]-]*\\)" 192 "[[:space:]]*\\([[:alnum:]-]*\\)" 193 "[[:space:]]*\\([[:alnum:]-]*\\)" 194 "[[:space:]]*\\([[:alnum:]-]*\\)" 195 "[[:space:]]*\\([[:alnum:]-]*\\)" 196 "[[:space:]]*\\([[:alnum:]-]*\\)" 197 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 198 const char acuteroughsubscripttabPattern[] = "AcuteRoughSubscriptTab[[:space:]]+=" 199 "[[:space:]]+\\([[:alnum:]-]*\\)" 200 "[[:space:]]*\\([[:alnum:]-]*\\)" 201 "[[:space:]]*\\([[:alnum:]-]*\\)" 202 "[[:space:]]*\\([[:alnum:]-]*\\)" 203 "[[:space:]]*\\([[:alnum:]-]*\\)" 204 "[[:space:]]*\\([[:alnum:]-]*\\)" 205 "[[:space:]]*\\([[:alnum:]-]*\\)" 206 "[[:space:]]*\\([[:alnum:]-]*\\)" 207 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 93 208 const char gravetabPattern[] = "GraveTab[[:space:]]+=" 94 209 "[[:space:]]+\\([[:alnum:]-]*\\)" 95 210 "[[:space:]]*\\([[:alnum:]-]*\\)" … … const char gravetabPattern[] = "GraveTab[[:space:]]+=" 100 215 "[[:space:]]*\\([[:alnum:]-]*\\)" 101 216 "[[:space:]]*\\([[:alnum:]-]*\\)" 102 217 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 218 const char gravesmoothtabPattern[] = "GraveSmoothTab[[:space:]]+=" 219 "[[:space:]]+\\([[:alnum:]-]*\\)" 220 "[[:space:]]*\\([[:alnum:]-]*\\)" 221 "[[:space:]]*\\([[:alnum:]-]*\\)" 222 "[[:space:]]*\\([[:alnum:]-]*\\)" 223 "[[:space:]]*\\([[:alnum:]-]*\\)" 224 "[[:space:]]*\\([[:alnum:]-]*\\)" 225 "[[:space:]]*\\([[:alnum:]-]*\\)" 226 "[[:space:]]*\\([[:alnum:]-]*\\)" 227 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 228 const char graveroughtabPattern[] = "GraveRoughTab[[:space:]]+=" 229 "[[:space:]]+\\([[:alnum:]-]*\\)" 230 "[[:space:]]*\\([[:alnum:]-]*\\)" 231 "[[:space:]]*\\([[:alnum:]-]*\\)" 232 "[[:space:]]*\\([[:alnum:]-]*\\)" 233 "[[:space:]]*\\([[:alnum:]-]*\\)" 234 "[[:space:]]*\\([[:alnum:]-]*\\)" 235 "[[:space:]]*\\([[:alnum:]-]*\\)" 236 "[[:space:]]*\\([[:alnum:]-]*\\)" 237 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 238 const char gravediaeresistabPattern[] = "GraveDiaeresisTab[[:space:]]+=" 239 "[[:space:]]+\\([[:alnum:]-]*\\)" 240 "[[:space:]]*\\([[:alnum:]-]*\\)" 241 "[[:space:]]*\\([[:alnum:]-]*\\)" 242 "[[:space:]]*\\([[:alnum:]-]*\\)" 243 "[[:space:]]*\\([[:alnum:]-]*\\)" 244 "[[:space:]]*\\([[:alnum:]-]*\\)" 245 "[[:space:]]*\\([[:alnum:]-]*\\)" 246 "[[:space:]]*\\([[:alnum:]-]*\\)" 247 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 248 const char gravesubscripttabPattern[] = "GraveSubscriptTab[[:space:]]+=" 249 "[[:space:]]+\\([[:alnum:]-]*\\)" 250 "[[:space:]]*\\([[:alnum:]-]*\\)" 251 "[[:space:]]*\\([[:alnum:]-]*\\)" 252 "[[:space:]]*\\([[:alnum:]-]*\\)" 253 "[[:space:]]*\\([[:alnum:]-]*\\)" 254 "[[:space:]]*\\([[:alnum:]-]*\\)" 255 "[[:space:]]*\\([[:alnum:]-]*\\)" 256 "[[:space:]]*\\([[:alnum:]-]*\\)" 257 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 258 const char gravesmoothsubscripttabPattern[] = "GraveSmoothSubscriptTab[[:space:]]+=" 259 "[[:space:]]+\\([[:alnum:]-]*\\)" 260 "[[:space:]]*\\([[:alnum:]-]*\\)" 261 "[[:space:]]*\\([[:alnum:]-]*\\)" 262 "[[:space:]]*\\([[:alnum:]-]*\\)" 263 "[[:space:]]*\\([[:alnum:]-]*\\)" 264 "[[:space:]]*\\([[:alnum:]-]*\\)" 265 "[[:space:]]*\\([[:alnum:]-]*\\)" 266 "[[:space:]]*\\([[:alnum:]-]*\\)" 267 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 268 const char graveroughsubscripttabPattern[] = "GraveRoughSubscriptTab[[:space:]]+=" 269 "[[:space:]]+\\([[:alnum:]-]*\\)" 270 "[[:space:]]*\\([[:alnum:]-]*\\)" 271 "[[:space:]]*\\([[:alnum:]-]*\\)" 272 "[[:space:]]*\\([[:alnum:]-]*\\)" 273 "[[:space:]]*\\([[:alnum:]-]*\\)" 274 "[[:space:]]*\\([[:alnum:]-]*\\)" 275 "[[:space:]]*\\([[:alnum:]-]*\\)" 276 "[[:space:]]*\\([[:alnum:]-]*\\)" 277 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 278 const char smoothtabPattern[] = "SmoothTab[[:space:]]+=" 279 "[[:space:]]+\\([[:alnum:]-]*\\)" 280 "[[:space:]]*\\([[:alnum:]-]*\\)" 281 "[[:space:]]*\\([[:alnum:]-]*\\)" 282 "[[:space:]]*\\([[:alnum:]-]*\\)" 283 "[[:space:]]*\\([[:alnum:]-]*\\)" 284 "[[:space:]]*\\([[:alnum:]-]*\\)" 285 "[[:space:]]*\\([[:alnum:]-]*\\)" 286 "[[:space:]]*\\([[:alnum:]-]*\\)" 287 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 288 const char smoothcircumflextabPattern[] = "SmoothCircumflexTab[[:space:]]+=" 289 "[[:space:]]+\\([[:alnum:]-]*\\)" 290 "[[:space:]]*\\([[:alnum:]-]*\\)" 291 "[[:space:]]*\\([[:alnum:]-]*\\)" 292 "[[:space:]]*\\([[:alnum:]-]*\\)" 293 "[[:space:]]*\\([[:alnum:]-]*\\)" 294 "[[:space:]]*\\([[:alnum:]-]*\\)" 295 "[[:space:]]*\\([[:alnum:]-]*\\)" 296 "[[:space:]]*\\([[:alnum:]-]*\\)" 297 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 298 const char smoothsubscripttabPattern[] = "SmoothSubscriptTab[[:space:]]+=" 299 "[[:space:]]+\\([[:alnum:]-]*\\)" 300 "[[:space:]]*\\([[:alnum:]-]*\\)" 301 "[[:space:]]*\\([[:alnum:]-]*\\)" 302 "[[:space:]]*\\([[:alnum:]-]*\\)" 303 "[[:space:]]*\\([[:alnum:]-]*\\)" 304 "[[:space:]]*\\([[:alnum:]-]*\\)" 305 "[[:space:]]*\\([[:alnum:]-]*\\)" 306 "[[:space:]]*\\([[:alnum:]-]*\\)" 307 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 308 const char smoothcircumflexsubscripttabPattern[] = "SmoothCircumflexSubscriptTab[[:space:]]+=" 309 "[[:space:]]+\\([[:alnum:]-]*\\)" 310 "[[:space:]]*\\([[:alnum:]-]*\\)" 311 "[[:space:]]*\\([[:alnum:]-]*\\)" 312 "[[:space:]]*\\([[:alnum:]-]*\\)" 313 "[[:space:]]*\\([[:alnum:]-]*\\)" 314 "[[:space:]]*\\([[:alnum:]-]*\\)" 315 "[[:space:]]*\\([[:alnum:]-]*\\)" 316 "[[:space:]]*\\([[:alnum:]-]*\\)" 317 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 318 const char roughtabPattern[] = "RoughTab[[:space:]]+=" 319 "[[:space:]]+\\([[:alnum:]-]*\\)" 320 "[[:space:]]*\\([[:alnum:]-]*\\)" 321 "[[:space:]]*\\([[:alnum:]-]*\\)" 322 "[[:space:]]*\\([[:alnum:]-]*\\)" 323 "[[:space:]]*\\([[:alnum:]-]*\\)" 324 "[[:space:]]*\\([[:alnum:]-]*\\)" 325 "[[:space:]]*\\([[:alnum:]-]*\\)" 326 "[[:space:]]*\\([[:alnum:]-]*\\)" 327 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 328 const char roughcircumflextabPattern[] = "RoughCircumflexTab[[:space:]]+=" 329 "[[:space:]]+\\([[:alnum:]-]*\\)" 330 "[[:space:]]*\\([[:alnum:]-]*\\)" 331 "[[:space:]]*\\([[:alnum:]-]*\\)" 332 "[[:space:]]*\\([[:alnum:]-]*\\)" 333 "[[:space:]]*\\([[:alnum:]-]*\\)" 334 "[[:space:]]*\\([[:alnum:]-]*\\)" 335 "[[:space:]]*\\([[:alnum:]-]*\\)" 336 "[[:space:]]*\\([[:alnum:]-]*\\)" 337 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 338 const char roughsubscripttabPattern[] = "RoughSubscriptTab[[:space:]]+=" 339 "[[:space:]]+\\([[:alnum:]-]*\\)" 340 "[[:space:]]*\\([[:alnum:]-]*\\)" 341 "[[:space:]]*\\([[:alnum:]-]*\\)" 342 "[[:space:]]*\\([[:alnum:]-]*\\)" 343 "[[:space:]]*\\([[:alnum:]-]*\\)" 344 "[[:space:]]*\\([[:alnum:]-]*\\)" 345 "[[:space:]]*\\([[:alnum:]-]*\\)" 346 "[[:space:]]*\\([[:alnum:]-]*\\)" 347 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 348 const char roughcircumflexsubscripttabPattern[] = "RoughCircumflexSubscriptTab[[:space:]]+=" 349 "[[:space:]]+\\([[:alnum:]-]*\\)" 350 "[[:space:]]*\\([[:alnum:]-]*\\)" 351 "[[:space:]]*\\([[:alnum:]-]*\\)" 352 "[[:space:]]*\\([[:alnum:]-]*\\)" 353 "[[:space:]]*\\([[:alnum:]-]*\\)" 354 "[[:space:]]*\\([[:alnum:]-]*\\)" 355 "[[:space:]]*\\([[:alnum:]-]*\\)" 356 "[[:space:]]*\\([[:alnum:]-]*\\)" 357 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 103 358 const char circumflextabPattern[] = "CircumflexTab[[:space:]]+=" 104 359 "[[:space:]]+\\([[:alnum:]-]*\\)" 105 360 "[[:space:]]*\\([[:alnum:]-]*\\)" … … const char circumflextabPattern[] = "CircumflexTab[[:space:]]+=" 110 365 "[[:space:]]*\\([[:alnum:]-]*\\)" 111 366 "[[:space:]]*\\([[:alnum:]-]*\\)" 112 367 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 368 const char circumflexdiaeresistabPattern[] = "CircumflexDiaeresisTab[[:space:]]+=" 369 "[[:space:]]+\\([[:alnum:]-]*\\)" 370 "[[:space:]]*\\([[:alnum:]-]*\\)" 371 "[[:space:]]*\\([[:alnum:]-]*\\)" 372 "[[:space:]]*\\([[:alnum:]-]*\\)" 373 "[[:space:]]*\\([[:alnum:]-]*\\)" 374 "[[:space:]]*\\([[:alnum:]-]*\\)" 375 "[[:space:]]*\\([[:alnum:]-]*\\)" 376 "[[:space:]]*\\([[:alnum:]-]*\\)" 377 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 378 const char circumflexsubscripttabPattern[] = "CircumflexSubscriptTab[[:space:]]+=" 379 "[[:space:]]+\\([[:alnum:]-]*\\)" 380 "[[:space:]]*\\([[:alnum:]-]*\\)" 381 "[[:space:]]*\\([[:alnum:]-]*\\)" 382 "[[:space:]]*\\([[:alnum:]-]*\\)" 383 "[[:space:]]*\\([[:alnum:]-]*\\)" 384 "[[:space:]]*\\([[:alnum:]-]*\\)" 385 "[[:space:]]*\\([[:alnum:]-]*\\)" 386 "[[:space:]]*\\([[:alnum:]-]*\\)" 387 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 113 388 const char diaeresistabPattern[] = "DiaeresisTab[[:space:]]+=" 114 389 "[[:space:]]+\\([[:alnum:]-]*\\)" 115 390 "[[:space:]]*\\([[:alnum:]-]*\\)" … … const char diaeresistabPattern[] = "DiaeresisTab[[:space:]]+=" 120 395 "[[:space:]]*\\([[:alnum:]-]*\\)" 121 396 "[[:space:]]*\\([[:alnum:]-]*\\)" 122 397 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 398 const char diaeresisaccenttabPattern[] = "DiaeresisAccentTab[[:space:]]+=" 399 "[[:space:]]+\\([[:alnum:]-]*\\)" 400 "[[:space:]]*\\([[:alnum:]-]*\\)" 401 "[[:space:]]*\\([[:alnum:]-]*\\)" 402 "[[:space:]]*\\([[:alnum:]-]*\\)" 403 "[[:space:]]*\\([[:alnum:]-]*\\)" 404 "[[:space:]]*\\([[:alnum:]-]*\\)" 405 "[[:space:]]*\\([[:alnum:]-]*\\)" 406 "[[:space:]]*\\([[:alnum:]-]*\\)" 407 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 123 408 const char tildetabPattern[] = "TildeTab[[:space:]]+=" 124 409 "[[:space:]]+\\([[:alnum:]-]*\\)" 125 410 "[[:space:]]*\\([[:alnum:]-]*\\)" … … const char tildetabPattern[] = "TildeTab[[:space:]]+=" 130 415 "[[:space:]]*\\([[:alnum:]-]*\\)" 131 416 "[[:space:]]*\\([[:alnum:]-]*\\)" 132 417 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 418 const char accenttabPattern[] = "AccentTab[[:space:]]+=" 419 "[[:space:]]+\\([[:alnum:]-]*\\)" 420 "[[:space:]]*\\([[:alnum:]-]*\\)" 421 "[[:space:]]*\\([[:alnum:]-]*\\)" 422 "[[:space:]]*\\([[:alnum:]-]*\\)" 423 "[[:space:]]*\\([[:alnum:]-]*\\)" 424 "[[:space:]]*\\([[:alnum:]-]*\\)" 425 "[[:space:]]*\\([[:alnum:]-]*\\)" 426 "[[:space:]]*\\([[:alnum:]-]*\\)" 427 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 428 const char macrontabPattern[] = "MacronTab[[:space:]]+=" 429 "[[:space:]]+\\([[:alnum:]-]*\\)" 430 "[[:space:]]*\\([[:alnum:]-]*\\)" 431 "[[:space:]]*\\([[:alnum:]-]*\\)" 432 "[[:space:]]*\\([[:alnum:]-]*\\)" 433 "[[:space:]]*\\([[:alnum:]-]*\\)" 434 "[[:space:]]*\\([[:alnum:]-]*\\)" 435 "[[:space:]]*\\([[:alnum:]-]*\\)" 436 "[[:space:]]*\\([[:alnum:]-]*\\)" 437 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 438 const char brevetabPattern[] = "BreveTab[[:space:]]+=" 439 "[[:space:]]+\\([[:alnum:]-]*\\)" 440 "[[:space:]]*\\([[:alnum:]-]*\\)" 441 "[[:space:]]*\\([[:alnum:]-]*\\)" 442 "[[:space:]]*\\([[:alnum:]-]*\\)" 443 "[[:space:]]*\\([[:alnum:]-]*\\)" 444 "[[:space:]]*\\([[:alnum:]-]*\\)" 445 "[[:space:]]*\\([[:alnum:]-]*\\)" 446 "[[:space:]]*\\([[:alnum:]-]*\\)" 447 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 448 const char subscripttabPattern[] = "SubscriptTab[[:space:]]+=" 449 "[[:space:]]+\\([[:alnum:]-]*\\)" 450 "[[:space:]]*\\([[:alnum:]-]*\\)" 451 "[[:space:]]*\\([[:alnum:]-]*\\)" 452 "[[:space:]]*\\([[:alnum:]-]*\\)" 453 "[[:space:]]*\\([[:alnum:]-]*\\)" 454 "[[:space:]]*\\([[:alnum:]-]*\\)" 455 "[[:space:]]*\\([[:alnum:]-]*\\)" 456 "[[:space:]]*\\([[:alnum:]-]*\\)" 457 "[[:space:]]*\\([[:alnum:]-]*\\)[[:space:]]*" ; 133 458 134 459 135 460 // re_pattern_buffer buffers … … struct re_pattern_buffer menuBuf; 149 474 struct re_pattern_buffer locksettingsBuf; 150 475 struct re_pattern_buffer keyBuf; 151 476 struct re_pattern_buffer acuteBuf; 477 struct re_pattern_buffer acutesmoothBuf; 478 struct re_pattern_buffer acuteroughBuf; 479 struct re_pattern_buffer acutediaeresisBuf; 480 struct re_pattern_buffer acutesubscriptBuf; 481 struct re_pattern_buffer acutesmoothsubscriptBuf; 482 struct re_pattern_buffer acuteroughsubscriptBuf; 152 483 struct re_pattern_buffer graveBuf; 484 struct re_pattern_buffer gravesmoothBuf; 485 struct re_pattern_buffer graveroughBuf; 486 struct re_pattern_buffer gravediaeresisBuf; 487 struct re_pattern_buffer gravesubscriptBuf; 488 struct re_pattern_buffer gravesmoothsubscriptBuf; 489 struct re_pattern_buffer graveroughsubscriptBuf; 490 struct re_pattern_buffer smoothBuf; 491 struct re_pattern_buffer smoothcircumflexBuf; 492 struct re_pattern_buffer smoothsubscriptBuf; 493 struct re_pattern_buffer smoothcircumflexsubscriptBuf; 494 struct re_pattern_buffer roughBuf; 495 struct re_pattern_buffer roughcircumflexBuf; 496 struct re_pattern_buffer roughsubscriptBuf; 497 struct re_pattern_buffer roughcircumflexsubscriptBuf; 153 498 struct re_pattern_buffer circumflexBuf; 499 struct re_pattern_buffer circumflexdiaeresisBuf; 500 struct re_pattern_buffer circumflexsubscriptBuf; 154 501 struct re_pattern_buffer diaeresisBuf; 502 struct re_pattern_buffer diaeresisaccentBuf; 155 503 struct re_pattern_buffer tildeBuf; 504 struct re_pattern_buffer accentBuf; 505 struct re_pattern_buffer macronBuf; 506 struct re_pattern_buffer breveBuf; 507 struct re_pattern_buffer subscriptBuf; 156 508 struct re_pattern_buffer acutetabBuf; 509 struct re_pattern_buffer acutesmoothtabBuf; 510 struct re_pattern_buffer acuteroughtabBuf; 511 struct re_pattern_buffer acutediaeresistabBuf; 512 struct re_pattern_buffer acutesubscripttabBuf; 513 struct re_pattern_buffer acutesmoothsubscripttabBuf; 514 struct re_pattern_buffer acuteroughsubscripttabBuf; 157 515 struct re_pattern_buffer gravetabBuf; 516 struct re_pattern_buffer gravesmoothtabBuf; 517 struct re_pattern_buffer graveroughtabBuf; 518 struct re_pattern_buffer gravediaeresistabBuf; 519 struct re_pattern_buffer gravesubscripttabBuf; 520 struct re_pattern_buffer gravesmoothsubscripttabBuf; 521 struct re_pattern_buffer graveroughsubscripttabBuf; 522 struct re_pattern_buffer smoothtabBuf; 523 struct re_pattern_buffer smoothcircumflextabBuf; 524 struct re_pattern_buffer smoothsubscripttabBuf; 525 struct re_pattern_buffer smoothcircumflexsubscripttabBuf; 526 struct re_pattern_buffer roughtabBuf; 527 struct re_pattern_buffer roughcircumflextabBuf; 528 struct re_pattern_buffer roughsubscripttabBuf; 529 struct re_pattern_buffer roughcircumflexsubscripttabBuf; 158 530 struct re_pattern_buffer circumflextabBuf; 531 struct re_pattern_buffer circumflexdiaeresistabBuf; 532 struct re_pattern_buffer circumflexsubscripttabBuf; 159 533 struct re_pattern_buffer diaeresistabBuf; 534 struct re_pattern_buffer diaeresisaccenttabBuf; 160 535 struct re_pattern_buffer tildetabBuf; 536 struct re_pattern_buffer accenttabBuf; 537 struct re_pattern_buffer macrontabBuf; 538 struct re_pattern_buffer brevetabBuf; 539 struct re_pattern_buffer subscripttabBuf; 161 540 162 541 163 542 void … … Keymap::LoadSource(FILE* file) 292 671 error = re_compile_pattern(acutePattern, strlen(acutePattern), ´Buf); 293 672 if (error) 294 673 fputs(error, stderr); 674 error = re_compile_pattern(acutesmoothPattern, strlen(acutesmoothPattern), 675 ´smoothBuf); 676 if (error) 677 fputs(error, stderr); 678 error = re_compile_pattern(acuteroughPattern, strlen(acuteroughPattern), 679 ´roughBuf); 680 if (error) 681 fputs(error, stderr); 682 error = re_compile_pattern(acutediaeresisPattern, strlen(acutediaeresisPattern), 683 ´diaeresisBuf); 684 if (error) 685 fputs(error, stderr); 686 error = re_compile_pattern(acutesubscriptPattern, strlen(acutesubscriptPattern), 687 ´subscriptBuf); 688 if (error) 689 fputs(error, stderr); 690 error = re_compile_pattern(acutesmoothsubscriptPattern, strlen(acutesmoothsubscriptPattern), 691 ´smoothsubscriptBuf); 692 if (error) 693 fputs(error, stderr); 694 error = re_compile_pattern(acuteroughsubscriptPattern, strlen(acuteroughsubscriptPattern), 695 ´roughsubscriptBuf); 696 if (error) 697 fputs(error, stderr); 295 698 error = re_compile_pattern(gravePattern, strlen(gravePattern), &graveBuf); 296 699 if (error) 297 700 fputs(error, stderr); 701 error = re_compile_pattern(gravesmoothPattern, strlen(gravesmoothPattern), 702 &gravesmoothBuf); 703 if (error) 704 fputs(error, stderr); 705 error = re_compile_pattern(graveroughPattern, strlen(graveroughPattern), 706 &graveroughBuf); 707 if (error) 708 fputs(error, stderr); 709 error = re_compile_pattern(gravediaeresisPattern, strlen(gravediaeresisPattern), 710 &gravediaeresisBuf); 711 if (error) 712 fputs(error, stderr); 713 error = re_compile_pattern(gravesubscriptPattern, strlen(gravesubscriptPattern), 714 &gravesubscriptBuf); 715 if (error) 716 fputs(error, stderr); 717 error = re_compile_pattern(gravesmoothsubscriptPattern, strlen(gravesmoothsubscriptPattern), 718 &gravesmoothsubscriptBuf); 719 if (error) 720 fputs(error, stderr); 721 error = re_compile_pattern(graveroughsubscriptPattern, strlen(graveroughsubscriptPattern), 722 &graveroughsubscriptBuf); 723 if (error) 724 fputs(error, stderr); 725 error = re_compile_pattern(smoothPattern, strlen(smoothPattern), 726 &smoothBuf); 727 if (error) 728 fputs(error, stderr); 729 error = re_compile_pattern(smoothcircumflexPattern, 730 strlen(smoothcircumflexPattern), &smoothcircumflexBuf); 731 if (error) 732 fputs(error, stderr); 733 error = re_compile_pattern(smoothsubscriptPattern, strlen(smoothsubscriptPattern), 734 &smoothsubscriptBuf); 735 if (error) 736 fputs(error, stderr); 737 error = re_compile_pattern(smoothcircumflexsubscriptPattern, strlen(smoothcircumflexsubscriptPattern), 738 &smoothcircumflexsubscriptBuf); 739 if (error) 740 fputs(error, stderr); 741 error = re_compile_pattern(roughPattern, strlen(roughPattern), &roughBuf); 742 if (error) 743 fputs(error, stderr); 744 error = re_compile_pattern(roughcircumflexPattern, 745 strlen(roughcircumflexPattern), &roughcircumflexBuf); 746 if (error) 747 fputs(error, stderr); 748 error = re_compile_pattern(roughsubscriptPattern, strlen(roughsubscriptPattern), 749 &roughsubscriptBuf); 750 if (error) 751 fputs(error, stderr); 752 error = re_compile_pattern(roughcircumflexsubscriptPattern, strlen(roughcircumflexsubscriptPattern), 753 &roughcircumflexsubscriptBuf); 754 if (error) 755 fputs(error, stderr); 298 756 error = re_compile_pattern(circumflexPattern, strlen(circumflexPattern), 299 757 &circumflexBuf); 300 758 if (error) 301 759 fputs(error, stderr); 760 error = re_compile_pattern(circumflexdiaeresisPattern, strlen(circumflexdiaeresisPattern), 761 &circumflexdiaeresisBuf); 762 if (error) 763 fputs(error, stderr); 764 error = re_compile_pattern(circumflexsubscriptPattern, strlen(circumflexsubscriptPattern), 765 &circumflexsubscriptBuf); 766 if (error) 767 fputs(error, stderr); 302 768 error = re_compile_pattern(diaeresisPattern, strlen(diaeresisPattern), 303 769 &diaeresisBuf); 304 770 if (error) 305 771 fputs(error, stderr); 772 error = re_compile_pattern(diaeresisaccentPattern, strlen(diaeresisaccentPattern), 773 &diaeresisaccentBuf); 774 if (error) 775 fputs(error, stderr); 306 776 error = re_compile_pattern(tildePattern, strlen(tildePattern), &tildeBuf); 307 777 if (error) 308 778 fputs(error, stderr); 779 error = re_compile_pattern(accentPattern, strlen(accentPattern), 780 &accentBuf); 781 if (error) 782 fputs(error, stderr); 783 error = re_compile_pattern(macronPattern, strlen(macronPattern), 784 ¯onBuf); 785 if (error) 786 fputs(error, stderr); 787 error = re_compile_pattern(brevePattern, strlen(brevePattern), &breveBuf); 788 if (error) 789 fputs(error, stderr); 790 error = re_compile_pattern(subscriptPattern, strlen(subscriptPattern), 791 &subscriptBuf); 792 if (error) 793 fputs(error, stderr); 309 794 error = re_compile_pattern(acutetabPattern, strlen(acutetabPattern), 310 795 ´tabBuf); 311 796 if (error) 312 797 fputs(error, stderr); 798 error = re_compile_pattern(acutesmoothtabPattern, 799 strlen(acutesmoothtabPattern), ´smoothtabBuf); 800 if (error) 801 fputs(error, stderr); 802 error = re_compile_pattern(acuteroughtabPattern, 803 strlen(acuteroughtabPattern), ´roughtabBuf); 804 if (error) 805 fputs(error, stderr); 806 error = re_compile_pattern(acutediaeresistabPattern, strlen(acutediaeresistabPattern), 807 ´diaeresistabBuf); 808 if (error) 809 fputs(error, stderr); 810 error = re_compile_pattern(acutesubscripttabPattern, strlen(acutesubscripttabPattern), 811 ´subscripttabBuf); 812 if (error) 813 fputs(error, stderr); 814 error = re_compile_pattern(acutesmoothsubscripttabPattern, strlen(acutesmoothsubscripttabPattern), 815 ´smoothsubscripttabBuf); 816 if (error) 817 fputs(error, stderr); 818 error = re_compile_pattern(acuteroughsubscripttabPattern, strlen(acuteroughsubscripttabPattern), 819 ´roughsubscripttabBuf); 820 if (error) 821 fputs(error, stderr); 313 822 error = re_compile_pattern(gravetabPattern, strlen(gravetabPattern), 314 823 &gravetabBuf); 315 824 if (error) 316 825 fputs(error, stderr); 826 error = re_compile_pattern(gravesmoothtabPattern, 827 strlen(gravesmoothtabPattern), &gravesmoothtabBuf); 828 if (error) 829 fputs(error, stderr); 830 error = re_compile_pattern(graveroughtabPattern, 831 strlen(graveroughtabPattern), &graveroughtabBuf); 832 if (error) 833 fputs(error, stderr); 834 error = re_compile_pattern(gravediaeresistabPattern, strlen(gravediaeresistabPattern), 835 &gravediaeresistabBuf); 836 if (error) 837 fputs(error, stderr); 838 error = re_compile_pattern(gravesubscripttabPattern, strlen(gravesubscripttabPattern), 839 &gravesubscripttabBuf); 840 if (error) 841 fputs(error, stderr); 842 error = re_compile_pattern(gravesmoothsubscripttabPattern, strlen(gravesmoothsubscripttabPattern), 843 &gravesmoothsubscripttabBuf); 844 if (error) 845 fputs(error, stderr); 846 error = re_compile_pattern(graveroughsubscripttabPattern, strlen(graveroughsubscripttabPattern), 847 &graveroughsubscripttabBuf); 848 if (error) 849 fputs(error, stderr); 850 error = re_compile_pattern(smoothtabPattern, strlen(smoothtabPattern), 851 &smoothtabBuf); 852 if (error) 853 fputs(error, stderr); 854 error = re_compile_pattern(smoothcircumflextabPattern, 855 strlen(smoothcircumflextabPattern), &smoothcircumflextabBuf); 856 if (error) 857 fputs(error, stderr); 858 error = re_compile_pattern(smoothsubscripttabPattern, strlen(smoothsubscripttabPattern), 859 &smoothsubscripttabBuf); 860 if (error) 861 fputs(error, stderr); 862 error = re_compile_pattern(smoothcircumflexsubscripttabPattern, strlen(smoothcircumflexsubscripttabPattern), 863 &smoothcircumflexsubscripttabBuf); 864 if (error) 865 fputs(error, stderr); 866 error = re_compile_pattern(roughtabPattern, strlen(roughtabPattern), 867 &roughtabBuf); 868 if (error) 869 fputs(error, stderr); 870 error = re_compile_pattern(roughcircumflextabPattern, 871 strlen(roughcircumflextabPattern), &roughcircumflextabBuf); 872 if (error) 873 fputs(error, stderr); 874 error = re_compile_pattern(roughsubscripttabPattern, strlen(roughsubscripttabPattern), 875 &roughsubscripttabBuf); 876 if (error) 877 fputs(error, stderr); 878 error = re_compile_pattern(roughcircumflexsubscripttabPattern, strlen(roughcircumflexsubscripttabPattern), 879 &roughcircumflexsubscripttabBuf); 880 if (error) 881 fputs(error, stderr); 317 882 error = re_compile_pattern(circumflextabPattern, 318 883 strlen(circumflextabPattern), &circumflextabBuf); 319 884 if (error) 320 885 fputs(error, stderr); 886 error = re_compile_pattern(circumflexdiaeresistabPattern, strlen(circumflexdiaeresistabPattern), 887 &circumflexdiaeresistabBuf); 888 if (error) 889 fputs(error, stderr); 890 error = re_compile_pattern(circumflexsubscripttabPattern, strlen(circumflexsubscripttabPattern), 891 &circumflexsubscripttabBuf); 892 if (error) 893 fputs(error, stderr); 321 894 error = re_compile_pattern(diaeresistabPattern, 322 895 strlen(diaeresistabPattern), &diaeresistabBuf); 323 896 if (error) 324 897 fputs(error, stderr); 898 error = re_compile_pattern(diaeresisaccenttabPattern, strlen(diaeresisaccenttabPattern), 899 &diaeresisaccenttabBuf); 900 if (error) 901 fputs(error, stderr); 325 902 error = re_compile_pattern(tildetabPattern, strlen(tildetabPattern), 326 903 &tildetabBuf); 327 904 if (error) 328 905 fputs(error, stderr); 906 error = re_compile_pattern(accenttabPattern, strlen(accenttabPattern), 907 &accenttabBuf); 908 if (error) 909 fputs(error, stderr); 910 error = re_compile_pattern(macrontabPattern, strlen(macrontabPattern), 911 ¯ontabBuf); 912 if (error) 913 fputs(error, stderr); 914 error = re_compile_pattern(brevetabPattern, strlen(brevetabPattern), 915 &brevetabBuf); 916 if (error) 917 fputs(error, stderr); 918 error = re_compile_pattern(subscripttabPattern, strlen(subscripttabPattern), 919 &subscripttabBuf); 920 if (error) 921 fputs(error, stderr); 329 922 330 923 // Read file 331 924 … … Keymap::LoadSource(FILE* file) 334 927 fCharsSize = CHARS_TABLE_MAXSIZE; 335 928 int offset = 0; 336 929 int acuteOffset = 0; 930 int acutesmoothOffset = 0; 931 int acuteroughOffset = 0; 932 int acutediaeresisOffset = 0; 933 int acutesubscriptOffset = 0; 934 int acutesmoothsubscriptOffset = 0; 935 int acuteroughsubscriptOffset = 0; 337 936 int graveOffset = 0; 937 int gravesmoothOffset = 0; 938 int graveroughOffset = 0; 939 int gravediaeresisOffset = 0; 940 int gravesubscriptOffset = 0; 941 int gravesmoothsubscriptOffset = 0; 942 int graveroughsubscriptOffset = 0; 943 int smoothOffset = 0; 944 int smoothcircumflexOffset = 0; 945 int smoothsubscriptOffset = 0; 946 int smoothcircumflexsubscriptOffset = 0; 947 int roughOffset = 0; 948 int roughcircumflexOffset = 0; 949 int roughsubscriptOffset = 0; 950 int roughcircumflexsubscriptOffset = 0; 338 951 int circumflexOffset = 0; 952 int circumflexdiaeresisOffset = 0; 953 int circumflexsubscriptOffset = 0; 339 954 int diaeresisOffset = 0; 955 int diaeresisaccentOffset = 0; 340 956 int tildeOffset = 0; 957 int accentOffset = 0; 958 int macronOffset = 0; 959 int breveOffset = 0; 960 int subscriptOffset = 0; 341 961 342 962 int32* maps[] = { 343 963 fKeys.normal_map, … … Keymap::LoadSource(FILE* file) 438 1058 fKeys.acute_dead_key[acuteOffset++] = offset; 439 1059 _ComputeChars(buffer, regs, i, offset); 440 1060 } 1061 } else if (re_search(´smoothBuf, buffer, length, 0, length, ®s) >= 0) { 1062 for (int i = 1; i <= 2; i++) { 1063 fKeys.acutesmooth_dead_key[acutesmoothOffset++] = offset; 1064 _ComputeChars(buffer, regs, i, offset); 1065 } 1066 } else if (re_search(´roughBuf, buffer, length, 0, length, ®s) >= 0) { 1067 for (int i = 1; i <= 2; i++) { 1068 fKeys.acuterough_dead_key[acuteroughOffset++] = offset; 1069 _ComputeChars(buffer, regs, i, offset); 1070 } 1071 } else if (re_search(´diaeresisBuf, buffer, length, 0, length, ®s) >= 0) { 1072 for (int i = 1; i <= 2; i++) { 1073 fKeys.acutediaeresis_dead_key[acutediaeresisOffset++] = offset; 1074 _ComputeChars(buffer, regs, i, offset); 1075 } 1076 } else if (re_search(´subscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1077 for (int i = 1; i <= 2; i++) { 1078 fKeys.acutesubscript_dead_key[acutesubscriptOffset++] = offset; 1079 _ComputeChars(buffer, regs, i, offset); 1080 } 1081 } else if (re_search(´smoothsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1082 for (int i = 1; i <= 2; i++) { 1083 fKeys.acutesmoothsubscript_dead_key[acutesmoothsubscriptOffset++] = offset; 1084 _ComputeChars(buffer, regs, i, offset); 1085 } 1086 } else if (re_search(´roughsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1087 for (int i = 1; i <= 2; i++) { 1088 fKeys.acuteroughsubscript_dead_key[acuteroughsubscriptOffset++] = offset; 1089 _ComputeChars(buffer, regs, i, offset); 1090 } 441 1091 } else if (re_search(&graveBuf, buffer, length, 0, length, ®s) 442 1092 >= 0) { 443 1093 for (int i = 1; i <= 2; i++) { 444 1094 fKeys.grave_dead_key[graveOffset++] = offset; 445 1095 _ComputeChars(buffer, regs, i, offset); 446 1096 } 1097 } else if (re_search(&gravesmoothBuf, buffer, length, 0, length, ®s) >= 0) { 1098 for (int i = 1; i <= 2; i++) { 1099 fKeys.gravesmooth_dead_key[gravesmoothOffset++] = offset; 1100 _ComputeChars(buffer, regs, i, offset); 1101 } 1102 } else if (re_search(&graveroughBuf, buffer, length, 0, length, ®s) >= 0) { 1103 for (int i = 1; i <= 2; i++) { 1104 fKeys.graverough_dead_key[graveroughOffset++] = offset; 1105 _ComputeChars(buffer, regs, i, offset); 1106 } 1107 } else if (re_search(&gravediaeresisBuf, buffer, length, 0, length, ®s) >= 0) { 1108 for (int i = 1; i <= 2; i++) { 1109 fKeys.gravediaeresis_dead_key[gravediaeresisOffset++] = offset; 1110 _ComputeChars(buffer, regs, i, offset); 1111 } 1112 } else if (re_search(&gravesubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1113 for (int i = 1; i <= 2; i++) { 1114 fKeys.gravesubscript_dead_key[gravesubscriptOffset++] = offset; 1115 _ComputeChars(buffer, regs, i, offset); 1116 } 1117 } else if (re_search(&gravesmoothsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1118 for (int i = 1; i <= 2; i++) { 1119 fKeys.gravesmoothsubscript_dead_key[gravesmoothsubscriptOffset++] = offset; 1120 _ComputeChars(buffer, regs, i, offset); 1121 } 1122 } else if (re_search(&graveroughsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1123 for (int i = 1; i <= 2; i++) { 1124 fKeys.graveroughsubscript_dead_key[graveroughsubscriptOffset++] = offset; 1125 _ComputeChars(buffer, regs, i, offset); 1126 } 1127 } else if (re_search(&smoothBuf, buffer, length, 0, length, ®s) >= 0) { 1128 for (int i = 1; i <= 2; i++) { 1129 fKeys.smooth_dead_key[smoothOffset++] = offset; 1130 _ComputeChars(buffer, regs, i, offset); 1131 } 1132 } else if (re_search(&smoothcircumflexBuf, buffer, length, 0, length, ®s) >= 0) { 1133 for (int i = 1; i <= 2; i++) { 1134 fKeys.smoothcircumflex_dead_key[smoothcircumflexOffset++] = offset; 1135 _ComputeChars(buffer, regs, i, offset); 1136 } 1137 } else if (re_search(&smoothsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1138 for (int i = 1; i <= 2; i++) { 1139 fKeys.smoothsubscript_dead_key[smoothsubscriptOffset++] = offset; 1140 _ComputeChars(buffer, regs, i, offset); 1141 } 1142 } else if (re_search(&smoothcircumflexsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1143 for (int i = 1; i <= 2; i++) { 1144 fKeys.smoothcircumflexsubscript_dead_key[smoothcircumflexsubscriptOffset++] = offset; 1145 _ComputeChars(buffer, regs, i, offset); 1146 } 1147 } else if (re_search(&roughBuf, buffer, length, 0, length, ®s) >= 0) { 1148 for (int i = 1; i <= 2; i++) { 1149 fKeys.rough_dead_key[roughOffset++] = offset; 1150 _ComputeChars(buffer, regs, i, offset); 1151 } 1152 } else if (re_search(&roughcircumflexBuf, buffer, length, 0, length, ®s) >= 0) { 1153 for (int i = 1; i <= 2; i++) { 1154 fKeys.roughcircumflex_dead_key[roughcircumflexOffset++] = offset; 1155 _ComputeChars(buffer, regs, i, offset); 1156 } 1157 } else if (re_search(&roughsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1158 for (int i = 1; i <= 2; i++) { 1159 fKeys.roughsubscript_dead_key[roughsubscriptOffset++] = offset; 1160 _ComputeChars(buffer, regs, i, offset); 1161 } 1162 } else if (re_search(&roughcircumflexsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1163 for (int i = 1; i <= 2; i++) { 1164 fKeys.roughcircumflexsubscript_dead_key[roughcircumflexsubscriptOffset++] = offset; 1165 _ComputeChars(buffer, regs, i, offset); 1166 } 447 1167 } else if (re_search(&circumflexBuf, buffer, length, 0, length, ®s) 448 1168 >= 0) { 449 1169 for (int i = 1; i <= 2; i++) { 450 1170 fKeys.circumflex_dead_key[circumflexOffset++] = offset; 451 1171 _ComputeChars(buffer, regs, i, offset); 452 1172 } 1173 } else if (re_search(&circumflexdiaeresisBuf, buffer, length, 0, length, ®s) >= 0) { 1174 for (int i = 1; i <= 2; i++) { 1175 fKeys.circumflexdiaeresis_dead_key[circumflexdiaeresisOffset++] = offset; 1176 _ComputeChars(buffer, regs, i, offset); 1177 } 1178 } else if (re_search(&circumflexsubscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1179 for (int i = 1; i <= 2; i++) { 1180 fKeys.circumflexsubscript_dead_key[circumflexsubscriptOffset++] = offset; 1181 _ComputeChars(buffer, regs, i, offset); 1182 } 453 1183 } else if (re_search(&diaeresisBuf, buffer, length, 0, length, ®s) 454 1184 >= 0) { 455 1185 for (int i = 1; i <= 2; i++) { 456 1186 fKeys.dieresis_dead_key[diaeresisOffset++] = offset; 457 1187 _ComputeChars(buffer, regs, i, offset); 458 1188 } 1189 } else if (re_search(&diaeresisaccentBuf, buffer, length, 0, length, ®s) >= 0) { 1190 for (int i = 1; i <= 2; i++) { 1191 fKeys.diaeresisaccent_dead_key[diaeresisaccentOffset++] = offset; 1192 _ComputeChars(buffer, regs, i, offset); 1193 } 459 1194 } else if (re_search(&tildeBuf, buffer, length, 0, length, ®s) >= 0) { 460 1195 for (int i = 1; i <= 2; i++) { 461 1196 fKeys.tilde_dead_key[tildeOffset++] = offset; 462 1197 _ComputeChars(buffer, regs, i, offset); 463 1198 } 1199 } else if (re_search(&accentBuf, buffer, length, 0, length, ®s) >= 0) { 1200 for (int i = 1; i <= 2; i++) { 1201 fKeys.accent_dead_key[accentOffset++] = offset; 1202 _ComputeChars(buffer, regs, i, offset); 1203 } 1204 } else if (re_search(¯onBuf, buffer, length, 0, length, ®s) >= 0) { 1205 for (int i = 1; i <= 2; i++) { 1206 fKeys.macron_dead_key[macronOffset++] = offset; 1207 _ComputeChars(buffer, regs, i, offset); 1208 } 1209 } else if (re_search(&breveBuf, buffer, length, 0, length, ®s) >= 0) { 1210 for (int i = 1; i <= 2; i++) { 1211 fKeys.breve_dead_key[breveOffset++] = offset; 1212 _ComputeChars(buffer, regs, i, offset); 1213 } 1214 } else if (re_search(&subscriptBuf, buffer, length, 0, length, ®s) >= 0) { 1215 for (int i = 1; i <= 2; i++) { 1216 fKeys.subscript_dead_key[subscriptOffset++] = offset; 1217 _ComputeChars(buffer, regs, i, offset); 1218 } 464 1219 } else if (re_search(´tabBuf, buffer, length, 0, length, ®s) 465 1220 >= 0) { 466 1221 _ComputeTables(buffer, regs, fKeys.acute_tables); 1222 } else if (re_search(´smoothtabBuf, buffer, length, 0, length, ®s) 1223 >= 0) { 1224 _ComputeTables(buffer, regs, fKeys.acutesmooth_tables); 1225 } else if (re_search(´roughtabBuf, buffer, length, 0, length, ®s) 1226 >= 0) { 1227 _ComputeTables(buffer, regs, fKeys.acuterough_tables); 1228 } else if (re_search(´diaeresistabBuf, buffer, length, 0, length, ®s) 1229 >= 0) { 1230 _ComputeTables(buffer, regs, fKeys.acutediaeresis_tables); 1231 } else if (re_search(´subscripttabBuf, buffer, length, 0, length, ®s) 1232 >= 0) { 1233 _ComputeTables(buffer, regs, fKeys.acutesubscript_tables); 1234 } else if (re_search(´smoothsubscripttabBuf, buffer, length, 0, length, ®s) 1235 >= 0) { 1236 _ComputeTables(buffer, regs, fKeys.acutesmoothsubscript_tables); 1237 } else if (re_search(´roughsubscripttabBuf, buffer, length, 0, length, ®s) 1238 >= 0) { 1239 _ComputeTables(buffer, regs, fKeys.acuteroughsubscript_tables); 467 1240 } else if (re_search(&gravetabBuf, buffer, length, 0, length, ®s) 468 1241 >= 0) { 469 1242 _ComputeTables(buffer, regs, fKeys.grave_tables); 1243 } else if (re_search(&gravesmoothtabBuf, buffer, length, 0, length, ®s) 1244 >= 0) { 1245 _ComputeTables(buffer, regs, fKeys.gravesmooth_tables); 1246 } else if (re_search(&graveroughtabBuf, buffer, length, 0, length, ®s) 1247 >= 0) { 1248 _ComputeTables(buffer, regs, fKeys.graverough_tables); 1249 } else if (re_search(&gravediaeresistabBuf, buffer, length, 0, length, ®s) 1250 >= 0) { 1251 _ComputeTables(buffer, regs, fKeys.gravediaeresis_tables); 1252 } else if (re_search(&gravesubscripttabBuf, buffer, length, 0, length, ®s) 1253 >= 0) { 1254 _ComputeTables(buffer, regs, fKeys.gravesubscript_tables); 1255 } else if (re_search(&gravesmoothsubscripttabBuf, buffer, length, 0, length, ®s) 1256 >= 0) { 1257 _ComputeTables(buffer, regs, fKeys.gravesmoothsubscript_tables); 1258 } else if (re_search(&graveroughsubscripttabBuf, buffer, length, 0, length, ®s) 1259 >= 0) { 1260 _ComputeTables(buffer, regs, fKeys.graveroughsubscript_tables); 1261 } else if (re_search(&smoothtabBuf, buffer, length, 0, length, ®s) 1262 >= 0) { 1263 _ComputeTables(buffer, regs, fKeys.smooth_tables); 1264 } else if (re_search(&smoothcircumflextabBuf, buffer, length, 0, length, ®s) 1265 >= 0) { 1266 _ComputeTables(buffer, regs, fKeys.smoothcircumflex_tables); 1267 } else if (re_search(&smoothsubscripttabBuf, buffer, length, 0, length, ®s) 1268 >= 0) { 1269 _ComputeTables(buffer, regs, fKeys.smoothsubscript_tables); 1270 } else if (re_search(&smoothcircumflexsubscripttabBuf, buffer, length, 0, length, ®s) 1271 >= 0) { 1272 _ComputeTables(buffer, regs, fKeys.smoothcircumflexsubscript_tables); 1273 } else if (re_search(&roughtabBuf, buffer, length, 0, length, ®s) 1274 >= 0) { 1275 _ComputeTables(buffer, regs, fKeys.rough_tables); 1276 } else if (re_search(&roughcircumflextabBuf, buffer, length, 0, length, ®s) 1277 >= 0) { 1278 _ComputeTables(buffer, regs, fKeys.roughcircumflex_tables); 1279 } else if (re_search(&roughsubscripttabBuf, buffer, length, 0, length, ®s) 1280 >= 0) { 1281 _ComputeTables(buffer, regs, fKeys.roughsubscript_tables); 1282 } else if (re_search(&roughcircumflexsubscripttabBuf, buffer, length, 0, length, ®s) 1283 >= 0) { 1284 _ComputeTables(buffer, regs, fKeys.roughcircumflexsubscript_tables); 470 1285 } else if (re_search(&circumflextabBuf, buffer, length, 0, length, ®s) 471 1286 >= 0) { 472 1287 _ComputeTables(buffer, regs, fKeys.circumflex_tables); 1288 } else if (re_search(&circumflexdiaeresistabBuf, buffer, length, 0, length, ®s) 1289 >= 0) { 1290 _ComputeTables(buffer, regs, fKeys.circumflexdiaeresis_tables); 1291 } else if (re_search(&circumflexsubscripttabBuf, buffer, length, 0, length, ®s) 1292 >= 0) { 1293 _ComputeTables(buffer, regs, fKeys.circumflexsubscript_tables); 473 1294 } else if (re_search(&diaeresistabBuf, buffer, length, 0, length, ®s) 474 1295 >= 0) { 475 1296 _ComputeTables(buffer, regs, fKeys.dieresis_tables); 1297 } else if (re_search(&diaeresisaccenttabBuf, buffer, length, 0, length, ®s) 1298 >= 0) { 1299 _ComputeTables(buffer, regs, fKeys.diaeresisaccent_tables); 476 1300 } else if (re_search(&tildetabBuf, buffer, length, 0, length, ®s) 477 1301 >= 0) { 478 1302 _ComputeTables(buffer, regs, fKeys.tilde_tables); 1303 } else if (re_search(&accenttabBuf, buffer, length, 0, length, ®s) 1304 >= 0) { 1305 _ComputeTables(buffer, regs, fKeys.accent_tables); 1306 } else if (re_search(¯ontabBuf, buffer, length, 0, length, ®s) 1307 >= 0) { 1308 _ComputeTables(buffer, regs, fKeys.macron_tables); 1309 } else if (re_search(&brevetabBuf, buffer, length, 0, length, ®s) 1310 >= 0) { 1311 _ComputeTables(buffer, regs, fKeys.breve_tables); 1312 } else if (re_search(&subscripttabBuf, buffer, length, 0, length, ®s) 1313 >= 0) { 1314 _ComputeTables(buffer, regs, fKeys.subscript_tables); 479 1315 } 480 1316 } 481 1317 … … Keymap::SaveAsCppHeader(const char* fileName, const char* mapName) 671 1507 672 1508 // dead keys 673 1509 dump_keys(file, "acute_dead_key", fKeys.acute_dead_key); 1510 dump_keys(file, "acutesmooth_dead_key", fKeys.acutesmooth_dead_key); 1511 dump_keys(file, "acuterough_dead_key", fKeys.acuterough_dead_key); 1512 dump_keys(file, "acutediaeresis_dead_key", fKeys.acutediaeresis_dead_key); 1513 dump_keys(file, "acutesubscript_dead_key", fKeys.acutesubscript_dead_key); 1514 dump_keys(file, "acutesmoothsubscript_dead_key",fKeys.acutesmoothsubscript_dead_key); 1515 dump_keys(file, "acuteroughsubscript_dead_key",fKeys.acuteroughsubscript_dead_key); 674 1516 dump_keys(file, "grave_dead_key", fKeys.grave_dead_key); 1517 dump_keys(file, "gravesmooth_dead_key", fKeys.gravesmooth_dead_key); 1518 dump_keys(file, "graverough_dead_key", fKeys.graverough_dead_key); 1519 dump_keys(file, "gravediaeresis_dead_key", fKeys.gravediaeresis_dead_key); 1520 dump_keys(file, "gravesubscript_dead_key", fKeys.gravesubscript_dead_key); 1521 dump_keys(file, "gravesmoothsubscript_dead_key",fKeys.gravesmoothsubscript_dead_key); 1522 dump_keys(file, "graveroughsubscript_dead_key",fKeys.graveroughsubscript_dead_key); 1523 dump_keys(file, "smooth_dead_key", fKeys.smooth_dead_key); 1524 dump_keys(file, "smoothcircumflex_dead_key", fKeys.smoothcircumflex_dead_key); 1525 dump_keys(file, "smoothsubscript_dead_key",fKeys.smoothsubscript_dead_key); 1526 dump_keys(file, "smoothcircumflexsubscript_dead_key",fKeys.smoothcircumflexsubscript_dead_key); 1527 dump_keys(file, "rough_dead_key", fKeys.rough_dead_key); 1528 dump_keys(file, "roughcircumflex_dead_key", fKeys.roughcircumflex_dead_key); 1529 dump_keys(file, "roughsubscript_dead_key",fKeys.roughsubscript_dead_key); 1530 dump_keys(file, "roughcircumflexsubscript_dead_key",fKeys.roughcircumflexsubscript_dead_key); 675 1531 dump_keys(file, "circumflex_dead_key", fKeys.circumflex_dead_key); 1532 dump_keys(file, "circumflexdiaeresis_dead_key", fKeys.circumflexdiaeresis_dead_key); 1533 dump_keys(file, "circumflexsubscript_dead_key",fKeys.circumflexsubscript_dead_key); 676 1534 dump_keys(file, "dieresis_dead_key", fKeys.dieresis_dead_key); 1535 dump_keys(file, "diaeresisaccent_dead_key", fKeys.diaeresisaccent_dead_key); 677 1536 dump_keys(file, "tilde_dead_key", fKeys.tilde_dead_key); 1537 dump_keys(file, "accent_dead_key", fKeys.accent_dead_key); 1538 dump_keys(file, "macron_dead_key", fKeys.macron_dead_key); 1539 dump_keys(file, "breve_dead_key", fKeys.breve_dead_key); 1540 dump_keys(file, "subscript_dead_key", fKeys.subscript_dead_key); 678 1541 679 1542 // dead key tables 680 1543 fprintf(file, "\tacute_tables:0x%" B_PRIx32 ",\n", fKeys.acute_tables); 1544 fprintf(file, "\tacutesmooth_tables:0x%" B_PRIx32 ",\n", fKeys.acutesmooth_tables); 1545 fprintf(file, "\tacuterough_tables:0x%" B_PRIx32 ",\n", fKeys.acuterough_tables); 1546 fprintf(file, "\tacutediaeresis_tables:0x%" B_PRIx32 ",\n", fKeys.acutediaeresis_tables); 1547 fprintf(file, "\tacutesubscript_tables:0x%" B_PRIx32 ",\n", fKeys.acutesubscript_tables); 1548 fprintf(file, "\tacutesmoothsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.acutesmoothsubscript_tables); 1549 fprintf(file, "\tacuteroughsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.acuteroughsubscript_tables); 681 1550 fprintf(file, "\tgrave_tables:0x%" B_PRIx32 ",\n", fKeys.grave_tables); 1551 fprintf(file, "\tgravesmooth_tables:0x%" B_PRIx32 ",\n", fKeys.gravesmooth_tables); 1552 fprintf(file, "\tgraverough_tables:0x%" B_PRIx32 ",\n", fKeys.graverough_tables); 1553 fprintf(file, "\tgravediaeresis_tables:0x%" B_PRIx32 ",\n", fKeys.gravediaeresis_tables); 1554 fprintf(file, "\tgravesubscript_tables:0x%" B_PRIx32 ",\n", fKeys.gravesubscript_tables); 1555 fprintf(file, "\tgravesmoothsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.gravesmoothsubscript_tables); 1556 fprintf(file, "\tgraveroughsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.graveroughsubscript_tables); 1557 fprintf(file, "\tsmooth_tables:0x%" B_PRIx32 ",\n", fKeys.smooth_tables); 1558 fprintf(file, "\tsmoothcircumflex_tables:0x%" B_PRIx32 ",\n", fKeys.smoothcircumflex_tables); 1559 fprintf(file, "\tsmoothsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.smoothsubscript_tables); 1560 fprintf(file, "\tsmoothcircumflexsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.smoothcircumflexsubscript_tables); 1561 fprintf(file, "\trough_tables:0x%" B_PRIx32 ",\n", fKeys.rough_tables); 1562 fprintf(file, "\troughcircumflex_tables:0x%" B_PRIx32 ",\n", fKeys.roughcircumflex_tables); 1563 fprintf(file, "\troughsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.roughsubscript_tables); 1564 fprintf(file, "\troughcircumflexsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.roughcircumflexsubscript_tables); 682 1565 fprintf(file, "\tcircumflex_tables:0x%" B_PRIx32 ",\n", 683 1566 fKeys.circumflex_tables); 1567 fprintf(file, "\tcircumflexdiaeresis_tables:0x%" B_PRIx32 ",\n", fKeys.circumflexdiaeresis_tables); 1568 fprintf(file, "\tcircumflexsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.circumflexsubscript_tables); 684 1569 fprintf(file, "\tdieresis_tables:0x%" B_PRIx32 ",\n", 685 1570 fKeys.dieresis_tables); 1571 fprintf(file, "\tdiaeresisaccent_tables:0x%" B_PRIx32 ",\n", fKeys.diaeresisaccent_tables); 686 1572 fprintf(file, "\ttilde_tables:0x%" B_PRIx32 ",\n", fKeys.tilde_tables); 1573 fprintf(file, "\taccent_tables:0x%" B_PRIx32 ",\n", fKeys.accent_tables); 1574 fprintf(file, "\tmacron_tables:0x%" B_PRIx32 ",\n", fKeys.macron_tables); 1575 fprintf(file, "\tbreve_tables:0x%" B_PRIx32 ",\n", fKeys.breve_tables); 1576 fprintf(file, "\tsubscript_tables:0x%" B_PRIx32 ",\n", fKeys.subscript_tables); 687 1577 688 1578 fputs("};\n\n", file); 689 1579 … … Keymap::_SaveSourceText(FILE* file) 987 1877 988 1878 int32* deadOffsets[] = { 989 1879 fKeys.acute_dead_key, 1880 fKeys.acutesmooth_dead_key, 1881 fKeys.acuterough_dead_key, 1882 fKeys.acutediaeresis_dead_key, 1883 fKeys.acutesubscript_dead_key, 1884 fKeys.acutesmoothsubscript_dead_key, 1885 fKeys.acuteroughsubscript_dead_key, 990 1886 fKeys.grave_dead_key, 1887 fKeys.gravesmooth_dead_key, 1888 fKeys.graverough_dead_key, 1889 fKeys.gravediaeresis_dead_key, 1890 fKeys.gravesubscript_dead_key, 1891 fKeys.gravesmoothsubscript_dead_key, 1892 fKeys.graveroughsubscript_dead_key, 1893 fKeys.smooth_dead_key, 1894 fKeys.smoothcircumflex_dead_key, 1895 fKeys.smoothsubscript_dead_key, 1896 fKeys.smoothcircumflexsubscript_dead_key, 1897 fKeys.rough_dead_key, 1898 fKeys.roughcircumflex_dead_key, 1899 fKeys.roughsubscript_dead_key, 1900 fKeys.roughcircumflexsubscript_dead_key, 991 1901 fKeys.circumflex_dead_key, 1902 fKeys.circumflexdiaeresis_dead_key, 1903 fKeys.circumflexsubscript_dead_key, 992 1904 fKeys.dieresis_dead_key, 993 fKeys.tilde_dead_key 1905 fKeys.diaeresisaccent_dead_key, 1906 fKeys.tilde_dead_key, 1907 fKeys.accent_dead_key, 1908 fKeys.macron_dead_key, 1909 fKeys.breve_dead_key, 1910 fKeys.subscript_dead_key 994 1911 }; 995 1912 996 char labels[][ 12] = {1913 char labels[][27] = { 997 1914 "Acute", 1915 "AcuteSmooth", 1916 "AcuteRough", 1917 "AcuteDiaeresis", 1918 "AcuteSubscript", 1919 "AcuteSmoothSubscript", 1920 "AcuteRoughSubscript", 998 1921 "Grave", 1922 "GraveSmooth", 1923 "GraveRough", 1924 "GraveDiaeresis", 1925 "GraveSubscript", 1926 "GraveSmoothSubscript", 1927 "GraveRoughSubscript", 1928 "Smooth", 1929 "SmoothCircumflex", 1930 "SmoothSubscript", 1931 "SmoothCircumflexSubscript", 1932 "Rough", 1933 "RoughCircumflex", 1934 "RoughSubscript", 1935 "RoughCircumflexSubscript", 999 1936 "Circumflex", 1937 "CircumflexDiaeresis", 1938 "CircumflexSubscript", 1000 1939 "Diaeresis", 1001 "Tilde" 1940 "DiaeresisAccent", 1941 "Tilde", 1942 "Accent", 1943 "Macron", 1944 "Breve", 1945 "Subscript" 1002 1946 }; 1003 1947 1004 1948 uint32 deadTables[] = { 1005 1949 fKeys.acute_tables, 1950 fKeys.acutesmooth_tables, 1951 fKeys.acuterough_tables, 1952 fKeys.acutediaeresis_tables, 1953 fKeys.acutesubscript_tables, 1954 fKeys.acutesmoothsubscript_tables, 1955 fKeys.acuteroughsubscript_tables, 1006 1956 fKeys.grave_tables, 1957 fKeys.gravesmooth_tables, 1958 fKeys.graverough_tables, 1959 fKeys.gravediaeresis_tables, 1960 fKeys.gravesubscript_tables, 1961 fKeys.gravesmoothsubscript_tables, 1962 fKeys.graveroughsubscript_tables, 1963 fKeys.smooth_tables, 1964 fKeys.smoothcircumflex_tables, 1965 fKeys.smoothsubscript_tables, 1966 fKeys.smoothcircumflexsubscript_tables, 1967 fKeys.rough_tables, 1968 fKeys.roughcircumflex_tables, 1969 fKeys.roughsubscript_tables, 1970 fKeys.roughcircumflexsubscript_tables, 1007 1971 fKeys.circumflex_tables, 1972 fKeys.circumflexdiaeresis_tables, 1973 fKeys.circumflexsubscript_tables, 1008 1974 fKeys.dieresis_tables, 1009 fKeys.tilde_tables 1975 fKeys.diaeresisaccent_tables, 1976 fKeys.tilde_tables, 1977 fKeys.accent_tables, 1978 fKeys.macron_tables, 1979 fKeys.breve_tables, 1980 fKeys.subscript_tables 1010 1981 }; 1011 1982 1012 for (int i = 0; i < 5; i++) {1013 for (int deadIndex = 0; deadIndex < 3 2; deadIndex++) {1014 char deadKey[3 2];1015 char secondKey[3 2];1016 if (!GetKey(fChars, deadOffsets[i][deadIndex++], deadKey, 3 2))1983 for (int i = 0; i < 32; i++) { 1984 for (int deadIndex = 0; deadIndex < 38; deadIndex++) { 1985 char deadKey[38]; 1986 char secondKey[38]; 1987 if (!GetKey(fChars, deadOffsets[i][deadIndex++], deadKey, 38)) 1017 1988 break; 1018 1989 1019 GetKey(fChars, deadOffsets[i][deadIndex], secondKey, 3 2);1990 GetKey(fChars, deadOffsets[i][deadIndex], secondKey, 38); 1020 1991 fprintf(file, "%s %-9s = %-9s\n", labels[i], deadKey, secondKey); 1021 1992 } 1022 1993