Fact-checked by Grok 2 weeks ago

Windows Glyph List 4

The Windows Glyph List 4 (WGL4) is a Microsoft-defined character repertoire consisting of 652 Unicode characters recommended for inclusion in fonts supporting Latin scripts on Windows operating systems, ensuring broad compatibility for text rendering across Western, Central, and Eastern European languages. Developed in the late 1990s as part of Microsoft's efforts to standardize font support beyond legacy 8-bit code pages, WGL4 expands on earlier sets like ISO 6937 by incorporating essential glyphs for approximately 30 European languages, including accented Latin letters, Greek and Cyrillic characters, punctuation, currency symbols, and mathematical operators. Its purpose is to guarantee that core Windows applications and web content display correctly without font substitution issues, particularly for pan-European localization. WGL4 remains a foundational for font developers, with many system fonts like and including all its glyphs; however, modern Windows versions support far more extensive coverage, making WGL4 a minimal rather than a comprehensive standard.

Background and History

Origins and Development

In the mid-1990s, developed the Windows Glyph List 4 (WGL4) to address the constraints of 8-bit code pages in earlier Windows versions, such as and , which limited multilingual text rendering to specific regional encodings. These code pages, like CP1252 for Western European languages, supported only a narrow range of characters, hindering consistent display across diverse European locales during the shift toward broader internationalization. WGL4 integrated characters from various legacy code pages, including CP1252 (Western European), CP437 (DOS OEM United States), CP1250 (Central and Eastern European), CP1251 (Cyrillic), CP1253 (Greek), and CP1254 (Turkish), to create a baseline Pan-European character repertoire. This compilation ensured compatibility with Latin-script-based systems while incorporating essential symbols, diacritics, and line-drawing elements from DOS-era fonts, forming a unified set for improved cross-language support. The initial release of WGL4 occurred around 1996, closely tied to enhancements in font specifications, with the goal of establishing a minimal glyph set comprising approximately 652 to 657 characters. It was formalized specifically to enable reliable rendering of Latin-based European languages in Windows environments, prior to widespread full implementation in fonts.

Evolution and Key Milestones

The evolution of the Windows Glyph List 4 (WGL4) reflects 's efforts to standardize font support for Latin-based scripts across European languages while adapting to advancements and user needs. Initially comprising 652 characters as defined in early specifications, WGL4 served as the baseline for pan-European compatibility, ensuring reliable rendering in Windows environments. By 2004, Microsoft had confirmed that only WGL4 glyphs were guaranteed for consistent display in Windows software, underscoring its foundational role in font certification and system-wide text handling. A significant update occurred in April 2001 with OpenType version 1.3, which added the small tilde (U+02DC) to the repertoire, addressing a gap in diacritical support for accented characters. This was followed by a more substantial expansion in May 2008 with OpenType 1.5, where four Cyrillic characters—U+0400 (Cyrillic capital letter Ie with grave), U+040D (Cyrillic capital letter E with diaeresis), U+0450 (Cyrillic small letter Ie with grave), and U+045D (Cyrillic small letter E with diaeresis)—were incorporated to enhance coverage for Eastern European languages, including Macedonian. These additions, developed jointly by Microsoft and Adobe, elevated the total to 657 characters, including two from the Private Use Area (U+F001 for fi ligature and U+F002 for fl ligature) to maintain backward compatibility without disrupting core Unicode mappings. Adobe's collaboration was pivotal, as the updated WGL4 tables were published as an appendix in the OpenType specification to guide font developers toward compliance. Notably, WGL4 has excluded certain language-specific extensions to preserve its focused scope. For instance, the characters Ș (U+0218), ș (U+0219), Ț (U+021A), and ț (U+021B)—featuring a below rather than —were not integrated into the core list, despite their addition to several Microsoft core fonts starting with in 2007 to better align with the Romanian Academy's orthographic standards. This decision highlights WGL4's emphasis on broad Latin coverage over niche expansions. As of 2025, no major revisions to WGL4 have occurred since the 2008 update, with subsequent versions (up to 1.9.1) removing the appendix reference but retaining the 657-character set unchanged, affirming its enduring stability in Windows font ecosystems.

Definition and Purpose

Core Definition

The (WGL4) is a standardized character repertoire comprising 652 Unicode characters that recommends for inclusion in fonts supporting on Windows operating systems. This set serves as a minimal baseline for glyph support, enabling consistent text rendering in applications without necessitating comprehensive coverage in every font. Designated as the Pan-European character set, WGL4 facilitates support for a broad array of languages across Western, Central, and Eastern Europe, as well as Greek and Cyrillic scripts, encompassing alphabets used in languages such as English, German, Polish, Russian, and Modern Greek. Its core components draw from key Unicode blocks, including Basic Latin (U+0020–U+007F) for fundamental ASCII characters, Latin-1 Supplement (U+00A0–U+00FF) for extended Western European diacritics and symbols, and extensions into Latin Extended-A (U+0100–U+017F) and Latin Extended-B (U+0180–U+024F) for additional accented letters common in Central and Eastern European languages. Further inclusions cover the Greek and Coptic block (U+0370–U+03FF) for polytonic and modern Greek, the Cyrillic block (U+0400–U+04FF) for Slavic scripts, and select symbols from General Punctuation (U+2000–U+206F) and other ranges for typographic essentials. By defining this interoperable glyph set, WGL4 promotes reliability in cross-application text display on Windows, particularly for legacy and multilingual content, while allowing font designers to prioritize essential characters over the full expanse of 's over 149,000 assigned code points.

Role in Font Compatibility

The Windows Glyph List 4 (WGL4) functions as an essential guideline for font designers and developers, recommending the inclusion of a specific set of Latin-script characters to ensure consistent and reliable text rendering across Windows environments. By supporting the full WGL4 repertoire, fonts avoid fallback to system default glyphs, which could otherwise lead to visual inconsistencies or missing characters in applications running on older Windows versions with limited implementation. This role extends to typography in TrueType and OpenType fonts, where WGL4 establishes a foundational baseline that informs the design of font metrics for line spacing and alignment, kerning pairs for adjacent character adjustments, and glyph substitution mechanisms to handle variations in text layout. Adherence to these guidelines enables fonts to perform uniformly in diverse Windows software, promoting interoperability without requiring additional font loading or substitution logic from the operating system. For end users, WGL4 compliance delivers dependable display of European-language text in tools like and web browsers, particularly in pre-full-Unicode contexts, thereby minimizing rendering errors and enhancing cross-application consistency. Verification of WGL4 compliance primarily involves confirming the presence of required glyphs in the font file, rather than evaluating advanced typographic capabilities such as discretionary ligatures or contextual alternates.

Character Repertoire

Included Sources and Blocks

The Windows Glyph List 4 (WGL4) derives its character repertoire primarily from key designed for regional language support, including 1252 for Western European languages, 1250 for Central and Eastern European scripts, 1251 for Cyrillic-based languages, 1253 for Greek, 1254 for Turkish, 1257 for Baltic languages, and the legacy DOS for compatibility with early PC displays. These sources map to a selection of Unicode blocks that form the core of WGL4, including the C0 Controls and Basic Latin block (U+0000–U+007F) for essential control codes and ASCII characters; the (U+0080–U+00FF) extending support for Western accented letters and symbols; the [Latin Extended-A](/page/Latin Extended-A) block (U+0100–U+017F) providing additional diacritics for European languages; the Spacing Modifier Letters block (U+02B0–U+02FF) for non-spacing phonetic modifiers; the Greek and Coptic block (U+0370–U+03FF) covering Greek letters and related symbols; and the Cyrillic block (U+0400–U+04F9) for Slavic scripts. Select punctuation and symbols from the General Punctuation block (U+2000–U+206F), such as em dashes, , and , are also incorporated to ensure typographic completeness. To support legacy applications and terminal emulation, WGL4 includes specific categories like mathematical operators (e.g., from U+2200–U+22FF, such as and symbols), geometric shapes (e.g., from U+25A0–U+25FF, including circles and triangles), and box-drawing characters (e.g., from U+2500–U+257F, for line and corner elements used in text-based interfaces). Overall, these elements span 22 Unicode blocks either partially or fully, comprising a total of 652 characters intended for broad Pan-European font compatibility.

