1) Once the font resource problem was identified it became clear the EL based search wasn't robust enough. A move to using our content parser to parse the content stream was uses and then would could look at the graphicsState object to derive font name, font, size and colour. This appears to be work well across our test set.
2) when moving into a field for edit, and then a loss of focus causes the content stream to be regenerated. In the sample we are working with hex strings and in particular 4-byte character codes. The marker is FFEF but when we convert the hex value to regular string there was a bug where the marker was also being copied.
3) Generally speaking a widget will have a content stream as well as field dictionary value. The content of the content stream represents the content value. The are cases where there is field dictionary value and a null content stream and the viewer must generate a content stream. In this particular there is a field dictionary value and a partial content stream that does not represent the value. This is a bit of a issue we generally only regenerate a content stream on a change event not on initialization. Detecting this difference is also tricky.
1) Once the font resource problem was identified it became clear the EL based search wasn't robust enough. A move to using our content parser to parse the content stream was uses and then would could look at the graphicsState object to derive font name, font, size and colour. This appears to be work well across our test set.
2) when moving into a field for edit, and then a loss of focus causes the content stream to be regenerated. In the sample we are working with hex strings and in particular 4-byte character codes. The marker is FFEF but when we convert the hex value to regular string there was a bug where the marker was also being copied.
3) Generally speaking a widget will have a content stream as well as field dictionary value. The content of the content stream represents the content value. The are cases where there is field dictionary value and a null content stream and the viewer must generate a content stream. In this particular there is a field dictionary value and a partial content stream that does not represent the value. This is a bit of a issue we generally only regenerate a content stream on a change event not on initialization. Detecting this difference is also tricky.