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