• You are not logged in.

Locale Colemak variants for several countries (the eDreymaR way)!

  • Started by DreymaR
  • 29 Replies:
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364
DreymaR's modular approach to locale Colemak variants

My Big Bag Of Tricks topic mentions how I've made locale variants for a bunch of languages. This topic lists and discusses them in more detail.

Note that for most of these you really should use an "Euro/World" 102/105-key (ISO) keyboard! The "US" 101/104-key (ANSI) boards lack the lower left-hand <LSGT> key next to LShift and that one's very useful for adding extra symbols to the standard layout in a nicely accessible way. Using ergo mods such as AngleWide, it gets even better.

The basis for these layouts is 'Colemak [edition DreymaR]', using my own preferred AltGr mappings (modifier lv3-4 in Linux terminology) for the Colemak layout. You can learn more about it from the Big Bag topic if you wish. It makes several letters sufficiently accessible as long as they're rarely used: ʒƷ, ß (German 'ss'), øØ, œŒ, æÆ, þÞ, ðÐ, ʃƩ, ŋŊ, åÅ. Also quote marks: ‚‘’ „“” ‹› «» and other interesting glyphs. All the common dead keys are on symbol keys with AltGr (lv3). Common accents like the umlaut are in good positions. For rarely used accented letters, this should prove sufficient.


    Cmk-ISO-eD-Angle_96d-FShui.png?raw=1
    The Colemak [edition DreymaR] layout, using different lv3-4 mappings from the standard Colemak.
    Shown with the ZXCVB_ 'Angle-ISO' ergonomic mod (see my sig topics), dead key emphasis and color-coded proposed fingering.



'UNIFIED SYMBOLS' VARIANTS

I've abandoned the way of the locale symbols for myself. I found that the default locale QWERTY layout for Norway where I live was messy and bleak. Furthermore, it made some symbols hard to produce. For instance: For a tilde which is often used in coding and more in the computing world you would have to press AltGr and Right Bracket; then since that's a dead key you'd have to type an additional space to release the tilde. Moreover, that won't even always work in apps (especially Java/Flash etc). Ugh. Other locale layouts aren't much better. Not that the US layout is perfect or anything, but at least it's what many know and expect. Symbols that are easily reachable like said tilde or the caret are often used in script languages for instance.

So I set out to make a simple and consistent way of providing the necessary locale symbols while keeping the main setup intact.

Here's what Shai has to say about making locale Colemak variants, on the Multilingual page of this site:

Shai Coleman said:

If you want to create a layout optimized variant for your language, you can remap the 102nd key [...] and some of punctuation keys you don't use often.

I fully agree, and so that's what I've done!

- The ISO/LSGT/OEM_102 and [] bracket keys may hold the most common locale-specific symbols.
    • The œ/ø/å (oe/oslash/aring) special letters may well be replaced; these should also be on dead keys.
        (The œ is rightly a ligature which fits the Compose method well for Linux users at least.)

- Furthermore, a set of keys with non-essential lv3-4 mappings (like h/j/k/l) are up for grabs if need be.
    • The K key is quite easily reached with AltGr and in the Colemak[eD] it holds non-essential mappings.
    • The H key, similarly, is well placed and holds nothing important for most.
    • The L key, same but a bit less comfortable with AltGr in my opinion.
    • The J key is a bit of a reach with the AltGr key held down so I hope it won't be necessary most of the time.

- If there are many letters using one accent, a well placed dead key (on lv1-2) may be preferable.
    • The AltGr dead keys will still be available and some of these (like umlaut and acute) are quite easily reachable too
    • Using a lv1 dead key may be preferable for speed typing (Sean Wrona, apparently, uses a sticky Shift for this reason!)


'KEEP LOCAL SYMBOLS' VARIANTS

Some people don't want to learn other symbols than the ones they have printed on their key caps. Since Colemak in itself doesn't tell you what to do with your symbols, that's fine. You'll lose out on the full Colemak[eD] mapping experience including most dead keys as I put those on symbol keys by design, but maybe you didn't need those anyway.

For Linux/XKB at least, I've separated the main letter block from the symbol keys in the layout definitions. (The semicolon is an in-between key since it's a symbol key that sits in the letter block; QWERTY is to blame for this inconsistency.) Doing this, we can with relative ease substitute the standard symbols for the ones used on locale QWERTY keyboard layout variants. This produces a range of 'Keep Local Symbols' locale variants, that should be in correspondence with what people from those locales are used to.

Please note: The letter block keys have for the most part Colemak[eD] mappings in these layouts! This could lead to redundancies or lack of a lv3-4 symbol (if it's defined on a letter key in the default locale layout and not in Cmk[eD]). If that happens and it's a problem, let me know. For the most consistent and complete set of AltGr mappings, use the 'Unified Symbols' variants.


THE ANGLE-WIDE MOD AND LOCALE VARIANTS

The 'unified' layouts presented herein will be shown with the AngleWide-Slash ('AWide-35') wide keyboard mod (again, see the 'Big Bag Of Tricks' topic). What this means is that the brackets are moved to the middle on the upper and home row, the ISO-102/<LSGT> and Backslash/<BKSL> keys to the middle lower row, the += key to the middle upper row and finally the ?/ key to the upper right. I'm sorry if this confuses anyone, but the AngleWide mod brings the ISO/LSGT key and brackets together right in the middle with the other moddable keys so they can all be shown in a partial keyboard image without everything else in between them! I'm now used to having all special letters in the middle of the keyboard and it feels good. :)

There's another mod called DH or Curl, which moves some index-finger keys around. It's shown in the image below, in my full Colemak-ⲔⲰ[eD] configuration:

    Cmk-ISO-eD-CurlAWide_96d-FShui.png?raw=1
    The standard "US English" Colemak [edition DreymaR] layout, shown with the Colemak-CAW (CurlAngleWide) ergonomic mod.


DISCLAIMER: If you study the layout images in the next post, don't pay too much heed to the grayed-out keys. The "edition DreymaR" mappings for AltGr (lv3-4) may have been tweaked slightly since they were created. The Colemak[eD] color images above should be correct.


LOCALE VARIANTS AND WHERE TO FIND THEM

• Next post: Locale layouts listed

• Third post: Phonetic script layouts


OTHER FORUM TOPICS ON LOCALE COLEMAK VARIANTS

Some topics on the forum regarding different locale Colemak variants (let me know if I missed any):
Colemak for other languages discussion, by SpeedMorph
European multilingual Colemak, by Sprachprofi (including some interesting discussions!)

Czech, by davkol
Danish, by erw
Finnish, by Vvanhala (also see Swedish/Finnish below)
French, by Endaka
German, by vilem
Hungarian, by mr.schyte
Lithuanian, by Tautrimas
Norwegian, by Padde
Norwegian, by Jovlang
Polish, by moskit
Portuguese discussion, by Bee
Portuguese/Brazilian discussion, by krp
Spanish, by martinrinconbotero
Spanish discussion (Colemak en Español), by javix
Swedish/Finnish discussion, by Linus
Swedish/Finnish, by Turbulenz
Vietnamese Chữ Quốc Ngữ, by myself and IceDryst (at Discord)

Russian – 'Rulemak' – by ghen (based on KOI-8R); there's also a Bulgarian 'Bulmak' variant
Russian by vilem (similar to Rulemak, mostly based on phonetics/intuition)
Bulgarian (Colemak-like Cyrillic layout), by stassev
Greek, by dkun
Hebrew, by wrapman and myself


LIKEABLE LINGUAL LETTERING LINKS

International letter frequencies vs Colemak, by Checkit and DreymaR
Wikipedia on letter frequencies vs some languages
Simia.net and a Reddit thread giving nice summaries of Wikipedia letter frequencies
ETAOIN - letter frequencies in some languages on cryptogram.org


TODO

• Hebrew (and in extension, similar scripts like Arabic?)
• Vietnamese
• Japanese kana? This likely requires dead keys that can release ligatures.

Some variants may still be subject to minor changes:
• Determine whether the Slovenian etc layouts should have the caron on RBr so it's easier to reach with the right hand! It's used with left-hand letters.

Last edited by DreymaR (05-Dec-2019 13:15:26)

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

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364
LOCALE COLEMAK[eD] VARIANTS

In the following I describe how to make locale layouts for many languages, remapping for the most part the bracket keys (LBr/RBr) and the "Lesser/Greater Than" key (LSGT a.k.a. ISO or OEM_102). If more keys than these are needed, the HJKL keys with (Shift+)AltGr (lv3-4) are also available in my layout since they hold nonessential mappings beforehand and are placed together. In some cases other keys are natural candidates, like T and D.

