You are on page 1of 43

What's New in Version 6.

2
_________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
***Please enable word wrap when viewing this document***
Major Changes in Latest Versions
================================
Only the most significant feature changes are listed under this topic. Some vers
ion updates may include more comprehensive details under the next main topic sec
tion.

NoteTab v6.2 (released: 25 January 2010)


‾‾‾‾‾‾‾‾‾‾‾‾
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 8.01 (Perl 5.10).
* Now uses the Windows user-interface default font instead of MS Sans Serif.
* Fixed an issue when saving Web pages that have a mismatch between their charse
t declaration (Unicode) and the actual file format (not Unicode).

NoteTab v6.12 (released: 16 June 2009)


‾‾‾‾‾‾‾‾‾‾‾‾‾
* Added optional code page token support in template headers. The code page valu
e is placed between parentheses and is preceded by the letters CP. The code page
value should be one of the numeric values listed here: http://www.notetab.com/r
edir/codepage. This example creates a new UTF-8 document:
= DocTemplate CP(65001)
* Added three templates that you can use to easily create new Unicode documents.
* Included sample plain text and HTML files containing text based on a variety o
f character sets (Arabic, Chinese, Cyrillic, Greek, Hebrew, etc.) These files ar
e stored in the Samples subfolder under the NoteTab program folder.
* Added "Open Sample File" in SampleCode library. Use this Clip to open a plain
text or HTML file containing text based on a non-Western character set (Arabic,
Chinese, Cyrillic, Greek, Hebrew, etc.) The purpose of these files is to demonst
rate how NoteTab 6 handles text based on different Windows code pages.
* Fixed the "Text Case" commands, which sometimes converted extended characters
based on non-system code pages incorrectly. Note that the "Invert Case", Capital
ize, and Sentence commands do not correctly handle double-byte characters (DBCS)
and so should only be used on parts of text with Latin-based characters.
* Fixed the "Document to HTML" and "Characters to HTML" commands, which previous
ly assumed source text was always based on the Western ANSI character set. This
sometimes resulted in invalid HTML entities when processing text based on other
code pages.
* Fixed "String list does not allow duplicates" error that could sometimes occur
when opening Unicode and UTF-8 documents.
* Fixed a rare issue that caused NoteTab to misidentify certain ANSI documents a
s Unicode.
* Fixed ^$GetFileText(FileName)$ Clip function, which failed to check the file f
ormat prior to loading text. Now correctly handles Unicode and UTF-8 files.
* Updated Help.

NoteTab v6.1 (released: 28 May 2009)


‾‾‾‾‾‾‾‾‾‾‾‾
* Added the Code Page submenu to the Tab-bar shortcut menu. This feature lets yo
u reload a document using a different code page. Useful in cases when NoteTab do
esn't automatically select the most appropriate code page.
* When opening files, NoteTab can now automatically detect the most appropriate
code page to display Unicode and UTF-8 documents.
* When saving Web files (those listed in Options), NoteTab automatically uses th
e appropriate encoding based on the defined charset value.
* Improved Search Disk feature. It now correctly handles Unicode and UTF-8 files
, as well as files with non-Windows line breaks. During find/replace operations,
the searched file is loaded into memory and temporarily converted to ANSI with
Windows line breaks (CRLF). If a replace operation has modified the data, NoteTa
b converts it back to its original format before saving it to disk.
* Updated Export dialog box with UTF-8 and Unicode options.
* Added new "Format-Search Limit" setting on Advanced tab in Options dialog box.
See Help for details.
* Included a new Clip-based Clip writing aid, "Clipcode Syntax" (courtesy Sheri
Pierce). See the Clip Help file for details.
* The "UTF-8 (no conversion)" code page option has been fixed and a new "System
Code Page" option added in the File Open dialog box.
* Fixed some issues with double-byte text and the rich-edit controls.
* Fixed an issue in NoteTab Light and Std, which affected the reliability of the
Replace All feature under certain circumstances.
* Updated Help, documentation, and data files.
* Some other minor improvements and issues fixed.

Clip-code additions:
--------------------
^$GetCodePage$
Returns the default Windows ANSI Code page.
^$GetDocCodePage$
Returns the Code page of the active document.
^$GetDocCodePage(Index)$
Returns the Code page of the specified document.

NoteTab v6.0 (released: 04 May 2009)


‾‾‾‾‾‾‾‾‾‾‾‾
* Improved support for Unicode and UTF-8 files, as well as documents based on al
ternative character code pages. Support for these new features appear in the Fil
e Open/Save dialog boxes as well as in Clip commands. Note that NoteTab is not a
Unicode editor; characters that cannot be converted to the chosen ANSI code pag
e are lost. Note also that Windows may substitute the document font with another
that offers the appropriate character script. In NoteTab Pro this could result
in a fixed-width font getting replaced with a variable-width font; when this hap
pens, you may experience inconsistencies when selecting and editing text.
* When you open a Web document without specifying a code page, NoteTab will sear
ch the file for a charset, encoding, or lang attribute value. If such a value is
found and recognized, NoteTab will attempt to adjust the font to the appropriat
e font script in order to display the text faithfully.
* The read-only document protection is now only set after opening a UTF-8 or Uni
code file containing characters that failed to convert to ANSI.
* NoteTab Pro: significantly improved handling of Double-Byte text (DBCS).
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 7.9.
* By default, unselected document tabs now use a less dark color.
* Fixed failure to set read-only protection when opening UTF-8 Web files lacking
BOM signature.
* NoteTab Pro: fixed minor alignment issue in column ruler when line ruler is tu
rned off.
* Updated the SampleCode Clip library with two new commands for opening and savi
ng documents. The Open Document command lets you specify a code page and the Sav
e Document command lets you specify an ANSI, UTF-8, or Unicode encoding. You wil
l find additional code page values listed on the following Web page:
http://www.notetab.com/redir/codepage
* Some other minor improvements and issues fixed.

Clip-code additions and improvements:


-------------------------------------
* New Clip language options added to support alternative code pages as well as s
aving to UTF-8 and Unicode encodings:
^!Open "FileName" [/R] [/J=nnn] [/C=CodePage]
CodePage should be one of the numeric values listed on this page:
http://www.notetab.com/redir/codepage
^!SaveAnsi FileName
^!SaveUtf8 FileName
^!SaveUnicode FileName
^!Export "FileName" [ASCII|ANSI|UTF-8|UNICODE][MAC|UNIX][SELECTION|ALL][HARDBREA
KS]
Added the UTF-8 and UNICODE encoding options.
^$GetLong(ShortFileName)$
Converts a DOS short filename to a Windows long name.
NoteTab v5.8 (released: 28 March 2009)
‾‾‾‾‾‾‾‾‾‾‾‾
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 7.8.
* Added the /Close and /Exit command-line switches. Use either one to close a ru
nning instance of NoteTab.
* Fixed an issue that under specific conditions when searching through all open
documents can cause an Outline document to lose all its topics except the curren
t one.
* Fixed a display issue when minimizing/restoring NoteTab while the Find or Repl
ace dialog is open.
* Fixed issues with the "Go to Hyperlink" feature.
* Fixed an issue with the ^$GetReSubStrings$ function, which failed to return a
captured substring when only one subpattern was defined in the search criteria.
* Some other minor improvements and issues fixed.

NoteTab v5.7b (released: 31 July 2008)


‾‾‾‾‾‾‾‾‾‾‾‾‾
* The /Temp command-line switch value is now automatically stored in NoteTab's I
NI file. As a result, you only need to use the switch again to change the last s
aved value or when the INI file has been reset. Use a blank value to use the def
ault Windows temp folder (e.g., /temp="").
* Fixed an issue with search hyperlinks, like when Ctrl+Double-clicking in [ Not
eTab ], that appeared in version 5.7.
* Fixed loss of icon from file types associated with NoteTab Light.

NoteTab v5.7 (released: 15 July 2008)


‾‾‾‾‾‾‾‾‾‾‾‾
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 7.7.
* Improved the Strip HTML Tags feature. Now correctly processes unordered lists,
ordered lists, and definition lists. Also improved processing speed.
* Added the Outline Tutorial shortcut under the Help menu to easily open the Rea
dme.otl document.
* Added support for a new type of "text" hyperlink. You can now open files in th
eir associated application by using an exclamation character (!) at the start of
the hyperlink text. The following example will open the GIF file in your associ
ated image viewer: [!Samples\notetab.gif]. See the [Readme.otl::Hyperlinks] topi
c for more details (tip: to open the document, hold down the Ctrl key while you
double-click on the text between the square brackets).
* Opening a shortcut file (.lnk) in NoteTab now always opens its target file.
* Added support for folder and file name tokens. These tokens represent either f
ully qualified folder names or system variables. See "Folder and File Name Token
s" topic in Help for more details on this feature.
* Improved the /usb switch option. You now only need to use this command the fir
st time you run NoteTab off a USB drive. NoteTab will store the option in its IN
I file on the USB drive. To cancel the option, run NoteTab with the /usb=false c
ommand-line switch.
* Added keyboard shortcuts to combo-box and edit-box controls in dialogs: Ctrl+Z
= undo; Ctrl+Backspace = delete word before cursor; Ctrl+Delete = delete from c
ursor till end of word.
* NoteTab Pro: added Ctrl+Shift+Up/Down keyboard shortcut to extend selection ra
nge a paragraph at a time.
* Fixed several issues affecting certain complex regular expression operations.
* Fixed issue with AutoReplace feature failing to work when an Outline document
is open.
* Fixed issue when using keyboard shortcuts to open context menus.
* Fixed several accessibility issues. Added configuration file for Window-Eyes,
JAWS for Windows, and Dolphin Hal; these are stored in the Accessibility subfold
er. Use the following command-line switch to install them in the appropriate fol
ders:
NoteTab.exe /acc=install
or
NotePro.exe /acc=install
* The Voluntary Product Accessibility Template (VPAT), which describes how NoteT
ab conforms to Section 508 of the Rehabilitation Act, is available from the foll
owing Web page:
http://www.notetab.com/vpat.php
* Freeware and Trial versions of NoteTab are now protected with a different thir
d-party product, which should significantly reduce compatibility issues.
* Updated the spell-checker help file to the HTML Help format. Previous WinHelp
format does not work on Windows Vista without installing extra support files.
* Added new print shortcuts to the Utilities library and Clipbar.
* Fixed issues with printer margins and word wrap settings that were not always
correctly rendered in print output.
* Some other minor improvements and issues fixed.
* Updated references to Fookes Software to reflect the new legal form of busines
s company. Fookes Software is now a Limited (Ltd) company, which is owned by Foo
kes Holding Ltd.

Clip-code additions and improvements:


