« Utilisateur:A2/dk » : différence entre les versions
m (→Méthode) |
m (ça commence à ressembler à ce que ça devrait être) |
||
Ligne 98 : | Ligne 98 : | ||
|} | |} | ||
*Aigu<ref>ǽ et Ǽ sont accessibles avec {{touches|´|æ}} et {{touches|´|Æ}}. Impossible de définir {{touches|´|a|e}} et {{touches|´|A|E}} à cause des définitions de á et Á.</ref> : ṥṤ ắẮ {{b|ḉḈ}} ấẤ{{b|ếẾ}}ốỐ ḯḮǘǗ ḗḖṓṒ ǻǺ ǿǾ ṍṌṹṸ ớỚứỨ | |||
* | *Brève : ắẮ ḝḜ {{B|ằẰ}} ẵẴ ẳẲ ặẶ | ||
*Point en chef : ṥṤ ṧṦ ǡǠ ȱȰ ṩṨ ɟ | |||
*Caron : ṧṦ ǚǙ | |||
*Cédille : ḉḈ ḝḜ | |||
*Circonflexe : ấẤ{{b|ếẾ}}ốỐ {{b|ầẦềỀ}}ồỒ ẫẪễỄỗỖ ẩẨểỂổỔ ậẬệỆộỘ | |||
*Tréma : ḯḮǘǗ ǚǙ {{b|ǜǛ}} ǟǞȫȪ{{v|ǖǕ}} ṏṎ | |||
*Accent grave : ằẰ ầẦ {{b|ềỀ}} ồỒ ǜǛ ḕḔ ṑṐ ờỜ ừỪ | |||
*Macron : ǡǠȱȰ ḗḖṓṒ ǟǞȫȪṻṺ ḕḔṑṐ ǭǬ ȭȬ ḹḸṝṜ ᾱᾹῑῙῡῩ | |||
*Ogonek : Ǭǭ | |||
*Rond en chef : ǻǺ | |||
*Barrés : ɟ ǿǾ | |||
*Tilde : ṍṌṹṸ ẵẴ ẫẪ{{B|ễỄ}}ỗỖ ṏṎ ȭȬ ỡỠữỮ | |||
*Cornu : ỚớỨứ Ờờ{{B|Ừừ}} ỢợỰự ỞởỬử ỠỡỮữ | |||
*Crochet : ẳẲ ẩẨ{{B|ểỂ}}ổỔ ởỞửỬ ϒ {{R|ʄ}} | |||
*Point souscrit : ṩṨ ặẶ ậẬ{{B|ệỆ}}ộỘ ḹḸṝṜ ợỢựỰ | |||
== Notes et remarques == | |||
Todo : | |||
*vérifier les quelques cas spéciaux et le comportement sous linux (pilotes homogènes) | |||
À réviser sur bépo (supprimer ?) | |||
// DEADTRANS( L'V' , 0x00af , 0x01d5 , 0x0000), // V -> Ǖ > ancienne définition temporaire pour le pinyin, doit en rester une autre quelque part | |||
// DEADTRANS( L'v' , 0x00af , 0x01d6 , 0x0000), // v -> ǖ | |||
// DEADTRANS( 0x01f2 , 0x02c7 , 0x01c5 , 0x0000),// Dz -> Dž supprimer ou ajouter une combinaison (compose ?) | |||
// DEADTRANS( 0x0256 , 0x0309 , 0x1d91 , 0x0000), // ɖ -> ᶑ > d with tail sur bépo, combinaison à faire supprimer ? | |||
// /20a1 20b5 // ₡ -> ₵ ;(pourquoi cette définition ?) | |||
// /00a2 20b5 // ¢ -> ₵ | |||
Ajouts possibles (en vérifiant l'homogénéïté des pilotes) : | |||
DEADTRANS( | // DEADTRANS( L'n' , L'^' , 0x207f , 0x0000), // exposant n (du Neo2 ?) | ||
//- Combinaison de 3 touches mortes : J dotless with stroke and hook : | |||
// DEADTRANS( 0x025f , 0x0309 , 0x0284 , 0x0000), // ɟ -> ʄ > combinaison de 3 touches | |||
// 03D3 GREEK UPSILON WITH ACUTE AND HOOK SYMBOL // combinaison de 4 touches | |||
// 0351 COMBINING LEFT HALF RING ABOVE ( | |||
// 0357 COMBINING RIGHT HALF RING ABOVE ) | |||
// 212B ANGSTROM SIGN | |||
// 2E1B TILDE WITH RING ABOVE | |||
// 0312 COMBINING TURNED COMMA ABOVE ̒ | |||
// Ajouts possibles : indices sur neo2 (x possible mais pas a/e déjà définis êâ, ce serait bien d'avoir l'exposant e) : | |||
// DEADTRANS( L'a' , 0x02c7 , 0x2090 , 0x0000), | |||
// DEADTRANS( L'e' , 0x02c7 , 0x2091 , 0x0000), | |||
// DEADTRANS( L'x' , 0x02c7 , 0x2093 , 0x0000), | |||
// DEADTRANS( 0x00d7 , 0x02d9 , 0x2a30 , 0x0000), // × -> ⨰ MULTIPLICATION SIGN WITH DOT ABOVE | |||
// DEADTRANS( 0x007e , 0x02d9 , 0x2e1e , 0x0000), // ~ -> ⸞ TILDE WITH DOT ABOVE | |||
// Autres possibilités : des « doubles touches mortes » combinantes qu'on pourrait avoir | |||
// | |||
// 1DCB COMBINING BREVE-MACRON | // 1DCB COMBINING BREVE-MACRON | ||
// 1DCC COMBINING MACRON-BREVE | // 1DCC COMBINING MACRON-BREVE | ||
// 035D COMBINING DOUBLE BREVE | // 035D COMBINING DOUBLE BREVE | ||
Fignolage du bépo, de l'accessibilité des combinaisons ci-dessous : on peut faciliter la saisie de certains caractères en remplissant les définitions non utilisée. Je pense par exemple à un compose en {{touches|^|v}}, en redondance avec un éventuel {{touches|Altgr|Maj|ê}}. De même on peut faciliter les enchainements de touches mortes quand l'une est en {{touche|AltGr|Maj}} l’autre non (ça plus le caractère), fonction des combinaisons existantes. Le poids de ces doubles combinaisons n'a jamais été pris en compte dans le placement des touches mortes et cela se ressent pour taper certains caractères. Enfin pour être précis, il faudrait savoir quantifier la fréquence de ces caractères, savoir si l'on veut faciliter l'accès aux plus utiles. | |||
{{ | |||
== | == Définitions pour le fichier source == | ||
<syntaxhighlight lang="C"> | <syntaxhighlight lang="C"> | ||
//-Touches mortes multiples | |||
// accent grave & circonflexe (0xe002) | |||
DEADTRANS( 0x0060 , L'^' , 0xe002 , 0x0001), | |||
DEADTRANS( 0x005e , L'`' , 0xe002 , 0x0001), | |||
DEADTRANS( L'A' , 0xe002 , 0x1ea6 , 0x0000), // Ầ | |||
DEADTRANS( L'a' , 0xe002 , 0x1ea7 , 0x0000), // ầ | |||
// | DEADTRANS( L'E' , 0xe002 , 0x1ec0 , 0x0000), // Ề | ||
// | DEADTRANS( L'e' , 0xe002 , 0x1ec1 , 0x0000), // ề | ||
// | DEADTRANS( L'O' , 0xe002 , 0x1ed2 , 0x0000), // Ồ | ||
// DEADTRANS( L'a' , | DEADTRANS( L'o' , 0xe002 , 0x1ed3 , 0x0000), // ồ | ||
// DEADTRANS( L'e' , | // accent grave & macron (0xe004) | ||
// DEADTRANS( L' | DEADTRANS( 0x0060 , 0x00af , 0xe004 , 0x0001), | ||
DEADTRANS( 0x00af , L'`' , 0xe004 , 0x0001), | |||
DEADTRANS( L'E' , 0xe004 , 0x1e14 , 0x0000), // Ḕ | |||
DEADTRANS( L'e' , 0xe004 , 0x1e15 , 0x0000), // ḕ | |||
DEADTRANS( L'O' , 0xe004 , 0x1e50 , 0x0000), // Ṑ | |||
DEADTRANS( L'o' , 0xe004 , 0x1e51 , 0x0000), // ṑ | |||
DEADTRANS( | // accent grave & brève (0xe005) | ||
DEADTRANS( 0x02d8 , | DEADTRANS( 0x0060 , 0x02d8 , 0xe005 , 0x0001), | ||
// | DEADTRANS( 0x02d8 , L'`' , 0xe005 , 0x0001), | ||
// U | DEADTRANS( 0x0041 , 0xe005 , 0x1eb0 , 0x0000), // Ằ | ||
// | DEADTRANS( 0x0061 , 0xe005 , 0x1eb1 , 0x0000), // ằ | ||
// | // accent grave & tréma (0xe007) | ||
// | DEADTRANS( 0x0060 , 0x00a8 , 0xe007 , 0x0001), | ||
// / | DEADTRANS( 0x00a8 , L'`' , 0xe007 , 0x0001), | ||
// / | DEADTRANS( L'U' , 0xe007 , 0x01db , 0x0000), // Ǜ | ||
DEADTRANS( L'u' , 0xe007 , 0x01dc , 0x0000), // ǜ | |||
// accent grave & cornu (0xe00b) | |||
DEADTRANS( 0x0060 , 0x031b , 0xe00b , 0x0001), | |||
DEADTRANS( 0x031b , L'`' , 0xe00b , 0x0001), | |||
DEADTRANS( L'O' , 0xe00b , 0x1edc , 0x0000), // Ờ | |||
DEADTRANS( L'o' , 0xe00b , 0x1edd , 0x0000), // ờ | |||
DEADTRANS( L'U' , 0xe00b , 0x1eea , 0x0000), // Ừ | |||
DEADTRANS( L'u' , 0xe00b , 0x1eeb , 0x0000), // ừ | |||
// accent aigu & circonflexe (0xe102) | |||
DEADTRANS( 0x00b4 , 0x005e , 0xe102 , 0x0001), | |||
DEADTRANS( 0x005e , 0x00b4 , 0xe102 , 0x0001), | |||
DEADTRANS( 0x0041 , 0xe102 , 0x1ea4 , 0x0000), // Ấ | |||
DEADTRANS( 0x0061 , 0xe102 , 0x1ea5 , 0x0000), // ấ | |||
DEADTRANS( 0x0045 , 0xe102 , 0x1ebe , 0x0000), // Ế | |||
DEADTRANS( 0x0065 , 0xe102 , 0x1ebf , 0x0000), // ế | |||
DEADTRANS( 0x004f , 0xe102 , 0x1ed0 , 0x0000), // Ố | |||
DEADTRANS( 0x006f , 0xe102 , 0x1ed1 , 0x0000), // ố | |||
// accent aigu & tilde (0xe103) | |||
DEADTRANS( 0x00b4 , 0x007e , 0xe103 , 0x0001), | |||
DEADTRANS( 0x007e , 0x00b4 , 0xe103 , 0x0001), | |||
DEADTRANS( 0x004f , 0xe103 , 0x1e4c , 0x0000), // Ṍ | |||
DEADTRANS( 0x006f , 0xe103 , 0x1e4d , 0x0000), // ṍ | |||
DEADTRANS( 0x0055 , 0xe103 , 0x1e78 , 0x0000), // Ṹ | |||
DEADTRANS( 0x0075 , 0xe103 , 0x1e79 , 0x0000), // ṹ | |||
// accent aigu & macron (0xe104) | |||
DEADTRANS( 0x00b4 , 0x00af , 0xe104 , 0x0001), | |||
DEADTRANS( 0x00af , 0x00b4 , 0xe104 , 0x0001), | |||
DEADTRANS( 0x0045 , 0xe104 , 0x1e16 , 0x0000), // Ḗ | |||
DEADTRANS( 0x0065 , 0xe104 , 0x1e17 , 0x0000), // ḗ | |||
DEADTRANS( 0x004f , 0xe104 , 0x1e52 , 0x0000), // Ṓ | |||
DEADTRANS( 0x006f , 0xe104 , 0x1e53 , 0x0000), // ṓ | |||
// accent aigu & brève (0xe105) | |||
DEADTRANS( 0x00b4 , 0x02d8 , 0xe105 , 0x0001), | |||
DEADTRANS( 0x02d8 , 0x00b4 , 0xe105 , 0x0001), | |||
DEADTRANS( 0x0041 , 0xe105 , 0x1eae , 0x0000), // Ắ | |||
DEADTRANS( 0x0061 , 0xe105 , 0x1eaf , 0x0000), // ắ | |||
// accent aigu & point en chef (0xe106) | |||
DEADTRANS( 0x00b4 , 0x02d9 , 0xe106 , 0x0001), | |||
DEADTRANS( 0x02d9 , 0x00b4 , 0xe106 , 0x0001), | |||
DEADTRANS( 0x0053 , 0xe106 , 0x1e64 , 0x0000), // Ṥ | |||
DEADTRANS( 0x0073 , 0xe106 , 0x1e65 , 0x0000), // ṥ | |||
// accent aigu & tréma (0xe107) | |||
DEADTRANS( 0x00b4 , 0x00a8 , 0xe107 , 0x0001), | |||
DEADTRANS( 0x00a8 , 0x00b4 , 0xe107 , 0x0001), | |||
DEADTRANS( 0x0049 , 0xe107 , 0x1e2e , 0x0000), // Ḯ | |||
DEADTRANS( 0x0069 , 0xe107 , 0x1e2f , 0x0000), // ḯ | |||
DEADTRANS( 0x0055 , 0xe107 , 0x01d7 , 0x0000), // Ǘ | |||
DEADTRANS( 0x0075 , 0xe107 , 0x01d8 , 0x0000), // ǘ | |||
// accent aigu & rond en chef (0xe109) | |||
DEADTRANS( 0x00b4 , 0x02da , 0xe109 , 0x0001), | |||
DEADTRANS( 0x02da , 0x00b4 , 0xe109 , 0x0001), | |||
DEADTRANS( 0x0041 , 0xe109 , 0x01fa , 0x0000), // Ǻ | |||
DEADTRANS( 0x0061 , 0xe109 , 0x01fb , 0x0000), // ǻ | |||
// accent aigu & cornu (0xe10b) | |||
DEADTRANS( 0x00b4 , 0x031b , 0xe10b , 0x0001), | |||
DEADTRANS( 0x031b , 0x00b4 , 0xe10b , 0x0001), | |||
DEADTRANS( 0x004f , 0xe10b , 0x1eda , 0x0000), // Ớ | |||
DEADTRANS( 0x006f , 0xe10b , 0x1edb , 0x0000), // ớ | |||
DEADTRANS( 0x0055 , 0xe10b , 0x1ee8 , 0x0000), // Ứ | |||
DEADTRANS( 0x0075 , 0xe10b , 0x1ee9 , 0x0000), // ứ | |||
// accent aigu & cédille (0xe10d) | |||
DEADTRANS( 0x00b4 , 0x00b8 , 0xe10d , 0x0001), | |||
DEADTRANS( 0x00b8 , 0x00b4 , 0xe10d , 0x0001), | |||
DEADTRANS( 0x0043 , 0xe10d , 0x1e08 , 0x0000), // Ḉ | |||
DEADTRANS( 0x0063 , 0xe10d , 0x1e09 , 0x0000), // ḉ | |||
// accent aigu & barré (0xe10f) | |||
DEADTRANS( 0x00b4 , L'/' , 0xe10f , 0x0001), | |||
DEADTRANS( 0x002f , 0x00b4 , 0xe10f , 0x0001), | |||
DEADTRANS( 0x004f , 0xe10f , 0x01fe , 0x0000), // Ǿ | |||
DEADTRANS( 0x006f , 0xe10f , 0x01ff , 0x0000), // ǿ | |||
// circonflexe & tilde (0xe203) | |||
DEADTRANS( 0x005e , 0x007e , 0xe203 , 0x0001), | |||
DEADTRANS( 0x007e , L'^' , 0xe203 , 0x0001), | |||
DEADTRANS( L'A' , 0xe203 , 0x1eaa , 0x0000), // Ẫ | |||
DEADTRANS( L'a' , 0xe203 , 0x1eab , 0x0000), // ẫ | |||
DEADTRANS( L'E' , 0xe203 , 0x1ec4 , 0x0000), // Ễ | |||
DEADTRANS( L'e' , 0xe203 , 0x1ec5 , 0x0000), // ễ | |||
DEADTRANS( L'O' , 0xe203 , 0x1ed6 , 0x0000), // Ỗ | |||
DEADTRANS( L'o' , 0xe203 , 0x1ed7 , 0x0000), // ỗ | |||
// circonflexe & crochet en chef (0xe208) | |||
DEADTRANS( 0x005e , 0x0309 , 0xe208 , 0x0001), | |||
DEADTRANS( 0x0309 , L'^' , 0xe208 , 0x0001), | |||
DEADTRANS( L'A' , 0xe208 , 0x1ea8 , 0x0000), // Ẩ | |||
DEADTRANS( L'a' , 0xe208 , 0x1ea9 , 0x0000), // ẩ | |||
DEADTRANS( L'E' , 0xe208 , 0x1ec2 , 0x0000), // Ể | |||
DEADTRANS( L'e' , 0xe208 , 0x1ec3 , 0x0000), // ể | |||
DEADTRANS( L'O' , 0xe208 , 0x1ed4 , 0x0000), // Ổ | |||
DEADTRANS( L'o' , 0xe208 , 0x1ed5 , 0x0000), // ổ | |||
// circonflexe & point souscrit (0xe20c) | |||
DEADTRANS( 0x005e , 0x0323 , 0xe20c , 0x0001), | |||
DEADTRANS( 0x0323 , 0x005e , 0xe20c , 0x0001), | |||
DEADTRANS( L'A' , 0xe20c , 0x1eac , 0x0000), // Ậ | |||
DEADTRANS( L'a' , 0xe20c , 0x1ead , 0x0000), // ậ | |||
DEADTRANS( L'E' , 0xe20c , 0x1ec6 , 0x0000), // Ệ | |||
DEADTRANS( L'e' , 0xe20c , 0x1ec7 , 0x0000), // ệ | |||
DEADTRANS( L'O' , 0xe20c , 0x1ed8 , 0x0000), // Ộ | |||
DEADTRANS( L'o' , 0xe20c , 0x1ed9 , 0x0000), // ộ | |||
// tilde & macron (0xe304) | |||
DEADTRANS( 0x007e , 0x00af , 0xe304 , 0x0001), | |||
DEADTRANS( 0x00af , 0x007e , 0xe304 , 0x0001), | |||
DEADTRANS( 0x004f , 0xe304 , 0x022c , 0x0000), // Ȭ | |||
DEADTRANS( 0x006f , 0xe304 , 0x022d , 0x0000), // ȭ | |||
// tilde & brève (0xe305) | |||
DEADTRANS( 0x007e , 0x02d8 , 0xe305 , 0x0001), | |||
DEADTRANS( 0x02d8 , 0x007e , 0xe305 , 0x0001), | |||
DEADTRANS( 0x0041 , 0xe305 , 0x1eb4 , 0x0000), // Ẵ | |||
DEADTRANS( 0x0061 , 0xe305 , 0x1eb5 , 0x0000), // ẵ | |||
// tilde & tréma (0xe307) | |||
DEADTRANS( 0x007e , 0x00a8 , 0xe307 , 0x0001), | |||
DEADTRANS( 0x00a8 , 0x007e , 0xe307 , 0x0001), | |||
DEADTRANS( L'O' , 0xe307 , 0x1e4e , 0x0000), // Ṏ | |||
DEADTRANS( L'o' , 0xe307 , 0x1e4f , 0x0000), // ṏ | |||
// tilde & cornu (0xe30b) | |||
DEADTRANS( 0x007e , 0x031b , 0xe30b , 0x0001), | |||
DEADTRANS( 0x031b , 0x007e , 0xe30b , 0x0001), | |||
DEADTRANS( 0x004f , 0xe30b , 0x1ee0 , 0x0000), // Ỡ | |||
DEADTRANS( 0x006f , 0xe30b , 0x1ee1 , 0x0000), // ỡ | |||
DEADTRANS( 0x0055 , 0xe30b , 0x1eee , 0x0000), // Ữ | |||
DEADTRANS( 0x0075 , 0xe30b , 0x1eef , 0x0000), // ữ | |||
// macron & point en chef (0xe406) | |||
DEADTRANS( 0x00af , 0x02d9 , 0xe406 , 0x0001), | |||
DEADTRANS( 0x02d9 , 0x00af , 0xe406 , 0x0001), | |||
DEADTRANS( L'A' , 0xe406 , 0x01e0 , 0x0000), // Ǡ | |||
DEADTRANS( L'a' , 0xe406 , 0x01e1 , 0x0000), // ǡ | |||
DEADTRANS( L'O' , 0xe406 , 0x0230 , 0x0000), // Ȱ | |||
DEADTRANS( L'o' , 0xe406 , 0x0231 , 0x0000), // ȱ | |||
// macron + tréma (0xe407) (Ṻṻ sont différents de Ǖǖ sur 0xe704) | |||
DEADTRANS( 0x00a8 , 0x00af , 0xe407 , 0x0001), | |||
DEADTRANS( 0x0045 , 0xe407 , 0x01de , 0x0000), // Ǟ | |||
DEADTRANS( 0x0061 , 0xe407 , 0x01df , 0x0000), // ǟ | |||
DEADTRANS( 0x004f , 0xe407 , 0x022a , 0x0000), // Ȫ | |||
DEADTRANS( 0x006f , 0xe407 , 0x022b , 0x0000), // ȫ | |||
DEADTRANS( 0x0055 , 0xe407 , 0x1e7a , 0x0000), // Ṻ | |||
DEADTRANS( 0x0077 , 0xe407 , 0x1e7b , 0x0000), // ṻ | |||
// macron & point souscrit (0xe40c) | |||
DEADTRANS( 0x00af , 0x0323 , 0xe40c , 0x0001), | |||
DEADTRANS( 0x0323 , 0x00af , 0xe40c , 0x0001), | |||
DEADTRANS( 0x004c , 0xe40c , 0x1e38 , 0x0000), // Ḹ | |||
DEADTRANS( 0x006c , 0xe40c , 0x1e39 , 0x0000), // ḹ | |||
DEADTRANS( 0x0052 , 0xe40c , 0x1e5c , 0x0000), // Ṝ | |||
DEADTRANS( 0x0072 , 0xe40c , 0x1e5d , 0x0000), // Ṝ | |||
// macron & ogonek(0xe40e) | |||
DEADTRANS( 0x00af , 0x02db , 0xe40e , 0x0001), | |||
DEADTRANS( 0x02db , 0x00af , 0xe40e , 0x0001), | |||
DEADTRANS( 0x014c , 0xe40e , 0x01ec , 0x0000), // Ǭ | |||
DEADTRANS( 0x014d , 0xe40e , 0x01ed , 0x0000), // ǭ | |||
// macron & grec (0xe410) | |||
DEADTRANS( 0x00af , 0x00b5 , 0xe410 , 0x0001), | |||
DEADTRANS( 0x00b5 , 0x00af , 0xe410 , 0x0001), | |||
DEADTRANS( 0x0041 , 0xe410 , 0x1fb9 , 0x0000), // Ᾱ | |||
DEADTRANS( 0x0061 , 0xe410 , 0x1fb1 , 0x0000), // ᾱ | |||
DEADTRANS( 0x0049 , 0xe410 , 0x1fd9 , 0x0000), // Ῑ | |||
DEADTRANS( 0x0069 , 0xe410 , 0x1fd1 , 0x0000), // ῑ | |||
DEADTRANS( 0x0055 , 0xe410 , 0x1fe9 , 0x0000), // Ῡ | |||
DEADTRANS( 0x0075 , 0xe410 , 0x1fe1 , 0x0000), // ῡ | |||
// brève & crochet en chef (0xe508) | |||
DEADTRANS( 0x02d8 , 0x0309 , 0xe508 , 0x0001), | |||
DEADTRANS( 0x0309 , 0x02d8 , 0xe508 , 0x0001), | |||
DEADTRANS( 0x0041 , 0xe508 , 0x1eb2 , 0x0000), // Ẳ | |||
DEADTRANS( 0x0061 , 0xe508 , 0x1eb3 , 0x0000), // ẳ | |||
// brève & point souscrit (0xe50c) | |||
DEADTRANS( 0x02d8 , 0x0323 , 0xe50c , 0x0001), | |||
DEADTRANS( 0x0323 , 0x02d8 , 0xe50c , 0x0001), | |||
DEADTRANS( 0x0041 , 0xe50c , 0x1eb6 , 0x0000), // Ặ | |||
DEADTRANS( 0x0061 , 0xe50c , 0x1eb7 , 0x0000), // ặ | |||
// brève & cédille (0xe50d) | |||
DEADTRANS( 0x02d8 , 0x00b8 , 0xe50d , 0x0001), | |||
DEADTRANS( 0x00b8 , 0x02d8 , 0xe50d , 0x0001), | |||
DEADTRANS( 0x0045 , 0xe50d , 0x1e1c , 0x0000), // Ḝ | |||
DEADTRANS( 0x0065 , 0xe50d , 0x1e1d , 0x0000), // ḝ | |||
// point en chef & caron (0xe60a) | |||
DEADTRANS( 0x02d9 , 0x02c7 , 0xe60a , 0x0001), | |||
DEADTRANS( 0x02c7 , 0x02d9 , 0xe60a , 0x0001), | |||
DEADTRANS( L'S' , 0xe60a , 0x1e66 , 0x0000), // Ṧ | |||
DEADTRANS( L's' , 0xe60a , 0x1e67 , 0x0000), // ṧ | |||
// point en chef & point souscrit (0xe60c) | |||
DEADTRANS( 0x0323 , 0x02d9 , 0xe60c , 0x0001), | |||
DEADTRANS( 0x02d9 , 0x0323 , 0xe60c , 0x0001), | |||
DEADTRANS( L'S' , 0xe60c , 0x1e68 , 0x0000), // Ṩ | |||
DEADTRANS( L's' , 0xe60c , 0x1e69 , 0x0000), // ṩ | |||
// point en chef & barré (0xe60f) | |||
DEADTRANS( L'/' , 0x02d9 , 0xe60f , 0x0001), | |||
DEADTRANS( 0x02d9 , L'/' , 0xe60f , 0x0001), | |||
DEADTRANS( L'j' , 0xe60f , 0x025f , 0x0000), // ɟ | |||
// tréma + macron (0xe704) | |||
DEADTRANS( 0x00af , 0x00a8 , 0xe704 , 0x0001), | |||
DEADTRANS( L'A' , 0xe704 , 0x01de , 0x0000), // Ǟ | |||
DEADTRANS( L'a' , 0xe704 , 0x01df , 0x0000), // ǟ | |||
DEADTRANS( L'O' , 0xe704 , 0x022a , 0x0000), // Ȫ | |||
DEADTRANS( L'o' , 0xe704 , 0x022b , 0x0000), // ȫ | |||
DEADTRANS( L'U' , 0xe704 , 0x01d5 , 0x0000), // Ǖ | |||
DEADTRANS( L'u' , 0xe704 , 0x01d6 , 0x0000), // ǖ | |||
// tréma & caron (0xe70a) | |||
DEADTRANS( 0x00a8 , 0x02c7 , 0xe70a , 0x0001), | |||
DEADTRANS( 0x02c7 , 0x00a8 , 0xe70a , 0x0001), | |||
DEADTRANS( L'U' , 0xe70a , 0x01d9 , 0x0000), // Ǚ | |||
DEADTRANS( L'u' , 0xe70a , 0x01da , 0x0000), // ǚ | |||
// crochet & cornu (0xe80b) | |||
DEADTRANS( 0x031b , 0x0309 , 0xe80b , 0x0001), | |||
DEADTRANS( 0x0309 , 0x031b , 0xe80b , 0x0001), | |||
DEADTRANS( 0x004f , 0xe80b , 0x1ede , 0x0000), // Ở | |||
DEADTRANS( 0x006f , 0xe80b , 0x1edf , 0x0000), // ở | |||
DEADTRANS( 0x0055 , 0xe80b , 0x1eec , 0x0000), // Ử | |||
DEADTRANS( 0x0075 , 0xe80b , 0x1eed , 0x0000), // ử | |||
// crochet & grec (0xe810) | |||
DEADTRANS( 0x0309 , 0x00b5 , 0xe810 , 0x0001), | |||
DEADTRANS( 0x00b5 , 0x0309 , 0xe810 , 0x0001), | |||
DEADTRANS( 0x0055 , 0xe810 , 0x03d2 , 0x0000), // ϒ | |||
// cornu & point souscrit (0xeb0c) | |||
DEADTRANS( 0x031b , 0x0323 , 0xeb0c , 0x0001), | |||
DEADTRANS( 0x0323 , 0x031b , 0xeb0c , 0x0001), | |||
DEADTRANS( 0x004f , 0xeb0c , 0x1ee2 , 0x0000), // Ợ | |||
DEADTRANS( 0x006f , 0xeb0c , 0x1ee3 , 0x0000), // ợ | |||
DEADTRANS( 0x0055 , 0xeb0c , 0x1ef0 , 0x0000), // Ự | |||
DEADTRANS( 0x0075 , 0xeb0c , 0x1ef1 , 0x0000), // ự | |||
// barré & grec (0xef10) | |||
DEADTRANS( 0x00b5 , L'/' , 0xef10 , 0x0001), | |||
DEADTRANS( 0x002f , 0x00b5 , 0xef10 , 0x0001), | |||
DEADTRANS( 0x0069 , 0xef10 , 0x1d7c , 0x0000), // ᵼ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Version du 18 août 2010 à 01:59
Projet « enchainement de diacritiques » pour le pilote Windows bépo
Une centaine de caractères ne sont pas accessibles actuellement avec le pilote Windows pour bépo : les lignes qui les définissent peuvent être retirées du fichier klc sans effets sur les pilotes. Il est possible de définir ces combinaisons en utilisant les sources du pilote en C.
Tableau récapitulatif des combinaisons deu deux touches mortes :
0xex0y | x\y | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | ? |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Point en chef | 0 | · | ṥṤ | ṧṦ | ǡǠ ȱȰ |
ɟ | ṩṨ | |||||||||||
Accent aigu | 1 | ṥṤ | · | ắẮ | ḉḈ | ấẤ ếẾ ốỐ |
ḯḮ ǘǗ |
ḗḖ ṓṒ |
ǻǺ | ǿǾ | ṍṌ ṹṸ |
ớỚ ứỨ |
||||||
Brève | 2 | ắẮ | · | ḝḜ | ằẰ | ẵẴ | ẳẲ | ặẶ | ||||||||||
Caron | 3 | ṧṦ | · | ǚǙ | ||||||||||||||
Cédille | 4 | ḉḈ | ḝḜ | · | ||||||||||||||
Circonflexe | 5 | ấẤ ếẾ ốỐ |
· | ầẦ ềỀ ồỒ |
ẫẪ ễỄ ỗỖ |
ẩẨ ểỂ ổỔ |
ậẬ ệỆ ộỘ |
|||||||||||
Tréma | 6 | ḯḮ ǘǗ |
ǚǙ | · | ǜǛ | ǟǞ ȫȪ ǖǕ |
ṏṎ | |||||||||||
Accent grave | 7 | ằẰ | ầẦ ềỀ ồỒ |
ǜǛ | · | ḕḔ ṑṐ |
ờỜ ừỪ |
|||||||||||
Macron | 8 | ǡǠ ȱȰ |
ḗḖ ṓṒ |
ǟǞ ȫȪ ṻṺ |
ḕḔ ṑṐ |
· | ǭǬ | ȭȬ | ḹḸ ṝṜ |
ᾱᾹ ῑῙ ῡῩ | ||||||||
Ogonek | 9 | ǭǬ | · | |||||||||||||||
Rond en chef | a | ǻǺ | · | |||||||||||||||
Barrés | b | ɟ | ǿǾ | · | ϼ | |||||||||||||
Tilde | c | ṍṌ ṹṸ |
ẵẴ | ẫẪ ễỄ ỗỖ |
ṏṎ | ȭȬ | · | ỡỠ ữỮ |
||||||||||
Cornu | d | ớỚ ứỨ |
ờỜ ừỪ |
ỡỠ ữỮ |
· | ởỞ ửỬ |
ợỢ ựỰ |
|||||||||||
Crochet | e | ẳẲ | ẩẨ ểỂ ổỔ |
ởỞ ửỬ |
· | ϒ | ||||||||||||
Point-souscrit | f | ṩṨ | ặẶ | ậẬ ệỆ ộỘ |
ḹḸ ṝṜ |
ợỢ ựỰ |
· | |||||||||||
Letrre grecque | ? | ᾱᾹ ῑῙ ῡῩ |
ϼ | ϒ | · |
Légende :
- en bleu : combinaisons disponibles de manière plus simple (avec à ç é è ê ù) ;
- en rouge : combinaisons à sens unique dans pkl et linux sans compose ;
- en vert : combinaison dépendant d'ordre de saisie des diacritiques.
Touches mortes sans combinaisons : double aigu, virgule souscrite, symboles monétaires.
Toutes les combaisons fonctionnent avec le pilote portable (pkl).
Méthode
Pour chaque touche morte, on définit d'abord le comportement avec espace, lors d'une double pression de la touche morte et avec l'espace insécable. Sous Windows : touche morte + entrée donne le caractère utilisé pour la touche morte (ce qui permet d'obtenir le rond en chef par exemple). Viennent ensuite les définitions pour les lettres de l'alphabet latin puis les combinaisons plus compliquées. Les combinaisons simples fonctionnent parfaitement avec le pilote actuel (touche morte + touche).
Pour les combinaisons de plusieurs touches on utilisera la zone à usage privé (e000–f8ff) d'Unicode : ces points de code servent pour les 38 touches mortes « intermédiaires ». En cas d'erreur de combinaison cela produit le caractère « ». En reprenant le tableau croisé des touches mortes précédent, j'utilise un point de code ex0y avec x et y désignant les deux touches mortes. Vu le fonctionnement (ex0y=ey0x), on décrira seulement la partie supérieure du tableau (la partie inférieure étant identique sauf 704/407). Petit problème, en hexa on a 16 valeurs possibles donc il faudra trouver encore trois points de code pour les combinaisons avec le grec (moins intuitif que le reste du tableau du coup mais bon… pas trop l'choix).
Certaines combinaisons sont accessibles de manière plus simple grâce aux caracatères ÊÉÈêéèÀàÙùÆ挜Ççſ.
x\y | Unicode 0xe... | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | ¡ |
0 | Accent grave | X | 002 | 004 | 005 | 007 | 00b | |||||||||||
1 | Accent aigu | X | 102 | 103 | 104 | 105 | 106 | 107 | 109 | 10b | 10d | 10f | ||||||
2 | Accent circonflexe | 200 | 201 | X | 203 | 208 | 20c | |||||||||||
3 | Tilde | 301 | 302 | X | 304 | 305 | 307 | 30b | ||||||||||
4 | Macron | 400 | 401 | 403 | X | 406 | 407 | 40c | 40e | 410 | ||||||||
5 | Brève | 500 | 501 | 503 | X | 508 | 50c | 50d | ||||||||||
6 | Point en chef | 601 | 604 | X | 60a | 60c | 60f | |||||||||||
7 | Tréma | 700 | 701 | 703 | 704 | X | 70a | |||||||||||
8 | Crochet en chef | 802 | 805 | X | 80b | 810 | ||||||||||||
9 | Rond en chef | 901 | X | |||||||||||||||
a | Caron | a06 | a07 | X | ||||||||||||||
b | Cornu | b00 | b01 | b03 | b08 | X | b0c | |||||||||||
c | Point souscrit | c02 | c04 | c05 | c06 | c0b | X | |||||||||||
d | Cédille | d01 | d05 | X | ||||||||||||||
e | Ogonek | e04 | X | |||||||||||||||
f | Barré | f01 | f06 | X | f10 | |||||||||||||
¡ | Grec | 014 | 018 | 01f | X |
- Aigu[1] : ṥṤ ắẮ ḉḈ ấẤếẾốỐ ḯḮǘǗ ḗḖṓṒ ǻǺ ǿǾ ṍṌṹṸ ớỚứỨ
- Brève : ắẮ ḝḜ ằẰ ẵẴ ẳẲ ặẶ
- Point en chef : ṥṤ ṧṦ ǡǠ ȱȰ ṩṨ ɟ
- Caron : ṧṦ ǚǙ
- Cédille : ḉḈ ḝḜ
- Circonflexe : ấẤếẾốỐ ầẦềỀồỒ ẫẪễỄỗỖ ẩẨểỂổỔ ậẬệỆộỘ
- Tréma : ḯḮǘǗ ǚǙ ǜǛ ǟǞȫȪǖǕ ṏṎ
- Accent grave : ằẰ ầẦ ềỀ ồỒ ǜǛ ḕḔ ṑṐ ờỜ ừỪ
- Macron : ǡǠȱȰ ḗḖṓṒ ǟǞȫȪṻṺ ḕḔṑṐ ǭǬ ȭȬ ḹḸṝṜ ᾱᾹῑῙῡῩ
- Ogonek : Ǭǭ
- Rond en chef : ǻǺ
- Barrés : ɟ ǿǾ
- Tilde : ṍṌṹṸ ẵẴ ẫẪễỄỗỖ ṏṎ ȭȬ ỡỠữỮ
- Cornu : ỚớỨứ ỜờỪừ ỢợỰự ỞởỬử ỠỡỮữ
- Crochet : ẳẲ ẩẨểỂổỔ ởỞửỬ ϒ ʄ
- Point souscrit : ṩṨ ặẶ ậẬệỆộỘ ḹḸṝṜ ợỢựỰ
Notes et remarques
Todo :
- vérifier les quelques cas spéciaux et le comportement sous linux (pilotes homogènes)
À réviser sur bépo (supprimer ?) // DEADTRANS( L'V' , 0x00af , 0x01d5 , 0x0000), // V -> Ǖ > ancienne définition temporaire pour le pinyin, doit en rester une autre quelque part // DEADTRANS( L'v' , 0x00af , 0x01d6 , 0x0000), // v -> ǖ // DEADTRANS( 0x01f2 , 0x02c7 , 0x01c5 , 0x0000),// Dz -> Dž supprimer ou ajouter une combinaison (compose ?) // DEADTRANS( 0x0256 , 0x0309 , 0x1d91 , 0x0000), // ɖ -> ᶑ > d with tail sur bépo, combinaison à faire supprimer ? // /20a1 20b5 // ₡ -> ₵ ;(pourquoi cette définition ?) // /00a2 20b5 // ¢ -> ₵
Ajouts possibles (en vérifiant l'homogénéïté des pilotes) : // DEADTRANS( L'n' , L'^' , 0x207f , 0x0000), // exposant n (du Neo2 ?) //- Combinaison de 3 touches mortes : J dotless with stroke and hook : // DEADTRANS( 0x025f , 0x0309 , 0x0284 , 0x0000), // ɟ -> ʄ > combinaison de 3 touches // 03D3 GREEK UPSILON WITH ACUTE AND HOOK SYMBOL // combinaison de 4 touches // 0351 COMBINING LEFT HALF RING ABOVE ( // 0357 COMBINING RIGHT HALF RING ABOVE ) // 212B ANGSTROM SIGN // 2E1B TILDE WITH RING ABOVE // 0312 COMBINING TURNED COMMA ABOVE ̒ // Ajouts possibles : indices sur neo2 (x possible mais pas a/e déjà définis êâ, ce serait bien d'avoir l'exposant e) : // DEADTRANS( L'a' , 0x02c7 , 0x2090 , 0x0000), // DEADTRANS( L'e' , 0x02c7 , 0x2091 , 0x0000), // DEADTRANS( L'x' , 0x02c7 , 0x2093 , 0x0000), // DEADTRANS( 0x00d7 , 0x02d9 , 0x2a30 , 0x0000), // × -> ⨰ MULTIPLICATION SIGN WITH DOT ABOVE // DEADTRANS( 0x007e , 0x02d9 , 0x2e1e , 0x0000), // ~ -> ⸞ TILDE WITH DOT ABOVE // Autres possibilités : des « doubles touches mortes » combinantes qu'on pourrait avoir // 1DCB COMBINING BREVE-MACRON // 1DCC COMBINING MACRON-BREVE // 035D COMBINING DOUBLE BREVE
Fignolage du bépo, de l'accessibilité des combinaisons ci-dessous : on peut faciliter la saisie de certains caractères en remplissant les définitions non utilisée. Je pense par exemple à un compose en clavier bépo^+clavier bépov, en redondance avec un éventuel clavier bépoAltGr+clavier bépoMaj+clavier bépoê. De même on peut faciliter les enchainements de touches mortes quand l'une est en clavier bépoAltGr l’autre non (ça plus le caractère), fonction des combinaisons existantes. Le poids de ces doubles combinaisons n'a jamais été pris en compte dans le placement des touches mortes et cela se ressent pour taper certains caractères. Enfin pour être précis, il faudrait savoir quantifier la fréquence de ces caractères, savoir si l'on veut faciliter l'accès aux plus utiles.
Définitions pour le fichier source
//-Touches mortes multiples
// accent grave & circonflexe (0xe002)
DEADTRANS( 0x0060 , L'^' , 0xe002 , 0x0001),
DEADTRANS( 0x005e , L'`' , 0xe002 , 0x0001),
DEADTRANS( L'A' , 0xe002 , 0x1ea6 , 0x0000), // Ầ
DEADTRANS( L'a' , 0xe002 , 0x1ea7 , 0x0000), // ầ
DEADTRANS( L'E' , 0xe002 , 0x1ec0 , 0x0000), // Ề
DEADTRANS( L'e' , 0xe002 , 0x1ec1 , 0x0000), // ề
DEADTRANS( L'O' , 0xe002 , 0x1ed2 , 0x0000), // Ồ
DEADTRANS( L'o' , 0xe002 , 0x1ed3 , 0x0000), // ồ
// accent grave & macron (0xe004)
DEADTRANS( 0x0060 , 0x00af , 0xe004 , 0x0001),
DEADTRANS( 0x00af , L'`' , 0xe004 , 0x0001),
DEADTRANS( L'E' , 0xe004 , 0x1e14 , 0x0000), // Ḕ
DEADTRANS( L'e' , 0xe004 , 0x1e15 , 0x0000), // ḕ
DEADTRANS( L'O' , 0xe004 , 0x1e50 , 0x0000), // Ṑ
DEADTRANS( L'o' , 0xe004 , 0x1e51 , 0x0000), // ṑ
// accent grave & brève (0xe005)
DEADTRANS( 0x0060 , 0x02d8 , 0xe005 , 0x0001),
DEADTRANS( 0x02d8 , L'`' , 0xe005 , 0x0001),
DEADTRANS( 0x0041 , 0xe005 , 0x1eb0 , 0x0000), // Ằ
DEADTRANS( 0x0061 , 0xe005 , 0x1eb1 , 0x0000), // ằ
// accent grave & tréma (0xe007)
DEADTRANS( 0x0060 , 0x00a8 , 0xe007 , 0x0001),
DEADTRANS( 0x00a8 , L'`' , 0xe007 , 0x0001),
DEADTRANS( L'U' , 0xe007 , 0x01db , 0x0000), // Ǜ
DEADTRANS( L'u' , 0xe007 , 0x01dc , 0x0000), // ǜ
// accent grave & cornu (0xe00b)
DEADTRANS( 0x0060 , 0x031b , 0xe00b , 0x0001),
DEADTRANS( 0x031b , L'`' , 0xe00b , 0x0001),
DEADTRANS( L'O' , 0xe00b , 0x1edc , 0x0000), // Ờ
DEADTRANS( L'o' , 0xe00b , 0x1edd , 0x0000), // ờ
DEADTRANS( L'U' , 0xe00b , 0x1eea , 0x0000), // Ừ
DEADTRANS( L'u' , 0xe00b , 0x1eeb , 0x0000), // ừ
// accent aigu & circonflexe (0xe102)
DEADTRANS( 0x00b4 , 0x005e , 0xe102 , 0x0001),
DEADTRANS( 0x005e , 0x00b4 , 0xe102 , 0x0001),
DEADTRANS( 0x0041 , 0xe102 , 0x1ea4 , 0x0000), // Ấ
DEADTRANS( 0x0061 , 0xe102 , 0x1ea5 , 0x0000), // ấ
DEADTRANS( 0x0045 , 0xe102 , 0x1ebe , 0x0000), // Ế
DEADTRANS( 0x0065 , 0xe102 , 0x1ebf , 0x0000), // ế
DEADTRANS( 0x004f , 0xe102 , 0x1ed0 , 0x0000), // Ố
DEADTRANS( 0x006f , 0xe102 , 0x1ed1 , 0x0000), // ố
// accent aigu & tilde (0xe103)
DEADTRANS( 0x00b4 , 0x007e , 0xe103 , 0x0001),
DEADTRANS( 0x007e , 0x00b4 , 0xe103 , 0x0001),
DEADTRANS( 0x004f , 0xe103 , 0x1e4c , 0x0000), // Ṍ
DEADTRANS( 0x006f , 0xe103 , 0x1e4d , 0x0000), // ṍ
DEADTRANS( 0x0055 , 0xe103 , 0x1e78 , 0x0000), // Ṹ
DEADTRANS( 0x0075 , 0xe103 , 0x1e79 , 0x0000), // ṹ
// accent aigu & macron (0xe104)
DEADTRANS( 0x00b4 , 0x00af , 0xe104 , 0x0001),
DEADTRANS( 0x00af , 0x00b4 , 0xe104 , 0x0001),
DEADTRANS( 0x0045 , 0xe104 , 0x1e16 , 0x0000), // Ḗ
DEADTRANS( 0x0065 , 0xe104 , 0x1e17 , 0x0000), // ḗ
DEADTRANS( 0x004f , 0xe104 , 0x1e52 , 0x0000), // Ṓ
DEADTRANS( 0x006f , 0xe104 , 0x1e53 , 0x0000), // ṓ
// accent aigu & brève (0xe105)
DEADTRANS( 0x00b4 , 0x02d8 , 0xe105 , 0x0001),
DEADTRANS( 0x02d8 , 0x00b4 , 0xe105 , 0x0001),
DEADTRANS( 0x0041 , 0xe105 , 0x1eae , 0x0000), // Ắ
DEADTRANS( 0x0061 , 0xe105 , 0x1eaf , 0x0000), // ắ
// accent aigu & point en chef (0xe106)
DEADTRANS( 0x00b4 , 0x02d9 , 0xe106 , 0x0001),
DEADTRANS( 0x02d9 , 0x00b4 , 0xe106 , 0x0001),
DEADTRANS( 0x0053 , 0xe106 , 0x1e64 , 0x0000), // Ṥ
DEADTRANS( 0x0073 , 0xe106 , 0x1e65 , 0x0000), // ṥ
// accent aigu & tréma (0xe107)
DEADTRANS( 0x00b4 , 0x00a8 , 0xe107 , 0x0001),
DEADTRANS( 0x00a8 , 0x00b4 , 0xe107 , 0x0001),
DEADTRANS( 0x0049 , 0xe107 , 0x1e2e , 0x0000), // Ḯ
DEADTRANS( 0x0069 , 0xe107 , 0x1e2f , 0x0000), // ḯ
DEADTRANS( 0x0055 , 0xe107 , 0x01d7 , 0x0000), // Ǘ
DEADTRANS( 0x0075 , 0xe107 , 0x01d8 , 0x0000), // ǘ
// accent aigu & rond en chef (0xe109)
DEADTRANS( 0x00b4 , 0x02da , 0xe109 , 0x0001),
DEADTRANS( 0x02da , 0x00b4 , 0xe109 , 0x0001),
DEADTRANS( 0x0041 , 0xe109 , 0x01fa , 0x0000), // Ǻ
DEADTRANS( 0x0061 , 0xe109 , 0x01fb , 0x0000), // ǻ
// accent aigu & cornu (0xe10b)
DEADTRANS( 0x00b4 , 0x031b , 0xe10b , 0x0001),
DEADTRANS( 0x031b , 0x00b4 , 0xe10b , 0x0001),
DEADTRANS( 0x004f , 0xe10b , 0x1eda , 0x0000), // Ớ
DEADTRANS( 0x006f , 0xe10b , 0x1edb , 0x0000), // ớ
DEADTRANS( 0x0055 , 0xe10b , 0x1ee8 , 0x0000), // Ứ
DEADTRANS( 0x0075 , 0xe10b , 0x1ee9 , 0x0000), // ứ
// accent aigu & cédille (0xe10d)
DEADTRANS( 0x00b4 , 0x00b8 , 0xe10d , 0x0001),
DEADTRANS( 0x00b8 , 0x00b4 , 0xe10d , 0x0001),
DEADTRANS( 0x0043 , 0xe10d , 0x1e08 , 0x0000), // Ḉ
DEADTRANS( 0x0063 , 0xe10d , 0x1e09 , 0x0000), // ḉ
// accent aigu & barré (0xe10f)
DEADTRANS( 0x00b4 , L'/' , 0xe10f , 0x0001),
DEADTRANS( 0x002f , 0x00b4 , 0xe10f , 0x0001),
DEADTRANS( 0x004f , 0xe10f , 0x01fe , 0x0000), // Ǿ
DEADTRANS( 0x006f , 0xe10f , 0x01ff , 0x0000), // ǿ
// circonflexe & tilde (0xe203)
DEADTRANS( 0x005e , 0x007e , 0xe203 , 0x0001),
DEADTRANS( 0x007e , L'^' , 0xe203 , 0x0001),
DEADTRANS( L'A' , 0xe203 , 0x1eaa , 0x0000), // Ẫ
DEADTRANS( L'a' , 0xe203 , 0x1eab , 0x0000), // ẫ
DEADTRANS( L'E' , 0xe203 , 0x1ec4 , 0x0000), // Ễ
DEADTRANS( L'e' , 0xe203 , 0x1ec5 , 0x0000), // ễ
DEADTRANS( L'O' , 0xe203 , 0x1ed6 , 0x0000), // Ỗ
DEADTRANS( L'o' , 0xe203 , 0x1ed7 , 0x0000), // ỗ
// circonflexe & crochet en chef (0xe208)
DEADTRANS( 0x005e , 0x0309 , 0xe208 , 0x0001),
DEADTRANS( 0x0309 , L'^' , 0xe208 , 0x0001),
DEADTRANS( L'A' , 0xe208 , 0x1ea8 , 0x0000), // Ẩ
DEADTRANS( L'a' , 0xe208 , 0x1ea9 , 0x0000), // ẩ
DEADTRANS( L'E' , 0xe208 , 0x1ec2 , 0x0000), // Ể
DEADTRANS( L'e' , 0xe208 , 0x1ec3 , 0x0000), // ể
DEADTRANS( L'O' , 0xe208 , 0x1ed4 , 0x0000), // Ổ
DEADTRANS( L'o' , 0xe208 , 0x1ed5 , 0x0000), // ổ
// circonflexe & point souscrit (0xe20c)
DEADTRANS( 0x005e , 0x0323 , 0xe20c , 0x0001),
DEADTRANS( 0x0323 , 0x005e , 0xe20c , 0x0001),
DEADTRANS( L'A' , 0xe20c , 0x1eac , 0x0000), // Ậ
DEADTRANS( L'a' , 0xe20c , 0x1ead , 0x0000), // ậ
DEADTRANS( L'E' , 0xe20c , 0x1ec6 , 0x0000), // Ệ
DEADTRANS( L'e' , 0xe20c , 0x1ec7 , 0x0000), // ệ
DEADTRANS( L'O' , 0xe20c , 0x1ed8 , 0x0000), // Ộ
DEADTRANS( L'o' , 0xe20c , 0x1ed9 , 0x0000), // ộ
// tilde & macron (0xe304)
DEADTRANS( 0x007e , 0x00af , 0xe304 , 0x0001),
DEADTRANS( 0x00af , 0x007e , 0xe304 , 0x0001),
DEADTRANS( 0x004f , 0xe304 , 0x022c , 0x0000), // Ȭ
DEADTRANS( 0x006f , 0xe304 , 0x022d , 0x0000), // ȭ
// tilde & brève (0xe305)
DEADTRANS( 0x007e , 0x02d8 , 0xe305 , 0x0001),
DEADTRANS( 0x02d8 , 0x007e , 0xe305 , 0x0001),
DEADTRANS( 0x0041 , 0xe305 , 0x1eb4 , 0x0000), // Ẵ
DEADTRANS( 0x0061 , 0xe305 , 0x1eb5 , 0x0000), // ẵ
// tilde & tréma (0xe307)
DEADTRANS( 0x007e , 0x00a8 , 0xe307 , 0x0001),
DEADTRANS( 0x00a8 , 0x007e , 0xe307 , 0x0001),
DEADTRANS( L'O' , 0xe307 , 0x1e4e , 0x0000), // Ṏ
DEADTRANS( L'o' , 0xe307 , 0x1e4f , 0x0000), // ṏ
// tilde & cornu (0xe30b)
DEADTRANS( 0x007e , 0x031b , 0xe30b , 0x0001),
DEADTRANS( 0x031b , 0x007e , 0xe30b , 0x0001),
DEADTRANS( 0x004f , 0xe30b , 0x1ee0 , 0x0000), // Ỡ
DEADTRANS( 0x006f , 0xe30b , 0x1ee1 , 0x0000), // ỡ
DEADTRANS( 0x0055 , 0xe30b , 0x1eee , 0x0000), // Ữ
DEADTRANS( 0x0075 , 0xe30b , 0x1eef , 0x0000), // ữ
// macron & point en chef (0xe406)
DEADTRANS( 0x00af , 0x02d9 , 0xe406 , 0x0001),
DEADTRANS( 0x02d9 , 0x00af , 0xe406 , 0x0001),
DEADTRANS( L'A' , 0xe406 , 0x01e0 , 0x0000), // Ǡ
DEADTRANS( L'a' , 0xe406 , 0x01e1 , 0x0000), // ǡ
DEADTRANS( L'O' , 0xe406 , 0x0230 , 0x0000), // Ȱ
DEADTRANS( L'o' , 0xe406 , 0x0231 , 0x0000), // ȱ
// macron + tréma (0xe407) (Ṻṻ sont différents de Ǖǖ sur 0xe704)
DEADTRANS( 0x00a8 , 0x00af , 0xe407 , 0x0001),
DEADTRANS( 0x0045 , 0xe407 , 0x01de , 0x0000), // Ǟ
DEADTRANS( 0x0061 , 0xe407 , 0x01df , 0x0000), // ǟ
DEADTRANS( 0x004f , 0xe407 , 0x022a , 0x0000), // Ȫ
DEADTRANS( 0x006f , 0xe407 , 0x022b , 0x0000), // ȫ
DEADTRANS( 0x0055 , 0xe407 , 0x1e7a , 0x0000), // Ṻ
DEADTRANS( 0x0077 , 0xe407 , 0x1e7b , 0x0000), // ṻ
// macron & point souscrit (0xe40c)
DEADTRANS( 0x00af , 0x0323 , 0xe40c , 0x0001),
DEADTRANS( 0x0323 , 0x00af , 0xe40c , 0x0001),
DEADTRANS( 0x004c , 0xe40c , 0x1e38 , 0x0000), // Ḹ
DEADTRANS( 0x006c , 0xe40c , 0x1e39 , 0x0000), // ḹ
DEADTRANS( 0x0052 , 0xe40c , 0x1e5c , 0x0000), // Ṝ
DEADTRANS( 0x0072 , 0xe40c , 0x1e5d , 0x0000), // Ṝ
// macron & ogonek(0xe40e)
DEADTRANS( 0x00af , 0x02db , 0xe40e , 0x0001),
DEADTRANS( 0x02db , 0x00af , 0xe40e , 0x0001),
DEADTRANS( 0x014c , 0xe40e , 0x01ec , 0x0000), // Ǭ
DEADTRANS( 0x014d , 0xe40e , 0x01ed , 0x0000), // ǭ
// macron & grec (0xe410)
DEADTRANS( 0x00af , 0x00b5 , 0xe410 , 0x0001),
DEADTRANS( 0x00b5 , 0x00af , 0xe410 , 0x0001),
DEADTRANS( 0x0041 , 0xe410 , 0x1fb9 , 0x0000), // Ᾱ
DEADTRANS( 0x0061 , 0xe410 , 0x1fb1 , 0x0000), // ᾱ
DEADTRANS( 0x0049 , 0xe410 , 0x1fd9 , 0x0000), // Ῑ
DEADTRANS( 0x0069 , 0xe410 , 0x1fd1 , 0x0000), // ῑ
DEADTRANS( 0x0055 , 0xe410 , 0x1fe9 , 0x0000), // Ῡ
DEADTRANS( 0x0075 , 0xe410 , 0x1fe1 , 0x0000), // ῡ
// brève & crochet en chef (0xe508)
DEADTRANS( 0x02d8 , 0x0309 , 0xe508 , 0x0001),
DEADTRANS( 0x0309 , 0x02d8 , 0xe508 , 0x0001),
DEADTRANS( 0x0041 , 0xe508 , 0x1eb2 , 0x0000), // Ẳ
DEADTRANS( 0x0061 , 0xe508 , 0x1eb3 , 0x0000), // ẳ
// brève & point souscrit (0xe50c)
DEADTRANS( 0x02d8 , 0x0323 , 0xe50c , 0x0001),
DEADTRANS( 0x0323 , 0x02d8 , 0xe50c , 0x0001),
DEADTRANS( 0x0041 , 0xe50c , 0x1eb6 , 0x0000), // Ặ
DEADTRANS( 0x0061 , 0xe50c , 0x1eb7 , 0x0000), // ặ
// brève & cédille (0xe50d)
DEADTRANS( 0x02d8 , 0x00b8 , 0xe50d , 0x0001),
DEADTRANS( 0x00b8 , 0x02d8 , 0xe50d , 0x0001),
DEADTRANS( 0x0045 , 0xe50d , 0x1e1c , 0x0000), // Ḝ
DEADTRANS( 0x0065 , 0xe50d , 0x1e1d , 0x0000), // ḝ
// point en chef & caron (0xe60a)
DEADTRANS( 0x02d9 , 0x02c7 , 0xe60a , 0x0001),
DEADTRANS( 0x02c7 , 0x02d9 , 0xe60a , 0x0001),
DEADTRANS( L'S' , 0xe60a , 0x1e66 , 0x0000), // Ṧ
DEADTRANS( L's' , 0xe60a , 0x1e67 , 0x0000), // ṧ
// point en chef & point souscrit (0xe60c)
DEADTRANS( 0x0323 , 0x02d9 , 0xe60c , 0x0001),
DEADTRANS( 0x02d9 , 0x0323 , 0xe60c , 0x0001),
DEADTRANS( L'S' , 0xe60c , 0x1e68 , 0x0000), // Ṩ
DEADTRANS( L's' , 0xe60c , 0x1e69 , 0x0000), // ṩ
// point en chef & barré (0xe60f)
DEADTRANS( L'/' , 0x02d9 , 0xe60f , 0x0001),
DEADTRANS( 0x02d9 , L'/' , 0xe60f , 0x0001),
DEADTRANS( L'j' , 0xe60f , 0x025f , 0x0000), // ɟ
// tréma + macron (0xe704)
DEADTRANS( 0x00af , 0x00a8 , 0xe704 , 0x0001),
DEADTRANS( L'A' , 0xe704 , 0x01de , 0x0000), // Ǟ
DEADTRANS( L'a' , 0xe704 , 0x01df , 0x0000), // ǟ
DEADTRANS( L'O' , 0xe704 , 0x022a , 0x0000), // Ȫ
DEADTRANS( L'o' , 0xe704 , 0x022b , 0x0000), // ȫ
DEADTRANS( L'U' , 0xe704 , 0x01d5 , 0x0000), // Ǖ
DEADTRANS( L'u' , 0xe704 , 0x01d6 , 0x0000), // ǖ
// tréma & caron (0xe70a)
DEADTRANS( 0x00a8 , 0x02c7 , 0xe70a , 0x0001),
DEADTRANS( 0x02c7 , 0x00a8 , 0xe70a , 0x0001),
DEADTRANS( L'U' , 0xe70a , 0x01d9 , 0x0000), // Ǚ
DEADTRANS( L'u' , 0xe70a , 0x01da , 0x0000), // ǚ
// crochet & cornu (0xe80b)
DEADTRANS( 0x031b , 0x0309 , 0xe80b , 0x0001),
DEADTRANS( 0x0309 , 0x031b , 0xe80b , 0x0001),
DEADTRANS( 0x004f , 0xe80b , 0x1ede , 0x0000), // Ở
DEADTRANS( 0x006f , 0xe80b , 0x1edf , 0x0000), // ở
DEADTRANS( 0x0055 , 0xe80b , 0x1eec , 0x0000), // Ử
DEADTRANS( 0x0075 , 0xe80b , 0x1eed , 0x0000), // ử
// crochet & grec (0xe810)
DEADTRANS( 0x0309 , 0x00b5 , 0xe810 , 0x0001),
DEADTRANS( 0x00b5 , 0x0309 , 0xe810 , 0x0001),
DEADTRANS( 0x0055 , 0xe810 , 0x03d2 , 0x0000), // ϒ
// cornu & point souscrit (0xeb0c)
DEADTRANS( 0x031b , 0x0323 , 0xeb0c , 0x0001),
DEADTRANS( 0x0323 , 0x031b , 0xeb0c , 0x0001),
DEADTRANS( 0x004f , 0xeb0c , 0x1ee2 , 0x0000), // Ợ
DEADTRANS( 0x006f , 0xeb0c , 0x1ee3 , 0x0000), // ợ
DEADTRANS( 0x0055 , 0xeb0c , 0x1ef0 , 0x0000), // Ự
DEADTRANS( 0x0075 , 0xeb0c , 0x1ef1 , 0x0000), // ự
// barré & grec (0xef10)
DEADTRANS( 0x00b5 , L'/' , 0xef10 , 0x0001),
DEADTRANS( 0x002f , 0x00b5 , 0xef10 , 0x0001),
DEADTRANS( 0x0069 , 0xef10 , 0x1d7c , 0x0000), // ᵼ
- ↑ ǽ et Ǽ sont accessibles avec clavier bépo´+clavier bépoæ et clavier bépo´+clavier bépoÆ. Impossible de définir clavier bépo´+clavier bépoa+clavier bépoe et clavier bépo´+clavier bépoA+clavier bépoE à cause des définitions de á et Á.