This is what I call Unified Symbols or 'US' variants (yes, that's also the name of the United States English layout but then again they're based on that one). I also provide 'Keep Local Symbols' variants where all the non-letter keys behave as locale users are used to – but at the cost of whichever nifty Colemak[eD] mappings were on those keys! This includes all dead keys as I've put those solely on symbol keys.

In the below, the 'Keep Local Symbols'/KS variants are shown without any Angle/Wide ergonomic mods to avoid confusion to newcomers. The 'Unified Symbols'/US variants however, are shown as cutouts from a WideAngle modded keyboard as all the "fluid" keys are bunched together in the middle on such a board. Both variant types may of course be used with wide or non-wide setups at your leisure.

    Cmk-eD-usym-aw_Xmc.png?raw=1
    Basic Unified Symbols ('US') Colemak[eD], shown with the AngleWide ergo mod


LANGUAGES, COUNTRIES and LOCALES

Some languages are used in several countries and some countries use several languages, and sometimes there are even several layout variants for a combination. It's a complex issue. On Windows (both MSKLC and EPKL), a Windows Locale Code is used to account for the complexity. Linux/XKB instead uses ISO two-letter Country Codes for file names, adding a few names of their own such as LatAm for Latin America and Epo for Esperanto, and within such a file there's a default variant and as many subvariants as you like. If a layout is used in several countries it can be linked to in several symbols files.

Note that there also exists two-letter language codes and they're sometimes not the same as the country codes. E.g., CS for the Czech language vs CZ for the country.

In the below, I've tagged my locale layouts with the file names that Linux/XKB uses. Mainly so I easily know which XKB file a layout is found in, but I've also used the same codes for my EPKL locale layout variants. In the cases where one language is used in several countries, the XKB layout will be found linked between several files, and in the EPKL files it'll have a compound name tag like "BeCaFr" for French (Belgium, Canada, France). Such a country list often won't be exhaustive but representative. Hopefully there should be correspondence between the tags used below and in my files.

There's quite a bunch of unified locale variants now! I can make more on request or whim. It'd be nice with feedback from local users as some design decisions are open to debate and depend on actual usage as well as personal preferences.

Here's what I've covered so far, providing both conservative 'Keep Local Symbols' and my preferred 'Unified Symbols' variants (at least on Linux/XKB):
AL AT BA BE BG BR CA CZ DE DK ES FI FR GB GR HR HU IL IS IT LatAm NL NO PL PT RO RS RU SE SI TR US
By comparison, there are but 11 Dvorak layouts so now Colemak really has wind in its locale sails!

These non-latin (phonetic) variants are covered in the next post: BG GR IL RU (and others using the same scripts)


[AL] ALBANIAN (ALBANIA)

Albanian is nice and simple, needing only Ëë and Çç.

    Cmk-eD-al-ksym_Xm.png?raw=1
    Albanian 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for AL:
• Çç, while also present at AltGr+Kk, can have the same key as in the local layout (LBr). I put Ëë next to it.

    Cmk-eD-al-usym-aw_Xmc.png?raw=1
    Albanian 'Unified Symbols' Colemak[eD]


[BA HR RS SI] BOSNIAN (BOSNIA), CROATIAN (CROATIA), SERBIAN (SERBIA), SLOVENIAN (SLOVENIA)

The Bosnian/Serbocroatian/Slovenian layouts are almost identical, differing mostly in how they handle some dead keys (on ~/1/3/5/7/- ).
They need Đđ, Ćć, and the caron letters Čč/Šš/Žž. Some variants also include NJ, LJ and DŽ digraphs, but the default ones do not.

    Cmk-eD-ba%2Brs-ksym_Xm.png?raw=1
    Bosnian/Serbian 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-hr-ksym_Xm.png?raw=1
    Croatian (Hrvatska) 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-si-ksym_Xm.png?raw=1
    Slovenian 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for BA+HR+RS+SI:
• A caron dead key on RBr takes care of ČŠŽ. For a non-Wide layout it could be on LBr instead; it should be close to the right hand.
• I also put caron on Shift+RBr. This way you could for instance hit LShift+{RBr,c} for Č.
• Stroke D could've replaced the Ðð on AltGr+Dd, but it's too common so it gets RBr.
• Alternatively, instead of the LBr dead key the caron letters ČŽŠ may be placed on AltGr+KHL in addition to LBr.
• Another possibility is putting the DŽ/NJ/LJ digraphs on AltGr+HJL.

    Cmk-eD-ba%2Bhr%2Brs%2Bsi-usym-aw_Xmc.png?raw=1
    Bosnian+Croatian+Serbian+Slovenian 'Unified Symbols' Colemak[eD] (latin script – for kyrillic, see the next post)


[BE CA FR] FRENCH (BELGIUM, CANADA and FRANCE)

The Belgian, Canadian (international) and French default QWERTY layouts are similar enough that a harmonized 'unified' variant was made for these locales.
This variant should be good for all users of the French and similar languages. One layout to rule them all...

The needed letters for French-type locales are Éé, ÀàÈèÙù, Çç, Œœ. The LBr key has cirkumflex (âêîôû) and umlaut (ëï).
Some letter frequencies for French: é 1.90%; à 0.49%; àèù 0.82%; ê 0.23%; ç 0.09% (which is still more than k at 0.05%); œ 0.02%.

    Cmk-eD-be-ksym_Xm.png?raw=1
    Belgian 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-ca-ksym_Xm.png?raw=1
    Canadian(Intl) 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-fr-ksym_Xm.png?raw=1
    French 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for BE+CA+FR:
• Going by letter frequencies, é and grave merit their own keys; the other accents are of less critical importance.
• Éé gets its own key (ISO/LSGT) instead of an acute dead key since it's quite frequent and only one letter.
• A Çç key is preferable to the cedilla dead key since there's only one letter needed, but lv3-4 is acceptable since it's a rare letter.
• For the other accent needs, dead keys are the best option; some are common enough to merit a lv1-2 placement.
• LBr keeps its dead keys as in the default layout for easier access to the cirkumflex/umlaut letters even though these aren't very common.
• RBr gets the grave dead key on lv1 since àèù together are somewhat frequent.
• The numerosign (RBr lv2) is hardly in use generally (some use an N and the masculine ordinal to produce 'Nº') but in French locales it's used.
• The letter K is very rare in French, but lv1-2 mappings should not be changed unless absolutely necessary!

    Cmk-eD-be%2Bca%2Bfr-usym-aw_Xmc.png?raw=1
    Belgian+Canadian(Intl)+French 'Unified Symbols' Colemak[eD]


[BR PT] PORTUGUESE (BRAZIL and PORTUGAL)

    Cmk-eD-br-ksym_Xm.png?raw=1
    Portuguese (Brazil) 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-pt-ksym_Xm.png?raw=1
    Portuguese (Portugal) 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for BR+PT:
