Skip to content

Hangul Jamo sequences that describe a Modern Hangul syllable not displaying correctly on Microsoft Word #306

@chom-kwoy

Description

@chom-kwoy

Defect Report

Title

Unnormalized Hangul Jamo sequences that describe a Modern Hangul syllable not displaying correctly on Windows

Font

The latest NotoSansKR-Regular.otf.

Where the font came from, and when

Site: https://github.com/notofonts/noto-cjk/releases/download/Sans2.004/17_NotoSansKR.zip
Date: 2025-07-01

Font Version

2.004;hotconv 1.0.118;makeotfexe 2.5.65603

OS name and version

Windows 11 (10.0.26100 Build 26100)

Application name and version

Microsoft Word Version 2505 (Build 18827.20164 Click-to-run)

Issue

  1. Steps to reproduce
    Copy & Paste the contents of the "Character data" section below into Microsoft Word, and set the font to Noto Sans KR.

  2. Observed results
    The Unicode string <U+1100, U+1161, U+11AB> fails to render correctly; the jamos do not combine together, as shown in the "Screenshot - Microsoft Word" section below. Note that the strings that describe a non-modern syllable (<U+1100, U+11A2, U+11F6> and <U+1100, U+1161, U+11F6>) render perfectly.

  3. Expected results
    The jamos should combine, as shown in the "Screenshot - LibreOffice Writer" section below.

  4. Additional comments
    I did a bit of my own investigation; it seems like Harfbuzz normalizes the string before applying the GSUB transformations. However, it seems like the font shaper that Microsoft Word uses does not apply any normalization. I don't know what the "standard" behavior is, so it could be a bug on Microsoft's part; but in any case, I believe it is still an incorrect behavior that needs to be solved.

I'm aware of the other issue that prevents "LV + T" combinations (e.g. <U+AC00, U+11AB>) from rendering correctly on Windows. However, this is a separate issue that prevents "L + V + T" from rendering correctly, if it is a Modern Hangul syllable.

Character data

간 - U+AC04
간 - <U+AC00, U+11AB>
간 - <U+1100, U+1161, U+11AB>
ᄀᆢᇶ - <U+1100, U+11A2, U+11F6>
가ᇶ - <U+1100, U+1161, U+11F6>

Screenshot

Microsoft Word (incorrect rendering):
Microsoft Word

LibreOffice Writer (on Linux, correct rendering):
LibreOffice Writer

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions