Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gtk gtk
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,605
    • Issues 1,605
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 222
    • Merge requests 222
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • gtkgtk
  • Merge requests
  • !488

Better support for surrogate pairs and ligatures on Windows (GTK3)

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open LRN requested to merge lrn/gtk:ligatures into gtk-3-24 Jan 05, 2019
  • Overview 7
  • Commits 16
  • Pipelines 8
  • Changes 10

This is an attempt to fix issue #1428 (closed).

The changes work for me, and fix the problems pointed out by the original submitter. The patches also do not seem to introduce any API breakages, although API behaviour changes somewhat, obviously.

That said, there's one remaining problem: GTKIMContextSimple uses guint16 for a lot of keyval manipulations, which breaks the cases where keyval is bigger than guint16 (such as the 'Y' and backtick keys in Gothic layout). Unfortunately, fixing that requires some major surgery all over gtkimcontextsimple.c, gtkimcontextsimpleseqs.h and compose-parse.py, and changes of the gdk_win32_keymap_check_compose() function that was introduced in 3.20 and is part of the GDK API now. Fixed that too, if somewhat inelegantly.

GTK4 will require similar changes.

Edited Jan 10, 2019 by LRN
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: ligatures