• The two Portuguese locales' default layouts have the acute/grave key on different keys (br on LBr and pt on RBr); that's messy.
• I think that the acute is the more common accent? At any rate, it feels logical to place it on the LBr.
• Tilde is also important and used for more than just ñ in Portuguese (ã and õ at least), and circumflex is also provided.
• The Çç has a prominent placement in the default locale layouts so it gets its own key (not really sure if that's necessary though?).
• The Brazilian ABNT-2 keyboard's extra key gets the ordinal markers º/ª. These are also placed on AltGr+o/O.

    Cmk-eD-br%2Bpt-usym-aw_Xmc.png?raw=1
    Portuguese (Brazil and Portugal) 'Unified Symbols' Colemak[eD]


[CZ PL] CZECH (CZECH REPUBLIC) and POLISH (POLAND)

    Cmk-eD-cz-ksym_Xm.png?raw=1
    Czech 'Keep Local Symbols' Colemak[eD]

The Polish layout has special letters on AltGr+letter mappings; unfortunately, this messes up the Cmk[eD] consistency quite a bit. The 'Unified symbols' variant is recommended.

    Cmk-eD-pl-ksym_Xm.png?raw=1
    Polish 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for CZ and PL:
• These two locales ended up very similar, with one acute key and one other accent (hacek for cz, ogonek for pl) for commonly accented letters.
• The ů in Czech is hardly ever capitalized in normal text but the Ů is sometimes needed for caps and letter referrals so it's provided (also for consistency).
• The Żż in Polish is the only letter using the dot-above accent so it gets a key for itself. The AltGr+period dead key is also quite easy to hit.
• The Łł in Polish is only available on lv3-4 but I think AltGr+L is an easy reach.
• For Polish, you may still want Ąą/Ęę on AltGr+Aa/Ee, I guess? The 'us' image doesn't show those but they can still be there.

    Cmk-eD-cz-usym-aw_Xmc.png?raw=1
    Czech 'Unified Symbols' Colemak[eD]

    Cmk-eD-pl-usym-aw_Xmc.png?raw=1
    Polish 'Unified Symbols' Colemak[eD]


[DE AT] DEUTSCH/GERMAN (DEUTSCHLAND/GERMANY, ÖSTERRREICH/AUSTRIA)

    Cmk-eD-at%2Bde-ksym_Xm.png?raw=1
    German (Germany and Austria) 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for AT+DE:
• The German layout conserves the Üü position from the default layout.
• Ää and Öö are harmonized with the Scandinavian layouts.
• For ß only AltGr+s is provided; I think that's very easy to hit though. The capitalized version is there as an option but I hear it's hardly ever used.

    Cmk-eD-at%2Bde-usym-aw_Xmc.png?raw=1
    German (Germany and Austria) 'Unified Symbols' Colemak[eD]


[DK FI NO SE] DANISH (DENMARK), NORWEGIAN (NORWAY), FINNISH (FINLAND) and SWEDISH (SWEDEN)

The Scandinavian languages use the same special letters albeit written differently: Åå Ææ Øø for Danish and Norwegian, and Åå Ää Öö for Finnish and Swedish. Their default layouts are quite similar too, apart from some stupid differences in punctuation placement which fortunately won't cause us any trouble.

    Cmk-eD-dk-ksym_Xm.png?raw=1
    Danish 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-no-ksym_Xm.png?raw=1
    Norwegian 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-fi-ksym_Xm.png?raw=1
    Finnish 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-se-ksym_Xm.png?raw=1
    Swedish 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for DK+NO and FI+SE:
• These locales use the same special letters. The Åå is kept in place; the same position for all the Scandinavian default layouts.
• The Ææ is somewhat more common in Danish and the Øø in Norwegian, but that shouldn't matter much here! Both positions are decent enough.
• The Ää and Öö are placed in harmony with the other Scandinavian (and German!) layouts.
• Colemak may be a bit tricky for Finnish in particular, since letter frequencies differ (English frequencies are NHLMKJ, Finnish NLKÄMJH). See the links above.

    Cmk-eD-dk%2Bno-usym-aw_Xmc.png?raw=1
    Danish+Norwegian 'Unified Symbols' Colemak[eD]

    Cmk-eD-fi%2Bse-usym-aw_Xmc.png?raw=1
    Finnish+Swedish 'Unified Symbols' Colemak[eD]


[ES LatAm] SPANISH (SPAIN and most of LATIN AMERICA)

    Cmk-eD-es-ksym_Xm.png?raw=1
    Spanish (Spain) 'Keep Local Symbols' Colemak[eD]

    Cmk-eD-latam-ksym_Xm.png?raw=1
    Spanish (Latin America) 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for ES+LatAm:
• For writing Spanish, the tilde is important but only used for Ññ so that letter gets a key for itself.
• Both acute and grave are important accents so they get lv1 placement in a logical fashion on the brackets ("up then down").
• Unfortunately, the Spain and LatAm default layouts have different placement of the acute accent key. That's silly I think!
• The necessary but less common umlaut and circumflex accents are given lv2 placements.
• (One alternative idea from user javix for standard Spanish is to make a single dead key for acute and tilde on the ISO/LSGT key!)

    Cmk-eD-es%2Blatam-usym-aw_Xmc.png?raw=1
    Spanish (Spain and Latin America) 'Unified Symbols' Colemak[eD]


[GB] ENGLISH (GREAT BRITAIN aka UNITED KINGDOM)

    Cmk-eD-gb-ksym_Xm.png?raw=1
    English (UK) 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for GB:
• The US (English) layout serves the needs of all English-speaking locales to my knowledge (the £ sign is there).
• To avoid national pride issues, please do think of that 'US' moniker as "Unified Symbols" and not as "US of A". ;-)
• Using the 'Keep Local Symbols' layout, conservative Brits may find all symbols where they're accustomed to – at the cost of dead keys etc.

    Cmk-eD-usym-aw_Xmc.png?raw=1
    English(UK) 'Unified Symbols' Colemak[eD] is identical to the basic 'US' layout


[HU] HUNGARIAN (HUNGARY)

    Cmk-eD-hu-ksym_Xm.png?raw=1
    Hungarian 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for HU:
• The common acute and less common double-acute accents are provided as lv1-2 dead keys
• The Öö/Üü umlaut letters are provided directly on ISO/LSGT (and also an umlaut dead key on RBr)

    Cmk-eD-hu-usym-aw_Xmc.png?raw=1
    Hungarian 'Unified Symbols' Colemak[eD]


[IS] ICELANDIC (ICELAND)

Iceland managed to stick with the Þþ and Ðð letters when for instance English lost them and stupidly started writing 'th' instead. ;)
Other than that, they need the Ææ and Öö letters like the other Nordic countries do, but make do without the Åå (as they use Áá instead).
Icelandic uses the acute accent far more than the other Nordic countries (nearly 6% of all letter strokes).
Some letter frequencies for Icelandic are: ð 5.01%; þ 1.59%; á 1.55%; í 1.34%.

    Cmk-eD-is-ksym_Xm.png?raw=1
    Icelandic 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for IS:
• As the letter frequencies show, the Þþ and especially Ðð are so common that they shouldn't be kept on lv3-4 mappings for this locale.
• Ææ and Öö however, are less common and hopefully AltGr+Aa and AltGr+Tt respectively are easy enough to hit.
• There are several accented letters (Áá Éé Íí Óó Úú Ýý) and some are quite frequent, so a good acute dead key is needed.
• Icelanders tend to write some Danish and Norwegian, so they'll want accessible Øø and Åå (on AltGr+Dd).

    Cmk-eD-is-usym-aw_Xmc.png?raw=1
    Icelandic 'Unified Symbols' Colemak[eD]


[IT] ITALIAN (ITALY)

Some letter frequencies for Italian: àèìòù 0.89% (è 0.42%; à 0.15%; ù 0.12%; ò 0.11%; ì 0.09%); é 0.06%.
If this is accurate, the accented letters are quite rare all in all.
(Note that Wikipedia reported quite different frequencies with àèù far more common than ìò?)

    Cmk-eD-it-ksym_Xm.png?raw=1
    Italian 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for IT:
• For the Italian layout, several different accented letters are needed but capitalized letters weren't in the default layout.
• Thus, the letters were provided directly as in the default layout. The éè key was kept on LBr and the rest put together.
• The letters çłñ may be used (for Ligurian and Venetian script for instance) but they're rare so they're on lv3-4 mappings.
• As an alternative to this direct approach, I'd recommend the Spanish/LatAm layout! It does the same using dead keys.

    Cmk-eD-it-usym-aw_Xmc.png?raw=1
    Italian 'Unified Symbols' Colemak[eD]


[NL] DUTCH (NETHERLAND)

    Cmk-eD-nl-ksym_Xm.png?raw=1
    Dutch 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for NL:
• The Dutch layout is similar to Belgian and other French-type ones but has more use of the umlaut than the circumflex.
• Therefore I didn't harmonize it fully with the French-type layouts but kept the LBr key the way it is in the default layout.
• The acute letter Éé is somewhat common as is Óó; the acute dead key on RBr should be good enough for these.
• The IJ ligature isn't provided in the default layout so it isn't here either; I think it's falling into disuse? The Compose method has it.
• NOTE: Since IJ is more common in Dutch, it may be nice to swap J with another right hand index keys such as M, DH mod style?
•             Another tack is mapping the IJ digraph/bigram somewhere if you can. Consider semicolon or the ISO/LSGT key.

    Cmk-eD-nl-usym-aw_Xmc.png?raw=1
    Dutch 'Unified Symbols' Colemak[eD]


[RO] ROMANIAN (ROMANIA)

The Romanian locale letters are on AltGr+letter mappings in the default layout.
Thus, some Colemak[eD] letter mappings (notably, π and typographic quotes) were lost for the "Keep Local Symbols" variant.

    Cmk-eD-ro-ksym_Xm.png?raw=1
    Romanian 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for RO:
• Proper comma-below Ss and Tt are provided on AltGr+Ss/Tt (cedilla versions are on the cedilla dead key as before)
• Circumflex A/I; breve A/I (I for Crimean Tatars) and stroke D are given separate, suitable positions

    Cmk-eD-ro-usym-aw_Xmc.png?raw=1
    Romanian 'Unified Symbols' Colemak[eD]


[TR] TURKISH (TURKEY)

The letters ıİ (3.9%) üÜ (1.8%) şŞ (1.6%) çÇ (1.4%) ğĞ (0.9%) öÖ (0.7%) are needed.
In both my variants, the Ii is changed to Iı (dotless i) as in the default Turkish layout.

    Cmk-eD-tr-ksym_Xm.png?raw=1
    Turkish 'Keep Local Symbols' Colemak[eD]

