commit 2be3e0cf2d90945df906865673bed0906a9b5755
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 30 14:15:10 2014 +0200

    Release v1.9.1

commit 616c93016c916d05555ad029768addfc12dbf548
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 30 12:38:18 2014 +0200

    Use proper fallback when reading the localized table name
    
    Try language and region (“xx_YY”) first, then only language (“xx”).
    Without this patch,
    
        NAME.ru = устаревшая
    
    would be ignored, only
    
        NAME.ru_RU = устаревшая
    
    would be used.

commit 79bccdc39c6e233ea5081d011ef102bf2d7ef9ce
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Sep 17 10:21:39 2014 +0200

    Show pinyin mode as well in the input mode indicator

commit 16e700192695fd75b392939abb34faccf1322639
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 16 09:57:26 2014 +0200

    Release v1.9.0

commit cf541b98b8a2fdb829efcbcd99701fa2e3130c16
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 9 09:24:31 2014 +0200

    Add a Japanese translation file
    
    I did not translate many messages, I mostly want that file
    because I run my desktop in Japanese and want to see whether
    the translation system is working correctly or not.

commit 406685f717f76683dac68c54d7277a5dadd5558c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 16 08:26:18 2014 +0200

    Update Chinese .po files

commit 741ab21b5a677604d4e47b3d03cd6345a2f78795
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 16 08:23:51 2014 +0200

    Update German translations

commit 461ed20a4fec27b3603cc29323c2be36ce7fdf7d
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Sep 8 14:14:58 2014 +0200

    Redesign the property menus, use sub-menus instead of toggles
    
    The toogles are very confusing, one cannot easily see to which
    mode one will switch when a toggle is clicked. When the floating panel
    is shown, tooltips explain to which mode will switch. But the floating
    panel is never shown in Gnome3, so this does not help for Gnome3.
    
    User feedback also shows that many users are confused whether the
    currently visible menu entry in case of a toggles shows the state
    which is currently used or the state one will switch to when that
    toggle is clicked.
    
    For toggles which have more than 2 values, for example the Chinese mode:
    
        0 means to show simplified Chinese only
        1 means to show traditional Chinese only
        2 means to show all characters but show simplified Chinese first
        3 means to show all characters but show traditional Chinese first
        4 means to show all characters
    
    it is tedious to change from mode 0 to mode 4 for example:
    
       Open the menu, click on the toggle, menu closes and one has
       changed to mode 1. Repeat 3 more times to get to mode 4.
    
    The new system to use sub-menus instead of toogles also agrees better
    with:
    
    https://wiki.gnome.org/AllanDay/IMEGuidelines
    
    > Avoid mutable menu items (menu items whose label changes after it has
    > been selected). Instead, consider providing two adjacent menu items
    > for the commands. Then make the items sensitive or insensitive as the
    > situation demands.
    >
    > Do not use mutable menu items to toggle a two-state setting (for
    > example, Show and Hide). Use a check box or radio buttons instead.
    
    Also included in this commit:
    
    - reset() not needed when switching Chinese mode

commit 55b7b3b0c490397cd74610052345963f4f9ae982
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun Sep 14 13:32:16 2014 +0200

    Release v1.8.11

commit 6bfad0054a7d8fea292557984a985d57f68bc74f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 9 20:34:21 2014 +0200

    Fix typo in variable name self_onechar -> self._onechar
    
    This typo caused a Python backtrace when the dconf key
    
        /desktop/ibus/engine/table/wubi-jidian86/onechar
    
    was not set.

commit 5bc44b0b45dfdfa5b0653625f37cd75e2533d927
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 9 08:47:06 2014 +0200

    Fix typo in e-mail address

commit 2a0b323d0c052794964f8473c23a399a6743bfc4
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Sep 4 16:07:38 2014 +0200

    Release v1.8.10

commit 2e30813032fe46c6df690a2ba68b38bf1dd3e68c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Sep 2 10:38:07 2014 +0200

    Disable “onechar” (Phrase mode/Single char mode) option for non-CJK databases
    
    This option is only useful for Chinese. Some Chinese tables, for
    example wubi-jidian86 contain not only single Chinese characters but
    also longer phrases. When one wants to input a certain single
    character, longer phrases showing up as matches as well may make it
    more difficult to find the desired single character in the candidate
    list. I.e. to input single characters it may be sometimes useful to
    switch to single character mode. For non-Chinese tables, such a single
    character mode is useless.

commit d489802af96db1d5c46cb2295728d475b4a3797f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Sep 1 16:50:28 2014 +0200

    Disable hotkey to switch Chinese mode if database is not Chinese

commit bbf7d0f3fcb73cb5ec777cb9fee30991fe3fcd53
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Sep 1 16:29:41 2014 +0200

    Disable auto_commit option for tables which do not have RULES
    
    Resolves: rhbz#1135759 - The rusle is broken with "Normal commit mode"
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1135759
    
    If a table does not have USER_CAN_DEFINE_PHRASE=TRUE and a non-empty
    RULES, it makes no sense to use “commit to preedit” for that table.
    Therefore, for such tables, auto_commit should always be True
    (= “Direct commit mode”) and never False (= “Normal commit mode”).
    These tables have AUTO_COMMIT = TRUE in their source and this should
    never be changed by the user.
    
    “Normal commit mode”, i.e. committing to preedit makes sense only
    for tables like wubi-jidian86, wubi-haifeng86, and erbi-qs because
    only these 3 tables currently have RULES and USER_CAN_DEFINE_PHRASE=TRUE.
    For such tables, committing to preedit is used to define new
    user shortcuts semi-automatically.

commit 3663711986a93b112a2f537b0c485620fc756106
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Aug 26 13:39:23 2014 +0200

    Release v1.8.9

commit e43591313e619990c87dbfed91de25f1d34ab659
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sat Aug 23 14:18:43 2014 +0200

    Pass IBus.KEY_KP_Enter to the application if the preedit is empty
    
    Resolves: rhbz#1133424 - With the new "rusle" table in ibus-table-cyrillic, Keypad Enter problem
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1133424
    
    If IBus.KEY_KP_Enter is typed:
    
    • if the preëdit is empty, we should always pass the key to the
      application. *Not* commit an empty string plus os.linesep because
      that behaves differently in some cases.  For example when typing a
      message in Pidgin it would insert a linefeed into the message
      instead of sending the message.
    
    • if the preëdit is not empty:
      - when auto_select is true (typical for Russian input methods
        like “rusle” or “translit”), the pending preëdit should be committed
        and the IBus.KEY_KP_Enter key passed to the application.
        For example, when typing “C” with translit, the preëdit contains
        Ц because it is still possible that a “h” is typed next:
    
            C	Ц	1000
            Ch	Ч	1000
            CH	Ч	1000
    
        When IBus.KEY_KP_Enter is typed in this state, the Ц should
        be committed and the IBus.KEY_KP_Enter should be passed to the
        application. With the old code, typing “C” followed by
        IBus.KEY_KP_Enter inserted a Ц and a linefeed in Pidgin instead
        of sending the message ending with Ц.
      - when auto_select is false (typical for Chinese input methods),
        the typed tabkeys should be committed (not the Chinese characters
        in the preëdit) and IBus.KEY_KP_Enter should not be passed
        to the application.

commit 48c2b7e9ac1a109b7b1cb77bc665f2a19b6fcbd4
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Aug 22 21:12:04 2014 +0200

    Ignore Shift+Space hotkey to switch fullwidth/halfwidth if the database is not for CJK
    
    Resolves: rhbz#1133422 - With the new "rusle" table in ibus-table-cyrillic, Shift-Space does not work
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1133422

commit 354acbd306780015d4e64219ca5fb6989f991016
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Aug 26 13:53:35 2014 +0200

    Update Chinese .po files

commit eb64958cbd55f6ce8288987900ccfd9dfd8c3bea
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Aug 26 13:53:11 2014 +0200

    Update German translations

commit b9824969683c77278edbc45c9472092b96bf4b58
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sat Aug 9 17:47:36 2014 +0200

    Move some options into a new tab “Details”

commit c4842088ddf21aee02cef5808f3086a854c3ac39
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Aug 14 15:25:23 2014 +0200

    Release v1.8.8

commit 72b75c5d32a9491b06f68d21ed08468d27416717
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Aug 14 14:37:59 2014 +0200

    Disable properties related to fullwidth/halfwidth for non-CJK tables
    
    Resolves: rhbz#1128912  - With the new "rusle" table in ibus-table-cyrillic, typing space works strangely
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1128912

commit 1fb4bffb7cb02962cc2453337a50445e06a236a5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Aug 13 20:51:09 2014 +0200

    If the database is not CJK, set sensitivity to comboboxes useful only for CJK to OFF

commit 074a43e79475135e10ef0096498e48af512b339e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Aug 13 15:07:23 2014 +0200

    Remove “Hide Candidates/Display Candidates” from the properties menu
    
    This is almost never changed while using ibus-table, either one
    keeps it always on or always off.
    
    It is changeable in the setup tool, that should be enough.  Stuff
    which is used so rarely unnecessarily clutters the properties menu.

commit c9895416e0ecef53c42f4af30c3b2a38eaa1b889
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Aug 12 19:55:24 2014 +0200

    Show keyboard shortcuts also in the property menu entries
    
    To make them easier to discover. They are shown in the tooltips
    of the floating panel already, but Gnome3 does not have the floating
    panel. Therefore the keyboard shortcuts are not easy to discover
    when using Gnome3.
    
    See also https://bugzilla.redhat.com/show_bug.cgi?id=1128912

commit b8b0d2bcb9b21fc2a92a97758054aca7da16313c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Aug 11 19:00:23 2014 +0200

    Release v1.8.7

commit 67faf246f7137cd901a042cf47f7a016ebf63f98
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Aug 11 18:40:33 2014 +0200

    Use the “notify::text” signal instead of “activate” on GtkEntry widget
    
    To make it possible that any change of text in the GtkEntry widgets
    is applied immediately. The “activate” signal is only emitted
    when Enter/Return is typed, the “notify::text” signal is emitted
    on any sort of change in the text.

commit e7a014318ba45239dc8f4b9409594d6e39c0c0bd
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Aug 4 10:06:04 2014 +0200

    Update Chinese .po files

commit 7ded13e317f22cf0c97a2ee48819769c0d9024e9
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Aug 4 10:04:50 2014 +0200

    Update German translation

commit 64984f048d2dd578318769ee543265ee74b82947
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Aug 1 09:41:24 2014 +0200

    Move the “Restore all defaults” button into the GtkButtonBox at bottom
    
    - Makes the dialog a little bit less tall (helps for small screens)
    - I want to add another tab for detailed settings, the “Restore all defaults”
      button restores the defaults for all options in all tabs, therefore it
      should not be part of a tab.

commit 7a2d96a990f812cd62df2cd80abc29a1d78d9cf1
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Aug 1 09:11:40 2014 +0200

    Fix typo in comment

commit 85c59eb98465295dba2323aaec131bc5db3f9220
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jul 30 09:44:01 2014 +0200

    Apply fix for 同 again to Unihan_Variants.txt, it is both simplified *and* traditional Chinese
    
    This fix is not yet included in Unicode 7.0.0. It will be included
    in a future version though.

commit edfa725889c6d68dce4eb41408976b83eed21430
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jul 30 09:39:55 2014 +0200

    Update Unihan_Variants.txt from “2013-02-25 Unicode 6.3.0” to “2014-05-09 Unicode 7.0.0”
    
    And regenerate engine/chinese_variants.py.
    
    New lines in Unihan_Variants.txt which are relevant for simplified and
    traditional detection:
    
    > U+9FC1	kSimplifiedVariant	U+4724
    > U+4724	kTraditionalVariant	U+9FC1
    
    U+4724 = 䜤 U+9FC1 = 鿁

commit 558aa047be78df18e85e2b58409a9a8f97d46d4f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jul 28 21:08:40 2014 +0200

    Release v1.8.6

commit 275d514e388afedce1a6c74525f671e6f287b3aa
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jul 28 21:04:21 2014 +0200

    Escape % and _ if they are not intended as wildcards
    
    Resolves: rhbz#1123981 - With the new "rusle" table in ibus-table-cyrillic, typing '%' shows ':' in preëdit instead of committing it directly
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1123981

commit fb4969c2f4ec9e5413322415ebe4b8c109dfe9c4
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Jul 22 16:41:16 2014 +0200

    Require Python >= 3.3
    
    When porting to Python3, I originally kept it working with Python2 as
    well. But I didn’t test with Python2 for a while and the current code
    would not work anymore with Python2.  It doesn’t seem to make sense
    to invest effort to keep Python2 compatibility. Better require Python >= 3.3.

commit fe79787880f451815efc86b7b9f7c35d6da27782
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jul 21 15:38:17 2014 +0200

    Release v1.8.5

commit 5a50f3e0e34ae61108cbf886bea2b7bbadc593fb
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jul 21 15:23:44 2014 +0200

    Always write xml output in UTF-8 encoding, not in the encoding of the current locale
    
    Resolves: rhbz#1120919 - abrt] ibus-table: main.py:268:main:UnicodeEncodeError: 'ascii' codec can't encode characters in position 1150-1152: ordinal not in range(128)
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1120919

commit 076063a362953a9fa75d72c97191c6651c0afabd
Author: Caius "kaio" Chance <caius.chance@gmail.com>
Date:   Mon Jul 7 16:37:19 2014 +1000

    - Release v1.8.4

commit a87efc9f072114c47d9260cd779f923e5fca3c38
Merge: cd83314 e21444f
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Mon Jul 7 16:36:07 2014 +1000

    Merge pull request #43 from mike-fabian/tweak-defaults-for-chinese-mode-taken-from-locale
    
    Tweak defaults for Chinese mode taken from the locale

commit e21444f8ea90661f387ce2e9fb15d1d799162b06
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun Jul 6 07:32:52 2014 +0200

    For cangjie* and quick* tables: Use big5 order if the freq from the table is the same
    
    In the cangjie5.txt table, all the frequency weights are 1000, for example:
    
        su	己	1000
        su	已	1000
        su		1000
        su	㔾	1000
    
    Currently, the Unicode code point is used as a last ditch fallback if
    all the other sort keys are the same (sort keys are: exact match, user
    frequency, Chinese variant, system frequency, length of input
    sequence, input sequence alphabetical, Unicode code point).
    
    In case of the above characters matching “su”, the Unicode code
    points and Big5 code points:
    
        㔾 U+353E Big5 -    Big5HKSCS 8BC8
        己 U+5DF1 Big5 A476 Big5HKSCS A476
        已 U+5DF2 Big5 A477 Big5HKSCS A477
         U+E81D Big5 -    Big5HKSCS -
    
    Sorting via the Unicode code points gives:
    
        尸山 (1/9)
        1. 㔾
        2. 己
        3. 已
        4. 
        ...
    
    And sorting first via the Big5 code points and then via the Unicode
    code points for characters which do not have a Big5 code point gives:
    
        尸山 (1/9)
        1. 己
        2. 已
        3. 㔾
        4. 
        ...
    
    This order seems to make more sense for Cangjie because:
    
    • https://en.wikipedia.org/wiki/Big5:
      “The original Big5 character set is sorted first by usage frequency,
      second by stroke count, lastly by Kangxi radical.”
    • some other popular operating system also uses Big5 order for Cangjie
    
    Therefore, for the cangjie* and quick* tables, this commit introduces
    another sort key sorting according to the Big5 code point just before
    sorting the final sort key using the Unicode code point.
    
    As the frequency data in the tables (which is currently always 1000
    for cangjie5.txt, cangjie3.txt, and cangjie-big.txt) has higher priority,
    one could still tweak the frequency data in the table if the order is
    still not perfect for some characters. But it looks like Big5 order
    is quite reasonable.

commit db062f794099e2c57d977c212418ef5506f78e24
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Jul 4 15:15:26 2014 +0200

    Make it possible to use select keys like F1, F2, F3 ...
    
    Select keys like F1, F2, F3, ... are necessary for the ipa-x-sampa
    table which has:
    
    VALID_INPUT_CHARS == +!\%&'-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~"
    
    Therefore, using 1, 2, 3, ... as the select keys for ipa-x-sampa
    is bad because it makes it impossible to input the following
    entries of the ipa-x-sampa table:
    
        1	ɨ	0	### U+0268 LATIN SMALL LETTER I WITH STROKE
        2	ø	0	### U+00F8 LATIN SMALL LETTER O WITH STROKE
        3	ɜ	0	### U+025C LATIN SMALL LETTER REVERSED OPEN E
        3\	ɞ	0	### U+025E LATIN SMALL LETTER CLOSED REVERSED OPEN E
        4	ɾ	0	### U+027E LATIN SMALL LETTER R WITH FISHHOOK
        5	ɫ	0	### U+026B LATIN SMALL LETTER L WITH MIDDLE TILDE
        6	ɐ	0	### U+0250 LATIN SMALL LETTER TURNED A
        7	ɤ	0	### U+0264 LATIN SMALL LETTER RAMS HORN
        8	ɵ	0	### U+0275 LATIN SMALL LETTER BARRED O
        9	œ	0	### U+0153 LATIN SMALL LIGATURE OE
    
        _0	̥	0	### U+0325 COMBINING RING BELOW
        _1	₁	0	### U+2081 SUBSCRIPT ONE
        _2	₂	0	### U+2082 SUBSCRIPT TWO
        _3	₃	0	### U+2083 SUBSCRIPT THREE
        _4	₄	0	### U+2084 SUBSCRIPT FOUR
        _5	₅	0	### U+2085 SUBSCRIPT FIVE
        _6	₆	0	### U+2086 SUBSCRIPT SIX
    
    Also, use the key codes of the select keys instead of the names of the
    select keys in the key even processing. One could of course keep
    using the names and still make using select keys like F1, F2, F3, ...
    possible. But other similar key lists like self._commit_keys,
    self._page_up_keys, and self._page_down_keys use key codes, it seems
    nicer make all these similar key lists use the same data types.

commit 04accb2a5f7cf688d8455cadc18f28a8c4d0a2e6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Jul 3 11:57:08 2014 +0200

    Update NEWS file for ibus-table 1.8.x

commit adb107ef2273acc2257226ac0c87ba8d915de421
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jul 2 17:26:52 2014 +0200

    Fix prompts for array30 table and don’t use prompts in pinyin mode
    
    The array 30 table has prompts which are longer than one character.
    Like this:
    
    BEGIN_CHAR_PROMPTS_DEFINITION
    q 1^
    w 2^
    e 3^
    ...
    m 7v
    , 8v
    . 9v
    / 0v
    END_CHAR_PROMPTS_DEFINITION
    
    This did not work with my old code.
    
    Also, do not use the prompts in pinyin mode. This commit
    
        commit c9f6a2bfe833da6f6a3d67546a89e0cefd886d83
        Author: Mike FABIAN <mfabian@redhat.com>
        Date:   Wed Jun 4 12:45:19 2014 +0200
    
    	Don’t show the prompt characters defined in the table in pinyin mode in the auxiliary text
    
    already avoided using the prompts in pinyin mode in the auxiliary text.
    But prompt characters may also appear in the candidate list to show
    which characters are needed to complete a candidate (“remaining_tabkeys”)
    and also in the preëdit when no candidate can be found for the typed
    characters.  Fix this for pinyin mode for these cases as well.

