• You are not logged in.

    Combining Characters for AltGr

    • Started by vy
    • 2 Replies:
    • vy
    • New member
    • Reputation: 0
    • Registered: 28-Oct-2022
    • Posts: 1

    Hello, I am still a new user of Colemak and I have so much to learn about keyboard layout design. I still thought it would be right to ask, is there a particular reason for AltGr diacritics outputting standalone rather than combining characters? E.g.

    AltGr+M m

    returning ¯m instead of m̄ (the Taiwanese negation word). Is it better to not use combining Unicode characters?

    Offline
    • 0
    • Reputation: 23
    • From: Belgium
    • Registered: 26-Feb-2008
    • Posts: 480

    You didn't mention which OS and which Colemak implementation you're using, but most so-called "deadkey" implementations work as a predefined mapping of base characters to modified characters, allowing only for certain predefined combinations.

    The problem with "m with macron" is that it does not exist in Unicode as a precomposed character; it can only be formed as a combination of base letter + Unicode combining character, and as such is not representable in such deadkey tables – which, dating from pre-Unicode times, work with single characters.

    An alternative solution is to assign the Unicode combining macron character U+0304 to a key (AltGr+M or another), and enter it after the base character.

    Last edited by ghen (29-Oct-2022 22:00:52)
    Offline
    • 1
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343

    What Ghen said. Unfortunately, combining accents isn't robustly implemented everywhere. Several Unicode points in fact exists as hybrid combinations of base and combining points, rather than as precomposed characters. I think it may depend on typeface implementation as well? It's a bit messy.

    Last edited by DreymaR (30-Oct-2022 14:14:51)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0