* WinEdt News.txt
Last modified on Sunday, May 6, 2018  14:50
__________________________________________________________________


WinEdt 10 is a Unicode (UTF-8) text editor built on WinEdt 9
sources and compiled with a brand new Delphi 10 (Professional).

UPGRADING ISSUES:
=================

WinEdt 10 is installed parallel to WinEdt 9, 8, 7, 6 or 5 and you
can continue to use an older version of WinEdt and possibly
uninstall WinEdt 10 if you prefer the old version.

NOTE: This build of WinEdt 10 runs on Windows XP (with some
Uniscribe restrictions). Windows 7 or later is required for full
Uniscribe functionality! This version was developed and extensively
tested on Windows 10.

IMPORTANT: If you already have WinEdt 5.x, 6, 7 or 8 on your system
you cannot import your old settings directly into WinEdt 10! If you
already have WinEdt 9 installed the migration is easy: just execute
the command 'Import WinEdt 9 Settings' from the Options Menu ->
Maintenance within WinEdt 10 and you're done...

  Upgrading from an older version of WinEdt 10 is easy:

    Close WinEdt and install the new version over the old one.
    Executing the command 'Upgrade Personal Configuration' will
    merge your custom WinEdt 10 settings with the new defaults...

REGISTRATION: WinEdt 10 series uses the same Registration Data as
WinEdt 9, 8, 7 and 6. You will, however, have to enter the data
(Name and Code) again in the Registration Dialog of WinEdt 10.
WinEdt 5 users will have to pay an upgrade fee if they want to
register WinEdt 10 (see www.winedt.com for details).

------------------------------------------------------------------

WinEdt 10 [Build 20180507 (v. 10.3)]
====================================

- A few optimizations, improvements to the default settings, and
minor bug fixes...

- WinEdt now provides an interface to MiKTeX Console (new in MiKTeX
2.9.6630). MiKTeX Console consolidates three different interfaces
(MiKTeX Options, MiKTeX Update Wizard, and MiKTeX Package Manager
which are now discontinued and have been removed from the default
settings in WinEdt 10.3). If you rely on WinEdt's Interfaces to
maintain your MiKTeX installation it is recommended that you update
your MiKTeX before installing WinEdt 10.3!

- On some shared network drives (UNC or mapped) asking for the
existence of a single file can take 10+msec. and this makes WinEdt
very unresponsive while it is checking if certain files (e.g.
%N.pdf, etc...) exist in order to enable or disable menu items and
toolbar buttons that depend on their existence. For optimal
performance on such drives it is best to exclude them from this
functionality by following the instructions in the Help for
Preferences Dialog| File Status. However, WinEdt now detects
 situations like this and automatically reduces the frequency of
"file existence queries" in order to improve its performance and
responsiveness when working on projects located on slow network
drives. In most cases WinEdt's performance will be reasonably good
without making changes in the File Status detection (Preferences
Dialog)...

- Improved handling of situations when many opened files are
modified or moved by an external application which could previously
result in too many repeated warning messages issued by WinEdt. It
is now possible to close all non-existent documents in response to
a single prompt. The problem with numerous externally moved files
was particularly bad for a few users that used UpdateDoc macro in
Activate Document Event Handler! This macro now ignores
non-existent documents in order to avoid a flood of messages about
non-existent files every time you switch to another document. These
improvements will be noticed by (advanced) users that use git (or
similar)...

- An oddity with some status line panels not being refreshed after
reloading StatusBar.ini (or after resizing some panels) has been
addressed. This mostly affected a few users that added extra panels
or customized Status Line. Furthermore, SetPanel*(); macros now no
longer require a call to UpdateStatus as they instantly update the
modified panel.

- Command line switches -D and -d now produce global or local debug
log file respectively. Previously only global log (%B\WinEdt.run)
was supported and for most users this only worked when running
WinEdt with elevated privileges. Switch -d produces a local log
(%b\WinEdt.run) which is more useful as it does not require extra
privileges.

- Filter Set specification now contains two new 0/1 properties
BALANCED and NEGATED. They can be used to fix a minor oddity
(imperfection) when it comes to highlighting of TeX commands
proceeded by line breaks (\\). They are also used to improve
highlighting in WinEdt's macro scripts where it is now easier to
catch improperly specified registers inside nested strings...

- WinEdt now allows PDF (forward) Search (with Sumatra) with
.synctex and .synctex.gz. This makes it possible to work with
Context and arara without changing the SyncTeX extension in the
Execution Modes when changing the compiler. Few users (perhaps only
one:-)) will notice this change...

- FormatString macro now allows extra parameters in order to
produce aligned strings (left, right, and center) to the specified
length with leading and/or trailing spaces as necessary. Help
explains...

- WinEdt now checks parameters that contain %variables in
configuration files while they are being loaded. This prevents
serious problems that resulted when such parameters were loaded
without any checking, only to detect the syntax errors inside them
later when they are being used. For example, errors in REQ_FILTER
value in the menu could result in serious problems that are not
easy to fix (if a user made a mistake when specifying them). The
same applies to CAPTION is status line, tree, and other items used
inside frequent event handlers...

- If WinEdt encounters errors in customized event handler macros it
enters "Safe Macro Execution Mode". The user is prompted to fix the
error. In Safe Mode WinEdt no longer reports any(!) errors during
macro execution thus making it possible to fix a mistake. In order
to exit Safe Execution Mode (after fixing a mistake!) press
Shift+ESC key (Cancel!) or restart WinEdt.

    Event handlers should be modified with extreme care and well
    tested (by advanced users that are up to the task). If you
    commit a serious mistake that "breaks" WinEdt: right-click on
    the main menu and choose "Rebuild Default..." in order to make
    WinEdt operational again. Then fix your mistake and reload
    local settings from the Options -> Maintenance Menu.

- A small change to SetErrorFlag macro (Help explains). Now that
WinEdt better manages errors in its event handlers this macro is no
longer needed in macro scripts: SetErrorFlag(0); does nothing!
SetErrorFlag(-1); should be used if you really want to exit Safe
Macro Execution Mode (not recommended since there is usually a good
reason for entering Safe Mode in the first place)...

- WinEdt now recognizes \frametitle directive when collecting
beamer frames in TOC (Tree or Gather) interface...

- Ins, InsText, InsChr, and InsChar macro functions now have an
extra optional parameter. When non-zero the inserted text is
highlighted in the specified selection mode (0..15). Help
explains...

- A bug with (a seldom used) Full Width Selection AND Uniscribe
Engine has been fixed. It now works as intended regardless of
Uniscribe engine being enabled or not...

- Improvements to custom TeXify macros...

- Help has been updated with a few examples (e.g. how to insert
multiple citations, etc...) to make functionality that is not
obvious and easy to discover accessible to more users...

------------------------------------------------------------------

WinEdt 10 [Build 20170413 (v. 10.2)]
====================================

- This build is compiled with the latest Delphi compiler for
Windows.

- Execution Modes Dialog now contains a field to specify DDE
Service value for your version of Adobe. Auto-detection is
impossible since Adobe DC no longer makes this version-specific
information available in Windows Registry. Defaults assume the
latest AcroviewR17 (or AcroviewA17 for full Acrobat DC). If you
have an older version of Adobe Reader modify this to something like
AcroviewR15 (or whatever is your version). Help in the dialog
explains the details (including suggestions for better-suited pdf
viewers like SumatraPDF).

- A few minor bug fixes and improvements...

------------------------------------------------------------------

WinEdt 10 [Build 20170214 (v. 10.2)]
====================================

