Fixes incomplete pinyin
This commit is contained in:
parent
29ada9f433
commit
d32742eef0
@ -1,7 +1,7 @@
|
||||
From f21bba5df05c174ff91bb89d86b0d383767f99dd Mon Sep 17 00:00:00 2001
|
||||
From: Peng Wu <alexepico@gmail.com>
|
||||
Date: Tue, 11 Dec 2012 14:15:49 +0800
|
||||
Subject: [PATCH] a safe guard for chewing
|
||||
Subject: [PATCH 1/2] a safe guard for chewing
|
||||
|
||||
---
|
||||
src/storage/phrase_index.h | 15 +++++++--------
|
||||
@ -36,5 +36,58 @@ index acc7c4a..bc6aad2 100644
|
||||
}
|
||||
|
||||
--
|
||||
1.7.11.7
|
||||
1.8.1
|
||||
|
||||
|
||||
From 095fbb86d0063dd22230c6aff879fd6eca745d2d Mon Sep 17 00:00:00 2001
|
||||
From: Peng Wu <alexepico@gmail.com>
|
||||
Date: Fri, 25 Jan 2013 12:16:19 +0800
|
||||
Subject: [PATCH 2/2] fixes incomplete pinyin
|
||||
|
||||
---
|
||||
src/storage/pinyin_phrase2.h | 22 ++++++++++++++++++----
|
||||
1 file changed, 18 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/storage/pinyin_phrase2.h b/src/storage/pinyin_phrase2.h
|
||||
index ba658f0..d5042aa 100644
|
||||
--- a/src/storage/pinyin_phrase2.h
|
||||
+++ b/src/storage/pinyin_phrase2.h
|
||||
@@ -132,6 +132,10 @@ inline void compute_lower_value2(pinyin_option_t options,
|
||||
* to check lower bound.
|
||||
*/
|
||||
|
||||
+ /* as chewing zero middle is the first item, and its value is zero,
|
||||
+ * no need to adjust it for incomplete pinyin.
|
||||
+ */
|
||||
+
|
||||
/* compute lower final */
|
||||
sel = aKey.m_final;
|
||||
for (k = aKey.m_final - 1; k >= CHEWING_ZERO_FINAL; --k) {
|
||||
@@ -183,10 +187,20 @@ inline void compute_upper_value2(pinyin_option_t options,
|
||||
}
|
||||
aKey.m_initial = (ChewingInitial)sel;
|
||||
|
||||
- /* compute upper middle, skipped as no fuzzy pinyin here.
|
||||
- * if needed in future, still use pinyin_compare_middle_and_final2
|
||||
- * to check upper bound.
|
||||
- */
|
||||
+ /* adjust it for incomplete pinyin. */
|
||||
+
|
||||
+ /* compute upper middle */
|
||||
+ sel = aKey.m_middle;
|
||||
+ for (k = aKey.m_middle + 1; k <= CHEWING_LAST_MIDDLE; ++k) {
|
||||
+ if (0 != pinyin_compare_middle_and_final2
|
||||
+ (options,
|
||||
+ (ChewingMiddle)aKey.m_middle, (ChewingMiddle)k,
|
||||
+ (ChewingFinal)aKey.m_final, (ChewingFinal)aKey.m_final))
|
||||
+ break;
|
||||
+ else
|
||||
+ sel = k;
|
||||
+ }
|
||||
+ aKey.m_middle = (ChewingMiddle)sel;
|
||||
|
||||
/* compute upper final */
|
||||
sel = aKey.m_final;
|
||||
--
|
||||
1.8.1
|
||||
|
||||
|
||||
@ -1,12 +1,16 @@
|
||||
%global snapshot 1
|
||||
|
||||
Name: libpinyin
|
||||
Version: 0.8.0
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Library to deal with pinyin
|
||||
|
||||
License: GPLv2+
|
||||
URL: https://github.com/libpinyin/libpinyin
|
||||
Source0: https://github.com/downloads/libpinyin/libpinyin/%{name}-%{version}.tar.gz
|
||||
%if %snapshot
|
||||
Patch0: libpinyin-0.8.x-head.patch
|
||||
%endif
|
||||
|
||||
BuildRequires: libdb-devel, glib2-devel
|
||||
Requires: %{name}-data = %{version}-%{release}
|
||||
@ -43,8 +47,10 @@ The %{name}-tools package contains tools.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .head
|
||||
|
||||
%if %snapshot
|
||||
%patch0 -p1 -b .head
|
||||
%endif
|
||||
|
||||
%build
|
||||
%configure --disable-static
|
||||
@ -86,6 +92,9 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
||||
%{_mandir}/man1/*.1.*
|
||||
|
||||
%changelog
|
||||
* Mon Jan 28 2013 Peng Wu <pwu@redhat.com> - 0.8.0-3
|
||||
- Fixes incomplete pinyin
|
||||
|
||||
* Wed Dec 12 2012 Peng Wu <pwu@redhat.com> - 0.8.0-2
|
||||
- Fixes chewing input
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user