Exclusions and Limitations

The Windows Glyph List 4 (WGL4) deliberately excludes support for several non-Latin scripts and extended character sets to maintain a focused repertoire on Pan-European Latin-based typography. Specifically, it omits Vietnamese diacritics associated with code page 1258, the Thai script from code page 874, Hebrew and Arabic characters covered by code pages 1255 and 1256, respectively, CJK ideographs from code pages 932, 936, 949, and 950, and the full set of International Phonetic Alphabet (IPA) symbols beyond basic Latin extensions. Among its limitations, WGL4 provides no glyphs for the accented Romanian letters Ș (U+0218), ș (U+0219), Ț (U+021A), and ț (U+021B), which were incorporated into fonts starting with to align with updated orthographic standards. Additionally, while it includes basic mathematical operators such as the minus sign (U+2212) and (U+221A), it provides partial coverage of the Mathematical Operators block (U+2200–U+22FF), including symbols like the (U+222B) and summation (U+2211), but not all characters. WGL4 is confined to the Basic Multilingual Plane of , excluding characters from the Supplementary Multilingual Plane (U+10000 and beyond) and most non-Latin scripts entirely. These exclusions and limitations stem from WGL4's design in the , prioritizing a compact set of 652 glyphs to ensure font efficiency and broad compatibility on resource-constrained Windows systems, such as those running , without the overhead of full multilingual or supplementary support.

Technical Details

Unicode Mapping and Ranges

The Windows Glyph List 4 (WGL4) defines a specific set of glyphs that map directly to scalar values, ensuring straightforward correspondence without support for composite characters or glyph variants. This mapping facilitates consistent font rendering across Windows systems by referencing exact code points derived from official tables, in collaboration with standards from for glyph naming conventions. The primary ranges covered by WGL4 encompass essential scripts for Latin-based languages and related extensions, including the printable Basic Latin block from U+0020 to U+007E, the Latin-1 Supplement from U+00A0 to U+00FF, Latin Extended-A from U+0100 to U+017F, selected characters from the Spacing Modifier Letters block (U+02B0 to U+02FF), selected characters from the Greek and Coptic block (U+0370 to U+03FF), and selected basic Cyrillic characters from U+0400 to U+04FF. These ranges provide foundational support for Western European, Central European, Eastern European, Greek, and Cyrillic text processing in fonts compliant with Windows requirements. Additional mappings in WGL4 extend to symbolic elements, such as selected arrows from U+2190 to U+21FF, selected mathematical operators from U+2200 to U+22FF, and selected box-drawing characters from U+2500 to U+25FF, along with two private use area code points at U+F001 and U+F002, which duplicate ligatures for purposes. Overall, these mappings contribute to the total repertoire of 652 characters in WGL4.

Character Table Overview