- By default WinEdt now features a smaller 1-row Toolbar. Opinions
on this may vary (I insisted on this change and I will take the
blame if it backfires). Users that prefer the old default 2-row
toolbar can easily do so by selecting the Legacy Default in Options
-> Toolbar menu (where they will find other [small or large]
alternative toolbar definitions -- check them out!). Depending on
the TeX accessories that you are commonly using for your work and
the size of your monitor you should be able to find a toolbar that
best meets your needs. This can be further customized through the
Options Interface. Adding or removing an extra button usually
consists of removing or adding a comment in front of its one-line
definition (it is easier than you may think!). Check the new "How
To: Customize the Toolbar" section in WinEdt's Help for details and
examples on customizing the toolbar (Help -> Index: Toolbar for
Dummies)!

- Compile and Compile Selected macros have been enhanced and new
options were introduced in the Execution Modes| TeX Options.
Furthermore, default settings no longer use MiKTeX's texify.exe
accessory (there were too many oddities with it). Custom macros are
used for [PDF]TeXify. This can be easily changed in the Execution
Modes by replacing the default executable for TeXify with
texify.exe. In most cases WinEdt macros will perform better than
texify.exe. Check the Help in the Execution Modes dialog for
details and explanations...

- WinEdt Console now supports mouse interface to select text.
Build-in standard shortcuts and a context popup menu (right-click)
will assist you with copy and paste and with basic navigation in
the console. This has been a frequently demanded missing feature...

- The configuration section [SWITCHES] now allows a new property
SET_LOCAL_MODE. When specified highlighting inside the switch uses
the specified local mode (rather than the one assigned to the
document). It is possible to completely change the local mode or
(more commonly) append a submode specific to this environment (when
the local mode specification starts with ":" or "*:").

    This is a powerful functionality that allows advanced
    highlighting customizations (if and when needed).

Language properties defined in a mode-specific LANGUAGE_SET are
also linked to local modes (when specified). For example, this
makes it possible to make the underline character a part of
commands inside the LaTeX3 "\ExplSyntaxOn" environments but not in
TeX (LaTeX2e) mode.

    Local language set applies to the whole line and it is
    determined by the environments active at the beginning of the
    line (it cannot be changed inside the line).

Ignored text for spelling and enabled dictionaries are also linked
to local modes (although these local properties are not used in the
default settings).

- Default settings use the SET_LOCAL_MODE property in order to
highlight LaTeX3 syntax and TikZ picture environments. Support for
both modes is new in this version of WinEdt (courtesy of Luca
a.k.a. Karl Koeller).

- The configuration section [SWITCHES] now allows a new 0/1
property BALANCED. When enabled it allows highlighting of
environments that do not have clearly defined start and stop
triggers. For example:

    \tikz[<options>]{<path commands>}

where options may or may not be present (and can contain curly
braces). Path commands are separated with semicolons and curly
braces are optional when there is only one path command...

- The configuration section [SWITCHES] now allows a new set of
"GREEDY" properties. For example:

  GREEDY=2             // 0=off; 1=inline only; 2=peek the next line;
  GREEDY_TRIGGERS="{[" // Triggers for environments to be "gobbled"
  GREEDY_COMMENT="%"   // Peek the next line if you encounter this string
  GREEDY_SKIP=" "      // Skip Spaces (or other specified characters)?

When enabled it includes subsequent segments {?} and [?] as a part
of the switch. This can come handy in order to declare and keep
track of verbatim switches with optional arguments and parameters
such as:

  \newcommand{\cmd}[args][default]{definition}
  \newtcolorbox[init options]{name}[number][default]{options}

- Configuration sections [SWITCHES] and [FOLDING] now allow a
specification of AFTER filter set that is applied after the start
and stop trigger strings. This is sometimes (but not often)
required in order to filter out unwanted activations.

    LaTeX3 environment

      \ExplSyntaxOn ... \ExplSyntaxOff

    is an example when filter

      AFTER="~Alpha@"

    is in order...

- The configuration section [MAIN_MENU] now allows a new 0/1
property CUSTOM_MDI_BUTTONS (also available in the Preferences|
Appearance Dialog). By default this property is enabled. Help
explains what it does: when enabled WinEdt paints dpi-sensitive MDI
buttons (rather than leaving them to Windows default handler that
does a poor job and renders these glyphs much too small on high
dpi)...

- The configuration section [IGNORED_TEXT] now allows a new 0/1
property BALANCED. Together with two new environments [?] and {?}
this property allows proper processing of certain environments that
can contain [options] and (possibly) nested braces, such as:

  ENVIRONMENT="\usepackage?}"
    START="\usepackage"
    STOP="}"
    BALANCED=1
    SCOPE=3

- The configuration section [INPUT_DIRECTIVES] now allows a new 0/1
property VERBATIM for input directives. When enabled files included
in the tree with such directives are not subject to any additional
data processing (such as gathering of extra tree items or searching
for further input directives). An example of verbatim input
directive for TeX:

  DIRECTIVE="\lstinputlisting{?}"
    EXTENSION="*;.tex"
    PATH="%P;%p;%@('TEXINPUTS');"
    VERBATIM=1

- The configuration section [ACTIVE_STRINGS] now allows a new
property REGULAR_EXPRESSION that can be specified for double-click
responses. Expression is limited to one source line. RegEx Tag 0 is
automatically assigned to temporary register %?. In default
settings this property is only used for named colors in WinEdt's
configuration files:

  STRING="<named color>=""?"""
    REGULAR_EXPRESSION="@$Alpha+Numeric+[""_""]$@{ }=@{ }""\(*\)"""
    DBL_CLICK_ENABLED=1
    DBL_CLICK_MODE_FILTER="INI"
    DBL_CLICK_MACRO="[Exe('%b\Macros\Active Strings\ChangeINIColor.edt');]"

- Enhancements to Autosaving of Project and File Lists:

Configuration section [PROJECT_MANAGER] now allows a new 0/1
property AUTO_SAVE_PROJECTS and a delay AUTO_SAVE_PROJECTS_DELAY.
When enabled file and project lists are subject to transparent
auto-saving after changes. This ensures that the list or recently
opened files and projects is properly saved (and later restored) in
the event of a Windows crash or restart due to Windows updates. By
default this property is enabled.

There is also a 0/1 option AUTO_SAVE_CONFIGURATION and associated
delay AUTO_SAVE_CONFIGURATION_DELAY. When enabled WinEdt's current
configuration (including dynamic data such as recently searched
strings) is automatically saved. In order to prevent WinEdt from
being too sluggish saving only takes place when an idle timer is
activated with the specified delay. By default this property is
enabled.

    If you are working on a slow storage device (such as flash
    drive or a network drive) you may want to disable these options
    in order to improve the performance. You can always use
    Options -> Save Settings command to save such data...

The following has been added to Project.ini:

    // Auto Saving Option MUST be enabled or else the following options are ignored!
    // Auto Save File and Project Lists
    AUTO_SAVE_PROJECTS=1
    // Save only if idle for specified time in msec:
    AUTO_SAVE_PROJECTS_DELAY=2000
    // Auto Save WinEdt Configuration
    AUTO_SAVE_CONFIGURATION=1
    // Save only if idle for specified time in msec:
    AUTO_SAVE_CONFIGURATION_DELAY=5000

  HINT: For optimal auto saving performance I use the following
  *-section in my private settings:

    [AUTO_SAVING*]

    ENABLED=1
    AUTO_SAVE_FILENAME="%f"
    DELETE_AUTO_SAVED_FILES=0
    IDLE_SAVE_ENABLED=1
    IDLE_SAVE_INTERVAL=1

- A few minor spell checking enhancements.

New options in [MISSPELLED_WORDS] configuration section:

  UNDERLINE_WEIGHT=0 // -9=light .. 0=normal .. +9=heavy
  REPEATED_WORDS=1   // Underline repeated words as warnings!

