I'm able to support Vietnamese with this layout now! With the deadkey toggle on, it takes a maximum of three keystrokes to type any vowel with its tone mark (as opposed to two keystrokes for every vowel with tone mark on the standard Vietnamese layout). However, I think the vowel keys on my layout are better placed and allows typing with fewer trips to the top row, so I think that ultimately it isn't a worse typing experience than the standard Vietnamese layout, and may actually be a little bit better.
Here is a map of the layout, with the main layer in red on the left, the AltGr layer in blue in the middle, and the kana (deadkey) layer on the right (purple). All deadkeys have a blue background.
Supported languages
I made a pretty major change based on the 2021 Ethnologue data on languages by total number of speakers that was posted to Wikipedia. I now have enough AltGr keys to cover quick typing (2 keystrokes per lowercase letter excluding tone marks, and at most 3 keystrokes per lower case letter with tone marks for Vietnamese and Yoruba) for the 15 most spoken languages in the world that commonly use the Latin script; these languages are all in the top 40 languages with the most speakers. The languages are:
- English (1.348 billion speakers)
- Spanish (543 million)
- French (267 million)
- Portuguese (258 million)
- Indonesian (excl. Malay) (199 million)
- Standard German (135 million)
- Turkish (88 million)
- Vietnamese ( 77 million)
- Hausa (75 million)
- Swahili (69 million)
- Javanese (68 million)
- Italian (68 million)
- Nigerian Pidgin (48 million)
- Filipino (excl. Tagalog) (45 million)
- Yoruba (43 million)
In terms of weighting, I will plan on half of the optimization being dedicated to English (a quarter of the total weight) and Spanish and French (another combined quarter), and the other half being dedicated to all of the other languages. In other words, English will count six times, Spanish and French will each count three times, and the other twelve languages will each count once. The extra weight towards English, Spanish and French is because not only is English the international language, but these make up half of the official UN languages, and over half of all countries have at least one of these three languages is an official language. But the lower-weighted languages will have veto power, because the worst score for any individual language will be counted against a candidate layout's total score, meaning that the final layout shouldn't be terrible for any of these 15 languages.
Other minor improvements
Some other changes I've made are:
- I swapped ? with / so that ? could be written with one keystroke, as it is used much more often in writing text.
- Assorted European quotation marks can now be typed with only two keystrokes each; they were previously on a deadkey due to space issues and thus required at least 3-4 keystrokes each.
- ¿ ¡ º and ª were previously on the ISO key based on the mistaken belief that most of the world uses the ISO layout (which has an extra key). However, it turns out that the ISO format is mainly limited to Europe, with the Americas using the ANSI layout. So I can't put vital Spanish functionality on the ISO key! I moved those symbols to easy-to-reach keys on the right hand, and I dedicated the ISO key to symbols that are important for German, since most German speakers use ISO layout keyboards.
Language Learning
I am finishing up with Eastern Armenian for my Every script in the world challenge (which I suppose is the opposite of this project which is dedicated just to the Latin script), and now I need to decide where to go next. I have two hobbies that have been competing with language learning lately: chess and competitive typing. But, my recent work on my layout has given me more energy for language learning. It's tempting to abandon Arabic and go straight into one of these languages, but many of them have some significant Arabic influence, so the more Arabic vocabulary I learn, the easier it will be for me to study many of these languages. So maybe I'll keep going with Arabic for a few more months and then start in on Turkish or something.
PS
Also, whoops! It looks like Min Nan (including Hokkien, including Taiwanese) often uses the Latin script too! It looks like the only character it uses that isn't already represented on my layout is a superscript ⁿ, so I swapped the deadkeys around so that it can be produced with just two keystrokes using the deadkey layer. I'll have to look into it more but it's after 1 am so time to get some sleep!