The character table for Windows Glyph List 4 (WGL4) presents the complete inventory of 652 characters in a structured format, serving as a key reference for font developers and typographers to ensure across Windows platforms, with 2 additional private use characters for ligatures. Organized by blocks, the table lists entries sorted ascending by , with each row detailing the Unicode (e.g., U+0020), the standard glyph name (e.g., ), and a sample rendering of the (e.g., ). This presentation avoids inclusion of entities, decimal equivalents, or other to maintain focus on core identification and visualization. Derived directly from the official specification appendices, the table reflects the WGL4 repertoire. Key groupings within the table highlight essential categories for practical use, such as basic punctuation and symbols from the Basic Latin and Latin-1 Supplement blocks, diacritics from Latin Extended-A and -B, uppercase and lowercase Greek letters from the Greek block, Cyrillic characters from the Cyrillic block, and line-drawing elements from the Box Drawing block. These sections enable quick assessment of glyph support for Western European languages, mathematical notation, and legacy interface elements. Below is a representative excerpt from the table, illustrating the format across selected blocks with examples; the full table encompasses all specified ranges without omissions.
Unicode Code PointGlyph NameSample Rendering
Basic Latin (U+0020–U+007F)
U+0020space 
U+0021exclam!
U+0022quotedbl"
U+0023numbersign#
Latin-1 Supplement (U+0080–U+00FF)
U+00A9copyright©
U+00E1aacuteá
Latin Extended-A (U+0100–U+017F)
U+0104AogonekĄ
U+0118EogonekĘ
U+012EImacronĪ
Greek (U+0370–U+03FF)
U+0391AlphaΑ
U+0392BetaΒ
U+03A9OmegaΩ
Cyrillic (U+0400–U+04FF)
U+0410uni0410А
U+0411uni0411Б
U+042Funi042FЯ
Box Drawing (U+2500–U+257F)
U+2500uni2500
U+250Cuni250C
U+2510uni2510
This tabular organization underscores WGL4's emphasis on pan-European Latin script support while providing visual cues for glyph rendering in compliant fonts.

Implementation and Usage

Font Compliance Requirements

To ensure compatibility with Windows systems, fonts designed for Latin script support are recommended to include the full set of 652 characters defined in the Windows Glyph List 4 (WGL4). This repertoire covers essential glyphs for Western, Central, and Eastern European languages, including Latin extensions, Cyrillic, Greek, and select symbols, as outlined in specific Unicode ranges such as U+0020–U+00FF and U+0100–U+017F. Failure to incorporate these characters can result in incomplete text rendering, where Windows substitutes missing glyphs from fallback fonts via mechanisms in GDI or DirectWrite. Verification of WGL4 compliance involves scanning the font's glyph coverage against the defined ranges to identify any omissions. Tools such as Microsoft's can be employed to perform comprehensive checks on font , metrics, and overall quality, ensuring the font adheres to platform standards that implicitly support WGL4 integration. Additionally, font development software like or Glyphs allows designers to cross-reference the font's character map with the official WGL4 list, confirming no core characters are absent or improperly mapped. Proper metrics, including consistent advance widths and for WGL4 glyphs, are essential to prevent layout distortions in Windows applications. For TrueType-based fonts, hinting instructions are advised for WGL4 glyphs to optimize on-screen rendering at low resolutions, aligning with Microsoft's guidelines for clear text display. System fonts such as and exemplify compliance, with dedicated WGL4 versions supplied in older Windows releases like and NT 4.0, demonstrating that full support is a requirement for bundled typefaces. Non-compliant fonts risk triggering automatic substitutions in rendering engines, potentially degrading visual consistency in GDI-dependent legacy applications or DirectWrite-enabled modern interfaces.

Relevance in Modern Windows