The '[eD] unified symbols' solution for TR:
• Turkish doesn't use QWX and J is rare, but they need to be kept in place because of English etc.
• The needed special letters are provided directly according to frequencies.
• An option for a more accessible circumflex dead key is an alternative variant.
• If you type much English, there's an option for putting İı on LBr so Ii may be left on the I key.

    Cmk-eD-tr-usym-aw_Xmc.png?raw=1
    Turkish 'Unified Symbols' Colemak[eD]; the Iı key (on Cmk Ii) isn't shown here

Last edited by DreymaR (11-May-2021 08:28:24)

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

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364
PHONETIC COLEMAK LAYOUTS

These scripts generally have their own or latin letters on (Shift+)AltGr mappings, so they don't use the Colemak[eD] lv3–4 layers.

Ideally, I should be able to define phonetic names for the keys corresponding to Colemak so that other 'phonetic' layouts would work automatically, but I think that at least the XKB way of doing that may be too QWERTY-centric for that to work right now.

The phonetic Hebrew is currently a Work In Progress, see below.

The Kyrillic layouts are slightly tricky since Kyrillic script has more letters than latin script; user ghen has made a nice solution named Rulemak. There are other proposals as well; see the topics linked to in the main post.


[GR] GREEK SCRIPT

   Cmk-X-phon-gr-awide-sl_mask.png?raw=1
   The Colemak phonetic layout for Greek script, simply moving around the keys of the default (here xkb) Greek layout.

For the phonetic variant of Greek script I mostly moved the keys of their default layouts to a Colemak setup, not changing anything else. This type of layout already exists in QWERTY form, so making Colemak versions isn't too hard.

I made some choices concerning some Greek letters (e.g., Χχ vs Ψψ vs Ξξ), but I consider my solutions useful and intuitive, and supported by at least some transliteration and/or keyboard layout tradition.

In addition to what's on the image above, I've added some "extras" to make accent usage easier. The two diaeresis letters Ϋϋ/Ϊϊ are added (to Q and ISO/LSGT, if there's room) as well as combining and non-combining Dasia/Psili/Ypogegrammenei-Iota (on lv3–4 of brackets and LSGT). Together with functional dead keys one could then write proper polytonic Greek quite smoothly if so desired.


[IL] HEBREW SCRIPT

   HebrewCmk_Wrapman_WIP.png?raw=1
   The proposed/WIP Colemak phonetic layout for Hebrew script based on phonetic Israeli layouts and own work.

NOTE: Turns out my first attempt at this was a misunderstanding and as such quite useless as it was based on the Israeli national layout which isn't phonetic after all! wrapman and I are working on a new one (the one in the image above), see the discussion below!


[BG RU (BY MK RS UA?)] KYRILLIC SCRIPT

   Cmk-X-phon-ru.png?raw=1
   The Colemak phonetic layout for Russian Kyrillic script – 'Rulemak' by ghen. New (2016) version.
   Based on KOI-8R, with the notable exception of ч on Colemak H because it's quite common and used in existing phonetic Russian layouts.

Rulemak is implemented in xkb (Linux) and (E)PKL (Win) by ghen himself and also ported to my implementations – see the post below!

   Cmk-X-phon-bg.png?raw=1
   The Colemak "Bulmak" phonetic layout for Bulgarian Kyrillic script. 2016 version.

Both Kyrillic layouts are discussed in the Rulemak topic. Notably, ы and ё aren't used in Bulgarian and ъ is more common than ю. Note that in Rulemak, the ISO/LSGT key is combining acute, whereas in Bulgarian Colemak it's combining grave. Makes some accented letters easy to type.

Personally, I'd love to standardize the X/H == х/ч mappings between Rulemak and Bulmak. But it seems that this won't be easy as Russian and Bulgarian traditions differ too much on this point. Standardization is good, but not at the cost of disuse.

NOTE: As I understand it, there are East Slavic (Russian/Church/Belarus/Ukraina?) and South Slavic (Bulgarian/ISO-9/Serbia(Cyrillic)/Macedonia?) main language groups (and some others, West and North). Does anyone know whether it'd be sensible to make layouts for Belarus(BY), Ukraina(UA), Serbia(RS, Cyrillic) and Macedonia(MK) based on the RU/BG layouts, with some small changes if necessary? That'd be awesome! :-)

Last edited by DreymaR (05-Dec-2019 13:09:10)

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

Offline
  • 0
  • Reputation: 23
  • From: Belgium
  • Registered: 26-Feb-2008
  • Posts: 482
DreymaR said:

[Note: Rulemak is not currently implemented in xkb, but there's a PKL layout available?]

I do have an xkb as well as a PKL implementation.

But the one I actually use(d) most is a vim keymap implementation; I can switch between layouts using Ctrl-6 and it affects insert mode only (command mode remains ascii/colemak).

Last edited by ghen (26-Nov-2013 22:43:35)
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Thanks ghen! I realize you've had those lying there since 2009; sorry I'm a bit dense. ;)

As a first step, I added your Rulemak pkl file to my PKL archive, and spiffed it up with an icon and your png images as help images for state0/1 (base) and state6/7 (AltGr). Works fine as far as I can see.

It's a bit bare-bones without dead keys, but if users are interested that can be remedied with some copy-pasting and fidgeting. The dead keys would be mostly for the latin script anyway. Same if anyone needs a Wide version; that'd be a little work but not a lot.

NOTE: I started a fight in your Rulemak topic! Any thoughts on that?

[Update 2014-01-12: Updated the xkb files with Rulemak!
• You can select it as 'Russian (Colemak, phonetic Rulemak)' which is a bit Russia-centric but that's the way xkb rolls.
• I added a few lv3-4 mappings, and I use the dead_accents as in Colemak[eD] because I don't think combining accents are fully workable yet.]

Last edited by DreymaR (12-Jan-2014 22:15:14)

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

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Update: A quite big reworking of graphics and texts. Several locales were added, and hopefully more sensible mappings were used for some existing locales (notably Icelandic and Italian). Yay!

Last edited by DreymaR (12-Jan-2015 11:15:22)

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

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

The principles I follow for the 'Keep Local Symbols' ('ks') layout variant are these:
• The 'ks' layout is based on the 'basic' Linux layout for each locale, as the most common ground
• If the symbols/locale file contains another layout that's popular and modern and makes much more sense, I consider that
• This layout is for recognition purposes only. Maybe as a stopgap solution before the user decides to learn the 'universal' one?
• Thus, it'll miss out on dead keys and some mappings, and the special characters will be as bad as in 'basic' (usually QWERTY)

For the 'us' layout, the brackets and <LSGT> are the prime targets. Anything in particular you wish I'd learn from the Localized DSK in that respect? From what I could see the 'CZD' layout uses the number row and that's not compatible with my philosophy.

With lv1 dead keys for acute and caron, I feel that Czech is well covered. Some people dislike dead keys but in this case they're very powerful since there are 5 acute and 5 caron letters!

//default // wtf is this?
//hidden // wtf is this?
//partial // wtf is this? (not necessary for include)
//alphanumeric_keys // wtf is this?
//modifier_keys // wtf is this?
//xkb_compatibility "some_xkb_symbols_id" // wtf is this?

Haha @ this guy being confused by XKB! Well, who isn't (except maybe for Ivan Pascal himself)? :-D

Last edited by DreymaR (12-Jan-2015 10:53:13)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 24-May-2017
  • Posts: 8

There seems to be a problem with the Hebrew layout. It does not seem to be arranged phonetically according to Colemak at all. It looks kind of like it was based on the Isreali layout instead of the Phonetic Hebrew QWERTY layout. In other places, it looks like it is based on that layout, but the letters haven't been moved to their Colemak locations. Is this intentional?

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Interesting question! I do not type Hebrew myself, so I just based my work on the XKB default for Israel:

XKB/symbols/il said:

// This is an implemetation of the Israeli standard SI-1452 (2013)

In addition:

DreymaR said:

// I moved the key on <AC10> to <AD10>, just like the standard Colemak does.
// NOTE: The basic layout didn't define some keys (no Space?); I've no idea why.

As you can see, the layout is indeed Colemak-based. There are latin letters on the AltGr positions of the il(basic) layout, which facilitates transpositions:

    Cmk-X-phon-il-awide-sl_mask.png?raw=1

(This image is with the Wide mod which moves some keys to the middle of the board; that's defined as a keyboard model so it won't be on by default. The only symbol key I've moved is the semicolon.)

Don't you get this layout? Maybe Curl(DH) or some other mod is active? It's certainly possible to rearrange the DvbgHmk keys to a Curl configuration but it'll have to be done by hand for now.

There are a couple of other Hebrew variants, like the LyX, Slackware phonetic and Biblical ones. I go for whatever is the xkb default in my work, but some people may want something else. If a large number of users prefer another variant, I may include it. Is that the case here?

Last edited by DreymaR (29-May-2017 09:28:04)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 24-May-2017
  • Posts: 8

Yep, that's the layout I get. It isn't glitched or anything. The layout just doesn't seem to make any sense. All of the other layouts start with the equivalents of A, R, S, and T on the home row. The Cyrillic one goes А, Р, С, Т, for example. It only makes sense that the Hebrew one would go something like ת ש ר א (left-to-right), which are rough equivalents. What you seem to have done here is take the Isreali Hebrew layout, which is not QWERTY-based, and rearranged it so that each Hebrew letter that falls on QWERTY A falls on Colemak A, and so on. I'm going to try my hand at creating a phonetic layout, so let's see how that goes. Thanks for working on the Big Bag, by the way! I use it all the time.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Oh, oops! I was under the impression that the Israeli Hebrew layout was indeed a phonetic one! Sorry about that mistake, lol. It may have been the latin letters printed on. Of course, to some Israeli citizens it might be okay to keep the relation between Hebrew and Latin letters as they're used to. But to most, I guess they'll prefer something more phonetic.

I'm afraid I can't read Hebrew glyphs (as opposed to Kyrillic or Greek), so please refer to them by names (aleph, resh, samech, tav etc). :-)

Is this Hebrew KU Homophonic layout okay as a basis? I think it's in use on Windows.
    https://egarc.ku.edu/installing-hebrew- … -windows-7


Or the Biblical hebrew (SIL) US Standard layout version 1.5?
    https://studylib.net/doc/18565650/%D7%9 … ard-manual

Some things look strange, like putting vav on W and tet(?) on V? But unless it's quite bad, it's best to keep to existing standards to avoid more confusion.

Thanks for helping with this! :-)