and a new macro to change the spelling underline weight on the fly:

  SetSpellUnderlineWeight(weight: -9..9);

- ALLOW_INDENTED_ENVIRONMENTS property in [HIGHLIGHTING_EFFECTS]
configuration section now allows values 0..2 with the following
meaning:

  // Indented items and left margin:
     // 0=ignore left margin
     // 1=use left margin or indentation of the first line
     //  (if less than the specified left margin)
     // 2=enforce left margin
  ALLOW_INDENTED_ENVIRONMENTS=1

Users that want to enforce left margin can now do so by specifying
the value 2 (occasionally this was reported as a bug). Preferences|
Highlighting Dialog has been modified accordingly to accommodate
the new property "Enforce Left Margin". Since many users don't
indent items inside such environments the default value is 1 for
the sake of the first impression (you don't have to change your
habits to accommodate editor's default preferences)...

- WinEdt now uses a better stretching algorithm that produces
superior results with transparent images when ALLOW_SCALING
property in the [IMAGE_RESOURCES] configuration section is enabled.

- Macro function ClosePrj(); now has an extra 0/1 parameter to
prevent saving of the list of recently opened projects after the
current project is closed.

- A new macro function PrevSpellingError; and a new menu item
interface (Tools -> Previous Error Shift+F6) to this command has
been added for those that want to search for spelling mistakes in
both directions.

- A new macro function:

  SelectOptionsNode("FileName",Visible_Only,Found_Only: 0..1);

Putting

  SelectOptionsNode("%f",1,0);

in Activate Document event handler selects the branch and changes
the toolbar in the Options Interface accordingly when you switch
between different configuration files using Document Tabs rather
than the tree in the Options Interface itself...

- Preview on Windows 10 no longer displays invisible dialogs such
as Find, Replace, etc... after they have been previously activated
and closed (probably a bug in Windows 10 but there is a way around
that).

- Popup menu response for right-clicking on a Document Tab is now
customizable and it is defined together with the rest of popup
menus. A few properties had to be introduced in the [POPUP_MENUS]
configuration section (Help explains):

  DOCUMENT_TABS_POPUP
  HIDE_DISABLED_ITEMS
  CHECKED_MACRO

Since one does not necessary click on the currently active tab the
variables such as %f, %!m, ... temporarily refer to the document
associated with the clicked tab rather than the active document. As
soon as the menu is closed and the selected item is executed the
variables are restored to their original meaning. However, you
should not execute macros that manipulate active document from this
popup menu. Exercise common sense if you decide to customize this
popup menu or else activate the document first!

- Two new macros that are used in document tabs popup menu:

  SetTabsMultiLine(Enabled: -2..2);
  SetTabsShowFileTypes(Visible: -2..2);

- The following macros now allow values in the range (-2..2)
instead of just (-1..1):

  ShowDocTabs
  ShowToolBar
  ShowUnicodePreview
  ShowGUIPage
  ShowStatusLine
  ShowLineNumbers
  ShowFoldingMargin
  ShowHardReturns
  SetSounds

The values -2 and 2 can be used to test the current visibility
without changing the property. IfOK status indicates the result of
a test...

- New macros to test visibility and focus of docked forms (Tree,
Gather, Console, etc...). Help explains:

  IfVisible("Form","Then","Else");
  IfFocused("Form","Then","Else");

- A new variable %!W can now be used to get WinEdt's caption as
displayed in its window title bar. This can come handy for users
that are running more than one instance of WinEdt (with different
captions). Similarly, a new variable %!w refers to the current
document tab caption (which can be a useful reference in the
document tabs popup menu).

Also the following additional variables have been introduced (help
explains):

  %!i    Local instance of the current document (or empty string)
  %!I    Default instance of the current document (or empty string)
  %!a    Active document's filename
  %!A    Active document's tab caption

- The Required Files Filters (for menu items) now also allow
"string1==string2" expressions. This makes the menu item enabled
only if the string to the left of "==" is equal to the string on
the right side.

- WinEdt now comes with a dictionary of common English
abbreviations eng_abbr.dic. You can add more abbreviations to your
private user dictionary: every word in the dictionary ending with a
dot is considered a legitimate abbreviation (rather than a spelling
mistake)... If this is not a desired behavior you can disable this
dictionary.

- A rare AV in WinEdt's Uniscribe library has been tracked down and
fixed. It was occasionally triggered in files with very long lines
(a few thousand characters per line or more with plenty of
highlighting attributes)...

- Improved loading and handling of binary and huge data files (even
when opened in unsuitable mode that requires extra text
processing)...

- A few minor bug fixes and optimizations...

------------------------------------------------------------------

WinEdt 10 [Build 20160526 (v. 10.1)]
====================================

- A few minor bug fixes and enhancements to the default settings...

- WinEdt resource libraries have been renamed from WRLib32(xx).dll
to WRLib(xx).res. They are no longer compiled as executables. They
now use a private encrypted and compressed binary stream format
which makes them slightly smaller with less overhead. This should
eliminate false virus reports. They are just (harmless) binary
image resource files. This modification requires changes to the
[IMAGE_RESOURCES] configuration section...

- Extra 0/1 property for [WORKING_DIRECTORY] section:

  USE_VIRTUAL_WORKING_DIRECTORY

This property is also available in the Preferences Dialog. Help
explains what it does...

- A new 0/1 property for [PREFERENCES]

  ALLOW_LOCK_WINDOW_UPDATE

This property is also available in the Preferences Dialog
(Miscellaneous). Help explains what it does...

- A problem with MUI Page Control not being properly scaled on
higher dpi has been addressed for this build.

- WinEdt now automatically configures SumatraPDF inverse search
when Sumatra is launched from WinEdt...

  Hint: If you are using 64-bit version of WinEdt use 64-bit
        version of SumatraPDF as well in order to make
        auto-detection possible...

- Fallback strategy and fonts have been improved (especially for
CJK users). If the font name ends with | then the font height is
set to the height of the primary font. Otherwise, the font size
attribute is preserved. Both approaches are sometimes required
depending on the fallback font...

- Improved support for glossaries package when invoked with
"nomain" option.

------------------------------------------------------------------

WinEdt 10 [Build 20160413 (v. 10.0)]
====================================

- A few minor bug fixes and enhancements to the default settings...

- A few oddities related to overwrite mode (rather than a more
commonly used insert input mode) have been fixed.

- Wrapping environments now take comments into consideration.

- Background highlighting for Switches or Keywords did not work
with Uniscribe. Now it does.

- This version will run on Windows XP (with some restrictions in
Uniscribe functionality that is not supported on XP -- unicode
script tags).

- Two extra parameters for macro function:

  UpdateDoc(Ext_Modified_Only,All: 0/1);

- Extra properties for [PRINT_HEADER] and [PRINT_LINE_NUMBERS]:

  SEPARATOR_ENABLED
  SEPARATOR_WIDTH
  SEPARATOR_COLOR

This properties can replace or be combined with the background
color for these two items.

- Printing Schemes now have an extra section [PRINT_FOOTER] for
those that want page numbers at the bottom of the page. Help
explains the available properties...

- Extra property for [PRINT]:

  SHOW_PAGE_FOOTERS

This option is also available in the Print Dialog.

- Printing Schemes have been moved in Print Schemes subdirectory.
Default settings only provide Default and Alternative scheme (they
differ in the use of the background colors for headers and line
numbers). Users with special printing needs can create more schemes
in the local copy of "ConfigEx\Print Schemes" folder...

- Fallback font specification now allows wildcard * in order to
iterate through all available fonts (that do not start with @).

------------------------------------------------------------------

WinEdt 10 [Build 20160317 (v. 10.0)]
====================================

- The major new feature in this version is the ability to handle
bidirectional text (Arabic or Hebrew) and improved support for some
complex unicode scripts (such as Thai). The use of MS Uniscribe
library in WinEdt's text processing engine is instrumental for this
functionality (also the main reason why this version doesn't run on
Windows XP that does not support unicode script tags)...

- New properties in [UNICODE] section:

  UNISCRIBE_ENABLED
  UNISCRIBE_MODE_FILTER

For complex language processing (e.g. Hebrew or Arabic
bidirectional text or Thai non-spacing characters) this property
should be enabled. Users that do not require such functionality can
disable Uniscribe engine if they encounter problems or experience
any problems with performance (extra text processing can add up in
large documents). WinEdt has been optimized and it detects when
complex processing is required and performs it as needed.

These properties are also available in the Unicode page of
Preferences Dialog...

- New UNICODE properties that determine how the new Uniscribe
library is used.

The following UNICODE options are ignored unless Uniscribe text
processing is enabled:

  // ===============================================================================
  // Highlighting may affect character widths and placement if
  // FONT is a part of highlighting attributes or when
  // font style (such a bold) affects character widths!
  // This option affects the wrapping algorithm only:
  // text is still properly displayed without enabling it!
  FONT_MIXING_ENABLED=1
  FONT_MIXING_MODE_FILTER="HTML|XWE"

  // Justify paragraphs to the specified right margin by stretching lines
  // as required to fill the available space between left and right margin...
  // NOTE: In large documents this can become slow in long paragraphs!
  JUSTIFY_ENABLED=1
  JUSTIFY_MODE_FILTER="HTML|XWE"
  JUSTIFY_SOFT_ONLY=1         // Only for Softly wrapped paragraphs
  JUSTIFY_STRETCH_LIMIT=50    // At most 50% stretching is allowed
  JUSTIFY_SHRINK_LIMIT=25     // At most 25% shrinking is allowed

  // Calculating the exact line widths in order to initialize
  // horizontal scroll bar can be expensive in complex languages!
  // A faster version can be enabled for modes that use fixed width fonts
  // without bells and whistles!
  // This can sometimes result in an unwanted horizontal scroll bar
  // but it can significantly improve the performance in large files!
  FAST_WIDTH_ENABLED=1
  FAST_WIDTH_MODE_FILTER="DATA"
  // calculate exact widths within specified range from the current line
  FAST_WIDTH_LINE_LIMIT=1111  // Not less than 9!

  // Up to Hebrew letters the sum of character widths could be used to
  // calculate left-to-right glyph positions in a line.
  // This is much faster than using Uniscribe!
  // Reduce the limit if you need fallback fonts below this range...
  FAST_FONT_CACHE=1425 // The last character code for fast font cache

  // When mixing fonts or using fallback fonts vertical offset may have
  // to applied to secondary fonts in order to use a single font base line.
  // In some cases this may require extra line spacing (above or below).
  // If this property causes certain fonts to be clipped disable it and/or
  // increase line spacing (Thai text could be problematic with some fonts)...
  ADJUST_BASE_LINES=1

  // Change the caret shape to indicate RTL text?
  // Applies only to vertical caret shape!
  // -1 = Never
  //  0 = Only if line contains BiDi Text
  //  1 = Always
  BIDI_CARET_SHAPE=-1
  BIDI_CARET_WIDTH=2 // Left or Right Flag Width
  // ===============================================================================

- Very few (probably no) fonts on Windows contain glyphs for all
unicode characters. Normally WinEdt uses one primary font as
specified in the Preferences dialog (or possibly overwritten for a
particular mode in Font Schemes). If this font is lacking glyphs
for a particular script then WinEdt substitutes it with the first
existing specified fallback font at the same height as the primary
font (when missing glyphs have to be displayed).

The new GetScriptTagsAndFonts macro function was used to compile
the list of scripts and suitable fonts. Advanced users with special
needs or a very different choice of the default font may have to
modify the list in order to get a reasonable looking text in
certain scripts. Fallback fonts were implicitly used in previous
versions of WinEdt as well except that they were not customizable
(Windows preformed substitutions automatically for better or
worse). Some of the specified fallback fonts are native to Windows
10 while others come with Windows 7 only. This does not impede
runtime performance since WinEdt simply ignores and removes
non-existent fonts on your system.

  // ===============================================================================
  // UNISCRIBE Fallback Fonts
  // ========================
  //
  // The values below affect Uniscribe engine...
  // Fallback fonts for different (exotic) scripts as defined by Windows Unicode
  //
  // If the list starts with ! then the currently active font is ignored and only
  // fallback fonts listed after ! are applied (seldom useful)...
  //
  // You can use the wildcard * in order to list ALL fonts (that do not start with
  // letter @) in alphabetical order.
  // This is not very efficient and it is much better to list only suitable fonts
  // in the preferred order! This feature is mostly intended for testing...
  // If you specify @ in the list of fallback fonts then ALL fonts
  // starting with the letter @ on your system are used for that script.
  // Such fonts are usually rotated anti clockwise as sometimes / seldom
  // used by CJK users. Again, the efficiency concern applies...
  //
  // If the font name ends with | then the font height is set to the height of
  // the primary font. Otherwise, the font size attribute is preserved.
  //
  // Use GetScriptTagsAndFonts macro function to see what scripts and fonts
  // are available on your computer (it depends on your version of Windows)!
  // "Arial Unicode MS" might be a good choice for users that have this font
  // installed on their system...
  // Non-existent fonts in the list are simply ignored!
  // -------------------------------------------------------------------------------

  // Fallback fonts for old Uniscribe library that does not support
  // OpenType functions and unicode script tags (e.g. Windows XP) ...
  // This must be the first fallback script item!
  SCRIPT="*"
    FONT="Arial;Tahoma;Courier New;" +
         "Segoe UI;Segoe UI Symbol|;Segoe UI Historic;" +
         "Malgun Gothic;맑은 고딕;Microsoft Yi Baiti|;" +
         "Microsoft JhengHei UI;Microsoft YaHei UI;Yu Gothic UI;" +
         "Microsoft JhengHei;Microsoft YaHei;Yu Gothic;MingLiU;SimSun;宋体;" +
         "Sylfaen;Estrangelo Edessa;Nirmala UI;Aparajita;Kokila;Mangal;" +
         "Vrinda;Raavi;Shruti;Kalinga;Latha;Vijaya;Gautami;Vani;Tunga;Kartika;" +
         "Iskoola Pota;Leelawadee UI;Khmer UI;Lao UI;" +
         "Ebrima;Nyala;Gadugi;Plantagenet Cherokee;" +
         "Microsoft Tai Le|;Microsoft New Tai Lue|" +
         "Microsoft PhagsPa|;Microsoft Himalaya|;" +
         "MV Boli;Mongolian Baiti|;Myanmar Text|;Javanese Text|"

  SCRIPT=""     // Non-script-specific characters and symbols (e.g. numbers, etc...)
    FONT="Arial;Tahoma;Courier New;" +
         "Segoe UI;Segoe UI Symbol|;Segoe UI Historic"

  SCRIPT="latn" // @ABCDE ^_`abcde yz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°± ÀÁÂÃÄÅÆÇÈÉÊË...
    FONT="Arial;Tahoma;Courier New;" +
         "Segoe UI;Segoe UI Symbol|;Segoe UI Historic"

  SCRIPT="grek" // ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϏϐϑϒϓϔ
    FONT="Arial;Tahoma;Segoe UI;Courier New"
  SCRIPT="cyrl" // абвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџѠѡѢѣ
    FONT="Arial;Tahoma;Segoe UI;Courier New"
  SCRIPT="hebr" // דג סקרן שט בים מאוכזב ולפתע מצא חברה
    FONT="Arial;Tahoma;Segoe UI;Courier New"
  SCRIPT="arab" // صِف خَلقَ خَودِ كَمِثلِ الشَمسِ إِذ بَزَغَت — يَحظى الضَجيعُ بِها نَجلاءَ مِعطارِ
    FONT="Arial;Tahoma;Segoe UI;Courier New"
  SCRIPT="armn" // աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև
    FONT="Arial;Tahoma;Segoe UI;Courier New"
  SCRIPT="thai" // กขฃคฅฆงจฉชซฌญฎฏฐฑ ฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬ
    FONT="Arial;Tahoma;Segoe UI;Courier New"

  SCRIPT="hani" // 丈三上下丌不与丏丐丑丒专且丕世丗丘丙 乤乥书乧乨乩乪乫乬乭乮乯买乱乲乳乴乵乶
    // If you prefer SimSun (宋体) font move it at the beginning of fallbacks!
    FONT="Microsoft JhengHei UI;Microsoft YaHei UI;Yu Gothic UI;" +
         "Microsoft JhengHei;Microsoft YaHei;Yu Gothic;MingLiU;SimSun;宋体"
  SCRIPT="hang" // 가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘 ㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫
    FONT="Malgun Gothic;맑은 고딕"
  SCRIPT="kana" // いろはぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせす ㋐㋑㋒
    FONT="Yu Gothic UI;Microsoft JhengHei UI;Microsoft YaHei UI;" +
         "Yu Gothic;Microsoft JhengHei;Microsoft YaHei"
  SCRIPT="bopo" // ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕ  ㆠㆡㆢㆣㆤㆥㆦㆧㆨㆩㆪㆫㆬㆭ
    FONT="Microsoft JhengHei UI;Microsoft YaHei UI;" +
         "Microsoft JhengHei;Microsoft YaHei"
  SCRIPT="yi  " // ꀀꀁꀂꀃꀄꀅꀆꀇꀈꀉꀊꀋꀌꀍꀎꀏꀐꀑꀒꀓꀔꀕꀖꀗꀘ ꒐꒑꒒꒓꒔꒕꒖꒗꒘꒙꒚꒛꒜꒝
    FONT="Microsoft Yi Baiti|"

  SCRIPT="brai" //⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱ ⣺⣻⣼⣽⣾⣿
    FONT="Segoe UI;Segoe UI Symbol|;Segoe UI Historic"
  SCRIPT="copt" // ϢϣϤϥϦϧϨϩϪϫϬϭϮϯ ⲀⲁⲂⲃⲄⲅⲆⲇⲈⲉⲊⲋⲌⲐⲑⲒⲓⲔⲕⲖⲗⲘⲙⲚⲛⲜⲝⲞⲟⲠⲡⲢⲣⲤⲥⲦⲧⲨⲩⲪⲫⲬⲭⲮⲯⲰⲱ ⳹⳺⳻⳼⳽⳾
    FONT="Segoe UI;Segoe UI Symbol|;Segoe UI Historic"
  SCRIPT="glag" // ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍ ⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚ ⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊ
    FONT="Segoe UI;Segoe UI Symbol|;Segoe UI Historic"
  SCRIPT="runr" // ᚠᚡᚢᚣᚤᚥᚦᚧᚨᚩᚪᚫᚬᚭᚮᚯᚰᚱᚲᚳᚴᚵ ᚼᚽᚾᚿᛀᛁᛂᛃᛄᛅᛆᛇᛈᛉᛊᛋᛌᛍᛎᛏᛐᛑ ᛒᛓᛔᛕᛖᛗᛘᛙᛚᛛᛜᛝᛞᛟᛠᛡᛢᛣᛤᛥᛦᛧᛨᛩᛪ᛫᛬᛭ᛮᛯᛰ
    FONT="Segoe UI;Segoe UI Symbol|;Segoe UI Historic"
  SCRIPT="lisu" // ꓐꓑꓒꓓꓔꓕꓖꓗꓘꓙꓚꓛꓜꓝꓞꓟꓠꓡꓢꓣꓤꓥꓦꓧꓨꓩꓪꓫꓬꓭꓮꓯꓰꓱꓲꓳꓴꓵꓶꓷ ꓸꓹꓺꓻꓼꓽ꓾꓿
    FONT="Segoe UI;Segoe UI Symbol|;Segoe UI Historic"
  SCRIPT="ogam" // ᚁᚂᚃᚄᚅᚆᚇᚈᚉᚊᚋᚌᚍᚎᚏᚐᚑᚒᚓᚔᚕᚖᚗᚘᚙᚚ᚛᚜
    FONT="Segoe UI;Segoe UI Symbol|;Segoe UI Historic"
  SCRIPT="geor" // ႠႡႢႣႤႥႦႧႨႩႪႫႬႭ აბგდევზთიკლხჯჰჱჲჳჴჵჶჷჸჹჺ჻ჼჽჾჿ ⴀⴁⴂⴃⴄⴅⴆⴇⴈⴉⴊⴋⴌⴍⴎ
    FONT="Segoe UI;Segoe UI Symbol|;Segoe UI Historic;Sylfaen"
  SCRIPT="syrc" // ܐܑܒܓܔܕܖܗܘܙܚܛܜܝܞܟܠܡܢܣܤܥܦܧܨܩܪܫܬܭܮܯܱܴܷܸܹܻܼܾܰܲܳܵܶܺܽܿ݀݁ ݍݎݏ
    FONT="Segoe UI;Segoe UI Symbol|;Segoe UI Historic;Estrangelo Edessa"

  SCRIPT="deva" // ऄअआइईउऊऋऌऍऎएऐऑऒओऔकखगघङचछजझञटठडढणतथदधनऩपफबभमयरऱ
    FONT="Nirmala UI;Aparajita;Kokila;Mangal"
  SCRIPT="beng" // ওঔকখগঘঙচছজঝঞটঠডঢণতথদধন পফবভমযর ০১২৩৪৫৬৭৮৯ৰৱ৲৳৴৵৶৷৸৹৺৻
    FONT="Nirmala UI;Vrinda"
  SCRIPT="guru" // ਓਔਕਖਗਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨ ਪਫਬਭਮਯਰ ਖ਼ਗ਼ਜ਼ੜ  ਫ਼
    FONT="Nirmala UI;Raavi"
  SCRIPT="gujr" // અઆઇઈઉઊઋઌઍ ઓઔકખગઘઙચછજઝઞટઠડઢણતથદધન વશષસહ
    FONT="Nirmala UI;Shruti"
  SCRIPT="orya" // ଅଆଇଈଉଊଋଌ ଓଔକଖଗଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନ ପଫବଭମଯର ଵଶଷସହ
    FONT="Nirmala UI;Kalinga"
  SCRIPT="taml" // அஆஇஈஉஊ மயரறலளஷஸஹ ௦௧௨௩௪௫௬௭௮௯௰௱௲௳௴௵௶௷
    FONT="Nirmala UI;Latha;Vijaya"
  SCRIPT="telu" // అఆఇఈఉఊఋఌ ఒఓఔకఖగఘఙచఛజఝఞటఠడఢణత న పఫబభమయరఱలళ
    FONT="Nirmala UI;Gautami;Vani"
  SCRIPT="knda" // ಅಆಇಈಉಊಋಌ ಒಓಔಕಖಗಘಙಚಛಜಝಞಟಠಡಢಣತಥದಧನ
    FONT="Nirmala UI;Tunga"
  SCRIPT="mlym" // അആഇഈഉഊഋഌ ഔകഖഗഘങചഛജഝഞടഠഡഢണതഥദധനഩ
    FONT="Nirmala UI;Kartika"
  SCRIPT="sinh" // අආඇඈඉඊඋඌඍඎඏඐඑඒඓඔඕඖ ඳපඵබභමඹයර
    FONT="Nirmala UI;Iskoola Pota"
  SCRIPT="olck" // ᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙ᱚᱛᱜᱝᱞᱟᱠᱡᱢᱣᱤᱥᱦᱧᱨᱩᱪᱫᱬᱭᱮᱯᱰᱱᱲᱳᱴᱵᱶᱷᱸᱹᱺᱻᱼᱽ᱾᱿
    FONT="Nirmala UI"

  SCRIPT="khmr" // កខគឃងចឆជឈញដឋឌឍ នបផពភមយរលវឝឞសហឡអឣឤឥឦឧឨឩឪឫឬឭឮឯ
    FONT="Leelawadee UI;Khmer UI"
  SCRIPT="lao " // ນບປຜຝພຟ ເແໂໃໄ ໐໑໒໓໔໕ ໙ ໜໝໞໟ ດຕຖທ ໐໑໒໓໔໕໖໗໘໙ ເແໂໃໄ ອຮຯະັາຳິີຶືຸູ
    FONT="Leelawadee UI;Lao UI"
  SCRIPT="bugi" // ᨀᨁᨂᨃᨄᨅᨆᨇᨈᨉᨊᨋᨌᨍᨎᨏᨐᨑᨒᨓᨔᨕᨖᨘᨗᨙᨚᨛ
    FONT="Leelawadee UI"

  SCRIPT="ethi" // ሀሁሂሃሄህሆሇለሉሊላሌልሎሏሐሗ መሙሚማሜም ፝፞፟፠፡።፣፤፥፦፧፨፩፪፫፬፭፮፯፰፱፲፳፴፵፶፷፸፹፺፻፼
    FONT="Ebrima;Nyala"
  SCRIPT="tfng" // ⴰⴱⴲⴳⴴⴵⴶⴷⴸⴹⴺⴻⴼⴽⴾⴿⵀⵁⵂⵃⵄⵅⵆⵇⵈⵉⵊⵋⵌⵍⵎⵏⵐⵑⵒⵓⵔⵕⵖⵗⵘⵙⵚⵛⵜⵝⵞⵟⵠⵡ
    FONT="Ebrima"
  SCRIPT="vai " // ꔀꔁꔂꔃꔄꔅꔆꔇꔈꔉꔊꔋꔌꔍ ꔒꔓꔔꔕꔗꔘꔙꔚꔛꔜꔝꔞꔟꔠꔡꔢꔣꔤꔥꔦꔧꔨꔩꔪꔫ
    FONT="Ebrima"
  SCRIPT="nko " // ߀߁߂߃߄߅߆߇߈߉ߊߋߌߍߎߏߐߑߒߓߔߕߖߗߘߙߚߛߜߝߞߟߠߡߢߣߤߥߦߧߨߩߪ߫߬߭߮߯߰߱
    FONT="Ebrima"

  SCRIPT="cher" // ᎠᎡᎢᎣᎤᎥᎦᎧᎨᎩᎪᎫᎬᎭᎮᎯᎰᎱᎲᎳᎴᎵᎶᎷᎸᎹᎺᎻᎼᎽᎾᎿᏀᏁᏂᏃᏄᏅᏆᏇᏈᏉᏊᏋᏌᏍᏎᏏᏐᏑ
    FONT="Gadugi;Plantagenet Cherokee"
  SCRIPT="cans" // ᢰᢱᢲᢳᢴᢵᢶᢻᢼᢽᢾᢿᣍᣎᣏᣐᣑᣒᣓᣔᣕᣖᣗᣛᣜᣝᣞᣟᣠᣡᘈᘉᘊᘋᘌᘍᘑᘒᘗᘘᘙᘚᘛᘜᘝᘞᘟᘤᘥᘦ
    FONT="Gadugi;Euphemia"

  SCRIPT="tale" // ᥐᥑᥒᥓᥔᥕᥖᥗᥘᥙᥚᥛᥜᥝᥞᥟᥠᥡᥢᥣᥤᥥᥦᥧᥨᥩᥪᥫᥬᥭ
    FONT="Microsoft Tai Le|"
  SCRIPT="talu" // ᦀᦁᦂᦃᦄᦅᦆᦇᦈᦉᦊᦋᦌᦍᦎᦏᦐᦑᦒᦓᦔᦕᦖᦗᦘᦙᦚᦛᦜᦝᦞᦟᦠᦡᦢᦣᦤᦥᦦᦧᦨᦩᦪᦫ
    FONT="Microsoft New Tai Lue|"
  SCRIPT="phag" // ꡀꡁꡂꡃꡄꡅꡆꡇꡈꡉꡊꡋꡌꡍꡎꡏꡐꡑꡒꡓꡔꡕꡖꡗꡘꡙꡚꡛꡜꡝꡞꡟꡠꡡꡢ
    FONT="Microsoft PhagsPa|"
  SCRIPT="tibt" // ༀ༁༂༃༄༅༆༇༈༉༊་༌།༎༏༐༑༒༓༔༕༖༗༘༙༚༛༜༝༞༟༠༡༢༣༤༥༦༧༨༩༪༫༬༭༮༯༰༱
    FONT="Microsoft Himalaya|"
  SCRIPT="thaa" // ހށނރބޅކއވމފދތލގޏސޑޒޓޔޕޖޗޘޙޚޛޜޝޞޟޠޡޢޣޤ
    FONT="MV Boli"
  SCRIPT="mong" // ᠠᠡᠢᠣᠤᠥᠦᠧᠨᠩᠪᠫᠬᠭᠮᠯᠰᠱᠲᠳᠴᠵᠶᠷᠸᠹᠺᠻᠼᠽᠾᠿᡀᡁᡂᡃᡄᡅᡆᡇᡈᡉᡊᡋᡌᡍᡎᡏᡐᡑ ᡒᡓᡔᡕᡖᡗᡘᡙᡚᡛᡜᡝᡞᡟᡠᡡᡢᡣᡤᡥᡦᡧᡨᡩᡪᡫᡬᡭᡮᡯᡰᡱᡲᡳᡴᡵᡶᡷ
    FONT="Mongolian Baiti|"
  SCRIPT="mymr" // ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအဢဣဤဥဦဧဨဩဪါာိီုူေ
    FONT="Myanmar Text|"
  SCRIPT="java" // ꦲ꦳ꦴꦵꦶꦷꦸꦹꦺꦻꦼꦽꦾꦿ꧀꧁꧂꧃꧄꧅꧆꧇꧈꧉꧊꧋꧌꧍ ꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙
    FONT="Javanese Text|"

  SCRIPT="?"    // Any other script (not listed): must be the last item!
    FONT="Arial;Tahoma;Courier New;" +
         "Segoe UI;Segoe UI Symbol|;Segoe UI Historic"

  // -------------------------------------------------------------------------------
  // Unicode for Windows is a project in progress...
  // On Windows 7 some scripts (above) will not display due to the lack of fonts
  // or glyphs. On Windows 10 they will display correctly.
  //
  // The following 20 script tags are defined on Windows 10 but currently no font
  // that comes with Windows 10 has glyphs for them (this may change in the future):
  //
  // SCRIPT="bali" // ᬅᬆᬇᬈᬉᬊᬋᬌᬍᬎᬏᬐᬑᬒᬓᬔᬕᬖᬗᬘᬙᬚᬛᬜᬝᬞᬟᬠᬡᬢᬣᬤᬥᬦᬧᬨᬩᬪᬫᬬᬭᬮᬯᬰᬱ
  // SCRIPT="batk" // ᯀᯁᯂᯃᯄᯅᯆᯇᯈᯉᯊᯋᯌᯍᯎᯏᯐᯑᯒᯓᯔᯕᯖᯗᯘᯙᯚᯛᯜᯝᯞᯟᯠᯡᯢᯣᯤᯥ᯦ᯧᯨᯩᯪᯫᯬᯭᯮᯯᯰᯱ
  // SCRIPT="buhd" // ᝀᝁᝂᝃᝄᝅᝆᝇᝈᝉᝊᝋᝌᝍᝎᝏᝐᝑᝒᝓ
  // SCRIPT="cham" // ꨀꨁꨂꨃꨄꨅꨆꨇꨈꨉꨊꨋꨌꨍꨎꨏꨐꨑꨒꨓꨔꨕꨖꨗꨘꨙꨚꨛꨜꨝꨞꨟꨠꨡꨢꨣꨤꨥꨦꨧꨨꨩꨪꨫꨬꨭꨮꨯꨰꨱ
  // SCRIPT="hano" // ᜠᜡᜢᜣᜤᜥᜦᜧᜨᜩᜪᜫᜬᜭᜮᜯᜰᜱᜲᜳ᜴᜵᜶
  // SCRIPT="kali" // ꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉ꤊꤋꤌꤍꤎꤏꤐꤑꤒꤓꤔꤕꤖꤗꤘꤙꤚꤛꤜꤝꤞꤟꤠꤡꤢꤣꤤꤥꤦꤧꤨꤩꤪ꤫꤬꤭
  // SCRIPT="lana" // ᨠᨡᨢᨣᨤᨥᨦᨧᨨᨩᨪᨫᨬᨭᨮᨯᨰᨱᨲᨳᨴᨵᨶᨷᨸᨹᨺᨻᨼᨽᨾᨿᩀᩁᩂᩃᩄᩅᩆᩇᩈᩉᩊᩋᩌᩍᩎᩏᩐᩑ
  // SCRIPT="lepc" // ᰀᰁᰂᰃᰄᰅᰆᰇᰈᰉᰊᰋᰌᰍᰎᰏᰐᰑᰒᰓᰔᰕᰖᰗᰘᰙᰚᰛᰜᰝᰞᰟᰠᰡᰢᰣᰤᰥᰦᰧᰨᰩᰪᰫᰬᰭᰮᰯᰰᰱ
  // SCRIPT="limb" // ᤀᤁᤂᤃᤄᤅᤆᤇᤈᤉᤊᤋᤌᤍᤎᤏᤐᤑᤒᤓᤔᤕᤖᤗᤘᤙᤚᤛᤜᤝᤞ
  // SCRIPT="mand" // ࡀࡁࡂࡃࡄࡅࡆࡇࡈࡉࡊࡋࡌࡍࡎࡏࡐࡑࡒࡓࡔࡕࡖࡗࡘ࡙࡚࡛
  // SCRIPT="mtei" // ꫠꫡꫢꫣꫤꫥꫦꫧꫨꫩꫪꫫꫬꫭꫮꫯ꫰꫱ꫲꫳꫴꫵ꫶
  // SCRIPT="qavs" // ︀︁︂︃︄︅︆︇︈︉︊︋︌︍︎️
  // SCRIPT="rjng" // ꤰꤱꤲꤳꤴꤵꤶꤷꤸꤹꤺꤻꤼꤽꤾꤿꥀꥁꥂꥃꥄꥅꥆꥇꥈꥉꥊꥋꥌꥍꥎꥏꥐꥑꥒ꥓
  // SCRIPT="samr" // ࠀࠁࠂࠃࠄࠅࠆࠇࠈࠉࠊࠋࠌࠍࠎࠏࠐࠑࠒࠓࠔࠕࠖࠗ࠘࠙ࠚࠛࠜࠝࠞࠟࠠࠡࠢࠣࠤࠥࠦࠧࠨࠩࠪࠫࠬ࠭
  // SCRIPT="saur" // ꢂꢃꢄꢅꢆꢇꢈꢉꢊꢋꢌꢍꢎꢏꢐꢑꢒꢓꢔꢕꢖꢗꢘꢙꢚꢛꢜꢝꢞꢟꢠꢡꢢꢣꢤꢥꢦꢧꢨꢩꢪꢫꢬꢭꢮꢯꢰꢱ
  // SCRIPT="sund" // ᮃᮄᮅᮆᮇᮈᮉᮊᮋᮌᮍᮎᮏᮐᮑᮒᮓᮔᮕᮖᮗᮘᮙᮚᮛᮜᮝᮞᮟᮠᮡᮢᮣᮤᮥᮦᮧᮨᮩ᮪᮫ᮬᮭ
  // SCRIPT="sylo" // ꠃꠄꠅ꠆ꠇꠈꠉꠊꠋꠌꠍꠎꠏꠐꠑꠒꠓꠔꠕꠖꠗꠘꠙꠚꠛꠜꠝꠞꠟꠠꠡꠢꠣꠤꠥꠦꠧ꠨꠩꠪꠫
  // SCRIPT="tagb" // ᝠᝡᝢᝣᝤᝥᝦᝧᝨᝩᝪᝫᝬᝮᝯᝰᝲᝳ
  // SCRIPT="tavt" // ꪀꪁꪂꪃꪄꪅꪆꪇꪈꪉꪊꪋꪌꪍꪎꪏꪐꪑꪒꪓꪔꪕꪖꪗꪘꪙꪚꪛꪜꪝꪞꪟꪠꪡꪢꪣꪤꪥꪦꪧꪨꪩꪪꪫꪬꪭꪮꪯꪰꪱ
  // SCRIPT="tglg" // ᜀᜁᜂᜃᜄᜅᜆᜇᜈᜉᜊᜋᜌᜎᜏᜐᜑᜒᜓ᜔
  //
  // -------------------------------------------------------------------------------

- Keywords, Switches, and Filter sets now allow a new highlighting
attribute property:

  FONT_NAME

When "fancy" UNISCRIBE text processing is enabled this makes it
possible to change the font family as a highlighting attribute.

  Example: Default settings use a "nice" variable width font
  Verdana for HTML documents. Some switch environments
  (pre-formatted, comments, tables, images, teletype) use Courier
  New font. This make text look pretty good but it comes with a
  price as formatting becomes more sophisticated and slower (in
  huge documents). Also not all combinations of fonts mix well with
  a fixed line height. Keep this in mind if you want to use this
  feature for other modes. See also the guidelines on how to use
  "fancy" Uniscribe settings without degrading the performance...

- Two new FONT and FONT_SCHEMES properties have been introduced:

  EXTRA_LINE_SPACING_ABOVE
  EXTRA_LINE_SPACING_BELOW

to give more control over the line spacing. The "old" property
EXTRA_LINE_SPACING is still available (for compatibility's sake)
and it simply splits the spacing between the above values (Above =
n div 2 and Below is the rest) just like before.

Depending on scripts and selected fonts it is sometimes useful to
distinguish between these two properties (some scripts use a lot of
space above the baseline while some other fonts and scripts require
extra space under the baseline). These two properties can be
adjusted in the Preferences Dialog...

- New 0/1 property TAB_DRAW for TAB characters. When enabled Tab
characters are discretely drawn (using a custom algorithm similar
to underlined misspelled words) in order to distinguish them from
spaces. This property does not affect the alignment properties of
tabs. This option is ignored when Tabs are translated and displayed
(TAB_EXPAND=2). This property can also be set in the Tab page of
the Preferences Dialog...

- Filter Sets now allow extra 0/1 property EXTENDED. When set to 1
Unicode characters > #255 match the set (even though the set
expressions are limited to Ansi characters). A typical example
where this property is required is a filter set "~\" (and few other
"negated" sets)...

