Bullets and numbered lists

Improved bullets simple script using regular expressions Python module. Build bulleted lists; numbered lists starting with any number plus separator; upper case or lower case lettered list; and delete list marks. Create styles -- if it doesn't exists -- with proper 2 digits indentation, but is necessary set tabulation "by hand", as this can't be done by script.

Install

 * 1) Copy the code and paste in a text file named "Bullets.py" or whatever "*.py".
 * 2) Run it by "Scripts > Execute script..."
 * 3) In order to scripts appear in "Scripts > Scribus scripts..." menu, put the file in:
 * 4) * Windows folder "x:\Program files\Scribus 1.3.9\share\scripts\" or in
 * 5) * Linux directory (copy as root) "/usr/share/scribus-ng/scripts/". But these folders are for official scripts and could be overwritten when Scribus reinstalls.

Usage
Select a text frame or some paragraphs and run the script by choosing "Scripts" menu, options "Execute script..." or "Scribus scripts". Asked, input the operation type:


 * "*" will create bulleted list.
 * A number (up 3 digit) will create a numbered list begining with such number. Ex.: "1)". Range: 0 to 999.
 * One or two letters, upper or lower case, will create a lettered list begining with such letters with same case. Ex.: "a)". Range: "a" to "zz".
 * "/" will clear all marks.
 * An optional character after numbers or letters will be used as separator. Default: dot.

Options
if os.name == 'posix': bulletString = u'\u006F\t' #  lower right drop-shadowed white square U+274F else: bulletString = u'\uF06F\t'
 * You can change bullets size putting any value but zero in bulletedListCharSize variable.
 * You can change bullets font putting it Scribus name in bulletedListCharFont variable.
 * This works for numbers and letters too, with its propers variables.
 * Get character hex code from menu: "Insert > Special character > [magnifying glass button]".
 * Change bullet character putting it code in bulletString variable, in place "006F" and "F06F":

Tested and working in Scribus 1.3.9 running in Windows XP, Wine and Ubuntu 10.10.

Caveats

 * The script will clear any character formating in selected paragraphs (fonts, bold, superscripts, soft hyphens etc), as scribus.getText Python function get just plain text, not formating.
 * Some fonts can have different encodings depending operational system. Bullets glyphs may not appear if a publication made in Linux is opened in Windows, and vice-versa. This is true for "Dingbats" font from URW foundry.