diff options
author | Norbert Preining <norbert@preining.info> | 2020-09-20 03:03:26 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-09-20 03:03:26 +0000 |
commit | 1f457376b478257b88d4a857f5ec1b6155442dd7 (patch) | |
tree | 2a06a60551dea362cf8cb0cb0ba66c78608717c4 /support/dktools/dk4recwx.cpp | |
parent | ac690ca29ad5bf8a5203a65fd6252f7b564f4727 (diff) |
CTAN sync 202009200303
Diffstat (limited to 'support/dktools/dk4recwx.cpp')
-rw-r--r-- | support/dktools/dk4recwx.cpp | 182 |
1 files changed, 115 insertions, 67 deletions
diff --git a/support/dktools/dk4recwx.cpp b/support/dktools/dk4recwx.cpp index f50fec753f..499622e06b 100644 --- a/support/dktools/dk4recwx.cpp +++ b/support/dktools/dk4recwx.cpp @@ -1,43 +1,21 @@ /* - WARNING: This file was generated by dkct. - Changes you make here will be lost if dkct is run again! - You should modify the original source and run dkct on it. - Original source: dk4recwx.cpt +Copyright (C) 2015-2020, Dirk Krause +SPDX-License-Identifier: BSD-3-Clause */ /* -Copyright (C) 2015-2017, Dirk Krause - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above opyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + WARNING: This file was generated by the dkct program (see + http://dktools.sourceforge.net/ for details). + Changes you make here will be lost if dkct is run again! + You should modify the original source and run dkct on it. + Original source: dk4recwx.cpt */ /** @file dk4recwx.cpp The dk4recwx module. */ -#line 159 "dk4recwx.cpt" +#line 235 "dk4recwx.cpt" #include "dk4recwx.h" #include "dk4rec.h" @@ -47,7 +25,39 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#line 167 "dk4recwx.cpt" +#line 243 "dk4recwx.cpt" + + + +int +dk4recwx_utf8_to_wxchar( + wxChar *dptr, + size_t dsz, + const char *sptr, + dk4_er_t *erp +) +{ + int back = 0; + if ((NULL != dptr) && (NULL != sptr) && (0 < dsz)) { +#if DK4_SIZEOF_WXCHAR > 1 +#if DK4_SIZEOF_WXCHAR > 2 + back = dk4recode_utf8_to_c32((dk4_c32_t *)dptr, dsz, sptr, erp); +#else + back = dk4recode_utf8_to_utf16((dk4_c16_t *)dptr, dsz, sptr, erp); +#endif +#else +#if wxUSE_UNICODE_UTF8 + back = dk4str8_cpy_s((char *)dptr, dsz, sptr, erp); +#else + back = dk4recode_utf8_to_ansi((char *)dptr, dsz, sptr, erp); +#endif +#endif + } + else { + dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); + } + return back; +} @@ -55,9 +65,17 @@ int dk4recwx_dkchar_to_wxchar( wxChar *dptr, size_t dsz, +#if DK4_SIZEOF_WXCHAR == 1 int de, +#else + int WXUNUSED(de), +#endif const dkChar *sptr, +#if DK4_CHAR_SIZE == 1 int se, +#else + int WXUNUSED(se), +#endif dk4_er_t *erp ) { @@ -83,7 +101,7 @@ dk4recwx_dkchar_to_wxchar( case DK4_ENCODING_UTF8 : { back = dk4recode_utf8_to_c32((dk4_c32_t *)dptr, dsz, sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { back = dk4recode_ansi_to_c32((dk4_c32_t *)dptr, dsz, sptr, erp); } break; default : { /* ASCII */ @@ -113,7 +131,7 @@ dk4recwx_dkchar_to_wxchar( case DK4_ENCODING_UTF8 : { back = dk4recode_utf8_to_utf16((dk4_c16_t *)dptr, dsz, sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { back = dk4recode_ansi_to_utf16((dk4_c16_t *)dptr, dsz, sptr, erp); } break; default : { /* ASCII */ @@ -135,7 +153,7 @@ dk4recwx_dkchar_to_wxchar( case DK4_ENCODING_UTF8 : { back = dk4recode_c32_to_utf8(dptr, dsz, (dk4_c32_t *)sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { back = dk4recode_c32_to_ansi(dptr, dsz, (dk4_c32_t *)sptr, erp); } break; default : { /* ASCII */ @@ -149,7 +167,7 @@ dk4recwx_dkchar_to_wxchar( case DK4_ENCODING_UTF8 : { back = dk4recode_utf16_to_utf8(dptr, dsz, (dk4_c16_t *)sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { back = dk4recode_utf16_to_ansi(dptr, dsz, (dk4_c16_t *)sptr, erp); } break; default : { /* ASCII */ @@ -178,16 +196,24 @@ int dk4recwx_wxchar_to_dkchar( dkChar *dptr, size_t dsz, +#if DK4_CHAR_SIZE == 1 int de, +#else + int WXUNUSED(de), +#endif const wxChar *sptr, +#if DK4_SIZEOF_WXCHAR == 1 int se, +#else + int WXUNUSED(se), +#endif dk4_er_t *erp ) { int back = 0; -#line 305 "dk4recwx.cpt" +#line 429 "dk4recwx.cpt" if ((NULL != dptr) && (NULL != sptr) && (0 < dsz)) { #if DK4_SIZEOF_WXCHAR > 1 #if DK4_SIZEOF_WXCHAR > 2 @@ -198,14 +224,14 @@ dk4recwx_wxchar_to_dkchar( /* +++++ wxChar=4 dkChar=4 */ -#line 314 "dk4recwx.cpt" +#line 438 "dk4recwx.cpt" back = dk4str_cpy_s(dptr, dsz, (dkChar *)sptr, erp); /* ----- wxChar=4 dkChar=4 */ #else /* +++++ wxChar=4 dkChar=2 */ -#line 319 "dk4recwx.cpt" +#line 443 "dk4recwx.cpt" back = dk4recode_c32_to_utf16((dk4_c16_t *)dptr, dsz, (dk4_c32_t *)sptr, erp); /* ----- wxChar=4 dkChar=2 */ #endif @@ -213,24 +239,24 @@ dk4recwx_wxchar_to_dkchar( /* +++++ wxChar=4 dkChar=1 */ -#line 325 "dk4recwx.cpt" +#line 449 "dk4recwx.cpt" switch (de) { case DK4_ENCODING_UTF8 : { -#line 328 "dk4recwx.cpt" +#line 452 "dk4recwx.cpt" back = dk4recode_c32_to_utf8(dptr, dsz, (dk4_c32_t *)sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { -#line 332 "dk4recwx.cpt" +#line 456 "dk4recwx.cpt" back = dk4recode_c32_to_ansi(dptr, dsz, (dk4_c32_t *)sptr, erp); } break; default : { /* ASCII */ -#line 336 "dk4recwx.cpt" +#line 460 "dk4recwx.cpt" back = dk4recode_c32_to_ascii(dptr, dsz, (dk4_c32_t *)sptr, erp); } break; } @@ -246,14 +272,14 @@ dk4recwx_wxchar_to_dkchar( /* +++++ wxChar=2 dkChar=4 */ -#line 350 "dk4recwx.cpt" +#line 474 "dk4recwx.cpt" back = dk4recode_utf16_to_c32((dk4_c32_t *)dptr, dsz, (dk4_c16_t *)sptr, erp); /* ----- wxChar=2 dkChar=4 */ #else /* +++++ wxChar=2 dkChar=2 */ -#line 355 "dk4recwx.cpt" +#line 479 "dk4recwx.cpt" back = dk4str_cpy_s(dptr, dsz, (dkChar *)sptr, erp); /* ----- wxChar=2 dkChar=2 */ #endif @@ -261,24 +287,24 @@ dk4recwx_wxchar_to_dkchar( /* +++++ wxChar=2 dkChar=1 */ -#line 361 "dk4recwx.cpt" +#line 485 "dk4recwx.cpt" switch (de) { case DK4_ENCODING_UTF8 : { -#line 364 "dk4recwx.cpt" +#line 488 "dk4recwx.cpt" back = dk4recode_utf16_to_utf8(dptr, dsz, (dk4_c16_t *)sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { -#line 368 "dk4recwx.cpt" +#line 492 "dk4recwx.cpt" back = dk4recode_utf16_to_ansi(dptr, dsz, (dk4_c16_t *)sptr, erp); } break; default : { /* ASCII */ -#line 372 "dk4recwx.cpt" +#line 496 "dk4recwx.cpt" back = dk4recode_utf16_to_ascii(dptr, dsz, (dk4_c16_t *)sptr, erp); } break; } @@ -295,24 +321,24 @@ dk4recwx_wxchar_to_dkchar( /* +++++ wxChar=1 dkChar=4 */ -#line 387 "dk4recwx.cpt" +#line 511 "dk4recwx.cpt" switch (se) { case DK4_ENCODING_UTF8 : { -#line 390 "dk4recwx.cpt" +#line 514 "dk4recwx.cpt" back = dk4recode_utf8_to_c32((dk4_c32_t *)dptr, dsz, sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { -#line 394 "dk4recwx.cpt" +#line 518 "dk4recwx.cpt" back = dk4recode_ansi_to_c32((dk4_c32_t *)dptr, dsz, sptr, erp); } break; default : { /* ASCII */ -#line 398 "dk4recwx.cpt" +#line 522 "dk4recwx.cpt" back = dk4recode_ascii_to_c32((dk4_c32_t *)dptr, dsz, sptr, erp); } break; } @@ -321,24 +347,24 @@ dk4recwx_wxchar_to_dkchar( /* +++++ wxChar=1 dkChar=2 */ -#line 405 "dk4recwx.cpt" +#line 529 "dk4recwx.cpt" switch (se) { case DK4_ENCODING_UTF8 : { -#line 408 "dk4recwx.cpt" +#line 532 "dk4recwx.cpt" back = dk4recode_utf8_to_utf16((dk4_c16_t *)dptr, dsz, sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { -#line 412 "dk4recwx.cpt" +#line 536 "dk4recwx.cpt" back = dk4recode_ansi_to_utf16((dk4_c16_t *)dptr, dsz, sptr, erp); } break; default : { /* ASCII */ -#line 416 "dk4recwx.cpt" +#line 540 "dk4recwx.cpt" back = dk4recode_ascii_to_utf16((dk4_c16_t *)dptr, dsz, sptr, erp); } break; } @@ -348,7 +374,7 @@ dk4recwx_wxchar_to_dkchar( /* +++++ wxChar=1 dkChar=1 */ -#line 424 "dk4recwx.cpt" +#line 548 "dk4recwx.cpt" back = dk4str8_cpy_s(dptr, dsz, sptr, erp); /* ----- wxChar=1 dkChar=1 */ #endif @@ -357,12 +383,12 @@ dk4recwx_wxchar_to_dkchar( #endif } else { -#line 431 "dk4recwx.cpt" +#line 555 "dk4recwx.cpt" dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); } -#line 434 "dk4recwx.cpt" +#line 558 "dk4recwx.cpt" return back; } @@ -374,7 +400,11 @@ dk4recwx_wxchar_to_char( size_t dsz, int de, const wxChar *sptr, +#if DK4_SIZEOF_WXCHAR == 1 int se, +#else + int WXUNUSED(se), +#endif dk4_er_t *erp ) { @@ -398,7 +428,7 @@ dk4recwx_wxchar_to_char( case DK4_ENCODING_UTF8 : { back = dk4str8_cpy_s(dptr, dsz, sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { back = dk4recode_ansi_to_utf8(dptr, dsz, sptr, erp); } break; default : { @@ -408,7 +438,7 @@ dk4recwx_wxchar_to_char( /* --- wxChar 1 --- */ #endif } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { #if DK4_SIZEOF_WXCHAR > 1 #if DK4_SIZEOF_WXCHAR > 2 /* +++ wxChar 4 +++ */ @@ -425,7 +455,7 @@ dk4recwx_wxchar_to_char( case DK4_ENCODING_UTF8 : { back = dk4recode_utf8_to_ansi(dptr, dsz, sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { back = dk4str8_cpy_s(dptr, dsz, sptr, erp); } break; default : { @@ -452,7 +482,7 @@ dk4recwx_wxchar_to_char( case DK4_ENCODING_UTF8 : { back = dk4recode_utf8_to_ascii(dptr, dsz, sptr, erp); } break; - case DK4_ENCODING_ANSI : { + case DK4_ENCODING_WIN1252 : { back = dk4recode_ansi_to_ascii(dptr, dsz, sptr, erp); } break; default : { @@ -469,3 +499,21 @@ dk4recwx_wxchar_to_char( return back; } + + +unsigned long +dk4recwx_wxchar_to_ul(wxChar wxc) +{ + unsigned long back; +#if DK4_SIZEOF_WXCHAR > 1 +#if DK4_SIZEOF_WXCHAR > 2 + back = (0xFFFFFFFFUL & ((unsigned long)wxc)); +#else + back = (0x0000FFFFUL & ((unsigned long)wxc)); +#endif +#else + back = (0x000000FFUL & ((unsigned long)wxc)); +#endif + return back; +} + |