Skip to content

Hyphen based ligatures don't work in WPF #259

Description

@citizenmatt

This is related to the issues people have reported with Visual Studio where ligatures that contain a hyphen, such as -> or <!-- don't work in Visual Studio.

It actually looks like this might be a generic WPF issue, rather than just Visual Studio.

I created a dummy WPF application that simply included a TextBlock, Label and FlowDocumentReader. The TextBlock and Label will display ligatures correctly, apart from those containing hyphens (e.g. ->). Strangely, the FlowDocumentReader works as expected.

screen shot 2016-08-29 at 10 51 33 am

I tried to debug the Visual Studio editor, and as best as I could follow, it's not the editor that's doing the work to display ligatures - it comes automagically from WPF and Windows. It looks like the editor is using Windows' native "Line Services" and for some reason, this component is treating the hyphen as a separate character, rather than as part of a run - and so it gets rendered separately, and not converted into a ligature. Hyphenation appears to be disabled in the Visual Studio editor code, and it's definitely disabled in the TextBlock and Label in my dummy application.

I've no idea now what's going wrong, and I strongly suspect this is a WPF/Windows issue and not something that could be fixed in the font, but I'm hoping that we get a nice friendly WPF expert wandering past who can help out.

Could it be something stupid like Windows doesn't recognise "hyphen" in the ligatures?

Anyone got any ideas?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions