summaryrefslogtreecommitdiff
path: root/lib/unilbrk/lbrktables.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/unilbrk/lbrktables.h')
-rw-r--r--lib/unilbrk/lbrktables.h130
1 files changed, 67 insertions, 63 deletions
diff --git a/lib/unilbrk/lbrktables.h b/lib/unilbrk/lbrktables.h
index 7e6ad68..60121ea 100644
--- a/lib/unilbrk/lbrktables.h
+++ b/lib/unilbrk/lbrktables.h
@@ -1,28 +1,27 @@
/* Line breaking auxiliary tables.
- Copyright (C) 2001-2003, 2006-2018 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
- This program is free software: you can redistribute it and/or
- modify it under the terms of either:
+ This file is free software.
+ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
+ You can redistribute it and/or modify it under either
+ - the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version, or
+ - the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option)
+ any later version, or
+ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
- * the GNU Lesser General Public License as published by the Free
- Software Foundation; either version 3 of the License, or (at your
- option) any later version.
-
- or
-
- * the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- or both in parallel, as here.
- This program is distributed in the hope that it will be useful,
+ This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
+ Lesser General Public License and the GNU General Public License
+ for more details.
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU Lesser General Public
+ License and of the GNU General Public License along with this
+ program. If not, see <https://www.gnu.org/licenses/>. */
#include "unitypes.h"
@@ -30,50 +29,55 @@
enum
{
- /* Values >= 30 are resolved at run time. */
- LBP_BK = 30, /* mandatory break */
-/*LBP_CR, carriage return - not used here because it's a DOSism */
-/*LBP_LF, line feed - not used here because it's a DOSism */
- LBP_CM = 31, /* attached characters and combining marks */
-/*LBP_NL, next line - not used here because it's equivalent to LBP_BK */
-/*LBP_SG, surrogates - not used here because they are not characters */
- LBP_WJ = 0, /* word joiner */
- LBP_ZW = 32, /* zero width space */
- LBP_GL = 1, /* non-breaking (glue) */
- LBP_SP = 33, /* space */
- LBP_B2 = 2, /* break opportunity before and after */
- LBP_BA = 3, /* break opportunity after */
- LBP_BB = 4, /* break opportunity before */
- LBP_HY = 5, /* hyphen */
- LBP_CB = 34, /* contingent break opportunity */
- LBP_CL = 6, /* closing punctuation */
- LBP_CP = 7, /* closing parenthesis */
- LBP_EX = 8, /* exclamation/interrogation */
- LBP_IN = 9, /* inseparable */
- LBP_NS = 10, /* non starter */
- LBP_OP = 11, /* opening punctuation */
- LBP_QU = 12, /* ambiguous quotation */
- LBP_IS = 13, /* infix separator (numeric) */
- LBP_NU = 14, /* numeric */
- LBP_PO = 15, /* postfix (numeric) */
- LBP_PR = 16, /* prefix (numeric) */
- LBP_SY = 17, /* symbols allowing breaks */
- LBP_AI = 35, /* ambiguous (alphabetic or ideograph) */
- LBP_AL = 18, /* ordinary alphabetic and symbol characters */
-/*LBP_CJ, conditional Japanese starters, resolved to NS */
- LBP_H2 = 19, /* Hangul LV syllable */
- LBP_H3 = 20, /* Hangul LVT syllable */
- LBP_HL = 25, /* Hebrew letter */
- LBP_ID = 21, /* ideographic */
- LBP_JL = 22, /* Hangul L Jamo */
- LBP_JV = 23, /* Hangul V Jamo */
- LBP_JT = 24, /* Hangul T Jamo */
- LBP_RI = 26, /* regional indicator */
- LBP_SA = 36, /* complex context (South East Asian) */
- LBP_ZWJ = 27, /* zero width joiner */
- LBP_EB = 28, /* emoji base */
- LBP_EM = 29, /* emoji modifier */
- LBP_XX = 37 /* unknown */
+ /* Values >= 33 are resolved at run time. */
+ LBP_BK = 33, /* mandatory break */
+ LBP_CR = 34, /* carriage return */
+ LBP_LF = 35, /* line feed */
+ LBP_CM = 36, /* attached characters and combining marks */
+/*LBP_NL, next line - not used here because it's equivalent to LBP_BK */
+/*LBP_SG, surrogates - not used here because they are not characters */
+ LBP_WJ = 0, /* word joiner */
+ LBP_ZW = 37, /* zero width space */
+ LBP_GL = 1, /* non-breaking (glue) */
+ LBP_SP = 38, /* space */
+ LBP_B2 = 2, /* break opportunity before and after */
+ LBP_BA = 3, /* break opportunity after */
+ LBP_BB = 4, /* break opportunity before */
+ LBP_HY = 5, /* hyphen */
+ LBP_CB = 39, /* contingent break opportunity */
+ LBP_CL = 6, /* closing punctuation */
+ LBP_CP1 = 7, /* closing parenthesis, non-EastAsian character */
+ LBP_CP2 = 8, /* closing parenthesis, EastAsian character */
+ LBP_EX = 9, /* exclamation/interrogation */
+ LBP_IN = 10, /* inseparable */
+ LBP_NS = 11, /* non starter */
+ LBP_OP1 = 12, /* opening punctuation, non-EastAsian character */
+ LBP_OP2 = 13, /* opening punctuation, EastAsian character */
+ LBP_QU = 14, /* ambiguous quotation */
+ LBP_IS = 15, /* infix separator (numeric) */
+ LBP_NU = 16, /* numeric */
+ LBP_PO = 17, /* postfix (numeric) */
+ LBP_PR = 18, /* prefix (numeric) */
+ LBP_SY = 19, /* symbols allowing breaks */
+ LBP_AI = 40, /* ambiguous (alphabetic or ideograph) */
+ LBP_AL = 20, /* ordinary alphabetic and symbol characters */
+/*LBP_CJ, conditional Japanese starter, resolved to NS */
+ LBP_H2 = 21, /* Hangul LV syllable */
+ LBP_H3 = 22, /* Hangul LVT syllable */
+ LBP_HL = 28, /* Hebrew letter */
+ LBP_ID1 = 23, /* ideographic */
+ LBP_ID2 = 24, /* ideographic and potential future emoji */
+ LBP_JL = 25, /* Hangul L Jamo */
+ LBP_JV = 26, /* Hangul V Jamo */
+ LBP_JT = 27, /* Hangul T Jamo */
+ LBP_RI = 29, /* regional indicator */
+ LBP_SA = 41, /* complex context (South East Asian) */
+ LBP_ZWJ = 30, /* zero width joiner */
+ LBP_EB = 31, /* emoji base */
+ LBP_EM = 32, /* emoji modifier */
+ LBP_XX = 42, /* unknown */
+ /* Artificial values that exist only at runtime, not in the tables. */
+ LBP_HL_BA = 100
};
#include "lbrkprop1.h"
@@ -104,7 +108,7 @@ unilbrkprop_lookup (ucs4_t uc)
#define I 2 /* indirect break opportunity, '%' in table 7.3 of UTR #14 */
#define P 3 /* prohibited break, '^' in table 7.3 of UTR #14 */
-extern const unsigned char unilbrk_table[30][30];
+extern const unsigned char unilbrk_table[33][33];
/* We don't support line breaking of complex-context dependent characters
(Thai, Lao, Myanmar, Khmer) yet, because it requires dictionary lookup. */