--- a/src/common/uproplist.h
+++ b/src/common/uproplist.h
@@ -27,9 +27,9 @@
* says.
*/
-// Blocks array. Each block is defined by a starting and ending code
-// point (both included). MUST BE SORTED.
-static const unsigned uniignblocks[] = {
+// Punctuation chararacters blocks array. Each block is defined by a
+// starting and ending code point (both included). MUST BE SORTED.
+static const unsigned unipuncblocks[] = {
// Start of latin-1 supplement block, up to capital A grave
0x0080, 0x00BF,
// General punctuation
@@ -78,7 +78,9 @@
0x2B00, 0x2BFF,
};
-static const unsigned int uniign[] = {
+// Other punctuation characters list. Not all punctuation is in a
+// separate block some is found in the middle of alphanumeric codes.
+static const unsigned int unipunc[] = {
0x00D7, /* MULTIPLICATION SIGN */
0x00F7, /* DIVISION SIGN */
0x037E, /* GREEK QUESTION MARK */
@@ -156,6 +158,19 @@
0xFF65, /* HALFWIDTH KATAKANA MIDDLE DOT*/
};
+// Characters that should just be discarded. Some of these are in the
+// above blocks, but this array is tested first, so it's not worth
+// breaking the blocks
+static const unsigned int uniskip[] = {
+ 0x00AD, /* SOFT HYPHEN */
+ 0x034F, /* COMBINING GRAPHEME JOINER */
+ 0x2027, /* HYPHENATION POINT */
+ 0x200C, /* ZERO WIDTH NON-JOINER */
+ 0x200D, /* ZERO WIDTH JOINER */
+ 0x2060, /* WORD JOINER . Actually this should not be ignored but used to
+ * prevent a word break... */
+};
+
/* Things that would visibly break a block of text, rendering obvious the need
* of quotation if a phrase search is wanted */
static const unsigned int avsbwht[] = {