Last edited by DreymaR (12-Jun-2017 12:29:37)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 24-May-2017
  • Posts: 8

Sorry for forgetting about this thread. I'm back now. For the second layout, they put tet on V because they were already using T for tav. There are two letters that make a T sound, and only a T sound, so one of them has to have a nonsensical binding. Such is life. The SIL Biblical layout is okay, but I can't imagine native speakers would use it that often, since it requires shift to access a bunch of really common letters. The thing is, like Greek, Hebrew has variants for some letters for when they appear at the end of a word. The Biblical SIL layout puts these as Shift + Letter, which is a bit inconvenient. If final variants are given their own key (which is what the Israeli layout does), then it comes to 27 letters, which means the semicolon has to go (which is again what the Isreali layout does). The KU layout also uses the shift key for final forms, but on top of this, it also assigns the same letter to multiple keys. The letter פ (pe), for example, is on both the P and F keys, since it makes both of those sounds. I'm not aware of any phonetic layout for Hebrew which has a 1:1 letter-to-key correspondence, which is why I ended up making my own phonetic Hebrew layout for Colemak. I'm not confident enough in my choices to recommend it to you (at least for now), but I'll post it on the forums and see if I can get some feedback on it. If I find a pre-existing Hebrew phonetic keyboard like this, I'll let you know.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

I see. I suppose the main reason for mapping the end variants to shifted versions of the letters is that it's much easier to remember where everything is that way! It may be less convenient for native speakers who are used to having the end letters elsewhere though. Most of us use the Shift key gleefully to type English, but it's mostly needed once or maybe twice per sentence so I suppose that's a lower frequency than the end variants.

How about... both? since Hebrew has few letters all in all, we might afford ourselves that luxury I think? As you state, only the semicolon would have to move – and that's fine. If there isn't anything else of pressing importance to use the shifted letter states for, that'd be my suggestion. This way, it'll be easy for us non-native Colemak users to find the letter forms, but also easy for native speed typists to access the letter forms. I think that's worth "wasting" a few mappings on if it means having one layout variant.

I'd recommend keeping it close to existing layouts unless there's a pressing reason for it. So, might we start from the Biblical SIL layout and add the end forms to unshifted mappings to keep it simple? It's fine to lose the double mappings like P/F, just choose the one of these that makes the most sense to you. It's fine if we can keep close to existing "standards"; wherever there's a conflict or something else would make a lot more sense though, departing from tradition is fine. I like to change things, but only if necessary or really useful!

Are there relatively standard ways of latinizing Hebrew script?

I still feel it'd make more sense to put Tet on T and Tav on V since the former's name has two T and the latter's name has a V in it! :-p But that's just one way of thinking of course. I realize that they put Tet on V because it's so similar in shape. I guess that works well enough. Furthermore, I guess Tet is a relative of Theta and Tav of Tau? Which again means that the T mapping belongs to Tav.

Am I right that the combining characters are needed for biblical/classic Hebrew but not for everyday modern writing? If so, we could delegate them to the shifted version of the letter, and put end forms on those instead. In this scheme, it's possible to have one variant of the layout that's a simple transposition of the Biblical SIL layout and one that has more accessible end forms in those letter spots. That'd be nice I hope?

I don't see the reason to have a separate € key. I have that on AltGr+E which should be more than good enough. Not sure where to put colon/semicolon? My native locale layout has them on Shift+,/. which works well mnemonically. Then, the < > have to go somewhere else though. I'm not sure which brackets and suchlike may be necessary, but it's nice to have as much as possible.

Last edited by DreymaR (10-Jun-2017 18:01:51)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 24-May-2017
  • Posts: 8

Combining characters are only used rarely in the modern language, yes. In the layout that I'm working on, I have delegated them to the other layers. As for the issue of final letters, having both shifted versions and dedicated keys makes sense. That'd certainly be a good option for your Colemak variant. In the current version of my keyboard layout, I have Shift + Letter reserved for that letter with a dagesh, but final forms might be more practical for everyday use. You're correct in assuming that tav is related to tau, and tet to theta.

While I'm at it, I'll show you the layout that I have right now. I made some slight modifications to it mere minutes ago, but I think I'm getting close to something ideal (for me). It would be great if others (native speakers, especially) could comment on it. I have stuff on the other layers, too, but it's really just sprinkled about with much logic applied. The main layer is what's important, here:

e9dRAgT.jpg

I've assigned most letters based on sound, and a few based on shape, and a final few are assigned with no real logic behind them, simply because those were the remaining spots. In a previous version, I had shin on the S key, samekh on the O key (because it looks like an O), and final mem on the W key (because W is an upside-down M). Looking at other phonetic layouts, it seems that most used the W key for shin, because it looks like it. This is what a lot of Cyrillic layouts do with the letter sha, which also looks like a W, interestingly. I decided that, in addition to being more standard, this made more sense, since it makes more sense for samekh (which only ever makes an S sound) to be assigned to S than for shin to be to (which makes both S and SH sounds). Final mem gets moved to O, then, which is close to M, but has little other logic behind it. I have tet on E, which is the last letter whose placement I'm still quite unhappy about, but I don't know where else to put it. Putting it on V would make a bit more sense, as you suggested, but V is really the most logical place for vav (U would also make sense, since it sometimes makes a vowel sound, but V makes a lot more sense).

If you have any thoughts on this layout, I'd love to hear them!

EDIT: I've also replaced the apostrophe with the similar-looking geresh. This is a mark in Hebrew that indicates that the letter before it (that is, to the right) should be pronounced with a different (foreign) sound. It's used to write loanwords into modern Hebrew, and is very common. It makes gimel make a J sound, tsade make a CH sound, and so on. It's common on the internet to substitute an apostrophe, since the Isreali layout doesn't have it, but it does look a bit different, so it does make sense to have it on the keyboard, and since Hebrew doesn't use the apostrophe at all as far as I'm aware, replacing it seems like a no-brainer to me.

Last edited by wrapman (11-Jun-2017 05:29:39)
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Looks like you're ending up with bits from both the phonetic layouts above? That'll be fine if there are good reasons for it.

I'm happy to hear that you're looking to other layouts like the Greek and Cyrillic wherever the options are open. I like to have as much consistency as possible across the board.

However, if waw is the phonetic sound /w/ then maybe it should ideally be on W? I very much like the IPA phonetic system!

As I understand it, since Samekh is the relative of sigma then it certainly belongs in the S position! Sound should go before looks.

Then shin might go to J! This is where Biblical SIL puts it, but also my Colemak[eD] has the ʃ on that key which is nice because shin is the /ʃ/ sound! However, maybe it's too common a letter for that somewhat awkward position?

It'd be nice if there's consistency between the Hebrew and Greek phonetic variants as far as possible. I've put θ on U for instance; so that suggests putting thet there too.