- Document Tabs now allow an extra 0/1 property SHOW_HINTS. When
enabled the full path and filename of a document is displayed as a
hint when mouse pointer hovers over the tab...

- [COLORS] section now contains named colors that are used for all
Keywords and Switches in the default settings. Users that
customized their highlighting do not have to use these color names.
However, if you want to load any of the alternative color schemes
included in this version you will have to update your customized
settings with color names. Then you can remove the comment in front
of your preferred alternative scheme and reload the settings:

// ===============================================================================

// Alternative Themes (they redefine named colors):
// ================================================
//
// %INCLUDE="ConfigEx\Themes\Midnight Black.ini"
// %INCLUDE="ConfigEx\Themes\Midnight Blue.ini"
// %INCLUDE="ConfigEx\Themes\Midnight Green.ini"
// %INCLUDE="ConfigEx\Themes\Solarized Light.ini"
// %INCLUDE="ConfigEx\Themes\Solarized Dark.ini"

// ===============================================================================

Users with artistic skills can provide more alternatives based on
these examples (it is just a matter of redefining the colors)...

The idea behind this modification is to make it possible to define
and share alternative colors schemes without having to work
directly with keywords and switches (which most users find
intimidating) or directly the generic RGB_0..RGB_F basic filenames
which do not have any obvious meaning. Providing and loading a list
of alternative colors is all that is required and named colors
allow for complete customization. This was not possible working
only with RGB_0..RGB_F colors and a few named colors available in
previous versions. The default colors and appearance did not
change...