commit 4adcd6fe8be21892b856f20948314e9c5ea08cb5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Jul 1 18:28:44 2014 +0200

    Tweak defaults for Chinese mode taken from the locale
    
    - detect also the locale zh_SG as simplified Chinese
    - if the Chinese variant is detected from the locale, set the
      Chinese mode to a mode which prefers a variant instead of
      showing that variant only. I.e., if zh_CN or zh_SG is in
      the locale, set the Chinese mode to 2 (“Show simplified Chinese first”)
      instead of 0 (“Show *only* simplified Chinese”).
      If one wants to show only one variant, one can easily change that
      later, but as a default it is better not to hide one variant, this
      seems to confuse some users who have not yet discovered that these
      options exist (see for example: https://code.google.com/p/ibus/issues/detail?id=1492
      and https://code.google.com/p/ibus/issues/detail?id=1670 )
    - if no Chinese locale is set (and the Chinese mode is neither set in
      the table nor in the user settings either), use mode 4 (“Show all Chinese
      characters”) by default. In this case we don’t really know whether
      the table is intended for simplified or for traditional Chinese,
      it makes no sense to just guess simplified Chinese then.

commit cd83314cecc5d78fa5545611a8f5a313dc8d044f
Merge: b570739 cb4233c
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Fri Jun 27 14:46:43 2014 +1000

    Merge pull request #42 from mike-fabian/do-not-add-wildcards-to-string-of-valid-input-chars
    
    Don’t add self._single_wildcard_char and self._multi_wildcard_char to se...

commit cb4233ca63b4838580ce744cbe4048c9b095cf62
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Jun 26 15:37:22 2014 +0200

    Don’t add self._single_wildcard_char and self._multi_wildcard_char to self._valid_input_chars and self._pinyin_valid_input_chars
    
    This is because the wildcard characters can be changed with the setup
    tool at runtime. If they are added to the string of valid input
    characters, the old wildcards would need to be removed from that
    string if the wildcards are changed. But the wildcard character may
    have been in that list already before it was added as a wildcard
    character. In that case, only one instance of the old wildcard
    character should be removed from the string of valid input characters
    if the wildcard character is changed. Replacing the wildcard
    characters in the string of valid input characters when they change
    seems more confusing that not adding them to that string in the first
    place.
    
    Therefore, I do not add the wildcard characters to the string of
    valid input characters anymore, but that means that when checking
    whether a character is a valid input character
    
        if c in self._valid_input_chars:
    
    is not enough anymore, now one needs
    
        if c in self._valid_input_chars + self._single_wildcard_char + self._multi_wildcard_char:
    
    That seems less confusing than adding the wildcard characters to
    self._valid_input_chars and replacing them there when they change.

commit b570739aec426bebd166fb494d41d5f04cccb1aa
Author: Caius "kaio" Chance <caius.chance@gmail.com>
Date:   Wed Jun 25 22:46:53 2014 +1000

    Release v1.8.3.

commit 9dd5bd9c2f08c39143e3eea0ded8d34ce979bbcb
Merge: 7cb2765 80c97fa
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Wed Jun 25 22:23:22 2014 +1000

    Merge pull request #41 from mike-fabian/improve-wildcard-support
    
    Improve wildcard support

commit 80c97fad74ae8be835576be15c5913efed081190
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jun 25 11:03:15 2014 +0200

    Update Chinese .po files
    
    (Only to get the changed strings from the source synced with the .po
    files, I did neither change nor add any translations).

commit 1816bb90295ff0bb44f11f3b85deb3ca5d4484a7
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jun 25 11:02:25 2014 +0200

    Update German translations

commit 95851e5dc6e3491813ac6ea8e3927d608d375a04
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jun 23 18:26:32 2014 +0200

    Make wildchard characters configurable
    
    The options AUTO_WILDCARD, SINGLE_WILDCARD_CHAR, and
    MULTI_WILDCARD_CHAR are now not only configurable in the table sources
    but also in the setup tool and via dconf.
    
    The default for AUTO_WILDCARD if neither specified in the table source
    nor in the setup tool nor in dconf is TRUE, this is best for most
    tables.
    
    The defaults for SINGLE_WILDCARD_CHAR and MULTI_WILDCARD_CHAR
    are the empty strings, this means no wildcards are used.
    
    In some table sources default values for SINGLE_WILDCARD_CHAR and
    MULTI_WILDCARD_CHAR are defined, in most cases these are
    
    SINGLE_WILDCARD_CHAR = ?
    MULTI_WILDCARD_CHAR = *

commit 77a1a5a7a683e463538387684dcc37268aab37e5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jun 23 15:24:47 2014 +0200

    Insert a special candidate for the wildcard character itself if only a wildcard character has been typed
    
    Resolves: rhbz#1110325 - Unable to input question marks in Wubi-jidian
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1110325
    
    The same problem has been also reported here:
    
        https://code.google.com/p/ibus/issues/detail?id=1720
    
    If only a wildcard character has been typed, insert a special
    candidate at the first position for the wildcard character itself. For
    example, if “?” is used as a wildcard character and this is the only
    character typed, add a candidate ('?', '?', 0, 1000000000) in
    halfwidth mode or a candidate ('?', '？', 0, 1000000000) in fullwidth
    mode.  This is needed to make it possible to input the wildcard
    characters themselves, if “?” acted only as a wildcard it would be
    impossible to input a fullwidth question mark.

commit 7cb27653cbabc05d393903c6721e0b1fecd7f19c
Author: Caius "kaio" Chance <caius.chance@gmail.com>
Date:   Mon Jun 9 13:12:00 2014 +1000

    Release v1.8.2.

commit a6f9c22dead6992d15b15cd356d86fbfd14ac629
Merge: b07c6ea e18f708
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Sat Jun 7 23:41:12 2014 +1000

    Merge pull request #40 from mike-fabian/better-sorting-in-the-mixed-chinese-modes
    
    Better sorting in the mixed chinese modes

commit e18f708fd9439e51ee115b578931f624852b53af
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Jun 6 20:43:22 2014 +0200

    Better sorting of the lookup table in the mixed Chinese modes
    
    In the mixed Chinese modes 2 and 3 (simplified Chinese first and
    traditional Chinese first), the filtering for simplified and traditional
    was done as a last step filtering the candidate list already sorted
    using the sort keys:
    
        - exact match?
        - user frequency
        - system frequency
        - length of input sequence
        - alphabetical order of input sequence
        - Unicode code point of first character of matched phrase
    
    But this simplified and traditional filtering is basically just
    another sort key. Doing this after the main sorting of the candidate
    list is inefficient and does not give nice results either. It is
    better to do all of the sorting in one place.
    
    The sort key for the desired Chinese variant (traditional or simplified)
    should have higher priority than the system frequency but lower
    priority than the user frequency. If the user selects a certain variant
    often, it should be preferred in future.
    
    An example for the behaviour after this commit is applied:
    
    wubi-jidian86.txt contains the following matches for 語
    (as a single character):
    
        ygkg	語	204000000
    
    It contains the following matches for 语 (as a single character):
    
        ygk	语	234000000
        ygkg	语	234000000
    
    And the following matches for the input sequence “ygkg”:
    
        ygkg	語	204000000
        ygkg	语	234000000
        ygkg	𢌐	0
        ygkg	𣄟	0
        ygkg	𩐕	0
    
    After this commit, typing “ygkg” gives the following results in the
    lookup table (when all user frequencies are 0. For testing this
    can be achieved by removing the user database):
    
    Chinese mode 0, “simplified Chinese only”:
    ==========================================
    
    ygkg (1/4)
    1. 语 234000000 0
    2. 𢌐 0 0
    3. 𣄟 0 0
    4. 𩐕 0 0
    
    Chinese mode 1, “traditional Chinese only”:
    ===========================================
    
    ygkg (1/4)
    1. 語 204000000 0
    2. 𢌐 0 0
    3. 𣄟 0 0
    4. 𩐕 0 0
    
    Chinese mode 2, “simplified Chinese before traditional”:
    ========================================================
    
    ygkg (1/5)
    1. 语 234000000 0
    2. 𢌐 0 0
    3. 𣄟 0 0
    4. 𩐕 0 0
    5. 語 204000000 0
    
    Chinese mode 3, “traditional Chinese before simplified”:
    ========================================================
    
    ygkg (1/5)
    1. 語 204000000 0
    2. 𢌐 0 0
    3. 𣄟 0 0
    4. 𩐕 0 0
    5. 语 234000000 0
    
    Chinese mode 4, “All Chinese characters”:
    =========================================
    
    ygkg (1/5)
    1. 语 234000000 0
    2. 語 204000000 0
    3. 𢌐 0 0
    4. 𣄟 0 0
    5. 𩐕 0 0

commit b07c6ea38c6e60d82ffb96c0fd9c52103ab5b51b
Merge: 9d94221 9c6840b
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Sat Jun 7 01:48:08 2014 +1000

    Merge pull request #39 from mike-fabian/do-not-create-useless-indexes
    
    Do not create useless indexes

commit 9c6840ba52cd2320f4ceb03f7be99b9ae705b9fe
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Jun 6 10:44:30 2014 +0200

    Do not create useless indexes
    
    Resolves: rhbz#1105465 - Please avoid to create sqlite table index in ibus-table
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1105465
    
    Most of indexes which were created were not helpful at all because
    most queries are done using the SQL “LIKE” operator which does
    not benefit from indexes.
    
    And the SELECT statements which do not use “LIKE” are not doing anything
    where speed is critical. So we could not find a benefit in any
    of the existing indexes. Benchmarking showed no significant difference
    between having the indexes or not having them.
    
    I changed the functions create_indexes() and drop_indexes() to do
    nothing, if we ever find that some index is really useful, we can
    easily add it again.
    
    Not creating the indexes saves a lot of space:
    
    Sizes with indexes:
    
        $ du -h -c /usr/share/ibus-table/tables/*.db
        8.6M	/usr/share/ibus-table/tables/array30-big.db
        3.7M	/usr/share/ibus-table/tables/array30.db
        3.7M	/usr/share/ibus-table/tables/cangjie-big.db
        2.1M	/usr/share/ibus-table/tables/cangjie3.db
        4.7M	/usr/share/ibus-table/tables/cangjie5.db
        572K	/usr/share/ibus-table/tables/cantonese.db
        700K	/usr/share/ibus-table/tables/cantonhk.db
        5.0M	/usr/share/ibus-table/tables/cns11643.db
        64K	/usr/share/ibus-table/tables/compose.db
        7.7M	/usr/share/ibus-table/tables/easy-big.db
        96K	/usr/share/ibus-table/tables/emoji-table.db
        6.6M	/usr/share/ibus-table/tables/erbi-qs.db
        3.0M	/usr/share/ibus-table/tables/erbi.db
        40K	/usr/share/ibus-table/tables/ipa-x-sampa.db
        640K	/usr/share/ibus-table/tables/jyutping.db
        60K	/usr/share/ibus-table/tables/latex.db
        312K	/usr/share/ibus-table/tables/mathwriter-ibus.db
        812K	/usr/share/ibus-table/tables/quick-classic.db
        2.0M	/usr/share/ibus-table/tables/quick3.db
        4.4M	/usr/share/ibus-table/tables/quick5.db
        40K	/usr/share/ibus-table/tables/rustrad.db
        5.0M	/usr/share/ibus-table/tables/scj6.db
        364K	/usr/share/ibus-table/tables/stroke5.db
        40K	/usr/share/ibus-table/tables/thai.db
        40K	/usr/share/ibus-table/tables/translit-ua.db
        40K	/usr/share/ibus-table/tables/translit.db
        40K	/usr/share/ibus-table/tables/viqr.db
        1000K	/usr/share/ibus-table/tables/wu.db
        11M	/usr/share/ibus-table/tables/wubi-haifeng86.db
        12M	/usr/share/ibus-table/tables/wubi-jidian86.db
        40K	/usr/share/ibus-table/tables/yawerty.db
        4.2M	/usr/share/ibus-table/tables/yong.db
        87M	合計
    
    Sizes without indexes:
    
        $ du -h -c /usr/share/ibus-table/tables/*.db
        4.6M	/usr/share/ibus-table/tables/array30-big.db
        2.0M	/usr/share/ibus-table/tables/array30.db
        1.5M	/usr/share/ibus-table/tables/cangjie-big.db
        1020K	/usr/share/ibus-table/tables/cangjie3.db
        2.1M	/usr/share/ibus-table/tables/cangjie5.db
        236K	/usr/share/ibus-table/tables/cantonese.db
        292K	/usr/share/ibus-table/tables/cantonhk.db
        2.1M	/usr/share/ibus-table/tables/cns11643.db
        32K	/usr/share/ibus-table/tables/compose.db
        3.2M	/usr/share/ibus-table/tables/easy-big.db
        48K	/usr/share/ibus-table/tables/emoji-table.db
        3.2M	/usr/share/ibus-table/tables/erbi-qs.db
        1.3M	/usr/share/ibus-table/tables/erbi.db
        24K	/usr/share/ibus-table/tables/ipa-x-sampa.db
        268K	/usr/share/ibus-table/tables/jyutping.db
        36K	/usr/share/ibus-table/tables/latex.db
        152K	/usr/share/ibus-table/tables/mathwriter-ibus.db
        332K	/usr/share/ibus-table/tables/quick-classic.db
        980K	/usr/share/ibus-table/tables/quick3.db
        2.0M	/usr/share/ibus-table/tables/quick5.db
        24K	/usr/share/ibus-table/tables/rustrad.db
        2.2M	/usr/share/ibus-table/tables/scj6.db
        156K	/usr/share/ibus-table/tables/stroke5.db
        24K	/usr/share/ibus-table/tables/thai.db
        24K	/usr/share/ibus-table/tables/translit-ua.db
        24K	/usr/share/ibus-table/tables/translit.db
        24K	/usr/share/ibus-table/tables/viqr.db
        424K	/usr/share/ibus-table/tables/wu.db
        4.8M	/usr/share/ibus-table/tables/wubi-haifeng86.db
        5.7M	/usr/share/ibus-table/tables/wubi-jidian86.db
        24K	/usr/share/ibus-table/tables/yawerty.db
        1.8M	/usr/share/ibus-table/tables/yong.db
        40M	合計

commit 9d942218061379a17972eaf18987e886ba23291b
Author: Caius "kaio" Chance <caius.chance@gmail.com>
Date:   Wed Jun 4 22:28:24 2014 +1000

    Release 1.8.1

commit 21448804bd27a77e9385406b2064d762311624a1
Merge: 8ded23b c9f6a2b
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Wed Jun 4 22:19:34 2014 +1000

    Merge pull request #38 from mike-fabian/add-support-for-wildcards
    
    Add support for wildcards

commit c9f6a2bfe833da6f6a3d67546a89e0cefd886d83
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jun 4 12:45:19 2014 +0200

    Don’t show the prompt characters defined in the table in pinyin mode in the auxiliary text

commit 407d96f5e776f3543590fb2b459410892d64611b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jun 4 12:29:55 2014 +0200

    Add wildcard support also to pinyin mode
    
    The wildcards used are the same as for table mode. I.e. if
    the table defines:
    
        MULTI_WILDCARD_CHAR = *
        SINGLE_WILDCARD_CHAR = ?
    
    the same wildcards are used for pinyin as well.
    
    The AUTO_WILDCARD in the table is ignored for pinyin mode though, it
    is always treated as AUTO_WILDCARD = TRUE for pinyin mode, FALSE
    does not make any sense for pinyin mode.

commit 42b68588fbf8a94892f4767f5a0180d987243d31
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Jun 3 16:43:04 2014 +0200

    Add support for wildcards
    
    The options
    
    AUTO_WILDCARD, MULTI_WILDCARD_CHAR, and SINGLE_WILDCARD_CHAR
    are now read from the table and used.
    
    The defaults are:
    
        AUTO_WILDCARD = TRUE
        MULTI_WILDCARD_CHAR = *
        SINGLE_WILDCARD_CHAR = ?
    
    Now one can use wildcards as in the following example for cangjie5:
    “cangjie5.txt” contains:
    
        sqsf	馬	1000
    
    Now typing something like “s*f” or “s?sf” will match 馬.
    
    If AUTO_WILDCARD = TRUE, a multi wildcard character will always
    be appended to the user input, for example typing “s” will
    match like “s*”. Until now, ibus-table was always working like that.
    Now it is possible to set AUTO_WILDCARD = FALSE to avoid that
    automatic final wildcard and get only exact matches. This is
    very rarely useful though, take care with that option, in most
    cases this should be TRUE!

commit 8ded23bf3744468f6bf2867912c350e042a2e6dc
Merge: 834b1db 58ab974
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Tue Jun 3 16:57:15 2014 +1000

    Merge pull request #37 from mike-fabian/adapt-ibus-table-query-to-the-new-database-format
    
    Adapt ibus table query to the new database format

commit 58ab974582df90cee45579cf3419034be07ccdb1
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jun 2 22:29:02 2014 +0200

    Adapt tools/ibus-table-query to work with the new database format

commit 834b1db8b481cd82d647f00758c45f7bf95940fd
Author: Caius "kaio" Chance <caius.chance@gmail.com>
Date:   Mon Jun 2 22:34:24 2014 +1000

    Update version number and authors contacts.

commit 78564ac272fa3aca313d383a39073fcfa78375c7
Author: Caius "kaio" Chance <caius.chance@gmail.com>
Date:   Mon Jun 2 22:19:05 2014 +1000

    Revert "Merge branch 'master' into 1.7"
    
    This reverts commit 109872fdb45dc625906e0039efc0897dd9c64ca5, reversing
    changes made to 3d8ec4f62c77fd67882ea32075777b9d01c55864.

commit 109872fdb45dc625906e0039efc0897dd9c64ca5
Merge: 3d8ec4f a414433
Author: Caius "kaio" Chance <caius.chance@gmail.com>
Date:   Sun Jun 1 22:49:58 2014 +1000

    Merge branch 'master' into 1.7
    
    Conflicts:
    	engine/main.py
    	engine/tabsqlitedb.py

commit 3d8ec4f62c77fd67882ea32075777b9d01c55864
Merge: 7600acb 063a61a
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Fri May 30 08:46:49 2014 +1000

    Merge pull request #36 from mike-fabian/use-unicode-code-point-as-a-last-sort-key
    
    Use Unicode code point as a last sort key

commit 7600acb8dd81dfe703f3637646e9ed2518dd33b2
Merge: 217b8c5 39e44a2
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Fri May 30 08:46:09 2014 +1000

    Merge pull request #35 from mike-fabian/exact-matches-at-the-top-and-support-prompts-for-cangjie
    
    Exact matches at the top and support prompts for cangjie

commit 063a61ae9923de14ce880a1a444af81cff22e00e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 28 18:38:31 2014 +0200

    Add the Unicode code point of the first character of the phrase as a last ditch sort key for the candidates
    
    In some cases, where there are several matches for *exactly* the same
    input sequences *and* the system frequencies are also the same
    for example
    
        bmr	同	1000
        bmr	𦚈	1000
    
    in cangjie5.txt, instead of getting the order randomly, use the
    Unicode code point as a last ditch sort key. Some defined order is
    better than random. On top of that, this puts characters with code
    points above the BMP *after* characters with code points in the
    BMP. Usually this is the right thing to do because the characters from
    the BMP are usually more common. Should this not be the case and the
    character above the BMP really is the more common one, the system
    frequency should be added to reflect this.
    
    This does not always help: In cangjie5.txt there are also cases where
    *exactly* the same input sequences matches different characters which
    are all in the BMP, for example:
    
        bmso	豚	1000
        bmso	冢	1000
        bmso	䐁	1000
    
        dhe	皮	1000
        dhe	板	1000
    
    But sorting the characters in the BMP to the top if all other sort
    keys are the same is better than nothing.

commit 9598e12ef26407edad1241921eb7750b561d9d2e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 28 18:18:58 2014 +0200

    Fix bug in Unihan_Variants.txt, 同 is both simplified *and* traditional Chinese

commit 0d929b3aaaa486383857fd3a1fb085c1b4bd6d67
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 28 18:16:28 2014 +0200

    Add a test case to make sure 同 is detected as both simplified *and* traditional Chinese

commit 93e4781d91e94be3327bf2dae4be4b8859e41bff
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 28 18:01:29 2014 +0200

    Update Unihan_Variants.txt from “2011-08-08 Unicode 6.1.0” to “2013-02-25 Unicode 6.3.0”
    
    And regenerate engine/chinese_variants.py.

commit cce4212c91a69d76d4dc2af7f4b54e1134fe94c0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 28 17:52:55 2014 +0200

    Add __pycache__/ to tools/.gitignore

commit 39e44a2e2a98de1546f6ad30453f11ae6d7bcd63
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 22 17:50:42 2014 +0200

    Support prompt characters
    
    Some tables, e.g. cangjie5.txt contain prompt character definitions:
    
    BEGIN_CHAR_PROMPTS_DEFINITION
    a 日
    b 月
    c 金
    ...
    
    Read these when creating a database and save it to the database.
    
    When typing, show these prompts instead of showing the typed Latin
    characters in the auxiliary text, the preëdit, or in the candidate
    list for the remaining keys to type to complete a match.

commit 0351a5bb44ba9ab19425fdd783fda67c7d2bbc4e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 23 17:13:46 2014 +0200

    Don’t create an “ikeys” table
    
    The “ikeys” table created in tabsqlitedb.py is apparently never
    used anywhere.

commit f795793bdaa28d06787c334b2acf7e9ad6223501
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 23 00:35:28 2014 +0200

    Put exact matches always at the top of the candidate list
    
    Change the filtering in Chinese mode 2 (All characters with simplified
    Chinese first) and Chinese mode 3 (All characters with traditional
    Chinese first) to keep that property of the candidate list.  I.e.
    keep the exact matches on top and the completion matches below and do
    the Chinese filtering for mode 2 and 3 separately for the exact
    matches and the completion matches.
    
    Sees also https://bugzilla.redhat.com/show_bug.cgi?id=1050753#c2
    
    Bo-Yin Yang> 1. Any character which has that precise key sequence as
    Bo-Yin Yang> the encoding must be listed ahead of any other
    Bo-Yin Yang> character. That is, if 同 and U+26688 are the two (and
    Bo-Yin Yang> the only two) Chinese characters whose encodings are
    Bo-Yin Yang> "bmr", then input of bmr must list 同 and U+26688 as the
    Bo-Yin Yang> first two characters in the preedit window for choice of
    Bo-Yin Yang> characters, no matter how unlikely to appear 同 and might
    Bo-Yin Yang> be deemed by the data table.  That the encoding matches
    Bo-Yin Yang> the input sequence must outweigh any other factor in the
    Bo-Yin Yang> AI.

commit 409a8d96c2d0a7ec0f902ae25e8c55d829387af8
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 23 00:04:10 2014 +0200

    Don’t try to call filter_candidates() if it is not necessary

commit 60bc283ee7065542f0ac865dc9604d6bf1c4369e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 23 00:02:17 2014 +0200

    Fix typo in the filtering for chinese mode 3 (All characters with traditional Chinese first)

commit 217b8c5055cd51deb4fb139d2e39239ae9be852f
Merge: 081f61e 2392853
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Thu May 22 17:50:24 2014 +1000

    Merge pull request #34 from mike-fabian/remove-tabdict-and-other-improvements-and-bugfixes
    
    Remove tabdict and other improvements and bugfixes

commit 23928535f74e5a5f22ec5d97cf887ff89ac6e53b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 10:20:40 2014 +0200

    Update Chinese .po files
    
    (Only to get the changed strings from the source synced with the .po
    files, I did neither change nor add any translations).

commit 7d8c023d2ce029c381259b4ccff88dfdaf027161
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 08:55:43 2014 +0200

    Update German translation

commit e55172224a6e44211c32db25e883f23ef9f067a5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 20 20:34:15 2014 +0200

    Add a “setup” property
    
    Apparently that was planned already, there was a comment which
    said “Need implementation”.
    
    I also think it is a good idea, especially under Gnome3 the setup for
    the input methods is quite difficult to reach, one has to start the
    “gnome-control-centre” first, then go to the “region” part, then
    to the input method, then click on the cogwheel icon. That is quite
    inconvenient if the setup is used regularly.
    
    If one wanted to reduce the number of entries in the properties, I
    think it would be better to remove other properties which are probably
    not used all the time and are available in the setup anyway.  I guess
    the properties “Phrase mode/Single character mode”, “Direct commit
    mode/Normal commit mode” and “Display candidates/Hide candidates”
    are probably very rarely used and it might be good enough if they are
    accessible only in the setup tool.

commit cec4f3f5f75b1846349eb5a81b81560911a1a177
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 20 10:33:17 2014 +0200

    Do not check whether the name in “NAME = ...” is a valid gconf key
    
    It is not used as a gconf key anyway. We use the basename of the table
    file as the gconf key, i.e. for
    
        /usr/share/ibus-table/tables/wubi-jidian86.db
    
    the gconf key is “wubi-jidian86”. The gconf key should be more or
    less constant, it should not change often. If it changes during an
    update, the old user settings may be lost.
    
       NAME =
    
    in the table source is more suitable for display to the user,
    here one can write a nice, user readable string.
    
    In the lastest master of ibus-table-chinese, wubi-jidian86.txt contains:
    
        NAME = WuBi-Jidian (JiShuag) 86
        NAME.zh_CN = 极点五笔（极爽字库）86
        NAME.zh_TW = 極點五筆（極爽字庫）86
        NAME.zh_HK = 極點五筆（極爽字庫）86
    
    which made tabcreatedb.py fail because it checked whether
    NAME is a valid gconf key. But we do not need that check.

commit c5ec35f96c176f99a3d54d1acaf72534993ce968
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 20 06:35:22 2014 +0200

    Remove unused variable

commit 55ccd674daaffb2e394748fdea0aa6daad29f0b7
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 19 20:59:59 2014 +0200

    Add option to the setup tool to show or hide the candidate list
    
    Already exists as a property and as a setting in the databases,
    should be in the setup tool as well.

commit 91b22f1238b91df253d48c99131726feaf9c6aa3
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 19 17:38:52 2014 +0200

    Add tooltips to the widgets in the setup tool

commit 196bbba3777475a096e913552be87cd313aab6ca
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 19 16:42:01 2014 +0200

    Don’t try to write attributes into the system database unless the system database is created
    
    If the system database already exists, the user usually does not have
    write permissions there, so do not try to write into the system
    database in that case.

commit 354becc353c42a28612df03a520af4432eef65a2
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 19 12:29:33 2014 +0200

    If the dconf key “lookuptablepagesize” changes to an invalid value, reset it to a valid value
    
    If the user sets the dconf key “lookuptablepagesize” to a value < 1
    or > len(self._editor._select_keys), set it to a valid value again in
    the callback handler for dconf key changes.
    
    After this change, if the user tries to move the slider for the lookup
    table page size in the setup tool to 10 for a table like “stroke5”
    which has only 9 select keys (SELECT_KEYS = 1,2,3,4,5,6,7,8,9), the
    dconf key is set to 9 again and the slider moves back to 9.

commit 0e97323ea267e81b8139db4074db63f9373acbee
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 18 22:24:24 2014 +0200

    Add an option to the setup tool to restore the defaults from the database
    
    Useful if one messes up the input method by choosing weird options
    and wants to return to sane defaults.

commit d7308655d5d293f7bd760a1675ef430d3c1e2ac1
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 19 08:26:22 2014 +0200

    Add *~ to .gitignore

commit e0860a2d8ae1134cfef9227a6ca3fa4ca64a8268
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 18 20:15:12 2014 +0200

    Make the option in the setup tool to use “space” as a commit or page down key work
    
    And some more improvements in the handling of commit and page up/down keys.
    
    In future we might want to introduce separate options for commit keys
    and page up/down keys in the setup tool instead of the option for the
    space key behaviour. But this commit makes the existing option work
    which is enough for the moment.

commit 57c98a3349282189e8bb23330610e752cc854488
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 18 20:13:08 2014 +0200

    Remove useless comment

commit cce4419f154e3117958da7f1e471c2a9d2314575
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 18 07:15:03 2014 +0200

    Make the ids of the labels and the comboboxes more consistent in the setup ui
    
    If a combobox has id="comboboxfoo", give the label for that
    combobox id="labelfoo" to make it easier to find which label
    is used for which combobox when editing the English texts of
    the labels.

commit 3cf6393af76d4d634fc5a5ae4281a21d1123bcc1
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 18 06:39:20 2014 +0200

    Add “auto_select” option to setup tool
    
    This option has a very misleading name. It does not really automatically
    select anything.
    
    When set to “True” does the following things:
    
    1) commit the matched phrase and a line feed instead of the tabkeys
       and no line feed when Return is typed (apparently Chinese input
       methods like Wubi want to insert the tabkeys instead of the phrase
       on Return, this is used as a quick way to insert one Latin word
       without having to switch to direct input mode or another input
       method. But for non-Chinese input methods like the Russian
       “translit”, this makes of course no sense).
    
    2) commit the matched phrase when Tab is typed
    
    3) When committing by typing Space, commit the phrase followed by a
       “ ” instead of only the phrase.
    
    4) if typing a valid input character has the result that there are no
       candidates anymore, but there were candidates before typing that
       character, pop that character from the input again, commit the
       first of the previous candidates and then reprocess the input
       character.  This is also mainly needed for non-Chinese input
       methods like the Russian “translit”. The “translit” table
       contains:
    
         sh ш
         shh щ
    
       so typing “sh” matches “ш” and “щ”. The
       candidate with the shortest key sequence comes
       first in the lookup table, therefore “sh ш”
       is shown in the preëdit (The other candidate,
       “shh щ” comes second in the lookup table and
       could be selected using arrow-down. But
       “translit” hides the lookup table by default).
    
       Now, when after typing “sh” one types “s”,
       the key “shs” has no match, so add_input('s')
       returns “False” and we end up here. We pop the
       last character “s” which caused the match to
       fail, commit first of the previous candidates,
       i.e. “sh ш” and feed the “s” into the
       key event handler again.
    
    Maybe this option should be renamed because the name is really misleading?
    Maybe even split it in several options, maybe even a separate option
    for each of 1), 2), 3), and 4)?

commit 727736b4a2821ed30d15a091652694e49e7918c2
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sat May 17 19:54:59 2014 +0200

    Make the setup tool get the default from the database for settings which are not yet set in dconf
    
    The setup tool gets the the values for the options to
    show when it starts up from the following 3 places now:
    
       1) dconf setting for this table
       2) database of this table
       3) Python dictionary OPTION_DEFAULTS in main.py of setup.
    
    So it prefers dconf settings, then the database, and finally the
    hardcoded values in the setup tool itself.
    
    Before this change it did fall back immediately to the hardcoded
    values OPTION_DEFAULTS if a setting was not yet set in dconf.
    I.e. it showed exactly the same defaults for all tables.
    
    But the defaults in the databases of the tables are usually there for
    a reason and they should of course be presented to the user before he
    first changes something in the setup tool.

commit f461e78fabc1e58d728bd2d7d5a5cb1d64424463
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sat May 17 06:26:45 2014 +0200

    Rename self._phrase_table_column_names to phrase_table_column_names
    
    It is only used locally when trying to open the user database
    to check whether the existing user database is incompatible.

commit 9878c8da66a0132174bbc2e9c83aec51e012c4a4
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 22:59:48 2014 +0200

    Add a class to cache the ime properties
    
    It isn’t really necessary for speed, I removed the original property
    cache because it barely matters and the original code for the property
    cache was a bit ugly.  But this new code taken from
    ibus-typing-booster looks quite nice.

commit 34a9cd9a5893c4aea08625feed52230f0bce49a7
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 22:09:32 2014 +0200

    Fix typos in a docstring and in an error message

commit d7111e64ada3224df4a9315e05f1975777bbacd8
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 13:53:22 2014 +0200

    Fix changing the number of candidates using the setup tool

commit cdaa74331fa4ad96ba6b9becdd2db90138840cce
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 11:22:47 2014 +0200

    Remove unused code to handle config changes
    
    config changes are handled in config_value_changed_cb(),
    this stuff is not used.

commit 236a9349167c095f06c9162f445670da12270461
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 11:20:07 2014 +0200

    Improve coding style in key event handler

commit 9527b265b7f4a46c220a9f223108fce93560ec86
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 11:15:41 2014 +0200

    Fix arrow-up and arrow-down keys in Table mode when preëdit is empty
    
    In that case, the arrow up and down keys should be passed to the application,
    for example arrow-up is useful to get the last command in bash.

commit 83c1b00deea7e8aa120cea194af0773a5a2f7a13
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 09:19:54 2014 +0200

    Remove commented out line resetting self._editor_onechar in reset()
    
    The “onechar” option is even remembered in the config, it makes no
    sense to reset it in reset(). It was commented out of course already,
    but better remove it completely there to avoid confusion.

commit 64c653cf37cb625764ad3d7b6e32e07aa0b0a707
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 09:16:36 2014 +0200

    Clean up code in do_property_activate

commit 8551d2b393aac81a90e3f5078393d24d9bdc651c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 16 07:29:30 2014 +0200

    Add options to setup for fullwidth and halfwidth mode for direct input mode
    
    There are such options for “Table input” already but not for
    “Direct input”.  But even for “Direct input”, when the fullwidth
    or halfwidth mode is changed using the property menu, the change is
    saved to the config and remembered, just as for “Table input”. There
    seems to be no reason for this is kind of “asymmetric” behaviour.
    So I added these options for “Direct mode” to the setup as well.

commit d78936826897f17367d9581f62f90f126af44108
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 15 16:52:39 2014 +0200

    Improve texts in properties and setup
    
    - show “Table mode” ↔ “Pinyin mode” property only when the table
      really has a pinyin mode.
    
    - fix wrong key bindings mentioned in tooltip texts of properties.
    
    - improve texts of properties and in the setup tool.

commit ed07db95f301c30440974b062624862cca310922
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 15 14:25:00 2014 +0200

    Fix the combobox in the setup tool to switch between direct input and table input
    
    The combobox in the setup tool which was labelled “Language:”
    and had the values “Chinese” and “English” did not do anything at all.
    
    Fix this and improve the names of the label, the options, and the variables
    to reflect better what it does.

commit 7ec547dade8d5cd60ec149b93057a78c0accab3b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 15 10:48:51 2014 +0200

    Remove unused variable self._pt and unused function tabsqlitedb.get_phrase_table_index()
    
    Not needed anymore. After the database redesign, the number of columns
    does not depend on the table anymore, it is the same for all tables.

commit f3c77c8978e2c88dce4b4c162809d8defb62dcfc
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 15 09:03:43 2014 +0200

    Improve the code to recover user data from old, incompatible user databases
    
    Recover not only the frequency of phrases which are in the system
    database but also the frequency of user defined phrases.
    
    Code for upgrading from very old databases tested by upgrading from
    a user database from ibus-table-1.5.0.20140416-1.fc20.

commit 39e4f964a427015704a24ae609e39bda39e9d331
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 14 22:13:45 2014 +0200

    When auto_commit is used and there is only one candidate, commit only when the typed characters match the tabkeys of the candidate completely
    
    Much better for non-Chinese tables like “latex”, “ipa-x-sampa”, ...
    
    For example, consider that “latex” table contains the following
    lines matching “\al”:
    
        \alpha α
        \aleph ℵ
    
    And the default for the “latex” table is to use auto_commit.
    That means that with the old code, after typing “\alp”,
    only the single candidate
    
        \alpha α
    
    matched and was committed immediately. That is annoying because this
    makes it necessary to look at the screen. It is easy to remember that
    “\alpha” means α in LaTeX and if these are commited only when typed
    completely, one does not have to look at the screen to type α. It is
    much harder to remember how many characters of \alpha one has to type
    to get a unique match. Of course committing at “\alp” already saves
    two key strokes. But even with the new code one can save a few
    keystrokes if one looks at the screen: Just type “\al”, notice that
    α is the first candidate, then commit it with space.
    
    The new code also avoids the distinction between Chinese/non-Chinese here:
    In a Chinese table, when
    
        len(self._editor._chars_valid) == self._max_key_length
    
    *and* there is only one candidate, it follows that the tabkeys
    for this candidate have been typed completely. That means
    one can just as well do the same check as for non-Chinese tables,
    i.e.
    
       self._editor._chars_valid == self._editor._candidates[0][0]
    
    instead of checking whether the maximum key length is reached.

commit 6af47dc416842e3ecabc170c23006ddb215c106e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 24 18:31:25 2014 +0200

    Rewrite update_candidates()
    
    - simplify code in update_candidates()
    
    - remember both the valid and invalid characters when update_candidates()
      was last called and return immediately only when *both* are unchanged
      (Fixes a problem when removing invalid characters with backspace).
    
    - simplify add_input()
    
    - simplify section to handle valid input characters in key event handler
    
    - remove self._tabkeys, it is *always* identical to self._chars_valid

commit 33aa9594a8da5022aee256528fcd40ec4e4e0199
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 14 09:56:55 2014 +0200

    auto_commit_to_preedit() is not needed
    
    There is no significant difference between auto_commit_to_preedit()
    and commit_to_preedit().
    
    The only difference seems to be that auto_commit_to_preedit() tries to
    commit even when self._chars_valid is empty and even when
    self._candidates is empty. But in that case it will just fail with an
    “index out of range” error. To catch this, auto_commit_to_preedit()
    uses a “try: ... except: ...”  instead of checking whether
    self._candidates is empty like commit_to_preedit() does, that seems
    to be the only real difference.

commit c8eb0e31a375b81f083ae750cbcaf152235299ea
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 19:32:01 2014 +0200

    Print some debug output in _table_mode_process_key_event()

commit c60350c184622e283d6bfe296eb2db39f09d3a65
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 19:11:02 2014 +0200

    Remove redundant code when processing leading invalid input

commit be3be5d02ddd491f16be93e94753064d9321d1c9
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 17:09:47 2014 +0200

    Fix handling of invalid trailing input
    
    - Improve documentation of _table_mode_process_key_event()
    
    - If invalid input characters came after some valid input characters,
      the old code committed the valid input and then the invalid
      character only if the key code of the invalid input was <= 127.
      Consider for example, for the cns11643 table, the valid input is
      “0123456789abcdef”.  The Chinese character “一” has the table
      key “14421” in cns11643, it is the first character in that table
      with a key starting with “1442”.
    
      Both “A” and “☺” are invalid input for the cns11643 table. But
      as “A” has a key code <= 127, it would be committed after
      committing pending input whereas “☺” which has a key code > 127
      would be passed through to the application.
      Therefore, typing “1442A” would commit “一A” but
      typing “1442☺” would pass “☹” to the application and keep
      “1442” in preedit, so the user sees “☺1442”.
    
      This makes no sense at all, instead of checking for <= 127, *all*
      typed keys where “IBus.keyval_to_unicode(key.code)”
      returns a result should be treated the same way here. Then
      typing “1442☺” commits “一☺”.
    
    - The added lines:
    
          if type(keychar) != type(u''):
              keychar = keychar.decode('UTF-8')
    
      are only for Python2 compatibility, they do nothing for Python3.
      (Maybe I should give up trying to keep Python2 compatibility?)

commit 97b51bb779c55026b317ebdd52d4d0f0c24918f5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 10:00:50 2014 +0200

    Improve wording of the label for the behaviour of the space key
    
    And use more consistent upper-case/lower-case spelling

commit 614f7b03ea0df3df2781746557c7254441dad59a
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 09:28:32 2014 +0200

    Mark 4 strings in the setup UI which should not be translated as untranslatable

commit e40c0c9800be7f964bed5c4c72cb82db196a9ce8
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 08:51:39 2014 +0200

    Mark one string translatable and mark two others as untranslatable in main.py
    
    It does not make sense to translate "<big><b>IBus Table %s</b></big>"
    and "<b>%s</b>" but "IBus %s Preferences" can be translated.

commit 83218dd2d4d07bf3f657ba969e627f233abd1b4a
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 08:47:52 2014 +0200

    Improve three labels in the setup tool:
    
    “Half/full width:” → “Letter width:”
    
    (The combobox already says “Half/Full”, no need to repeat that in the label,
    better indicate that this is for letters, not for punctuation).
    
    “Punctuations:” → “Punctuation width”
    
    (“punctuation” is uncountable).
    
    “Number:”　→ “Number of candidates:”

commit 075602335e0a1f0216588842a2ef886246e0afbf
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 08:23:58 2014 +0200

    Add setup/main.py and setup/ibus-table-preferences.ui to POTFILES.in

commit c267d7321b5f77dbaeb6e76e5c82911a498fbb92
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue May 13 07:45:07 2014 +0200

    Add names to “Contributors:” section in “About”

commit f67e2dbacd77a1a840098ef887414c57401449c8
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 12 17:52:48 2014 +0200

    Colour invalid characters in preëdit magenta

commit 7b16cc73ab02beebb5882058c06cd14ec38940b0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 12 17:35:08 2014 +0200

    Improve readability _convert_to_full_width()
    
    Use the Unicode characters directly. For example, use
    
        u"￥"
    
    instead of
    
        u"\uffe5"

commit d8e9543bac0427c6c079ebda186c28a48d1b7479
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 12 16:38:47 2014 +0200

    Improve readability in _table_mode_process_key_event()
    
    - Try not to use extremely long lines so much
    - more consistent use of parentheses
    - No need to check for “and(not self._editor._py_mode)” in
      “if key.code <32 ...”, pinyin mode does surely not use
      key codes < 32 either.
    - document why the Tab key is passed through to the application
      when auto select is used.
    
    Don’t use a very long chain of
    
        if ...:
            ...
    	return True
            ...
    	return False
        elif ...:
            ...  <- jumps to the final “return False” here
        elif ...:
            ...
    	return True
        elif ...:
            ...
            return True
        return False
    
    rather use
    
        if ...:
            ...
    	return True
            ...
    	return False
        if ...:
            ...
            return False
        if ...:
            ...
            return True
        if ...:
            ...
            return True
        return False
    
    That makes it easier to see immediately what is returned without
    always having to remember that there is a final “return False” at
    the end.

commit 47d8ef00794c4bb4c0f2cb7fddcff530c35d8da9
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 12 10:43:39 2014 +0200

    Simplify code to commit everything in the key event handler
    
    There was a function space() which was not only used when committing
    by typing space but also in other cases. This function was hard too
    read, had a weird return value and the documentation was wrong.  I
    think the new code is better readable.

commit 4e0e598fce01909bf0531ddfb596049d90937c04
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 12 05:23:18 2014 +0200

    _check_phrase() can be called in commit_string()
    
    Makes the code a bit shorter and more readable.

commit b9cc9547bed5831c92827c11127cc584675d18a0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 12 05:06:20 2014 +0200

    _editor.clear_all_input_and_preedit() not needed here
    
    It is called by commit_string() already.

commit 32fb67b28cba59a22bbebe550a36b95567a7a0dd
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 11 20:42:31 2014 +0200

    Rename tabengine._ml and editor._max_key_len to tabengine._max_key_length and editor._max_key_length
    
    self._ml is not so readable.

commit b64be0e575bb1d280c95c420d58166e338169f18
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 11 17:39:13 2014 +0200

    Remove function documentation which only repeats the function name

commit de4d6b60ad1f49521b6aafe5e5d7b4fbc82547a0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 11 17:23:00 2014 +0200

    Remove unreachable code in _english_mode_process_key_event()

commit a9924b24e713aa4a1193ffb5f04b91c6c803ce9f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 11 17:10:37 2014 +0200

    Don’t repeat the definitions of cond_letter_translate() and cond_punct_translate()
    
    The same functions cond_letter_translate() and cond_punct_translate()
    are defined both in _english_mode_process_key_event() and
    _table_mode_process_key_event().
    
    As they are exactly the same, it makes more sense to define these
    function in one place.

commit 44f12df6375df59f6916fa02fec691b6d206fb1e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 11 16:43:59 2014 +0200

    Rename editor.clear() to editor.clear_all_input_and_preedit() and editor.clear_input() to editor.clear_input_not_committed_to_preedit()
    
    Make it more obvious what the different clear...() functions do.
    
    Also fix a typo: self._candidate_previous -> self._candidates_previous

commit 559a4b399565f847351ef992e0a556a98c4bfefa
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 9 19:17:03 2014 +0200

    rename tabsqlitedb.select_zi() to tabsqlitedb.select_chinese_characters_by_pinyin()

commit d9c868670912cefdeffae5af9266d4eb986d3f2e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 9 18:49:15 2014 +0200

    Rename get_all_input_strings() to get_preedit_tabkeys_complete()
    
    To get the strings (= phrases) in the preëdit as parts are complete
    there are:
    
        get_preedit_string_parts()
        get_preedit_string_complete()
    
    For the functions to get the typed key sequences belonging
    to phrases in the preëdit, there were:
    
        get_preedit_tabkeys_parts()
        get_all_input_strings()
    
    which is a bit inconsistent. Better make it
    
        get_preedit_tabkeys_parts()
        get_preedit_tabkeys_complete()
    
    then the naming is more symmetric and it also describes better what it
    actually does (Because if strings in the preëdit have been
    split, get_preedit_tabkeys_complete() does not necessarily return the
    exact key sequence the user typed as the key sequences for the split
    phrases will have been recalculated)

commit 889dc948c6211f2ed694e2500703ca926d81dcf6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 9 18:28:12 2014 +0200

    Committing with the mouse or by typing Control+Number should not define new abbreviations
    
    I avoided defining new abbreviations when committing by typing
    “space” already, see:
    
        commit 56796c39c92697d4fcd233e42ebe8f208f0e1324
        Author: Mike FABIAN <mfabian@redhat.com>
        Date:   Wed May 7 14:07:56 2014 +0200
    
            Don’t define new abbreviations automatically
    
            For example, the latex table system database contains:
    
                \alpha|α|0|0
    
            If one types “\alp” and then selects the candidate “α”
            from the lookup table, do *not* automatically create
            (or update) an abbreviated entry
    
                \alp|α|0|1
    
            in the user database, instead create (or update) an entry using the
            full length of the tabkeys:
    
                \alpha|α|0|1
    
            Creating shortcuts automatically like this is useful in
            ibus-typing-booster but it seems useless and confusing in ibus-table.
    
    but it didn’t work when committing using Control+Number because
    the code for Control+Number got the input key sequence *before*
    committing to preedit and at this point it may not yet be the complete
    input key sequence of a candidate. During commit to preëdit, the
    really typed input key sequence is replaced by the input key sequence
    of the selected candidate, which may be longer.
    
    Committing with the mouse inherited this error from the code copied
    from committing with Control+Number.

commit 694aa04ed256fafd13e66accd3a0526e5ed19fc5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 9 17:56:18 2014 +0200

    Commit candidate clicked on with the mouse

commit d19a2768ec09e5c038db512846678518c98f8daa
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 8 18:08:07 2014 +0200

    Move toggle_tab_py_mode() method from class editor to class tabengine
    
    It seems to me it fits better there, because it is nice if it also
    calls the _refresh_properties() and _update_ui() methods of the class
    tabengine.

commit d977c064a5e21bfc06c4f813d4cfe8a7e103f40f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 8 17:46:14 2014 +0200

    There is no need to check for differences in pinyin mode before and after commit_string() or editor.clear()
    
    commit_string() calls editor.clear() and clear() used to switch
    off pinyin mode. But we stopped doing that, see:
    
        commit 059061e3e76761dca6853610580c9c2549918fbb
        Author: Mike FABIAN <mfabian@redhat.com>
        Date:   Tue Apr 8 16:34:58 2014 +0200
    
    	Don’t switch off pinyin mode in clear()
    
    	clear() is called in do_focus_out().  And do_focus_out() is called
    	after clicking into the gnome menu to switch to pinyin mode.  This
    	makes it almost impossible to enable pinyin mode and keep it when
    	pinyin mode is switched off in clear().
    
    Therefore, there is no need to check whether the pinyin mode has
    changed after commit_string() or editor.clear() anymore.

commit 636aa6604003264cb0e26b77da9c8abb0f67e88b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 8 16:43:28 2014 +0200

    Show number of candidates and number of current candidate in the auxiliary text

commit 64a1fcc13018d19079060dcc04646a08070744d6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 8 16:34:10 2014 +0200

    Better variable name _ic -> aux_string in _update_aux()

commit 2abd1c56ac3dddb6ff0a2e05595a601f9dba438a
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 8 16:29:37 2014 +0200

    Remove meaningless comment

commit 5c14c84d665fa9cd6a0b93ec516f0a18eb47194e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 8 16:09:57 2014 +0200

    Show the list of possible input key sequences for characters in the preëdit not only for pinyin
    
    If there are no input strings at the moment but there are strings
    committed to preëdit, some information about these may be shown in the
    auxiliary text.
    
    If the last character committed to preëdit was typed by using pinyin
    mode, a list of possible input sequences how this character could be
    typed using the current table (e.g. wubi-jidian86) was shown.  This
    way, one can type a character using pinyin, commit it to preëdit and
    then see which table input key sequences could have been used to type
    the same character.
    
    It doesn’t really make sense to limit this to the last typed
    character and only if it has been typed using pinyin. Showing these
    table codes always is better.

commit 75483fd33d139a8ccabfbe42b286a09b4e8e2f78
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 8 15:01:31 2014 +0200

    Do not hide the auxiliary text when there are no candidates, it might contain useful information
    
    The auxiliary text may contain useful information even when there are
    no candidates.
    
    For example, when committing a few characters to
    preëdit to define a user defined phrase, the auxiliary text shows
    what key sequence will be defined for that phrase.
    For example, when wubi-jidian86 is used and the phrase
    
        “王不各”
    
    is commited to preëdit and no further input is currently there, the
    auxiliary text shows
    
        “#: ggtk”
    
    Here “ggtk” is the key sequence which will be defined for that phrase,
    i.e. in future one can type “ggtk” to input “王不各”.
    
    The auxiliary text also shows the table keys if the last character
    committed to preëdit has been typed using pinyin. For example,
    if one uses wubi-jidian86 and has forgotten the table codes for
    
        你
    
    one can type it using pinyin by switching to pinyin mode (with the menu
    or the right shift key), type “ni + Shift + 3” to get 你, commit it
    to preëdit by selecting it with Control+Number in the lookup table,
    then the wubi-jidian86 table codes for 你 are displayed in the auxiliary
    text:
    
        wq wqi wqiy

commit f7430ef738e3a236019a2a8f3a8bea98cb6ebee1
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 7 22:44:06 2014 +0200

    Use an integer self._cursor_precommit instead of an array self._cursor[]
    
    self._cursor[1] is never used anymore after my rewrite of the cursor
    movement code because I split the strings committed to preëdit already
    when the cursor is moved and not in add_input() anymore, so there is
    no need to keep track of a second cursor position.

commit 7c6eb47bb0e9db76d1c21433e812f1cc7b0bd5b7
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 7 14:07:56 2014 +0200

    Don’t define new abbreviations automatically
    
    For example, the latex table system database contains:
    
        \alpha|α|0|0
    
    If one types “\alp” and then selects the candidate “α”
    from the lookup table, do *not* automatically create
    (or update) an abbreviated entry
    
        \alp|α|0|1
    
    in the user database, instead create (or update) an entry using the
    full length of the tabkeys:
    
        \alpha|α|0|1
    
    Creating shortcuts automatically like this is useful in
    ibus-typing-booster but it seems useless and confusing in ibus-table.

commit fe807080c31ca0b09ff46aaee6c9575c2e9bb1c9
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 23 16:03:25 2014 +0200

    Fix cursor movements in the strings committed to preëdit
    
    Rewrite most of the code for cursor movements in the preëdit because
    it did not work at all.
    
    The old non-working code tried to use wrap around when the cursor
    reached the ends of the preëdit. I think that is confusing
    and implemented it without wrap around.
    
    When there are strings committed to preëdit and a space is typed
    while the current input is empty, the preëdit should be committed
    (this was broken).

commit 940e629c2fae386ea0f1532325c6a971b703cdf0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 7 09:29:41 2014 +0200

    Remove useless “else:” when committing using space
    
    editor.space never returns (False, u' ', ...) so this “else:”
    part can never be reached.

commit 193d2bbd20492e05f29290995aac0fe4ea73ad09
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed May 7 09:26:15 2014 +0200

    Remove comments mentioning self.add_string_len() because there is no such function anymore

commit b7946d48de07ae6b6cca0d80519130d94b245337
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 5 21:27:38 2014 +0200

    Fix find_zi_code, it should return a list of possible tabkeys for a phrase
    
    The documentation “Check word freq and user_freq” was very misleading.
    
    Actually it should return a list of possible tabkeys for a phrase.
    For example, if “phrase” is “你” and the table is wubi-jidian.86.txt,
    the result will be ['wq', 'wqi', 'wqiy'] because that table
    contains the following 3 lines matching that phrase exactly:
    
    wq	你	597727619
    wqi	你	1490000000
    wqiy	你	1490000000

commit b55980f79ab6eb36ece9560b4c04b9bee5a21bce
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 5 16:30:25 2014 +0200

    Add one space between the phrase and the remaining tabkeys in the lookup table
    
    Easier to read.

commit 49be55f44ceb1d12c9e8d45d17163b0998234eeb
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon May 5 16:06:04 2014 +0200

    Merge matches from the system database and the user database
    
    To avoid duplicates in the candidate list.
    
    For example, if we have the result ('aaaa', '工', 551000000, 0) from
    the system database and ('aaaa', '工', 0, 5) from the user database,
    these should be merged into one match ('aaaa', '工', 551000000, 5).

commit bfe7932dc50f413ae7804e4f923acd08247264ac
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 4 19:17:36 2014 +0200

    Improve documentation of select_key()

commit e831737780d3284cfcea41ec5183ffdd38f03746
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun May 4 18:45:17 2014 +0200

    Handle start characters correctly
    
    Some tables (currently the “latex” table is the only one I know of)
    have special “start characters”. For example, in the latex table,
    the start character is “\”, i.e. every key in that table starts with
    a “\”, if the first character typed is anything else but “\”, no
    match is possible and therefore the typed character should be directly
    committed or directly passed to the application without attempting
    a match in the table.

commit 77aee36498f6f17a28193de60b87fc28c33d0dba
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri May 2 11:38:39 2014 +0200

    Remove self._t_chars
    
    self._t_chars seems to be just self._chars_valid + self._chars_invalid
    (possibly + u''.join(self._u_chars)?? Anyway, there is no need
    to have yet another variable for the same stuff. It is error prone
    to correctly keep it in sync with the other variables containing
    the same information.

commit 754175b068c111211d6dad76e990f8e88ad173ec
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu May 1 18:59:03 2014 +0200

    Rewrite _update_preedit() and get_preedit_strings()
    
    Instead of returning a complicated string in get_preedit_strings() and
    parse it again into parts using regular expressions in
    _update_preedit(), rather return a tuple of the parts
    _update_preedit() needs.
    
    Rename the function returning these parts from get_preedit_strings()
    to get_preedit_string_parts() and add a function
    get_preedit_string_complete() which joins these parts and is used
    where the distinction of the parts is not necessary.

commit ab4bb95fb873febc52aa69cf2ad0f1cbc3c91fc0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 30 16:33:02 2014 +0200

    over_input() should not clear self._u_chars[]
    
    It does this only to cause a weird side effect in
    get_preedit_strings().  But that is quite nonsensical, get_predit_strings()
    and _update_preedit() should be rewritten not to depend on this.
    
    Clearing only self._u_chars[] but not self._strings[] makes these
    two arrays have different lengths, but they should always have
    the same length.
    
    if clearing self._u_chars[] is removed from over_input(),
    over_input() becomes useless as it only calls clear_input() now
    and it can be removed.

commit 2c10c727e2ee3ecfa92afe372f9f3ea424eee740
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 30 09:26:06 2014 +0200

    self._strings and self._u_chars should always have the same length
    
    As self._strings and self._u_chars *always* should have the same
    length, there is no need to check “if self._strings” before
    self._strings.pop() if self._u_chars is already known to be not
    empty. Of course the extra check doesn’t hurt, but if self._strings
    and self._u_chars ever happen to have a different length, I want it to
    fail and then figure out how this could happen.

commit 73b836dd0212aac3dbe1be3d4d6f877e6382acd6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 30 09:46:22 2014 +0200

    self._caret is never used outside of get_caret(), it should not be a member variable
    
    A local variable in get_caret() is enough and makes the code
    better readable.

commit 4ced4cde39213d265b20e45a743069d1f697d55b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 30 09:21:06 2014 +0200

    Remove useless function add_caret()
    
    Only used once and it only adds the length of a string to self._caret,
    I think it is more readable to do that directly.

commit d1b2489bbf72092c258ad76d74d23c9d8ba527f5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 30 08:43:31 2014 +0200

    Remove useless line in pop_input()
    
        self._chars_invalid = self._chars_invalid[:-1]
    
    does nothing there because it is in the “else:”
    part of “if self._chars_invalid:”.

commit af666b23c45e453bef07b2a2076e8849f0935d85
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 30 07:46:37 2014 +0200

    Improve readability of _update_preedit() and enable colours

commit 2d1292994f5a133b5ad4a9a0cad7fb7f27315339
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 30 07:49:27 2014 +0200

    Remove unused function get_input_chars_string()

commit 947f550135ab924e7fe722f6d4b68bb1cce523fd
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 29 17:26:34 2014 +0200

    Remove arbitrary limit max_length = 64 in editor class

commit b8a78e00cb18eb2d948c4865a068537dec18445b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 29 17:24:47 2014 +0200

    Remove useless uses of try: ... except:

commit d1b76b3d388a879c543dc875cd4de43719fb27b5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 29 16:57:58 2014 +0200

    Remove useless “pass”

commit 021ed36dccf2c936cef580d376bd303e599237f9
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 29 15:09:01 2014 +0200

    self._u_chars needs to be an array of strings
    
    self._u_chars needs to be an array of strings, not a simple string
    because it needs to hold the key sequences which were used when the
    phrases in self._strings were automatically committed.

commit 6d072baab9f33d2daa4adc8b7437c73cb5d558d2
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 29 14:53:09 2014 +0200

    Add debug information about self._u_chars into the aux strings

commit a2f716ca1f238f4f78e90bf5c199e81c48b7a9fb
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 29 14:08:56 2014 +0200

    Don’t use “pass” so much after “except:”
    
    Better print a backtrack to the debug log.  It is better to at least
    see in the debug log what went wrong.

commit 72cbde05efbc3b8c2e5fd847c00a2739fc7970d6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Apr 28 15:35:59 2014 +0200

    Split _candidates[[],[]] into two arrays _candidates[] and _candidates_previous[]
    
    Makes the code more readable.

commit 45eb8d275d9dae573cd632e2efdc8e065c9f3fb1
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Apr 28 13:59:28 2014 +0200

    Add comments about the meaning of “auto select” in the source code

commit 288a1ccdf2a6b033e4977e1a526f7dfc08c43422
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun Apr 27 06:10:13 2014 +0200

    Improve documentation of tabsqlite

commit 4600fc5b2c5dd129400650556b5dac7289c3836f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sun Apr 27 06:01:25 2014 +0200

    Don’t try to open a user database if user_db = None in __init__() of tabsqlitedb
    
    If an in-memory user database is wanted, tabsqlitedb now needs to be
    constructed with user_db=':memory:', user_db=None now really means
    that no user database at all is needed. No user database is needed for
    example when creating a system database file or when just listing
    information about engines with
    
        /usr/libexec/ibus-engine-table --xml

commit 51ea61a8b8df101019c7fd0e43c427dc69b918f6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sat Apr 26 06:31:09 2014 +0200

    Rename phrase_keys_len() to get_possible_tabkeys_lengths() and pkeylens to possible_tabkeys_lengths
    
    Also document it a bit and remove a useless try: ... except:

commit 1ff41d6bae3ebc9014d17d12320f1c058daf7a3a
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Sat Apr 26 06:29:34 2014 +0200

    Make sure the lookup table is hidden if there are no candidates to display

commit 99d54e2ddb171f523ddbf73872617b40e05012b0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Apr 25 17:46:13 2014 +0200

    Improve code readability when writing and reading the ime properties
    
    Remove property cache, the performance benefit of this is completely
    negligible.

commit 81ec0d8c8319da908d684ec05443557bc4c0ea8d
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Apr 25 14:05:43 2014 +0200

    Simplify get_start_chars()

commit 93826f6508231a87eb93c8feba591eee849bd949
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Apr 25 14:02:43 2014 +0200

    Simplify get_select_keys()

commit f124f3fbcbdd778a80c99e8dc8ac90f3fc67205e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Apr 25 11:40:45 2014 +0200

    Don’t use self._strings.pop() in pop_input() if self._strings is already empty

commit 3d88a387de029616415d19236d2fb9b21894c8a8
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 24 17:01:10 2014 +0200

    Minor code cleanup

commit 9b6359328ac0df9a37c32776672c708edc635161
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 24 16:30:37 2014 +0200

    Rename self._chars_valid to self._chars_valid_when_update_candidates_was_last_called
    
    Long name, but this makes the purpose of that variable clear.
    It is used *only* to make update_candidates() return fast when
    nothing has really changed.
    
    If the users input characters have not changed, usually no update_candidates()
    is necessary, but there are some exceptional cases for example when
    deleting a candidate from the user database when the candidate
    list changes while the user input has not changed. In these exceptional
    cases, an update of the lookup table needs to be forced.

commit 1357f7468d9cd0dfa4adde7af623d614c0ae71f7
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 24 14:03:59 2014 +0200

    Fix remove_cand_from_userdb() and rename it to remove_candidate_from_user_database()
    
    After the database redesign, tabsqlitedb.remove_phrase() takes
    named arguments “tabkeys” and “phrase” instead of a complete candidate
    as an array.
    
    Also, instead of deleting a candidate from the user database only
    if it is user defined and thus not in the system database (candidates
    which have freq=-1 in the user database are user defined), delete
    the candidate always, if it is in the user database at all.
    
    This way, the user can not only use this function to remove user defined
    candidates but also to lower the priority of candidates which are
    already in the system database and have aquired a high priority by
    being used. Removing these candidates from the user database lowers
    their priority again.

commit f6980e0d4a4c1176a5c4d3a88fcc979eac016b18
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 24 10:18:29 2014 +0200

    Small code readability improvement

commit f89ecce98ae919c7f4077632c24c31fa0d216f3d
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 24 09:52:11 2014 +0200

    Introduce an environment variable IBUS_TABLE_DEBUG_LEVEL for debugging
    
    Currently, if this variable is set to a number > 0,
    system frequency and user frequency data is shown in the lookup table.

commit 79f12fcbbb9969f3b5f152407cafff350b4eb83b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 24 09:02:59 2014 +0200

    Instead of an array self._chars = [u'',u'',u''] use three separate strings
    
    Using self._chars_valid, self._chars_invalid, and self._chars_prevalid
    instead of self._chars[0], self._chars[1], self._chars[2] makes the
    code more readable because one does not have to remember what the
    indices 0, 1, 2 mean.

commit 45823c5f7e0956d7070190f38236531ee4ddef29
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 23 17:45:27 2014 +0200

    Use strings instead of lists for the input characters typed by the user
    
    Makes the code more readable, avoids many complicated statements
    with join, list, map, ...
    
    The only places where it looks slightly less readable with strings
    is
    
        c = a[-1]
        a = a[:-1]
    
    when a is a string instead of
    
        c = a.pop()
    
    when a is a list.

commit cd55dd5f2f0e79e4a5138858bdbab9a7590a6401
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 24 05:37:45 2014 +0200

    Remove unused function get_index()

commit 313fee39a613c0d0391e636ea1d53b9cf8565208
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 23 16:57:49 2014 +0200

    Update copyright texts in headers

commit 364307af21d3a15ab811acfdf81896ffd9038953
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 23 17:44:41 2014 +0200

    Remove unused functions get_invalid_input_chars() and get_invalid_input_string()

commit 4fa966bc0651500bec38061ce4b33e22a15407dd
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 10 11:36:59 2014 +0200

    Change the design of the database
    
    The old database used columns like
    
        id|mlen|clen|m0|m1|m2|m3|m4|category|phrase|freq|user_freq
    
    where “m0”, “m1”, “m2”, “m3”, “m4” did hold individual
    characters of the input string which was therefore limited to a fixed
    maximum (could be different for each table). In this case the maximum
    is 5 characters. “mlen” was the length of the input string actually
    used, for example if the input string was “adlt”, then “mlen = 3”,
    “m0 = a”, “m1 = d”, “m2 = l”, “m3 = t”, and “m4 = None”.
    “clen” was the length of the Chinese phrase matching this input
    string, for example, if “adlt” is the input string for the Chinese
    phrase “苦力”, then “clen = 2”. “category” was a bitmask
    indicating whether that Chinese phrase is simplified Chinese,
    traditional Chinese, used in both variants of Chinese, or is a mixture
    of simplified and traditional Chinese. Non-Chinese tables lacked that
    “category” column.
    
    I.e. in this example the database row in system database for the old
    design would have looked like:
    
        345|4|2|a|d|l|t|None|1|苦力|3600000|0
    
    (“345” is an abitrary row-id)
    
    The new database now uses only:
    
        id|tabkeys|phrase|freq|user_freq
    
    “tabkeys” is the combination of “m0” ... “m4”, it is of type TEXT
    and has no artificial limit (except the limit imposed by sqlite, which
    is huge). So the row in the above example would look like this in
    the new database design:
    
        345|adlt|苦力|3600000|0
    
    “mlen” and “clen” have been removed, they just duplicate
    information, the lengths can be calculated easily when
    needed. “category” has been removed as well, it can be calculated
    fast and easy at runtime, there is no need to save this at build time
    into the system database. Omitting “category” also makes the columns
    used in Chinese and non-Chinese databases identical, avoiding lots of
    special cases for Chinese and non-Chinese in the code.

commit f973563cf3283a7adcff66c68068c2be3739a8a8
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 23 16:51:30 2014 +0200

    Remove useless “$Id: $” from comments in the file headers
    
    This is not used by git, it was only useful for older version
    control systems.

commit 7cbf9e8a773c5d37bcad92f50b2f55d6a480c330
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 17 09:40:56 2014 +0200

    Don’t filter candidates in pinyin mode
    
    I may change that again later, but currently the format of the
    candidate tuples in pinyin mode is different from the format in
    non-pinyin mode which makes this filtering fail. Therefore, pinyin
    mode would not work at all at the moment if Chinese mode 2 or 3 is
    selected.

commit 4b392e8c2723c5f20e4d13da5770204c53b9baa6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 16 17:07:38 2014 +0200

    Simplify pinyin table

commit 385e6df95830837cc0338d6bc7de5e32679a20a4
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 17 13:04:56 2014 +0200

    Don’t use try: and except: to decide whether to decode  from UTF-8 in get_no_check_chars()

commit ff310fb1f07eead2383461b22e6443dc93d78ef0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 16 08:49:16 2014 +0200

    Simplify goucima database table and remove goucima cache
    
    The goucima cache is not really used anyway. Only in tabcreatedb.py
    db.cache_goucima() is called, but then not used there either.

commit f5d77946d7acefdf89bb583036378354015c1071
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 15 17:29:11 2014 +0200

    Remove parse_phrase_to_tabkeys() and simplify parse_phrase()

commit 117d2d3e3f68845940b146011b137a6acef7956f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 1 17:51:16 2014 +0200

    Remove tabdict
    
    Do not translate the typed characters into integers with tabdict.
    Use the characters themselves instead.
    
    Translating characters to integers doesn’t make anything faster,
    just more complicated.
    
    Even if a translation to integers were desirable, why use a custom
    table and not the Unicode code points? A custom table always
    needs to be extended when more characters are allowed as valid
    input characters.

commit 081f61e5dc886dd8c897a9f4a2f5b75b7cb81cd6
Merge: 1347342 3f031f7
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Wed Apr 16 19:06:33 2014 +1000

    Merge pull request #33 from mike-fabian/do-not-fail-when-home-is-not-set
    
    Do not fail when home is not set

commit 3f031f799256bee9cf93800d7b844310e825fb6f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 16 09:28:44 2014 +0200

    Do not fail when the environment variable HOME is not set
    
    Resolves: rhbz#1088138 - [abrt] ibus-table: posixpath.py:83:join:TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1088138

commit 5f6cc149803dd876fb773d8653cc30d2424cd25f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 15 16:57:28 2014 +0200

    Remove unused code

commit 52af130ae18d84b6611834a298d4c8a92c76621c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 15 16:36:51 2014 +0200

    Return only tabkeylist in parse_phrase()
    
    The other stuff returned is never used, just thrown away.

commit f0dbeb54d65d72451b1c56d91677a1edf6c08703
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Apr 14 13:14:44 2014 +0200

    Remove unused function add_new_phrases()

commit e24302cc9e85786c044fc1dc0b79c3a7d724c3c5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Apr 14 11:21:52 2014 +0200

    remove unused regular expression in parse_extra() in tabcreatedb.py
    
    This regular expression would not work with Python3 anymore.
    But it is not used anyway, so it can be just removed.

commit 1347342cc71a719a168526e62d19d859bb5b0d97
Merge: ccb4b1b bd30def
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Mon Apr 14 19:02:28 2014 +1000

    Merge pull request #32 from mike-fabian/fix-pinyin-mode-and-dconf-usage
    
    Fix pinyin mode and dconf usage

commit bd30def611453ffbb065964006fe5a5c2ad525a0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Apr 14 09:11:28 2014 +0200

    Fix goucima parsing from the source, broken by Python3 port
    
    This regular expression:
    
        patt_s = re.compile(r' *([^\s]+) *\t *([\x00-\xff]{3}) *\t *[^\s]+ *$')
    
    which tries to match single Chinese characters as a sequence of 3
    bytes does not match anymore after the Python3 port because Python
    strings are always unicode now and each Chinese character is thus a
    single character in a string.

commit 599601db7fed46b6e21c227b62ec9145199ecef2
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Apr 9 16:03:07 2014 +0200

    If keychar is empty, do not treat it as valid input
    
    This makes typing the right shift key toggle between pinyin mode and
    table mode, as intended.
    
    In Python
    
        >>> '' in 'abc'
        True
    
    Therefore, “keychar in self._valid_input_char” is True even if
    keychar is empty. But if keychar is empty, one should not treat it
    as valid input.
    
    This problem occured when pressing Shift-Right, it was treated
    as valid input and the following traceback was seen:
    
    Traceback (most recent call last):
      File "/local/mfabian/src/ibus-table/engine/table.py", line 1596, in do_process_key_event
        result = self._process_key_event (key)
      File "/local/mfabian/src/ibus-table/engine/table.py", line 1618, in _process_key_event
        return self._table_mode_process_key_event (key)
      File "/local/mfabian/src/ibus-table/engine/table.py", line 1856, in _table_mode_process_key_event
        res = self._editor.add_input ( keychar )
      File "/local/mfabian/src/ibus-table/engine/table.py", line 398, in add_input
        res = self.update_candidates ()
      File "/local/mfabian/src/ibus-table/engine/table.py", line 804, in update_candidates
        self.pop_input ()
      File "/local/mfabian/src/ibus-table/engine/table.py", line 409, in pop_input
        self._tabkey_list.pop()
    IndexError: pop from empty list

commit 2c145910964141a66724412e04d446c0298f0f6c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 8 17:51:12 2014 +0200

    Don’t try to colour system phrases and user phrases differently in pinyin mode
    
    In pinyin mode, there are no user defined phrases.  Therefore, the
    array holding a candidate does not have two integers at the end, only
    one. candi[-2] is already the phrase, i.e. the chinese character in
    pinyin mode, not an integer specifying a frequency.
    
    Resolves: rhbz#1084684 - [abrt] ibus-table: table.py:670:ap_candidate:TypeError: unorderable types: str() < int()
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1084684

commit f463ca439467ff29270fa09cd108fa8f02304385
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 8 16:46:21 2014 +0200

    Don’t use “try:” to call self._editor.clear() in do_focus_out()
    
    Why should self._editor.clear() ever fail? If problems can
    occur there, they should be handled properly there.

commit 059061e3e76761dca6853610580c9c2549918fbb
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 8 16:34:58 2014 +0200

    Don’t switch off pinyin mode in clear()
    
    clear() is called in do_focus_out().  And do_focus_out() is called
    after clicking into the gnome menu to switch to pinyin mode.  This
    makes it almost impossible to enable pinyin mode and keep it when
    pinyin mode is switched off in clear().

commit 00a41b813adba4155f19a84706702f693c3e987c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 8 11:16:16 2014 +0200

    Make usage of engine name and dconf key consistent
    
    The setup tool did write to a different dconf key than the
    engine.
    
    Make this consistent. If the file name of the table is
    
        /usr/share/ibus-table/tables/wubi-jidian86.db
    
    use
    
       table:wubi-jidian
    
    as the ibus engine name (listed by “ibus list-engine” and used
    in the environment variable IBUS_ENGINE_NAME).
    
    As the dconf key, use:
    
        /desktop/ibus/engine/table/wubi-jidian86
    
    The name found in the source of the table (i.e. in wubi-jidian86.txt
    in the source package of ibus-table-chinese), which looks like
    
        ### The default name of this table
        NAME = WuBi-Jidian (JiShuag) 86
    
    should not be used for the dconf key or the engine name, it should
    only be used for display in the user interface.

commit ccb4b1bc4a778381e013ef64838dc8292e61d436
Merge: 3255f48 8842b41
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Thu Apr 10 22:13:35 2014 +1000

    Merge pull request #31 from mike-fabian/fix-regression-caused-by-python3-port-causing-the-build-of-ibus-table-chinese-to-fail
    
    Fix a regression caused by the Python3 port in tabcreatedb.py

commit 8842b411e32a7c10dce22ee578974bc37ee8081c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Apr 1 18:18:11 2014 +0200

    Fix a regression caused by the Python3 port in tabcreatedb.py
    
    This fixes the build of ibus-table-chinese.

commit 3255f48cb6cdd6311ca9ae0dadaee349b6f6ce72
Merge: cd317b7 0df841f
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Sat Mar 15 21:22:16 2014 +1000

    Merge pull request #30 from mike-fabian/fix-bug1072940-comment18
    
    filter returns a “filter object” in Python3, not a list directly as in Python2

commit 0df841f416f6bac13630c8eb6b6f711d312436a5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Mar 12 15:04:30 2014 +0100

    filter returns a “filter object” in Python3, not a list directly as in Python2
    
    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1072940#c18

commit cd317b7d473eb94554e79fe91f5417a4f9074b60
Merge: 1c437bf 19ee83e
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Wed Mar 12 22:12:34 2014 +1000

    Merge pull request #29 from mike-fabian/fix-setup-tool-for-use-with-gnome
    
    Fix setup tool for use with gnome

commit 19ee83e6d762d71f4fde8cebd59735e4f0b31529
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Mar 12 07:31:47 2014 +0100

    Add generated .tar.gz to .gitignore

commit 4bb405e984934980940758d58c4e112ae7be3dd6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Mar 12 07:18:22 2014 +0100

    Fix a spelling error in a variable name, a regression introduced by the Python3 port

commit 5d1e95aeb9b75583e9caa841f27c68ec5765814b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Mar 11 13:25:12 2014 +0100

    Fix regression introduced by the Python3 port
    
    ascii.ispunct() from “from curses import ascii” can take
    both characters  or integers as the argument.
    
    My replacement ascii_ispunct() takes only a character.

commit 0f6561fea4c2ca9aa90106e4529bc8d32a2a261c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Mar 7 12:46:00 2014 +0100

    Add a .desktop file and make the setup tool work with Gnome
    
    Previously, the setup tool could be called from the command
    line, for example:
    
        /usr/libexec/ibus-setup-table cangjie3
        /usr/libexec/ibus-setup-table wubi-jidian86
        ...
    
    But it could not be called from “gnome-control-center region”,
    not setup icon did appear for the ibus-table engines.
    
    To make this work, a desktop files
    
        /usr/share/applications/ibus-setup-{...}.desktop
    
    need to be added where {...} is the engine name up to the first “:”
    character. When the engine names are just the table names
    (“cangjie3”, “wubi-jidian86”, ...), each table would need to
    supply its own .desktop file
    
        /usr/share/applications/ibus-setup-cangjie3.desktop
        /usr/share/applications/ibus-setup-wubi-jidian86.desktop
        ...
    
    That is not nice, especially as many tables are in different rpm packages.
    It is better to have just a single .desktop file
    
        /usr/share/applications/ibus-setup-table.desktop
    
    This can be used for all engines if the ibus engine names are changed like:
    
        cangjie3 → table:cangjie3
        wubi-jidian86 → table:wubi-jidian86
        ...
    
    because only the part before the first “:” in the ibus engine name
    is used by gnome to decide which desktop file to use.
    
    The desktop file contains a line like:
    
        Exec=/usr/libexec/ibus-setup-table
    
    and the setup tool is is called by Gnome without any command line
    arguments. But Gnome sets the enviromnent variable IBUS_ENGINE_NAME
    to the engine name when calling the setup tool.
    
    So I changed the setup tool to work like this:
    
        IBUS_ENGINE_NAME=table:cangjie3 /usr/libexec/ibus-setup-table
    
    or
    
        /usr/libexec/ibus-setup-table --engine-name table:cangjie
    
    (The command line option is preferred over the environment variable
    when both are given).

commit 491a83fad777e3c451ba1bdecc8a0452d71176fa
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Mar 7 14:56:36 2014 +0100

    Make it possible to interrupt the setup tool with Control-C from the command line

commit 668469998fafc4be52b6a51a290f8e998caa8034
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Fri Mar 7 12:46:57 2014 +0100

    add autogenerated files table.xml and ibus-table-createdb.1 to .gitignore

commit c295c6f9a1d7de2e82ee92b4a38499af6f54ff8c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Mar 6 14:29:14 2014 +0100

    add autogenerated files version.py ibus-setup-table to setup/.gitignore

commit 7284a2b96d1b3905a29b28034feffbf16941bac3
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Mar 6 14:26:52 2014 +0100

    Remove trailing whitespace and fix some spelling mistakes in comments

commit 0adf55500aac6cda98e43f08561f59c78b254080
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Mar 6 08:46:09 2014 +0100

    Correct description of toggle_tab_py_mode() and cycle_next_cand()

commit 72cd5718c8e912ba14be220e5be7421bede02303
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Mar 6 08:33:45 2014 +0100

    Fix spelling mistake in variable name

commit 29666688c03590f285307aface392071f0b1f800
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Mar 6 08:37:52 2014 +0100

    Remove unused speedmeter code which has already been commented  out

commit f7e9ae9b96aa79fb71e30c6a4c004e3833f87b9c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Mar 5 16:35:41 2014 +0100

    Don’t try to set _prev_char in commit_string() when an empty string is committed
    
    Without this fix one can produce a backtrace by using “wubi-haifeng86”
    and typing “dkl” followed by “Shift” and “Space”.
    
    After “Shift” the preëdit is empty and “Space” commits and empty string
    then. This leads to the following backtrace:
    
    Traceback (most recent call last):
      File "/local/mfabian/src/ibus-table/engine/table.py", line 1589, in do_process_key_event
        result = self._process_key_event (key)
      File "/local/mfabian/src/ibus-table/engine/table.py", line 1611, in _process_key_event
        return self._table_mode_process_key_event (key)
      File "/local/mfabian/src/ibus-table/engine/table.py", line 1824, in _table_mode_process_key_event
        self.commit_string (sp_res[1])
      File "/local/mfabian/src/ibus-table/engine/table.py", line 1516, in commit_string
        self._prev_char = string[-1]
    IndexError: string index out of range

commit 053a37ad1f19f5affd02befbe2af52adac1e46d7
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Mar 5 16:19:34 2014 +0100

    use editor.commit_to_preedit() instead of deleted editor.l_shift ()
    
    Resolves: rhbz#1072940 - Left Shift stopped work for ibus-table-1.5.0.20140218-1.fc20.noarch
    See also: https://bugzilla.redhat.com/show_bug.cgi?id=1072940
    
    Was broken by:
    
    https://github.com/kaio/ibus-table/commit/fb11d92439fe4bd55fcad480d3998a17434f6870
    
    commit fb11d92439fe4bd55fcad480d3998a17434f6870
    Author: Caius "kaio" CHANCE <me@kaio.net>
    Date:   Mon May 6 21:05:35 2013 +1000
    
        Issue #17:
        Removed excessive instance creation of IBusLookupTable in editor class.
        Removed

commit 0ebecfd0c97966f6c9d0b462cc93868f0a8f4077
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Mar 3 17:15:54 2014 +0100

    Port ibus-table from Python2 to Python3
    
    I kept it working with Python2 for the moment, but in the long run
    it is probably not worth the maintenance effort to keep it working
    with Python2.
    
    - I added stuff like
    
         if type(s) != type(u''):
             s = s.decode('UTF-8')
    
      for compatibility with Python2.
    
      http://docs.python.org/3/whatsnew/3.3.html says:
    
      > • The u'unicode' syntax is accepted again for str objects.
    
      So the above compatibility hack does not work for Python3 < 3.3.
    
    - define our own compatibility function
    
        def ascii_ispunct(character):
            if character in '''!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~''':
                return True
            else:
                return False
      instead of using ascii.ispunct() from “from curses import ascii”
      to get the intended behaviour both in Python2 and Python3:
    
        $ python3
        Python 3.3.2 (default, Feb 19 2014, 14:35:19)
        [GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] on linux
        Type "help", "copyright", "credits" or "license" for more information.
        >>> from curses import ascii
        >>> ascii.ispunct('.')
        True
        >>> ascii.ispunct('a')
        False
        >>> ascii.ispunct('☺')
        True
        >>> ascii.ispunct(u'a')
        False
        >>> ascii.ispunct(u'☺')
        True
        >>> ascii.ispunct(u'あ')
        True
        >>>
    
        $ python2
        Python 2.7.5 (default, Feb 19 2014, 13:47:28)
        [GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] on linux2
        Type "help", "copyright", "credits" or "license" for more information.
        >>> from curses import ascii
        >>> ascii.ispunct('.')
        True
        >>> ascii.ispunct('a')
        False
        >>> ascii.ispunct('☺')
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
          File "/usr/lib64/python2.7/curses/ascii.py", line 63, in ispunct
            def ispunct(c): return _ctoi(c) != 32 and not isalnum(c)
          File "/usr/lib64/python2.7/curses/ascii.py", line 50, in _ctoi
            return ord(c)
        TypeError: ord() expected a character, but string of length 3 found
        >>> ascii.ispunct(u'a')
        True
        >>> ascii.ispunct(u'☺')
        True
        >>> ascii.ispunct(u'あ')
        True
        >>> ascii.ispunct(u'a'.encode('ascii'))
        False
        >>>
    
    Python3

commit e52f7dfcf4c63024f3ab98084d7ddffeb5a8abdf
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Mar 6 07:49:32 2014 +0100

    Add profiling support
    
    Write profiling information into the debug log when started with
    “--profile”.
    
    The profiling information appears automatically in the debug log after
    “ibus restart” when profiling is enabled.

commit 893b999bee1de649dd1864b551e43974e42808e8
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Mar 3 13:15:08 2014 +0100

    Use @PYTHON@ instead of just 'python' in ibus-setup-table.in
    
    To get it replaced by the correct python interpreter when
    doing something like:
    
    PYTHON=python3 ./configure

commit 18797b2f515c1669c89ff59fd0ab5050b741974f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Mar 4 13:57:01 2014 +0100

    Fix directory for setup tool
    
    It is in /usr/libexec/ibus-setup-table on Fedora.

commit 1c437bf6896874903a6c0b1b496b93b54790bcbc
Merge: fc6ce51 16a4f1c
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Mon Mar 3 21:21:53 2014 +1000

    Merge pull request #27 from mike-fabian/fix-saving-database-periodically-for-gobject-introspection-and-a-patch-from-leftmostcat
    
    Fix saving database periodically for gobject introspection and a patch from leftmostcat

commit 16a4f1c5691f20141fba2ecf363b66945012defb
Author: Seán de Búrca <leftmostcat@gmail.com>
Date:   Wed Sep 4 23:41:15 2013 -0600

    Allow tables to specify a symbol for display

commit cca58cc8ab2e6bff3081454b6028bb6c0ac798bf
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Feb 18 20:15:13 2014 +0100

    Fix the commit “Save user database periodically to avoid data loss” to use gobject introspection
    
    This fixes the following commit to use gobject introspection:
    
    commit 5d88bb3fef806f4feaef239e4fd78970e19d115a
    Author: mozbugbox <mozbugbox@yahoo.com.au>
    Date:   Sun Oct 28 19:32:22 2012 +0800
    
        Save user database periodically to avoid data loss
    
        Periodically sync mudb content to usrdb so we don't loss user created
        phrase and freq when crash.
    
        Currently the interval is set to 16 input ops or 30 seconds between
        saving.

commit fc6ce511c7eb483e8bee8e9cf5bb2b8f9e3881f8
Merge: f68e73c c888c5d
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Tue Feb 4 22:46:44 2014 -0800

    Merge pull request #26 from mike-fabian/update-german-translations
    
    Update german translations

commit c888c5d68d0fc03b9306520bec1528b168da0740
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Feb 3 11:14:27 2014 +0100

    Update German translations

commit 0ac3e535dd41db916ceebe73ef84b4e6fb7b98b6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Feb 5 05:42:16 2014 +0100

    Remove print statements for debugging
    
    I forgot to remove them in
    
    commit 7919d0326f1516164ea94b69137c88625b767f88
    Author: Mike FABIAN <mfabian@redhat.com>
    Date:   Tue Feb 4 15:52:45 2014 +0100
    
        Make the property “Display Candidates/Hide Candidates” actually work

commit f68e73c982dba42a984cd5cb7c497efb458b1b14
Merge: 9404fa6 0632dc9
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Tue Feb 4 15:20:32 2014 -0800

    Merge pull request #20 from mozbugbox/ascii-with-empty-canadidate
    
    Ascii with empty canadidate

commit a4144337912c6e9fce1e321b2b0d1b94db89d689
Merge: c01120b 20913ab
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Tue Feb 4 15:18:38 2014 -0800

    Merge pull request #21 from leftmostcat/master
    
    Allow tables to specify a symbol for display

commit 9404fa6a9729d1b89524f7454bb7b6f4a3c43586
Merge: fe11a0c c5a60f6
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Tue Feb 4 15:16:32 2014 -0800

    Merge pull request #25 from mike-fabian/add-check-for-input-purpose-for-passwords
    
    Add check for input purpose for gnome-shell password dialog

commit fe11a0c32124618a35f21bcc5d31c7c54d9b6477
Merge: 1d2f442 7919d03
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Tue Feb 4 14:55:23 2014 -0800

    Merge pull request #24 from mike-fabian/make-hide-candidates-work
    
    Make the property “Display Candidates/Hide Candidates” actually work

commit 1d2f442be9754759339bdde90b6d492f67012bf5
Merge: d782b07 076bb39
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Tue Feb 4 14:55:03 2014 -0800

    Merge pull request #23 from mike-fabian/print-usage-message-when-tabcreate-is-called-without-options
    
    Print usage message when tabcreate is called without options

commit c5a60f60578f681059e821f476e8e9f61102718d
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Feb 4 16:20:11 2014 +0100

    Add check for input purpose for gnome-shell password dialog
    
    Resolves: rhbz#1061345 - ibus-table shows entered text in password fields
    (See: https://bugzilla.redhat.com/show_bug.cgi?id=1061345)

commit 7919d0326f1516164ea94b69137c88625b767f88
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Feb 4 15:52:45 2014 +0100

    Make the property “Display Candidates/Hide Candidates” actually work
    
    - There is no set_candidates_list_visible() in ibus 1.5.5.
      use hide_lookup_table() instead to hide the candidates if requested
    - also hide the auxiliary text if hiding of the candidates is requested
    - make changing of that property by changing the gconf key work
      (name == u'AlwaysShowLookup' won’t work it needs to be all lower case)
    - There was a typo here: “self._new_property(u'always_show_loopup')”
      (“lookup”, not “loopup”)
    - The property menus show the current state, not the state which will
      be switched to when the menu entry is pressed. For example,
      one property says “Half-width punctuation” when half-width punctuation
      is in use, clicking it switches to full-width punctuation and
      then the menu displays “Full-width punctuation”. The property menu
      for displaying and hiding candidates did that reversed. Make it
      behave like the other property menus do.

commit 076bb390705d2b8477323236dd997032fdb48db5
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Jan 23 23:26:57 2014 +0100

    When tabcreatedb.py is called without any options, print a usage message
    
    Do not just show a cryptic backtrace.
    
    Resolves: rhbz#1049760
    See: https://bugzilla.redhat.com/show_bug.cgi?id=1049760

commit d67c3f032fe4fa493de334bf1b5d4907293409e9
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jan 22 12:11:18 2014 +0100

    Fix typo in ibus-table-createdb man-page
    
    "for for" -> "for"

commit 20913ab847d393dfbce07fcac8b5538a5b351605
Author: Seán de Búrca <leftmostcat@gmail.com>
Date:   Wed Sep 4 23:41:15 2013 -0600

    Allow tables to specify a symbol for display

commit 0632dc94931f73cffa99b3163c2cf7b15e48111a
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sat May 18 20:21:34 2013 +0800

    Remove accidentally added engine/* files
    
    Somehow, the engine directory was added. clean it up.

commit 2413853c1a2ffc708250d2548cafe95792b22678
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sat May 18 20:04:03 2013 +0800

    remove vim backup files

commit 05a065b34970cdeb71c2e3f80312e6d0be967b19
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sat May 18 19:56:41 2013 +0800

    Update setup to dconf with lower case options

commit acd03a472215d43dc17bed4a2b9dbe29f7aa5817
Merge: 4d18a67 d782b07
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sat May 18 17:55:30 2013 +0800

    Merge remote-tracking branch 'kaio/1.7' into ascii-with-empty-canadidate
    
    Conflicts:
    	engine/table.py

commit 4d18a67d8b0bc0fbe0999f330769707611d11eea
Merge: cd11209 2467638
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sat May 18 17:46:20 2013 +0800

    Merge remote-tracking branch 'kaio/1.7' into ascii-with-empty-canadidate
    
    Conflicts:
    	engine/main.py
    	engine/table.py

commit d782b07861c40b22aafa81aa779f4eb76ed08fce
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Mon May 6 22:21:01 2013 +1000

    Indent 4 spaces on README to support MarkDown on wiki page.

commit 6f0702c742cd8ef30f375a3db28552b6e9bb9338
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Mon May 6 21:43:08 2013 +1000

    Removed unused commented-out code.

commit ba990fe42d0ebab241f35a1f4f7cd1e1a911cc3f
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Mon May 6 21:37:15 2013 +1000

    Clear all input when "focus-out" (switch to another window/input-fields, etc).

commit cb6e11a222f44e985e0632f81c4b2622e25d215a
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Mon May 6 21:17:06 2013 +1000

    Fixed mis-refactor of cursor_up as cursor_down in editor class.

commit fb11d92439fe4bd55fcad480d3998a17434f6870
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Mon May 6 21:05:35 2013 +1000

    Issue #17:
    Removed excessive instance creation of IBusLookupTable in editor class.
    Removed

commit 24676389e9f218b7972283493096acd3e1a13f8e
Merge: 763f181 d246000
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Sun May 5 21:14:19 2013 +1000

    Merge branch 'rename_editor_func_from_key_combo_to_behavioral_naming_base' into 1.7

commit d246000eb6686316026572fb65888ad29337dcf4
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Sun May 5 20:48:31 2013 +1000

    Renamed funcs in editor class from keyboard-input based to behavior based.

commit 763f181149dff0b84dc0dde0bb334903e40c0b8b
Merge: 79fa67e d70d66f
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Thu May 2 14:41:26 2013 +1000

    Issue #14: Merge branch 'refactor_convert_to_full_width' into 1.7

commit d70d66f25f8a4e9be1bfd6558dfde11a40bf4202
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Thu May 2 14:35:21 2013 +1000

    Added back unicode string spec to condition check in _convert_to_full_width (self, c).

commit 2554d6091f413975dd4886b89c5d57776603f955
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Thu May 2 14:26:02 2013 +1000

    WIP: Removed excessive condition check.

commit 24091c51a67e8b134b7db3dbe613990fdc44ab6f
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Thu May 2 14:21:23 2013 +1000

    WIP: Combined two dicts into single dict. Simplified the condition checks.

commit f748d5e51ad4b2c68c5d883b4819860389458c85
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Thu May 2 11:15:16 2013 +1000

    WIP: Extracted more condition checks to dict.

commit 7e826b7d4e7b30bdbcfe867be2ca744e22380142
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Thu May 2 10:22:12 2013 +1000

    WIP: Jump right to later half of conditions when _mode isn't true.

commit a2e6215d1fcf07aba6f03bc4b88bffee1a785884
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Thu May 2 09:40:05 2013 +1000

    WIP: Removed excessive condition check on char eligiblity.

commit 79fa67e529dff3562580f16c5138ff4c54309eb7
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Wed May 1 21:31:46 2013 +1000

    Extract repeating code from _init_properties(self) to _new_property(self,key).

commit c01120bb6856445327270b2e53ca36099196a326
Merge: 9745b53 a42c1d3
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Mon Apr 29 20:26:36 2013 +1000

    Merge remote-tracking branch 'bernardn/master' into 1.6
    
    Conflicts:
    	engine/table.py

commit 9745b5384c3328cd7db994baab7301f6367b5ee4
Merge: 764a8c7 757a88e
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Sun Apr 28 22:05:24 2013 +1000

    Merge remote-tracking branch 'origin/master' into 1.6

commit 757a88e4eee512e478c6692f39b8e346a95aba5a
Merge: 7a3f0d9 04e3be2
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Sun Apr 28 05:04:07 2013 -0700

    Merge pull request #7 from luolimao/master
    
    Explicit python2 for compatibility

commit 764a8c7251a9078bda22c544796c77b81ec2d581
Merge: 68f25cb 367c146
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Sun Apr 28 21:25:56 2013 +1000

    Merge remote-tracking branch 'anthonywong/master' into 1.6

commit 68f25cb5c82dc87bd18b84afc9146435c9490944
Merge: b7da6e8 02ddfba
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Sun Apr 28 21:12:43 2013 +1000

    Merge remote-tracking branch 'mozbugbox/tooltip-show-hotkey' into 1.6
    
    Conflicts:
    	engine/table.py

commit b7da6e8a66a455fc0ed9270fe1f2c0638c1b1211
Author: Anthony Wong <anthony.wong@ubuntu.com>
Date:   Tue Dec 4 00:39:06 2012 +0800

    Catch exception when reading ~/.ibus/byo-tables so the process won't halt.
    
    Conflicts:
    	engine/main.py

commit 5f274590b27068cc3dca08899a8831aa38f647e6
Merge: e32bda3 f5e8e37
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Sun Apr 28 20:36:52 2013 +1000

    Merge remote-tracking branch 'bernardn/auto_select_two_candidates_inputs' into 1.6

commit e32bda3276868d140d74a9f4291b4bb475a2215d
Merge: ea2795b 5d34900
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Thu Apr 25 21:51:36 2013 +1000

    Merge remote-tracking branch 'bernardn/candidates_list_visible' into 1.6
    
    Conflicts:
    	engine/table.py

commit ea2795bdcd5ab6d67e865f3e5fc715096d59d0a6
Merge: c029e9f 99b16e2
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Fri Apr 19 02:03:58 2013 -0700

    Merge pull request #12 from mike-fabian/add-man-page-and-apply-autoselect-dconf-value-immediately
    
    Add man page and apply autoselect dconf value immediately

commit 99b16e2159ba4234f4f804fe10348c9f3b2a8000
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Apr 18 12:10:50 2013 +0200

    Add man page for ibus-table-createdb
    
    See https://bugzilla.redhat.com/show_bug.cgi?id=948454

commit 5d34900e60b4abd582b69feb3d843fe2e4cee695
Author: Bernard Nauwelaerts <bernard.nauwelaerts@credoc.be>
Date:   Mon Mar 25 17:10:47 2013 +0100

    Add always_show_lookup property

commit f5e8e371d6738385e7a97b0f62994947c116a137
Author: Bernard Nauwelaerts <bernard.nauwelaerts@credoc.be>
Date:   Mon Mar 25 12:22:51 2013 +0100

    auto_select : commit when enter key pressed.

commit ef81ce4ec029f3b03bda347e0e469d94d101937e
Author: Bernard Nauwelaerts <bernard.nauwelaerts@credoc.be>
Date:   Mon Mar 25 11:24:47 2013 +0100

    auto_select : commit when tab key pressed.

commit 3b78b86df6171ac4add0c4df7d7ae5eeb18a7e91
Author: Bernard Nauwelaerts <bernard.nauwelaerts@credoc.be>
Date:   Mon Mar 25 11:23:51 2013 +0100

    auto_select : commit previous entry when the last one has also candidates.

commit c2fbde2fc7dcb0b2b09c8300ae079240ec790266
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Mar 5 07:37:43 2013 +0100

    Apply change in autoselect dconf value immediately
    
    Changing the other dconf values was applied immediately but
    this did not yet work for the “autoselect” option, recently
    added by Bernard Nauwelaerts.

commit 458420dda7e4a353b4d912641d12bda1731f01f0
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Mar 5 06:44:55 2013 +0100

    Fix typos in comment

commit c029e9f132a044265b92822e01e95df6165b9cd5
Merge: d31c8d9 9497457
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Sun Feb 17 01:26:48 2013 -0800

    Merge pull request #10 from mike-fabian/mike-collected-changes-on-kaio-1.6-branch
    
    Mike collected changes on kaio 1.6 branch

commit 949745757b8028c40c30d9fb8f230536faacb98b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Feb 4 19:33:59 2013 +0100

    Support uppercase umlauts
    
    Needed for translit.txt and translit-ua.txt. This should be solved in
    a better, more generic way. But at the moment this patch is better
    than nothing.

commit 9eb482d08c541ed042a3946be8c9a4a343b532b4
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Jan 10 11:37:59 2013 +0100

    Changes in dconf values now get applied immediately
    
    Changing values of dconf keys for example with
    
       dconf write /desktop/ibus/engine/table/cangjie3/chinesemode 3
    
    was not applied immediately to the ibus-table engine, only
    when changing to a different input method and back this
    change was applied.
    
    This commit fixes this problem.

commit 3b7a3530c42766b801cded26b3bc269222c3fb0a
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Feb 14 18:21:57 2013 +0100

    Preedit needs to be updated on page-up and page-down
    
    When paging through the lookup table, the preedit needs to be updated
    to show the phrase selected by the cursor in the lookup table. Before
    this patch, the preedit was not updated and when commiting the
    character selected in the lookup table suddenly replaced the character
    in the preedit. This differed from the behaviour when moving through
    the lookup table with the arrow-up and arrow-down keys.
    Using page-up and page-down or the arrow icons at the bottom
    of the lookup table should also update the preedit just like it
    is done when the arrow-up and arrow-down keys are used.

commit a42c1d351e3b1264186f99e5d0febc784063ffb9
Author: bnauwelaerts <bnauwelaerts@cli0189.fednot.be>
Date:   Thu Feb 7 10:30:23 2013 +0100

    Defaults _auto_select to False for tables that doesnt contain this attribute

commit 3d03bd8f8c558392db42897370cef65bdbad57bd
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Feb 5 09:11:17 2013 +0100

    Fall back to auto_select = False if neither dconf nor the table have a value for auto_select

commit 2baa9c3ff258c0623b4777f2c537467339cdcef6
Author: bnauwelaerts <bnauwelaerts@cli0189.fednot.be>
Date:   Sat Feb 2 17:22:40 2013 +0100

    Update cmode pproperty in chinese mode only

commit a55783887e757f02078143c2d12031a33c9e9223
Author: bnauwelaerts <bnauwelaerts@cli0189.fednot.be>
Date:   Sat Feb 2 13:03:48 2013 +0100

    Add auto_select functionality to select the first phrase when typing. Useful for Cyrillic transliteration.

commit a85b8b90c21cafc13079c17b35cf021dbf0a6475
Author: bnauwelaerts <bnauwelaerts@cli0189.fednot.be>
Date:   Sat Feb 2 17:22:40 2013 +0100

    Update cmode pproperty in chinese mode only

commit f0f4ee216788fd901c3ef91c90f9ce4bede88862
Author: bnauwelaerts <bnauwelaerts@cli0189.fednot.be>
Date:   Sat Feb 2 13:03:48 2013 +0100

    Add auto_select functionality to select the first phrase when typing. Useful for Cyrillic transliteration.

commit 03cba776da99b05218c2b1c86f3e93d3373f253e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jan 30 07:41:54 2013 +0100

    Fix typo, thanks to Mathieu Bridon

commit 5b434df882093a3def36585582c84950ce7e3b52
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jan 28 15:15:10 2013 +0100

    add engine/chinese_variants.py to engine/Makefile.am
    
    Needed by
    
    commit f17e9b3aecea7b6646da689a466341936bce1ee3
    Author: Mike FABIAN <mfabian@redhat.com>
    Date:   Thu Jan 24 17:37:27 2013 +0100
    
        Improve detection of simplified and traditional Chinese

commit 04e3be2bb27cf4e088e7c41f01356f10b29660ce
Author: Limao Luo <luolimao@gmail.com>
Date:   Sun Jan 27 12:19:41 2013 -0500

    explicitly call python2 in shebang line for more portability

commit f17e9b3aecea7b6646da689a466341936bce1ee3
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Jan 24 17:37:27 2013 +0100

    Improve detection of simplified and traditional Chinese
    
    Resolves:  #857967 https://bugzilla.redhat.com/show_bug.cgi?id=857967
    
    see also http://code.google.com/p/ibus/issues/detail?id=1492
    “unable to write 晞 with any of the two Wubi input methods”
    晞 (wubi code = JQDH) cannot be written.
    
    - add a script generate-chinese-variants.py which parses
      Unihan_Variants.txt from the Unihan database and generates another
      Python script.  The generated Python script contains a hash table
      with information which characters are simplified, which
      characters are traditional and which characters are both and
      a small function using that hash table to detect whether a string
      is traditional or simplified Chinese or both.
    - use the generated script and function in tabsqlitedb.py instead
      of the old way to distinguish between simplified and tradtional
      Chinese which used test encoding to legacy encodings like gb2312
      and big5hkscs.
    
    The new way of simplified/traditional detection should give
    better results. 晞 from issue 1492 is now classified as both
    traditional and simplified Chinese, not only traditional as it
    was with the old detection code.

commit 1c316e066f88f9555de5407f00b4be0b076fd42c
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Jan 24 12:47:19 2013 +0100

    Make comments about _chinese_mode clearer
    
    There was one obvious typo and the comments did not explain
    the meaning of _chinese_mode clearly.

commit d31c8d94eb05a33c9eaf6c79b24cdb0b289bba76
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Wed Jan 16 07:54:56 2013 +1000

    Fixed release flag check for if timestamp is suffixed.

commit 7a3f0d9d75fd36575a5e581830c4a57b07b2e7ad
Author: Caius "kaio" CHANCE <me@kaio.net>
Date:   Wed Jan 16 07:45:35 2013 +1000

    Update author list.

commit e663a176bf797cc523be7541e0dc7318eef7466e
Merge: dca5eda 0b8bec0
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Wed Jan 9 14:44:25 2013 -0800

    Merge pull request #4 from mike-fabian/mike-fix-typo-in-chinese-mode-variable
    
    Mike fix typo in chinese mode variable

commit dca5edae81cc70d82099e9ccdca38052523196f9
Merge: ea29e27 5ecc6d9
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Wed Jan 9 14:42:31 2013 -0800

    Merge pull request #3 from mike-fabian/mike-make-cursor-in-lookup-table-visible
    
    Make cursor in lookup table always visible

commit 0b8bec02a2f510e91f1ecd4febd67fe0132e4414
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jan 9 16:59:13 2013 +0100

    When detecting the Chinese mode from the environment, also check LC_ALL
    
    LC_ALL has even higher priority then LC_CTYPE and should be checked
    first.

commit 9e963b5c813090ca389f78740e60965104944d93
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Wed Jan 9 16:53:20 2013 +0100

    Fix typo in self._chinese_mode variable
    
    When porting to GObjectIntrospection, I made a typing mistake
    in the self._chinese_mode variable. This caused a problem when
    the dconf key for “chinesemode” was not yet set. Then the property
    for selecting the Chinese mode in the ibus menu was empty and
    and selecting the empty line with the mouse just caused an error.
    
    This commit fixes this.

commit 5ecc6d941cbce800c96438c8c57bb8dc6fcf4525
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Jan 8 17:53:09 2013 +0100

    Make cursor in lookup table always visible
    
    The cursor in the lookup table was always visible before porting to
    GObjectIntrospection. So it should behave the same way after porting.

commit ea29e278c90b55f910e656f1b192df288e59d563
Merge: b899a0a 526b8cf
Author: Caius "kaio" Chance <me@kaio.net>
Date:   Tue Jan 8 00:04:24 2013 -0800

    Merge pull request #2 from mike-fabian/mike-porting
    
    Finished Xiaojun Ma’s work of porting to Gobject Introspection.

commit 526b8cf4e395dd8c6333b3ed4185596b1196fad8
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jan 7 01:49:09 2013 +0100

    finish porting to gi

commit 6d78cab7069d7873b90391a75aa5d2d15220913a
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Jan 7 01:50:14 2013 +0100

    add *.pyc to .gitignore

commit ca049a01f21852586e5ebf894513a6e7a0539ba2
Author: Ma Xiaojun <damage3025@gmail.com>
Date:   Tue Nov 20 23:33:11 2012 -0600

    start porting to gi

commit b899a0a33f015606b43ee2b63eb999dadfbb3a0e
Merge: 52ec65d 12abcdb
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Thu Jan 3 17:06:11 2013 +1000

    Merge remote-tracking branch 'mike-fabian/some-fixes-for-rel20121101' into 1.5.0

commit 367c14657c203528dac72c085b10129c4a03f9f4
Author: Anthony Wong <anthony.wong@ubuntu.com>
Date:   Tue Dec 4 00:39:06 2012 +0800

    Catch exception when reading ~/.ibus/byo-tables so the process won't halt.

commit 52ec65d94b69f8f4e06325a7cb18f0d8ed4f707a
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Fri Nov 30 17:48:03 2012 +1000

    Patch for regression of select_keys option on table sources. (bochecha)

commit cd1120969f4a5cb1269f69b349f89b3b1c434e59
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Wed Nov 21 01:04:13 2012 +0800

    Direct input ascii char for English mode on empty
    
    Do the same input untranslated ascii directly when panel is empty for
    the English mode.

commit 7a7c6fe600a917b989c514c1014047bf7c35e34f
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Tue Nov 20 23:53:15 2012 +0800

    Input untranslated ascii directly when panel is empty
    
    Some applications only accept directly input ascii as command input.
    Character fed through xim commit will not work as intent.
    
    When there were no candidates, we treated all the un-translated
    (b/w half/full width) ascii chars as direct input chars.

commit 5c5a2415680af7dee99e9bbce84872ba570ee1a4
Merge: b40c6f3 aadfdb0
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sun Nov 18 23:44:41 2012 +0800

    Merge remote-tracking branch 'kaio/ibus-setup-table-639' into save-user-db
    
    Conflicts:
    	engine/main.py

commit b40c6f3c595498e55222ca126c2e808cabe145ee
Merge: d5b9f9c d1b8d13
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sun Nov 18 21:44:22 2012 +0800

    Merge remote-tracking branch 'kaio/1.5.0' into save-user-db
    
    Conflicts:
    	engine/main.py

commit 12abcdbdc55aa1f25fcbe725ce70765b8519674e
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Nov 13 10:24:13 2012 +0100

    Do not fail if the ~/.ibus/byo-tables/ directory does not exist
    
    “/usr/libexec/ibus-engine-table --xml” aborted with an error
    if ~/.ibus/byo-tables did not exist.

commit 325158739a399c1137d48562bcee1550bd96953f
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Nov 13 09:02:38 2012 +0100

    Add some generated files to .gitignore

commit 7fa914591d2f5be7b93100f7d5ef3798b1a41399
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Nov 13 08:34:54 2012 +0100

    Add German translation

commit 8099bc679dfb78f874d77a4188e34d572edae3b6
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Nov 13 08:32:24 2012 +0100

    update zh_??.po files

commit ab19e1a63f73040bd7f423923b0e886d8c87bd54
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Tue Nov 13 07:59:07 2012 +0100

    Fix marking of translatable strings for gettext
    
    was broken in:
    
    commit 6d2ab577c41c9b07a84c049137c8184bb67f5e30
    Author: Caius 'kaio' Chance <me@kaio.net>
    Date:   Fri Oct 5 10:40:47 2012 +1000
    
        Refactor _refresh_properties() function.

commit d1b8d136a4371c77b377f9c4276c7783dc69df52
Merge: af0eb0a 37802fc
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Mon Nov 12 02:51:06 2012 +1000

    Merge remote-tracking branch 'mozbugbox/tools' into rel201212

commit af0eb0a549a803d9bbfa297251bea2f3cf8ee440
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Thu Nov 1 21:03:16 2012 +0800

    Left ALT key to cycle candidates in the current page

commit aadfdb095e313cc2446c1feb99f51cdaae40468d
Merge: 56036a6 001ee4a
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Mon Nov 12 01:55:55 2012 +1000

    Merge branch 'master' into ibus-setup-table-639
    
    Conflicts:
    	engine/main.py

commit 001ee4acf2dc01e3b8291dbdb110bce005e4d0e8
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Mon Nov 12 01:00:34 2012 +1000

    Corrected release checking in configure.ac.

commit d5b9f9caeb6cd5b0686590070d73ea8ac660b24b
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Thu Nov 1 12:22:16 2012 +0800

    Sync user db on engine destroy

commit b3e9a57f3dd8ac291adf3478a81ae8181e958e24
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sun Oct 28 23:30:54 2012 +0800

    Avoid flashing by moving combobox renderer creation to front

commit f78dffa470607b1137c629bac3f6ba01061acb47
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sun Oct 28 19:36:16 2012 +0800

    Update debian/ content

commit 5d88bb3fef806f4feaef239e4fd78970e19d115a
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sun Oct 28 19:32:22 2012 +0800

    Save user database periodically to avoid data loss
    
    Periodically sync mudb content to usrdb so we don't loss user created
    phrase and freq when crash.
    
    Currently the interval is set to 16 input ops or 30 seconds between
    saving.

commit 06ea923b4dc989e7e18f14718a634c5712141207
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sun Oct 28 19:29:43 2012 +0800

    Speedup sync_usrdb()
    
     * Remove unneeded commits
     * Clear in-memory mudb content once synced
     * return immediately if user_db is None (which means use in-memory db)

commit 37802fc37ad8f559ffa16bcb4c59f3afa4f1e2a4
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sat Oct 20 15:38:37 2012 +0800

    Skip None entries when print keyboard value.

commit c642db82e2588a6b913a090c2b7ed0ed1cd220c4
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sat Oct 13 15:23:09 2012 +0800

    Add a tool to dump ibus table database
    
    ibus-table-query is a handy tool to see what's in the phrase table
    database.
    
        $ ./ibus-table-query -t wubi-haifeng86 aeq
        Using table: /usr/share/ibus-table/tables/wubi-haifeng86.db
        mlen clen m0   m1   m2   m3   category  user_freq freq      phrase
        ==================================================================
        4    2    a|1  e|5  q|17 d|4  3         0         2292000   菜肴
        4    2    a|1  e|5  q|17 c|3  3         0         552200    菜色
        4    2    a|1  e|5  q|17 n|14 1         0         1266000   菜馆
        4    2    a|1  e|5  q|17 y|25 3         0         6350000   菜鸟
        4    1    a|1  e|5  q|17 k|11 2         0         1000      葋[U+844B]
    
        $ ./ibus-table-query -t wubi-haifeng86 菜
        Using table: /usr/share/ibus-table/tables/wubi-haifeng86.db
        mlen clen m0   m1   m2   m3   category  user_freq freq      phrase
        ==================================================================
        2    1    a|1  e|5            3         0         1132      菜[U+83DC]
        3    1    a|1  e|5  s|19      3         0         1132      菜[U+83DC]
        4    1    a|1  e|5  s|19 u|21 3         0         1132      菜[U+83DC]

commit bf91ed7464043b26fb9dbf4e33be220cb8dd09eb
Merge: d4e9471 b60898c
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Fri Oct 12 07:56:49 2012 +1000

    Merge branch 'byo-table-db-614' into rel20121101

commit b60898c58d4195cbfbd46f2de7b9adac9fb6cbc5
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Fri Oct 12 07:54:18 2012 +1000

    Improved naming of variables related to user provided (BYO) tables.

commit cf17aa8d474f0f11141c9cf1a93bf2c1ca3cb1ae
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Fri Oct 12 00:08:06 2012 +1000

    (WIP) Add database load in factory when it is not located in system table path, but in user's home directory. Path checking is still a dirty hack but worked at this stage. Need some tidy-up.

commit 56036a6a755d133a65f56f08494b04de82ce73f2
Merge: d4e9471 7689c95
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Thu Oct 11 22:07:40 2012 +1000

    Merge remote-tracking branch 'mozbugbox/ibus-setup-table' into ibus-setup-table

commit 7689c958238c18c86972cc7964d4cf7d26a29e51
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Thu Oct 11 16:25:53 2012 +0800

    Setup: Add table information to About page

commit e05c13fecc7957433066e34027864f7fc6db66e7
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Thu Oct 11 15:35:30 2012 +0800

    Add an ibus-table-setup to set ibus table engine
    
    The setup app can be accessed from:
      ibus Preferences -> Input Method -> select a method -> Preferences
    
    The code and ui were adapted from
    
     * ibus-setup-pinyin
     * https://github.com/maxiaojun/ibus-table-setup

commit d4e9471570481dd22a9a28e1473813ed4cf57582
Merge: e24b74a 87e2bf7
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Thu Oct 11 10:29:14 2012 +1000

    Merge branch 'space-key-for-lookup-next-page-861' into rel20121101

commit 87e2bf7288aae20a46cc76939a110b511fd60b79
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Thu Oct 11 10:24:31 2012 +1000

    Recognize space key as page_down/next-page, if a table specified it as one of the page_down_keys.

commit e24b74a7243a946dff4639d9c686ac72d57e114e
Merge: 7419897 eadb7bf
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Wed Oct 10 13:25:13 2012 +1000

    Merge branch 'page-size-from-table' into rel20121101

commit eadb7bf9a833978a152d3537a73223ec45701025
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Wed Oct 10 13:23:37 2012 +1000

    Add fallback of lookup page size, determined by number of candidate select keys.

commit 741989758a9f858897586158db18893a2bc0bab9
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Tue Oct 9 00:11:45 2012 +0800

    Add a "." to candidate label text

commit 2ad241d7a32357b4783217be3035eb2597c30611
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Mon Oct 8 17:26:24 2012 +0800

    Make select_keys actually functional
    
    Tables can actually use the SELECT_KEYS setting to make select
    keys non-integer. Useful for Four Corner Input like IM.

commit 02ddfba26e47bdffc5a6a22d299d06d49d7bc1ea
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Sun Oct 7 17:12:14 2012 +0800

    Add button hotkey info to the input panel tooltip text

commit 1c3d1d6be632539cbe05e5f7a51a907f4706285b
Merge: 4f9689c b9cec4c
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Sun Oct 7 18:20:08 2012 +1000

    Merge branch 'lookup-orient-from-table-1475' into rel20121101

commit b9cec4cef0d1ebf72a6922fd3c3a29315c0fd4eb
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Sun Oct 7 18:17:34 2012 +1000

    Get default lookup orientation per table from table sources.

commit 56bd4621e5f8713f790e5de0ed7b7740113bee1d
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Sat Oct 6 22:48:49 2012 +1000

    WIP to get table .db files in user home directory. Path in factory.py also needs changes.

commit 4f9689c395b78b22ae391d2e786f53670893bb20
Merge: 1925a75 97cee5a
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Sat Oct 6 18:16:29 2012 +1000

    Merge branch 'page-size-from-table' into rel20121101

commit 1925a759c148147d508fb483a2b475cc2b3e931c
Merge: 0d7670d 6d2ab57
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Sat Oct 6 18:16:11 2012 +1000

    Merge branch 'refactor-set-property' into rel20121101

commit 0d7670d32c86cd63a4f98beb05e095348607cb58
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Sat Oct 6 18:15:11 2012 +1000

    Update ChangeLog.

commit 97cee5a8324ce2aca99f3465cc37a507bd8bbcf5
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Sat Oct 6 17:35:09 2012 +1000

    Add page_size property for the tables.

commit 6d2ab577c41c9b07a84c049137c8184bb67f5e30
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Fri Oct 5 10:40:47 2012 +1000

    Refactor _refresh_properties() function.

commit f118dba1b194a6adb6c4854da74d2fa297f077e7
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Wed Oct 3 17:11:46 2012 +1000

    Updated PO files.

commit 3675a495799cfa68da825350e449c45f5ceeac68
Merge: f124c26 2cd1650
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Wed Oct 3 17:01:32 2012 +1000

    Merge remote-tracking branch 'mozbugbox/page-up-down-config' into rel20121001

commit 2cd1650663086e7a00f92a9eb7661c738351c39c
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Fri Sep 28 00:26:28 2012 +0800

    Make page up/down keys configurable

commit f124c2608e50796671ca518248dc68c716a7204d
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Thu Sep 27 22:45:30 2012 +0800

    Fill input panel on demand. Huge GUI respond speedup
    
    Huge speedup on ibus-table GUI repsond time when using a large phrases
    table.
    
    Currently, all the candidate phrases are created in the input panel
    before shown to the users, while only 6 of the candidates actually show
    up on the panel. For a phrase table with a lot of phrases, the candidate
    list can contain more than 3000 entries, especially when only the 1st
    key is entried.
    
    3000 candidates will cause 3000 input widgets being generated before the
    first 6 candidates were show to the users. This can make the GUI update
    lagging up to a few seconds depending on the speed of the CPU. This is
    at least O(n).
    
    In this optimzed code, only 6 candidate widgets were generated at a
    time. More candidate widgets will be generate on next-page/previous-
    page action. Now we are O(1) for the GUI part of panel update.

commit 14d46a0f8cd9d565db3548166873548a0cff9f80
Author: mozbugbox <mozbugbox@yahoo.com.au>
Date:   Thu Sep 27 22:41:25 2012 +0800

    Remove unneeded sort in select_words(), speedup
    
    Since sql query statement already sorted (ORDER BY) the result, remove
    the unneeded sort operation.
    
    Sorting with a python compare function is terribly slow for large list.

commit 2a9a21fc7da056dfd599145198f9d36b33171bd8
Merge: 4c358f7 9d8a722
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Tue Sep 18 11:04:29 2012 +1000

    Merge remote-tracking branch 'mike-fabian/acevery-master-fix-ipa-x-sampa-rhbz856903' into rel20121001

commit 4c358f755ddacf2117b91123490bad2fd85380cc
Merge: e90dc05 c219fd9
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Thu Sep 13 23:34:09 2012 +1000

    Merge remote-tracking branch 'mike-fabian/acevery-master-improve-chinese-category-check-rhbz856320' into rel20121001

commit 9d8a7228fca7615b8a3b7f74f7bf8cfe7861fe8b
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Sep 13 15:32:10 2012 +0200

    Fix ipa-x-sampa table and phrases containing spaces in emoji-table
    
    Currently there is a regular expression which filters out several
    lines defining valid phrases. The emoji-table for example has phrases
    containing spaces which are currently filtered out and the ipa-x-sampa
    table has trailing comments which are filtered out as well.
    
    In phrase_parser, the phrases are parsed like:
    
    xingma, phrase, freq = unicode (l, "utf-8").strip ().split ('\t')[:3]
    
    Therefore, it seems reasonable to change the regular expression checking
    for a table line containing a phrase definition to accept every
    line which has 3 columns seperated by tabs followed optionally
    by more columns also separated by tabs (the optional columns are ignored,
    i.e. they are just comments in the table source).
    
    See: https://bugzilla.redhat.com/show_bug.cgi?id=856903

commit c219fd9aed3c24dc6405ef88991ef178caf29f91
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Thu Sep 13 12:43:55 2012 +0200

    Improve check whether a phrase is simplified or traditional Chinese
    
    The improvement is to ignore all non-Han characters when
    doing the check.
    
    This is to avoid classifying a simplified Chinese string as
    traditional just because it happens to include some non-Chinese
    characters, for example box drawing characters, which cannot be
    converted to gb2312 but happen to be convertible to big5hkscs.
    
    This fixes the problem in the emoji-table input method that most
    phrases cannot be input at all.
    
    See: https://bugzilla.redhat.com/show_bug.cgi?id=856320

commit e90dc055de4e5ecda91ae03144be9731c8376989
Merge: ce79966 84c287f
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Thu Sep 6 08:28:32 2012 +1000

    Merge remote-tracking branch 'acevery/master' into rel20121001
    
    Conflicts:
    	engine/table.py

commit 84c287f1a7e261c32e7b4a18d7f488ae3d78da75
Author: Yuwei Yu <acevery@gmail.com>
Date:   Wed Sep 5 20:46:09 2012 +0800

    exclude control characters from input range

commit edd01646dca3599f1e9a838b9ab9813e1477bd3d
Author: Yuwei Yu <acevery@gmail.com>
Date:   Wed Sep 5 01:35:56 2012 +0800

    remove repeat unichr; remove blank lines in table.py

commit 50692ab9599c3845bc9f29cb0516ee78b6b0eda0
Author: Yuwei Yu <acevery@gmail.com>
Date:   Wed Sep 5 01:22:55 2012 +0800

    fix non-ASCII input key bug

commit ce7996600810421020c6904749213b73a7eb2dff
Merge: d4c5fad 3ba23ba
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Tue Sep 4 22:35:46 2012 +1000

    Merge commit '3ba23ba4667818c096639acb3920b50994263ef4' into rel20120901
    
    Conflicts:
    	tables/additional/latex.txt

commit d4c5fad5ad5bd80ad34d8e96bd1d1d48dc21973d
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Tue Sep 4 21:58:01 2012 +1000

    Updated version number and ChangeLog.
    Rebuilt PO files.

commit 3ba23ba4667818c096639acb3920b50994263ef4
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sat Aug 11 15:00:27 2012 +0800

    further remove 'additional' stuff

commit 2b9fb58e532ea9ea51800e7e177fb9c30d0ccb8f
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sat Aug 11 14:38:08 2012 +0800

    remove compose.db, latex.db; fix #1026

commit 1bc85cd6e72eb0e30cd413ad0f4dde65dd8fc73f
Merge: 7a28618 e015065
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sat Aug 11 13:16:04 2012 +0800

    Merge branch 'master' of github.com:maxiaojun/ibus-table

commit 7a28618143bf702ea52858df2d0a54b185e9c400
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sat Aug 11 13:11:02 2012 +0800

    respect language_filter property; a better way to fix #1188

commit e0150650b3fbbaf3d4b97a48d95620caa2342786
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sat Aug 11 13:11:02 2012 +0800

    respect language_filter project; a better way to fix #1188

commit 932abeea7511ae733d029f466260d3710a09b5e1
Author: Mathieu Bridon <bochecha@fedoraproject.org>
Date:   Sat Aug 11 12:45:58 2012 +0800

    trivial change

commit cb0abbd63040dd37f78628d595905faabd55de7f
Author: Mathieu Bridon <bochecha@fedoraproject.org>
Date:   Sat Aug 11 12:45:17 2012 +0800

    add language_filter property

commit 6f90e9c27491f169138abde9c85350838d28104e
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sat Aug 11 11:42:28 2012 +0800

    a better way to fix #1474

commit d752b0274768e6d593c32cefebecdc24e197dbf0
Merge: eaa6927 2c8d938
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Thu Aug 9 17:04:33 2012 +1000

    Merge remote-tracking branch 'fujiwarat/master' into rel20120901

commit eaa692761096f527c5ae7c663612cce0dbfb5b56
Merge: f3a8c98 13d3f16
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Wed Aug 8 21:07:23 2012 +1000

    Merge remote-tracking branch 'maxiaojun/master' into rel20120901

commit f3a8c98972877dee89ed51c1a0a067eb5c84b4a9
Merge: e31b470 277814c
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Tue Aug 7 23:32:23 2012 +1000

    Merge branch 'menu-label' into rel20120901
    
    Conflicts:
    	engine/table.py

commit 277814cac5d5dcd46bfb17574553a744f7a61e78
Author: Caius 'kaio' Chance <me@kaio.net>
Date:   Tue Aug 7 21:41:20 2012 +1000

    Add labels for property for self-descriptive, when menus are embedded in traybar.

commit 13d3f16498efc3683d7392d5c0e2342a01f90d35
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sun Jul 1 22:28:28 2012 +0800

    trivial change

commit 8506e81fde93c5136d63888f6408dc5a88e23b4c
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sun Jul 1 22:23:32 2012 +0800

    add value-changed signal handler for config; prepare for #639

commit 225fe2f4477ab7798dbbb753de60a1f748646d47
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sun Jul 1 11:11:49 2012 +0800

    trivial change

commit c3236d649a13329fdf8e5067a5421bfbb27be9d0
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sun Jul 1 11:08:07 2012 +0800

    add per table lookup table orientation; fix #1475

commit edf6fc4c80dc98869e5db692a3e5126996de1b58
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Sun Jul 1 10:41:09 2012 +0800

    fix #704

commit e092b5b65393a6795361823a69959b6ab46c5eba
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Wed Jun 27 23:18:16 2012 +0800

    add per table chinese mode; fix #1188

commit d93a3ff13f69c431c851fe663138e143bfe953e7
Author: Xiaojun Ma <damage3025@gmail.com>
Date:   Wed Jun 27 23:01:02 2012 +0800

    add per table page size; fix #1474

commit e31b4706825cbf1c1256c555323c4d87ec1610d8
Merge: e04a10b 0e89c17
Author: Caius Chance <me@kaio.net>
Date:   Sat Mar 10 00:15:15 2012 +1000

    Merge remote-tracking branch 'mvv/python-path-fix' into rel20120309

commit e04a10b15dff4b3322cbe752e99e761b372d2c5b
Merge: 820ee65 418ea16
Author: Caius Chance <me@kaio.net>
Date:   Sat Mar 10 00:14:42 2012 +1000

    Merge remote-tracking branch 'mvv/coloncolon' into rel20120309

commit 820ee65a18e8f966372959bab88a542d084e0357
Merge: 6ac623b 5eef930
Author: Caius Chance <me@kaio.net>
Date:   Fri Mar 9 23:48:09 2012 +1000

    Merge remote-tracking branch 'seanf/master' into 2012-03-09
    
    Conflicts:
    	po/zh_CN.po
    	po/zh_HK.po
    	po/zh_TW.po

commit 6ac623ba7b7a59b7032d1916ee53bd249801dd28
Author: Caius Chance <me@kaio.net>
Date:   Fri Mar 9 19:06:05 2012 +1000

    - Add direct input of Chinese bracket to mid-brackets and large-brackets.

commit a44d50c6face110c7cd1252067eade3f8a9193e8
Author: Yuwei Yu <acevery@gmail.com>
Date:   Wed Mar 7 15:16:49 2012 +0800

    add _mo into locale test

commit d4df7ed4c361a30f9c5d505e9ffc8b5fc7c163a7
Author: Yuwei Yu <acevery@gmail.com>
Date:   Tue Mar 6 01:06:50 2012 +0800

    modify locale detecting code

commit 487d9b6825492498cfc1f49b66e243c2eb4c5bcf
Author: Yuwei Yu <acevery@gmail.com>
Date:   Mon Mar 5 08:57:08 2012 +0800

    enable en_HK user to use chinese mode

commit 24596c02c86a0453c59485f8b0031279803f1581
Author: Yuwei Yu <acevery@gmail.com>
Date:   Sun Oct 2 11:53:53 2011 +0800

    add some key for translit; fix #1318

commit 8b54742f9648366abe8690513289337a43254621
Author: Yuwei Yu <acevery@gmail.com>
Date:   Mon Aug 1 23:53:46 2011 +0800

    add NOSYMBOL to be a null target phrase

commit 5eef930473edc31588444762bbbda5273fc6feff
Author: Sean Flanigan <sflaniga@redhat.com>
Date:   Tue Jul 26 17:31:19 2011 +1000

    modify English text for clarity

commit 418ea16b60614657285d23e31b511c41185322f8
Author: Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
Date:   Sat Jun 18 17:10:31 2011 +0700

    Added \coloncolon to the LaTeX table.

commit 0e89c1738bf7722e1bd39c00b9d7f8e9214a05c5
Author: Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
Date:   Sat Jun 18 16:20:49 2011 +0700

    Use Python executable found by autotools in scripts.

commit 4a35882e82c8d879252e4518974feba60ba802c1
Author: Yuwei Yu <acevery@gmail.com>
Date:   Wed Apr 27 10:14:43 2011 +0800

    update reg pattern in tabcreatedb.py to allow leading or trailing space in tab separated columns

commit 2a1bb20de7fd3373d1c9bf1d7f5305a93d663cf9
Merge: 1850d89 8d6e9ff
Author: Yu Yuwei <acevery@gmail.com>
Date:   Tue Apr 26 18:39:25 2011 -0700

    Merged pull request #4 from sagara-/master.
    
    Bugfix for issue 787

commit 8d6e9ff11307d05d336f696ceffa02ffb0a9cb8b
Author: Kevin Tardif <kiyoka@gmail.com>
Date:   Tue Apr 26 17:50:20 2011 -0400

    Added detection of invalid table names
    
    - detects NAME attributes in table specifications that violate GConf
      keyname restrictions
    - see issue 787 (http://code.google.com/p/ibus/issues/detail?id=787) for
      details

commit 1850d891300ce777b474d782b347ea1b05b8a7cc
Author: Yuwei Yu <acevery@gmail.com>
Date:   Fri Feb 18 08:50:57 2011 +0800

    update latex.txt from Giuseppe Castagna (gc@pps.jussieu.fr)

commit 1e3e9139378e751570e3046bc1bfa27e6517b70f
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Dec 30 23:51:35 2010 +0800

    update README; fix pinyin mode under direct commit mode

commit 932f8b25737ace30859abac8972adb381c7287ab
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Dec 7 10:20:02 2010 +0800

    add goucima use non chinese character

commit ea4397b69cc63572bdb8f42478bbe319bfab95d3
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Nov 11 16:35:17 2010 +0800

    fix remove before char bug

commit 1c51b7bdcdcb59bdfaf7f050eeb84316b2551f0e
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Sep 12 23:12:20 2010 +0800

    fix config saving bug in Cangjie

commit c7de864861c1259409c97fe4d8d6634c46383cef
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Sep 6 18:12:34 2010 +0800

    fix py_mode tabkey length bug

commit 8790fc860ee043168c3995e78cd070e0ffee4f19
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Sep 5 00:34:06 2010 +0800

    fix py_mode update bug

commit b95f174efe70dc39d9558a9fb13903b48753ba1a
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 31 15:52:59 2010 +0800

    little hack to allow ibus-table to import space in gvim

commit f64cf33e2e40a6b78338cf3c6f6f8fde51c5d146
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Jun 13 08:43:23 2010 +0800

    comment out a debug print

commit c42319f81d63f5e4bf6dedaf12e130bfd26f2b20
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Apr 7 15:32:08 2010 +0800

    fix typo in issue836, thanks fujiwarat

commit 2c8d93828af175bf06a0b30dc1146547005f70f4
Author: fujiwarat <takao.fujiwara1@gmail.com>
Date:   Tue Apr 6 13:03:14 2010 +0900

    Fix self.db._is_chinese in table.py by issue 836

commit 57e985f1748d9376be2c4c77854fb273579d7058
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Mar 29 23:29:45 2010 +0800

    fix phrase rule parsing for p-11. see issuse 827

commit ac190e3990bb03f52091cdce8e98093e0c1fd135
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Jan 8 15:41:01 2010 +0800

    only extract first 3 element from table source

commit c6a36522c5db68d67c90599d1a608663901aefab
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Nov 13 10:31:51 2009 +0800

    remove speedmeter from am

commit 26eb25fa9b7f8469ab9d1fc0f8b4e3330be48dc0
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Nov 13 10:08:27 2009 +0800

    remove speedmeter, which cause ibus hang;

commit 170e0934de4e3e2a1a4b72f9bd4a3f7998c53554
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Oct 19 09:27:20 2009 +0800

    improve ibus-engine-table file

commit ae527927f8d9895b026f87567084bb23b12a61ac
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Oct 19 07:43:55 2009 +0800

    add START_CHARS to latex engine

commit 8066019f30926c971361c4e9a78033daa761fb39
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Oct 19 07:35:07 2009 +0800

    fix typo in tabsqlite; fix broken behaivor in latex engine.

commit d06720dd03032a66af791af5183827830a6ddb68
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Oct 18 11:11:31 2009 +0800

    fix pkelen type error which cause latex engine encounters error

commit a57878713c8c8477cf2221c7c8cd9c868f6cf79b
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Oct 14 13:46:17 2009 +0800

    fix issue 584, thanks Huang :)

commit 96722e02aafcf096f71dacdbbb3e9970edc91626
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Oct 14 13:28:20 2009 +0800

    output <engines /> when no db under tables dir

commit 24852aba91f14006c924e70d7699cc941164908c
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Sep 27 15:24:08 2009 +0800

    fix bug in tabsqlitedb, which stop ibus-table to start

commit 9d64913a4c17ad368a10590f604406659cdc06ac
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Sep 27 15:10:22 2009 +0800

    add least_commit_length to db, which allow "autocommit" feature in Compose IME

commit 92524c12444354025690d30c0c7f861a7d883096
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Sep 25 22:31:11 2009 +0800

    add acknowledgement for Ye, Yuan

commit 2ccb94af0e2c575c1b327a95854e70f359e78a88
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Sep 25 22:26:23 2009 +0800

    add some key use - and = back to compose.txt; change max_key_length to 3 in compose.txt

commit b965e5204644c0aa310149fd7429a589f3caed0b
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Sep 25 22:04:27 2009 +0800

    fix bug in tabcreate.py to allow = as input key; improve table.py to allow filter out =/- from page_down/up keys

commit d0909f926112284db508e338aabbc0a82ce1f0ec
Author: 袁野 <yuanyelele@gmail.com>
Date:   Fri Sep 25 16:45:13 2009 +0800

    compose: add more characters
    
    Add more characters, most important a-z, A-Z and German letters. Also
    avoid using - and = in input keys, as they are default page chage
    hotkeys.
    
    Signed-off-by: 袁野 <yuanyelele@gmail.com>

commit 05373eafe0f5a171222e52922b29dc3852d7508d
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Sep 12 22:37:06 2009 +0800

    fix typo...

commit d3739a81ddf14d2344053feff92afde2485a3f75
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Sep 12 14:38:43 2009 +0800

    Save user config to gconf module :)

commit dc4bebd5c459226c2cde3c55cc723a0ec7b96e25
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 21 22:02:36 2009 +0800

    allow use last code in phrase construction

commit 0d5f89654244fa90cff877537b6dc127baffd9e7
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Jul 30 20:05:42 2009 +0800

    try to fix spec.in

commit d64df85de06b3b2074b5f4926b93c076ba5a08c1
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Jul 23 02:07:53 2009 +0800

    fix a editor.commit_string bug

commit 1fd5242306b954787a28d4ae2afeda392b835b6f
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Jul 17 02:43:01 2009 +0800

    do not recreat index when load user_db

commit 19d8c81b2bf70e6b57a2513e5f1cce476324863e
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Jul 9 22:43:36 2009 +0800

    do syncing after normal return from MainLoop.run()

commit 77da827f603e70b2d6c0578f460a490c665fafbf
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Jun 22 23:13:03 2009 +0800

    add SIGINT handler for ibus exits sync

commit 1522707acceec09a8f0bbf6fef0df4ff3b5b0b3a
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Jun 15 16:39:21 2009 +0800

    update to ibus-1.2.0

commit a6679cd443365abf792895cd0f9ffc84acf5c784
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Jun 15 00:57:44 2009 +0800

    update process_key_events as ibus

commit 7e41759b9ea37b7ede5da541d4599333de1182b7
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Jun 15 00:41:51 2009 +0800

    fall back for ibus-1.1.0.20090612

commit 19d6cdf9348e4ba6cb18a50e6c07fb349dd7e8cf
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Jun 15 00:29:28 2009 +0800

    port to new process_key_event

commit 83b433d3f696601413a5a5afa2d18c189290116e
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Jun 2 12:08:09 2009 +0800

    update compose.txt

commit 8dd226c87542f3f1c1f237bf81972970f2f611f6
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Jun 2 12:03:20 2009 +0800

    update icons/Makefile.am; update template.txt

commit 4d07083b7fac8372f942ebfe064ad269a20e507b
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Jun 2 11:58:56 2009 +0800

    rename direct_commit to auto_commit; allow auto_commit with one candidates in non-Chinese IME

commit a2eaa3b6b1e4e443916590fd64b0c68e131abf1e
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Jun 1 10:37:47 2009 +0800

    use LANG as LC_CTYPE fallback

commit 366761995e13b8df21db2bcfa3e16c8b9a0a0c6f
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun May 31 23:41:00 2009 +0800

    fix fresh new ibus-table startup failure

commit 1bb92eeef08e275998d323908fe34af2ade017f2
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat May 30 15:38:25 2009 +0800

    merge from kaio.git; fix tabsqlitedb.compare, which cause wrong ordering in tabsqlitedb.select_words

commit 638275afccc68bb3c397f2a3953034912ca158c0
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue May 26 11:16:45 2009 +0800

    merge from kaio.git

commit c07348108b6fc4b17ca617a06d76f2637edfa491
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue May 5 01:12:45 2009 +0800

    fix user phrase check bug

commit 96f89769c5c1365802ab495335e7fc52e6235aab
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri May 1 23:30:14 2009 +0800

    allow the create_engine to fail

commit e3b22b14602b55a5054a0224834eac7e24a8049e
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri May 1 22:59:52 2009 +0800

    replace all invalid character in engine_path to under_score

commit 490daacfdee8aa5f9af1e67a6ef3c90fd649bb7c
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri May 1 22:04:20 2009 +0800

    replace the "-" to "_" in engine_path

commit 751296ceede357d5010864298f21e408446ed751
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Apr 30 16:14:41 2009 +0800

    add sigterm handler to sync userdb

commit 1c792bcb904df77c4873302e2042abca8eb19d94
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Apr 29 11:32:39 2009 +0800

    fix pinyin mode bug

commit 3fab1911c5055505dced11842555f07d050e5e9e
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Apr 29 01:04:03 2009 +0800

    fix xml mode bug cause by debug

commit 6a13b9a02919f011ec83e7e78968945d379c4c4f
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Apr 29 00:53:28 2009 +0800

    redirect stdout,stderr to debug.log; readd arrow_up, arrow_down for candidates selection

commit b21289c1af9301ad9f8a398db35870380d2b392b
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Apr 24 13:42:34 2009 +0800

    remove the id from user_db.desc

commit 8b2e0db12ddf5c2a72111187c40c3fb999345176
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Apr 23 14:55:56 2009 +0800

    fix check_phrase bug, which caused by recording tabkeys

commit 9a5602a8a90fc4e4a5dc826720d15ce07570aabd
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Apr 22 14:38:31 2009 +0800

    support record user_freq of phrases with user inputted keys; fix bugs cause by last commit

commit da76aa709497859a6e3989637429331ee249eeb6
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Apr 20 20:57:29 2009 +0800

    add id key in db to allow better phrase ordering.
    Users need to regenerate the .db files.

commit 1e894cf358814f0972159b9bd44fc282dad387c6
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Mar 12 16:42:57 2009 +0800

    fix digit ignore when digit in valid_input_chars

commit d819c40a693b7afbe8c8ec4cbf3faf678ffd8a5d
Author: LI Daobing <lidaobing@gmail.com>
Date:   Sun Mar 8 22:14:50 2009 +0800

    fix order in pkgconfig

commit 8ef53eb84c9866e77bcc9c28940b98b9972ca274
Merge: 768e4b8 e926b14
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Mar 6 14:19:01 2009 +0800

    merge from kaio'tree

commit 768e4b851b4b7d6f542fc11d424f2bf483a7f1d6
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Mar 6 14:08:00 2009 +0800

    update Changlog

commit a8e019d4582db1d9142a1efbecd945c4470b3fb0
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Mar 6 14:07:12 2009 +0800

    add Caius into project

commit e926b14b0718c3e02df28d1efd5490a715b7d9e9
Author: cchance <cchance@dhcp-0-183.bne.redhat.com>
Date:   Fri Mar 6 15:23:47 2009 +1000

    make pkgconfig noarch

commit 193267080c33cd7aed19151f9199fbb35807d86b
Author: cchance <cchance@dhcp-0-183.bne.redhat.com>
Date:   Fri Mar 6 15:17:13 2009 +1000

    Corrected .spec form GPLv2+ to LGPLv2+.

commit b7f63b016d148991cade9c62ea61254fbd390e87
Author: cchance <cchance@dhcp-0-183.bne.redhat.com>
Date:   Fri Mar 6 14:57:42 2009 +1000

    Updated author list.
    Manually generate ChangeLog with `git log > ChangeLog`.

commit a3f8a4667ace5be764973857f6833fff196d66e5
Merge: 2b0726c fe3f5dc
Author: cchance <cchance@dhcp-0-183.bne.redhat.com>
Date:   Fri Mar 6 14:39:46 2009 +1000

    Merge commit 'acevery/master'

commit fe3f5dc73f9b7f3655ab15c4cf52e8fac9dbef1d
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Mar 4 15:27:46 2009 +0800

    hide speedmeter when engine is destroied

commit df131abd2a9a71478437d2efccc8c22f44e19a62
Merge: 728bf4c 6b7ed8a
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Mar 4 00:47:54 2009 +0800

    Merge branch 'master' of git@github.com:acevery/ibus-table

commit 728bf4c45ccf1dd79e8afac937f2291b03cbfff4
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Mar 4 00:44:12 2009 +0800

    fix error included by last commit

commit 69027a7aa8e5ca40ad67fe6e6afe11ae896cfa3b
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Mar 4 00:38:45 2009 +0800

    fix -t .db mode bug

commit 6b7ed8ab2ab27daef9656be741d667cfbf7a007a
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sun Mar 1 11:17:31 2009 +0800

    Test more arguments in ibus-engine-table script.

commit dbdbbc6df91672f12748db17261dcf9789a2a909
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Mar 1 08:11:55 2009 +0800

    fix ibus-engine-table --xml bug

commit c18330f7933e2c972b16a1cde4420d18d9fca21e
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Feb 23 19:29:32 2009 +0800

    fix a bug reported by Wenping Guo

commit 3780ce03d1cd430aab8ddb359541a046a5ce557f
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Feb 23 19:09:01 2009 +0800

    hide speedmeter as  default

commit 95b2ae32e6a555c39a16dead658df0d08ce518cc
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Feb 20 23:11:57 2009 +0800

    put sm.Quit() into try

commit ded9214f0ec7fa1577a11d62211886984e0d4ff7
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Feb 20 23:08:26 2009 +0800

    fix ime_property cache bug

commit 8e062065efff58de5303c3f96c4b49fbb279d394
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Feb 20 22:47:56 2009 +0800

    improve db file usage, try to fix issue271

commit 8c0d24fc98dd8ca68ce6aaf69362ebf2c61cb838
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Feb 20 09:40:01 2009 +0800

    add ctrl+' as hotkey to show/hide speedmeter

commit 111eb3fa30d801c58871713ee269e81395d5d29d
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Feb 20 08:48:35 2009 +0800

    fix xml generating bug with cangjie and erbi

commit 1956d74253fa861283e09f6bced3ca401529e344
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Feb 19 21:16:09 2009 +0800

    use xml.etree instead of elementtree

commit 2b0726ce00c2a9512d58b90cb94e3b95481a1ec1
Merge: 3a5330a e8ccd01
Author: Caius "kaio" Chance <caio@dejieshi.com>
Date:   Thu Feb 19 15:06:06 2009 +1000

    RE-Merge commit 'acevery/master'
    
    Conflicts:
    	doc/Makefile.am
    	engine/Makefile.am
    	engine/table.xml.in.in

commit e8ccd0137d01f615dbd92fce41d1d49b77d39796
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 21:58:16 2009 +0800

    fix typo

commit 14e38433a759baf4d4559bfbbd0a598e310eea4f
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 21:45:16 2009 +0800

    add ibus version check

commit 7742e4bb009d3872d38c888780fbf16b823fc127
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 21:36:24 2009 +0800

    fix table/additional/Makefile.am

commit 8b70a1596ad2802762394b358306f1280cfe3244
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 21:29:35 2009 +0800

    update po

commit 80fb3ff178e3bb85f759e1a9e9edf8969bcb13df
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 21:27:14 2009 +0800

    add Ctrl+; as chinese input mode hotkey

commit 6fcc3a567746ab3fa17896dd46b873979cb36349
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 20:59:22 2009 +0800

    fix speedmeter.py bug; readd latex.txt

commit cb4192fc781003d04ca944e44cc21a497b337cec
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 18:31:18 2009 +0800

    update template.txt

commit 9df5d19dab9762bd99caae496a0d5f5c4b2f194c
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 16:55:52 2009 +0800

    prepare to release

commit 92103167a6ea103326d1dd00800e8f1a0c864bae
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 15:52:16 2009 +0800

    fix do_destroy bug

commit 0193d86ae74ac34ee56d0038f426ffc759eb099a
Merge: f7c1977 7c786b6
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 10:59:42 2009 +0800

    update for ibus-1

commit 7c786b6d0e7e99252aa21ed7a5b3ede56e7fe654
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 10:14:08 2009 +0800

    fix @VERSION@

commit e3a96308977de55853e0b6255f56d07572e5cdf6
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 10:07:34 2009 +0800

    try to fix the xml eval bug

commit 03db85e55a1b9c0ce5a4999ade7130e4a2195319
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 00:23:57 2009 +0800

    fix configure.ac

commit 0a0be88c6e33331491c50682fd13f550602af80b
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Feb 18 00:16:58 2009 +0800

    step 4

commit 47f49932beac875f82fe93fc2b5ee9337c8e2d91
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Feb 17 23:05:45 2009 +0800

    step 3

commit 3a5330ace95f39020407492cdedf4262614a3042
Merge: f8b80b8 ffa04fe
Author: Caius "kaio" Chance <caio@dejieshi.com>
Date:   Mon Feb 16 18:11:05 2009 +1000

    Merge commit 'acevery/for_c_ibus_daemon'
    
    Conflicts:
    	configure.ac
    	data/Makefile.am
    	doc/Makefile.am
    	engine/Makefile.am
    	engine/factory.py
    	engine/ibus-engine-table.in
    	engine/main.py
    	engine/speedmeter.py
    	engine/table.py
    	icons/Makefile.am
    	icons/additional/Makefile.am
    	tables/Makefile.am
    	tables/additional/Makefile.am

commit ffa04fe490dd89a0ef8de2335ef5ad8971a2c265
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Feb 16 00:07:01 2009 +0800

    second step for ibus-1

commit f8b80b85b7a774a734720dd973574b9b77dee482
Merge: b1a8593 198cf85
Author: Caius Chance <cchance@hako.localdomain>
Date:   Mon Feb 16 01:37:05 2009 +1000

    Merge commit 'lidaobing/master'

commit b1a85938c0aa38db91fb4d0c4f3835e7e4d9a3c0
Author: Caius Chance <cchance@hako.localdomain>
Date:   Mon Feb 16 00:50:20 2009 +1000

    added table spec xml

commit 24f5090106d6c7ea8ec203bc428654d9db0b64de
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Feb 15 21:00:40 2009 +0800

    remove something outdated

commit bf272e43758e90a95ff8cda2c0256b3c02760ac5
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Feb 15 16:26:11 2009 +0800

    first step for ibus-1

commit e5ff74536114bde07ea4667921518f107c72f2e1
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Jan 27 20:53:45 2009 +0800

    fix pinyin mode bug when come to pinyin like "xiong"

commit f7c1977a430bce98ceeb6ca2bfe01a4fe6c45b33
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Jan 27 20:50:48 2009 +0800

    fix pinyin mode bug when encounter pinyin like "xiong"

commit c8784688bdb663440617117937bb6cde3387f758
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Jan 5 18:20:06 2009 +0800

    add maintainer mode; update pinyin to unihan 5.1

commit 497435380d9c3cfaccc563cff298802dcc78c838
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Jan 5 18:12:33 2009 +0800

    * Add Maintainer Mode;
    * update pinyin_table.txt.bz2 from Unihan Database 5.1

commit fa77370f08301b975277bc2ddb29547688dcbeda
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Jan 4 20:38:59 2009 +0800

    fix License conflict

commit 11f2139b46a8a8f11369965edbab0f30894052a3
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Jan 4 20:06:56 2009 +0800

    update README about new keys in PinYin mode

commit b53e47565fc136f76a88f7dd0d76910c3243ede6
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Jan 4 19:41:09 2009 +0800

    remove latex.txt

commit 5bc53da3bbe70a1b429833a4562fb058b4c8d74d
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Jan 4 19:40:28 2009 +0800

    remove latex.txt

commit ac65a87869cf4e7958c0c35e2d823859a5c8e9d4
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Jan 4 17:28:49 2009 +0800

    use new pinyin_table

commit 6e5e93676bfbbfbcca9aaf1bade658a2269f7a33
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Jan 4 19:10:22 2009 +0800

    use new pinyin_table

commit e279dde95643f76a6d70162e58dd472baa957864
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Jan 3 23:31:21 2009 +0800

    fix License conflict

commit 198cf85c7ec2f498a95f49e49fd4af8ebce834c4
Author: LI Daobing <lidaobing@gmail.com>
Date:   Sat Jan 3 14:52:37 2009 +0800

    fix typo in README
    
    ChangJie -> CangJie

commit 3d4042fd2ff4072ef29a1b806b88aadd018b0206
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Dec 28 21:59:13 2008 +0800

    fix focus bug

commit cf3ca9b8f56843c4ebab2eafead986f6fc079b83
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Dec 27 16:01:41 2008 +0800

    port to ibus c daemon

commit 2ee28efac54a3cc64c09d276e28085e60aee2025
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Dec 17 00:54:29 2008 +0800

     * fix get_preedit_string bug

commit 246c8f0ead0b2c719b197c61ba23c71452fcbcd1
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Dec 17 00:38:24 2008 +0800

    * fix auto_commit bug under one candidate
    * fix get_preedit_string bug

commit f4b959fc1028a45bd02c71937dbd3878a58869cc
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Dec 14 23:16:18 2008 +0800

    Add MAINTAINERCLEANFILES

commit bd3b567cdf86583b76c3f0f5241420fa2ce74bd1
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Dec 14 21:38:44 2008 +0800

    fix additional table icon bug

commit 65a39b547317ed0cec1f7743d63d1ee4ebe1b8f6
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Dec 14 16:25:05 2008 +0800

    reset speedmeter when enable IME

commit a06375e46132a020d8115e57121b38c7d99df14c
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Dec 12 12:10:13 2008 +0800

    fix select_words but under Chinese filter

commit 5eb048ee35e6e382ca5d281fac6cc303112dcfea
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Dec 11 01:03:40 2008 +0800

    * use 60s as speed calculation time span
    * daemonize after dbus name checking

commit 4783a0cbb63bade2c725da298ce473aeb7581d82
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Dec 11 00:37:55 2008 +0800

    add daemonize in speedmeter.py

commit 0bc6cc3d88f1614b68f7d2eb4f91b235db63daec
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Dec 10 14:43:50 2008 +0800

    modify icons

commit c931507238526213b23f0278ab98ea93e2942d11
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Dec 10 12:58:13 2008 +0800

    fix gdk.Color init way, allow low version of gtk+

commit 3e699f3d45eb14c52a63d0225d8b51b7031a1b38
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Dec 10 04:22:24 2008 +0800

    record and restore SpeedMeter position when Hide/Show

commit b503315133efa40a5a0c903b94414874f90917e8
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Dec 10 03:39:46 2008 +0800

    hide speedmeter when start

commit 5acd9b0ac05f68d5a1f66d2fc7fbc39f254c3530
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Dec 10 03:12:39 2008 +0800

    Add speedmeter.py to calculate the input speed for user,
    and display it in a small widget via gtk+ and dbus :)
    now, we only take the the characters from tables into account,
    not include the punctuation
    
    After 3 days' learning about dbus-python and pygtk, Finally,
    complete my first GUI work, the speedmeter.py.
    Although it is very very tiny and simple :D

commit d105e02394d7c74838173131933efe27ffcd4e96
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Dec 7 13:30:24 2008 +0800

    migrate user phrases to new user_db

commit 33069172b63d0ca40b6ec69d325561fe12ff4f6b
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Dec 5 16:24:05 2008 +0800

    Remove tables from ibus-table.

commit 35ca25ea97c083dccc6ce5de2f0b045047adc4ca
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Dec 5 14:48:11 2008 +0800

    remove icons as well.

commit 6bc4c99ae1067b7ca064f64d49e7a31bcf7a89fc
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Dec 5 14:45:58 2008 +0800

    split Chinese tables out

commit 05913922b0c8380526db4ffd34e356946ad60db5
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Dec 4 16:44:51 2008 +0800

    add $extradatadir in .pc

commit 08ada5d9461c9b36fff4e0154f2983bb186b6ef2
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Dec 4 16:35:19 2008 +0800

    use pkgconfig to record metainfo

commit 719c4f5dc8b30df8f95b4d0ade2dd464baef4b32
Merge: 814fd89 ea21559
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Dec 3 21:43:38 2008 +0800

    Merge branch 'master' of git@github.com:acevery/ibus-table

commit ea21559409fa2210e9f9a9c58c960d951ff6da4e
Author: acevery <acevery@SoaringBase.(none)>
Date:   Wed Dec 3 17:00:22 2008 +0800

    fix direct commit bug; do not show cursor now and do not use arrow_up/down to move cursor in lookup_table

commit 814fd89b777668515a72dfd56c246091a6162ae2
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Dec 2 23:27:45 2008 +0800

    allow specify icon file with runtime

commit 59ae5f81c243b6b94161ca9d92f68e9805e1a227
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Dec 2 22:44:37 2008 +0800

    allow specify table database with abs path

commit 55abf4d76d6aae602f86c33c6f1e6b3d76491329
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Dec 2 20:01:04 2008 +0800

    update_ui after arrow_up & arrow_down

commit a0ed04e852259b058c7e9a26fe7f32e6853b9b8b
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Dec 2 15:31:12 2008 +0800

    fix icon Makefile.am, fix a bit in wubi86.txt

commit 51009d46e74121cc5e9cc37b5d35aae2c3efa08b
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Dec 2 09:20:47 2008 +0800

    fix cm_mode property bug

commit 2997f327acf3c2e2f4b95b861f8189cfa65c72f3
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Nov 30 13:06:47 2008 +0800

    fix duplicate chars in zhengma.txt

commit c40588c5f92eecf9cd7a39fe9f4c04a84dab48e4
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 29 21:02:40 2008 +0800

    fix pinyin mode bug, call update_ui before commit_string

commit 59f65b0e5ab973d3e6ce36b14312d64e4ccafaaa
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 29 15:22:35 2008 +0800

    put back the two incompatible phrases into wubi86 only

commit 69fc666c94d504f85a5bf4f3b38caa4691b637a3
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 29 14:59:08 2008 +0800

    remove incompatible phrases

commit 404fbcb0be0f22588d1a49b0ea3223a397c55f2b
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 29 12:52:27 2008 +0800

    update wubi86 and cangjie5 tables

commit e48ffc05548489d1e29414b30a1e3b2761cc23b2
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 29 12:47:29 2008 +0800

    Add Chinese punctuations and other un-need-checked chars into tabdict

commit 68ec5e8295aab51a2404e2b77f7b0890cff8392b
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 29 09:55:25 2008 +0800

    fix filter_candidate bug

commit af5bda974cde8436f4ac4523ddc1c33e96bc2369
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 29 09:21:44 2008 +0800

    group 〇 as Simplify Chinese as well

commit 0fbf8fb630362bada3a5353e04e801c87b8ce26c
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Nov 28 17:09:12 2008 +0800

    update canjie5 table by issue 158

commit b74d405ea55038032e884a02835ba28fc781ab9f
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Nov 26 21:50:45 2008 +0800

    Update zh_CN.po

commit 9a694d934f89f2c6194a41115910e104f8268cac
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Nov 26 21:50:06 2008 +0800

    fix remove_phrase bug cause by "category" key

commit dcdef990b0744511f83981d2b5a1e6c24686bbe7
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Nov 26 11:39:25 2008 +0800

    fix chinese mode bug in check_phrase, add normal big charset mode

commit 0b88176c15283511a3445d8d8a5359b55f5b54f7
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Nov 26 11:18:33 2008 +0800

    reset after change Chinese mode

commit b3975772916c2d3854d53ec7093f05114bd783a8
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Nov 26 11:06:27 2008 +0800

    fix a bit logical miss :)

commit b56ec3280ffc7d39bb0c9e709972c0f52b287e64
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Nov 26 11:02:48 2008 +0800

    Add Simplify/Traditional Chinese input mode

commit 663223e93ddf3dea3f9fbf4e28cfa3d6c1a49361
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Nov 26 02:26:08 2008 +0800

    fix bugs come along with \"category\" key, fix sys.stderr bug, fix lookuptable color bug

commit 439ea7577c35729f09426efaad26a9612f097dd2
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Nov 25 00:13:56 2008 +0800

    add category bitmask integer into phrases table

commit 36972649aff0807404635b9cbb8082a3374fe1d7
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Nov 24 22:19:28 2008 +0800

    replace tab with 4 space

commit 55bcbdf5c2298d0b269b222eaf6b62a77d82b29a
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Nov 16 13:18:27 2008 +0800

    use possible phrase key lengths to determine commit or not, fix some phrase in extra_phrase

commit 1f54e735af72265e768805837d5f2027e9f93ca5
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 15 20:47:47 2008 +0800

    add CJK-B, CJK-C support for ZhengMa

commit aa0284854899a0dba613fcf307b2cb28653151e0
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Nov 15 20:34:08 2008 +0800

    fix pharse_phrase bug when no goucima available

commit da9f8c4a0c41e44869dad084ce476f7582f7d586
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Nov 14 20:24:29 2008 +0800

    fix COPYING and update README

commit 0a5c3224405d06866b77a107282d8b9657c8a559
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Oct 29 19:21:59 2008 +0800

    fix contrl+space bug

commit cbe11141cc1c762de1c008df40d4db2230f3b954
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Oct 23 00:31:23 2008 +0800

    support punctuation direct commit in IME like ErBi

commit fafda37d74eb293117281c145e98e9fde9ac4b82
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Oct 17 15:34:01 2008 +0800

    Add some new icons in spec file. And rename extra_phrases file name.

commit 5d58230816adad3dd56a243a2cccc5d0475065e0
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Oct 9 21:59:35 2008 +0800

    fix add_phrases logic error

commit b869de8b79de16e17a80acf0c576eb084d0b5a25
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Oct 9 21:30:13 2008 +0800

    fix typo

commit d65231aafa3fd5707b2f8d2555ad030bb6ba5f20
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Oct 9 20:56:05 2008 +0800

    apply hashao's patch

commit 6afe7a0933e97223a1cf5d6cc6ef07b191e5fc92
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Sep 23 09:44:58 2008 +0800

    fix extra_phrase rename error in Makefile.am

commit 74107088584f5b8fc8e60a1c94f0e5e69172b1b1
Merge: 5a6a517 ed88e42
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Sep 22 21:03:04 2008 +0800

    Merge branch 'master' of git@github.com:acevery/ibus-table

commit 5a6a517e719c3d017b94067e5c5c457bd449447a
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Sep 22 21:01:28 2008 +0800

    compress extra_phrase.txt

commit ed88e422aecd3cf4d6e4b4671785e9f3d35743f1
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sat Sep 20 08:03:10 2008 +0800

    Fix syntax error.

commit 5afe835152ff9a363536e45187645a8be1eac708
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Sep 18 22:47:50 2008 +0800

    fix a direct commit bug

commit 8b0b8f773146f2212a8e700ac1093dff96060cda
Merge: 8760d94 bcf8109
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Sep 18 22:44:56 2008 +0800

    Merge branch 'master' of git@github.com:acevery/ibus-table

commit bcf8109b174f170562a1c9e9b4a9ce6c9818ff0e
Merge: b07dbaf 40eda9c
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sun Sep 14 16:44:56 2008 +0800

    Merge commit 'acevery/master'

commit b07dbaf7de9092213b5ec84635d08b1fc9c5ea43
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Sep 12 07:52:12 2008 +0800

    Add debian packaging files by 一叶 <oneleaf@gmail.com>.

commit 8760d94ddcc5063a1433a7eed994cd85883f509d
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Sep 12 00:28:54 2008 +0800

    use new Cangjie5 icons as Caius Chance provided

commit 40eda9c1fe2e93f3f6fe352a84c45d908aeec303
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Sep 11 21:27:14 2008 +0800

    fix user_define phrase related bugs

commit 635fbae81756548cb30bbf39e0ee2f6621f3faeb
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Sep 11 11:00:47 2008 +0800

    fix max input length error

commit f2d8600ac8164d29c6a3f97074b94111ac40da16
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Sep 8 07:36:09 2008 +0800

    fix typos, fix invalid input bug

commit 275c364a2738bbf4e83cc9ade6c93cf4ffd4055d
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Sep 7 02:25:16 2008 +0800

    enhance direct input mode and fix some bugs

commit f3ff6b02ab4158c2871cd004a84e4040f883ea81
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Sep 6 14:08:32 2008 +0800

    fix pinyin mode icon error via numkey commit

commit b0d3889cb263e132fd545b432fbcae1d37661a9d
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Sep 6 13:12:58 2008 +0800

    fix typo

commit 6592e19ebdaf72905fb5ded44ac6da4053400808
Author: acevery <acevery@SoaringBase.(none)>
Date:   Fri Sep 5 11:48:07 2008 +0800

    ignore numlock mask

commit 0f48addc70c9beef5cc1f9aa3c7f917c097305e0
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Sep 5 02:41:17 2008 +0800

    update po

commit 43c42c7420cca1de98b4dc33a2516418dcbccddb
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Sep 5 02:32:48 2008 +0800

    Add direct commit function, fix pinyin mode panel refresh bug

commit cb2df9bea0cfd5e67fac30b52feebf99692f6534
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Sep 5 00:43:39 2008 +0800

    fix po typos

commit 1ff713d982aa84cc6934b34f7cea99f33d89bde9
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Sep 4 17:05:11 2008 +0800

    Add missing icons

commit ee0e4ceb9b60d7180255fa79d0521a18c0b4f92a
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Mon Sep 1 10:52:47 2008 +0800

    Fix problem in spec file.

commit a40f0ac150e4a7acf77070a64e229cee417b8dfd
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Mon Sep 1 10:52:09 2008 +0800

    Update po file.

commit c37ea4692abb7fc4aa2cbd802a20576d617a6c60
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Mon Sep 1 10:34:35 2008 +0800

    Do not install ibus-table.engine

commit dd957df4bc51b571be49b715701fe2a53478d528
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 31 13:44:34 2008 +0800

    fix str encode error

commit f09ead162bdc94fcff000aec6ce997e2c9b5518f
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 31 13:14:26 2008 +0800

    convert some tables for extra_phrase

commit 4e98c9e4531caaa7d8419a4d3304f53c5c12ca32
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 31 12:05:30 2008 +0800

    use memory to cache goucima

commit f4a9bd6a5c35689cf30753e072ae25a8962ed84e
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 31 10:59:18 2008 +0800

    Add tabcreatedb.py from origin

commit f7289fb312ec8cb421b4101cd928ab7849e86408
Merge: fb6858a 62af461
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 31 10:51:49 2008 +0800

    remove conflict one

commit fb6858af2a479838d2b7ec7cdbb7ec9bd6fd0878
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 31 10:46:41 2008 +0800

    merge from origin

commit 8d138bb09dccae010bac91e40a0b62ded613872d
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 31 10:16:46 2008 +0800

    fix extra phrases add error

commit 62af4617c95d882826b32b3449689a4824713111
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sun Aug 31 09:21:24 2008 +0800

    Change name of wubi86.txt

commit 6539c694f32fe02b912c0fdacde380bfcb42569b
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sun Aug 31 09:20:01 2008 +0800

    Fix problem when create db

commit c823c14075231331f9789239e60bce7db8fd7ac7
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sun Aug 31 08:57:07 2008 +0800

    Get Name from .txt table files.

commit 020920c335d9cd332820caadfe129ed724f8364a
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Aug 30 14:23:27 2008 +0800

    fix latex.txt format error, improve table.py

commit a25477589afddb0a8f4c4615f7e10c64d202f4ac
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Aug 30 02:32:20 2008 +0800

    fix cangjie5.db generating error

commit 82c814ff4cbf699366208f2bcc0cc4c813eb43e0
Author: 余钰炜 <acevery@gmail.com>
Date:   Sat Aug 30 01:50:49 2008 +0800

    change word adding method for extra_phrases

commit ab8eb60c7a0c790989b81208662b9edf7c181db5
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 23:29:06 2008 +0800

    remove swp file

commit b4c2492f0dc8ea769a419d5d3830f734834668ab
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 23:28:42 2008 +0800

    Add chinese.svg and english.svg from ibus-pinyin

commit 403a743e2d3febd807b5a05d85abb7f58a2c31da
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 19:03:55 2008 +0800

    Rename erbi-qs.txt to erbi_qs.txt.

commit 97738a27e1d3b2f7edb04ae1fbacbb917cbaff4f
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 17:02:04 2008 +0800

    Update rpm spec file.

commit 479eb0eaff02c233d969bdf01a440876542f06a0
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 16:52:38 2008 +0800

    Refine code style.

commit 9a6d01547b3b4a656e6da28787eeb17e00fdce83
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 16:51:51 2008 +0800

    Fix a typo.

commit fd1add4d979c3b9dc0c9af87435fc6ca3d0fb881
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 16:51:35 2008 +0800

    Fix a typo.

commit dcdbf15740a6f2a9b005754add1d44deb1c01469
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 16:09:47 2008 +0800

    Add MAKEDISTFLAGS.

commit cfae572b72c4a83127fe4b3ab22563f18ba8cd49
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 16:09:34 2008 +0800

    Fix `make dist` error.

commit 9becfd13ed005ee2919482f9d6fca704cb782090
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 15:49:52 2008 +0800

    Fix wrong icon names.

commit 809ad15300671bac782834824608aa0bdd8477f5
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 15:49:33 2008 +0800

    Clean *.engine when 'make distclean'

commit ec71b915a73d3fdb7bd95f58490726b2f96a3aec
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 29 13:19:16 2008 +0800

    Fix build errors.

commit 24c40894f94a8f4b4ee8ef8d32df76880b41e2d8
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 09:13:15 2008 +0800

    show configure options

commit 050b4d01b8dd44492ae52caeaceb964ec0dacb49
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 03:10:53 2008 +0800

    put all message of tabcreatedb.py into debug_print.
    
    First time, buildable :)

commit 59760cf8c55d4801b5d48143b78b3b5ad5afdc82
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 03:03:25 2008 +0800

    try to fix makefile rules

commit ef01e73c8997e4a50e1138bdddd3a060c2dc79ec
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 02:59:24 2008 +0800

    try to fix makefile rules

commit c0b3c546d73c508bf3810e93c8a1db196120f8cb
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 02:50:49 2008 +0800

    try to fix makefile rules

commit b8644788b8c24f8922036bb5f05b57c0a2b39dd1
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 02:48:11 2008 +0800

    try to fix makefile rules

commit 1fb85e462333cf867eb05b5af48ec6c147f1c534
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 02:41:34 2008 +0800

    try to fix makefile rules

commit e17e79b756449b91fdef7cedc8e42a0728df6156
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 02:39:27 2008 +0800

    try to fix makefile rules

commit a869c9cac7dfa70bcba07171ce971171c6d32223
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 02:11:07 2008 +0800

    try to fix makefile rules

commit 46f56275fe1a836a66763afca9fbfc1bc74de889
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 02:09:30 2008 +0800

    try to fix makefile rules

commit 0fd11974099aa26ef965a7c4f2bc2ec2f5e4d8b5
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 01:58:37 2008 +0800

    fix some error in tabcreatdb.py and some Makefile.am

commit 66a3d0135c84c93c4a4030001370dd64454907cc
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 01:56:33 2008 +0800

    fix some error in tabcreatdb.py and some Makefile.am

commit 83d6a3ee501c10bae8e05373bce2979c6a4e7680
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 01:50:04 2008 +0800

    fix Makefile.am error

commit e3423d49ba74862c06eef66618f0d29ed4481c0b
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 01:41:55 2008 +0800

    fix some error in tabcreatdb.py and some Makefile.am

commit 68f7ca3cec3489bdbe88d71a1e5917dc17a101aa
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 01:22:19 2008 +0800

    fix some Makefile.am error

commit 37abb85e16ec950f9bad0db5da0196c8357a754a
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 01:18:42 2008 +0800

    fix some Makefile.am error

commit 03adc49608f96e56752f9b66e571f9172bfb61d3
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 01:15:15 2008 +0800

    fix some Makefile.am error

commit f030d8659cbaffe72d7cad5767c4eb105a488292
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 29 00:54:55 2008 +0800

    add tables and icons into respo

commit 5788a2abe5571ead36cef99b87853ffbb90f9652
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Aug 28 01:35:27 2008 +0800

    fix 0 freq entry bug

commit 2f099bdbc2592528554edf4af5c19db364605c28
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Wed Aug 27 09:31:30 2008 +0800

    Update zh_CN.ppo

commit 957bc692030deb1073fa4d7c2c6cc5dabe1c8b1e
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Wed Aug 27 09:08:59 2008 +0800

    Fix problem when generate .engine.

commit 871d6209ff271a7de564db308326b945dab0863e
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Wed Aug 27 08:36:41 2008 +0800

    Replace -k with -d.

commit f93486774275a62bb77f4d665bce55e9cb348ce5
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Wed Aug 27 08:34:24 2008 +0800

    Use absolute path for Icon in engine.

commit c0d3a99ba310c22d4f85fc02702fcb7358ab0649
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Wed Aug 27 07:48:05 2008 +0800

    Use @datarootdir@ replace @datadir@

commit c28de9d2bb926e5837acd20d63e66dd61aca271d
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 26 23:54:38 2008 +0800

    update po file

commit e2db33b07a91289863f3792045d59f7f76ee50e4
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 26 23:13:10 2008 +0800

    try to remove ibus-table.pot

commit 86382f1b44c682e3b2f7f88f418abb39b28333d2
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 26 23:00:17 2008 +0800

    subtitute some @prefix@ in .in files

commit 941184834b8bf672b7361afa1f0a0dad1bcc0e5c
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 26 22:29:25 2008 +0800

    fix @bindir@ error

commit 76870cde13e89807bfdd9ccab5fc9780683c1efe
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 26 21:59:41 2008 +0800

    fix path error

commit 8ddd5057fa53c203200f9a31c83e033d84f6a741
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 26 20:55:55 2008 +0800

    add dynamic_adjust attribute in table database

commit 091b9801c24881f8a654ae56b8355e8bf1d6e4bb
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 26 19:59:59 2008 +0800

    Directly generate table.engine from tabcreatedb.py

commit d9f0a97d5d70712c01d4c79417344a7bdfc905fb
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 26 11:12:04 2008 +0800

    Optional commit in add_phrase

commit a27d4509f81f7f2b98a6e152261a74ea7c6430ef
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Tue Aug 26 07:33:37 2008 +0800

    Add maintainor-mode.

commit be9692a7e4719779172f80291e1b80a20e56ec91
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Aug 25 02:07:44 2008 +0800

    remove extra a.patch

commit ed093d011d391e694e755c05dfca6409befff645
Author: 余钰炜 <acevery@gmail.com>
Date:   Mon Aug 25 01:51:18 2008 +0800

    fix do_destroy bug and add freq fix support for special chars

commit 0b76604e236b358423737b21da94eb3ccaf8b955
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sun Aug 24 07:51:25 2008 +0800

    Change table-createdb to ibus-table-createdb in spec file.

commit dc09bc78702d42e5f74b13d86a1d665b58e4423e
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 24 02:14:32 2008 +0800

    fix Makefile.am error

commit 73c7265bca2aee9602ad5809192ce285d0153dd3
Author: 余钰炜 <acevery@gmail.com>
Date:   Sun Aug 24 02:10:12 2008 +0800

    support single character/phrase shift on fly

commit 478f30eafd1b6990938ec57dd817a9725d0b1dd9
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sat Aug 23 11:19:00 2008 +0800

    Fix errors of rpmlint checking.

commit 312417db8c8f51488f9e3592921e14593db1715f
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Sat Aug 23 11:05:39 2008 +0800

    Refine spec file.

commit ecafcc887dd5b6c891ae382e29e2ebc10a216ca8
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Fri Aug 22 12:37:28 2008 +0800

    Fix make rpm error.

commit 5c13ed994e5f5a8275a6a204c5b12824753f424b
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 22 01:15:31 2008 +0800

    support adding extra words during creating dababase

commit cffbb866304cdec1654251958d9610eaba6d5065
Merge: 7010cda 3f1ee02
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 22 00:30:01 2008 +0800

    Merge git://github.com/phuang/ibus-table

commit 7010cda24d92b6468dd939f39b80e42d88baeb19
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 22 00:29:37 2008 +0800

    remove swp file

commit 459987343e890b36710e73e22feb474e275754e2
Author: 余钰炜 <acevery@gmail.com>
Date:   Fri Aug 22 00:29:13 2008 +0800

    prepare to support extra words source

commit e334c1ddd254eafdbc4fa555ff7a3b038cd4aacf
Author: 余钰炜 <acevery@gmail.com>
Date:   Thu Aug 21 22:59:29 2008 +0800

    prepare to support extra db

commit 3f1ee021d8507af8f527d28cce844ce1d2a05c17
Author: Huang Peng <shawn.p.huang@gmail.com>
Date:   Thu Aug 21 22:33:49 2008 +0800

    Fix error during `make distcheck`

commit b931da2efd3345acaba041f11c7bcad87a731113
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Aug 20 22:49:24 2008 +0800

    know how to fix gvim, so roll back

commit b7382ac546cd0dd408d8f06f99dac99cad01ee48
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Aug 20 21:13:47 2008 +0800

    fix to input space in gvim-7.2

commit 8f7dd83421203bf311a2544049a2d65a195944b9
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Aug 20 01:03:08 2008 +0800

    fix IBUS_TABLE_LOCATION

commit 933d3de3ac2e460bdbec0799f8dba87019fd53e2
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Aug 20 00:47:51 2008 +0800

    remove swp file

commit cf9a773fbc5c206933ca56f6bacf9434562a3114
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Aug 20 00:46:57 2008 +0800

    fix gettext missing in factory.py

commit 1e277eb72e11b9fddfa39874577fc3a5ea51fc96
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Aug 20 00:31:54 2008 +0800

    fix tabcreatedb

commit 7313136c82d0a41d9f569650975dabb28d6ebba8
Author: 余钰炜 <acevery@gmail.com>
Date:   Wed Aug 20 00:17:58 2008 +0800

    fix tabsqlitedb error when creatding db

commit 0ec24318dc9294e427a0008c918e5395726a39b0
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 22:55:53 2008 +0800

    fix Makefile.am error

commit 7d265d1c62b097449a0e61b0c8198b6523a01a99
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 22:53:50 2008 +0800

    add pinyin_table into resipotory

commit fda45a06aa61bc9f55e93595e9dd61c4c7750262
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 22:44:29 2008 +0800

    add table-createdb.in for database creation

commit 6cf3c2d28cea1d6a158b478bb0edb0b5fac10e1b
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 22:18:54 2008 +0800

    modify icon

commit b29366276264537a5ce7a2259ff57989b8143003
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 21:12:02 2008 +0800

    transform charctor to path in ibus-table.svg

commit 956cb9073fba5a08681e7193f72c1192c06fac96
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 21:07:40 2008 +0800

    Modify some icons

commit 8e4c8f7aedc0a77dccaaf0e970ca404c14969dab
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 18:41:17 2008 +0800

    try to fix po version warming

commit fc32e94722f4d82638427ea6f05bf2cbbaa57185
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 18:39:42 2008 +0800

    add doc into root Makefile.am

commit dc624433ac32e3faf3f5d532a72d050a1605a683
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 18:36:28 2008 +0800

    remove swp file

commit 5b0e5647901b7802763e64b71fb7b16941d6d500
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 18:36:03 2008 +0800

    fix Makefile.am error

commit c1efb1b9a67b090a68df132e0c9e98631b15fc1b
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 18:29:21 2008 +0800

    move table.engine as doc file

commit 26856137e940fdab3e946e2677234e0a997a44b4
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 16:18:31 2008 +0800

    fix configure error

commit d25074c7e1a4b8a904933ba4f048fba72e4ca76c
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 16:12:52 2008 +0800

    fix po verion

commit 748157a6de1099e1487892ed36315f81cb16e3cf
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 16:10:16 2008 +0800

    add tables dir into configure.ac

commit fd4bbd80e6c0456eb92b3e0856a662cc35ceb28b
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 16:06:18 2008 +0800

    fix  icons/Makefile.am

commit ee04390b1f8c2081317a551d47def5ca76498ff1
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 16:05:46 2008 +0800

    Add ibus-table.svg

commit cd3c5583987b2677098cdb72b6ede1791f251a05
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 15:36:15 2008 +0800

    fix name error

commit 9973c8f6953f02fb4855aa1d7baf5e48d694f8f7
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 15:28:44 2008 +0800

    few correction

commit a2d13d711ec725616b67d2b4a8f847e34cc6c357
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 15:25:27 2008 +0800

    prepare to try the first make

commit fd49ded87284c0a7d46282cb8f26d8f387161dcc
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 10:20:48 2008 +0800

    Add some files

commit 3924a9befdb6a50b3e9344079242ae338488ccec
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 09:51:48 2008 +0800

    prepare to run aclocal and autoconf

commit 4f68472801951c9cd9537c850d3d681571833908
Author: 余钰炜 <acevery@gmail.com>
Date:   Tue Aug 19 09:25:32 2008 +0800

    Init repository