Your call on geresh sounds right to me. I suppose you have the latin apostrophe on the Shift or AltGr layer? However, if I understand this right then dagesh and geresh (and what else?) are commonly used accents in modern Hebrew! My usual tack is to use the bracket keys for such accents (as dead key or combining glyph), if they're common enough and used on several of the other letters. Might this be necessary for efficient Hebrew typing?

If you want, you can attach the .klc file to one of your posts. Or, open the file in an editor and paste it into a set of code tags so we can see it for ourselves. ;-) As mentioned, I'm not (yet) used to the letter shapes so I prefer to refer to them by their names; these are stated in that file.

What might be fine would be a table of which letters are stable (aleph, bet, gimel, tav etc) and which latin and Hebrew letters remain after that. Then, what your thoughts about each of the remaining Hebrew letters are (such as the shape of shin and its similarity to the kyrillic and the "KU homophonic" layout above).

[I've made such a table – see my post further down!]

On a side note: When this is done, I think we'll be ready to make Arabic, Syriac and quite possibly ancient Phoenician Colemak layouts! :-D

Last edited by DreymaR (13-Jun-2017 14:13:08)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 24-May-2017
  • Posts: 8

Huh. This is interesting. I was under the impression that vav (aka. waw) had always made a V sound, but it seems that it was a W sound in Biblical Hebrew. In the modern language, it makes either a V or U sound, but some Mizrahi speakers pronounce the consonantal version the old way. Perhaps W is a better choice phonetically, since it easily corresponds with all three sounds. The dagesh doesn't need to be on the main layer, since it not used except to disambiguate sounds. It is used consistently in Yiddish, though. Shin on the J key does seem somewhat awkward, since it is the letter used most of the time for both S and SH (samekh is actually quite rare). Putting yodh on Y is an interesting decision. It is more consistent with the idea of placing all letters according to their pronunciation as a consonant. Most phonetic layouts seem to assign it to I, though, and its use as a vowel is really common, so it's nice to have it on the home row. Also, having Y for ayin is really nice, since it looks like a Y, and is an incredibly rare letter. I know it doesn't make make sense to focus too much on ergonomics for a phonetic layout, though. Putting tet on U is a great idea. I had final nun there, but now that I think about it, putting tet there means that final nun could be right next to regular nun, which at least gives some logic behind its being on E. I'll make that switch in my next revision.

Offline
  • 0
  • Reputation: 0
  • Registered: 24-May-2017
  • Posts: 8

ֹOkay, so here is my latest revision. I'm attaching the KLC file. There is some weird stuff with caps lock, but other than that, it should work properly. You can also see what I've done for the other layers. I've mapped niqqud to Shift + Vowel and AltGr + Vowel, since there are more than five of them. I moved tet to U, as you suggested.

oadQVNB.jpg

Download

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Yes, it's interesting – and tricky! I learnt much about Hebrew writing yesterday, and had fun in doing so. It's frustrating to make a good phonetic layout since there are so many letters with (nearly) the same pronunciation! But I guess that makes the challenge more interesting too. ;-)

• When you speak of "most phonetic layouts" which ones do you mean besides the two I've looked at? Any that are in common use?
• Ideally, one should be able to glance at both modern, older and dialect Hebrew, while keeping Greek, Arabic, Syriac, Kyrillic etc in the side mirror.
• We should include dialect and other forms like dagesh/mappiq A/D/G/H/T; not sure what to do about dagesh hazak – go all out? As long as positions are empty...
• I might feel the need to continue this work with an Arabic and possibly other Aramæic Colemak variants later on. Consistency would help.
• Ergonomics does matter even for a phonetic layout. If it's horrible then people won't use it.
• Of course, phonetics go first but we have many choices to make too. So putting shin on J would probably be a bad idea. I'd actually like it on S but that's taken (B+K).

• I see, dagesh should only need to be on shift+B/K/P for instance then. This conflicts with the end forms of K/P. I actually suggest demoting the end forms to AltGr.
• Kaf needs both dagesh and the end form, so it could benefit from the end form on a separate key (and on AltGr of the main one) with dagesh on shift+keys.
• Your shift layer isn't altogether clear or obvious?
• Why not alternative plus on plus, that colon-looking thing on colon etc?
• Shouldn't double vav be on shift+V etc? I think that sounds more logical. More of a toss-up with the mixed forms; maybe AltGr for those?
• I'd put sin on Shift+w and shindot on AltGr+w in concordance with the KU layout which has sin on W from the looks of it.

Last edited by DreymaR (12-Jun-2017 13:31:31)

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

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364
Hebrew Phonetic Colemak layout - "HebMak"

• The principle of this layout will be to provide a mostly phonetic translation of Colemak to the Hebrew script.
• For some letters that's simple enough, for others design choices have to be made.
• We've looked to other phonetic Hebrew layouts as well as common transliteration practice.
• Final forms are found on Shift mappings as is common in other phonetic layouts. Also on dead keys?
• Dagesh/mapiq/hazaq dot forms are also placed on Shift mappings. Dagesh forms with final forms are on separate keys.
• Thus, the plain/dagesh pairs fe/pe and chaf/kaf are (semi-)phonetically distributed on F/P and J/K, respectivly.
• Samekh/sin are on s/S and shin/shin-dot on w/W, by form and precedence.
• Alef on A and ayin on E. An extra alef on Shift+ayin for convenience.
• Tet is on U, similar to Theta in the Greek phonetic layout. Also by its shape; others use V/Y/T so there aren't good precedents.
• Vav/waw is on V, with a spare on Shift+U.
• The O and Y keys are special dead keys for niqqud and other signs. Not everyone need these; feel free to map them to something else then.
    – Short vowels are on the Y key and long ones on the O key. For convenience, also on their mirrored counterparts (U-F, Y-W etc).
    – The DKs also let you type the combining diacritics: D/M = dagesh/mapiq, period = shva, comma = meteg, hyphen = rafe etc.
    – With AltGr+Letter from the short vowel DK, you get the ultrashort (shva) forms.


Table of proposed and discussed Hebrew Colemak mappings:
(based on my findings and opinions after some Wikipedia studies etc)

The "BKSW TI" mappings mean: Biblical-SIL, Kansas-Uni, Slackware & Wrapman's Hebmak phonetic layouts; Wikipedia & IPA common translit.
Final forms and dagesh/mapiq forms are shown when applicable; geresh forms in comments

A   א   name      fin.  BKSW TI    dag·map  • comments, [IPA]
--------------------------------------------------------------
Proposed:
A   א   alef/aleph      .aaa '.     אּ       • [ʔ] ʾ stop (see ayin; in non-oriental Heb., א = ע); on Shift+Y w/ ayin?
B   ב   bet/vet         bbbb bb     בּ·[b]   • ב vet [v]; בּ = U+FB31 bet dagesh [b]
C   צ   tsade/tzadi  ץ  cccc **     -       • [ts]; צ׳ ץ׳ [tʃ] č/ch; kyrillic tse; latin 'ts'
D   ד   dalet           dddd dd     דּ [dd]  • ד׳ [ð] ḏ/dh
E   ע   ayin            ,eyy 'ʔ             • ʿ stop (latin O); [ʕ/ʢ] g/ʁ [ancient ghayin was for that too]; on Shift+A?
F   פ   fe(i)?       ף                      • pe w/o dagesh [f] on F and w/ [p] on P, phonetically
G   ג   gimel           gggg gg     גּ [gg]  • ג׳ [dʒ] ǧ/j; נג [ŋ] ng
H   ה   he(i)           hhhh hh     הּ [h]   • He w/ mapiq
I   י   yod/yud         yiii ij     יּ [jj]  • i after vowel & before consonant/break, j otherwise
J   כ   chaf         ך                      • ?? kaf w/ dagesh [k] on K and w/o [χ] on J, semi-phonetically
K   כּ   kaf/chaf     ךּ  kkkk ck     ךּ·[k]   • [χ] x/ch/kh/ḵ (see chet); כּ = U+FB3B
L   ל   lamed           llll ll     לּ [ll]  •
M   מ   mem          ם  mmmm mm     מּ [mm]  •
N   נ   nun          ן  nnnn nn     נּ [nn]  •
O                                           • Special dead key (long vowels++)
P   פּ   pe(i)/fei    ףּ  pppp pp     ףּ·[p]   • ףפ [f], פּ = U+FB44 w/ dagesh [p]; but fei = p in all modern Hebrew!)
Q   ק   qof/kuf         qqqq qk     קּ [kk]  •
R   ר   re(i)sh         rrrr rʁ     -       • [ʁ] [ʀ]
S   ס   samekh          ssos ss     סּ [ss]  • (but see sin/shin)
T   ת   tav             tttt tt     תּ [tt]  • ת׳ [θ] th
U   ט   tet             vy_u tt             • טּ [tt]; u by shape; related to theta; Greek CmkPhon (IPA /θ/ [tˤ]); Shift+T? (Montdor)
V   ו   vav/waw         wvvv vv     וּ [vv]  • וו or ו׳ [w]; [v/w] native/loanwords; Latin U/V/W/Y/O; Gr. F/υ
W   ש   shin            Owsw *ʃ             • w by shape; kyrillic Ш is LBr in Rulemak; AltGr+j is ʃ in Cmk[eD]
X   ח   chet/ḥet        xxxx hχ     -       • [χ] x/ħ; (Gr. eta); sounds like chaf
Y                                           • Special dead key (short vowels++)
Z   ז   zayin           zzzz zz     זּ [zz]  • ז׳ [ʒ] ž

