Version 3.3.0 Pagination Pagination is now a first-class citizen. Page count accuracy should be good enough to refer between a PDF and your Fountain script within Emacs. The pagination commands are all located in the menu under Fountain > Pagination. Given that counting pages is computationally intensive, pagination is now handled by applying text properties with command fountain-pagination-update (C-c C-x p), which can be triggered with fountain-mode-hook. This applies a fountain-pagination text property of (PAGE . LENGTH) to all buffer text, where PAGE is the linear page count and LENGTH is each page's length in characters. Counting pages then checks whether each PAGE property is correctly ordered and LENGTH is accurate within fountain-pagination-max-change (default 150 characters). If either of these checks fails, pagination properties are recalculated. These properties are now used for all page-related functions. All this does require some care on the part of the user in ensuring some options are set correctly in the group fountain-pagination: - New option fountain-pagination-double-space-scene-headings to count scene headings as two lines if your export uses double-space scene headings. - New option fountain-pagination-break-sentences to if your export allows page breaks to occur within sentences. - New option fountain-pagination-max-change -- set this to a lower value if you want more accurate pagination, or higher if you don't care. - New commands fountain-forward-page and fountain-backward-page. These navigate by the actual page breaks, not by a page length back/forth from point. - Rename option fountain-page-ignore-restriction to fountain-pagination-ignore-restriction. It's useful to set this option to nil if you're working on a narrowed section of your script and want the page count to refer only to this. The title page is considered page 0. Other Fixes - Rewrite of fountain-get-element and fountain-move-forward-page to account for dual dialogue. - Fix fountain-export-view locating the last modified file (was previously using access-time). - When calling an export command that uses the buffer file as input but the buffer is not saved, prompt to save buffer first. - fountain-export-view will no longer wait for external viewer to terminate. - Avoid matching transitions (e.g. CUT TO:) as metadata when at beginning of buffer. - Fix for Font Lock not recognizing lowercase scene headings. - Remove unused fountain-get-block-bounds function. Thanks to @ZungBang for contributing many fixes to this release.