%% %% This is file `l3str-esc-hex.def', %% generated with the docstrip utility. %% %% The original source files were: %% %% l3str-convert.dtx (with options: `hex') %% %% EXPERIMENTAL CODE %% %% Do not distribute this file without also distributing the %% source files specified above. %% %% Do not distribute a modified version of this file. %% %% File: l3str-convert.dtx Copyright (C) 2013-2016 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. %% %% The released version of this bundle is available from CTAN. %% %% ----------------------------------------------------------------------- %% %% The development version of the bundle can be found at %% %% http://www.latex-project.org/svnroot/experimental/trunk/ %% %% for those people who are interested. %% %%%%%%%%%%% %% NOTE: %% %%%%%%%%%%% %% %% Snapshots taken from the repository represent work in progress and may %% not work or may contain conflicting material! We therefore ask %% people _not_ to put them into distributions, archives, etc. without %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- \cs_new_protected:Npn \__str_convert_unescape_hex: { \group_begin: \flag_clear:n { str_error } \int_set:Nn \tex_escapechar:D { 92 } \tl_gset:Nx \g__str_result_tl { \__str_output_byte:w " \exp_last_unbraced:Nf \__str_unescape_hex_auxi:N { \tl_to_str:N \g__str_result_tl } 0 { ? 0 - \c_one \__prg_break: } \__prg_break_point: \__str_output_end: } \__str_if_flag_error:nnx { str_error } { unescape-hex } { } \group_end: } \cs_new:Npn \__str_unescape_hex_auxi:N #1 { \use_none:n #1 \__str_hexadecimal_use:NTF #1 { \__str_unescape_hex_auxii:N } { \flag_raise:n { str_error } \__str_unescape_hex_auxi:N } } \cs_new:Npn \__str_unescape_hex_auxii:N #1 { \use_none:n #1 \__str_hexadecimal_use:NTF #1 { \__str_output_end: \__str_output_byte:w " \__str_unescape_hex_auxi:N } { \flag_raise:n { str_error } \__str_unescape_hex_auxii:N } } \__msg_kernel_new:nnnn { str } { unescape-hex } { String~invalid~in~escaping~'hex':~only~hexadecimal~digits~allowed. } { Some~characters~in~the~string~you~asked~to~convert~are~not~ hexadecimal~digits~(0-9,~A-F,~a-f)~nor~spaces. } \cs_new_protected:Npn \__str_convert_escape_hex: { \__str_convert_gmap:N \__str_escape_hex_char:N } \cs_new:Npn \__str_escape_hex_char:N #1 { \__str_output_hexadecimal:n { `#1 } } %% %% %% End of file `l3str-esc-hex.def'.