In and 11, the Windows Glyph List 4 (WGL4) continues to serve as a foundational baseline for font rendering, particularly for applications, ensuring reliable display of core Pan-European characters in legacy software that relies on older GDI-based systems. However, modern text rendering through DirectWrite, introduced in and enhanced in subsequent versions, extends support far beyond WGL4 by leveraging features and full compliance, allowing applications to access thousands of additional glyphs for complex scripts and international text without requiring WGL4 exclusivity. Legacy applications, such as those built on Win32 APIs predating DirectWrite, still depend on WGL4 for consistent glyph availability, preventing rendering issues in environments like older word processors or custom controls. WGL4 maintains in contemporary font technologies, including variable fonts and color fonts, by recommending inclusion of its 652 glyphs in designs targeting Windows users, thereby supporting seamless integration with DirectWrite's advanced rendering capabilities. For instance, variable fonts like Segoe UI Variable in incorporate WGL4 characters to preserve legibility for European languages while enabling dynamic adjustments in weight and width. Similarly, color fonts using formats such as COLRv1 are rendered via DirectWrite, with WGL4 ensuring that essential text elements remain accessible even in apps that fallback to basic rendering modes. This integration underscores WGL4's role in bridging legacy requirements with modern typographic flexibility. Since its definition in the late 1990s, WGL4 has not been updated, positioning it as a static subset within Windows' evolving ecosystem, which now supports versions up to 16.0 (as of 2025) and with full integration of 17.0 expected through system updates in 2026. , for example, includes comprehensive support via the Universal Shaping Engine and DirectWrite, encompassing over 154,000 characters across approximately 170 scripts, rendering WGL4's Pan-European focus less central for new developments but vital for . As of 2025, Typography guidelines recommend WGL4 compliance for web fonts aimed at Windows users in , ensuring robust Latin, Greek, and Cyrillic coverage in browsers like , where DirectWrite handles rendering to avoid fallback to system defaults that might omit specialized glyphs.

