Generally, weavers write lines out as they came in, in other words, a word at the end of one line will be separated from a word starting the next line because the weaver writes out two lines, and the typesetter replaces them with a space.
However, there are some nasty cases. In the html weaver, the @begin_bold() and @end_bold() commands write out the <B> and </B> tags without any spaces before or after. But the text to be boldened is always a sequence of lines, so there will always be a newline before the </B> tag. So there's no easy way to bold a single letter of a word using the bold command in an Interscript input.
However, this is _not_ the case if you implement a filter, because the filter can write out the argument using the weaver method write(), rather than writeline().