Blyte

Blyte is a computer program for writing screenplays for movies or television. Compared to a normal word processor, it is easier, faster and more efficient for writing scripts, since it knows how scripts are put together and can thus predict what you want to do next, automatically find errors, format the script correctly, and much more.

A partial list of Blyte's features:

Enforces correct script format and pagination.

Auto-completion saves you from typing the same scene and character names over and over again.

You can almost always create the correct next element simply by pressing Enter or Tab.

Spell checking.

Windows and Linux versions that work identically and produce the exact same output, so you can freely switch between them or collaborate with someone using a different operating system.

A character name database containing over 200,000 names with nationality and male/female information for each.

Script, location, scene and character reports.

Unique dialogue charts.

Script compare, which compares two versions of the same script and shows you the differences between them.

Full support for title pages and page headers.

Many view modes:

Can import/export scripts from/to other programs, using ASCII text or RTF formats.

Every aspect of the program is fully configurable, and you can have as many different configuration files as you like, switching between them as needed. Settings are divided into global and script-specific ones, with all settings affecting script formatting being script-specific.

Generates very compact PDF files. A typical 105-page script takes only 125KB in PDF format. The PDF files can optionally have a table of contents (bookmarks, in PDF lingo) generated from the scene list of the script.

Powerful 'Find & Replace' functionality that allows you to limit the operation to certain element types, making for example renaming characters a snap.

Configurable keyboard commands.

Last, but not least, Blyte has an open, fully documented file format that it uses for saving scripts, making it easy to use them in external programs.