author | hash <hash> | 2002-11-08 05:36:29 (UTC) |
---|---|---|
committer | hash <hash> | 2002-11-08 05:36:29 (UTC) |
commit | 8ddf8df51c6193c362d2767491d34ca841a9c6c7 (patch) (unidiff) | |
tree | 26d55a25a0fcda215b2ecc98aa7747e8bed03b33 /inputmethods | |
parent | 34cd9251667fe1b7f6ecae3cfe95c5450e0dbe7c (diff) | |
download | opie-8ddf8df51c6193c362d2767491d34ca841a9c6c7.zip opie-8ddf8df51c6193c362d2767491d34ca841a9c6c7.tar.gz opie-8ddf8df51c6193c362d2767491d34ca841a9c6c7.tar.bz2 |
1. changed format from EUC-KR to UTF-8 (sorry about that)
2. made ctrl unsticky
3. the spanish accent and back accent shouldnt be the normal backtick char, so
i changed them to the chars in 0x2c6 ~ 0x2cf (extended ticks and stuff)
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 57 |
1 files changed, 33 insertions, 24 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index de3aa52..08318bd 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp | |||
@@ -335,82 +335,84 @@ void Keyboard::mousePressEvent(QMouseEvent *e) | |||
335 | else break; | 335 | else break; |
336 | 336 | ||
337 | if (col <= 0) return; | 337 | if (col <= 0) return; |
338 | 338 | ||
339 | col --; // rewind one... | 339 | col --; // rewind one... |
340 | 340 | ||
341 | qkeycode = keys->qcode(row, col); | 341 | qkeycode = keys->qcode(row, col); |
342 | unicode = keys->uni(row, col); | 342 | unicode = keys->uni(row, col); |
343 | 343 | ||
344 | // might need to repaint if two or more of the same keys. | 344 | // might need to repaint if two or more of the same keys. |
345 | // should be faster if just paint one key even though multiple keys exist. | 345 | // should be faster if just paint one key even though multiple keys exist. |
346 | bool need_repaint = FALSE; | 346 | bool need_repaint = FALSE; |
347 | 347 | ||
348 | // circumflex and diaeresis support | 348 | // circumflex and diaeresis support |
349 | // messy to have this here, but too hard to implement any other method | 349 | // messy to have this here, but too hard to implement any other method |
350 | if (unicode == 0x2c6) { | 350 | if (unicode == 0x2c6) { |
351 | 351 | ||
352 | unicode = 0; | 352 | unicode = 0; |
353 | if (shift || lock) { | 353 | if (shift || lock) { |
354 | 354 | ||
355 | // diaeresis | 355 | // diaeresis |
356 | qkeycode = 0x2001; | 356 | qkeycode = 0x2001; |
357 | } | 357 | } |
358 | else { | 358 | else { |
359 | 359 | ||
360 | // circumflex | 360 | // circumflex |
361 | qkeycode = 0x2000; | 361 | qkeycode = 0x2000; |
362 | } | 362 | } |
363 | } | 363 | } |
364 | 364 | ||
365 | // Back accent character support | 365 | // Back accent character support |
366 | 366 | ||
367 | if (unicode == 0x60) { | 367 | //if (unicode == 0x60) { // the keys from 2c6 ~ 2cf should be used instead of the ascii one |
368 | if (unicode == 0x2cb) { | ||
368 | 369 | ||
369 | unicode = 0; | 370 | unicode = 0; |
370 | if (shift || lock) { | 371 | if (shift || lock) { |
371 | 372 | ||
372 | // circumblex | 373 | // circumblex |
373 | qkeycode = 0x2000; | 374 | qkeycode = 0x2000; |
374 | } | 375 | } |
375 | else { | 376 | else { |
376 | 377 | ||
377 | // back accent | 378 | // back accent |
378 | qkeycode = 0x2002; | 379 | qkeycode = 0x2002; |
379 | } | 380 | } |
380 | } | 381 | } |
381 | 382 | ||
382 | // Accent character support | 383 | // Accent character support |
383 | 384 | ||
384 | if (unicode == 0xb4) { | 385 | //if (unicode == 0xb4) { |
386 | if (unicode == 0x2ca) { | ||
385 | 387 | ||
386 | unicode = 0; | 388 | unicode = 0; |
387 | if (shift || lock) { | 389 | if (shift || lock) { |
388 | 390 | ||
389 | // diaeresis | 391 | // diaeresis |
390 | qkeycode = 0x2001; | 392 | qkeycode = 0x2001; |
391 | } | 393 | } |
392 | else { | 394 | else { |
393 | 395 | ||
394 | // accent | 396 | // accent |
395 | qkeycode = 0x2003; | 397 | qkeycode = 0x2003; |
396 | } | 398 | } |
397 | } | 399 | } |
398 | 400 | ||
399 | 401 | ||
400 | if (unicode == 0) { // either Qt char, or nothing | 402 | if (unicode == 0) { // either Qt char, or nothing |
401 | 403 | ||
402 | if (qkeycode == Qt::Key_F1) { // toggle the pickboard | 404 | if (qkeycode == Qt::Key_F1) { // toggle the pickboard |
403 | 405 | ||
404 | if ( configdlg ) { | 406 | if ( configdlg ) { |
405 | 407 | ||
406 | delete (ConfigDlg *) configdlg; | 408 | delete (ConfigDlg *) configdlg; |
407 | configdlg = 0; | 409 | configdlg = 0; |
408 | } | 410 | } |
409 | else { | 411 | else { |
410 | configdlg = new ConfigDlg (); | 412 | configdlg = new ConfigDlg (); |
411 | connect(configdlg, SIGNAL(setMapToDefault()), | 413 | connect(configdlg, SIGNAL(setMapToDefault()), |
412 | this, SLOT(setMapToDefault())); | 414 | this, SLOT(setMapToDefault())); |
413 | connect(configdlg, SIGNAL(setMapToFile(QString)), | 415 | connect(configdlg, SIGNAL(setMapToFile(QString)), |
414 | this, SLOT(setMapToFile(QString))); | 416 | this, SLOT(setMapToFile(QString))); |
415 | connect(configdlg, SIGNAL(pickboardToggled(bool)), | 417 | connect(configdlg, SIGNAL(pickboardToggled(bool)), |
416 | this, SLOT(togglePickboard(bool))); | 418 | this, SLOT(togglePickboard(bool))); |
@@ -737,64 +739,71 @@ void Keyboard::mousePressEvent(QMouseEvent *e) | |||
737 | 739 | ||
738 | 740 | ||
739 | QPainter p(this); | 741 | QPainter p(this); |
740 | drawKeyboard(p, row, col); | 742 | drawKeyboard(p, row, col); |
741 | 743 | ||
742 | } | 744 | } |
743 | 745 | ||
744 | if (useRepeat) repeatTimer->start( 800 ); | 746 | if (useRepeat) repeatTimer->start( 800 ); |
745 | //pressTid = startTimer(80); | 747 | //pressTid = startTimer(80); |
746 | 748 | ||
747 | } | 749 | } |
748 | 750 | ||
749 | 751 | ||
750 | /* Keyboard::mouseReleaseEvent {{{1 */ | 752 | /* Keyboard::mouseReleaseEvent {{{1 */ |
751 | void Keyboard::mouseReleaseEvent(QMouseEvent*) | 753 | void Keyboard::mouseReleaseEvent(QMouseEvent*) |
752 | { | 754 | { |
753 | pressed = FALSE; | 755 | pressed = FALSE; |
754 | //if ( pressTid == 0 ) | 756 | //if ( pressTid == 0 ) |
755 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 757 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
756 | if ( unicode != -1 ) { | 758 | if ( unicode != -1 ) { |
757 | emit key( unicode, qkeycode, modifiers, false, false ); | 759 | emit key( unicode, qkeycode, modifiers, false, false ); |
758 | repeatTimer->stop(); | 760 | repeatTimer->stop(); |
759 | } | 761 | } |
760 | #endif | 762 | #endif |
761 | if (shift && unicode != 0) { | 763 | if (shift && unicode != 0) { |
762 | 764 | ||
763 | 765 | ||
764 | *shift = 0; // unpress shift key | 766 | *shift = 0; // unpress shift key |
765 | shift = 0; // reset the shift pointer | 767 | shift = 0; // reset the shift pointer |
766 | repaint(FALSE); | 768 | repaint(FALSE); |
767 | 769 | ||
768 | } | 770 | } |
771 | if (ctrl && unicode != 0) { | ||
772 | |||
773 | *ctrl = 0; | ||
774 | ctrl = 0; | ||
775 | repaint(FALSE); | ||
776 | |||
777 | } | ||
769 | 778 | ||
770 | /* | 779 | /* |
771 | * do not make the meta key release after being pressed | 780 | * do not make the meta key release after being pressed |
772 | * | 781 | * |
773 | 782 | ||
774 | else if (meta && unicode != 0) { | 783 | else if (meta && unicode != 0) { |
775 | 784 | ||
776 | *meta = 0; | 785 | *meta = 0; |
777 | meta = 0; | 786 | meta = 0; |
778 | repaint(FALSE); | 787 | repaint(FALSE); |
779 | } | 788 | } |
780 | 789 | ||
781 | */ | 790 | */ |
782 | 791 | ||
783 | else clearHighlight(); | 792 | else clearHighlight(); |
784 | } | 793 | } |
785 | 794 | ||
786 | /* Keyboard::timerEvent {{{1 */ | 795 | /* Keyboard::timerEvent {{{1 */ |
787 | 796 | ||
788 | /* dont know what this does, but i think it is here so that if your screen | 797 | /* dont know what this does, but i think it is here so that if your screen |
789 | * sticks (like on an ipaq) then it will stop repeating if you click another | 798 | * sticks (like on an ipaq) then it will stop repeating if you click another |
790 | * key... but who knows what anything does in this thing anyway? | 799 | * key... but who knows what anything does in this thing anyway? |
791 | 800 | ||
792 | void Keyboard::timerEvent(QTimerEvent* e) | 801 | void Keyboard::timerEvent(QTimerEvent* e) |
793 | { | 802 | { |
794 | if ( e->timerId() == pressTid ) { | 803 | if ( e->timerId() == pressTid ) { |
795 | killTimer(pressTid); | 804 | killTimer(pressTid); |
796 | pressTid = 0; | 805 | pressTid = 0; |
797 | if ( !pressed ) | 806 | if ( !pressed ) |
798 | cout << "calling clearHighlight from timerEvent\n"; | 807 | cout << "calling clearHighlight from timerEvent\n"; |
799 | //clearHighlight(); | 808 | //clearHighlight(); |
800 | } | 809 | } |
@@ -986,149 +995,149 @@ void Keyboard::loadKeyboardColors() { | |||
986 | color = QStringList::split(",", "138,148,160"); | 995 | color = QStringList::split(",", "138,148,160"); |
987 | config.writeEntry("keycolor_lines", color.join(",")); | 996 | config.writeEntry("keycolor_lines", color.join(",")); |
988 | 997 | ||
989 | } | 998 | } |
990 | keycolor_lines = QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()); | 999 | keycolor_lines = QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()); |
991 | 1000 | ||
992 | color = config.readListEntry("textcolor", QChar(',')); | 1001 | color = config.readListEntry("textcolor", QChar(',')); |
993 | if (color.isEmpty()) { | 1002 | if (color.isEmpty()) { |
994 | color = QStringList::split(",", "43,54,68"); | 1003 | color = QStringList::split(",", "43,54,68"); |
995 | config.writeEntry("textcolor", color.join(",")); | 1004 | config.writeEntry("textcolor", color.join(",")); |
996 | 1005 | ||
997 | } | 1006 | } |
998 | textcolor = QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()); | 1007 | textcolor = QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()); |
999 | 1008 | ||
1000 | } | 1009 | } |
1001 | 1010 | ||
1002 | /* korean input functions {{{1 | 1011 | /* korean input functions {{{1 |
1003 | * | 1012 | * |
1004 | * TODO | 1013 | * TODO |
1005 | * one major problem with this implementation is that you can't move the | 1014 | * one major problem with this implementation is that you can't move the |
1006 | * cursor after inputing korean chars, otherwise it will eat up and replace | 1015 | * cursor after inputing korean chars, otherwise it will eat up and replace |
1007 | * the char before the cursor you move to. fix that | 1016 | * the char before the cursor you move to. fix that |
1008 | * | 1017 | * |
1009 | * make backspace delete one single char, not the whole thing if still | 1018 | * make backspace delete one single char, not the whole thing if still |
1010 | * editing. | 1019 | * editing. |
1011 | * | 1020 | * |
1012 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | 1021 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
1013 | * | 1022 | * |
1014 | * how korean input works | 1023 | * how korean input works |
1015 | * | 1024 | * |
1016 | * all following chars means unicode char value and are in hex | 1025 | * all following chars means unicode char value and are in hex |
1017 | * | 1026 | * |
1018 | * ĆŹĄ½ = schar (start char) | 1027 | * ģ“ģ = schar (start char) |
1019 | * Įߥ½ = mchar (middle char) | 1028 | * ģ¤ģ = mchar (middle char) |
1020 | * ³”Ą½ = echar (end char) | 1029 | * ėģ = echar (end char) |
1021 | * | 1030 | * |
1022 | * there are 19 schars. unicode position is at 1100 - 1112 | 1031 | * there are 19 schars. unicode position is at 1100 - 1112 |
1023 | * there are 21 mchars. unicode position is at 1161 - 1175 | 1032 | * there are 21 mchars. unicode position is at 1161 - 1175 |
1024 | * there are 27 echars. unicode position is at 11a8 - 11c2 | 1033 | * there are 27 echars. unicode position is at 11a8 - 11c2 |
1025 | * | 1034 | * |
1026 | * the map with everything combined is at ac00 - d7a3 | 1035 | * the map with everything combined is at ac00 - d7a3 |
1027 | * | 1036 | * |
1028 | */ | 1037 | */ |
1029 | 1038 | ||
1030 | ushort Keyboard::parseKoreanInput (ushort c) { | 1039 | ushort Keyboard::parseKoreanInput (ushort c) { |
1031 | 1040 | ||
1032 | if ((c != 0 && (c < 0x1100 || 0x11c2 < c) && (c < 0xac00 || 0xd7a3 < c)) | 1041 | if ((c != 0 && (c < 0x1100 || 0x11c2 < c) && (c < 0xac00 || 0xd7a3 < c)) |
1033 | || | 1042 | || |
1034 | (c == 0 && qkeycode != Qt::Key_Shift && Qt::Key_CapsLock != qkeycode | 1043 | (c == 0 && qkeycode != Qt::Key_Shift && Qt::Key_CapsLock != qkeycode |
1035 | && qkeycode != Qt::Key_Control && qkeycode != Qt::Key_Alt)) { | 1044 | && qkeycode != Qt::Key_Control && qkeycode != Qt::Key_Alt)) { |
1036 | 1045 | ||
1037 | schar = 0, mchar = 0, echar = 0; | 1046 | schar = 0, mchar = 0, echar = 0; |
1038 | return c; | 1047 | return c; |
1039 | } | 1048 | } |
1040 | 1049 | ||
1041 | if ( 0x1100 <= c && c <= 0x1112 ) { // schar or echar was input | 1050 | if ( 0x1100 <= c && c <= 0x1112 ) { // schar or echar was input |
1042 | 1051 | ||
1043 | if (schar == 0 || (schar != 0 && mchar == 0)) { | 1052 | if (schar == 0 || (schar != 0 && mchar == 0)) { |
1044 | schar = c; mchar = 0; echar = 0; | 1053 | schar = c; mchar = 0; echar = 0; |
1045 | return c; | 1054 | return c; |
1046 | } | 1055 | } |
1047 | else if (mchar != 0) { | 1056 | else if (mchar != 0) { |
1048 | 1057 | ||
1049 | if (echar == 0) { | 1058 | if (echar == 0) { |
1050 | 1059 | ||
1051 | if (!(echar = constoe(c))) { | 1060 | if (!(echar = constoe(c))) { |
1052 | 1061 | ||
1053 | schar = c; mchar = 0; echar = 0; | 1062 | schar = c; mchar = 0; echar = 0; |
1054 | return c; | 1063 | return c; |
1055 | } | 1064 | } |
1056 | 1065 | ||
1057 | } | 1066 | } |
1058 | else { // must figure out what the echar is | 1067 | else { // must figure out what the echar is |
1059 | 1068 | ||
1060 | if (echar == 0x11a8) { // ¤” | 1069 | if (echar == 0x11a8) { // ć± |
1061 | 1070 | ||
1062 | if (c == 0x1100) echar = 0x11a9; // ¤” + ¤” | 1071 | if (c == 0x1100) echar = 0x11a9; // ć± + ć± |
1063 | else if (c == 0x1109) echar = 0x11aa; // ¤” + ¤µ | 1072 | else if (c == 0x1109) echar = 0x11aa; // ć± + ć |
1064 | else { | 1073 | else { |
1065 | schar = c; mchar = 0; echar = 0; | 1074 | schar = c; mchar = 0; echar = 0; |
1066 | return c; | 1075 | return c; |
1067 | } | 1076 | } |
1068 | 1077 | ||
1069 | } else if (echar == 0x11ab) { // ¤¤ | 1078 | } else if (echar == 0x11ab) { // ć“ |
1070 | 1079 | ||
1071 | if (c == 0x110c) echar = 0x11ac; // ¤¤ + ¤ø | 1080 | if (c == 0x110c) echar = 0x11ac; // ć“ + ć |
1072 | else if (c == 0x1112) echar = 0x11ad; // ¤¤ + ¤¾ | 1081 | else if (c == 0x1112) echar = 0x11ad; // ć“ + ć |
1073 | else { | 1082 | else { |
1074 | schar = c; mchar = 0; echar = 0; | 1083 | schar = c; mchar = 0; echar = 0; |
1075 | return c; | 1084 | return c; |
1076 | } | 1085 | } |
1077 | 1086 | ||
1078 | } else if (echar == 0x11af) { // ¤© | 1087 | } else if (echar == 0x11af) { // ć¹ |
1079 | 1088 | ||
1080 | if (c == 0x1100) echar = 0x11b0; // ¤© + ¤” | 1089 | if (c == 0x1100) echar = 0x11b0; // ć¹ + ć± |
1081 | else if (c == 0x1106) echar = 0x11b1; // ¤© + ¤± | 1090 | else if (c == 0x1106) echar = 0x11b1; // ć¹ + ć |
1082 | else if (c == 0x1107) echar = 0x11b2; // ¤© + ¤² | 1091 | else if (c == 0x1107) echar = 0x11b2; // ć¹ + ć |
1083 | else if (c == 0x1109) echar = 0x11b3; // ¤© + ¤µ | 1092 | else if (c == 0x1109) echar = 0x11b3; // ć¹ + ć |
1084 | else if (c == 0x1110) echar = 0x11b4; // ¤© + ¤¼ | 1093 | else if (c == 0x1110) echar = 0x11b4; // ć¹ + ć |
1085 | else if (c == 0x1111) echar = 0x11b5; // ¤© + ¤½ | 1094 | else if (c == 0x1111) echar = 0x11b5; // ć¹ + ć |
1086 | else if (c == 0x1112) echar = 0x11b6; // ¤© + ¤¾ | 1095 | else if (c == 0x1112) echar = 0x11b6; // ć¹ + ć |
1087 | else { | 1096 | else { |
1088 | schar = c; mchar = 0; echar = 0; | 1097 | schar = c; mchar = 0; echar = 0; |
1089 | return c; | 1098 | return c; |
1090 | } | 1099 | } |
1091 | 1100 | ||
1092 | } else if (echar == 0x11b8) { // ¤² | 1101 | } else if (echar == 0x11b8) { // ć |
1093 | 1102 | ||
1094 | if (c == 0x1109) echar = 0x11b9; // ¤² + ¤µ | 1103 | if (c == 0x1109) echar = 0x11b9; // ć + ć |
1095 | else { | 1104 | else { |
1096 | schar = c; mchar = 0; echar = 0; | 1105 | schar = c; mchar = 0; echar = 0; |
1097 | return c; | 1106 | return c; |
1098 | } | 1107 | } |
1099 | 1108 | ||
1100 | } else if (echar == 0x11ba) { // ¤µ | 1109 | } else if (echar == 0x11ba) { // ć |
1101 | 1110 | ||
1102 | if (c == 0x1109) echar = 0x11bb; // ¤µ + ¤µ | 1111 | if (c == 0x1109) echar = 0x11bb; // ć + ć |
1103 | else { | 1112 | else { |
1104 | schar = c; mchar = 0; echar = 0; | 1113 | schar = c; mchar = 0; echar = 0; |
1105 | return c; | 1114 | return c; |
1106 | } | 1115 | } |
1107 | 1116 | ||
1108 | } else { // if any other char, cannot combine chars | 1117 | } else { // if any other char, cannot combine chars |
1109 | 1118 | ||
1110 | schar = c; mchar = 0; echar = 0; | 1119 | schar = c; mchar = 0; echar = 0; |
1111 | return c; | 1120 | return c; |
1112 | } | 1121 | } |
1113 | 1122 | ||
1114 | unicode = echar; | 1123 | unicode = echar; |
1115 | } | 1124 | } |
1116 | } | 1125 | } |
1117 | 1126 | ||
1118 | } | 1127 | } |
1119 | else if (0x1161 <= c && c <= 0x1175) { // mchar was input | 1128 | else if (0x1161 <= c && c <= 0x1175) { // mchar was input |
1120 | 1129 | ||
1121 | if (schar != 0 && mchar == 0) { mchar = c; } | 1130 | if (schar != 0 && mchar == 0) { mchar = c; } |
1122 | 1131 | ||
1123 | else if (schar != 0 && mchar != 0 && echar == 0) { | 1132 | else if (schar != 0 && mchar != 0 && echar == 0) { |
1124 | 1133 | ||
1125 | switch (mchar) { | 1134 | switch (mchar) { |
1126 | case 0x1169: | 1135 | case 0x1169: |
1127 | if (c == 0x1161) mchar = 0x116a; | 1136 | if (c == 0x1161) mchar = 0x116a; |
1128 | else if (c == 0x1162) mchar = 0x116b; | 1137 | else if (c == 0x1162) mchar = 0x116b; |
1129 | else if (c == 0x1175) mchar = 0x116c; | 1138 | else if (c == 0x1175) mchar = 0x116c; |
1130 | else { | 1139 | else { |
1131 | schar = 0; mchar = 0; echar = 0; | 1140 | schar = 0; mchar = 0; echar = 0; |
1132 | return c; | 1141 | return c; |
1133 | } | 1142 | } |
1134 | break; | 1143 | break; |
@@ -1433,65 +1442,65 @@ void Keys::setKeysFromFile(const char * filename) { | |||
1433 | 1442 | ||
1434 | QTextStream tmp (buf, IO_ReadOnly); | 1443 | QTextStream tmp (buf, IO_ReadOnly); |
1435 | ushort lower, shift; | 1444 | ushort lower, shift; |
1436 | QChar c; | 1445 | QChar c; |
1437 | tmp >> c >> lower >> shift; | 1446 | tmp >> c >> lower >> shift; |
1438 | 1447 | ||
1439 | circumflexMap.insert(lower, shift); | 1448 | circumflexMap.insert(lower, shift); |
1440 | 1449 | ||
1441 | buf = t.readLine(); | 1450 | buf = t.readLine(); |
1442 | } | 1451 | } |
1443 | // diaeresis | 1452 | // diaeresis |
1444 | else if (buf.contains(QRegExp("^\\s*d\\s+[0-9a-fx]+\\s+[0-9a-fx]+\\s*$", FALSE, FALSE))) { | 1453 | else if (buf.contains(QRegExp("^\\s*d\\s+[0-9a-fx]+\\s+[0-9a-fx]+\\s*$", FALSE, FALSE))) { |
1445 | 1454 | ||
1446 | QTextStream tmp (buf, IO_ReadOnly); | 1455 | QTextStream tmp (buf, IO_ReadOnly); |
1447 | ushort lower, shift; | 1456 | ushort lower, shift; |
1448 | QChar d; | 1457 | QChar d; |
1449 | tmp >> d >> lower >> shift; | 1458 | tmp >> d >> lower >> shift; |
1450 | 1459 | ||
1451 | diaeresisMap.insert(lower, shift); | 1460 | diaeresisMap.insert(lower, shift); |
1452 | 1461 | ||
1453 | buf = t.readLine(); | 1462 | buf = t.readLine(); |
1454 | } | 1463 | } |
1455 | // back accent | 1464 | // back accent |
1456 | else if (buf.contains(QRegExp("^\\s*b\\s+[0-9a-fx]+\\s+[0-9a-fx]+\\s*$", FALSE, FALSE))) { | 1465 | else if (buf.contains(QRegExp("^\\s*b\\s+[0-9a-fx]+\\s+[0-9a-fx]+\\s*$", FALSE, FALSE))) { |
1457 | 1466 | ||
1458 | QTextStream tmp (buf, IO_ReadOnly); | 1467 | QTextStream tmp (buf, IO_ReadOnly); |
1459 | ushort lower, shift; | 1468 | ushort lower, shift; |
1460 | QChar d; | 1469 | QChar d; |
1461 | tmp >> d >> lower >> shift; | 1470 | tmp >> d >> lower >> shift; |
1462 | 1471 | ||
1463 | baccentMap.insert(lower, shift); | 1472 | baccentMap.insert(lower, shift); |
1464 | 1473 | ||
1465 | qDebug ("Estoy ańadiendo %i con %i", lower, shift); | 1474 | qDebug ("Estoy aadiendo %i con %i", lower, shift); |
1466 | buf = t.readLine(); | 1475 | buf = t.readLine(); |
1467 | } | 1476 | } |
1468 | // accent | 1477 | // accent |
1469 | else if (buf.contains(QRegExp("^\\s*a\\s+[0-9a-fx]+\\s+[0-9a-fx]+\\s*$", FALSE, FALSE))) { | 1478 | else if (buf.contains(QRegExp("^\\s*a\\s+[0-9a-fx]+\\s+[0-9a-fx]+\\s*$", FALSE, FALSE))) { |
1470 | 1479 | ||
1471 | QTextStream tmp (buf, IO_ReadOnly); | 1480 | QTextStream tmp (buf, IO_ReadOnly); |
1472 | ushort lower, shift; | 1481 | ushort lower, shift; |
1473 | QChar d; | 1482 | QChar d; |
1474 | tmp >> d >> lower >> shift; | 1483 | tmp >> d >> lower >> shift; |
1475 | 1484 | ||
1476 | accentMap.insert(lower, shift); | 1485 | accentMap.insert(lower, shift); |
1477 | 1486 | ||
1478 | buf = t.readLine(); | 1487 | buf = t.readLine(); |
1479 | } | 1488 | } |
1480 | 1489 | ||
1481 | // other variables like lang & title | 1490 | // other variables like lang & title |
1482 | else if (buf.contains(QRegExp("^\\s*[a-zA-Z]+\\s*=\\s*[a-zA-Z0-9/]+\\s*$", FALSE, FALSE))) { | 1491 | else if (buf.contains(QRegExp("^\\s*[a-zA-Z]+\\s*=\\s*[a-zA-Z0-9/]+\\s*$", FALSE, FALSE))) { |
1483 | 1492 | ||
1484 | QTextStream tmp (buf, IO_ReadOnly); | 1493 | QTextStream tmp (buf, IO_ReadOnly); |
1485 | QString name, equals, value; | 1494 | QString name, equals, value; |
1486 | 1495 | ||
1487 | tmp >> name >> equals >> value; | 1496 | tmp >> name >> equals >> value; |
1488 | 1497 | ||
1489 | if (name == "lang") { | 1498 | if (name == "lang") { |
1490 | 1499 | ||
1491 | lang = value; | 1500 | lang = value; |
1492 | 1501 | ||
1493 | } | 1502 | } |
1494 | 1503 | ||
1495 | buf = t.readLine(); | 1504 | buf = t.readLine(); |
1496 | } | 1505 | } |
1497 | // comments | 1506 | // comments |