I am using ExtendScript to dynamically manipulate the formatting of a structured document. It's all working quite well except for one mystery...
Given an EDD that has a text formatting rule where the left indent is set to 0 mm. This will be stored in the associated FormatChangeList as an integer value of 0. That's fine, but the default value for all FormatChangeList properties is 0. So my question is, how does the EDD get generated to include only specific instances where a property value is set to 0?
In the DataBrowser we see this:
String values are set to null and Objects can be tested using ObjectValid()...
I feel that there is a hidden mechanism that tells the FrameMaker formatting engine to use the value 0 when it is set in the EDD, but ignore it at all other times. That seems unlikely, so I think this must be a bug in the ExtendScript implementation and that the empty values should be null? is this odd behaviour the same via the FDK?
Further investigation shows that in the FDK an FO_FormatChangeList only includes the properties that have a value. In the ExtendScript environment a FormatChangeList incorrectly includes ALL properties.
I think it's safe to say that this is a bug. Does anyone disagree?