How would I know?
In your code, here:
{
# reduce bogus warnings
no warnings 'uninitialized';
# get past the header
( $token_type, $argument, $parameter ) =
$tokenizer->get_token() until
($token_type eq 'control' and $argument eq 'par');
}
you call ->get_token(), which reads a set of tokens and throws them away.
Maybe consider changing your code to:
my @tokens;
{
# reduce bogus warnings
no warnings 'uninitialized';
do {
# get past the header
( $token_type, $argument, $parameter ) =
$tokenizer->get_token();
push @tokens, [$token_type, $argument, $parameter];
} until ($token_type eq 'control' and $argument eq 'par');
}
and then, when writing your output document, first output all the saved stuff from @tokens.
I don't know RTF and I don't know your input document and I don't know your wanted output stuff, so I can't give much more concrete help.
While you cannot help me with the first issue, you can help me with the second and third issue by posting a short example of your RTF input and wanted RTF output, especially including a part that contains random coloured stuff or whatever you want to keep. If I have this, I guess that would be enough for me to fake knowing RTF enough to keep the formatting. |