diff options
Diffstat (limited to 'lib/unilbrk/lbrktables.h')
| -rw-r--r-- | lib/unilbrk/lbrktables.h | 130 | 
1 files changed, 67 insertions, 63 deletions
| diff --git a/lib/unilbrk/lbrktables.h b/lib/unilbrk/lbrktables.h index 7e6ad689..60121ea8 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. */ | 
