osf is a Go package and three small command line programs for working with Open Screenplay Format (OSF) 2.0. OSF is an open XML format for screenplays and, zipped, the native format of Fade In. The package parses an OSF document, writes it back as XML, renders it as Fountain-like plain text, and builds one from a Fountain document parsed by the fountain package.
OSF keeps no number for an individual scene (numbering is a document setting, scene_numbering), so a Fountain scene number is not carried into OSF. A Fountain boneyard (/* ... */) becomes an ordinary paragraph, so it shows in Fade In.
osf2txt : reads an OSF file and writes plain text in a Fountain-like format.
txt2osf : reads a plain text file and renders an OSF 2.0 document.
fadein2osf
: reads a Fade In (.fadein) file and writes Open Screenplay Format.
Get a release from GitHub, or see INSTALL.md, which also covers installing from source. To use the package in a Go program:
go get github.com/rsdoiel/osfYou need Go 1.26.4 or later. Pandoc and GNU Make are only needed for the man pages and the website, and cmt (CMTools) only to regenerate version.go, about.md and CITATION.cff from codemeta.json.
make # build the programs into bin/ and the man pages into man/
make test # go test ./...
make check # gofmt -l and go vet; rewrites nothing