Options Menu contains a submenu Theme that allows you to switch
between the default theme and custom predefined themes listed above
(without editing the configuration script Colors.ini).

- Alternative toolbars have now been placed in subfolder
ConfigEx\Toolbars in order to reduce the increasing number of
configuration files in ConfigEx\*.ini...

Default Toolbar settings contain comments that make it easy to
activate any of the predefined toolbar alternatives:

// It is easy to comment out unwanted buttons and/or add/uncomment
// the ones that you want in your custom toolbar!

// Alternatives:
// =============
//
// %%INCLUDE="ConfigEx\Toolbars\Toolbar1l.ini" // 1-row Toolbar (Large)
// %%INCLUDE="ConfigEx\Toolbars\Toolbar1s.ini" // 1-row Toolbar (Small)
// %%INCLUDE="ConfigEx\Toolbars\Toolbar1c.ini" // 1-row Toolbar (Custom)
// %%INCLUDE="ConfigEx\Toolbars\Toolbar2d.ini" // 2-row Toolbar (Large)
// %%INCLUDE="ConfigEx\Toolbars\Toolbar2s.ini" // 2-row Toolbar (Small)
// %%INCLUDE="ConfigEx\Toolbars\Toolbar2c.ini" // 2-row Toolbar (Custom)
// %%INCLUDE="ConfigEx\Toolbars\Toolbar5x.ini" // 2-row (WinEdt 5-style) Toolbar