References

  1. [1]
    WGL4.0 Character Set - Typography - Microsoft Learn
    Sep 23, 2020 · The Windows Glyph List is a list of characters that are recommended to be supported in fonts designed for Windows that support Latin script.
  2. [2]
    TrueType core fonts for the Web FAQ
    Oct 12, 2001 · These fonts include the full Windows Glyph List 4 (WGL4) character set. This character set contains 652 characters and covers multiple ...
  3. [3]
    Unicode Mail List Archive: RE: WINDOWS WGL CHARACTER SET ...
    May 19, 2000 · > > world's glyphs." It is therefore now called "Windows Glyph List Four" and essentially contains ISO 6937 plus all Microsoft/IBM 8-bit ...
  4. [4]
    Using special characters from Windows Glyph List 4 (WGL4) in HTML
    Feb 12, 1999 · WGL4 characters can be used in HTML by adding &# to the decimal number and ; to the end, or using HTML 4 character entity references.
  5. [5]
    ANSI character set and equivalent Unicode and HTML characters
    Mar 15, 1999 · ... (Windows Glyph List 4) character set, with 652 characters. If you use an old, non-Unicode version of Windows that was designed for a non ...
  6. [6]
    OpenType specification version 1.4 - Microsoft Learn
    Feb 4, 2021 · OpenType version 1.4 has been contributed to ISO and became the foundation for the development of ISO/IEC 14496-22 “Open Font Format” standard.
  7. [7]
    OpenType specification change log (OpenType 1.5) - Typography
    Version 1.5 - Released May 2008. Summary of Changes: changes.htm. Reversed order so newest changes are at the top; Added missing detail regarding change in ...Version 1.5 - Released May... · Version 1.4 - Released 11... · Version 1.3 - Released April...
  8. [8]
    WGL4.0 Character Set (OpenType 1.5) - Typography | Microsoft Learn
    The following are links to Unicode ranges in the WGL4.0 Character Set. Unicode range U+0020 through U+00BB · Unicode range U+00BC through U+017E ...Missing: 2008 | Show results with:2008
  9. [9]
    Archive of OpenType versions - Typography - Microsoft Learn
    released March 2015; OpenType 1.6 — released April 2009; updated July 2010; OpenType 1.5 — released May 2008; OpenType 1.4 ...
  10. [10]
    Windows 7 and the Romanian language - Cristian Adam's
    Aug 21, 2011 · Starting with Windows Vista, Romanian language became properly supported on Windows: two new keyboard layouts were added, and font families were updated.
  11. [11]
    OpenType Specification Change Log
    Mar 19, 2025 · Added script tags for new scripts in Unicode 15.0 and Unicode 16.0. Clarified usage of the 'math' script tag. Added script tags for new ...Missing: Cyrillic | Show results with:Cyrillic
  12. [12]
    [PDF] User's Guide - Kurinto Font Folio
    Sep 7, 2021 · This includes the set of 657 characters from the Pan-European character set called Windows Glyph List 4 (“WGL4”).21 These fonts also.
  13. [13]
    WGL4 character set U+00BC to U+017E - Typography
    ### Unicode Range and Characters Included in WGL4 Character Set
  14. [14]
    The history of messing up Romanian on computers - Miloush.net
    Aug 24, 2011 · The subset of Unicode most widely supported on Microsoft Windows systems, Windows Glyph List 4, still does not include the comma-below variants ...<|separator|>
  15. [15]
    What fonts have the most glyphs available– and are able to support ...
    Jun 17, 2020 · Microsoft back in the mid-90s established a standard extended character set called WGL-4 (Windows Glyph List 4) that included all this language ...
  16. [16]
    adobe-type-tools/agl-specification: Adobe Glyph List Specification
    The purpose of the Adobe Glyph List Specification is to describe the computation of a Unicode character string from a sequence of glyph names.
  17. [17]
    WGL4.0 Character Set (OpenType 1.8.2) - Typography
    Sep 21, 2020 · The following are links to Unicode ranges in the WGL4.0 Character Set. Unicode range U+0020 through U+00BB.Missing: 4 | Show results with:4
  18. [18]
    Customize font selection with font fallback and font linking
    Nov 20, 2023 · Customize font selection with font fallback and font linking for multi-language and multi-script applications in Windows and .NET framework.
  19. [19]
    microsoft/Font-Validator - GitHub
    Font Validator is a tool for testing fonts prior to release. This testing ensures that fonts meet Microsoft's high quality standards.Missing: WGL4 | Show results with:WGL4
  20. [20]
    Recommendations for OpenType Fonts - Microsoft Learn
    May 29, 2024 · When devising glyph names, font developers may wish to consider conventions provided in the Adobe Glyph List Specification, which specifies ...Missing: 1996 | Show results with:1996
  21. [21]
    TrueType hinting - Typography - Microsoft Learn
    Mar 28, 2022 · This paper explains exactly what hinting is, why it is necessary, and how the TrueType approach to hinting differs from the approaches adopted by other font ...Missing: WGL4 | Show results with:WGL4
  22. [22]
    Arial font family - Typography | Microsoft Learn
    Aug 8, 2025 · Version 2.00 (WGL4) - This WGL4 version of Arial is supplied with Windows 95 and Windows NT4. This version does not contain the euro. Version ...
  23. [23]
    Times New Roman font family - Typography - Microsoft Learn
    Jul 25, 2025 · Version 2.00 (WGL4) - This WGL4 version of Times New Roman is supplied with Windows 95 and Windows NT4. ... Hebrew OpenType Layout logic ...
  24. [24]
    Introducing DirectWrite - Win32 apps | Microsoft Learn
    Jan 26, 2022 · This is an introduction to how DirectWrite enables Windows applications to enhance the text experience for UI and documents.Multiple Layers Of... · Accessing The Font System · Idwritefontface<|control11|><|separator|>
  25. [25]
    Script and font support in Windows - Globalization - Microsoft Learn
    Mar 11, 2025 · Text-display support for new scripts has been added in each major release of Windows. This article describes changes made in each major release.Missing: 4 | Show results with:4
  26. [26]
    Color font support - Win32 apps | Microsoft Learn
    Sep 18, 2023 · This topic describes color fonts, their support in DirectWrite and Direct2D (and some other frameworks), and how to use them in your app.What Are Color Fonts? · What Kinds Of Color Fonts... · Using Color Fonts
  27. [27]
    Font List Windows 11 - Typography - Microsoft Learn
    Jun 16, 2022 · List of fonts present in Windows 11 and their information.Times New Roman font family · Arial font family · Courier New font family
  28. [28]
    WGL4.0 Character Set (OpenType 1.7) - Typography | Microsoft Learn
    The following are links to Unicode ranges in the WGL4.0 Character Set. Unicode range U+0020 through U+00BB · Unicode range U+00BC through U+017E · Unicode ...