The code below from the scrolledhtml widget import method will not work with Windows file pathnames.  It's wrong on a few counts.

          -link {
              #
              # got -link, so set path relative to current locale, if path
              # is a relative pathname
              #
              if {[string compare "." [file dirname $filename]] == 0} {
                set f [open $_cwd/$filename r]
              } else {
                if {[string index [file dirname $filename] 0] != "/" &&\
                    [string index [file dirname $filename] 0] != "~"} {
                  set f [open $_cwd/$filename r]
                  append _cwd /
                  append _cwd [file dirname $filename]
                } else {
                  set f [open $filename r]
                  set _cwd [file dirname $filename]
                }
              }
          }