Options Menu contains a submenu Toolbar that allows you to switch
between the default theme and custom predefined toolbars listed
above (without editing the configuration script Toolbar.ini).

- Generic lists in INI files can now be folded. For example try:

  FoldNodes(1,0,"INI:LIST");

in Keywords.ini...

- Auto completion event handler macros can now determine how was
the completion triggered by checking the value of %-? register:

  0: Double-click
  1: Tab Key
  2: Enter Key

Advanced users can modify event handlers taking this information
into consideration. Default handlers do not distinguish between the
triggers...

- New macro:

  GetScriptTagsAndFonts(Register: -11..9; All: 0..1);

When All is zero only the list of currently cashed fonts is
displayed. Otherwise all available fonts and supported unicode
scripts on your system are listed in the specified register. The
result is over 10K lines long and it contains all script ranges of
unicode characters. This macro was used to help prepare the default
settings for script-dependent fallback fonts as used by the new
Uniscribe Scripting Engine. It is of little interest to other users
unless they want to customize Uniscribe engine to better handle
complex languages used on their system or test for any
unicode-related oddities on their Windows.

- A new option for the menu shortcuts:

  ALLOW_ALTGR_SHORTCUTS=1

Unless this option is enabled AltGr shortcuts are ignored in WinEdt
menu (only Ctrl+Alt can be used) otherwise AltGr qualifier is
equivalent to Ctrl+Alt. Most users will not care or notice any
difference but those that feel that it should be one way or another
can now reset this value. Note that it is not recommended to use
such shortcuts in the menu (they can interfere with windows
keyboard shortcuts on some keyboard layouts) but it is really up to
you...

