What's New?

WinEdt 10.3 is now the official version of the program. Below you will find the changes log pertaining to the latest version and build of WinEdt...

  * 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).


  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

  - 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

  - 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

  - 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

  - 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

  - 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

  - 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

  - 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:


  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:

    \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


      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

  - 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:


  - 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:


  - 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:

      REGULAR_EXPRESSION="@$Alpha+Numeric+[""_""]$@{ }=@{ }""\(*\)"""
      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
  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

      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
      // Save only if idle for specified time in msec:
      // Auto Save WinEdt Configuration
      // Save only if idle for specified time in msec:

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



  - 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);

  configuration section now allows values 0..2 with the following

    // 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

  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);



  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

  - 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):


  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):


  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:


  - 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

    %!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

  - 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

  - 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:


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

  - A new 0/1 property for [PREFERENCES]


  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]:


  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]:


  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:


  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!

    // 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_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!
    // 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)...

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

      FONT="Gadugi;Plantagenet Cherokee"
    SCRIPT="cans" // ᢰᢱᢲᢳᢴᢵᢶᢻᢼᢽᢾᢿᣍᣎᣏᣐᣑᣒᣓᣔᣕᣖᣗᣛᣜᣝᣞᣟᣠᣡᘈᘉᘊᘋᘌᘍᘑᘒᘗᘘᘙᘚᘛᘜᘝᘞᘟᘤᘥᘦ

    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:


  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:


  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

  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:


  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

  - 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:


  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

  - 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

  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)...