[NTG-context] Bug in verbatim wrapping examples on wiki
Pablo Rodriguez
oinos at gmx.es
Sun Feb 5 12:32:42 CET 2023
On 2/4/23 10:37, Pablo Rodriguez via ntg-context wrote:
> On 2/4/23 07:49, Hugo Landau via ntg-context wrote:
>> On this page of the wiki there is an example for wrapping long words,
>> like long hexadecimal strings:
>>
>> https://wiki.contextgarden.net/Wrapping
>>
>> This example is buggy because it deletes one character at the point that
>> it is wrapped.
>>
>> Anyone have a solution?
>
> Many thanks for your report, Hugo.
>
> I use this code from time to time and I totally overlooked this.
>
> Have you checked all options that the sample contains?
Hans,
I have just checked that these line breakings loose a character in all
options.
The next sample displays the issue clearly:
\startluacode
--local shared = {
-- start = 1,
-- length = 1,
-- left = false,
-- right = false,
--}
local shared = {
start = 1,
length = 1,
before = utf.char(0xB7),
after = nil,
left = false,
right = false,
}
-- languages.hyphenators.traditional.installmethod("sha",
-- function(dictionary,word,n)
-- local t = { }
-- for i=1,#word do
-- t[i] = shared
-- end
-- return t
-- end
-- )
-- or more efficient when used often:
-- local all = { }
-- for i=1,512 do
-- all[i] = shared
-- end
-- languages.hyphenators.traditional.installmethod("sha",
-- function(dictionary,word,n)
-- return all
-- end
-- )
-- or more obscure:
-- local all = table.setmetatableindex({ }, function(t,k)
-- t[k] = shared
-- return shared
-- end)
--
-- languages.hyphenators.traditional.installmethod("sha",
-- function(dictionary,word,n)
-- return all
-- end
-- )
-- or just (lua is fast enough anyway)
local all = table.setmetatableindex({ }, function(t,k)
return shared
end)
languages.hyphenators.traditional.installmethod("sha",
function(dictionary,word,n)
return all
end
)
\stopluacode
\definehyphenationfeatures
[sha]
[characters=all,
alternative=sha]
\unexpanded\def\sha#1%
{\begingroup
\sethyphenationfeatures[sha]%
#1%
\endgroup}
\setuphyphenation[method=traditional]
%
% \unexpanded\def\sha#1%
% {\begingroup
% \sethyphenationfeatures[sha]%
% \setuphyphenation[method=traditional]%
% #1%
% \endgroup}
\starttext
\hyphenatedword{\sha{8b2f3c087046c3943ace0dc4f958ef2138e58a51b40e%
ef6fab6fa1aeb845cc257a410ab1b914bc399b4293f%
31c76fc2c73e5be5ea4d329f9e6820984688efec2}}
\stoptext
Are we missing something or is this a bug?
Many thanks for your help,
Pablo
More information about the ntg-context
mailing list