- A refresh bug after pasting multi-line text at the end of a
document with disabled environment background option has been fixed
(not commonly encountered)...

- Backward search inside selected text (not commonly used function)
did not work properly and mostly failed to find a match. This has
now been fixed...

- Horizontal scrolling when selecting text with a mouse now uses a
delay in order to slow it down. The speed increases if you move the
mouse over the edge of the Window client (vertical scrolling was
already using this feature). Not many users rely on this
functionality but those that use mouse to select text in long lines
will find this an improvement as it was hard to control the
selection when fast horizontal scrolling "kicked" in....

- A problem with MiKTeX's "Install Packages on Demand"
functionality when running console applications inside WinEdt
console has been fixed (regardless of whether the packages are
installed on user or system level with UAC and regardless of MiKTeX
asking for conformation or not). It turns out that MiKTeX's
accessories (except TeXify) cannot initiate download and
installation of missing packages with any kind of prompt if the
process was created within invisible (hidden) console Window (it is
not clear why: a bug in MiKTeX). However, the way around this
problem is NOT to create (and then hide) an external console Window
at all. Simple enough, once you find out what exactly is the
matter...

As a consequence a few minor changes have been made to RunConsole
and WinExe macros (see the documentation - Macro Manual - for
details). It is unlikely that this will cause any incompatibilities
with custom macros that use these two functions (since the default
values for extended parameters do what is needed).