-------------------------------------
* Added new option "O" to ^!Find and ^!Replace Clip commands. Use it to only sea
rch in current outline topic. This option is ignored if the Global scope option
"G" is also set.
* Added ^!SetWizardWidth Clip command. Use it to control the width of the Clip w
izard. The argument represents a width percentage value and can be between 20 an
d 500. This command must precede the first Clip field. The following example cre
ates a Clip wizard with twice the regular width:
^!SetWizardWidth 200
* Added ^$IsAppOnUSB$ Clip function. Returns True if NoteTab is running with the
USB option (see related /USB command-line switch).
* Updated the ^$GetDate Clip function. Now supports a second optional argument t
hat can be used to add or remove days from the current date:
^$GetDate(DateFilter[;+/-days])$
* Added ^$GetActiveLibraryName$ and ^$GetActiveLibraryFileName$ Clip functions.
These are similar to ^$GetLibraryName$ and ^$GetLibraryFileName$, but return an
empty string if the Clipbook panel is closed.
* Added ^$IsAutoReplace$. Returns 1 if the Clipbook library is open in AutoRepla
ce mode, or 0 if it is not.
* Added ^!SetAutoReplace ON/OFF
Changes AutoReplace mode accordingly if the Clipbook library is open.
* Updated ^!MakeShortcut command to add support for optional "start in" folder a
nd icon arguments:
^!MakeShortcut ShortcutLocation "Target" ["Arguments"] ["Description"] [CmdShow]
["StartInFolder"] [IconIndex]
^!MakeShortcut ShortcutLocation "Target" ["Arguments"] ["Description"] [CmdShow]
["StartInFolder"] ["IconFile"]
^!MakeShortcut ShortcutLocation "Target" ["Arguments"] ["Description"] [CmdShow]
["StartInFolder"] ["IconFile::IconIndex"]
"IconFile" sets the file (path and name) containing the icon. If this argument i
s not specified, the value is set to "Target" if it represents an icon resource.
IconIndex sets the index of the icon within "IconFile". The first icon has an in
dex value of 0.
* Improved ^$GetRegValue, which can now also read integer values from the regist
ry.
* Added new Clip functions for regular expression tasks:
^$GetDocListAll("SearchPattern";"OutputPattern")$
Finds all matching strings in the current document (or selected text) based on t
he SearchPattern regexp pattern. The function returns a string with each match f
ormatted according to the ReplaceString. Example that collects and displays all
URLs in a Web page:
^!Info [L]^$GetDocListAll("(?s)<a.+?href\s*?=\s*?"(.*?)"";"$1\r\n")$
^$GetDocReplaceAll("SearchPattern";"ReplacePattern")$
Replaces all text in the current document (or selected text) matching the Search
Pattern regexp pattern with the text specified by ReplacePattern. Example that r
eplaces all h2 tags to h3:
^!Info [L]^$GetDocReplaceAll("<h2>(.*)</h2>";"<h3>$1</h3>")$
* Added new Clip commands for printing text:
^!PrintDialog AnyText
Displays the Print dialog box so that you can select a printer and modify certai
n options before starting the print job based on the AnyText argument. If you le
ave out the argument or AnyText is empty, then the current document text will be
printed.
^!PrintPreview AnyText
Sends the text from the AnyText argument to the Print Preview window. You can th
en decide whether to start the print job or cancel the procedure. If you leave o
ut the argument or AnyText is empty, then the current document text will be prin
ted. The following example shows selected text in the preview window:
^!PrintPreview ^$GetSelection$
^!PrintText AnyText
Sends the text from the AnyText argument directly to printer using current defau
lt settings. The Print dialog box is not displayed. If you leave out the argumen
t or AnyText is empty, then the current document text will be printed.
* Added new Clip functions for handling dates:
^$GetDateFromInt(DateInteger;DateFilter)$
Converts a date integer value to the format defined by DateFilter. This date int
eger value represents the number of days that have passed since 12/30/1899. See
related ^$GetDateToInt function below. Example:
^$GetDateFromInt(39625;mm/dd/yyyy)$ -> 06/26/2008
^$GetDateToInt[(Date;DateFilter)]$
Converts a date matching the DateFilter format to an integer value. If you do no
t specify any arguments, then the current date is returned. This value represent
s the number of days that have passed since 12/30/1899. This format is useful if
you want to store the date in a universal way, and which can also be manipulate
d in calculations. Examples:
^$GetDateToInt$ -> 39625 (assuming the current date is June 26, 2008)
^$GetDateToInt(11/06/2008;dd/mm/yyyy)$ -> 39610
^$GetDay$
Returns the day of the week. 1 for Monday, 2 for Tuesday, etc.
* Added new Clip commands and functions for processing Outline documents:
^!CreateOutline FileName
Creates a new Outline file and saves it with a filename based on the command arg
ument.
^!TopicAdd "TopicName" AnyText
Adds a topic to the active Outline document. The topic name is taken from the To
picName argument and text specified by the AnyText argument is stored in the top
ic.
^!TopicDelete TopicIndex
^!TopicDelete TopicName
Deletes the specified topic from the active Outline document. You can either spe
cify the topic name or its position in the list 1 being the first topic.
^!TopicMove TopicToMove TargetPosition
Moves a topic to the specified position. The TopicToMove and TargetPosition argu
ments can either represent a topic name (surround with double quotes if name con
tains spaces) or its position in the list 1 being the first topic. Examples:
^!TopicMove "Topic Name #3" "Topic Name #7"
^!TopicMove 3 7
^!TopicReplace "TopicName" AnyText
^!TopicReplace TopicIndex AnyText
Replaces data in the specified topic from the active Outline document with text
specified by the AnyText argument. You can either specify the topic name (surrou
nd with double quotes if name contains spaces) or its position in the list 1 bei
ng the first topic.
^!TopicShow "TopicName"
^!TopicShow TopicIndex
Displays the specified topic in the active Outline document. You can either spec
ify the topic name or its position in the list 1 being the first topic.
^$GetTopicHeading(TopicIndex)$
Returns the topic name at the specified position in the active Outline document
1 being the first topic.
^$GetTopicText(TopicIndex)$
^$GetTopicText(TopicName)$
Returns the text from the corresponding topic in the active Outline document. Yo
u can either specify the topic name or its position in the list 1 being the firs
t topic.

NoteTab v5.61 (released: 05 February 2008)


‾‾‾‾‾‾‾‾‾‾‾‾‾
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 7.6.
* The PCRE regular expressions engine now defaults to the ANYCRLF option.

NoteTab v5.6 (released: 24 January 2008)


‾‾‾‾‾‾‾‾‾‾‾‾
* Setup no longer requires administrative or "power user" privileges under Windo
ws NT/2000/XP/2003/Vista.
* Added option in Clipbook shortcut menu to Restore Default Library.
* Paste-Board feature now resets NoteTab in Windows Clipboard chain when set. Us
eful when a misbehaved application breaks the chain.
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 7.5.
* Added /TEMP command-line switch. By default, NoteTab stores temporary files in
the Windows Temp folder under the logon user folder. If the /USB switch is used
, temporary files are now stored on the USB drive in the Temp folder. If the /US
ER switch is used, temporary files are now stored in the Temp subfolder of the s
pecified folder. Use this switch to specify an alternative location for storing
temporary files. The folder name can include system variables; example:
NoteTab.exe /temp=%AllUsersProfile%\NoteTab\Temp
* To avoid import/export issues with the main NoteTab distribution packages, enc
ryption features are only available after you install the ntb_enc.dll file. You
can download the DLL from here:
http://www.notetab.com/ntb_enc.php
* Fixed issue causing incompatibility under Windows 95 and NT4. A new "NoteTab W
indow 95 and NT4 Compatibility Pack" is available for download from here:
http://www.notetab.com/ftp/Win95-NT4.zip
* Fixed issue with backup creation during search-disk replace operations.
* Fixed slow startup issue when NoteTab's Reopen list contains inaccessible file
s.
* Several other minor improvements and bug fixes.
* Updated EULA and documentation, including Glossary.otl.

NoteTab v5.5 (released: 04 October 2007)


‾‾‾‾‾‾‾‾‾‾‾‾
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 7.4. The \R newline sequence now matches either CRLF, or a lone CR, or a
lone LF.
* Changed method on Windows XP and Vista to determine default location of folder
for user settings. Fixes issues on some systems that have corrupted registry ke
ys.
* Restored the MS-Office Sounds setting in the Options dialog box (View tab). Th
is option is only available if you have installed the sounds on your system. Dow
nload details here:
http://www.notetab.com/os.html
* Fixed a minor display issue on Windows Vista that caused toolbar button delimi
ters to draw incorrectly.
* Fixed an issue on Windows Vista that caused some buttons and checkboxes in dia
logs to disappear when pressing the "Alt Gr" button (special button available on
some keyboards for accessing a third character on a key).
* Fixed a text-flicker issue in NoteTab Pro when it is run on slower computers.
* Fixed issue with incorrect total page count sometimes printed in Page Preview.
* Fixed issue with Partial Loading option failing to work.
* Fixed a weakness in the Clip parser.
* Added new Clip command:
^!IfFileUnicode "FileName" GoToLabelTrue [ELSE GoToLabelFalse]
Jumps to specified label if FileName is a Unicode text file or UTF-8 Web page.
* Updated documentation.

NoteTab v5.4 (released: 06 September 2007)


‾‾‾‾‾‾‾‾‾‾‾‾
* NoteTab Light now available as a version 5 release.
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 7.3. See the following document for a list of improvements:
http://www.pcre.org/changelog.txt
* Added several new Clip syntax elements:
^!IfEmpty "Value" GoToLabelTrue [ELSE GoToLabelFalse]
If Value represents an empty variable or string, then jumps to specified label n
ame. It is recommended to enclose Value between double quotes.
^$GetParaCol$
Returns cursor column position within paragraph in current document.
^$GetParaRow$
Returns paragraph row index of cursor in current document.
^$GetUserRegRoot$
If you are running a non-NT version of Windows (Win95/98/ME), this function retu
rns a value of HKEY_LOCAL_MACHINE, otherwise it returns HKEY_CURRENT_USER. This
function can be useful to ensure compatibility with certain registry operations
under different versions of Windows. See usage examples under the "NoteTab Short
cuts" section of the Utilities library.
^$GetWinPlatform$
Returns the Windows platform type under which NoteTab is running. Possible value
s are one of the following: Win32_Win, Win32_NT, Unknown. If you're running Win9
5/98/ME the returned value is Win32_Win, and Win2000/2003/XP/Vista/Longhorn prod
uces Win32_NT. This function is useful to ensure compatibility with operations t
hat need to run differently on each Windows platform.
* Several minor improvements and bug fixes.
* Updated documentation.

NoteTab v5.3 (released: 06 July 2007)


