> Is this something I should be looking at? Yes, this might be a good start. The problem is small, well defined, and it would help you start with the implementation details.
Handling of hyphenation data structures is mainly in troff's source code file `env.cpp', with some minor bits in `input.cpp'. As a start, you might simply walk line by line with a debugger, setting an initial break point at `process_input_stack' and start debugging with the third call (the first and second call handle the start-up files `troffrc' and `troffrc-end'). Werner