<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">No problem, it will come to practicaly no additional memory use at all. I will just add hyf_* nodes (by<div class="">a hyf__* node I mean a triple huf_distance, hyf_num, hyf_next) <u class="">whenever needed</u> (only for special patterns and</div><div class="">only a single time for each pattern type) and will store them together with the other hyf_* nodes. The trick will be that:<div class=""><br class=""></div><div class="">1) special hyf_* nodes will be chained between regular hyf_* nodes, the difference being that <u class="">their hyf_num values will be 0</u>,</div><div class="">something that can never happen otherwise</div><div class=""><br class=""></div><div class="">2) I will store in these special nodes:</div><div class=""><br class=""></div><div class="">a) the number of char nodes before the current position to remove in order to place the discretionary node</div><div class=""><br class=""></div><div class="">b) the number of char nodes to remove after the current position</div><div class=""><br class=""></div><div class="">c) the list of tokens to be converted into a list of nodes for the pre-hyphenation part of the discretionary</div><div class=""><br class=""></div><div class="">d) the list of tokens to be converted into a list of nodes for the post-hyphenation part of the discretionary</div><div class=""><br class=""></div><div class="">The number of additional nodes will be very small and will have no significant effect on the size of the hyf_* table.</div><div class=""><br class=""></div><div class="">cheers,</div><div class=""><br class=""></div><div class="">Yannis<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">Le 22 mars 2021 à 23:52, Karl Berry <<a href="mailto:karl@freefriends.org" class="">karl@freefriends.org</a>> a écrit :</div><br class="Apple-interchange-newline"><div class=""><span style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">In particular, using more memory for</span><br style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">every single pattern, not just those that need the new feature, seems</span><br style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">like it could be a problem. (Having just had to increase the trie size</span><br style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">because of new patterns, it's on my mind.)</span><br style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">I don't know if it's possible to architect the change so that only</span><br style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">patterns that use the new feature have the increased memory usage, but</span><br style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: HelveticaNeue; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">that would surely be desirable. --thanks, karl.</span></div></blockquote></div><br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><table style="background-color: rgb(241, 241, 241); border: 1px solid rgb(221, 221, 221);" class=""><tbody class=""><tr class=""><td colspan="3" class=""></td></tr><tr class=""><td class=""><a href="http://www.imt-atlantique.fr" target="_blank" class=""><img src="http://img.mines-telecom.fr/signature-mail/logos/logo-imta.png" title="Site web IMT Atlantique" alt="IMT Atlantique" style="padding: 4px 0px 4px 4px;" class=""></a></td><td class=""><div style="float: left; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 13px; line-height: 1.5; font-family: sans-serif; color: rgb(85, 85, 85); padding: 8px 15px;" class=""><strong class="">Yannis HARALAMBOUS</strong><br class="">Professor<br class="">Computer Science Department<br class="">UMR CNRS 6285 Lab-STICC<br class=""><a href="http://perso.telecom-bretagne.eu/yannisharalambous/" target="_blank" style="text-decoration: none;" class=""><img src="https://img.mines-telecom.fr/signature-mail/social/web.png" title="Site web IMT Atlantique" alt="Site web IMT Atlantique" style="padding: 3px 10px 4px 0px;" class=""></a><a href="https://twitter.com/y_haralambous" target="_blank" style="text-decoration: none;" class=""><img src="https://img.mines-telecom.fr/signature-mail/social/twitter.png" title="Twitter IMT Atlantique" alt="Twitter IMT Atlantique" style="padding: 3px 10px 4px 0px;" class=""></a><a href="https://www.linkedin.com/in/yannis-haralambous-5529073?trk=hp-identity-name" target="_blank" style="text-decoration: none;" class=""><img src="https://img.mines-telecom.fr/signature-mail/social/linkedin.png" title="LinkedIn IMT Atlantique" alt="LinkedIn IMT Atlantique" style="padding: 3px 10px 4px 0px;" class=""></a></div><div style="float: left; font-style: normal; font-variant-caps: normal; font-weight: bold; font-stretch: normal; font-size: 11px; line-height: 1.5; font-family: sans-serif; color: rgb(136, 136, 136); padding: 8px 15px;" class="">Technopôle Brest-Iroise CS 83818<br class="">29238 Brest Cedex 3, France<br class="">Une école de<span class="Apple-converted-space"> </span><a href="http://www.imt.fr" target="_blank" class="">l'IMT</a></div></td></tr><tr class=""><td colspan="3" class=""><div style="float: left; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: 1.5; font-family: sans-serif; color: rgb(85, 85, 85); padding: 8px 15px;" class=""></div></td></tr></tbody></table><p class=""><i class=""><span class="">Le lecteur a le droit et même parfois le devoir de savoir en quels caractères <br class="">
est composé le livre qu'il a entre les mains, et on ne peut exiger de lui <br class="">
qu'il sache le reconnaître tout seul.</span></i>     (Gérard Genette)<br class=""><br class=""></p></div></div>
</div><br class=""></div></div></body></html>