‾‾‾‾‾‾‾‾‾‾‾‾
* Improved "Replace Notepad" feature under Windows 2000, 2003, and XP. Feature n
ot available under Windows Vista.
* File Associations set through NoteTab now work under Windows XP with a user "L
imited Account" and under Windows Vista.
* Added /RESETWND command-line switch, which resets the NoteTab window position
and size at startup. This switch is useful if the NoteTab window does not show u
p when you start the program.
* Fixed issue with some system dialogs opening offscreen on multi-monitor system
s.
* Fixed issue with Clip-wizard labels not appearing under Windows Vista.
* Fixed issue with header/footer text not always appearing when printing documen
ts.
* Fixed issue causing a long delay when opening a file from a shared drive (e.g.
\\Vista-central\public\file.txt).
* Fixed sorting issue with ^$GetFileFirst$ Clip function.
* Fixed Vista compatibility issue with ^!Keyboard Clip command.
* Updated the regular expressions engine to the latest release, which is based o
n PCRE 7.2. See the following document for a list of improvements:
http://www.pcre.org/changelog.txt
* Updated the print engine to the latest release.
* Added ^$GetWinVersion$ function to return the version of Windows that is runni
ng NoteTab. Possible values are: Win95, Win98, WinME, NT4, WinXP, Win2000, Win20
03, Vista, Longhorn, Unknown.
* Improved ^!SetDebug Clip command. Now has the capability of storing debug info
rmation in a log file. Simply specify a filename as the parameter. If no pathnam
e is specified, the log file is saved under the "Application Data\NoteTab\Librar
ies" folder. Example:
^!SetDebug Log.txt
* Many other minor improvements and bug fixes.
NoteTab v5.2 (released: 31 March 2007)
‾‾‾‾‾‾‾‾‾‾‾‾
* Updated the regexp engine to PCRE version 7.
* Added /usb command-line switch. Use it when you want to run NoteTab from a USB
key.
* Fixed misplaced warning and information dialog boxes when running NoteTab unde
r multiple monitors.
* Fixed several issues with ^$GetDocMatchAll Clip function.
* NoteTab Std: fixed issues with ^$GetParagraph$ Clip function.
* Many other minor improvements and bug fixes.
* Updated documentation.
NoteTab v5.1 (released: 30 August 2006)
‾‾‾‾‾‾‾‾‾‾‾‾
* Added token for Header/Footer line separator on printed pages.
* Added "Close All Other" command to tab shortcut menu.
* Added method to print only selected text.
* Fixed slow loading of Clipbars.
* Fixed issue with modal dialogs sometimes ending up behind main NoteTab window.
* Euro Clipbook included with NoteTab again.
* Several other glitches fixed and improvements (listed under next topic).
* Updated Help files.
NoteTab v5.0 (released: 26 July 2006)
‾‾‾‾‾‾‾‾‾‾‾‾
* Full support for multi-user and network environments.
* Can be run reliably from a user "Limited Account".
* Improved user-interface appearance under Windows XP.
* Added new print engine with Print Preview tool.
* NoteTab Pro breaks line lengths limit.
* Improved Undo feature in NoteTab Pro.
* Improved opening files through the Windows Shell and Send To feature.
* Powerful new regexp engine based on PCRE (Perl 5 compatible).
* Clip-code additions and improvements.
* Added support for IntelliComplete Server (www.flashpeak.com).
* Fixed issue opening HTML documents in Firefox.
* Many other minor improvements and bug fixes.
* Revised license pricing.
* Updated documentation.
NoteTab v4.951 (released: 19 October 2005)
‾‾‾‾‾‾‾‾‾‾‾‾‾‾
* Updated documentation and Setup program.
NoteTab v4.95 (released: 22 May 2003)
‾‾‾‾‾‾‾‾‾‾‾‾‾
* Added optional News feature to inform you of NoteTab updates and other Fookes
Software news.
* Added Quiet option on Advanced tab in Options dialog box. Turns off most sound
s when enabled.
* Updated Help file.
* Several minor glitches fixed and other improvements.
NoteTab v4.92 (released: 14 January 2003)
‾‾‾‾‾‾‾‾‾‾‾‾‾
* Maintenance release (see changes under next main topic).
NoteTab v4.91 (released: 26 August 2002)
‾‾‾‾‾‾‾‾‾‾‾‾‾
* Maintenance release (see changes under next main topic).
NoteTab v4.9 (released: 10 June 2002)
‾‾‾‾‾‾‾‾‾‾‾‾
* Seamless support for UltimaShell Autocompletion Server (UAS).
* New Help files; Clip code now in separate file.
* Supports both WinHelp and HTML Help.
* Supports extended File Open/Save dialogs under Win2000/ME/XP.
* Improved handling of browsers.
* Customizable menu shortcuts (NoteTab Pro and Std).
* Now compatible with NTFS 5 Summary Information Properties.
* Improved Browse Folder dialog box.
* New Clip commands and functions.
* See details of changes under next section.
NoteTab v4.86c (released: 10 December 2001)
‾‾‾‾‾‾‾‾‾‾‾‾‾‾
* Supports Windows XP themes.
* Many minor improvements and bug fixes.
* New Setup program made through the Inno Setup package (http://www.jrsoftware.o
rg/).
* See details of changes under next section.
NoteTab v4.85 (released: 09 May 2001)
‾‾‾‾‾‾‾‾‾‾‾‾‾
* Maintenance release (see changes under next main topic).
NoteTab v4.84 (released: 09 February 2001)
‾‾‾‾‾‾‾‾‾‾‾‾‾
* Improved the regular expressions engine.
* Added support in NoteTab Pro and Std for WordWeb.
* Added CSS1 library and Clipbar.
* Added Clip functions to encrypt/decrypt your text and files.
* Added Clip commands and functions performing ROT13, CRC32, MD5, and UUEncode/U
UDecode operations.
* Minor improvements to the Clip language and bug fixes.
* See details of changes under next section.
NoteTab v4.83 (released: 26 October 2000)
‾‾‾‾‾‾‾‾‾‾‾‾‾
* Now runs on Macs using Virtual PC.
* Minor improvements to the Clip language and bug fixes.
* See details of changes under next section.
NoteTab v4.82 (released: 12 May 2000)
‾‾‾‾‾‾‾‾‾‾‾‾‾
* Powerful new engine for regular expressions.
* See details of changes under next section.
NoteTab v4.81 (released: 22 March 2000)
‾‾‾‾‾‾‾‾‾‾‾‾‾
* Maintenance release (see changes under next main topic).
NoteTab v4.8 (released: 14 February 2000)
‾‾‾‾‾‾‾‾‾‾‾‾
* NoteTab now integrates with HTML Tidy, TopStyle, and CSE HTML Validator.
* Added Clipbars to NoteTab Pro and Std: a special type of toolbar with buttons
that run Clips.
* NoteTab Light now supports the full Clip language.
* Added over 50 new commands and functions to the Clip language.
* Improved the HTML Clipbook libraries and added the HTML-1 and HTML-2 Clipbars.
* Option to generate HTML tags in uppercase, lowercase, or XHTML format.
* Menu command to convert selected HTML tags to uppercase, lowercase, or XHTML f
ormat.
* Added feature to enable previewing of Web pages, such as ASP and Cold Fusion,
through a local Web server.
* NoteTab Pro can now open files larger than 16 MB.
* Supports .png images (image size for HTML image tags).
* Significantly improved performance of Perl, Gawk, and other related Clip comma
nds.
* Improved support for WordStar commands.

Changes in Version 5.1


======================
* Added token for Header/Footer line separator on printed pages.
Use an underscore character ( _ ) at the start of the Header and/or Footer field
to insert a separator line on printed pages between the main document text and
the header/footer text.
* Added "Close All Other" command to documents tabbar shortcut menu.
* Added method to print only selected text.
Hold down the Shift key while you click on the Print or Print Preview command.
* Added /USER=FolderName command-line switch.
By default, NoteTab 5 stores per-user customization files under the Application
Data folder:
<SYSTEMDRIVE>\Documents and Settings\<user>\Application Data
Use the /USER switch to specify a different location for the NoteTab customizati
on files. This option is particularly useful if you work with sensitive data (po
int to a folder on an encrypted drive) or simply don't want to leave files behin
d on the computer you're using (point to a removable drive like a USB key). Exam
ple:
NotePro.exe /USER="E:\NoteTab Data"
* Only Template files with the .tpl extension are now interpreted.
Earlier versions of NoteTab checked all files for the template header, irrespect
ive of file extension. Some users felt this was a potential security issue and r
equested to limit this feature to files with the official template .tpl extensio
n.
* The Euro Clipbook was not part of the initial 5.0 package. Due to frequent req
uests, it is now included with NoteTab again.
* Updated the code for ^!DirectPrint Clip command to improve compatibility under
Windows XP and other NT versions.
* Clip lines starting with a command (^!CommandName) are now automatically strip
ped of trailing blank characters before execution. This eliminates unexpected Cl
ip errors due to stray blanks.
* Fixed slow loading of Clipbars.
* Fixed issue with modal dialogs sometimes ending up behind main NoteTab window,
notably when receiving focus from another application. When this happened, Note
Tab appeared to lock up.
* Fixed issue opening files with wildcards from the command line when an instanc
e of NoteTab is already running.
* Fixed issue with "Open File at Cursor" that failed to open files when used on
relative filenames.
* Fixed several reference errors in the Utilities Clipbar.
* Fixed issue loading Clipbooks and Clipbars that have dots in their name.
* Fixed minor issues in ^$StrCapitalize()$ and ^$StrSplit()$ Clip functions.
* Fixed an issue in NoteTab Std with the ^$GetLine$ Clip function which returned
an extra character at the end of the line.
* Fixed an issue in NoteTab Std with certain regex Replace All operations failin
g to work.
* Fixed an issue in NoteTab Std with the Undo command after a Replace All operat
ion.
* Fixed an issue in NoteTab Pro with the line-number ruler not repainting proper
ly after the program window is maximized/restored.
* Several other minor glitches fixed.
* Updated Glossary.otl file.
* Updated Help files.

Changes in Version 5.0


