[ibus-pinyin] improves input style
Peng Wu
pwu at fedoraproject.org
Tue Nov 8 05:32:38 UTC 2011
commit ca1389feaf9fde3cff49edad20c55e7d8e1af1fb
Author: Peng Wu <alexepico at gmail.com>
Date: Tue Nov 8 13:32:24 2011 +0800
improves input style
ibus-pinyin-libpinyin-integration.patch | 1027 ++++++++++++++++++++++++++++---
ibus-pinyin.spec | 5 +-
2 files changed, 957 insertions(+), 75 deletions(-)
---
diff --git a/ibus-pinyin-libpinyin-integration.patch b/ibus-pinyin-libpinyin-integration.patch
index c657145..6f3469f 100644
--- a/ibus-pinyin-libpinyin-integration.patch
+++ b/ibus-pinyin-libpinyin-integration.patch
@@ -1,7 +1,7 @@
From 94bbc5c2f29f2d1e73c202dee9ca30b8ddc01c21 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 29 Aug 2011 14:14:46 +0800
-Subject: [PATCH 01/74] begin to integrate
+Subject: [PATCH 01/84] begin to integrate
---
src/PYPinyinBaseEditor.h | 91 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -112,7 +112,7 @@ index 0000000..0bed00a
From 21ee5c23e325fd7b4816b38b9cc308e17e23c1a3 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 30 Aug 2011 18:24:02 +0800
-Subject: [PATCH 02/74] begin to write libpinyin backend singleton
+Subject: [PATCH 02/84] begin to write libpinyin backend singleton
---
src/PYLibPinyin.h | 36 ++++++++++++++++++++++++++++++++++++
@@ -168,7 +168,7 @@ index 0000000..cfd8566
From 71e25b32ed628a4692c43b48fa6a150884b05378 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 1 Sep 2011 11:24:02 +0800
-Subject: [PATCH 03/74] rename editor class
+Subject: [PATCH 03/84] rename editor class
---
src/PYLibPinyin.h | 5 +++++
@@ -242,7 +242,7 @@ index 0bed00a..ee200a1 100644
From b89b25c7c5522b25f4f8a023fea7bf73bb15db68 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 1 Sep 2011 13:02:24 +0800
-Subject: [PATCH 04/74] rename editor header
+Subject: [PATCH 04/84] rename editor header
---
src/PYLibPinyinBaseEditor.h | 92 +++++++++++++++++++++++++++++++++++++++++++
@@ -454,7 +454,7 @@ index ee200a1..0000000
From 9103387c14422521f7449806079bf411ab8f6fd3 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 1 Sep 2011 15:13:09 +0800
-Subject: [PATCH 05/74] begin to write libpinyin base editor
+Subject: [PATCH 05/84] begin to write libpinyin base editor
---
src/PYLibPinyinBaseEditor.cc | 318 ++++++++++++++++++++++++++++++++++++++++++
@@ -806,7 +806,7 @@ index ee200a1..c7b0d2b 100644
From 2f3696c5af718b4eeb6113dc0b68bd9525027ec2 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 1 Sep 2011 15:51:53 +0800
-Subject: [PATCH 06/74] fixes compile
+Subject: [PATCH 06/84] fixes compile
---
src/Makefile.am | 3 +++
@@ -866,7 +866,7 @@ index c7b0d2b..d682a7b 100644
From b6cc94ba4d65f1511aebb5b2da80c958cd882815 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 10:34:06 +0800
-Subject: [PATCH 07/74] add special phrases handle in libpinyin base editor
+Subject: [PATCH 07/84] add special phrases handle in libpinyin base editor
---
src/PYLibPinyinBaseEditor.cc | 27 +++++++++++++++++++++------
@@ -949,7 +949,7 @@ index d682a7b..fa5755c 100644
From 61aafedfb9cf7718afebb4cb8a3eb82873bafa1d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 14:30:11 +0800
-Subject: [PATCH 08/74] begin to write concrete pinyin editors
+Subject: [PATCH 08/84] begin to write concrete pinyin editors
---
src/PYLibPinyinDoublePinyinEditor.h | 57 +++++++++++++++++++++++++++++++++
@@ -1093,7 +1093,7 @@ index 0000000..dcc1728
From 56d08018ceb62e0dfaff14cc3456e7b1e65dc53b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 15:26:21 +0800
-Subject: [PATCH 09/74] rename files
+Subject: [PATCH 09/84] rename files
---
src/PYLibPinyinBaseEditor.cc | 332 -----------------------------------
@@ -2245,7 +2245,7 @@ index 0000000..fa5755c
From b8f7e09a3316035b2b497386885a41e52da7b664 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 15:39:31 +0800
-Subject: [PATCH 10/74] add libpinyin pinyin editor header
+Subject: [PATCH 10/84] add libpinyin pinyin editor header
---
src/PYPPinyinEditor.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
@@ -2321,7 +2321,7 @@ index 0000000..4213395
From 0d7fdc1f9b71df881fa4353fc0f20a0839c0c78c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 15:49:13 +0800
-Subject: [PATCH 11/74] rename base editor
+Subject: [PATCH 11/84] rename base editor
---
src/Makefile.am | 6 +++-
@@ -2641,7 +2641,7 @@ index 4213395..fd2b2ce 100644
From 21c05a2bf76d58a2928fd6e93c2e1f561129ee8f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 16:49:00 +0800
-Subject: [PATCH 12/74] begin to write pinyin editor
+Subject: [PATCH 12/84] begin to write pinyin editor
---
src/PYPPinyinEditor.cc | 202 ++++++++++++++++++++++++++++++++++++++++++++++++
@@ -2864,7 +2864,7 @@ index a259a99..a78544d 100644
From b79504595353a90d85b025ab6f3bb426787f26b3 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 5 Sep 2011 16:59:49 +0800
-Subject: [PATCH 13/74] begin to write bopomofo editor
+Subject: [PATCH 13/84] begin to write bopomofo editor
---
src/PYPBopomofoEditor.cc | 374 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -3343,7 +3343,7 @@ index 0000000..bcbf85d
From 5a59f456bb40ea381a8f39858a0a8d3f8e43b074 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 5 Sep 2011 17:13:31 +0800
-Subject: [PATCH 14/74] fixes compile
+Subject: [PATCH 14/84] fixes compile
---
src/Makefile.am | 2 ++
@@ -3426,7 +3426,7 @@ index bcbf85d..f78375f 100644
From 2c724244d80e4d79385be7e0f5744b286c5b30a1 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 8 Sep 2011 15:13:17 +0800
-Subject: [PATCH 15/74] add libpinyin deps
+Subject: [PATCH 15/84] add libpinyin deps
---
configure.ac | 5 +++++
@@ -3499,7 +3499,7 @@ index 3d64bc4..f222557 100644
From aa80dfa352b8657202c895062283d9e930735b14 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 8 Sep 2011 18:02:51 +0800
-Subject: [PATCH 16/74] begin to write libpinyin backend
+Subject: [PATCH 16/84] begin to write libpinyin backend
---
src/Makefile.am | 1 +
@@ -3595,7 +3595,7 @@ index d3bc90c..c07b435 100644
From 1f6ff1c6791cf266fcff9ac2808f85d902ee4b5f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 14 Sep 2011 17:49:47 +0800
-Subject: [PATCH 17/74] add set options to libpinyin back end
+Subject: [PATCH 17/84] add set options to libpinyin back end
---
src/PYLibPinyin.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -3704,7 +3704,7 @@ index c07b435..83aa1fc 100644
From 7bb6c26be96489e919736eb719abafcf11796e15 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 15 Sep 2011 15:19:49 +0800
-Subject: [PATCH 18/74] remove special phrase
+Subject: [PATCH 18/84] remove special phrase
---
src/PYPPhoneticEditor.cc | 41 -----------------------------------------
@@ -3816,7 +3816,7 @@ index f222557..f7a3704 100644
From c9a83029d574da3de06bc8d3b3766919acd68c5c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 16 Sep 2011 15:43:35 +0800
-Subject: [PATCH 19/74] refactor libpinyin phonetic editor
+Subject: [PATCH 19/84] refactor libpinyin phonetic editor
---
src/PYPPhoneticEditor.cc | 59 +++++++++++++++++++++++++++++++++++++++------
@@ -3953,7 +3953,7 @@ index f7a3704..a3b03ff 100644
From 0afa90502dac19f65253c3bd6d6dd6b97f403ec7 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 16 Sep 2011 15:51:12 +0800
-Subject: [PATCH 20/74] clean up libpinyin bopomofo editor
+Subject: [PATCH 20/84] clean up libpinyin bopomofo editor
---
src/PYPBopomofoEditor.cc | 39 +++++++++++++--------------------------
@@ -4037,7 +4037,7 @@ index cb64abd..35c9ed2 100644
From 5d0466f732e7520851edb8145c348b29c8bea252 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 16 Sep 2011 17:31:56 +0800
-Subject: [PATCH 21/74] add m_pinyin_len back
+Subject: [PATCH 21/84] add m_pinyin_len back
---
src/PYPPhoneticEditor.cc | 20 +++++++++++---------
@@ -4132,7 +4132,7 @@ index a3b03ff..32a5245 100644
From 325056f0f43e86da5621ac04d5261faaabe5041c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 19 Sep 2011 16:10:48 +0800
-Subject: [PATCH 22/74] write pinyin editor in progress
+Subject: [PATCH 22/84] write pinyin editor in progress
---
src/PYPPhoneticEditor.h | 2 +-
@@ -4259,7 +4259,7 @@ index a78544d..a435b82 100644
From 6cee400f75eeb9d977cb3bb64df8dc282ab31aa7 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 19 Sep 2011 16:26:42 +0800
-Subject: [PATCH 23/74] begin to write libpinyin full pinyin editor
+Subject: [PATCH 23/84] begin to write libpinyin full pinyin editor
---
src/Makefile.am | 1 +
@@ -4356,7 +4356,7 @@ index 0000000..9712d97
From b50a6e074f608f640afb074231ed643240bf26b3 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 20 Sep 2011 13:52:05 +0800
-Subject: [PATCH 24/74] write update pinyin
+Subject: [PATCH 24/84] write update pinyin
---
src/PYPFullPinyinEditor.cc | 31 +++++++++++++++++++++++++++++++
@@ -4422,7 +4422,7 @@ index a6e74c4..afb52d5 100644
From 3ceb1022d20885ed032a3b0275a48fe8cf96182d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 20 Sep 2011 16:12:46 +0800
-Subject: [PATCH 25/74] add char edit
+Subject: [PATCH 25/84] add char edit
---
src/PYPFullPinyinEditor.cc | 39 +++++++++++++++++++++++++++++++++++++++
@@ -4485,7 +4485,7 @@ index 5194ef8..2b8babc 100644
From 5ccaad1bdee85c6762ddfbf52bba6e8e2f82fd0a Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 10:14:49 +0800
-Subject: [PATCH 26/74] write full pinyin editor in progress
+Subject: [PATCH 26/84] write full pinyin editor in progress
---
src/PYPFullPinyinEditor.cc | 131 +++++++++++++++++++++++++++++++++++++++++++-
@@ -4640,7 +4640,7 @@ index 2b8babc..7e764c7 100644
From b9dce30dd8b368769f7843594ba3210a097bd6cc Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 10:34:46 +0800
-Subject: [PATCH 27/74] use m_pinyin_poses in full pinyin editor
+Subject: [PATCH 27/84] use m_pinyin_poses in full pinyin editor
---
src/PYPFullPinyinEditor.cc | 32 ++++++++++++++++++++++----------
@@ -4721,7 +4721,7 @@ index 7e764c7..0a05c5a 100644
From 9b3f8d14380de93c3b697a55cfd1df6dd8316eb3 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 11:25:58 +0800
-Subject: [PATCH 28/74] use pinyin pos
+Subject: [PATCH 28/84] use pinyin pos
---
src/PYPPhoneticEditor.cc | 14 ++++++++------
@@ -4782,7 +4782,7 @@ index a435b82..68617a3 100644
From 31e29393f3d7069c7dbbbda11d0cb354838a0e2c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 11:39:17 +0800
-Subject: [PATCH 29/74] re-factor full pinyin editor
+Subject: [PATCH 29/84] re-factor full pinyin editor
---
src/PYPFullPinyinEditor.cc | 83 +++++++++++++++++++------------------------
@@ -4946,7 +4946,7 @@ index afb52d5..11e53cb 100644
From f612432ccf5bd9d3fc9617bf52f1f99e2b7b5c0a Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 12:22:55 +0800
-Subject: [PATCH 30/74] add update aux text func for full pinyin
+Subject: [PATCH 30/84] add update aux text func for full pinyin
---
src/PYPFullPinyinEditor.cc | 37 +++++++++++++++++++++++++++++++++++++
@@ -5056,7 +5056,7 @@ index fd2b2ce..41aafc6 100644
From 62d47f889316ff95b764333bb10f9f0211e32558 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 14:02:14 +0800
-Subject: [PATCH 31/74] begin to add double pinyin editor
+Subject: [PATCH 31/84] begin to add double pinyin editor
---
src/Makefile.am | 1 +
@@ -5129,7 +5129,7 @@ index 0000000..5eb2067
From 1e16137bf37a2bc597740585e2809679bc5b7605 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 14:18:36 +0800
-Subject: [PATCH 32/74] move cursor edit funcs to pinyin editor
+Subject: [PATCH 32/84] move cursor edit funcs to pinyin editor
---
src/PYPDoublePinyinEditor.h | 2 +
@@ -5586,7 +5586,7 @@ index 41aafc6..974d2a5 100644
From 17a5f2c269d903f892b59ab2a28e8476b5fa0035 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 14:52:09 +0800
-Subject: [PATCH 33/74] add update pinyin
+Subject: [PATCH 33/84] add update pinyin
---
src/PYPDoublePinyinEditor.cc | 16 ++++++++++++++++
@@ -5676,7 +5676,7 @@ index 9c1644e..05de60d 100644
From 15e5c137425de55f79c0c51d9ede5c9482e5f745 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 14:24:09 +0800
-Subject: [PATCH 34/74] write double pinyin editor
+Subject: [PATCH 34/84] write double pinyin editor
---
src/PYPDoublePinyinEditor.cc | 93 ++++++++++++++++++++++++++++++++++++++++++
@@ -5841,7 +5841,7 @@ index 08fc04e..8108002 100644
From dc1008b9450edadac06e5927f4bfc53914339619 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 14:35:40 +0800
-Subject: [PATCH 35/74] begin to write bopomofo editor
+Subject: [PATCH 35/84] begin to write bopomofo editor
---
src/PYPBopomofoEditor.cc | 119 ----------------------------------------------
@@ -6054,7 +6054,7 @@ index 974d2a5..00b49ce 100644
From 4fa55bf0d8333d1bb21c64572d017e05a22f4d48 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 15:00:11 +0800
-Subject: [PATCH 36/74] write bopomofo editor in progress
+Subject: [PATCH 36/84] write bopomofo editor in progress
---
src/PYPBopomofoEditor.cc | 68 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -6164,7 +6164,7 @@ index 00b49ce..974d2a5 100644
From cd133bc9853f92d5c8ab72fd74a9a4d0670390fe Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 15:18:37 +0800
-Subject: [PATCH 37/74] write bopomofo editor
+Subject: [PATCH 37/84] write bopomofo editor
---
src/PYPBopomofoEditor.cc | 35 ++++++++++++++++++++++++++++++++++-
@@ -6260,7 +6260,7 @@ index 8108002..5599416 100644
From 57d303dd2b725c56abea46490609e0cd3d1f2938 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 15:31:06 +0800
-Subject: [PATCH 38/74] remove m_pinyins
+Subject: [PATCH 38/84] remove m_pinyins
---
src/PYPBopomofoEditor.cc | 1 -
@@ -6371,7 +6371,7 @@ index 56a8ee4..9d522bf 100644
From f37f4807b0408d4269ad6a57e8a29049c18cabb1 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 15:49:29 +0800
-Subject: [PATCH 39/74] fixes Makefile.am
+Subject: [PATCH 39/84] fixes Makefile.am
---
src/Makefile.am | 2 ++
@@ -6410,7 +6410,7 @@ index 0c7e46f..db4f9b4 100644
From 4adb383aeaeb0053f161283888609ea3078e2bdb Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 23 Sep 2011 14:44:10 +0800
-Subject: [PATCH 40/74] add set chewing options
+Subject: [PATCH 40/84] add set chewing options
---
src/PYLibPinyin.cc | 29 ++++++++++++++++++++++++++++-
@@ -6489,7 +6489,7 @@ index 83aa1fc..538930c 100644
From 67ddca2bedeb5716ba8f2ec049d67f65db562a80 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 26 Sep 2011 15:33:00 +0800
-Subject: [PATCH 41/74] add libpinyin pinyin/chewing scheme options
+Subject: [PATCH 41/84] add libpinyin pinyin/chewing scheme options
---
src/PYLibPinyin.cc | 45 ++++++++++++++++++++++++++++++++++++++-------
@@ -6601,7 +6601,7 @@ index 538930c..3d40b1d 100644
From 97cd3846b283bb7554604f692f027a5259ab4380 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 15:08:11 +0800
-Subject: [PATCH 42/74] add PYPPinyinEngine.h
+Subject: [PATCH 42/84] add PYPPinyinEngine.h
---
src/Makefile.am | 1 +
@@ -6714,7 +6714,7 @@ index 0000000..d8040c1
From 269e8a835a6ac38a1c4b099f9a62bde9375e9a21 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 17:09:11 +0800
-Subject: [PATCH 43/74] add libpinyin pinyin engine
+Subject: [PATCH 43/84] add libpinyin pinyin engine
---
src/Makefile.am | 1 +
@@ -7072,7 +7072,7 @@ index 0000000..2877702
From a0b8bc5114056a844e59998766c886f26768cef8 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 17:30:41 +0800
-Subject: [PATCH 44/74] write bopomofo editor
+Subject: [PATCH 44/84] write bopomofo editor
---
src/PYPBopomofoEditor.cc | 131 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -7376,7 +7376,7 @@ index 9d522bf..f2d7309 100644
From d372fbc3c073d37496be1571fdd6a0fec86307ea Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 17:35:18 +0800
-Subject: [PATCH 45/74] re-factor pinyin editor
+Subject: [PATCH 45/84] re-factor pinyin editor
---
src/PYPPinyinEditor.cc | 73 +-----------------------------------------------
@@ -7507,7 +7507,7 @@ index 974d2a5..87fe210 100644
From a87fbe8b02845f67eec4443abb5eee373579c999 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 17:51:56 +0800
-Subject: [PATCH 46/74] polish code
+Subject: [PATCH 46/84] polish code
---
src/PYPPinyinEngine.cc | 29 +++++++++--------------------
@@ -7597,7 +7597,7 @@ index d8040c1..7a2d635 100644
From a7fa96bf9d0081b3b85fe8177a1b51268267d9e4 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 10:28:25 +0800
-Subject: [PATCH 47/74] fixes libpinyin pinyin engine
+Subject: [PATCH 47/84] fixes libpinyin pinyin engine
---
src/PYPPinyinEngine.cc | 4 +++-
@@ -7636,7 +7636,7 @@ index f8e20ee..1fc4933 100644
From f94b146760628458572483726768faa5cf5cf756 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 11:03:50 +0800
-Subject: [PATCH 48/74] re-factor libpinyin backend
+Subject: [PATCH 48/84] re-factor libpinyin backend
---
src/PYLibPinyin.cc | 22 ++++++++++++++++------
@@ -7729,7 +7729,7 @@ index 021201f..a19a5bf 100644
From 5f27536c62860b9436bd38ad509b195c26c1a288 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 13:46:48 +0800
-Subject: [PATCH 49/74] add PYPBopomofoEngine.h
+Subject: [PATCH 49/84] add PYPBopomofoEngine.h
---
src/Makefile.am | 1 +
@@ -7846,7 +7846,7 @@ index 0000000..f767908
From a4d249bf8ed06be72eb667d12639a1ba77418d44 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 14:59:44 +0800
-Subject: [PATCH 50/74] add PYPBopomofoEngine.cc
+Subject: [PATCH 50/84] add PYPBopomofoEngine.cc
---
src/Makefile.am | 1 +
@@ -8133,7 +8133,7 @@ index 0000000..e48e9af
From fdb0faafb87135edb9ac6b9d25525dbc2f268f71 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 15:08:52 +0800
-Subject: [PATCH 51/74] add libpinyin engines to PYEngine.cc
+Subject: [PATCH 51/84] add libpinyin engines to PYEngine.cc
---
src/PYEngine.cc | 25 ++++++++++++++++++++-----
@@ -8189,7 +8189,7 @@ index 7987146..3a34afc 100644
From 485d515721c2127a9a1fa8996799cdbd900d1b72 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 30 Sep 2011 10:30:11 +0800
-Subject: [PATCH 52/74] add show setup
+Subject: [PATCH 52/84] add show setup
---
src/PYPBopomofoEngine.cc | 3 ++-
@@ -8241,7 +8241,7 @@ index 1fc4933..c163cfc 100644
From 0c6b69bce0c9bf0c79bd4d3db464e6c2eb8cb1e7 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 30 Sep 2011 10:54:25 +0800
-Subject: [PATCH 53/74] add lazy init
+Subject: [PATCH 53/84] add lazy init
---
src/PYLibPinyin.cc | 45 ++++++++++++++++++++++++++++++++++++++++-----
@@ -8340,7 +8340,7 @@ index 212bf53..44ed727 100644
From f1073c63e615ab2b7159937b586007a75a0b492a Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 7 Oct 2011 12:53:14 +0800
-Subject: [PATCH 54/74] write libpinyin backend
+Subject: [PATCH 54/84] write libpinyin backend
---
src/PYLibPinyin.cc | 10 ++++++++++
@@ -8402,7 +8402,7 @@ index a7097fe..d76e612 100644
From a7efa0d82a7c4cae3a22f1f0e446ca5fff005ffd Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 7 Oct 2011 13:05:20 +0800
-Subject: [PATCH 55/74] write PYConfig
+Subject: [PATCH 55/84] write PYConfig
---
src/PYConfig.cc | 7 +++++++
@@ -8440,7 +8440,7 @@ index 1373607..9e539c8 100644
From a73a74a6c1ecb79b7fde223e1e71e6cbec04c802 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 10:03:26 +0800
-Subject: [PATCH 56/74] alloc/free pinyin instance
+Subject: [PATCH 56/84] alloc/free pinyin instance
---
src/PYMain.cc | 2 +-
@@ -8576,7 +8576,7 @@ index 87fe210..3c61918 100644
From d4baea8eb96460c50d241933713b0e419a9abddf Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 10:11:35 +0800
-Subject: [PATCH 57/74] add engines
+Subject: [PATCH 57/84] add engines
---
src/PYMain.cc | 32 +++++++++++++++++++++++++++++++-
@@ -8653,7 +8653,7 @@ index c4895ec..3516b90 100644
From 33a08c7702e7bdf816cd4e9a21fd8190d2cbc35d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 10:37:40 +0800
-Subject: [PATCH 58/74] fixes full editor
+Subject: [PATCH 58/84] fixes full editor
---
src/PYPFullPinyinEditor.cc | 5 ++++-
@@ -8725,7 +8725,7 @@ index c163cfc..4aae9a9 100644
From 1d4b7682ac6e05758e2d9dd45b373d48903568b1 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 11:29:03 +0800
-Subject: [PATCH 59/74] fixes double pinyin
+Subject: [PATCH 59/84] fixes double pinyin
---
src/PYPDoublePinyinEditor.cc | 8 +++++++-
@@ -8780,7 +8780,7 @@ index 0b7d603..69ed5ab 100644
From de6e93108fc2c3b2ce3b8fba522a3edad082b738 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 11:40:11 +0800
-Subject: [PATCH 60/74] fixes chewing editor
+Subject: [PATCH 60/84] fixes chewing editor
---
src/PYEngine.cc | 2 +-
@@ -8836,7 +8836,7 @@ index f13fcc9..1a330cc 100644
From fd277418074f4ee9c587f95cf93ce83bb71bb4ce Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 18:53:12 +0800
-Subject: [PATCH 61/74] add to pinyin.xml.in.in
+Subject: [PATCH 61/84] add to pinyin.xml.in.in
---
src/pinyin.xml.in.in | 28 ++++++++++++++++++++++++++++
@@ -8888,7 +8888,7 @@ index 94b803a..f8ada12 100644
From 2451a4c83885e796d7ddfee9d0321d56bc3703ef Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 19:01:16 +0800
-Subject: [PATCH 62/74] fixes update preedit text
+Subject: [PATCH 62/84] fixes update preedit text
---
src/PYPBopomofoEditor.cc | 14 ++++++++------
@@ -8954,7 +8954,7 @@ index 817f621..3d7deff 100644
From 83bd966f202824cbb431a581fea626f1252ce96e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 10 Oct 2011 13:08:27 +0800
-Subject: [PATCH 63/74] update main.py
+Subject: [PATCH 63/84] update main.py
---
setup/main.py | 21 +++++++++++++++------
@@ -9033,7 +9033,7 @@ index 0e3a729..197ea8b 100644
From 6ecd8e73f2d5d035f36c5083aa8e69dbf198c671 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 10 Oct 2011 14:08:17 +0800
-Subject: [PATCH 64/74] add update when select candidate
+Subject: [PATCH 64/84] add update when select candidate
---
src/PYPBopomofoEditor.cc | 2 ++
@@ -9103,7 +9103,7 @@ index 3d7deff..4b8aa21 100644
From 8c5d9452dba95acae0adfd06769f262f18614041 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 10 Oct 2011 15:25:20 +0800
-Subject: [PATCH 65/74] fixes commit/reset
+Subject: [PATCH 65/84] fixes commit/reset
---
src/PYPPhoneticEditor.cc | 1 +
@@ -9128,7 +9128,7 @@ index a5d7675..c50b265 100644
From 4ecd95e7e241ab53934483b36bb7fba2717afc54 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 10 Oct 2011 17:30:39 +0800
-Subject: [PATCH 66/74] fixes space handle
+Subject: [PATCH 66/84] fixes space handle
---
src/PYPPhoneticEditor.cc | 7 ++-----
@@ -9180,7 +9180,7 @@ index 4b8aa21..195d0e3 100644
From 9a5d9bdde8bb12ac38af7a1eb2b7bb73a1ccf3ff Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 11 Oct 2011 11:14:18 +0800
-Subject: [PATCH 67/74] fixes choose candidate
+Subject: [PATCH 67/84] fixes choose candidate
---
src/PYPPhoneticEditor.cc | 8 +++++++-
@@ -9213,7 +9213,7 @@ index dc494d5..6be7079 100644
From a4054b39925e3c194d6e8dddad6bbc403dd74ac0 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 25 Oct 2011 14:11:13 +0800
-Subject: [PATCH 68/74] update pinyin.xml.in.in
+Subject: [PATCH 68/84] update pinyin.xml.in.in
---
src/pinyin.xml.in.in | 10 ++++++++--
@@ -9260,7 +9260,7 @@ index f8ada12..d2b267d 100644
From 4c36af48e4a173a7008d2742fbdf1e0a97481c1b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 25 Oct 2011 14:36:36 +0800
-Subject: [PATCH 69/74] add user data directory support
+Subject: [PATCH 69/84] add user data directory support
---
src/PYLibPinyin.cc | 16 +++++++++++++++-
@@ -9310,7 +9310,7 @@ index d76e612..077e7e0 100644
From e4f2fa619027b987645b0c5e5cf4d5d152c67306 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 26 Oct 2011 10:10:58 +0800
-Subject: [PATCH 70/74] add save support
+Subject: [PATCH 70/84] add save support
---
src/PYLibPinyin.cc | 51 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -9466,7 +9466,7 @@ index 195d0e3..e676f6d 100644
From 025580e8f4ad1d758729e467e73011046fdba64b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 27 Oct 2011 11:36:59 +0800
-Subject: [PATCH 71/74] hide bopomofo
+Subject: [PATCH 71/84] hide bopomofo
---
src/pinyin.xml.in.in | 23 ++++-------------------
@@ -9526,7 +9526,7 @@ index d2b267d..93b14a1 100644
From 8f1412f1d5b326cb93202e7fa91a017fe1dfba4d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 31 Oct 2011 11:18:09 +0800
-Subject: [PATCH 72/74] improves pinyin.xml
+Subject: [PATCH 72/84] improves pinyin.xml
---
src/pinyin.xml.in.in | 6 +++---
@@ -9570,7 +9570,7 @@ index 93b14a1..862801b 100644
From 4593004fbcf97c5a8499fe9cadf540b8a9c14d7d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 3 Nov 2011 11:31:05 +0800
-Subject: [PATCH 73/74] fixes select candidate
+Subject: [PATCH 73/84] fixes select candidate
---
src/PYPPhoneticEditor.cc | 4 ++++
@@ -9598,7 +9598,7 @@ index 6be7079..dc66689 100644
From 2144da157696caac27450a11922fb2ef90ddb6c9 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 3 Nov 2011 13:19:12 +0800
-Subject: [PATCH 74/74] add compile flags
+Subject: [PATCH 74/84] add compile flags
---
configure.ac | 14 +++++++++++++-
@@ -9813,3 +9813,882 @@ index 3516b90..01f3b49 100644
--
1.7.7
+
+From 904f00a369b4d8f007fb2e840f4d72eba63aca9c Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 12:53:41 +0800
+Subject: [PATCH 75/84] fixes 'hon' auto correction
+
+---
+ src/PYPFullPinyinEditor.cc | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/src/PYPFullPinyinEditor.cc b/src/PYPFullPinyinEditor.cc
+index 69ed5ab..07073b6 100644
+--- a/src/PYPFullPinyinEditor.cc
++++ b/src/PYPFullPinyinEditor.cc
+@@ -93,7 +93,9 @@ LibPinyinFullPinyinEditor::updatePinyin (void)
+ PinyinArray::const_iterator iter = pinyins.begin ();
+ for ( ; iter != pinyins.end (); ++iter ) {
+ PinyinSegment py = *iter;
+- pinyin_parse_full_pinyin (m_instance, py.pinyin->text, &key);
++ String pinyin = py.pinyin->sheng;
++ pinyin += py.pinyin->yun;
++ pinyin_parse_full_pinyin (m_instance, (const char *)pinyin, &key);
+ pos.set_pos (py.begin); pos.set_length (py.len);
+ g_array_append_val (m_instance->m_pinyin_keys, key);
+ g_array_append_val (m_instance->m_pinyin_poses, pos);
+--
+1.7.7
+
+
+From cad2d04e2923d8dfb1ee784dc830fb9a0d137271 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 13:14:06 +0800
+Subject: [PATCH 76/84] update header
+
+---
+ src/PYPBopomofoEditor.h | 10 ----------
+ src/PYPPhoneticEditor.h | 12 +++++++-----
+ src/PYPPinyinEditor.h | 10 ----------
+ 3 files changed, 7 insertions(+), 25 deletions(-)
+
+diff --git a/src/PYPBopomofoEditor.h b/src/PYPBopomofoEditor.h
+index cfdca2a..1df1731 100644
+--- a/src/PYPBopomofoEditor.h
++++ b/src/PYPBopomofoEditor.h
+@@ -35,13 +35,6 @@ public:
+ LibPinyinBopomofoEditor (PinyinProperties & props, Config & config);
+ ~LibPinyinBopomofoEditor (void);
+
+-public:
+- gboolean removeWordBefore (void);
+- gboolean removeWordAfter (void);
+-
+- gboolean moveCursorLeftByWord (void);
+- gboolean moveCursorRightByWord (void);
+-
+ protected:
+ String bopomofo;
+ gboolean m_select_mode;
+@@ -58,9 +51,6 @@ protected:
+ virtual void updateAuxiliaryText ();
+ virtual void updatePinyin (void);
+
+- guint getCursorLeftByWord (void);
+- guint getCursorRightByWord (void);
+-
+ void commit ();
+ void reset ();
+
+diff --git a/src/PYPPhoneticEditor.h b/src/PYPPhoneticEditor.h
+index f2d7309..b2235f3 100644
+--- a/src/PYPPhoneticEditor.h
++++ b/src/PYPPhoneticEditor.h
+@@ -50,7 +50,6 @@ public:
+ virtual gboolean fillLookupTableByPage ();
+
+ protected:
+-
+ gboolean selectCandidate (guint i);
+ gboolean selectCandidateInPage (guint i);
+
+@@ -63,12 +62,12 @@ protected:
+ virtual gboolean insert (gint ch) = 0;
+ virtual gboolean removeCharBefore (void);
+ virtual gboolean removeCharAfter (void);
+- virtual gboolean removeWordBefore (void) = 0;
+- virtual gboolean removeWordAfter (void) = 0;
++ virtual gboolean removeWordBefore (void);
++ virtual gboolean removeWordAfter (void);
+ virtual gboolean moveCursorLeft (void);
+ virtual gboolean moveCursorRight (void);
+- virtual gboolean moveCursorLeftByWord (void) = 0;
+- virtual gboolean moveCursorRightByWord (void) = 0;
++ virtual gboolean moveCursorLeftByWord (void);
++ virtual gboolean moveCursorRightByWord (void);
+ virtual gboolean moveCursorToBegin (void);
+ virtual gboolean moveCursorToEnd (void);
+ virtual void commit (void) = 0;
+@@ -76,6 +75,9 @@ protected:
+ virtual void updatePreeditText (void) = 0;
+ virtual void updatePinyin (void) = 0;
+
++ guint getCursorLeftByWord (void);
++ guint getCursorRightByWord (void);
++
+
+ /* varibles */
+ #if 0
+diff --git a/src/PYPPinyinEditor.h b/src/PYPPinyinEditor.h
+index 3c61918..815b7a0 100644
+--- a/src/PYPPinyinEditor.h
++++ b/src/PYPPinyinEditor.h
+@@ -33,13 +33,6 @@ class LibPinyinPinyinEditor : public LibPinyinPhoneticEditor {
+ public:
+ LibPinyinPinyinEditor (PinyinProperties & props, Config & config);
+
+-public:
+- gboolean removeWordBefore (void);
+- gboolean removeWordAfter (void);
+-
+- gboolean moveCursorLeftByWord (void);
+- gboolean moveCursorRightByWord (void);
+-
+
+ protected:
+ gboolean processPinyin (guint keyval, guint keycode, guint modifiers);
+@@ -56,9 +49,6 @@ protected:
+ virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers);
+
+ virtual void updatePinyin (void) = 0;
+-
+- guint getCursorLeftByWord (void);
+- guint getCursorRightByWord (void);
+ };
+
+ };
+--
+1.7.7
+
+
+From b37af69de6c6a95104fbfd9597d82eaa725a4701 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 13:33:28 +0800
+Subject: [PATCH 77/84] copy move cursor by word functions
+
+---
+ src/PYPPhoneticEditor.cc | 99 ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 99 insertions(+), 0 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index dc66689..ac94ba7 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -418,3 +418,102 @@ LibPinyinPhoneticEditor::moveCursorToEnd (void)
+ update ();
+ return TRUE;
+ }
++
++
++/* move cursor by word functions */
++
++guint
++LibPinyinPhoneticEditor::getCursorLeftByWord (void)
++{
++ guint cursor;
++
++ if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
++ cursor = m_pinyin_len;
++ } else {
++ PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
++ guint pinyin_cursor = getPinyinCursor ();
++ PinyinKeyPos *pos = &g_array_index
++ (pinyin_poses, PinyinKeyPos, pinyin_cursor);
++ cursor = pos->m_pos;
++
++ /* cursor at the begin of one pinyin */
++ g_return_val_if_fail (pinyin_cursor > 0, 0);
++ if ( cursor == m_cursor) {
++ pos = &g_array_index
++ (pinyin_poses, PinyinKeyPos, pinyin_cursor - 1);
++ cursor = pos->m_pos;
++ }
++ }
++
++ return cursor;
++}
++
++guint
++LibPinyinPhoneticEditor::getCursorRightByWord (void)
++{
++ guint cursor;
++
++ if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
++ cursor = m_text.length ();
++ } else {
++ guint pinyin_cursor = getPinyinCursor ();
++ PinyinKeyPos *pos = &g_array_index
++ (m_instance->m_pinyin_poses, PinyinKeyPos, pinyin_cursor);
++ cursor = pos->get_end_pos ();
++ }
++
++ return cursor;
++}
++
++gboolean
++LibPinyinPhoneticEditor::removeWordBefore (void)
++{
++ if (G_UNLIKELY (m_cursor == 0))
++ return FALSE;
++
++ guint cursor = getCursorLeftByWord ();
++ m_text.erase (cursor, m_cursor - cursor);
++ m_cursor = cursor;
++ updatePinyin ();
++ update ();
++ return TRUE;
++}
++
++gboolean
++LibPinyinPhoneticEditor::removeWordAfter (void)
++{
++ if (G_UNLIKELY (m_cursor == m_text.length ()))
++ return FALSE;
++
++ guint cursor = getCursorRightByWord ();
++ m_text.erase (m_cursor, cursor - m_cursor);
++ updatePinyin ();
++ update ();
++ return TRUE;
++}
++
++gboolean
++LibPinyinPhoneticEditor::moveCursorLeftByWord (void)
++{
++ if (G_UNLIKELY (m_cursor == 0))
++ return FALSE;
++
++ guint cursor = getCursorLeftByWord ();
++
++ m_cursor = cursor;
++ update ();
++ return TRUE;
++}
++
++gboolean
++LibPinyinPhoneticEditor::moveCursorRightByWord (void)
++{
++ if (G_UNLIKELY (m_cursor == m_text.length ()))
++ return FALSE;
++
++ guint cursor = getCursorRightByWord ();
++
++ m_cursor = cursor;
++ update ();
++ return TRUE;
++}
+--
+1.7.7
+
+
+From e16d6d5644811bea4590099d6da32d3d5f0cc33d Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 13:39:58 +0800
+Subject: [PATCH 78/84] remove cursor by word functions
+
+---
+ src/PYPBopomofoEditor.cc | 98 ----------------------------------------------
+ src/PYPPinyinEditor.cc | 97 ---------------------------------------------
+ 2 files changed, 0 insertions(+), 195 deletions(-)
+
+diff --git a/src/PYPBopomofoEditor.cc b/src/PYPBopomofoEditor.cc
+index 7592e2a..39a7c95 100644
+--- a/src/PYPBopomofoEditor.cc
++++ b/src/PYPBopomofoEditor.cc
+@@ -388,101 +388,3 @@ LibPinyinBopomofoEditor::updateAuxiliaryText (void)
+ Editor::updateAuxiliaryText (aux_text, TRUE);
+ }
+
+-/* move cursor functions */
+-
+-guint
+-LibPinyinBopomofoEditor::getCursorLeftByWord (void)
+-{
+- guint cursor;
+-
+- if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
+- cursor = m_pinyin_len;
+- } else {
+- PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
+- guint pinyin_cursor = getPinyinCursor ();
+- PinyinKeyPos *pos = &g_array_index
+- (pinyin_poses, PinyinKeyPos, pinyin_cursor);
+- cursor = pos->m_pos;
+-
+- /* cursor at the begin of one pinyin */
+- g_return_val_if_fail (pinyin_cursor > 0, 0);
+- if ( cursor == m_cursor) {
+- pos = &g_array_index
+- (pinyin_poses, PinyinKeyPos, pinyin_cursor - 1);
+- cursor = pos->m_pos;
+- }
+- }
+-
+- return cursor;
+-}
+-
+-guint
+-LibPinyinBopomofoEditor::getCursorRightByWord (void)
+-{
+- guint cursor;
+-
+- if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
+- cursor = m_text.length ();
+- } else {
+- guint pinyin_cursor = getPinyinCursor ();
+- PinyinKeyPos *pos = &g_array_index
+- (m_instance->m_pinyin_poses, PinyinKeyPos, pinyin_cursor);
+- cursor = pos->get_end_pos ();
+- }
+-
+- return cursor;
+-}
+-
+-gboolean
+-LibPinyinBopomofoEditor::removeWordBefore (void)
+-{
+- if (G_UNLIKELY (m_cursor == 0))
+- return FALSE;
+-
+- guint cursor = getCursorLeftByWord ();
+- m_text.erase (cursor, m_cursor - cursor);
+- m_cursor = cursor;
+- updatePinyin ();
+- update ();
+- return TRUE;
+-}
+-
+-gboolean
+-LibPinyinBopomofoEditor::removeWordAfter (void)
+-{
+- if (G_UNLIKELY (m_cursor == m_text.length ()))
+- return FALSE;
+-
+- guint cursor = getCursorRightByWord ();
+- m_text.erase (m_cursor, cursor - m_cursor);
+- updatePinyin ();
+- update ();
+- return TRUE;
+-}
+-
+-gboolean
+-LibPinyinBopomofoEditor::moveCursorLeftByWord (void)
+-{
+- if (G_UNLIKELY (m_cursor == 0))
+- return FALSE;
+-
+- guint cursor = getCursorLeftByWord ();
+-
+- m_cursor = cursor;
+- update ();
+- return TRUE;
+-}
+-
+-gboolean
+-LibPinyinBopomofoEditor::moveCursorRightByWord (void)
+-{
+- if (G_UNLIKELY (m_cursor == m_text.length ()))
+- return FALSE;
+-
+- guint cursor = getCursorRightByWord ();
+-
+- m_cursor = cursor;
+- update ();
+- return TRUE;
+-}
+-
+diff --git a/src/PYPPinyinEditor.cc b/src/PYPPinyinEditor.cc
+index e676f6d..7acf3a9 100644
+--- a/src/PYPPinyinEditor.cc
++++ b/src/PYPPinyinEditor.cc
+@@ -305,100 +305,3 @@ LibPinyinPinyinEditor::updateLookupTable ()
+ LibPinyinPhoneticEditor::updateLookupTable ();
+ }
+
+-/* move cursor functions */
+-
+-guint
+-LibPinyinPinyinEditor::getCursorLeftByWord (void)
+-{
+- guint cursor;
+-
+- if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
+- cursor = m_pinyin_len;
+- } else {
+- PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
+- guint pinyin_cursor = getPinyinCursor ();
+- PinyinKeyPos *pos = &g_array_index
+- (pinyin_poses, PinyinKeyPos, pinyin_cursor);
+- cursor = pos->m_pos;
+-
+- /* cursor at the begin of one pinyin */
+- g_return_val_if_fail (pinyin_cursor > 0, 0);
+- if ( cursor == m_cursor) {
+- pos = &g_array_index
+- (pinyin_poses, PinyinKeyPos, pinyin_cursor - 1);
+- cursor = pos->m_pos;
+- }
+- }
+-
+- return cursor;
+-}
+-
+-guint
+-LibPinyinPinyinEditor::getCursorRightByWord (void)
+-{
+- guint cursor;
+-
+- if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
+- cursor = m_text.length ();
+- } else {
+- guint pinyin_cursor = getPinyinCursor ();
+- PinyinKeyPos *pos = &g_array_index
+- (m_instance->m_pinyin_poses, PinyinKeyPos, pinyin_cursor);
+- cursor = pos->get_end_pos ();
+- }
+-
+- return cursor;
+-}
+-
+-gboolean
+-LibPinyinPinyinEditor::removeWordBefore (void)
+-{
+- if (G_UNLIKELY (m_cursor == 0))
+- return FALSE;
+-
+- guint cursor = getCursorLeftByWord ();
+- m_text.erase (cursor, m_cursor - cursor);
+- m_cursor = cursor;
+- updatePinyin ();
+- update ();
+- return TRUE;
+-}
+-
+-gboolean
+-LibPinyinPinyinEditor::removeWordAfter (void)
+-{
+- if (G_UNLIKELY (m_cursor == m_text.length ()))
+- return FALSE;
+-
+- guint cursor = getCursorRightByWord ();
+- m_text.erase (m_cursor, cursor - m_cursor);
+- updatePinyin ();
+- update ();
+- return TRUE;
+-}
+-
+-gboolean
+-LibPinyinPinyinEditor::moveCursorLeftByWord (void)
+-{
+- if (G_UNLIKELY (m_cursor == 0))
+- return FALSE;
+-
+- guint cursor = getCursorLeftByWord ();
+-
+- m_cursor = cursor;
+- update ();
+- return TRUE;
+-}
+-
+-gboolean
+-LibPinyinPinyinEditor::moveCursorRightByWord (void)
+-{
+- if (G_UNLIKELY (m_cursor == m_text.length ()))
+- return FALSE;
+-
+- guint cursor = getCursorRightByWord ();
+-
+- m_cursor = cursor;
+- update ();
+- return TRUE;
+-}
+--
+1.7.7
+
+
+From 6c4f3c3e563dc4fee3d67586a05d844b521ba95d Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 14:22:19 +0800
+Subject: [PATCH 79/84] show guessed sentence in lookup table
+
+---
+ src/PYPPhoneticEditor.cc | 35 ++++++++++++++++++++++++++++++-----
+ 1 files changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index ac94ba7..a249b54 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -184,16 +184,36 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+ guint filled_nr = m_lookup_table.size ();
+ guint page_size = m_lookup_table.pageSize ();
+
+- /* fill lookup table by libpinyin get candidates. */
++ /* fill lookup table by libpinyin guessed sentence and get candidates. */
+ guint need_nr = MIN (page_size, m_candidates->len - filled_nr);
+ g_assert (need_nr >=0);
+ if (need_nr == 0)
+ return FALSE;
+
+ for (guint i = filled_nr; i < filled_nr + need_nr; i++) {
++ phrase_token_t *token = &g_array_index
++ (m_candidates, phrase_token_t, i);
++
++ if (null_token == *token) {
++ /* show guessed sentence. */
++ String buffer;
++ char *tmp = NULL;
++ pinyin_get_sentence(m_instance, &tmp);
++ if (tmp) {
++ if (m_props.modeSimp ()) {
++ buffer<<tmp;
++ } else {
++ SimpTradConverter::simpToTrad (tmp, buffer);
++ }
++ }
++ Text text(buffer);
++ m_lookup_table.appendCandidate(text);
++ g_free (tmp);
++ continue;
++ }
++
++ /* show get candidates. */
+ if (G_LIKELY (m_props.modeSimp ())) { /* Simplified Chinese */
+- phrase_token_t *token = &g_array_index
+- (m_candidates, phrase_token_t, i);
+ char *word = NULL;
+ pinyin_translate_token(m_instance, *token, &word);
+ Text text (word);
+@@ -201,8 +221,6 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+ g_free(word);
+ } else { /* Traditional Chinese */
+ m_buffer.truncate (0);
+- phrase_token_t *token = &g_array_index
+- (m_candidates, phrase_token_t, i);
+ char *word = NULL;
+ pinyin_translate_token(m_instance, *token, &word);
+ SimpTradConverter::simpToTrad (word, m_buffer);
+@@ -280,8 +298,15 @@ LibPinyinPhoneticEditor::reset (void)
+ void
+ LibPinyinPhoneticEditor::update (void)
+ {
++ PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
+ guint pinyin_cursor = getPinyinCursor ();
++ /* show candidates when pinyin cursor is at end. */
++ if (pinyin_cursor == pinyins->len && m_pinyin_len == m_text.length())
++ pinyin_cursor = 0;
+ pinyin_get_candidates (m_instance, pinyin_cursor, m_candidates);
++ /* show guessed sentence only when m_candidates are available. */
++ if (m_candidates->len)
++ g_array_insert_val(m_candidates, 0, null_token);
+ updateLookupTable ();
+ updatePreeditText ();
+ updateAuxiliaryText ();
+--
+1.7.7
+
+
+From 8e514f3a25e4a1263a4ae5f1a67d15a5be1afeb0 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 14:40:06 +0800
+Subject: [PATCH 80/84] fixes select candidate
+
+---
+ src/PYPPhoneticEditor.cc | 16 +++++++++++++++-
+ 1 files changed, 15 insertions(+), 1 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index a249b54..c5c8041 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -343,16 +343,30 @@ LibPinyinPhoneticEditor::selectCandidate (guint i)
+ if (G_UNLIKELY (i >= m_candidates->len))
+ return FALSE;
+
++ PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
+ guint pinyin_cursor = getPinyinCursor ();
++ /* show candidates when pinyin cursor is at end. */
++ if (pinyin_cursor == pinyins->len && m_pinyin_len == m_text.length())
++ pinyin_cursor = 0;
+
+ /* NOTE: deal with normal candidates selection here by libpinyin. */
+ phrase_token_t *token = &g_array_index (m_candidates, phrase_token_t, i);
++ if (null_token == *token) {
++ commit ();
++ return TRUE;
++ }
++
+ guint8 len = pinyin_choose_candidate (m_instance, pinyin_cursor, *token);
+ pinyin_guess_sentence (m_instance);
+
++ PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
+ pinyin_cursor += len;
++ if (pinyin_cursor == pinyin_poses->len) {
++ commit();
++ return TRUE;
++ }
+ PinyinKeyPos *pos = &g_array_index
+- (m_instance->m_pinyin_poses, PinyinKeyPos, pinyin_cursor);
++ (pinyin_poses, PinyinKeyPos, pinyin_cursor);
+ m_cursor = pos->get_pos();
+
+ return TRUE;
+--
+1.7.7
+
+
+From 266ac40226616566faba3d8e3d048876e0587c40 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 14:50:54 +0800
+Subject: [PATCH 81/84] add get lookup cursor function
+
+---
+ src/PYPPhoneticEditor.cc | 35 ++++++++++++++++++++---------------
+ src/PYPPhoneticEditor.h | 3 ++-
+ 2 files changed, 22 insertions(+), 16 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index c5c8041..b9dbc85 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -298,15 +298,13 @@ LibPinyinPhoneticEditor::reset (void)
+ void
+ LibPinyinPhoneticEditor::update (void)
+ {
+- PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
+- guint pinyin_cursor = getPinyinCursor ();
+- /* show candidates when pinyin cursor is at end. */
+- if (pinyin_cursor == pinyins->len && m_pinyin_len == m_text.length())
+- pinyin_cursor = 0;
+- pinyin_get_candidates (m_instance, pinyin_cursor, m_candidates);
++ guint lookup_cursor = getLookupCursor ();
++ pinyin_get_candidates (m_instance, lookup_cursor, m_candidates);
++
+ /* show guessed sentence only when m_candidates are available. */
+ if (m_candidates->len)
+ g_array_insert_val(m_candidates, 0, null_token);
++
+ updateLookupTable ();
+ updatePreeditText ();
+ updateAuxiliaryText ();
+@@ -336,6 +334,17 @@ LibPinyinPhoneticEditor::getPinyinCursor ()
+ return pinyin_cursor;
+ }
+
++guint
++LibPinyinPhoneticEditor::getLookupCursor (void)
++{
++ PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
++ guint lookup_cursor = getPinyinCursor ();
++ /* show candidates when pinyin cursor is at end. */
++ if (lookup_cursor == pinyins->len && m_pinyin_len == m_text.length())
++ lookup_cursor = 0;
++ return lookup_cursor;
++}
++
+ gboolean
+ LibPinyinPhoneticEditor::selectCandidate (guint i)
+ {
+@@ -343,11 +352,7 @@ LibPinyinPhoneticEditor::selectCandidate (guint i)
+ if (G_UNLIKELY (i >= m_candidates->len))
+ return FALSE;
+
+- PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
+- guint pinyin_cursor = getPinyinCursor ();
+- /* show candidates when pinyin cursor is at end. */
+- if (pinyin_cursor == pinyins->len && m_pinyin_len == m_text.length())
+- pinyin_cursor = 0;
++ guint lookup_cursor = getLookupCursor ();
+
+ /* NOTE: deal with normal candidates selection here by libpinyin. */
+ phrase_token_t *token = &g_array_index (m_candidates, phrase_token_t, i);
+@@ -356,17 +361,17 @@ LibPinyinPhoneticEditor::selectCandidate (guint i)
+ return TRUE;
+ }
+
+- guint8 len = pinyin_choose_candidate (m_instance, pinyin_cursor, *token);
++ guint8 len = pinyin_choose_candidate (m_instance, lookup_cursor, *token);
+ pinyin_guess_sentence (m_instance);
+
+ PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
+- pinyin_cursor += len;
+- if (pinyin_cursor == pinyin_poses->len) {
++ lookup_cursor += len;
++ if (lookup_cursor == pinyin_poses->len) {
+ commit();
+ return TRUE;
+ }
+ PinyinKeyPos *pos = &g_array_index
+- (pinyin_poses, PinyinKeyPos, pinyin_cursor);
++ (pinyin_poses, PinyinKeyPos, lookup_cursor);
+ m_cursor = pos->get_pos();
+
+ return TRUE;
+diff --git a/src/PYPPhoneticEditor.h b/src/PYPPhoneticEditor.h
+index b2235f3..1360e58 100644
+--- a/src/PYPPhoneticEditor.h
++++ b/src/PYPPhoneticEditor.h
+@@ -54,7 +54,8 @@ protected:
+ gboolean selectCandidateInPage (guint i);
+
+ void commit (const gchar *str);
+- guint getPinyinCursor ();
++ guint getPinyinCursor (void);
++ guint getLookupCursor (void);
+
+ /* inline functions */
+
+--
+1.7.7
+
+
+From 3f49177498706dd75b6af0ed0c784b89de9fb785 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 15:09:46 +0800
+Subject: [PATCH 82/84] show the rest of guessed sentence
+
+---
+ src/PYPPhoneticEditor.cc | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index b9dbc85..4f2c1e1 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -195,7 +195,7 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+ (m_candidates, phrase_token_t, i);
+
+ if (null_token == *token) {
+- /* show guessed sentence. */
++ /* show the rest of guessed sentence after the cursor. */
+ String buffer;
+ char *tmp = NULL;
+ pinyin_get_sentence(m_instance, &tmp);
+@@ -206,8 +206,10 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+ SimpTradConverter::simpToTrad (tmp, buffer);
+ }
+ }
+- Text text(buffer);
+- m_lookup_table.appendCandidate(text);
++
++ guint lookup_cursor = getLookupCursor ();
++ gchar * rest = g_utf8_offset_to_pointer (buffer.c_str (), lookup_cursor);
++ m_lookup_table.appendCandidate (Text (rest));
+ g_free (tmp);
+ continue;
+ }
+--
+1.7.7
+
+
+From 1a34555e19202d5ba9e813fdc5d915b8d969fac6 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Tue, 8 Nov 2011 13:03:31 +0800
+Subject: [PATCH 83/84] clean code
+
+---
+ src/PYPPhoneticEditor.cc | 40 +++++++++++++++++-----------------------
+ 1 files changed, 17 insertions(+), 23 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index 4f2c1e1..e79e492 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -194,42 +194,36 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+ phrase_token_t *token = &g_array_index
+ (m_candidates, phrase_token_t, i);
+
++ String first_candidate, candidate;
+ if (null_token == *token) {
+ /* show the rest of guessed sentence after the cursor. */
+ String buffer;
+ char *tmp = NULL;
+ pinyin_get_sentence(m_instance, &tmp);
+- if (tmp) {
+- if (m_props.modeSimp ()) {
+- buffer<<tmp;
+- } else {
+- SimpTradConverter::simpToTrad (tmp, buffer);
+- }
+- }
++ if (tmp)
++ buffer = tmp;
+
+ guint lookup_cursor = getLookupCursor ();
+- gchar * rest = g_utf8_offset_to_pointer (buffer.c_str (), lookup_cursor);
+- m_lookup_table.appendCandidate (Text (rest));
++ first_candidate = g_utf8_offset_to_pointer
++ (buffer.c_str (), lookup_cursor);
++ Text text (first_candidate);
++ m_lookup_table.appendCandidate (text);
+ g_free (tmp);
+ continue;
+ }
+
++ char *word = NULL;
++ pinyin_translate_token(m_instance, *token, &word);
++ candidate = word;
++
+ /* show get candidates. */
+- if (G_LIKELY (m_props.modeSimp ())) { /* Simplified Chinese */
+- char *word = NULL;
+- pinyin_translate_token(m_instance, *token, &word);
+- Text text (word);
+- m_lookup_table.appendCandidate(text);
+- g_free(word);
+- } else { /* Traditional Chinese */
+- m_buffer.truncate (0);
+- char *word = NULL;
+- pinyin_translate_token(m_instance, *token, &word);
+- SimpTradConverter::simpToTrad (word, m_buffer);
+- Text text (m_buffer);
+- m_lookup_table.appendCandidate (text);
+- g_free(word);
++ if (G_UNLIKELY (!m_props.modeSimp ())) { /* Traditional Chinese */
++ candidate.truncate (0);
++ SimpTradConverter::simpToTrad (word, candidate);
+ }
++ Text text (candidate);
++ m_lookup_table.appendCandidate (text);
++ g_free(word);
+ }
+
+ return TRUE;
+--
+1.7.7
+
+
+From 6754d3911acd4cdfdd0f234d26f2489b50d50d4b Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Tue, 8 Nov 2011 13:14:34 +0800
+Subject: [PATCH 84/84] remove duplicated candidates
+
+---
+ src/PYPPhoneticEditor.cc | 9 ++++++++-
+ 1 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index e79e492..b5903ae 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -190,11 +190,11 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+ if (need_nr == 0)
+ return FALSE;
+
++ String first_candidate, candidate;
+ for (guint i = filled_nr; i < filled_nr + need_nr; i++) {
+ phrase_token_t *token = &g_array_index
+ (m_candidates, phrase_token_t, i);
+
+- String first_candidate, candidate;
+ if (null_token == *token) {
+ /* show the rest of guessed sentence after the cursor. */
+ String buffer;
+@@ -216,6 +216,13 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+ pinyin_translate_token(m_instance, *token, &word);
+ candidate = word;
+
++ /* remove duplicated candidates */
++ if (candidate == first_candidate) {
++ g_array_remove_index (m_candidates, i);
++ --i;
++ continue;
++ }
++
+ /* show get candidates. */
+ if (G_UNLIKELY (!m_props.modeSimp ())) { /* Traditional Chinese */
+ candidate.truncate (0);
+--
+1.7.7
+
diff --git a/ibus-pinyin.spec b/ibus-pinyin.spec
index f78a292..ee6d775 100644
--- a/ibus-pinyin.spec
+++ b/ibus-pinyin.spec
@@ -1,6 +1,6 @@
Name: ibus-pinyin
Version: 1.3.99.20110706
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: The Chinese Pinyin and Bopomofo engines for IBus input platform
License: GPLv2+
Group: System Environment/Libraries
@@ -111,6 +111,9 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/ibus-pinyin/db/android.db
%changelog
+* Tue Nov 08 2011 Peng Wu <pwu at redhat.com> - 1.3.99.20110706-6
+- Improves pinyin default input style. (rhbz#751923)
+
* Thu Nov 03 2011 Peng Wu <pwu at redhat.com> - 1.3.99.20110706-5
- Fixes crashes, update ibus-pinyin-libpinyin-integration.patch
More information about the scm-commits
mailing list