diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def deleted file mode 100644 index 3b54e12b16d..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def +++ /dev/null @@ -1,206 +0,0 @@ -%% -%% This is file `l3str-enc-utf16.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str-convert.dtx (with options: `utf16') -%% -%% Copyright (C) 2011-2019 The LaTeX3 Project -%% -%% It may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License (LPPL), either version 1.3c of -%% this license or (at your option) any later version. The latest -%% version of this license is in the file: -%% -%% http://www.latex-project.org/lppl.txt -%% -%% This file is part of the "l3experimental bundle" (The Work in LPPL) -%% and all files in that bundle must be distributed together. -%% -%% File: l3str-convert.dtx -\group_begin: - \char_set_catcode_other:N \^^fe - \char_set_catcode_other:N \^^ff - \cs_new_protected:cpn { __str_convert_encode_utf16: } - { - \__str_encode_utf_xvi_aux:N \__str_output_byte_pair_be:n - \tl_gput_left:Nx \g__str_result_tl { ^^fe ^^ff } - } - \cs_new_protected:cpn { __str_convert_encode_utf16be: } - { \__str_encode_utf_xvi_aux:N \__str_output_byte_pair_be:n } - \cs_new_protected:cpn { __str_convert_encode_utf16le: } - { \__str_encode_utf_xvi_aux:N \__str_output_byte_pair_le:n } - \cs_new_protected:Npn \__str_encode_utf_xvi_aux:N #1 - { - \flag_clear:n { str_error } - \cs_set_eq:NN \__str_tmp:w #1 - \__str_convert_gmap_internal:N \__str_encode_utf_xvi_char:n - \__str_if_flag_error:nnx { str_error } { utf16-encode } { } - } - \cs_new:Npn \__str_encode_utf_xvi_char:n #1 - { - \if_int_compare:w #1 < "D800 \exp_stop_f: - \__str_tmp:w {#1} - \else: - \if_int_compare:w #1 < "10000 \exp_stop_f: - \if_int_compare:w #1 < "E000 \exp_stop_f: - \flag_raise:n { str_error } - \__str_tmp:w { \c__str_replacement_char_int } - \else: - \__str_tmp:w {#1} - \fi: - \else: - \exp_args:Nf \__str_tmp:w { \int_div_truncate:nn {#1} {"400} + "D7C0 } - \exp_args:Nf \__str_tmp:w { \int_mod:nn {#1} {"400} + "DC00 } - \fi: - \fi: - } - \flag_clear_new:n { str_missing } - \flag_clear_new:n { str_extra } - \flag_clear_new:n { str_end } - \__kernel_msg_new:nnnn { str } { utf16-encode } - { Unicode~string~cannot~be~expressed~in~UTF-16:~surrogate. } - { - Surrogate~code~points~(in~the~range~[U+D800,~U+DFFF])~ - can~be~expressed~in~the~UTF-8~and~UTF-32~encodings,~ - but~not~in~the~UTF-16~encoding. - } - \__kernel_msg_new:nnnn { str } { utf16-decode } - { - Invalid~UTF-16~string: - \exp_last_unbraced:Nf \use_none:n - { - \__str_if_flag_times:nT { str_missing } { ,~missing~trail~surrogate } - \__str_if_flag_times:nT { str_extra } { ,~extra~trail~surrogate } - \__str_if_flag_times:nT { str_end } { ,~odd~number~of~bytes } - } - . - } - { - In~the~UTF-16~encoding,~each~Unicode~character~is~encoded~as~ - 2~or~4~bytes: \\ - \iow_indent:n - { - Code~point~in~[U+0000,~U+D7FF]:~two~bytes \\ - Code~point~in~[U+D800,~U+DFFF]:~illegal \\ - Code~point~in~[U+E000,~U+FFFF]:~two~bytes \\ - Code~point~in~[U+10000,~U+10FFFF]:~ - a~lead~surrogate~and~a~trail~surrogate \\ - } - Lead~surrogates~are~pairs~of~bytes~in~the~range~[0xD800,~0xDBFF],~ - and~trail~surrogates~are~in~the~range~[0xDC00,~0xDFFF]. - \flag_if_raised:nT { str_missing } - { - \\\\ - A~lead~surrogate~was~not~followed~by~a~trail~surrogate. - } - \flag_if_raised:nT { str_extra } - { - \\\\ - LaTeX~came~across~a~trail~surrogate~when~it~was~not~expected. - } - \flag_if_raised:nT { str_end } - { - \\\\ - The~string~contained~an~odd~number~of~bytes.~This~is~invalid:~ - the~basic~code~unit~for~UTF-16~is~16~bits~(2~bytes). - } - } - \cs_new_protected:cpn { __str_convert_decode_utf16be: } - { \__str_decode_utf_xvi:Nw 1 \g__str_result_tl \s_stop } - \cs_new_protected:cpn { __str_convert_decode_utf16le: } - { \__str_decode_utf_xvi:Nw 2 \g__str_result_tl \s_stop } - \cs_new_protected:cpn { __str_convert_decode_utf16: } - { - \exp_after:wN \__str_decode_utf_xvi_bom:NN - \g__str_result_tl \s_stop \s_stop \s_stop - } - \cs_new_protected:Npn \__str_decode_utf_xvi_bom:NN #1#2 - { - \str_if_eq:nnTF { #1#2 } { ^^ff ^^fe } - { \__str_decode_utf_xvi:Nw 2 } - { - \str_if_eq:nnTF { #1#2 } { ^^fe ^^ff } - { \__str_decode_utf_xvi:Nw 1 } - { \__str_decode_utf_xvi:Nw 1 #1#2 } - } - } - \cs_new_protected:Npn \__str_decode_utf_xvi:Nw #1#2 \s_stop - { - \flag_clear:n { str_error } - \flag_clear:n { str_missing } - \flag_clear:n { str_extra } - \flag_clear:n { str_end } - \cs_set:Npn \__str_tmp:w ##1 ##2 { ` ## #1 } - \tl_gset:Nx \g__str_result_tl - { - \exp_after:wN \__str_decode_utf_xvi_pair:NN - #2 \q_nil \q_nil - \prg_break_point: - } - \__str_if_flag_error:nnx { str_error } { utf16-decode } { } - } - \cs_new:Npn \__str_decode_utf_xvi_pair:NN #1#2 - { - \if_meaning:w \q_nil #2 - \__str_decode_utf_xvi_pair_end:Nw #1 - \fi: - \if_case:w - \int_eval:n { ( \__str_tmp:w #1#2 - "D6 ) / 4 } \scan_stop: - \or: \exp_after:wN \__str_decode_utf_xvi_quad:NNwNN - \or: \exp_after:wN \__str_decode_utf_xvi_extra:NNw - \fi: - #1#2 \s__tl - \int_eval:n { "100 * \__str_tmp:w #1#2 + \__str_tmp:w #2#1 } \s__tl - \__str_decode_utf_xvi_pair:NN - } - \cs_new:Npn \__str_decode_utf_xvi_quad:NNwNN - #1#2 #3 \__str_decode_utf_xvi_pair:NN #4#5 - { - \if_meaning:w \q_nil #5 - \__str_decode_utf_xvi_error:nNN { missing } #1#2 - \__str_decode_utf_xvi_pair_end:Nw #4 - \fi: - \if_int_compare:w - \if_int_compare:w \__str_tmp:w #4#5 < "DC \exp_stop_f: - 0 = 1 - \else: - \__str_tmp:w #4#5 < "E0 - \fi: - \exp_stop_f: - #1 #2 #4 #5 \s__tl - \int_eval:n - { - ( "100 * \__str_tmp:w #1#2 + \__str_tmp:w #2#1 - "D7F7 ) * "400 - + "100 * \__str_tmp:w #4#5 + \__str_tmp:w #5#4 - } - \s__tl - \exp_after:wN \use_i:nnn - \else: - \__str_decode_utf_xvi_error:nNN { missing } #1#2 - \fi: - \__str_decode_utf_xvi_pair:NN #4#5 - } - \cs_new:Npn \__str_decode_utf_xvi_pair_end:Nw #1 \fi: - { - \fi: - \if_meaning:w \q_nil #1 - \else: - \__str_decode_utf_xvi_error:nNN { end } #1 \prg_do_nothing: - \fi: - \prg_break: - } - \cs_new:Npn \__str_decode_utf_xvi_extra:NNw #1#2 \s__tl #3 \s__tl - { \__str_decode_utf_xvi_error:nNN { extra } #1#2 } - \cs_new:Npn \__str_decode_utf_xvi_error:nNN #1#2#3 - { - \flag_raise:n { str_error } - \flag_raise:n { str_#1 } - #2 #3 \s__tl - \int_use:N \c__str_replacement_char_int \s__tl - } -\group_end: -%% -%% -%% End of file `l3str-enc-utf16.def'. |