======================
* Added full support for running NoteTab under multi-user and network environmen
ts.
* Can be run reliably from a user "Limited Account".
* Improved user-interface appearance under Windows XP.
* Improved memory usage and processing speed.
* Improved conversion between HTML and plain-text format.
* Added new print engine with Print Preview tool.
* NoteTab Pro now supports line lengths up to a theoretical limit of 2 GB.
* Improved Undo feature in NoteTab Pro.
* Improved opening files through the Windows Shell and Send To feature.
* Replaced regex engine with a powerful new one that is based on PCRE (Perl 5 co
mpatible).
* All core libraries have been rewritten for improved reliability and compatibil
ity.
* Added support for IntelliComplete Server (www.flashpeak.com).
* Improved "Go to Hyperlink" function to support opening email addresses.
* Removed redundant info box with Replace dialog when no more occurrences found.
* Dot at start of filename is no longer treated as extension delimiter.
* Fixed issue opening documents with very long fully qualified filenames through
Windows Explorer.
* Fixed issue with folder being locked (can't rename or delete) after NoteTab op
ens a file from it.
* Fixed issue opening HTML documents in Firefox.
* Registered version succesfully tested under Wine.
* Many other minor improvements and bug fixes.
* Revised license pricing.
* Updated documentation.

Clip-code additions and improvements:


-------------------------------------
New predefined Clip variable:
^%DOLLAR% = Dollar character ($)
^!IfRegexOk Pattern GoToLabelTrue [ELSE GoToLabelFalse]
Jumps to the specified label if the regex pattern is valid. If the pattern has m
istakes and the optional ELSE keyword follows the first label name, execution ju
mps to the specified GoToLabelFalse label; or to the next instruction if the "EL
SE" label is not used.
^$GetRegexErrorMsg$
Returns the error text if the previous regex pattern contained mistakes. If ther
e was no error, the function returns an empty string.
^$GetDocMatchAll("Pattern"[;SubPatternId])$
Finds all matching strings based on the supplied regex pattern. Optionally speci
fy a subpattern value between 1 and 65536. Use the ^!SetListDelimiter command to
define how matches are separated in the resulting string.
Example that collects all URLs in a Web page:
^!Set %NewVariable%=^$GetDocMatchAll("(?s)<a.+?href\s*?=\s*?"(.*?)"";1)$
^$GetReSubStrings$
The above function is best used together with ^!SetArray. It extracts all Substr
ings from a regex search after using ^!Find. Use the ^!SetListDelimiter command
to define how matches are separated in the resulting string. Example:
^!SetArray %Array%=^$GetReSubStrings$
^$IsOnline$
Returns True if NoteTab detects a connection to the Internet.
^$GetDataPath$
Returns the folder where NoteTab stores user settings and data.
^$GetLibraryFileName$
Returns the fully qualified filename of the current Clipbook library.
^$GetLibraryUserPath$
Returns the folder where NoteTab stores user-modified libraries.
^$GetLibraryPath(LibraryName)$
Added support for optional parameter that causes the function to return the loca
tion of the specified library. The following example returns the location of the
current library:
^$GetLibraryPath(^$GetLibraryName$)$
^$StrSort supports two new values for the CaseSensitive parameter: ANSI to enfor
ce a case sensitive dictionary-type sorting order and No_ANSI (or False_ANSI) to
ignore character case during sorting. The ANSI option produces a sorting order
that matches the result from the Modify/Lines/Sort menu command. Note, however,
that sorting is much slower with the ANSI option.
^$IsNumber(Value)$ improved to support negative and decimal values.
^!Find and ^!Replace improved to support selection of regex subpatterns.
Syntax Changes from Previous Regex Engine
-----------------------------------------
There are significant differences compared to the previous regex syntax used in
earlier versions of NoteTab. The most notable ones are listed below:
\n for newline (hex 0A); before it was hex 0D 0A. Replace \n with \r\n
\l and \p - no longer used
\b and \B now zero width assertions of word boundary and non-word boundary (exce
pt in a character class where \b is now a backspace character); before they repr
esented blank and non-blank characters respectively
\s now means any whitespace character; before used for a space
Tagged Matches:
Replace { } with ( )
Replace tokens:
& no longer used; replace with $0
\1 to \9 meaning changed; replace with $1 to $9

Changes in Version 4.95


=======================
* Added optional News feature to inform you of NoteTab updates and other Fookes
Software news. This feature is available under the Help menu through the Check f
or Updates command.
* Added Quiet option on Advanced tab in Options dialog box. Turns off most sound
prompts when enabled.
* Used a new method for the "Use as Paste Board" feature.
* NoteTab Light/Std: the ^$GetParaCount$ Clip function usually missed a line. Th
is is now fixed.
* Recent versions of WordWeb were not always recognized. This is now fixed.
* Updated Help file.

Changes in Version 4.92


=======================
* NoteTab now checks Web documents to see if they declare UTF-8 character encodi
ng in their header. If the UTF-8 declaration is found, NoteTab takes care of aut
omatically converting characters from UTF-8 to ANSI on loading, and ANSI to UTF-
8 on saving. Note that characters which are not available in the current ANSI ch
aracter set are substituted by a question mark (?).
* The "Document to HTML" feature no longer converts extended characters to their
corresponding entities if the document is a UTF-8 Web file.
* Starting with NetCaptor 7.02, NoteTab can open Web documents in the same brows
er page when the option is invoked.
* Updated the HTML Clipbook library.
* Wrap to Column in NoteTab Light and Std produced lines that were one character
too short. This is now fixed.
* NoteTab Pro: URL protocol names with numbers are now correctly highlighted. E.
g.: ed2k:// (eDonkey2000 protocol).
* Other minor changes and fixes.

Changes in Version 4.91


=======================
* Checkbox controls now support a "+" key press to set a check mark and "-" to u
ncheck it. This is useful for controlling settings through keyboard utilities.
* Updated the Clip Assistant with a new item for the "Menu" command, kindly offe
red by Sheri Pierce.
* Updated the Help files; ClipCode.chm now uses bookmarked items.
* Fixed an issue in v4.9 where &nbsp; substituting blank characters in indented
lines when converting from text to HTML.
* Fixed an issue in v4.9 when using the "View in browser" command with documents
on a network drive using the UNC format (eg: \\network\web\filename.html).
* Fixed an issue in v4.9 that resulted in some extra random characters getting a
dded at the end of documents when they were saved to certain types of network dr
ives.
* Fixed a bug that caused loss of data or corruption when saving UTF-8 documents
.
* Other minor changes and fixes.

Changes in Version 4.9


======================
* NoteTab now works seamlessly with UltimaShell Autocompletion Server (UAS) from
FlashPeak. This excellent utility provides smart autocompletion and can learn n
ew words as you type away. It's easy to use and can save a lot of time. A free v
ersion of UAS is available to NoteTab users from here:
http://www.notetab.com/uas.htm
* The Help file has been split into two documents -- the main Help and Clip prog
ramming Help. The index for Clip syntax has been completed and URLs are now clic
kable.
* NoteTab now supports for both WinHelp and HTML Help. If it finds the *.chm HTM
L Help files in its folder, NoteTab uses them instead of the traditional WinHelp
files (.hlp).
* Under Windows 2000, ME, and XP, NoteTab now uses the extended File Open/Save d
ialogs with the "places" bar.
* Now integrates a new method for launching Web browsers. It should work better
than in previous versions. See Help topic "Options | Internet" for details.
* You can now change the default keyboard shortcuts for menu items by creating a
definition file called Shortcuts.dat in the NoteTab program folder. Place one s
hortcut reassignment per line. Start the line with the shortcut value, followed
by a space, followed by the menu item. The first menu name in the sequence is th
e one that appears at the top of the main menu, followed by submenu names (if an
y), and then the name of the final menu item to activate. You must separate subm
enu items with a forward slash and leave out any ellipsis. You should put double
quotes around a menu name if it contains one or more forward slash characters.
The case of characters does not have to be the same as the actual menu commands.
You can comment out shortcuts by putting a semicolon at the start of the line. N
ote that this feature is not available in NoteTab Light. Contents example for th
e Shortcuts.dat file:
;This line starts with a semicolon and is ignored by NoteTab
Ctrl+Shift+F Document/Font/Change Font
Ctrl+T Document/"Insert Date/Time"
* During the conversion from text to HTML, multiple spaces are now preserved wit
h the &nbsp; entity.
* When saving files on NTFS 5 drives, Summary Information Properties are now pre
served when the backups setting is enabled.
* The Browse Folder dialog box used in various parts of NoteTab has been improve
d.
* Added five new Clip functions:
^$StrIndent("Str";IndentSize)$
Returns the Str value with each line indented by IndentSize number of blank char
acters.
^$StrAlign("Str";TextWidth;Alignment[;Pad=False])$
This function aligns the Str value within a space specified by TextWidth. Alignm
ent values can be Left, Right, or Center. If the Pad parameter is used, a True v
alue adds blank spaces on the right side of Str (if necessary). Examples:
^$StrAlign("Test";10;Right)$ -> " Test"
^$StrAlign("Test";10;Center;True)$ -> " Test "
^$StrAnsiToOem("Str")$
Returns Str based on ANSI-defined character set converted to OEM.
^$StrOemToAnsi("Str")$
Returns Str based on OEM-defined character set converted to ANSI.
^$GetShellFolder(SystemFolder)$
Returns the path to the specified folder type "SystemFolder". The folder name al
ways ends with a backslash. See below for SystemFolder values and an example of
a corresponding path (under Windows 98).
Desktop --> C:\WINDOWS\Desktop\
Templates --> C:\WINDOWS\ShellNew\
AppData --> C:\WINDOWS\Application Data\
Start Menu --> C:\WINDOWS\Start Menu\
Programs --> C:\WINDOWS\Start Menu\Programs\
Startup --> C:\WINDOWS\Start Menu\Programs\StartUp\
Fonts --> C:\WINDOWS\Fonts\
SendTo --> C:\WINDOWS\SendTo\
Recent --> C:\WINDOWS\Recent\
Favorites --> C:\WINDOWS\Favorites\
NetHood --> C:\WINDOWS\NetHood\
Personal --> C:\WINDOWS\My Documents\
Cache --> C:\WINDOWS\Temporary Internet Files\
Cookies --> C:\WINDOWS\Cookies\
History --> C:\WINDOWS\History\
PrintHood --> C:\WINDOWS\PrintHood\
Local AppData --> C:\WINDOWS\Local Settings\Application Data\
My Pictures --> C:\WINDOWS\My Documents\My Pictures\
Administrative Tools -->
C:\WINDOWS\Start Menu\Programs\Administrative Tools\
^$ExpandEnv("Str")$
This function expands environment-variable strings and replaces them with their
defined values. Example (under Windows XP):
^$ExpandEnv("%systemroot%")$ -> "C:\WINDOWS"
Predefined system variables:
ComputerName
ComSpec
HomeDrive
HomePath
HomeShare
LogonServer
Number_Of_Procesors
OS
Os2LibPath
Path
PathExt
Processor_Architecture
Processor_Identifier
Processor_Level
Processor_Revision
Prompt
SystemDrive
SystemRoot
UserDomain
UserName
UserProfile
WinDir
* Added ^!Menu command to the Clip language. Use it to activate any enabled comm
and from the main program menu. The first menu name in the sequence is the one t
hat appears at the top of the main menu, followed by submenu names (if any), and
then the name of the final menu item to activate. You must separate submenu ite
ms with a forward slash and leave out any ellipsis. You should put double quotes
around a menu name if it contains one or more forward slash characters. The cas
e of characters does not have to be the same as the actual menu commands. The fo
llowing example opens the Font dialog box for the active document:
^!MENU Document/Font/Change Font
The example below inserts the date and time from the menu command (notice the us
e of double quotes):
^!MENU Document/"Insert Date/Time"
* Added ^!SetShortcut command to the Clip language. You can use it to temporaril
y change keyboard shortcuts for menu items. It takes two parameters, which are s
eparated by a space character. The first parameter represents the shortcut value
and the second represents the menu item. Note that this command is not availabl
e in NoteTab Light. Examples:
^!SetShortcut Ctrl+Shift+F Document/Font/Change Font
^!SetShortcut Ctrl+T Document/"Insert Date/Time"
* Added ^!InsertSelect command to the Clip language. It works just like ^!Insert
Text but it also selects the inserted text.
* Added the new pre-defined Clip variable ^%AR_WORD%, which contains the Auto-re
place text.
* The Clip command "^!Select Filename" has been updated to work with long filena
mes.
* Improved the ^!Url command with an options parameter to specify a browser simi
lar to the method available in the Options dialog box for the browser fields on
the Internet tab. Syntax:
^!Url [Browser command] <url>
The following example will open the URL in Internet Explorer:
^!Url [IExplore] www.fookes.com
or in Mozilla (if you have the browser installed):
^!Url [Mozilla] www.fookes.com
* Fixed an issue with the ^!SaveValue command, which always placed quotes around
values. This resulted in numerical and Boolean values being read incorrectly wh
en applied to NoteTab's .ini file settings.
* Under Windows 2000 and XP, NoteTab Light and Std were often unable to undo cer
tain kinds of edit changes. This has been fixed.
* Fixed several issues in the RegEx engine.
* Closing a modified document that is locked by another application displayed an
error message, but did not give the opportunity to retry or cancel closing. Thi
s is now fixed.
* Under Windows NT/2000/XP, NoteTab could not save over libraries that had the H
idden attribute set. This has been fixed.
* Recent versions of NoteTab failed to load binary files that started with a seq
uence of null characters. This is now fixed.
* Fixed access violation error when opening UTF-8 files.
* Fixed a minor issue with incorrect line break character sometimes generated wh
en opening Unicode files.
* Other minor changes.

Changes in Version 4.86c


========================
* You can now close document tabs by clicking on them with the middle mouse butt
on or the mouse wheel (like in Netcaptor).
* The "Open File at Cursor" command (F7) now also works with most fully qualifie
d filenames that contain spaces. Example:
C:\Program Files\Accessories\pppmenu.scp
* NoteTab Pro: Added two WordStar commands: Ctrl+N (<Return>+<Left>) and Ctrl+U
(Undo)
* Added "Restore Default HTML Editor" to the Utilities library.
* Added support for a logical zero function in the mathematical expressions pars
er. Use lzero(x) to return 1 if x=0 and 0 if x<>0.
* Added support for Windows XP themes through a manifest file.
* NoteTab Pro: Added option to highlight a word with or without trailing spaces
when double-clicking to select. Hold the Alt key down while double clicking to c
hange the selection method. The setting is remembered between NoteTab sessions.
* Changed settings for some of the default options -- only noticeable on a clean
install.
* Added ^$StrUrlDecode("Text")$ function to convert URL strings and form Mailto
data to plain text. Example:
^$StrUrlDecode("C%3A%5CProgram%20Files%5CReadme%2Etxt")$ --> C:\Program Files\Re
adme.txt
* Fixed several glitches in the regex engine.
* Under Windows 2000 and XP, the program window sometimes failed to come to the
front when invoked. This has been fixed.
* NoteTab Pro: Fixed incorrect behavior of the vertical scroll bar when lines ex
ceeded 32K.
* NoteTab Pro: Fixed display issue with line ruler when second document window i
s displayed.
* NoteTab Pro: Fixed a minor issue with URL highlighting when the "Show Nonprint
ing" option is set.
* Fixed an issue that caused some URLs to be incorrectly invoked through the Web
browser.
* Saving files to a remote disk or any other slow target sometimes generated a "
file not correctly saved to disk" error message. This has been fixed.
* Under Windows 2000 and XP, NoteTab failed to save over a file that had the Hid
den attribute set. This has been fixed.
* Fixed minor problem with disabled "Save Now" command in Clipbook shortcut menu
. It was always disabled when the Clip editor was open and only the current Clip
has been modified.
* Fixed "Please remove the file's Read-Only attribute" error message when saving
new Clipbook Libraries.
* Fixed an issue with the ^$StrSort()$ Clip function. If the criteria did not co
ntain line breaks, the function would return an empty string when RemoveDuplicat
es = False.
* Fixed incorrect rendering of link character case generated through the HTML-ta
g Clip-wizard field.
* Fixed an issue affecting FarClips and Clips invoked from Clipbar. The Clip par
ser failed to convert ^!Clip to ^!FarClip when the command appeared immediately
following a conditional statement. Example of statement that would fail if invok
ed as a FarClip:
^!IfTrue ^$IsEmpty("^%Computer%")$ ^!Clip "FTP server setup"
* Other minor changes.
Changes in Version 4.86
=======================
* Unicode files are now automatically detected on loading and converted to ANSI
for display in the editor. Note that the process will not convert characters cor
rectly if they are not available in the current ANSI character set. By default,
Unicode files are opened in Read-Only mode. See the "Protect Unicode Files" sett
ing described below.
* New "Protect Unicode Files" setting on the General tab of the Options dialog.
When NoteTab opens Unicode files, it has to convert them to the ANSI character s
et, which contains much fewer characters. As a result, the conversion process ma
y drop non-ANSI and cause the loss of information. When this setting is checked,
Unicode files are opened in Read-Only mode, which protects the file from change
s. If you know that your Unicode documents will not loose important information
during the conversion process, you can uncheck this option in order to open such
files in editable mode.
* File Security attributes should now be correctly preserved when a file is save
d with backups enabled.
* The "Help/Replace MS Notepad" menu command is now available under Windows 2000
and XP.
* New command-line parameter "/DDE=True or False" to switch off or re-enable DDE
communication with Internet Explorer, Netscape, and Opera browsers. This is use
ful on some faulty Windows ME systems that hang when DDE is used.
* Search Disk now automatically save matches in Favorites file "Search Disk.fvr"
, so the files can easily be opened at any time until the next search.
* Incremental Clipbook backups using the tilde are now automatically hidden to a
void their appearing in the Clipbook bar.
* When searching through subdirectories, directories with the hidden, read-only,
or system attributes were skipped. This is now fixed.
* Page scrolling now works correctly when mouse wheel is set to scroll one "scre
en" at a time.
* Fixed a glitch in the regex engine. A replace operation would sometimes fail i
f the search pattern ended with the $ token.
* Fixed a glitch in Join Lines command that failed to join lines containing a si
ngle character.
* Fixed a glitch in the Strip HTML command that failed to produce a blank line w
hen encountering a double line break <br><br>.
* Fixed a glitch in the Clip command "^!Select nnn", which failed to work proper
ly if the range reached a non-empty last line.
* Fixed a glitch in the "Ordered List" and "Unordered list" clips from the HTML
Clipbook library.

Changes in Version 4.85


=======================
* Some browsers opened up two windows when launched through the "View in Browser
" command. Fixed.
* Custom colors set in the color dialog boxes are now correctly restored between
sessions.
* Fixed a problem in the Modify/Change HTML Tags command that could mess up tags
ending in a percentage value; like <TD ALIGN=center WIDTH=40%>
* The File Open/Save dialogs can now be stretched if your version of Windows sup
ports this feature.
* The "Create Uppercase Tags" setting on the HTML tab of the Options dialog box
now supports three states. When checked, tags are converted to uppercase. When u
nchecked, they are converted to lowercase. When grayed, case is not modified (us
eful when dealing with XML files).
* The StrRandom has been updated to let you optionally define which characters a
re used in the random string that is generated. Syntax: ^$StrRandom(Size[;Charac
ters])$
"Characters" represents a string of characters that the function should use. You
can define ranges by using "..". For example, A..Z represents all the uppercase
letters of the Roman alphabet; A..Za..z0..1 represents all digits and letters o
f the Roman alphabet. Function example:
^$StrRandom(10;A..F0..9)$ --> D744E70176
* Holding Ctrl key down while launching NoteTab _no longer_ resets the .ini file
. This feature caused too many problems, so it has been removed.
* Clip labels are no longer affected by trailing spaces.
* Fixed a printing problem when long lines that need wrapping don't contain a ch
aracter to mark a split position.
* Fixed a problem in the mathematical expression parser's way of handling unary
minus/plus signs. The following will now work correctly: ^$Calc(-2-2)$ and ^$Cal
c(+2+2)$
* Other minor changes.

Changes in Version 4.84


=======================
* Added support in NoteTab Pro and Std (registered versions only) for WordWeb, b
y Antony Lewis. If NoteTab detects the WordWeb DLL, then it will display the Wor
dWeb dialog box when you invoke the Thesaurus from NoteTab's menu and toolbar. W
ordWeb is a powerful freeware thesaurus/dictionary for Windows. You can read mor
e about it and download a copy from the following Web site http://www.wordweb.co
.uk/
* Added support for Cascading Style Sheets through the CSS1 Clipbook library and
Clipbar.
* NoteTab can now be started even if it does not find the efomacro.dll file. If
NoteTab does not find it, Clips using the ^!Keyboard, ^!PasteBack, and ^!TypeBac
k commands will not work.
* The "Launch Document" command will now try to open the current document in its
associated program when no criteria are specified in the Custom Launch setting.
* Fixed print range setting being ignored when multiple pages are printed.
* Numbers containing a comma (e.g. 1,000,000) are no longer split in word wrappe
d printed output.
* RegEx replacements now work on lines longer than 1024 characters. Maximum line
length supported is now 32 KB.
* Fixed problem in regular expressions using tagged matches higher than "\1" in
a replace operation, which did not work.
* Fixed crash that could occur under Windows ME when Web browser was launched fr
om NoteTab.
* Fixed problem that caused NoteTab to fail to recognize some networked printers
.
* Relative file names (like "../index.html" and "..\units\foo.pas") now supporte
d by the "Tools|Open File at Cursor" and Tools|Open Link" menu commands.
* Fixed bad folder constructions when invoking the disk browser from the Quick L
ist combobox. Example:
C:\Program Files\NoteTab Pro\*.txt\*.*
* Fixed Count feature, which skipped read-only documents when it iterated throug
h the tabs.
* Fixed protection problem on NT and Win2000, which did not allow saving a file
with the Hidden attribute set.

Clip Language:
.............
* Added ^!SetCode command for assigning values to a variable without interpretin
g ^?{} prompts and Clip tokens like ^P, ^T, ^&, ^#, etc. Variables and functions
are evaluated normally.
^!SetCode %VariableName%=Value
* Added ^!InsertCode command for inserting values into the current document with
out interpreting ^?{} prompts and Clip tokens like ^P, ^T, ^&, ^#, etc. Variable
s and functions are evaluated normally. This command is very useful when treatin
g UUEncoded text, which may contain character sequences that imitate such tokens
.
^!InsertCode Text
* Added ^$StrROT13("Text")$ function to perform a ROT13 operation on the specifi
ed text.
* Added ^$StrEncrypt("Text";[Key])$ and ^$StrDecrypt("Text";[Key])$ functions, w
hich provide stronger text encryption than ROT13. Use the optional "Key" paramet
er to define an encryption password (max. 255 characters). Make sure you don't f
orget the key you used with this function, otherwise you may never be able to re
trieve your encrypted text. Note that although the encryption algorithm is very
good, there is no guarantee that it can't be cracked. You should not rely on thi
s feature to protect very sensitive data. Example:
^$StrEncrypt("^$GetSelection$";"^?[key=My secret password]")$
* Added Clip functions ^$GetCrcText("Text")$ and ^$GetCrcFile("Filename")$. Use
these to calculate the CRC32 (cyclic redundancy check) of text and files respect
ively. Example:
^$GetCrcFile(^$GetAppFileName$)$
* Added Clip functions ^$GetMD5Text("Text")$ and ^$GetMD5File("Filename")$. Use
these to calculate the MD5 signature of text and files respectively. The result
is produced in hexadecimal format. MD5 is a hashing algorithm that generates a d
igital signature, or Message Digest, representing the supplied data. The MD5 alg
orithm was produced by RSA Data Security Inc. Example:
^$GetMD5File(^$GetAppFileName$)$
* Added ^$StrUUEncode("Text")$ and ^$StrUUDecode("Text")$ functions, to encode t
ext to 7-bit UUEncode format and decode it back respectively. This encoding form
at is frequently used to send 8-bit data through transmission media (email, for
example) supporting only 7-bit data. These new Clip functions are useful if you
want to send encrypted text by email. Example:
^$StrUUEncode("^$StrEncrypt("^$GetText$";)$")$
^$StrDecrypt("^$StrUUDecode("^$GetText$";)$")$
Important note: UUencoded text may contain characters that the Clip parser inter
prets as tokens, like ^p and ^&. As a result, you should use the ^!SetCode comma
nd to assign such data to a variable and ^!InsertCode to paste the result of ^$S
trUUEncode("Text")$ into a document. See the example in the Utilities library.
* Added UUEncode and UUDecode Clip commands:
^!UUEncode "InputName"[ "OutputName"]
InputName is the file to encode. Use the optional OutputName to define the name
of the UUEncoded data file. If you don't specify an output name, the name will b
e based on InputName with the extension ".uue".
^!UUDecode "InputName"[ "OutputName"]
InputName is the file to decode. Use the optional OutputName to define the name
of the UUEncoded data file. If you don't specify an output name, the name stored
in the encoded file will be used.
* Added encryption/decryption command for files:
^!FileScramble "InputName"[ "OutputName"[ "Key"]]
This command can automatically detect if the file needs encrypting or decrypting
. InputName is the file to encrypt or decrypt. Use the optional OutputName to de
fine the name of the file created by the operation. If the file is going to be e
ncrypted and you don't specify an output name, the name will be based on InputNa
me with the extension ".npw". If the file is going to be decrypted and you don't
specify an output name, the original file name will be used. Use the optional "
Key" parameter to define an encryption password (max. 255 characters). Make sure
you don't forget your password, or you will not be able to restore your encrypt
ed data.
The encryption algorithm is based on RC4 ("RC4" is a trademark of RSA security c
orporation). You should not rely on this feature to protect very sensitive data.

* Added ^$ChangeFileExt("FileName";"Ext")$
Use this function to create a new file name based on the provided extension. Exa
mple:
^$ChangeFileExt("c:\config.sys";"bak")$ = c:\config.bak
* Added ^$StrRandom(Size)$ to create strings of random characters of the specifi
ed length. Example:
^$StrRandom(6)$ = È$q3åî
* The ^$GetDocIndex(Name)$ now returns the index number of the specified documen
t, as indicated in the Help file.
* Improved ^$HexToInt(Value)$ and ^$IntToHex(Value)$ to handle larger values.
* Fixed ^!MoveFile command "losing" files when the destination folder does not e
xist.
* Fixed last character of parameter being truncated by ^!Shell command.

Changes in Version 4.83


=======================
* The program executable file is no longer compressed. The advantage of this is
that you will be able to run NoteTab on Macs using Virtual PC. You are also less
likely to encounter problems with anti-virus programs.
* When you double click on a word, NoteTab Pro selects the word as well as any w
hite spaces after it. If you don't want the white spaces to be selected, you can
now hold down the Alt key when you double click.
* Text that does not fit in a listbox (e.g. Clipbook window) will now be display
ed in a popup tip when the mouse cursor is over it
* Added "Help on Clip Programming" under Help menu. This command displays the ta
ble of contents on the topic of Clip programming.
* NoteTab Pro: all "Replace All" operations can now be undone in a single operat
ion.
* Implemented a protection against stray keystroke messages generated by some fa
ulty keyboards (notably from Compaq). Stray keystroke messages could cause the C
lose Document command to be activated.
* Hyperlinks with relative paths to filenames now work. Example: [workdata\clien
t3\important.otl::meetings]
* The "Open File at Cursor" command now also works when a filename uses a relati
ve path.
* Templates with Clip code now set the "modified" state of documents they create
(if text is produced).
* Strip HTML Tags command now recognized the &apos; entity.
* The "Change HTML Tags commands now work correctly with Web pages using Server
Side Include (SSI) commands.
* The "More..." button displayed in long Clipbar menus now works correctly. It o
pens a dialog box with a combobox control, which lists all available Clipbars.
* Fixed a glitch in the Modify|Block|Sum menu command.
* Fixed bug causing NoteTab to crash when doing a regex Replace All operation wi
th $ as the "Find What" criteria.
* Fixed an incompatibility problem between the File|Send command and Outlook Exp
ress 5.
* Fixed glitch that caused tabs to be replaced by spaces when using the "Strip H
TML Tags" command on tables.
* Fixed RegEx option in Find and Replace dialog box when criteria contains NoteT
ab tokens (e.g. ^C)
* Fixed Quick List/Disk Files update problem when Save As command is used
* Fixed "Strip HTML Tags" glitch when text contains consecutive <br> tags
* Fixed a problem with the "Evaluate Expression" command which caused the follow
ing truncated results:
10^39 = 1.0E+003
10^40 = 1.0E+004
Now, the result is correctly formed as:
10^39 = 1.0E+0039
10^40 = 1.0E+0040
* Attempted to improve the behavior when launching NoteTab through the MS-Explor
er Open command with multiple files selected.
* "Rename" command from Tab bar no longer accepts invalid file name characters
* Favorites "Open All" command now respect order of files in list
* Ctrl+C now makes sound if Office Sounds are enabled
* NoteTab Light/Std: Insert/Overwrite status information is less likely to becom
e out-of-sync.
* NoteTab Light/Std: text now stays selected after a Replace All operation is ap
plied on a selection.
* NoteTab Light/Std: regex tagged matches with Replace criteria should now work
as in NoteTab Pro.

Clip Language:
.............
* Added Clip function ^$StrToHtml("Str"[;ConvertLineBreaks[;ConvertEntities]])$,
to convert plain text to HTML format. "Str" represents the text you want to con
vert. Use False for ConvertEntities if you don't want special characters (e.g. ©)
to be converted to HTML entities (e.g. &copy;); the default value when omitted i
s True. Use False for ConvertLineBreaks if you don't want <p> and <br> tags to b
e inserted at line breaks in the text; the default value when omitted is True.
* Changed the behavior of the ^$GetFiles([+]FilePath;FileSpecs[;Attr][;SortingOr
der])$ and ^$GetFileFirst([+]FilePath;FileSpecs[;Attr][;SortingOrder])$ Clip fun
ctions. When the Attr field is used, only files that use the specified attribute
s are selected. To select files that have no attribute settings, use "-" as a va
lue for Attr. You can also span through subdirectories by adding a + sign in fro
nt of the FilePath criteria. The following example will select all files under W
indows and its subdirectories, that have the System attribute set:
^$GetFiles("+C:\Windows";*.*;S;Name)$
* The registry-related Clip functions and commands (GetRegValue, SaveRegValue, C
learRegValue) look for a colon (:) as the delimiter between the key and name par
ts. Unfortunately, there are situations where a colon character needs to be used
in the name part, and this causes malformed key and name values. In this situat
ion, you can now use a double colon (::) to indicate where the name value starts
.
* Fixed a bug in the ^$GetValue(...)$ function, which removed quotes surrounding
values.
* Fixed problems in the ^!Find and ^!Replace Clip commands when used with the Re
gular Expression option.
* Fixed quote problem with ^!Open command: ^!Open "^?{(T=O;S=M)Browse to file(s)
to open}"
* Fixed a problem with the GetRelativeName Clip function when only the FileName
parameter is specified and quotes are used around it.
* NoteTab Light/Std: fixed ^!SelectTo, which can now be used to select text back
wards.

