MicroStation Font Configuration File


  Product: MicroStation  
  Version: CONNECT, 2023 - 2025  
  Environment: N\A  
  Area: Text  
  Subarea: Fonts  

Font Configuration File

The font configuration file controls font-related settings for different locales and associates product-specific information with individual fonts. This file is installed in ...\Default\fonts folder in MicroStation's program directory and can be modified with any text or XML editor and saved within your configuration. The font configuration file location is specified by MS_FONTCONFIGFILE and should be defined to your new location within a configuration file controlled by the user.

The configuration variable MS_SYSFONTDIR specifies the directory with the default fonts. The default is ...\Default\fonts folder in MicroStation's program directory.

Note: The delivered font configuration file contains detailed syntax information should you need to modify the file. For example, in MicroStation 2025, it's located at C:\Program Files\Bentley\MicroStation 2025\MicroStation\Default\Fonts\MstnFontConfig.xml 

Language-Based Options

The Language-Based Options section specifies the default fonts and font options that are specific to the user´s language.

To support the needs of different languages, the font configuration file defines some settings based on the locale. This includes default, or fallback, fonts, as well as some other options. Your computer's code page controls the locale settings that are used. You can control the code page through the Windows' Region and Language settings.

You use default fonts when opening design files that use fonts you do not have. Text elements will then use default fonts based on font type instead. Defining an appropriate default font will allow these elements to be readable by ensuring that the default font supports the characters in the given language.

If a True Type font is missing a character, custom font creation allows MicroStation to ask Windows to get the character out of a fallback font. This process requires overhead when displaying each text element, regardless of whether a substitution is necessary. Its use is discouraged. It is recommended that you use a language-appropriate font. Rules for finding fallback fonts and characters are governed by Windows. The display may vary between versions or configurations of Windows.

Different languages have varying needs for character lookup and layout. Because this can add overhead when displaying text elements, True Type font layout controls what process is available. Disabling complex script processing can speed up the display of text elements, but it cannot always be disabled.

While the out-of-the-box configuration suffices for the vast majority of cases, if you deploy custom fonts and hide out-of-the-box fonts, you can change the default fonts to your customizations.

Syntax

<Languages>

    <LangInfo>

        <Language>English|Japanese|SimpChinese|Korean|TradChinese|Vietnamese|Arabic|Hebrew|Thai</Language>

        <DefaultRscFont>Name[,Name[mldr ]]</</DefaultRscFont>

        <DefaultTTFont>Name[,Name…]</</DefaultTTFont>

        <DefaultShxFont>Name[,Name…]</</DefaultShxFont>

        <DefaultShxBigFont>Name[,Name[mldr ]]</</DefaultShxBigFont>

        <CustomFontCreation>True|False</CustomFontCreation>

    </LangInfo>

    . . .

</Languages>

<Languages>

Only a single instance of this node can exist within the root <FontConfig> node. The only valid children for this node are <LangInfo> nodes.

<LangInfo>

One or more of these nodes many exist within the <Languages> node, each specifying options that are language-specific. Child nodes are as follows:

<Language>

Name of the language being specified; corresponds to valid values of MS_RTCONFIG.

<DefaultRscFont>

Comma-separated list of names of default RSC fonts to use for missing RSC fonts.

<DefaultTTFont>

Comma-separated list of names of default TrueType fonts to use for missing TrueType fonts.

<DefaultShxFont>

Comma-separated list of names of default SHX fonts to use for missing SHX fonts. This list should not contain SHX Bigfonts.

<DefaultShxBigFont>

Comma-separated list of names of default SHX Bigfonts to use for missing SHX Bigfonts. This list should not contain normal SHX fonts or SHX Unifonts.

<CustomFontCreation>

(Optional) Indicates whether MicroStation should use font linking to allow Windows to substitute fonts on a character-by-character basis for missing glyphs. This is different than font substitution. See comments above under TrueType for additional details. The default value is “False.”

In the case of specifying default font names, if more than one font name is specified, MicroStation uses the first font in the list that is actually present on the system.

MicroStation uses the LangInfo section based on the value of the MS_RTCONFIG configuration variable, if present, or the Windows system locale (set via the control panel) if MS_RTCONFIG is not specified.

Font-Based Options

The Font-Based options provide information about each of the fonts used by MicroStation.

MicroStation requires additional information about fonts that is not stored in the font itself. The settings by font in this file associate on a font type and name basis.

Information about product-delivered fonts is already included and you should not have to modify this information. If you have custom fonts in your configuration, you can manually specify this information for your custom font otherwise various defaults will be used, which may or may not be appropriate for your font. When specifying information for a font, it is uniquely identified by its type and name. If multiple fonts of the same type share all information, a single specification can contain a list of names. A font can only appear once in the file. If a font appears more than once, the behavior is undefined.

Named symbols appear in the same list as favorite symbols in the text editor. Named symbols specified in the font configuration file will be common to all users who use the configuration. They cannot be modified by users unlike favorite symbols. The intent of named symbols is to provide quick access to commonly used symbols, notably in custom fonts.

Syntax

<Fonts>

    <RscFontInfo>

        <Name>*|Name[Name...]</Name>

        <CodePage>Numeric Code Page</CodePage>*

        <Hidden>True|False</Hidden>

        <DiameterChar>Character Code</DiameterChar>

        <PlusMinusChar>Character Code</PlusMinusChar>

        <DegreeChar>Character Code</DegreeChar>

        <CreateShxUnifont>Character Code</CreateShxUnifont>

        <CreateEditorTempFont>True|False</CreateEditorTempFont>

   </RscFontInfo>

   . . .

   <ShxFontInfo>

        <Name>*|Name[Name...]</Name>

        <CodePage>Numeric Code Page</CodePage>*

        <Hidden>True|False</Hidden>

        <DiameterChar>Character Code</DiameterChar>

        <PlusMinusChar>Character Code</PlusMinusChar>

        <DegreeChar>Character Code</DegreeChar>

   <ShxFontInfo>

   . . .

   <TTFontInfo>

        <Name>*|Name[Name...]</Name>

        <Hidden>True|False</Hidden>

   <TTFontInfo>

   . . .

