IE settings for surrogates support

From: Philippe VERDY (
Date: Mon Nov 24 2003 - 09:47:16 EST

  • Next message: Mark E. Shoulson: "Re: Compression through normalization" wrote:
    > > To install the registry keys necessary for IE to display surrogate pairs
    > > simply
    > > copy the code below to a file named "something.reg" and
    > double-click on it.
    > > Replace "Code2001" with the name of your preferred Supra-BMP font if
    > > necessary.
    > >
    > >
    > > Windows Registry Editor Version 5.00
    > >
    > > [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
    > > NT\CurrentVersion\LanguagePack]
    > > "SURROGATE"=dword:00000002

    This setting is correct, and enabled in Windows when you install the support
    for complex asian scripts in the regional settings.

    > > [HKEY_CURRENT_USER\Software\Microsoft\Internet
    > > Explorer\International\Scripts\42]
    > > "IEFixedFontName"="Code2001"
    > > "IEPropFontName"="Code2001"
    > >
    > On this note, does anyone know why this isn't enabled by default?
    > Presumably
    > there is some risk and/or performance issue if this is enabled. Microsoft
    > recommend (or at least used to) that you only do this registry
    > change if you
    > have a strong use-case for it.
    > Anyone know the details?

    This setting is incorrect: the script IDs go between 3 and 40, but I don't
    know why there's no setting for scripts 1 and 2, or script 41. There must
    also exist some other setting to map ranges of unicode code points to script
    ids. The value of the script ID may then depend on the version of some
    windows component which gives the script property of codepoints.
    I don't have this setting for script 42, but I can display surrogates. It's
    just a shame that Microsoft chose to use numeric script IDs here instead of
    using the standard script codes.

    This part of the user settings is normaly configured in the "Internet
    Explorer" properties panel, when you click on the "Fonts" button which lists
    supported scripts and associate them with prefered fonts.

    Also the supported fonts must have first been mapped to the codepoints they
    support. Some fonts are glyph indexed rather than indexed by code point.
    Some of them must be parsed and setup specially to allow converting the code
    points they should support into base glyph ids.
    I think that this is done when installing UniScribe to update the local
    fonts cache.

    This archive was generated by hypermail 2.1.5 : Mon Nov 24 2003 - 10:35:43 EST