Changes in Version 4.82


=======================
* New engine for regular expressions. More powerful and adds support for regex c
riteria in replace field. See Help file for details.
* Added "Close to System Tray" option on General tab. This lets you configure wh
ether closing NoteTab minimizes the program to the System Tray or not when its i
con is displayed there.
* Added "Hidden Files" option in Search Disk dialog box. When set, the command w
ill also search through hidden files.
* The header used in template files can now specify Clip directory functions to
represent special path names (e.g. ^$GetScriptPath$, ^$GetTmpPath$). Example tak
en from FTP.tpl:
= DocTemplate ClipCode "^$GetScriptPath$FTP%0.3d.scr"
* New FTP.clb library. Requires the Windows FTP.exe program.
* New FTP.tpl template file for creating FTP.exe scripts.
* Console applications run by NoteTab can be interrupted with the Ctrl+Alt key c
ombination while NoteTab is receiving/waiting for data.
* Replace All operations applied to selected text now leave the updated text sel
ected.
* Fixed errors in several library files and documentation.
* Fixed MAPI address formatting bug that was accidentally reintroduced in final
release of 4.81.
* Fixed incorrect error message claiming a directory does not exist when saving
a file with a UNC name (e.g. \\RemoteDisk\Text\).
* Fixed minor bug in Match Brackets command.
* Fixed minor problem with Print dialog box not recognizing Print Range setting
under certain situations.
* Other minor fixes.