Final forms (often on Shift+letter; Wrapman uses separate keys):
C  ץ    tsadi fin.  (צ) CCCj                • U+05e5
M  ם    mem fin.    (מ) MMMo                • U+05dd  Hebrew(il) uses o
N  ן    nun fin.    (נ) NNNe                • U+05df  KU uses both N and o
K  ך    kaf fin.    (כ) KKK;                • U+05da
P  ף    pe fin.     (פ) PPPf                • U+05e3
Niqqud vowels (on AltGr/Shift+vowel? DKs? BiblicalHebrew-SIL mappings shown.):
a    ַ   a   pata(c)h                        • U+05b7  ֲ   U+05b2 hataf (reduced) patah – SIL AltGr+A
A    ָ   A   kamatz/qamats                   • U+05b8  ֳ   U+05b3 hataf kamatz – SIL AltGr+O
e    ֶ   e   seg(g)ol (short e)              • U+05b6  ֱ   U+05b1 hataf segol – SIL AltGr+E
E    ֵ   E   tsere/tzere haser (long e)      • U+05b5     tzere male w/ yod or alef is the same sound
i    ִ   i   hiriq                           • U+05b4  ִי  w/ yod is hiriq male/yud (long).
o    ֹ   o   (c)holam (male)                 • U+05b9
O    וֹ  O   (c)holam (haser)                • U+05ba  וֹ  used only with vav in combining ( ֺ) or combined (וֹ) form
u    ֻ   u   kubuts/qubutz (short u)         • U+05bb
U    ּ   =   shuruk (long u)                 • U+05bc     the same symbol as combining dagesh/mappiq! Used with vav.
;    ְ   ;   sh(e)va/shewa/schwa             • U+05b0  diacritic for fleeting/reduced (hataf) vowel; ultrashort when doubled; also [ə] or no vowel (Ø)
-    ֿ   _   rafe                            • U+05bf  Yiddish/Ladino; used to be the opposite of dagesh

