On 2/5/2023 12:32 PM, Pablo Rodriguez via ntg-context wrote:
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? what do you expect as result? (maybe try \righthyphenmin=1)
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------