</Fonts>

<Fonts>

Only a single instance of this node can exist within the root <FontConfig> node. Valid children for this node are <RscFontInfo>, <ShxFontInfo>, and <TTFontInfo> nodes.

<RscFontInfo>

One or more of these nodes may exist within the <Fonts> node, each specifying options for one or more RSC fonts. Child nodes are as follows:

<Name>

Comma-separated list of RSC font names to which these settings apply. The last instance of an <RscFontInfo> node can contain “*”, indicating the settings apply to any RSC font not listed in another instance.

<CodePage>

Locale code page of the font(s) (see http://en.wikipedia.org/wiki/Code_page for explanation and values).

<Hidden>

(Optional) Determines whether the font(s) are hidden from the user interface. Hidden fonts do not appear in lists of fonts presented to the user, but are still loaded by MicroStation and may be used to render existing text in the case that existing files reference them. The default value is False.

<DiameterChar>

Numeric character code, in the fonts´ locale, of the diameter symbol. This number is in base-10 (e.g., not a hexadecimal number).

<PlusMinusChar>

Numeric character code, in the fonts´ locale, of the plus/minus symbol. This number is in base-10 (e.g. not a hexadecimal number).

<DegreeChar>

Numeric character code, in the fonts´ locale, of the degree symbol. This number is in base-10 (e.g., not a hexadecimal number).

<CreateShxUnifont>

(Optional) Determines whether to create an SHX Unifont when exporting the font(s) to DWG. If disabled, MicroStation exports a normal SHX font, and if required, a paired SHX Bigfont. This should only be set to False in exceptional cases for backwards compatibility. Bigfonts are inherently problematic and should be avoided wherever possible. The default value is True.

<CreateEditorTempFont>

(Optional) Determines if the word processor generates and shows a TrueType representation of this font, or another fallback TrueType font. Some large RSC fonts can take a long time to convert (this happens once per font per user) and create very large TrueType font files. In these cases, set this value to False. The default value is True.

<ShxFontInfo>

One or more of these nodes may exist within the <Fonts> node, each specifying options for one or more RSC fonts. Child nodes are as follows:

<Name>

Comma-separated list of SHX font names (normal fonts, Bigfonts, and/or Unifonts) to which these settings apply. The last instance of an <ShxFontInfo> node can contain “*”, indicating the settings apply to any SHX font not listed in another instance.

<CodePage>

(Non-Unifonts) Locale code page of the font(s). Not valid for Unifonts, which are assumed to be Unicode (1200).

<DiameterChar>

(Optional) Numeric character code, in the fonts´ locale, of the diameter symbol. This number is in base-10 (e.g., not a hexadecimal number). For normal SHX fonts, the default value is “127. For Bigfonts, the default value is the locale encoded version of the Unicode empty set symbol. For=r Unifonts, the default value is “8709” (the Unicode empty set symbol).

<PlusMinusChar>

(Optional) Numeric character code, in the fonts´ locale, of the plus/minus symbol. This number is in base-10 (e.g., not a hexadecimal number). For normal SHX fonts, the default value is “128.” For Bigfonts, the default value is the locale encoded version of the Unicode plus/minus symbol. For Unifonts, the default value is “177” (the Unicode plus/minus symbol).

<DegreeChar>

(Optional) Numeric character code, in the fonts´ locale, of the degree symbol. This number is in base-10 (e.g., not a hexadecimal number). For normal SHX fonts, the default value is “129. ” For Bigfonts, the default value is the locale encoded version of the Unicode degree symbol. For Unifonts, the default value is “176” (the Unicode degree symbol).

<Hidden>

(Optional) Determines whether the font(s) are hidden from the user interface. Hidden fonts do not appear in lists of fonts presented to the user, but are still loaded by MicroStation and may be used to render existing text in the case that existing files reference them. The default value is False.

<TTFontInfo>

One or more of these nodes may exist within the <Fonts> node, each specifying options for one or more TrueType fonts. Child nodes are as follows:

<Name>

Comma-separated list of TrueType font names to which these settings apply. The last instance of an <TTFontInfo> node can contain “*”, indicating the settings apply to any TrueType font not listed in another instance.

<Hidden>

(Optional) Determines whether the font(s) are hidden from the user interface. Hidden fonts do not appear in lists of fonts presented to the user, but are still loaded by MicroStation and may be used to render existing text in the case that existing files reference them. The default value is False.

Additional Options

Syntax

<HideDuplicateNames>True|False</HideDuplicateNames>

<HideDuplicateNames>

Only one instance of this node can exist within the root <FontConfig>node. The default value is True. When on, fonts are hidden if a font by that name already exists given the following font type precedence: RSC, SHX, TrueType. In other words, when on, if both an RSC “Arial” and a TrueType “Arial” exist on the computer, only the RSC “Arial” is shown; TrueType “Arial” is hidden from the user interface. This precedence derives from the fact that duplicate font names typically arise from fonts that are automatically created when saving files to DWG (for example, SHX from RSC, TrueType from RSC). To override this precedence for a particular font, create an entry for the unwanted RSC or SHX font, and set it to Hidden. When disabled, all fonts are shown regardless of duplicate names between font types.

 

Other language sources

Deutsch

 

  Original Author: Bentley Technical Support Group