Clip Language:
.............
* New Clip functions:
^!Shell
Launches the specified file, program, or URL through the Windows shell. Proposed
as a replacement for the default ^! launch method. Example: instead of using "^
!WordPad c:\autoexec.bat", use "^!Shell WordPad c:\autoexec.bat"
^!ShellWait
Similar to the ^!Shell command, but waits until the launched program is terminat
ed before moving to the next Clip instruction. Unlike the ^!Wait command, you ca
n continue editing files in NoteTab while the application is running. Example:
^!ShellWait WordPad c:\autoexec.bat
^$StrDeleteLeft("Str";Amount)$
Similar to ^$StrDelete()$ but deletes the text from the start of the specified s
tring.
^$StrDeleteRight("Str";Amount)$
Similar to ^$StrDelete()$ but deletes the text from the end of the specified str
ing.
^$StrCopyLeft("Str";Amount)$
Similar to ^$StrCopy()$ but copies the substring from the start of the specified
string.
^$IsWildcard("FileName")$
Returns 1 if FileName contains one or more wildcard characters (* and ?), and 0
if it does not.
^$GetSysProgPath$
Returns the path containing system programs like MS-Notepad and FTP.exe.
^$StrStripHTML("Str";PreserveURLs)$
Returns a copy of Str with all HTML tags removed. PreserveURLs is either True or
False, and determines if URLs are preserved or not.
^!TextToUnicodeFile "FileName" AnyText
Saves the specified text to FileName in the Unicode format using the current Win
dows code page.
^!AppendTextToUnicodeFile "FileName" AnyText
Appends the specified text to the end of a disk file in Unicode format using the
current Windows code page. A new file is created if FileName does not exist.
^$GetUnicodeFileText("FileName")$
Reads Unicode text from FileName and returns it as normal text based on the curr
ent Windows code page.
* Clips with multiple "^&" are better handled.
* Fixed incorrect behavior when pasting Clip text beginning with a line break wh
en the "Indent on Paste" option is set. Now indents a whole selection when place
holder is also indented. Example:
^!InsertHtml <p>^P ^&^P</p>
Applied on the following three lines:
Line1
Line2
Line3
will now indent all the lines in the selection, instead of just the first one.
<p>
Line1
Line2
Line3
</p>
* Clip shell commands did not respect the ^!ChDir setting. Fixed.
* ^$GetWord$, ^$GetBlock$, and ^$GetQuoteBlock$ now return the whole item even w
hen it is wrapped.
* Fixed a bug that caused the ^%AR_KEY% to always return an empty value.
* Fixed problem with ^!SetScreenUpdate not working within sub-Clips (those run w
ith the ^!Clip command).
* Fixed ^$GetColScreen$ when text is selected.
* Fixed ^!MoveFile which caused target directory file to end up in recycle bin i
f original did not exist.
* Fixed ^!SetFocus Frame1

Changes in Version 4.81


=======================
* New favorites feature: Precede the path name with a + character to also open a
ll matching files contained in subdirectories. Example:
+C:\Program Files\Web\*.htm*
* Dialogs are now centered with respect to the NoteTab window rather than the sc
reen.
* You can now open the Glossary.otl file from the Help menu.
* Updated some of the libraries and the HTML template.
* The single HTML Clipbar is now replaced by two new ones: HTML-1 and HTML-2 (th
e last button makes it easy to switch between the two).
* Custom colors are now remembered between NoteTab sessions.
* Sometimes NoteTab did not correctly detect when a file was updated by another
application. Fixed.
* When NoteTab receives the focus from another application, it now also checks i
f the current library in the Clipbook needs updating.
* Join Lines (Ctrl+J) works again when only a single paragraph is selected. It i
gnores the last blank line, if included in selection.
* Closing the Clip editor now prompts to save changes, as when closing other doc
uments.
* Opening e-mail addresses now uses MAPI rather than going through the default b
rowser (if MAPI is enabled).
* Ctrl+Left/Right arrows will now also place the cursor between tags: >|<.
* The /P command-line parameter now works again.
* Fixed several minor errors in the implementation of the XHTML features.
* Fixed problem with Intellimouse wheel in NoteTab Pro causing lines to scroll o
nly one line at a time under certain conditions.
* NoteTab no longer locks up when a save operation fails and the error dialog is
not closed before moving the focus to another application.
* Other minor changes and fixes.

Clip Language:
--------------
^!SetHtmlFormat [UPPERCASE|LOWERCASE|XHTML]
Sets the default format of HTML tags created by the ^!InsertHtml and ^!InsertWiz
ardHtml, as well as other related HTML commands.
^$GetHtmlFormat$
Returns the default format used for creating HTML tags. Possible values are: Upp
ercase, Lowercase, XHTML.
^$GetClipVersion$
Since version 4.801, this function returns the actual NoteTab release version as
an integer. For example, in version 4.801, ^$GetClipVersion$ returns 4801.
* Fixed Clip command ^!AppendToFile so that it accepts text ending with blank li
nes.
* Custom Clip function names can now be shorter than 5 characters.

Changes in Version 4.8


