A [LangOptions] section is used to define the language-specific settings, such as fonts, used by the Setup program and uninstaller. Normally, you need not create a [LangOptions] section in your script file, since the language-specific settings are, by default, pulled in from the file Default.isl included with Inno Setup (or whichever file is specified by a [Languages] section entry).
The following is an example of a [LangOptions] section. (The settings listed below are the defaults.)
[LangOptions] LanguageName=English LanguageID=$0409 LanguageCodePage=0 DialogFontName= DialogFontSize=9 DialogFontBaseScaleWidth=7 DialogFontBaseScaleHeight=15 WelcomeFontName=Segoe UI WelcomeFontSize=14 RightToLeft=no
LanguageName is the native name of the language (so not the English name). It is displayed in the list of available languages on the Select Language dialog in a multilingual installation.
LanguageID is the numeric "language identifier" of the language. Refer to the list of valid language identifiers on MSDN
. This, along with LanguageCodePage, is used for the purpose of auto-detecting the most appropriate language to use by default, so be sure it is set correctly. It should always begin with a "$" sign, since language identifiers are in hexadecimal. If no language identifier currently exists for the language, set this to zero.
LanguageCodePage specifies the "code page" (character set) used by the compiler to convert any non-Unicode text in the language's files to Unicode text. Note that any text in the .iss file such as a [CustomMessages] entry for the language is never converted and should be in Unicode already.
If no code page currently exists for the language, set LanguageCodePage to zero and only use Unicode text (UTF-8) in the languages's files.
If the language only uses ASCII characters (like English), set LanguageCodePage to zero as well.
If LanguageCodePage is set to zero but non-Unicode text is used in one of the language's files, the system code page will be used to convert the text in the file to Unicode.
DialogFontName, DialogFontSize, DialogFontBaseScaleWidth, and DialogFontBaseScaleHeight specify the font name and point size to use in dialogs. If no DialogFontName setting is present, then the value of the DefaultDialogFontName [Setup] section directive is used for the font name. If the specified font name does not exist on the user's system or is an empty string, 9-point Segoe UI will be substituted.
Before Inno Setup 6.6, the default font was 8-point Tahoma instead of 9-point Segoe UI. To use this font again without changes in scaling, use:
DialogFontName=Tahoma DialogFontSize=8 DialogFontBaseScaleHeight=13 DialogFontBaseScaleWidth=6
If you were already using 9-point Segoe UI before Inno Setup 6.6, you will notice a change in scaling when you update. To use your previous scaling, use:
DialogFontName=Segoe UI DialogFontSize=9 DialogFontBaseScaleHeight=13 DialogFontBaseScaleWidth=6
WelcomeFontName and WelcomeFontSize specify the font name and point size to use at the top of the Welcome and Setup Completed wizard pages. If the specified font name does not exist on the user's system or is an empty string, 14-point Segoe UI will be substituted.
Before Inno Setup 6.6, the default font was 12-point Verdana instead of 14-point Segoe UI. To use this font again, use:
WelcomeFontName=Verdana WelcomeFontSize=12
RightToLeft specifies whether the language is written from right to left. If set to yes, text alignment and reading order will be reversed (with some intentional exceptions), and controls will be arranged from right to left ("flipped").
In cases where there are multiple [Languages] section entries, specifying a [LangOptions] section directive in your script (as opposed to an .isl file) will by default override that directive for all languages. To apply a [LangOptions] section directive to only one language, prefix it with the language's internal name followed by a period. For example:
en.LanguageName=English
Feature removed in 6.4. TitleFontName and TitleFontSize used to specify the font name and point size to use when displaying the application name on the background window (only visible when WindowVisible=yes). If the specified font name does not exist on the user's system, 29-point Arial will be substituted. If the specified font name is an empty string, 29-point Microsoft Sans Serif or MS Sans Serif will be substituted.
Feature removed in 6.4. CopyrightFontName and CopyrightFontSize used to specify the font name and point size to use when displaying the AppCopyright message on the background window (only visible when WindowVisible=yes). If the specified font name does not exist on the user's system, 8-point Arial will be substituted. If the specified font name is an empty string, 8-point Microsoft Sans Serif or MS Sans Serif will be substituted.