summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/plugins/src/inputmethods/simple/xcompose2q.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/plugins/src/inputmethods/simple/xcompose2q.rb')
-rw-r--r--tqtinterface/qt4/plugins/src/inputmethods/simple/xcompose2q.rb450
1 files changed, 0 insertions, 450 deletions
diff --git a/tqtinterface/qt4/plugins/src/inputmethods/simple/xcompose2q.rb b/tqtinterface/qt4/plugins/src/inputmethods/simple/xcompose2q.rb
deleted file mode 100644
index e71c557..0000000
--- a/tqtinterface/qt4/plugins/src/inputmethods/simple/xcompose2q.rb
+++ /dev/null
@@ -1,450 +0,0 @@
-#!/usr/bin/env ruby
-
-# xcompose2q.rb: X Compose table to TQSimpleInputContext table translator
-# Copyright (C) 2004 immodule for TQt Project. All rights reserved.
-#
-# This file is written to contribute to Trolltech AS under their own
-# licence. You may use this file under your TQt license. Following
-# description is copied from their original file headers. Contact
-# immodule-qt@freedesktop.org if any conditions of this licensing are
-# not clear to you.
-
-# This file may be distributed under the terms of the Q Public License
-# as defined by Trolltech AS of Norway and appearing in the file
-# LICENSE.TQPL included in the packaging of this file.
-#
-# This file may be distributed and/or modified under the terms of the
-# GNU General Public License version 2 as published by the Free Software
-# Foundation and appearing in the file LICENSE.GPL included in the
-# packaging of this file.
-#
-# Licensees holding valid TQt Enterprise Edition or TQt Professional Edition
-# licenses may use this file in accordance with the TQt Commercial License
-# Agreement provided with the Software.
-#
-# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-#
-# See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
-# information about TQt Commercial License Agreements.
-# See http://www.trolltech.com/qpl/ for TQPL licensing information.
-# See http://www.trolltech.com/gpl/ for GPL licensing information.
-#
-# Contact info@trolltech.com if any conditions of this licensing are
-# not clear to you.
-
-
-# Usage:
-# xcompose2q.rb /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose
-
-require 'uconv'
-
-# translation table for lazy sorting
-raw2key = {
- "0y1120" => "UNITIZE(TQt::Key_Multi_key)",
- "0y1250" => "UNITIZE(TQt::Key_Dead_Grave)",
- "0y1251" => "UNITIZE(TQt::Key_Dead_Acute)",
- "0y1252" => "UNITIZE(TQt::Key_Dead_Circumflex)",
- "0y1253" => "UNITIZE(TQt::Key_Dead_Tilde)",
- "0y1254" => "UNITIZE(TQt::Key_Dead_Macron)",
- "0y1255" => "UNITIZE(TQt::Key_Dead_Breve)",
- "0y1256" => "UNITIZE(TQt::Key_Dead_Abovedot)",
- "0y1257" => "UNITIZE(TQt::Key_Dead_Diaeresis)",
- "0y1258" => "UNITIZE(TQt::Key_Dead_Abovering)",
- "0y1259" => "UNITIZE(TQt::Key_Dead_Doubleacute)",
- "0y125a" => "UNITIZE(TQt::Key_Dead_Caron)",
- "0y125b" => "UNITIZE(TQt::Key_Dead_Cedilla)",
- "0y125c" => "UNITIZE(TQt::Key_Dead_Ogonek)",
- "0y125d" => "UNITIZE(TQt::Key_Dead_Iota)",
- "0y125e" => "UNITIZE(TQt::Key_Dead_Voiced_Sound)",
- "0y125f" => "UNITIZE(TQt::Key_Dead_Semivoiced_Sound)",
- "0y1260" => "UNITIZE(TQt::Key_Dead_Belowdot)",
- "0y1261" => "UNITIZE(TQt::Key_Dead_Hook)",
- "0y1262" => "UNITIZE(TQt::Key_Dead_Horn)",
-}
-
-# X's KeySym to Unicode translation table. The tqunicode value is
-# extracted from
-# TQETWidget::translateKeyEventInternal(). Translation for some
-# keys are not available
-x2q = {
- "Multi_key" => "0y1120",
- "dead_grave" => "0y1250",
- "dead_acute" => "0y1251",
- "dead_circumflex" => "0y1252",
- "dead_tilde" => "0y1253",
- "dead_macron" => "0y1254",
- "dead_breve" => "0y1255",
- "dead_abovedot" => "0y1256",
- "dead_diaeresis" => "0y1257",
- "dead_abovering" => "0y1258",
- "dead_doubleacute" => "0y1259",
- "dead_caron" => "0y125a",
- "dead_cedilla" => "0y125b",
- "dead_ogonek" => "0y125c",
- "dead_iota" => "0y125d",
- "dead_voiced_sound" => "0y125e",
- "dead_semivoiced_sound" => "0y125f",
- "dead_belowdot" => "0y1260",
- "dead_hook" => "0y1261",
- "dead_horn" => "0y1262",
-
- "0" => "0x0030",
- "1" => "0x0031",
- "2" => "0x0032",
- "3" => "0x0033",
- "4" => "0x0034",
- "5" => "0x0035",
- "6" => "0x0036",
- "7" => "0x0037",
- "8" => "0x0038",
- "9" => "0x0039",
- "A" => "0x0041",
- "AE" => "0x00c6",
- "Abreve" => "0x0102",
- "Acircumflex" => "0x00c2",
- "Adiaeresis" => "0x00c4",
- "Arabic_alef" => "0x0627",
- "Arabic_waw" => "0x0648",
- "Arabic_yeh" => "0x064a",
- "Aring" => "0x00c5",
- "B" => "0x0042",
- "C" => "0x0043",
- "Ccedilla" => "0x00c7",
- "Cyrillic_A" => "0x0410",
- "Cyrillic_CHE" => "0x0427",
- "Cyrillic_E" => "0x042d",
- "Cyrillic_GHE" => "0x0413",
- "Cyrillic_I" => "0x0418",
- "Cyrillic_IE" => "0x0415",
- "Cyrillic_KA" => "0x041a",
- "Cyrillic_O" => "0x041e",
- "Cyrillic_U" => "0x0423",
- "Cyrillic_YERU" => "0x042b",
- "Cyrillic_ZE" => "0x0417",
- "Cyrillic_ZHE" => "0x0416",
- "Cyrillic_a" => "0x0430",
- "Cyrillic_che" => "0x0447",
- "Cyrillic_e" => "0x044d",
- "Cyrillic_ghe" => "0x0433",
- "Cyrillic_i" => "0x0438",
- "Cyrillic_ie" => "0x0435",
- "Cyrillic_ka" => "0x043a",
- "Cyrillic_o" => "0x043e",
- "Cyrillic_u" => "0x0443",
- "Cyrillic_yeru" => "0x044b",
- "Cyrillic_ze" => "0x0437",
- "Cyrillic_zhe" => "0x0436",
- "D" => "0x0044",
- "E" => "0x0045",
- "Ecircumflex" => "0x00ca",
- "Emacron" => "0x0112",
- "F" => "0x0046",
- "G" => "0x0047",
- "Greek_ALPHA" => "0x0391",
- "Greek_EPSILON" => "0x0395",
- "Greek_ETA" => "0x0397",
- "Greek_IOTA" => "0x0399",
- "Greek_OMEGA" => "0x03a9",
- "Greek_OMICRON" => "0x039f",
- "Greek_RHO" => "0x03a1",
- "Greek_UPSILON" => "0x03a5",
- "Greek_alpha" => "0x03b1",
- "Greek_alphaaccent" => "0x03ac",
- "Greek_epsilon" => "0x03b5",
- "Greek_eta" => "0x03b7",
- "Greek_etaaccent" => "0x03ae",
- "Greek_iota" => "0x03b9",
- "Greek_iotadieresis" => "0x03ca",
- "Greek_omega" => "0x03c9",
- "Greek_omegaaccent" => "0x03ce",
- "Greek_omicron" => "0x03bf",
- "Greek_rho" => "0x03c1",
- "Greek_upsilon" => "0x03c5",
- "Greek_upsilondieresis" => "0x03cb",
- "H" => "0x0048",
- "I" => "0x0049",
- "Idiaeresis" => "0x00cf",
- "J" => "0x004a",
- "K" => "0x004b",
- "KP_0" => "0x0000",
- "KP_1" => "0x0000",
- "KP_2" => "0x0000",
- "KP_3" => "0x0000",
- "KP_4" => "0x0000",
- "KP_5" => "0x0000",
- "KP_6" => "0x0000",
- "KP_7" => "0x0000",
- "KP_8" => "0x0000",
- "KP_9" => "0x0000",
- "KP_Add" => "0x0000",
- "KP_Divide" => "0x0000",
- "KP_Equal" => "0x0000",
- "KP_Space" => "0x0000",
- "L" => "0x004c",
- "M" => "0x004d",
- "N" => "0x004e",
- "O" => "0x004f",
- "Ocircumflex" => "0x00d4",
- "Odiaeresis" => "0x00d6",
- "Ohorn" => "0x0000",
- "Omacron" => "0x014c",
- "Ooblique" => "0x00d8",
- "Otilde" => "0x00d5",
- "P" => "0x0050",
- "Q" => "0x0051",
- "R" => "0x0052",
- "S" => "0x0053",
- "Sacute" => "0x015a",
- "Scaron" => "0x0160",
- "T" => "0x0054",
- "U" => "0x0055",
- "Udiaeresis" => "0x00dc",
- "Uhorn" => "0x0000",
- "Ukrainian_I" => "0x0406",
- "Ukrainian_i" => "0x0456",
- "Umacron" => "0x016a",
- "Utilde" => "0x0168",
- "V" => "0x0056",
- "W" => "0x0057",
- "X" => "0x0058",
- "Y" => "0x0059",
- "Z" => "0x005a",
- "a" => "0x0061",
- "abreve" => "0x0103",
- "acircumflex" => "0x00e2",
- "acute" => "0x00b4",
- "adiaeresis" => "0x00e4",
- "ae" => "0x00e6",
- "ampersand" => "0x0026",
- "apostrophe" => "0x0027",
- "approximate" => "0x223c",
- "aring" => "0x00e5",
- "asciicircum" => "0x005e",
- "asciitilde" => "0x007e",
- "asterisk" => "0x002a",
- "at" => "0x0040",
- "b" => "0x0062",
- "backslash" => "0x005c",
- "bar" => "0x007c",
- "braceleft" => "0x007b",
- "braceright" => "0x007d",
- "bracketleft" => "0x005b",
- "bracketright" => "0x005d",
- "c" => "0x0063",
- "ccedilla" => "0x00e7",
- "colon" => "0x003a",
- "combining_acute" => "0x0000",
- "combining_belowdot" => "0x0000",
- "combining_grave" => "0x0000",
- "combining_hook" => "0x0000",
- "combining_tilde" => "0x0000",
- "comma" => "0x002c",
- "d" => "0x0064",
- "diaeresis" => "0x00a8",
- "dollar" => "0x0024",
- "e" => "0x0065",
- "ecircumflex" => "0x00ea",
- "emacron" => "0x0113",
- "equal" => "0x003d",
- "exclam" => "0x0021",
- "f" => "0x0066",
- "g" => "0x0067",
- "grave" => "0x0060",
- "greater" => "0x003e",
- "greaterthanequal" => "0x2265",
- "h" => "0x0068",
- "hebrew_aleph" => "0x05d0",
- "hebrew_bet" => "0x05d1",
- "hebrew_beth" => "0x05d1",
- "hebrew_dalet" => "0x05d3",
- "hebrew_daleth" => "0x05d3",
- "hebrew_finalkaph" => "0x05da",
- "hebrew_finalpe" => "0x05e3",
- "hebrew_gimel" => "0x05d2",
- "hebrew_gimmel" => "0x05d2",
- "hebrew_he" => "0x05d4",
- "hebrew_kaph" => "0x05db",
- "hebrew_kuf" => "0x05e7",
- "hebrew_lamed" => "0x05dc",
- "hebrew_mem" => "0x05de",
- "hebrew_nun" => "0x05e0",
- "hebrew_pe" => "0x05e4",
- "hebrew_qoph" => "0x05e7",
- "hebrew_resh" => "0x05e8",
- "hebrew_samech" => "0x05e1",
- "hebrew_samekh" => "0x05e1",
- "hebrew_shin" => "0x05e9",
- "hebrew_taf" => "0x05ea",
- "hebrew_taw" => "0x05ea",
- "hebrew_tet" => "0x05d8",
- "hebrew_teth" => "0x05d8",
- "hebrew_waw" => "0x05d5",
- "hebrew_yod" => "0x05d9",
- "hebrew_zade" => "0x05e6",
- "hebrew_zadi" => "0x05e6",
- "hebrew_zain" => "0x05d6",
- "hebrew_zayin" => "0x05d6",
- "i" => "0x0069",
- "identical" => "0x2261",
- "idiaeresis" => "0x00ef",
- "includedin" => "0x2282",
- "includes" => "0x2283",
- "j" => "0x006a",
- "k" => "0x006b",
- "kana_A" => "0x30a2",
- "kana_CHI" => "0x30c1",
- "kana_E" => "0x30a8",
- "kana_FU" => "0x30d5",
- "kana_HA" => "0x30cf",
- "kana_HE" => "0x30d8",
- "kana_HI" => "0x30d2",
- "kana_HO" => "0x30db",
- "kana_I" => "0x30a4",
- "kana_KA" => "0x30ab",
- "kana_KE" => "0x30b1",
- "kana_KI" => "0x30ad",
- "kana_KO" => "0x30b3",
- "kana_KU" => "0x30af",
- "kana_MA" => "0x30de",
- "kana_ME" => "0x30e1",
- "kana_MI" => "0x30df",
- "kana_MO" => "0x30e2",
- "kana_MU" => "0x30e0",
- "kana_NA" => "0x30ca",
- "kana_NE" => "0x30cd",
- "kana_NI" => "0x30cb",
- "kana_NO" => "0x30ce",
- "kana_NU" => "0x30cc",
- "kana_O" => "0x30aa",
- "kana_RA" => "0x30e9",
- "kana_RE" => "0x30ec",
- "kana_RI" => "0x30ea",
- "kana_RO" => "0x30ed",
- "kana_RU" => "0x30eb",
- "kana_SA" => "0x30b5",
- "kana_SE" => "0x30bb",
- "kana_SHI" => "0x30b7",
- "kana_SO" => "0x30bd",
- "kana_SU" => "0x30b9",
- "kana_TA" => "0x30bf",
- "kana_TE" => "0x30c6",
- "kana_TO" => "0x30c8",
- "kana_TSU" => "0x30c4",
- "kana_U" => "0x30a6",
- "kana_WA" => "0x30ef",
- "kana_WO" => "0x30f2",
- "kana_YA" => "0x30e4",
- "kana_YO" => "0x30e8",
- "kana_YU" => "0x30e6",
- "l" => "0x006c",
- "leftarrow" => "0x2190",
- "leftcaret" => "0x003c",
- "leftshoe" => "0x2282",
- "less" => "0x003c",
- "lessthanequal" => "0x2264",
- "m" => "0x006d",
- "macron" => "0x00af",
- "minus" => "0x002d",
- "n" => "0x006e",
- "numbersign" => "0x0023",
- "o" => "0x006f",
- "ocircumflex" => "0x00f4",
- "odiaeresis" => "0x00f6",
- "ohorn" => "0x0000",
- "omacron" => "0x014d",
- "oslash" => "0x00f8",
- "otilde" => "0x00f5",
- "p" => "0x0070",
- "parenleft" => "0x0028",
- "parenright" => "0x0029",
- "percent" => "0x0025",
- "period" => "0x002e",
- "plus" => "0x002b",
- "q" => "0x0071",
- "question" => "0x003f",
- "quotedbl" => "0x0022",
- "r" => "0x0072",
- "rightarrow" => "0x2192",
- "rightcaret" => "0x003e",
- "rightshoe" => "0x2283",
- "righttack" => "0x22a3",
- "s" => "0x0073",
- "sacute" => "0x015b",
- "scaron" => "0x0161",
- "semicolon" => "0x003b",
- "slash" => "0x002f",
- "space" => "0x0020",
- "t" => "0x0074",
- "u" => "0x0075",
- "udiaeresis" => "0x00fc",
- "uhorn" => "0x0000",
- "umacron" => "0x016b",
- "underbar" => "0x005f",
- "underscore" => "0x005f",
- "utilde" => "0x0169",
- "v" => "0x0076",
- "w" => "0x0077",
- "x" => "0x0078",
- "y" => "0x0079",
- "z" => "0x007a",
-}
-
-readlines.collect {
- |line|
-
- broken = ""
- seq = ["0", "0", "0", "0", "0", "0"]
- index = 0
- rhs = "0x0000"
- comment = ""
-
- case line
- when /^(#|XCOMM)(.*)$/
- comment = "// #{$2}\n"
- rhs = :isCommentLine
- when /^$/
- comment = "\n"
- rhs = :isCommentLine
- else
- line.scan(/<([^>]+)>/) {
- |args|
- keysym = args[0]
- unit = x2q[keysym] || keysym.sub(/^U([\da-fA-F]{4,5})$/, "0x\\1")
- if (/^(0x(0000|[\da-fA-F]{5,})|dead_space)$/ =~ unit)
- broken = "// /* broken */"
- end
- seq[index] = unit
- index += 1
- }
-
- Regexp.new(':\s+"(.+)"\s+(.+)$', nil, 'u') =~ line
- rhs = Uconv::u8tou16($1).unpack('v')[0]
- rhs = format("0x%04x", rhs)
- comment = $2
- end
-
- entry = {
- :broken => broken,
- :seq => seq,
- :rhs => rhs,
- :comment => comment
- }
-}.sort {
- |entry_a, entry_b|
-
- entry_a[:seq] <=> entry_b[:seq]
-}.each {
- |entry|
-
- broken, seq, rhs, comment = entry.values_at(:broken, :seq, :rhs, :comment)
- if (rhs == :isCommentLine)
- print comment
- else
- seq = seq.collect {
- |unit|
- raw2key[unit] || unit
- }
- print "#{broken} { {#{seq.join(", ")}}, #{rhs} }, // #{comment}\n"
- end
-}