annotate liboctave/wrappers/unistr-wrappers.h @ 30564:796f54d4ddbf stable

update Octave Project Developers copyright for the new year In files that have the "Octave Project Developers" copyright notice, update for 2021. In all .txi and .texi files except gpl.txi and gpl.texi in the doc/liboctave and doc/interpreter directories, change the copyright to "Octave Project Developers", the same as used for other source files. Update copyright notices for 2022 (not done since 2019). For gpl.txi and gpl.texi, change the copyright notice to be "Free Software Foundation, Inc." and leave the date at 2007 only because this file only contains the text of the GPL, not anything created by the Octave Project Developers. Add Paul Thomas to contributors.in.
author John W. Eaton <jwe@octave.org>
date Tue, 28 Dec 2021 18:22:40 -0500
parents 7917b91a3c58
children 597f3ee61a48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ////////////////////////////////////////////////////////////////////////
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 //
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 29823
diff changeset
3 // Copyright (C) 2018-2022 The Octave Project Developers
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
4 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 // distribution or <https://octave.org/copyright/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
8 // This file is part of Octave.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
9 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
11 // under the terms of the GNU General Public License as published by
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
13 // (at your option) any later version.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
14 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
18 // GNU General Public License for more details.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
19 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
20 // You should have received a copy of the GNU General Public License
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
21 // along with Octave; see the file COPYING. If not, see
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
22 // <https://www.gnu.org/licenses/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ////////////////////////////////////////////////////////////////////////
25362
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
25
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
26 #if ! defined (octave_unistr_wrappers_h)
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
27 #define octave_unistr_wrappers_h 1
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
28
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
29 #if defined __cplusplus
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
30 extern "C" {
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
31 #endif
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
32
29231
4e196fbb28a5 Set API tags in files in liboctave/wrappers (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28313
diff changeset
33 extern OCTAVE_API const uint8_t *
27523
19ad9150dd69 Check if input to regexp is valid UTF-8 is faster than PCRE's checks (bug #57064).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
34 octave_u8_check_wrapper (const uint8_t *src, size_t n);
19ad9150dd69 Check if input to regexp is valid UTF-8 is faster than PCRE's checks (bug #57064).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
35
29231
4e196fbb28a5 Set API tags in files in liboctave/wrappers (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28313
diff changeset
36 extern OCTAVE_API int octave_u8_strmblen_wrapper (const uint8_t *src);
25412
922a93fc73ec Add function to index characters in UTF-8 encoded strings.
Markus Mützel <markus.muetzel@gmx.de>
parents: 25362
diff changeset
37
29823
7917b91a3c58 __unicode_length__: New function to get number of Unicode code points (bug #50855).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29359
diff changeset
38 extern OCTAVE_API size_t
7917b91a3c58 __unicode_length__: New function to get number of Unicode code points (bug #50855).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29359
diff changeset
39 octave_u8_mbsnlen_wrapper (const uint8_t *src, size_t n);
7917b91a3c58 __unicode_length__: New function to get number of Unicode code points (bug #50855).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29359
diff changeset
40
29231
4e196fbb28a5 Set API tags in files in liboctave/wrappers (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28313
diff changeset
41 extern OCTAVE_API int
25415
d4bc8590b5cf Make "is*" string functions Unicode aware.
Markus Mützel <markus.muetzel@gmx.de>
parents: 25412
diff changeset
42 octave_u8_strmbtouc_wrapper (uint32_t *puc, const uint8_t *src);
d4bc8590b5cf Make "is*" string functions Unicode aware.
Markus Mützel <markus.muetzel@gmx.de>
parents: 25412
diff changeset
43
29231
4e196fbb28a5 Set API tags in files in liboctave/wrappers (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28313
diff changeset
44 extern OCTAVE_API uint8_t *
28313
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
45 octave_u16_to_u8_wrapper (const uint16_t *src, size_t src_len,
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
46 uint8_t *result_buf, size_t *lengthp);
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
47
29231
4e196fbb28a5 Set API tags in files in liboctave/wrappers (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28313
diff changeset
48 extern OCTAVE_API uint8_t *
28313
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
49 octave_u32_to_u8_wrapper (const uint32_t *src, size_t src_len,
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
50 uint8_t *result_buf, size_t *lengthp);
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
51
29231
4e196fbb28a5 Set API tags in files in liboctave/wrappers (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28313
diff changeset
52 extern OCTAVE_API uint16_t *
28313
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
53 octave_u8_to_u16_wrapper (const uint8_t *src, size_t src_len,
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
54 uint16_t *result_buf, size_t *lengthp);
d13ad9dc9348 Store character vectors in .mat files (-v6 or -v7) as UTF-16 (bug #58368).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
55
29231
4e196fbb28a5 Set API tags in files in liboctave/wrappers (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28313
diff changeset
56 extern OCTAVE_API uint32_t *
25362
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
57 octave_u8_to_u32_wrapper (const uint8_t *src, size_t src_len,
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
58 uint32_t *result_buf, size_t *lengthp);
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
59
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
60 #if defined __cplusplus
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
61 }
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
62 #endif
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
63
def1b446ba64 Convert strings to UTF-32 for FreeType (bug #53646).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
64 #endif