- MiKTeX users should update to the latest version of MiKTeX (Use
WinEdt's TeX Menu -> MiKTeX -> MiKTeX Update Wizard) in order to
allow WinEdt compilation macros take advantage of some recent
MiKTeX fixes when it comes to handling of input paths...

- New 0/1 parameter DetectExitCode for RunConsole. Zero value
implies that exit codes that indicate a possible exception (access
violation, floating point error, cancellation) are ignored by
WinEdt... This is useful for console applications that return
(non-standard) exit code outside the common ranges expected from
Windows console applications: no point in disturbing a user with
(harmless) extra messages.

- Optional parameter Priority: -1..1 has been added to Run and
RunConsole macro functions (to make them compatible with WinExe
just in case)...

- Optional parameter Unicode: -1..1 has been added to SendMail
macro function. When set to 1 (or 0 on Windows 10) it uses unicode
version of MAPI interface (MAPISendMailW). According to MS
documentation this is a preferred behavior on Windows 10 (with
recent versions of Office and Outlook). When set to -1 it always
uses non-unicode (legacy) version (MAPISendMail). Details depend on
your email client (there is no guarantee that this function works
under all circumstances)...

- PDF macros no longer use DDE for SumatraPDF. Using the command
line switch -forward-search is faster and more reliable. I had a
report that DDE stopped working after a Windows 10 update. Using a
command line switch (if it exists) is always preferable (simple is
better). Besides DDE does not (and will not) support Unicode!

- Templates and macros that use them have been modified by skipping
the %B qualifier in their specification. This makes it easier to
localize them without having to modify any macro or configuration
scripts (just make a local customized copy in %b)...

- A few minor bug fixes and improvements...

__________________________________________________________________


WinEdt 9 [Build 20150731 (v. 9.1)]
==================================

(see History)...

------------------------------------------------------------------