======================
* Added Clipbars to NoteTab Pro and Std: a special type of toolbar with buttons
that run Clips. Users can "attach" their own scripts to this toolbar, as well as
use their own icons for the buttons. Several Clipbars are provided with NoteTab
, including a couple of handy ones for HTML editing. Clipbars can be opened thro
ugh the View|Clipbar submenu. See Help for more information.
* NoteTab Light now supports the full Clip language. It can now run the same lib
raries as NoteTab Pro and NoteTab Std.
* NoteTab supports HTML Tidy -- a free utility that cleans HTML code and fixes e
rrors. Once it is installed, you can invoke it through the "Tools|Tidy HTML Code
" menu command. HTML Tidy accepts a variety of switches to control the way it pr
ocesses HTML tags. NoteTab will try to determine the best switches based on the
active document type and the HTML Tag option settings. If you want more control
over the settings, you can create a configuration file for Tidy, which you shoul
d save in the NoteTab folder with the name Tidy.cfg (see the program's instructi
ons for details). You can learn more about HTML Tidy and download the latest ver
sion by visiting the following Web page:
http://www.w3.org/People/Raggett/tidy/
The easiest setup is to copy the Tidy.exe program file to the NoteTab folder, bu
t you may place it anywhere else if you prefer.
* NoteTab supports CSE HTML Validator Pro (v2.00A and higher) -- a program for c
hecking HTML syntax errors. If the program is correctly installed, you will see
a new command under the Tools menu called "Validate HTML". When you click on thi
s command, it will send the current document text to CSE HTML Validator. Once th
e checking is completed, NoteTab will create a Clipbook library containing all t
he messages produced by the CSE program. Executing the Clips in the library will
select the offending line and display the corresponding error message. Note tha
t you should avoid removing or adding lines while correcting errors so that the
line numbers referenced by the Clips remain valid. You can learn more about CSE
HTML Validator and download the latest version by visiting the following Web pag
e:
http://www.htmlvalidator.com/
* The "Modify|Document to HTML" menu commands now use the <p></p> pair of tags i
nstead of the single <p> used to mark paragraph breaks. This conforms to the lat
est standards for HTML coding.
* Added menu commands to convert HTML tags to Uppercase/Lowercase/XHTML. See sub
menu "Modify|Change HTML Tags".
* Added settings in Options dialog box to control the format of HTML tags genera
ted by NoteTab. See Options tab labeled "HTML Files". The setting "Create XHTML
Tags" produces tags based on the W3C recommendations for XHTML. The setting "Cre
ate Uppercase Tags" produces tags with element and attribute names in upper case
.
* Added new options to enable previewing of Web pages, such as ASP and Cold Fusi
on, through a local Web server (e.g. MS Personal Web Server). See Options tab la
beled "HTML Files". The relevant fields are "Server Name" (e.g. localhost) and "
Physical Path" (e.g. c:\inetpub\wwwroot\html). When these fields are set, any fi
le under the Physical Path will be displayed through the local Web server. Based
on the example values, the following file name:
c:\inetpub\wwwroot\html\index.asp
is converted to:
http://localhost/index.asp
when sent for previewing to the browser.
* Can now preserve case of file names by holding down the Ctrl key when inserted
in HTML documents (e.g. drag-and-drop from file list).
* Added menu command "File|Template|New" to create new templates.
* Template headers now accept the ^$GetDate()$ function in order to use the curr
ent date in the file name. Example:
= DocTemplate ClipCode "Notes-^$GetDate(yyyymmdd)$-%0.3d.txt"
* Added "Document|Disk File Properties" menu command. Shows the Windows "File Pr
operties" dialog box for the current document.
* The "Help|Replace MS Notepad" menu command is no longer displayed under Window
s 2000 (and higher). Windows 2000 does not allow substituting MS Notepad with an
other program.
* Clicking on the More button in the text statistics dialog box now also provide
s a count of punctuation characters.
* Improved support for WordStar commands.
* Library files with the hidden attribute set are no longer displayed in the Lib
rary Bar.
* New shortcut command for System Tray icon to enable/disable the Paste Board (a
document set to collect all text sent to the Clipboard). Useful when NoteTab is
minimized in System Tray.
* Two new command-line parameters:
+ 1) NoteTab /L=LibraryName:RunClip
Opens the library and automatically runs the specified Clip. Example:
NoteTab /L=Utilities:Calculator
+ 2) NoteTab /INST=InstanceID
Opens a new instance of NoteTab (even if multiple instances is disabled) or acti
vates the instance matching the InstanceID text. Use quotes around InstanceId if
it contains spaces. Multiple instances are disabled in instances opened through
this method, and documents are not automatically reopened. Example:
NoteTab /INST="HTML Editing"
* Improved the command-line parser. Now accepts multiple file names without quot
es (as long as the names don't contain spaces).
* Changed the method used to associated file types with NoteTab.
* Changed method used for handling .ini files. Should be much faster on Windows
NT.
* Holding Ctrl key down while launching NoteTab resets the .ini file.
* Improved handling of single and multiple instances of NoteTab.
* NoteTab Pro can now open files larger than 16 MB.
* NoteTab can now also determine the size attributes for .png images.
* Changed behavior of Ctrl+Left/Right arrows in NoteTab Pro to match the behavio
r of NoteTab Std/Light.
* Loading of a large number of documents can be aborted by holding down the Alt+
Ctrl keys.
* NoteTab now uses the standard "Browse for Folder" dialog box.

Clipbar:
--------
* Added support for user-made toolbars, called Clipbars. You can open available
Clipbars and create new ones through the "View|Clipbar" submenu commands. Quick
instructions to add buttons to a Clipbar:
+ Open a new Clipbar or an existing one.
+ Open the Clipbook window (F4) and select the library that contains the Clips y
ou want to use from the Clipbar.
+ The setting "Single Click to Paste" on the Clipbook tab in the Options box mus
t be unchecked.
+ Click on the desired Clip label in the Clipbook window and drag it to the Clip
bar. The button is added once you release the mouse button. You can reorder Clip
bar buttons by holding the Shift key down and dragging them to the new position.
+ To change the button icon, click on it with the right mouse button to open the
context menu and choose the "Button Properties" command. Choose a new icon from
the list in the dialog box. You can either use the internal NoteTab icons, or y
our own custom icons. Your icons should be placed in the NoteTab Libraries folde
r. Accepted image formats are bitmaps (.bmp) and icons (.ico). Recommended maxim
um image size is 18x18 pixels. Larger images are shrunk to fit in the allocated
space and may look distorted. The icon transparency color is determined by the p
ixel color at the bottom-left corner of the image.
+ A Clipbar can contain Clips from any library as long as they remain available
in the Libraries directory. Note that the Clipbar reads the Clips from disk only
. If you have edited a Clip in NoteTab and want to test it from the Clipbar, you
will first have to save your library to disk.
+ To save the changes made to the Clipbar, click on it with the right mouse butt
on to open the context menu and choose the "Save Clipbar" command. When the Clip
bar is saved, the settings are stored in the Libraries directory in a text file
with the .ctb extension. You can edit it manually by choosing the "Edit Clipbar"
command from the context menu.
IMPORTANT: Currently, the Clipbar cannot handle Clips that use the ^$GetClipText
(ClipName)$ function and user-made functions.
* The Clipbar supports the OnOpen and OnClose events. Just drag an OnOpen or OnC
lose Clip to it. The OnOpen event is triggered when a Clipbar is first opened, a
nd when switching to another library. The OnClose event is triggered when switch
ing to another library or starting a new one, and when closing NoteTab. The trig
gering of these events can be canceled by holding down the Shift key.
* Added command-line parameter to open a specific Clipbar when launching NoteTab
:
NoteTab /C=ClipbarName

Clip Language:
--------------
* Simple text Clips use the "^&" code to determine where selected text should be
placed when pasting the Clip contents. If no text is selected, then it marks th
e position where the cursor should be placed. In NoteTab 4.6 and older, this met
hod did not work in executable Clips. This issue has been addressed in version 4
.8. See the HTML library for an example of this new functionality.
* You can now apply Clips on text that contains Clip code, without causing it to
be interpreted by the Clip parser. Unfortunately, there is a small price to pay
for this improvement. The following old function formats for dates: ^[mm/dd/yyy
y^] and mathematical evaluation: ^$[Expression] will not work if their arguments
are built from the values of variables and functions. Instead of those old func
tion formats, you should use the more recent ^$GetDate(mm/dd/yyyy)$ and ^$Calc(E
xpression[;Decimals])$ functions.
* Conditional commands now accept a command statement instead of a label. The se
cond command statement may not be another conditional command, and it may not be
followed by an ELSE-type label. Examples:
^!If ^%Variable% < 0 ^!Set %Variable%=0
^!IfFileExist "^%Variable%" GoToLabelTrue ELSE ^!Prompt File does not exist
* You can now create your own Clip functions, using an approach that is similar
to the ^!Clip command. Custom Clip functions must not have the same name as a pr
e-defined function. The function name corresponds to the name of the Clip that c
ontains the code. You can create functions that take one parameter or none. You
can access the parameter data in your function script by using the ^& code. Your
function script must assign the result to the new ^!Result command, or by using
the new pre-defined variable %RESULT%. Example:
H="Double"
^!IfTrue ^$IsNumber("^&")$ Multiply
^!Result ^&^&
^!Goto End
:Multiply
^!Result ^$Calc(^& * 2)$
H="TestDouble"
^!Prompt ^$Double(^?[Enter a number or some text])$

HTML Editing
¨¨¨¨¨¨¨¨¨¨¨¨
^!InsertHtml Any text with tokens (^p/^t)
Similar to ^!InsertText command, but converts HTML tags to Uppercase, Lowercase,
or XHTML format (depending on settings in Options). This command is sensitive
to the "Indent on Paste" setting in the Options dialog box on the Clipbook tab.
You can precede it with the command "^!SetPasteIndent Off" to make it ignore the
indent setting.
^!InsertWizardHtml Any text with tokens (^p/^t)
Similar to ^!InsertHtml command, but removes attributes that have no value. This
command is useful when used together with the Clip wizard. It allows the user t
o leave certain fields blank in the Wizard, and the corresponding tags are then
automatically removed before being inserted in the document. Example:
^!InsertWizardHtml <TD ALIGN="" WIDTH="">
will insert the following tag in your document: <TD>
^!RunTidy [i|d]
^!RunTidy [Switches]
HTML Tidy is a free utility that cleans HTML code and fixes errors. This new Cli
p command will send your document text to the HTML Tidy program. The corrected o
utput returned by HTML Tidy is then inserted into the document. The StdError str
eam is saved in a file called "StdError.err" in NoteTab's application directory,
unless another file is specified with the SetStdError Name command. You can use
the optional parameter "Switches" to specify Tidy command-line arguments; examp
le:
^!RunTidy -f errs.txt -qiu
If no argument is specified and you have a Tidy.cfg file in the NoteTab folder,
then HTML Tidy will be configured according to the settings in that configuratio
n file. If NoteTab does not find the configuration file, it will determine the a
ppropriate switches based on the settings in NoteTab. If you have a Tidy.cfg fil
e, but you want NoteTab to ignore it and use default settings, then use the "d"
argument (without the quotes). If you want NoteTab to determine the best setting
s, but would like to have your tags indented, just use the "i" argument; example
:
^!RunTidy i
You can learn more about HTML Tidy and download the latest version by visiting t
he following Web page:
http://www.w3.org/People/Raggett/tidy/
The easiest setup is to install the Tidy.exe program file in the NoteTab folder,
but you may place it anywhere else if you prefer.
^$GetTidyExe$
Returns full path and name of HTML Tidy application.
^$GetHtmlTagName("TagStr"[;Format])$
Returns the name of the HTML Tag, either in uppercase or lowercase. If the Forma
t parameter is not specified, the character case is determined by the settings i
n NoteTab's Options. Use the Format parameter to control the format of HTML tags
. It can have one of the following values: UPPERCASE, LOWERCASE, or XHTML. Examp
le:
^$GetHtmlTagName("<TD ALIGN="left" WIDTH="250">";LOWERCASE)$ -> td
^$GetHtmlTagAttr("TagStr";Attr[;Format])$
Returns the value of the specified HTML attribute. If the Format parameter is no
t specified, the result is determined by the settings in NoteTab's Options. Use
the Format parameter to control the case of minimized attributes (it has no effe
ct on the value returned for normal attributes). It can have one of the followin
g values: UPPERCASE, LOWERCASE, or XHTML. Example:
^$GetHtmlTagAttr("<DL COMPACT>;Compact;XHTML)$ -> compact
^$GetHtmlTagAttr("<DL COMPACT>;Compact;UPPERCASE)$ -> COMPACT
^$GetHtmlTagAttr("<TD ALIGN="left" WIDTH="250">";Width)$ -> 250
^$GetHtmlTagTidy("TagStr"[;Format])$
Returns a properly formatted HTML tag converted to uppercase, lowercase, or XHTM
L format. If the Format parameter is not specified, the result is determined by
the settings in NoteTab's Options. Use the Format parameter to control the forma
t of HTML tags. It can have one of the following values: UPPERCASE, LOWERCASE, o
r XHTML. Example:
^$GetHtmlTagTidy("<HR SIZE=2 NOSHADE>";XHTML)$ -> <hr size="2" noshade="noshade"
/>
^$GetHtmlTextTidy("Str"[;Format])$
Returns the string with HTML tags converted to Uppercase, Lowercase, or XHTML fo
rmat. If the Format parameter is not specified, the result is determined by the
settings in NoteTab's Options. Use the Format parameter to control the format of
HTML tags. It can have one of the following values: UPPERCASE, LOWERCASE, or XH
TML.

TopStyle
¨¨¨¨¨¨¨¨
NoteTab now supports Bradsoft's TopStyle CSS editor, version 1.51 and above -- a
program for editing Cascading Style Sheets. You can learn more about this usefu
l program and download the latest version by visiting the following Web page:
http://www.bradsoft.com/redir.asp?id=130
Note that the TopStyle commands described below are used in the TopStyle library
packaged with NoteTab. There is also a convenient TopStyle Clipbar to access th
e Clip commands.
^$IsTopStyleEnabled$
Returns 1 if the TopStyle editor is available through NoteTab, and 0 if it is no
t.
^$EditStyleBlock("Str")$
Opens TopStyle in <style>..</style> block editing mode. Returns the updated styl
e block. Note that the "Str" argument should not include the surrounding <style>
..</style> tags.
^$EditStyleAttr("Str")$
Opens TopStyle in inline (STYLE attribute) editing mode. Returns the updated sty
le. Note that the contents of the style attribute should only include the value
assigned to the style attribute. For example, if you wish to edit the style attr
ibute in the tag <span style="color:blue">, then you should only pass color:blue
to this function.
^!EditStyleSheet [FileName]
Opens the specified style sheet file in TopStyle. If no file name is specified,
this command will launch TopStyle without opening a specific style sheet. Note t
hat unlike the EditStyleBlock and EditStyleAttr functions, which block the calli
ng application until the user closes TopStyle, EditStyleSheet simply executes To
pStyle and returns immediately.

Application
¨¨¨¨¨¨¨¨¨¨¨
^$GetAppFileName$
Returns the file and path name of the NoteTab program file. Example, with defaul
t folder for NoteTab Pro:
^$GetAppFileName$ -> C:\Program Files\NoteTab Pro\NotePro.exe
^!DirectPrint "Title" Data
Prints text directly to the printer, bypassing NoteTab's print procedure. Uses d
efault printer settings. Title is the text shown in the Print manager and Data i
s the text to send directly to the printer. Data can contain printer control cod
es.
^!SetFocus [Clipbook|ClipEdit|Document|Frame1|Frame2|List_Clip|List_Disk|List_Do
cs|List_Favs|Outline|PasteBoard]
Moves the focus to the specified screen object. This command will fail if the No
teTab window is minimized. Example to move the focus to the Outline-headings win
dow:
^!SetFocus Outline

Keyboard
¨¨¨¨¨¨¨¨
^$IsCtrlKeyDown$
Returns 1 if the Control key is pressed while the function is executed and 0 if
it is not.
^$IsShiftKeyDown$
Returns 1 if the Shift key is pressed while the function is executed and 0 if it
is not.
^$IsAltKeyDown$
Returns 1 if the Alt key is pressed while the function is executed and 0 if it i
s not.

Selection and Cursor Position


¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
^!Select [EMAIL|HTMLTAG]
The Select command has two new switches. EMAIL extends the selection of an e-mai
l address under the cursor, and HTMLTAG selects a complete HTML tag.
^$GetWord[(SelectText)]$ and ^$GetBlock[(SelectText)]$
Added the optional Boolean argument "SelectText" to make NoteTab select the corr
esponding block of text.
^$GetHtmlTag[(SelectText)]$
Returns the HTML tag at cursor position. Use the optional Boolean argument "Sele
ctText" to make NoteTab select the corresponding block of text.
^$GetQuoteBlock[(SelectText)]$
Returns the block of text between double quotes (") at the cursor position. Use
the optional Boolean argument "SelectText" to make NoteTab select the correspond
ing block of text. This function is especially useful for retrieving attribute v
alues within HTML tags.
^$GetColStart$
Returns the cursor column index in the current document. If some text is selecte
d, then the beginning of the selection determines the column position.
^$GetRowStart$
Returns the cursor line index in the current document. If some text is selected,
then the beginning of the selection determines the line index.
^$GetColEnd$
Returns the cursor column index in the current document. If some text is selecte
d, then the end of the selection determines the column position.
^$GetRowEnd$
Returns the cursor line index the in current document. If some text is selected,
then the end of the selection determines the line index.
^$GetColLeft$
Returns the leftmost column index visible in current document window.
^$GetRowTop$
Returns the index of the top line visible in current document window.
^!SetView RowTop:ColLeft
Moves the top line and leftmost column to the specified coordinates in current d
ocument window.

Clip Code
¨¨¨¨¨¨¨¨¨
^!SetDebug [On|Off]
When enabled, a dialog box pops up just before each statement and paste operatio
n is executed. The dialog box shows the parsed instruction or the text about to
be pasted in the document. There are three buttons; "Yes" is for continuing exec
ution until the next instruction, "No" disables Debug mode, and "Cancel" ends Cl
ip execution.
^!SetPasteIndent [On|Off]
Enables or disables automatic indenting when a Clip inserts text into a document
. The scope of this command is limited to the Clip (and eventual sub-Clips) wher
e it was invoked. When a Clip ends, the original user setting is automatically r
e-enabled.
^$IsPasteIndent$
Returns 1 if Clips insert text with automatic indenting and 0 if not.
^!DestroyLibrary [LibraryName]
Deletes the specified Clipbook library (path name and extension are not needed).
If the optional LibraryName argument is not used, then the library currently ru
nning the Clip is closed and destroyed.
^!InsertText Any text with tokens (^p/^t)
Since version 4.8, this command is sensitive to the "Indent on Paste" setting in
the Options dialog box on the Clipbook tab. You can precede it with the command
"^!SetPasteIndent Off" to make it ignore the indent setting.

Clipbar
¨¨¨¨¨¨¨
^!OpenClipbar Name
Opens the specified Clipbar file.
^!CloseClipbar
Closes the current Clipbar.
^!ReloadClipbar
Reloads the current Clipbar.
^$GetClipbarName$
Returns the name of the current Clipbar file.

Files
¨¨¨¨¨
^$GetFileFirst(FilePath;FileSpecs[;Attr][;SortingOrder])$
Added optional Attr parameter. Attr can represent multiple values: A = Archive,
H = Hidden, R = Read-only, S = System, * = All attributes. If the Attr parameter
is not used, then file attributes are ignored.
^$GetFiles(FilePath;FileSpecs[;Attr][;SortingOrder])$
The parameters are identical to the ^$GetFileFirst$ function. Returns all matchi
ng files as a single string using the default separator (;), or the one defined
by ^!SetListDelimiter. Note that ^$GetFileNext$ and ^!CloseFileFind do not work
with this function. This new function is useful to assign the result to an array
variable. Example:
^!SetArray %Files%=^$GetFiles("c:\Program Files\NoteTab Pro\Documents";*.txt;AR;
DATE)$
^!SetFileAttr "FileSpecs" Attr
Changes the file attributes. FileSpecs is the file name, which may have wild car
ds. Attr can represent multiple values: A = Archive, H = Hidden, R = Read-only,
S = System, * = All attributes. Use a minus sign in front of the letter to remov
e an attribute. The following example sets the Archive attribute and removes the
Read-only attribute, if set:
^!SetFileAttr "c:\Scandisk.log" A-R
^!IfFileAttr "FileName" Attr GoToLabelTrue [ELSE GoToLabelFalse]
Compares FileName attributes with Attr. If Attr is equal or a subset of FileName
's attributes, then GoToLabelTrue is activated. Attr can represent multiple valu
es: A = Archive, D = Directory, H = Hidden, R = Read-only, S = System, V = Volum
eID, * = All attributes. Example:
^!IfFileAttr "c:\Scandisk.log" AH LabelTrue ELSE LabelFalse
If Scandisk.log has at least the Archive and Hidden attributes set, then the ins
truction jumps to LabelTrue.
^$GetFileAttr(FileName)$
Returns the file attributes as a string of characters. A file can have zero, one
, or several attributes. The string may contain the following characters: A = Ar
chive, D = Directory, H = Hidden, R = Read-only, S = System, V = VolumeID, * = A
ll attributes. Example:
^$GetFileAttr(c:\Scandisk.log)$ -> AH
^$GetRelativeName(FileName;BaseDir)$
Returns the relative name of FileName against BaseDir. If BaseDir is not defined
, the active document path is used as the reference directory. Example:
^$GetRelativeName(c:\temp\test\MyFile.txt;c:\temp\)$ -> test\MyFile.txt
^$GetExpandedName(FileName;BaseDir)$
Returns the fully qualified name of FileName against BaseDir. If BaseDir is not
defined, the active document path is used as the reference directory. Example:
^$GetExpandedName(..\MyFile.txt;c:\temp\test\)$ -> c:\temp\MyFile.txt
^$FileToUrl("FileName")$
Converts a Windows file name to a URL file name. Example:
^$FileToUrl("c:\program files\index.htm")$ -> file:///c|/program%20files/index.h
tm
^$UrlToFile("URL")$
Converts a URL file name to a Windows file name. Example:
^$UrlToFile("file:///c|/program%20files/index.htm")$ -> c:\program files\index.h
tm
* The following procedures will now also work with files in the form of URLs
^$GetName(FileName)$
^$GetFileName(FileName)$
^$GetPath(FileName)$

Text Processing
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
^!IfMatch "RegEx" "Value2" GoToLabelTrue [ELSE GoToLabelFalse]
Similar to ^!IfSame, but accepts a regular expression for the first value.
^$StrAnsiToAscii("Str")$
Returns Str with all extended ANSI characters converted to ASCII.
^$StrAsciiToAnsi("Str")$
Returns Str with all extended ASCII characters converted to ANSI.
^$IsLowercase("Str")$
Returns 1 if Str does not contain any uppercase characters, and 0 if it does.
^$IsUppercase("Str")$
Returns 1 if Str does not contain any lowercase characters, and 0 if it does.
^$IsCapitalized("Str")$
Returns 1 if Str does not start with a lowercase character and is not followed b
y any uppercase characters, and 0 if this condition is not met.
^$IsMixedCase("Str")$
Returns 1 if Str contains both lowercase and uppercase characters, and 0 if it d
oes not.
^$IsAlpha("Str")$
Returns 1 if Str contains only characters from the alphabet, and 0 if it does no
t.
^$IsAlphaNumeric("Str")$
Returns 1 if Str contains only numbers and characters from the alphabet, and 0 i
f it does not.
^$IsBlank("Str")$
Returns 1 if Str contains only blank characters (tabs, spacebar, line breaks, et
c.), and 0 if it does not.
^$StrCapitalize("Str")$
Capitalizes all words in Str and returns the resulting string.
^$StrInvertCase("Str")$
Converts all uppercase characters to lowercase, and lowercase characters to uppe
rcase, and returns the resulting string.
^$StrSentenceCase("Str")$
Capitalizes all words following a period, exclamation, and question mark and con
verts all other words to lowercase.
^$CharToDec(Character)$
Returns the decimal value of Character. Example:
^$CharToDec(S)$ -> 83
^$DecToChar(Decimal)$
Returns the character corresponding to the decimal value. Example:
^$DecToChar(83)$ -> S
Note that you should avoid converting the following decimal values 1, 4, 5, and
6 to characters as they have a special meaning for the Clip interpreter.
^$IntToHex(Char)$
Now also returns the ANSI hex code of single character if Char does not represen
t a number.

Windows
¨¨¨¨¨¨¨
^$GetSpecialPath(TypeFolder)$
Returns the path name of the specified Windows folder. TypeFolder can have one o
f the following values:
AppFolder
Desktop
DesktopDir
StartMenu
Programs
Startup
SendTo
Favorites
Recent
CommonDesktopDir
CommonStartMenu
CommonPrograms
CommonStartup
CommonFavorites
^!MakeShortcut ShortcutLocation "Target" ["Arguments"] ["Description"] [CmdShow]
Creates Windows shortcuts. Syntax:
- ShortcutLocation is the place where the shortcut is created. It accepts the sa
me values as the TypeFolder argument used in the ^$GetSpecialPath(TypeFolder)$ f
unction.
- "Target" is the program to execute, or the document to launch.
- "Arguments" are eventual command-line switches you might want to use with the
target program.
- "Description" is an optional parameter you can use to identify the shortcut. I
f it is left blank, the shortcut name will be the same as the target program nam
e.
- CmdShow defines how the program is opened. It can have one of the following va
lues:
Normal (default if no value specified)
Maximized
Minimized
Example:
^!MakeShortcut SendTo "^$GetAppFileName$" "" "Open in NoteTab" MAXIMIZED

Registry:
¨¨¨¨¨¨¨¨¨
^!SaveRegValue [BaseRoot\]Key[:Name]=Value
Saves the specified value under the key entry in the Windows Registry. If BaseRo
ot is not defined, then HKEY_CURRENT_USER is used. If no value is specified for
Name, the "(Default)" name is used. The maximum amount of text that can be saved
this way is 1024 characters. Use with care! Example:
^!SaveRegValue HKEY_CURRENT_USER\Software\Beta:UserName=Raymond
^!SaveRegValue Control Panel\International:sDate=/
^!SaveRegValue HKEY_CLASSES_ROOT\.386=vxdfile
^$GetRegValue("[BaseRoot\]Key[:Name]")$
Returns the value stored under the specified key in the Windows Registry. If Bas
eRoot is not defined, then HKEY_CURRENT_USER is used. If no value is specified f
or Name, the "(Default)" name is used. Returns an empty string if the key does n
ot exist. Example based on ^!SaveRegValue example:
^$GetRegValue(HKEY_CURRENT_USER\Software\Beta:UserName)$ -> Raymond
^$GetRegValue(Control Panel\International:sDate)$ -> /
^$GetRegValue(HKEY_CLASSES_ROOT\.386)$ -> vxdfile
^!ClearRegValue [BaseRoot\]Key[:Name]
Deletes the specified name or key in the Windows Registry. If BaseRoot is not de
fined, then HKEY_CURRENT_USER is used. If a Name is specified, then only that na
me will be deleted from the Registry. If no Name is specified (no colon), then t
he key and all Names under it will be deleted. Use with care!
BaseRoot can be any of the following values:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

Bug fixes:
----------
* Made changes to the code underlying the Clip commands ^!RunPerl, ^!RunGawk, ^!
RunScript, as well as the functions ^$GetOutput("Command")$, ^$GetInputOutput("C
ommand")$, ^$GetDosOutput("Command")$. These should run better under all version
s of Win32, and especially Windows NT.
* Selecting text containing the characters "^&" (without quotes) in a document a
nd running a Clip using the "^&" code no longer causes NoteTab to freeze.
* Fixed several problems in the spell-checker.
* Fixed access violation error when second document window was closed.
* Fixed regex bug when used with Count Occurrences and Replace All.
* Fixed NoteTab Pro bug that caused file truncation when a paragraph exceeded a
length of 65,500 characters.
* Fixed a glitch in NoteTab Pro when printing text with tabs.
* Blank lines at end of text are now ignored when printing.
* Hyperlinks using the format [test.html#anchor] are now correctly converted fro
m OTL to HTML.
* The Clip command ^!Find no longer attempts to translate NoteTab tokens (^P, ^T
, etc.) when a regular expression is specified.
* Can now run NoteTab from copy-protected disks.

______________________________________________________________________________
NoteTab is a registered trademark licensed to Fookes Software Ltd, Switzerland
Copyright © 1995-2010, Fookes Holding Ltd, Switzerland
- All Rights Reserved -
Fookes is a registered trademark of Fookes Holding Ltd.
Windows is a trademark of Microsoft Corporation registered in the U.S. and other
countries.
All other trademarks and service marks, both marked and not marked, are the prop
erty of their respective owners.