apply patch for run-time Hunspell dictionary extension

to use in new "Affixation/Compounding By" feature of
language-specific LibreOffice user dictionaries.

Change-Id: Icb4181717f0ff1145ac5acc130266b165132cfe9
Reviewed-on: https://gerrit.libreoffice.org/44561
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
This commit is contained in:
László Németh 2017-11-09 15:49:46 +01:00
parent 9aa68d323c
commit a7ec994689
2 changed files with 41 additions and 0 deletions

View file

@ -0,0 +1,40 @@
From 643bd113f5dbfa6e8ffa61aae6ab7ccc4f63bccc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=C3=A1szl=C3=B3=20N=C3=A9meth?= <nemeth@numbertext.org>
Date: Thu, 9 Nov 2017 13:22:55 +0100
Subject: [PATCH] add SPELLML support for run-time dictionary extension
to use in new "Affixation/Compounding By" feature
of language-specific LibreOffice user dictionaries.
---
src/hunspell/hunspell.cxx | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/hunspell/hunspell.cxx b/src/hunspell/hunspell.cxx
index b271750..09fd6ee 100644
--- a/src/hunspell/hunspell.cxx
+++ b/src/hunspell/hunspell.cxx
@@ -1733,6 +1733,21 @@ std::vector<std::string> HunspellImpl::spellml(const std::string& in_word) {
}
}
}
+ } else if (check_xml_par(q, "type=", "add")) {
+ std::string cw = get_xml_par(strchr(q2, '>'));
+ if (cw.empty())
+ return slst;
+ const char* q3 = strstr(q2 + 1, "<word");
+ if (q3) {
+ std::string cw2 = get_xml_par(strchr(q3, '>'));
+ if (!cw2.empty()) {
+ add_with_affix(cw, cw2);
+ } else {
+ add(cw);
+ }
+ } else {
+ add(cw);
+ }
}
return slst;
}
--
2.7.4

View file

@ -27,6 +27,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,hunspell, \
external/hunspell/0001-Remove-forbidden-words-from-dash-suggestion-list.patch \
external/hunspell/0001-fix-compound-handling-for-new-Hungarian-orthography.patch \
external/hunspell/0001-fix-compound-word-part-pa.patch \
external/hunspell/0001-add-SPELLML-support-for-run-time-dictionary-extensio.patch \
))
# vim: set noet sw=4 ts=4: