2 Script Mode Bugs: Shot Element and Fountain export

Bug #1
Shot Element setting ‘Paragraph > Space Before’ should be 12.00pt by default not 24.00pt.

The default Shot Element settings are completely redundant with the default Scene Heading Element settings. Because of the common use of calling out various shots or information within a specific scene, “CLOSE ON JIM”, “THE BOMB UNDER THE TABLE”, etcetera, and the very frequent appearance of these, screenwriting software provides the use of a Shot Heading element which does not force two blank lines above the element (where a Scene Heading would), but only one blank line. The reason being, that over the length of a screenplay, the additional whitespace will add unwanted pages to the final length of the screenplay — which, by convention and by contract, the screenwriting industry aims to minimize.

Bug #2
.Fountain export process does not force any elements by inserting a leading character besides the Scene Heading Element. Inserting the following characters on export at the beginning of each element will define the element for any subsequent programs trying to read the .fountain file and eliminate misinterpretation:

Scene Heading: “.”
Action: “!”
Character: “@”
Transition: “>”

Because Fountain syntax recognizes any lines that start in UPPERCASE (and not with “INT”, “EXT”, or “.”) as a CHARACTER NAME and automatically then assumes the next element to be DIALOGUE, all Shot Heading Elements and following Action Elements are misinterpreted in the exported fountain file. Identical misinterpretation will occur for any scrivener file where the Action Element has been used and manually UPPERCASED in circumvention of Bug #1.

On export, Scrivener does force Scene Headings with the insertion of a “.” into the fountain file, but does not do the same with any other element.

I’m sure there is a long list of bug fixes for Windows updates, but these fixes (particularly bug #2, as bug #1 can be manually addressed by the user in settings) would be very quick to implement and would improve the functionality of Scrivener as a screenwriting program to a very large degree. As it stands, exporting screenplays into external screenwriting software for finalization (Scrivener/compile is currently not up to this task, in my opinion) involves hours of cleanup — compounded because the cleanup process breaks other things like italicization, underlining, etc. — and because the other option of exporting as an .fdx Final Draft document likewise seems to be very broken (the exported .fdx in the following example opens as a 5-page blank document.)

Formatting as it appears in Scrivener:

And as it appears in Fade In Pro after Fountain export:

I have tested both exported .fountain and .fdx files some while back in Final Draft to identical results.

1 Like

Revisiting this to suggest that during Fountain export Shot Heading Elements also be forced with the inclusion of a leading “!” as Fountain syntax (very unfavorably for itself) has no concept of a “Shot Heading”, and exporting in this manner will give a result that is both practical and with some sort of intention rather than how it stands now – which creates a Character Name out of the Shot and a block of Dialogue out of the subsequent Action Element.

Sorry I missed your notes the first time around. I’ll get this integrated with any existing notes we have on improving Fountain export. It looks like the Mac version could use a little improvement as well in some regards. It is actually using the ! to force action, but interestingly it is using it on the standard case action line following the uppercase action line. According to the Fountain docs though, it should be on the uppercase action line. In both cases we could add it to the Shot element as you suggest.

As for FDX not working at all, I’m not getting the same results you are for some reason. Here is an excerpt from the area from your example where a shot is followed by three action lines (one uppercase):

  <Paragraph Type="Shot">
	 <Text Font="Courier Prime" Size="12" Color="#000000000000" Background="#FFFFFFFFFFFF" Style="" AdornmentStyle="0" RevisionID="0">THIS IS A SHOT</Text>
  </Paragraph>
  <Paragraph Type="Action">
	 <Text Font="Courier Prime" Size="12" Color="#000000000000" Background="#FFFFFFFFFFFF" Style="" AdornmentStyle="0" RevisionID="0">More action stuff.</Text>
  </Paragraph>
  <Paragraph Type="Action">
	 <Text Font="Courier Prime" Size="12" Color="#000000000000" Background="#FFFFFFFFFFFF" Style="" AdornmentStyle="0" RevisionID="0">THIS IS AN ACTION ELEMENT IN UPPERCASE.</Text>
  </Paragraph>
  <Paragraph Type="Action">
	 <Text Font="Courier Prime" Size="12" Color="#000000000000" Background="#FFFFFFFFFFFF" Style="" AdornmentStyle="0" RevisionID="0">This is an action element.</Text>
  </Paragraph>

The important part is the Type attribute on the Paragraph element, and four of these seem correct to me—yet in your example you get them marked as character and dialogue.

1 Like

Hello Amber. I don’t believe I wrote clearly in earlier posts. The FDX export bug is unrelated to the Fountain bug. When opening exported FDX files NO CONTENT IS DISPLAYED – the file opens as a series of blank pages. I have tracked the issue and it’s origin is:

  1. A missing ElementSettings block of type, “General”.
  2. Improper handling of ParagraphSpec class attributes within all of the ElementSettings blocks.

Additionally, I have found other bugs:
3) The exporter inserts additional empty elements (extra blank lines in the final document) prior to all Scene-Headings.
4) Exporter exports a small number of Action elements as General Text Elements.

BUG 1:
Even if there are no “General Text” elements present in the Scrivener document, it appears to be necessary to include the following block in the FDX file:

<ElementSettings Type="General">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style=""/>
    <ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Left" LeftIndent="1.25" RightIndent="7.25" SpaceBefore="0" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="General" ReturnKey="General" Shortcut="0"/>
  </ElementSettings>

BUG 2:
Further the ParagraphSpec classes are improperly attributed in all ElementSettings types. For instance, the FDX exported out of Scrivener attributes the ParagraphSpec class of as follows:

<ParagraphSpec Alignment="Left" RightIndent="6.56" Leading="Regular" LeftIndent="0.56" StartsNewPage="No" Style="AllCaps" Spacing="12.0" FirstIndent="0.00" SpaceBefore="24"/>

It should be:

<ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Left" LeftIndent="1.25" RightIndent="7.25" SpaceBefore="24" Spacing="1.0" StartsNewPage="No"/>

I notice that:

  1. “RightIndent” and “LeftIndent” and “Spacing” are misvalued.
  2. ‘Style=“AllCaps”’ is not an attribute of ParagraphSpec but, rather, should be declared as an attribute of FontSpec.

Here is a block of all ElementSettings with CORRECT ParagraphSpec attributes (and please note SHOT element SpaceBefore=“12” as opposed to “24” per previous discussion.) Copy and pasting this block over the corresponding block in Scrivener’s exported FDX file appears to resolve the issue of the missing content:

<ElementSettings Type="General">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style=""/>
    <ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Left" LeftIndent="1.25" RightIndent="7.25" SpaceBefore="0" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="General" ReturnKey="General" Shortcut="0"/>
  </ElementSettings>

<ElementSettings Type="Scene Heading">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style="AllCaps"/>
    <ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Left" LeftIndent="1.25" RightIndent="7.25" SpaceBefore="24" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="Scene Heading" ReturnKey="Action" Shortcut="1"/>
  </ElementSettings>

<ElementSettings Type="Action">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style=""/>
    <ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Left" LeftIndent="1.25" RightIndent="7.25" SpaceBefore="12" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="Action" ReturnKey="Action" Shortcut="2"/>
  </ElementSettings>

<ElementSettings Type="Character">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style="AllCaps"/>
    <ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Left" LeftIndent="3.75" RightIndent="7.25" SpaceBefore="12" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="Character" ReturnKey="Dialogue" Shortcut="3"/>
  </ElementSettings>

<ElementSettings Type="Parenthetical">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style=""/>
    <ParagraphSpec FirstIndent="-0.10" Leading="Regular" Alignment="Left" LeftIndent="3.25" RightIndent="5.25" SpaceBefore="0" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="Parenthetical" ReturnKey="Dialogue" Shortcut="4"/>
  </ElementSettings>

<ElementSettings Type="Dialogue">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style=""/>
    <ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Left" LeftIndent="2.55" RightIndent="6.25" SpaceBefore="0" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="Dialogue" ReturnKey="Action" Shortcut="5"/>
  </ElementSettings>

<ElementSettings Type="Transition">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style="AllCaps"/>
    <ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Right" LeftIndent="5.25" RightIndent="6.75" SpaceBefore="12" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="Transition" ReturnKey="Scene Heading" Shortcut="6"/>
  </ElementSettings>

<ElementSettings Type="Shot">
    <FontSpec AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#000000000000" RevisionID="0" Font="Courier Final Draft" Size="12" Style="AllCaps"/>
    <ParagraphSpec FirstIndent="0.00" Leading="Regular" Alignment="Left" LeftIndent="1.25" RightIndent="7.25" SpaceBefore="12" Spacing="1.0" StartsNewPage="No"/>
    <Behavior PaginateAs="Scene Heading" ReturnKey="Action" Shortcut="7"/>
  </ElementSettings>

I believe what is happening is that the misvalued Indent attributes are placing the content out of the renderable area of the document and confusing the software when the file is opened, and additionally, the misvalued “Spacing” attribute is forcing 12x too many lines between the elements resulting in exported documents being of an exceedingly long page count.

BUG 3:
I am not sure what causes this bug. It only occurs when I export any of my completed screenplays (so larger, more complex files). So far I have not able to replicate it with smaller test documents. Prior to every Scene-Heading element the exporter repeats whatever element came before (but with no content.) So if there is a Dialogue element followed by a Scene-Heading the exporter will add an additional (empty) Dialogue element between the two resulting in one additional blank line above the Scene-Heading. If there is an Action followed by a Scene-Heading, the exporter will add an additional (empty) Action between the elements resulting in two extra blank lines (one for the Action element and one for its “SpaceBefore” attribute) above the Scene-Heading. Etc.

An example from the block of a file export by scrivener – note the extra Dialogue Paragraph after the first one:

<Paragraph Type="Dialogue">
         <Text Style="Bold" Size="12" RevisionID="0" Background="#FFFFFFFFFFFF" Color="#000000000000" AdornmentStyle="0" Font="Courier10 BT WGL4 WXX">I don't really care what you think.</Text>
      </Paragraph>
      <Paragraph Type="Dialogue"/>
      <Paragraph Type="Scene Heading">
         <Text Style="Bold" Size="12" RevisionID="0" Background="#FFFFFFFFFFFF" Color="#000000000000" AdornmentStyle="0" Font="Courier10 BT WGL4 WXX">INT. BILL'S BOAT - NIGHT</Text>
      </Paragraph>

BUG 4:
So far I have not been able to replicate this, but the exporter has, in at least one instance, exported neighboring Action elements as General Text elements.