Interesting:
V?  וו      double-waw/VavVav               • [w]; ו׳ (vav geresh) is also used; Yiddish; AltGr+V/W?; DK?
I?  ײ       yud-yud/YodYod                  • AltGr+yud; Yiddish; YodYod(Patah) on AltGr(Shift)+I; DK?
X?  ױ       vav-yud/VavYod                  • AltGr+chet; Yiddish; on AltGr+Shift+V?; lig. DK?
+S  שׂ       sin         fW_W ss             • sin/shin are the same w/ L/R upper dots/niqqud [on shift+S?]
+W  שׁ       shindot     j?_W *ʃ             • [ʃ] when using diacritics (on Shift+W?)
'   ׳   /   geresh      ---' '              • U+05f3  ' by shape; also cantillation/chanting mark  ֜ or  ֝
"   ״   :   gershayim   ---" "              • U+05f4  " by shape; also cantillation/chanting mark  ֞ (AltGr+", or DK)
@m  ּ    =   dagesh (kal)/map(p)iq           • U+05bc  On bet/kaf/pe, but also gimel/dalet/tav in dialects; mappiq on alef/he used as consonants
@h  ּ    =   dagesh hazaq/hazak              • U+05bc  Turns single consonant into double; gimel/dalet/vav etc.
4   ₪       NewSheqel                       • U+20aa  On AltGr+4; also AltGr+S? (Euro on AltGr+e?)
-   ־   -   maqaf (hyphen)                  • U+05be  hyphen by shape; same function as Latin hyphen
+   ﬩       alternative plus                • to avoid writing a cross :-o
**          LRM & RLM                       • U+200e/U+200f  directional marks; Ctrl+[] are used elsewhere
.   ̣        punctum (low)                   • U+0323  period
'           punctum (high)                  • U+05c4
_   ‗       Hebrew double low line          • U+2017  ??

Old:
,   ֽ        meteg                           • U+05bd  comma by shape; long/short vowels in biblical Hebrew; stress marker
|   ׀       paseq (separator)               • U+05c0  not on modern keyboard so | is often used; old separator
:   ׃   :   sof pasuq (period)              • U+05c3  not on modern keyboard so : is often used; old period sign
[   ׆       nun hafukha (punctuation)       • U+05c6  [ by shape; a rare glyph from Classical Hebrew

Same in modern Hebrew as Latin: ,.?!()[]{}-= but periods may look like diamond 'punctum' in typefaces; U+0323 low or U+5c4 high; em-dash.
Do we need ’” right quote? Should parentheses be swapped due to RLM/LRM?
U+25CC mark base, U+200c zero-width non-joiner, U+200d zero-width joiner and U+034f character grapheme joiner are on the SIL layout

Also see the Colemak-eD-Heb EPKL layout which is where development of the HebMak layout is accomplished. The base layout file holds many informative comments.


The Biblical Hebrew SIL US Standard layout (version 1.5):
I like how this board makes room for the vowel niqqud, but for modern Hebrew they're at too common keys. There are four state layers!
https://studylib.net/doc/18565650/%D7%9 … ard-manual
    BiblicalHebrew-SIL_state0.png

    BiblicalHebrew-SIL_state1.png

The Kansas University Hebrew KU Homophonic layout:
"The KU homophonic keyboard attempts to reflect sound correspondences when possible"
https://egarc.ku.edu/installing-hebrew- … -windows-7

    HebrewPhonetic_Kansas-Uni.png


Linux XKB 'phonetic' layout (from Slackware il.map):
As done in Montdor's "Hebmak": https://github.com/DreymaR/BigBagKbdTrixXKB/pull/13
Final letters (e.g. kaph, nun, etc.) are typed by 'shift+<letter>'.

A   [ hebrew_aleph  , hebrew_aleph	]
B   [ hebrew_bet    , hebrew_bet	]
C   [ hebrew_zade   , hebrew_finalzade	]
D   [ hebrew_dalet  , hebrew_dalet	]
EY  [ hebrew_ayin   , hebrew_ayin	]
FP  [ hebrew_pe     , hebrew_finalpe	]
G   [ hebrew_gimel  , hebrew_gimel	]
H   [ hebrew_he     , hebrew_he		]
IJ  [ hebrew_yod    , hebrew_yod	]
K   [ hebrew_kaph   , hebrew_finalkaph	]
L   [ hebrew_lamed  , hebrew_lamed	]
M   [ hebrew_mem    , hebrew_finalmem	]
N   [ hebrew_nun    , hebrew_finalnun	]
Q   [ hebrew_qoph   , hebrew_qoph	]
R   [ hebrew_resh   , hebrew_resh	]
S   [ hebrew_samech , hebrew_samech	]
T   [ hebrew_taw    , hebrew_tet	]   // Tav/Tet
UVO [ hebrew_waw    , hebrew_waw	]
W   [ hebrew_shin   , hebrew_shin	]
X   [ hebrew_chet   , hebrew_chet	]
Z   [ hebrew_zain   , hebrew_zain	]

=   [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]
Niqqud

Reference chart of the Niqqud vowels (minus rafe). Note how they figure in their own names.
    Hebrew_Niqqud_Dec.png

Spoiler:
Cholam:         הוֹלָם
Shva:           שְׁוָא
Segol:          סֶגוֹל
Tzere:          צֵירֵה
Patach:         פַּהָּה
Qamatz:         קָמַץ
Shuruq:         שׁוּרֻק
Qubbutz:        קֻבּוּץ
Chataf segol:   הֲטַף סֶגוֹל
Chiriq:         הִירִיק
Chataf patach:  הֲטַף פַּהָּה
Chataf qamatz:  הֲטַף קָמַץ
Links

https://en.wikipedia.org/wiki/Hebrew_keyboard (in particular, look at the niqqud layout based on Linux Lyx?)
https://en.wikipedia.org/wiki/Romanization_of_Hebrew
https://en.wikipedia.org/wiki/Unicode_a … w_alphabet
https://en.wikipedia.org/wiki/Hebrew_punctuation
https://en.wikipedia.org/wiki/Niqqud


Addendum

Some more thoughts and additions:

• The most frequent letters in modern Hebrew, according to https://www.sttmedia.com/characterfrequency-hebrew are:
    – י (yod 11%), ה (he), ו (vav 10%), ל (lamed 7%), א (alef 6%), ר (resh), ת (tav 5%), ב (bet), מ (mem), ש (shin 4.4%).
    – Then, ע (ayin 3.2%), ם(m) נ(g) כ(k) ד(d) ח(x) ק(q) פ(p) ס(samekh 2.1%) ז ג צ ט ן ך (0.8%).

• Neqqudot is the name of niqqud as used in poetry and children's books; includes sheva, rafe etc etc.
    – There's a short and long version of each vowel, more or less (A/E/I/O/U)
    – Chatufot/(c)hataf niqqud: With a shva, patach/segol(/hiriq)/kamatz (A/E/I/O) become fleeting/reduced, ultrashort w/ two schwa
    – Map double-shva to Shift+shva, it's recommended
    – There could be two DKs for these on vowel keys (E and O?), for short and long vowels. They could release each other's vowels.
    – The Heb DKs could release other stuff too with consonants and symbols, making for a very powerful set.

• One reason to use Latin vowel keys for final forms, is that niqqud aren't always used and these keys are well placed.
    – The final-form placements suggested are based on physical closeness on QWERTY boards though?
    – Also, most phonetic boards seem to use Shift+letter for final forms. Taking it further, hazaq/dagesh forms can also go there!
• Place sin on Shift+S: It belongs there phonetically, and Shift+W can then be shindot.
• Use brackets for geresh and dagesh (and maqaf?)? These are common accents.
• Given vav's frequency it might actually merit two keys (VU). The same would ideally be true for yod/he/lamed/alef...

• Wrapman: Is there a rationale for your placements of sh'va and the hataf niqqud – and others?
    – Would be nice w/ shva etc on the ISO key, but most Israeli keyboards are ANSI.
https://jcuenod.github.io/bibletech/201 … rd-layout/ says hatef (short) vowels are nice to include!

• In the XKB Biblical SIL, there are many other glyphs. Ancient symbols and cantillation marks for singing Torah aren't needed for most.
• Wikipedia has this for cantillation(!):
    Sof passuk ׃  paseq ׀  etnachta ֑   segol ֒   shalshelet ֓   zaqef qatan ֔   zaqef gadol ֕   tifcha ֖   rivia ֗   zarqa ֘    pashta ֙   yetiv ֚   
    tevir ֛    geresh ֜   geresh muqdam [de] ֝   gershayim ֞    qarney para ֟   telisha gedola ֠    pazer ֡   atnah hafukh [de] ֢    munach ֣   
    mahapakh ֤    merkha ֥   merkha kefula ֦    darga ֧   qadma ֨    telisha qetana ֩   yerah ben yomo ֪   ole ֫   illuy ֬    dehi [de] ֭   zinor ֮
• The XKB Biblical SIL number row:

<AE01> [ 1    ,  U0021,  U05BD,  U0597 ]  //1,      exclamation  meteg       revia
<AE02> [ 2    ,  U0598,  U05A2,  U05AE ]  //2,      zarqa       atn. hafukh  zinor
<AE03> [ 3    ,  U05A8,  U0596,  U0599 ]  //3,      qadma        tipeha      pashta
<AE04> [ 4    ,  U059C,  U05A5,  U05A0 ]  //4,      geresh       merkha      tel. gedola
<AE05> [ 5    ,  U059E,  U05A6,  U05A9 ]  //5,      gershayim   mer. kefula  tel qetana
<AE06> [ 6    ,  --   ,  U05AD,  U059F ]  //6,      -            dehi        qar. para
<AE07> [ 7    ,  U05AC,  U05A3,  U05A1 ]  //7,      iluy         munah       pazer
<AE08> [ 8    ,  U059D,  U059B,  U0595 ]  //8,      g. muqdam    tevir       zaq. gadol
<AE09> [ 9    ,  U0029,  U05A7,  U0593 ]  //9,      parenth.R    darqa       shalshelet
<AE10> [ 0    ,  U0028,  U05AA,  U05AF ]  //0,      paren.L   yer. ben yomo  masora c.
<AE11> [ U05BE,  U2013,  U2014,  U05BF ]  //Maqaf,  en dash      em dash     rafe
<AE12> [ U05BC,  --   ,  U0591,  U25CC ]  //Dagesh  -            etnahta     mark base
Last edited by DreymaR (04-Jun-2021 11:56:02)

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

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

[post moved into the previous one for linking purposes]

Last edited by DreymaR (18-Sep-2017 16:00:42)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 24-May-2017
  • Posts: 8

Woah, that's a lot to respond to. If I miss something, feel free to ask it again. So, for the niqqud, all ten or so of them should be on the layout, because they're all in common use from what I've seen. Some are pronounced identically in modern Hebrew, but there are spelling conventions for which are used, based on vowels in older forms of the language. I think. I personally would like to keep shin on its own key, since it is fairly common. Putting vav on W certainly makes sense, but I do think that V makes more sense, given that that's how words in Modern Hebrew are romanised. When I said I was looking at phonetic layouts for reference, I was mainly looking at the KU one, since it's the closest in terms of design goals to what I was hoping for. Were you looking at the shift layer in the KLC file? Yeah, as I said, I didn't put much logic behind it. I just wanted to add all of that stuff as quickly as possible so I could use it in the meantime while I came up with a better layout. My main focus was the main layer. A lot of these extra characters are mainly used for Yiddish, especially the ligatures. It would be nice to have the layout work well for Yiddish, but it's of secondary concern, so putting them behind AltGr isn't too big of an issue. I think you can probably do much better than I did with the extra layers, for sure.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

I need your help to make it better! Yes, I know it gets involved – it's always like that I'm afraid. :-)

No, sure, I'm all behind shin on W now. It's in line with the KU phonetic layout, and it's nice. What I do suggest though, is sin (shin with left dot) on shift+S and shin-dot on shift+W. That makes sense phonetically, and makes the W key less crowded.

Exactly what are these "ten or so Niqqud", please? I haven't studied this well enough yet. As you can see, I know of the five vowels now; what is the function of the five (or so) others you say?

Is there a hataf variant for each vowel, that need to be included? If so, they should likely be on AltGr+vowels then. Unless it can be done with a combining key? How common are they?

It seems that some of these niqqud aren't commonly in use now?

What I'm thinking right now, is that it might be nice to do what the Israel layout does: Keep latin letters on AltGr! Because when typing Hebrew most people will often need to type a latin word now and then I guess?

Then, it'd be possible to have another variant with the same first two layers but with more advanced glyphs needed for biblical Hebrew and suchlike, on the AltGr layers. All the niqqud you can dream of, ligatures etc etc.

We'll also need the RLM (right-left-marker) and LRM (left-right-marker) if you didn't already include them.

Last edited by DreymaR (15-Jun-2017 09:37:39)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 24-May-2017
  • Posts: 8

In terms of pronunciation, Modern Hebrew has only five vowels. Some eras in the history of the language had more, however, and this is reflected in spelling. When writing the modern language with vowels, you still need these extra vowels, since that's how the words are spelled. As far as I'm aware, features that are no longer pronounced in the modern language include vowel length, gemination, and the distinction between the sounds of certain letters. I don't think these things have been jettisoned in writing yet, but I'm not sure. It's akin to the WH sound in English, which is pronounced W in most modern dialects, but is still written. The Israeli layout puts the niqqud on the number row, but I'm not a fan of this for a phonetic layout. I'm not really sure what to do for the extra layers. This is an area where inspiration just doesn't strike me as much. Your idea about putting the two forms of shin on S and W is a good one. Invisible Unicode characters are a good idea. Those should definitely be in the layout.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

*scurries off to look up 'gemination'*

Wikipedia said:

In Classical Arabic, a long vowel was lengthened even more before permanently geminate consonants.

Whoa. :-o

I feel we're getting somewhere. This is going to be good, I know it! :-)

The best indication of what should and what doesn't need to be in the main layout (but can still be in the "enhanced" one without latin letters) may be the Israel layout itself. Our layout should have the same symbols as that, for sure.

Last edited by DreymaR (20-Jun-2017 08:55:37)

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

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

The standard Greek layout, being based on a transliterated Qwerty, can be rearranged to Colemak without any difficulties:

greek.png
This layout, the same as proposed by DreymaR above, has been included in xkeyboard-config as gr(colemak).

AltGr combinations, mostly alternative or archaic letters and some symbols, moved together with the corresponding main letters.

Offline
  • 0